Rabu, 20 Februari 2013


Pengurutan data dalam struktur data sangat penting terutama untuk data yang
beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending
(urut naik) dan descending (urut turun). Pengurutan (Sorting) adalah proses pengurutan
data yang sebelumnya disusun secara acak sehingga tersusun secara teratur menurut
aturan tertentu.

         Contoh:
         Data Acak : 5 6 8 1 3 25 10
         Ascending : 1 3 5 6 8 10 25
         Descending : 25 10 8 6 5 3 1


BUBBLE SORT

   Merupakan metode sorting termudah, diberi nama “Bubble” karena proses
pengurutan secara berangsur- angsur bergerak/berpindah ke posisinya yang tepat,
seperti gelembung yang keluar dari sebuah gelas bersoda. Bubble Sort 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. Algoritma
ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan,
tergantung jenis pengurutannya. Ketika satu proses telah selesai, maka bubble sort akan
mengulangi proses, demikian seterusnya. Kapan berhentinya? Bubble sort berhenti jika
seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta
tercapai perurutan yang telah diinginkan.





EXCHANGE SORT

Sangat mirip dengan Bubble Sort, dan banyak yang mengatakan Bubble Sort
sama dengan Exchange Sort. Pebedaan ada dalam hal bagaimana membandingkan antar
elemen-elemennya. Exchange sort membandingkan suatu elemen dengan elemenelemen
lainnya dalam array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi
ada elemen yang selalu menjadi elemen pusat (pivot). Sedangkan Bubble sort akan
membandingkan elemen pertama/terakhir dengan elemen sebelumnya/sesudahnya,
kemudian elemen sebelum/sesudahnya itu akan menjadi pusat (pivot) untuk
dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu seterusnya.







SELECTION SORT

Merupakan kombinasi antara sorting dan searching. Untuk setiap proses, akan
dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar
akan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran
pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks
terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan
ditempatkan di indeks kedua (data[1]). Selama proses, pembandingan dan
pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara
fisik terjadi pada akhir proses.







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, maka akan
ditempatkan (diinsert) diposisi yang seharusnya. Pada penyisipan elemen, maka elemen elemen lain akan bergeser ke belakang.






0 komentar:

Posting Komentar