Sabtu, 18 Desember 2010

Quick Sort Algoritma

Quick Sort adalah algoritma pengurutan yang sangat cepat dengan tipe penyelesaian divide and conquer. sehingga cocok untuk mengurutkan data dalam jumlah besar. Proses pengurutan Quick Sort adalah sebagai berikut:



Proses pengurutan berhenti bila pointer kiri overlap dengan pointer kanan (langkah 8 di gambar atas), sekaligus membagi (divide) 2 bagian yang akan diurutkan selanjutnya; yaitu partisi kiri dan kanan.

Gambar: Proses sorting tahap ke-2


Proses pengurutan dilakukan sama dengan langkah sebelumnya (rekursif) dan dilakukan pada partisi kiri dan kanan. Pembagian partisi berhenti bila tiap partisi hanya menyisakan satu elemen data saja (lihat warna hijau pada langkah 4 di atas).

Gambar: Proses sorting tahap ke-3


Ketika proses pengurutan dilakukan secara rekursif (berulang), maka menghasilkan partisi hanya satu elemen saja dan kemudian digabung kembali sehingga terlihat bahwa data telah berurutan. Untuk lebih jelasnya, anda bisa memahami proses sorting dengan membaca Algoritma Quick Sort di bawah ini:



Gambar: Hasil running Quick Sort


Kode Program: Bahasa C++

15 komentar:

  1. Mantap juga nih blog.... kodenya cuma pake C++ ya? Sekali2 pakai Java lah, ane mau bljr juga nih...
    Salam kenal... :D

    BalasHapus
  2. Java dik?

    Saya sebenarnya lebih expert di bahasa Java sampai pemrograman Handphone, tetapi karena dosen2 di luar lebih senang C++ untuk praktikum, jadi saya mengikuti. Disini yg lebih ditekankan algoritmanya, sedang tool-nya anda bisa explore sendiri.

    Namun sebentar lagi ada tutorial Java dari mulai syntax dasar, conditional, looping, membaca input dari keyboard, pengenalan Object Oriented Promgramming, Pengenalan editor JCreator dan Netbeans.

    Ditunggu saja. Tugas Algoritma akan semakin komplit. Makasih.

    BalasHapus
    Balasan
    1. Pk bsa tolong dibuatkan quicksort nya tapi versi java?buat di pelajari

      Hapus
  3. Kami juga mempunyai artikel yang terkait dengan algoritma quicksort, bisa di download disini:
    http://repository.gunadarma.ac.id&source=web&cd=2&cad=rja&ved=0CCUQFjAB&url=http%3A%2F%2Frepository.gunadarma.ac.id%2Fbitstream%2F123456789%2F2353%2F1%2F02-02-007-Metode%255BYulisdin%255D.pdf&ei=YbmTUOfhII6HrAejqYCIAw&usg=AFQjCNGfVUPyq7BGVDWqyosIpSbvHuld_Q
    semoga bermanfaat :D

    BalasHapus
  4. nice lah ini blog :D

    BalasHapus
  5. [ask]
    gan di langkah 6 emang gitu tah?

    BalasHapus
  6. maaf mas void cetak nya tidak ada ya

    BalasHapus
  7. Quicksort tapi tanpa prosedur pascal plisss min bintang 5

    BalasHapus
  8. Sangat bermanfaat, sudah sy coba dalam bahasa PHP

    BalasHapus
  9. Terima kasih banyak kepada penulis, izin copas ya ^_^"

    BalasHapus
  10. Minta yang udah jadi flowchart nya dong plis🙏

    BalasHapus