Selasa, 16 Juli 2013

Macam - macam Sorting

Kali ini saya akan memberikan tambahan informasi mengenai macam - macam shorting serta pengertian dasarnya :

Exchange Sort
Semua data dibandingkan dengan data pembanding, dimana pada akhir proses data terbesar akan berada pada akhir urutan.
Pada proses 1: data ke-1 dibandingkan dengan data ke-2 jika data ke-1 lebih besar maka kedua data langsung ditukar. Kemudian data ke-1 dibandingkan lagi dengan data ke-3, lebih besar? Tukar! Demikian seterusnya.
Pada proses 2: data ke-2 dibandingkan dengan data ke-3 jika data ke-2 lebih besar maka kedua data langsung ditukar. Kemudian data ke-2 dibandingkan lagi dengan data ke-4, lebih besar? Tukar! Demikian seterusnya.
Dan seterusnya…..

Selection Sort
Hampir sama dengan Exchange Sort, bedanya yang ditukar adalah indeknya. Penukaran data dilakukan di akhir proses.
Pada proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2 jika data indek lebih besar maka nilai indek adalah 2 (data ke-2). Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek.
Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3 jika data indek lebih besar maka nilai indek adalah 3 (data ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek.
Dan seterusnya…..

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 dengan data terakhir, jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya.

Bubble Sort
Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar.
Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi.
Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser-geser.
Untuk proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir dikurangi satu.

Quick Sort
Tentukan data acuan (data paling tengah).
Tentukan indek bawah (data ke-1) dan indek atas (data terakhir).
Disebelah kiri dari data acuan, besarnya harus lebih kecil dari data acuan.
Sedangkan disebelah kanan dari data acuan, besarnya harusnya lebih besar dari data acuan.
Selama data indek bawah < data acuan, maka indek bawah dinaikkan.
Selama data indek atas > data acuan, maka indek atas diturunkan.
Jika indek bawah <= indek atas maka data indek bawah dan data indek atas ditukar kemudian indek bawah dinaikkan dan indek atas diturunkan.
Jika indek pertama < indek atas maka proses pengurutan dimulai lagi dimana data telah berubah dari indek pertama sampai indek atas.
Jika indek bawah < indek terakhir (jumlah data) maka proses pengurutan dimulai lagi dimana data telah berubah dari indek bawah sampai indek terakhir.

Shell Sort
Proses 1: menentukan jarak dari data yang akan dibandingkan (jumlah data dibagi 2 à N/2).
Dilakukan pengulangan dari 1 sampai dengan N/2.
Setiap pengulangan dilakukan perbandingan antara data ke-1 dengan data ke-1+(N/2), apabila data ke-1 > data ke-1+(N/2) maka kedua data ditukar.
Pengulangan berikutnya membandingkan data ke-2 dengan data ke-2+(N/2).
Proses 2: membagi jarak data N/2 menjadi 2 lagi (N/4)
Kemudian dilakukan langkah-langkah seperti proses 1 tetapi pengulangan yang dilakukan adalah dari 1 sampai dengan N-N/2.
Hal ini dilakukan terus menerus sampai jaraknya = 1.
Binary Insertion Sort
Mengurutkan sekumpulan data dengan membandingkan data yang dimasukkan dengan data yang ada ditengah.
Jika data yang dimasukkan lebih besar dari data tengah, maka data tersebut harus ditempatkan disebelah kanan dari data tengah.
Sebaliknya jika lebih kecil, maka harus ditempatkan disebelah kiri dari data tengah.
Untuk data selanjutnya (yang akan dimasukkan), cari data tengah yang baru untuk membandingkan data yang akan dimasukkan selanjutnya.
Demikian seterusnya ...

Demianlah informasi yang dapat saya sampaikan , semoga bermanfaat untuk semua.
Terus belajar , terus bekarya, semoga sukses.

Tidak ada komentar:

Posting Komentar