Documente Academic
Documente Profesional
Documente Cultură
583471
Metode Penyelesaian
Langkah-langkah penyelesaian secara manual :
1. Pertama, kita tentukan pivot nya. Boleh sembarang. Perlu diketahui, ketika quick sort diterapkan di
mesin komputer, maka pivot akan random. Untuk contoh kali ini biar lebih mudah maka kita
tentukan saja pivotnya, misal kita tentukan pivotnya adalah nilai 1 yaitu data paling kanan.
583471
2. Setelah itu, kita tentukan sumbu kiri dan sumbu kanannya. Pada contoh kita berikan sumbu kiri
pertama pada data paling kiri yaitu 5.
3. Sedangkan sumbu kanan kita berikan ke data paling kanan. Tapi karena paling kanan sudah pivot,
maka nilai berikutnya yaitu 7.
583471
Metode Penyelesaian
4. Peletakan sumbu selesai, berikutnya adalah melakukkan penguirutan dengan metode quick
sort. Sumbu kiri akan dibandingkan dengan pivot dan bergerak ke arah kanan. Sumbu kanan akan
dibandingkan dengan pivot dan bergerak ke arah kiri. Pada contoh. Sumbu kiri yaitu 5 kita
bandingkan dengan pivot yaitu satu. Karena nilai 5 lebih besar dari pivot, maka nilai tersebut tetap
dan tidak ditukar. Sumbu kiri hanya akan bergerak ke kanan bila belum menemukan data yang
lebih besar dari pivot.
583471
5. Begitu pula sumbu kanan. Sumbu akan bergerak ke kiri bila tidak ditemukan data yang lebih
kecil dari pivot. Kali ini sumbu kanan yaitu 7 akan kita bandingkan dengan pivotnya yaitu 1. Karena
7 lebih besar dari 1 maka sumbu kanan bergerak ke kiri.
583471
Metode Penyelesaian
6. Nilai 4 ternyata masih lebih besar dari 1, maka sumbu kanan terus bergerak ke kiri.
583471
7. Nilai 3 ternyata masih lebih besar dari 1, maka sumbu kanan terus bergerak ke kiri.
583471
8. Nilai 8 ternyata masih lebih besar dari 1, maka sumbu kanan terus bergerak ke kiri.
583471
Metode Penyelesaian
9. Nilai 5 ternyata masih lebih besar dari 1, tapi karena nilai 5 itu merupakan sumbu kanan, maka
jika sumbu kanan dan sumbu kiri bertemu, nilai tersebut harus ditukarkan dengan pivot
sehingga menjadi berikut.
183475
10. Lalu kita ulangi langkah pertama yaitu menentukan pivot, sumbu kiri dan kanan. Pivotnya kita
tentukan yaitu 5, dengan sumbu kirinya 8 dan kanannya 7. Nilai 1 sudah tidak masuk hitungan
karena sudah merupakan nilai terkecil dan sudah terurut berdasarkan letaknya yaitu paling
kiri.
183475
11. Nilai 8 lebih besar dari 5 maka sumbu kiri tidak bertukar. Sumbu kanan bernilai 7 lebih besar
dari 5 maka sumbu bergerak ke kiri.
183475
Metode Penyelesaian
12. Lalu sumbu kanan dengan nilai 4 ternyata lebih kecil dari pivot, maka kita stop. Langkah berikutnya
adalah menukarkan nilai sumbu kiri dengan nilai sumbu kanan. Kita tukarkan letak nilai 8 dengan 4.
143875
13. Lakukan langkah pertama kembali. Pivot tetap pada 5. Kita bandingkan 5 dengan 4. Nilai 4 lebih
kecil sehinggan sumbu bergerak ke kanan. Lalu nilai 5 dengan 8. Karena sudah ketemu yang lebih
besar, sumbu berhenti.
143875
14. Lalu sumbu kanan kita bandingkan dengan pivot. Ternyata lebih besar maka bergeser ke kiri.
143875
Metode Penyelesaian
15. Karena sumbu kiri dan kanan bertemu, maka nilai tersebut ditukar dengna pivot.
143578
16. Berikutnya kita berikan pivot. Karena 7 dan 8 sudah bersebelahan dan sudah terurut maka tidak
bisa kita jadikan pivot. Kita berikan ke 5. Untuk sumbu kiri nya 4 dan sumbu kanannya 3.
143578
17. Kita bandingkan pivot dengan sumbu kiri. Karena 4 lebih kecil, maka sumbu bergerak ke kanan.
Dan ternyata ketemu dengan sumbu kanan. Maka nilai tersebut ditukarkan dengan pivot menjadi
berikut
153478
Metode Penyelesaian
18. Pivot kita letakkan ke nilai 4, sumbu kiri 5 dan sumbu kanan 3.
153478
19. Nilai 5 lebih besar dari 4 maka letaknya tetap. Lalu sumbu kanan bernilai 3 lebih kecil dari pivot
maka letak sumbu masing-masing kita ubah.
135478
20. Pivot kita berikan ke nilai 4, lalu sumbu kirinya 3 dan kanannya 5.
135478
Metode Penyelesaian
21. Kita bandingkan 4 dengan 3, karena 3 lebih kecil maka bergeser ke kanan. Dan ternyata pertemuan
kedua sumbu, maka nilai tersebut kita tukar dengan pivot.
134578
22. Perlu diketahui, kami berikan langkah diatas untuk memberi tahu kalian secara detail cara
pengerjaannya jika kalian menemukan data yang ukurannya tidak diketahui. Jika diperhatikan,
sebenarnya langkah bisa kita potong cukup sampai langkah ke-15 lalu tinggal menukarkan nilai 4
dan 3. Karena data contoh diatas sedikit dan nilai yang pasti sudah kalian ketahui. Tapi jika nilai
tersebut desimal atau longkapnya cukup jauh maka lebih baik dilakukkan hingga proses langkah
terakhir.
Metode Penyelesaian
21. Kita bandingkan 4 dengan 3, karena 3 lebih kecil maka bergeser ke kanan. Dan ternyata pertemuan
kedua sumbu, maka nilai tersebut kita tukar dengan pivot.
134578
22. Perlu diketahui, kami berikan langkah diatas untuk memberi tahu kalian secara detail cara
pengerjaannya jika kalian menemukan data yang ukurannya tidak diketahui. Jika diperhatikan,
sebenarnya langkah bisa kita potong cukup sampai langkah ke-15 lalu tinggal menukarkan nilai 4
dan 3. Karena data contoh diatas sedikit dan nilai yang pasti sudah kalian ketahui. Tapi jika nilai
tersebut desimal atau longkapnya cukup jauh maka lebih baik dilakukkan hingga proses langkah
terakhir.
Ilustrasi Quick Sort
IMPLEMENTASI PADA C++