Algoritma sorting
Dalam Ilmu Komputer, Algoritma Sorting merupakan algoritma yang menempatkan elemen list pada urutan tertentu. Urutan yang paling sering digunakan ialah urutan numerikal dan urutan lexicographical. Sorting yang efisien sangat dibutuhkan untuk mengoptimisasi penggunaan dari algoritma lain seperti pencarian dan penggabungan yang membutuhkan list terurut untuk berjalan dengan sempurna, yang juga sering digunakan untuk Canonicalisisasi data dan menghasilkan output yang dapat dibaca manusia. Untuk lebih lanjutnya, output harus melengkapi dua syarat ini:- Output merupakan urutan yang tidak menurut (nondecreasing) (setiap elemen tidak lebih kecil dari elemen sebelumnya menurut dari urutan keseluruhan yang diinginkan.
- Output merupakan permutasi (pengurutan kembali) dari inputan yang diberikan.
Quick sort
Quicksort merupakan sorting pembanding dan pada implementasi efisien tidak merupakan algoritma sorting yang stabil.
Merge sort / Urut gabung
Bubble sort
bubble sort adalah sorting yang dilakukan dengan cara mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending.
Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending
Untuk mengurutkan bilangan diperlukan variabel array yang digunakan untuk menampung semua bilangan yang akan diurutkan.
Proses pengurutan dilakukan dengan membandingkan semua elemen array satu persatu.
Contoh :
20 12 35 11 17 9 58 23
Dalam metode bubble sort, pengurutan demulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir.
Kedua :
5 6 3 8
5 6 3 8
5 3 6 8
5 3 6 8
Pada akhir proses kedua ini, bilangan terbesar kedua menempatkan tempat yang sesuai.
Ketiga :
5 3 6 8
3 5 6 8
3 5 6 8
3 5 6 8
Bila proses ini dilanjutkan, tidak ada pertukaran tempat lagi bagi bilangan – bilangan tersebut, sebab bilangan tersebut telah selesai disusun.
Seletion sort
Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan pada index terkecil , pada putaran kedua akan dicari data kedua terkecil dan akan ditempatkan pada index kedua terkecil.Selama proses, perbandingan dan pengubahanhanya dilakukan pada index pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.
Contoh:
Diberikan data awal
22 10 15 3 8 2
22 10 15 3 8 2
Proses
22 10 15 3 8 2
22 10 15 3 8 2
2 10 15 3 8 22
2 3 15 10 8 22
2 3 15 10 8 22
2 3 8 10 15 22
Hasil : 2 3 8 10 15 22
Insertion Sort
Mirip dengan cara orang mengurutkan kartu,selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengandata terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan ( diinsert) diposisi yang seharusnya.Pada penyisipan elemen, maka elemen-elemenlain akan bergeser ke belakang
Contoh :
Diberikan data awal 22 10 15 3 8 2
Proses
22 10 15 3 8 2
10 22 15 3 8 2
10 15 22 3 8 2
10 15 3 22 8 2
10 3 15 22 8 2 Hasil : 2 3 8 10 15 22
3 10 15 22 8 2
3 10 15 8 22 2
3 10 8 15 22 2
3 8 10 15 22 2
3 8 10 15 2 22
3 8 10 2 15 22
3 8 2 10 15 22
3 2 8 10 15 22
2 3 8 10 15 22
source : wikipedia
http://www.scribd.com/doc/32772607/Sorting
http://noviapermata23.blogspot.com/2012/03/apa-itu-bubble-sort.html