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