Algoritma merupakan suatu tahapan-tahapan perintah untuk menyelesaikan suatu permasalahan. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal
hingga akhir. Algoritma sendiri berasal dari sebuah nama ahli matematika dari Uzbekistan yaitu Al Khawārizmi. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
- Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
- Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
- Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
- Selection Sort
Ide dasarnya dari selection sort adalah melakukan beberapa kali pengurutan untuk mendapatkan urutan data yang benar. Langkah-langkahnya adalah sebagai berikut:
- Untuk ascending sorting, simpanlah datum yang nilainya terkecil menggantikan datum yang ada di urutan paling depan. Sedangkan untuk descending sorting, simpanlah data yang bernilai paling besar.
- Dari datum yang belum terurut lakukan lagi langkah seperti langkah pertama berulang-ulang sampai mendapat urutan yang benar.
Contoh :
Data -----> 9 2 7 5 1
Pertama, cari datum yang bernilai paling kecil yaitu 1.
9 2 7 5 1
Tukarlah dengan datum pada urutan pertama yaitu 9.
1 2 7 5 9
Dari datum yang belum terurut, tentukan kembali datum dengan nilai yang terkecil.
1 2 7 5 9
Karena 2 sudah berada pada urutan yang benar maka tidak perlu untuk bertukar tempat. Lalu, tentukan lagi datum terkecil dan tukar dengan angka 7.
1 2 7 5 9
1 2 5 7 9
Setelah bertukar tempat kita sudah mendapatkan urutan data dari yang terkecil sampai terbesar yaitu 1 2 5 7 9.
- Bubble Sort

Cara kerja sorting menggunakan bubble sort adalah dengan membandingkan 2 datum yang berdekatan lalu melakukan pertukaran (swap).
Contoh :
Data -----> 9 2 7 5 10
Pertama, bandingkan angka 9 dan 2. Lalu pilih mana yang nilainya terkecil dan lakukan pertukaran bila angka 2 lebih kecil dari angka 9.
9 2 7 5 10
2 9 7 5 10
Lakukan lagi dengan membandingkan antara angka 9 dan 7.
2 9 7 5 10
2 7 9 5 10
Langkah seperti itu dilakukan berulang-ulang sampai mendapatkan urutan angka yang benar.
2 7 9 5 10
2 7 5 9 10
2 7 5 9 10
2 5 7 9 10
Setelah dilakukan berulang-ulang kita mendapatkan urutan yaitu 2 5 7 9 10.
Sumber :
http://10108253.blog.unikom.ac.id/algoritma-sorting.1td
http://andikafisma.wordpress.com/algoritma-dan-pemrograman/