Pada pembahasan sebelumnya Anda telah mengetahui bahwa setidaknya ada dua metoda pengurutan yang populer, yaitu Bubble Sort dan Quick Sort. Sengaja metoda Bubble Sort dipilih untuk dibahas terlebih dahulu karena logikanya mudah untuk diikuti.
Nah, sekarang
kita menginjak pada metoda pengurutan yang kedua yaitu Quick Sort. Metoda ini
mungkin memang tidak semudah Bubble Sort, akan tetapi unggul dalam segi
kecepatan, terutama apabila ada banyak data yang harus diurutkan.
Sebelum kita
menginjak pada pembahasan tentang program pengurutan dengan metoda Quick Sort, terlebih
dahulu akan diberikan ilustrasi terlebih dahulu.
Katakanlah Anda
memiliki 7 buah angka yang harus diurutkan, yaitu 5, 1, 3, 10, 8, 6, dan 7.
Lihat ilustrasi pada gambar 1. Dengan menggunakan metoda Quick Sort, langkah
pertama yang harus diambil adalah menentukan elemen pivot. Elemen pivot adalah
suatu data yang dipilih untuk menjadi dasar acuan dalam pengurutan data. Elemen
ini boleh diambil sembarang, salah satu dari ketujuh data tersebut. Dalam
contoh ini akan diambil angka 7 sebagai elemen pivot. Lihat ilustrasi pada
gambar 2.
Langkah
berikutnya adalah melakukan pembandingan seluruh elemen yang ada dengan elemen
pivot tersebut. Sebagai hasil dari pembandingan tersebut, bilangan yang lebih
kecil daripada elemen pivot akan diletakkan di sebelah kiri elemen pivot dan
bilangan yang lebih besar daripada elemen pivot diletakkan di sebelah kanan
elemen pivot. (Kasus ini berlaku untuk pengurutan dari bilangan terkecil ke
bilangan terbesar atau ascending).
Proses
pembandingan ini dapat dilakukan dari dua arah, yaitu dari arah kiri dan dari
arah kanan. Nantinya dalam program, gerakan dari arah kiri akan dinotasikan
dengan huruf i dan gerakan dari arah kanan akan dinotasikan dengan huruf j.
Lihat ilustrasi pada gambar 3. Apabila elemen i memiliki nilai lebih besar
daripada elemen pivot dan elemen j memiliki nilai lebih kecil daripada elemen
pivot, maka kedua elemen ini ditukar letaknya. Proses ini akan dilakukan terus
hingga kedua arah gerakan bertemu di suatu titik tertentu. Lihat ilustrasi pada
gambar 4. (Perhatikan bahwa letak urutan angka telah berubah). Selanjutnya
letak elemen pivot ditukar dengan letak titik temu tersebut. Lihat ilustrasi
pada gambar 5. Hasil akhir proses ini terlihat pada gambar 6.
Perhatikan
baik-baik gambar 6 tersebut. Pada keadaan tersebut, seluruh bilangan yang
terletak di sebelah kiri elemen pivot bernilai lebih kecil daripada elemen
pivot dan seluruh bilangan yang terletak di sebelah kanan elemen pivot bernilai
lebih besar daripada elemen pivot. Jumlah elemen yang terletak di sebelah kiri
dan kanan tidak harus sama.
Sekalipun
sekarang seluruh bilangan yang terletak di sebelah kiri elemen pivot bernilai
lebih kecil daripada elemen pivot dan seluruh bilangan yang terletak di sebelah
kanan elemen pivot bernilai lebih besar daripada elemen pivot, namun
bilangan-bilangan tersebut masih belum berurutan. Jadi proses Quick Sort harus
dilakukan lagi untuk bilangan yang terletak di sebelah kiri elemen pivot dan di
sebelah kanan elemen pivot. Proses ini akan
terus berlangsung hingga seluruh bilangan akan terurut.
Source Code dan Artikelnya DOWNLOAD DISINI
No comments:
Post a Comment