31 December 2010

MINIMUM SORT SECARA ASCENDING

Langkah-langkah MINIMUM SORT secara Ascending

Tahap–tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebih dahulu. Langkah global ini diperhalus sampai langkah yang lebih rinci. Pendekatan desain algoritma seperti ini dinamakan penghalusan langkah atau perancangan puncak turun (top-down design). Cara pendekatan ini sangat bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks. Gagasan penghalusan langkah adalah memecahkan proses menjadi beberapa langkah. Tiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah terus berlanjut sampai tiap langkah sudah sampai rinci dan tepat untuk dilaksanakan pemroses.
Penghalusan langkah yang akan dibahas yaitu pengurutan minimum menaik (minimum sort secara ascending). Sebagai contoh penghalusan langkah, tinjau masalah pengurutan data sebagai berikut:
Diberikan N buah data bilangan bulat yang tersusun secara acak. Kita diminta menyusun suatu algoritma untuk mengurutkan sekumpulan data tersebut sehingga tersusun terurut dari nilai data yang terkecil sampai nilai data yang terbesar.
Algoritma pengurutan yang cukup sederhana adalah dengan mencari elemen yang terkecil didalam kumpulan mulai dari data ke-1 sampai data ke-N, lalu menempatkannya pada posisi data pertama (dengan cara mempertukarannya dengan data pertama). Karena data yang pertama sudah menempati tempat yang sudah benar, selanjutnya dicari lagi elemen elemen terkecil di dalam kumpulan mulai data ke-2 sampai data ke-N, lalu menempatkannya pada data kedua. Karena data pertama dan kedua sudah terurut, selanjutnya dicari lagi elemen yang terkecil dari data ke-3 sampai data ke-N, lalu menempatkannya pada posisi data ketiga, begitu seterusnya samapi tersisa satu data yang belum terurut. Karena data yang terakhir tinggal satu-satunya maka sudah data tersebut sudah pada posisi yang benar. Jadi, algoritma pengurutan ini sebenarnya ada dua langkah yaitu :
1. Mencari elemen terkecil
2. Pertukaran

Kedua langkah ini diulang sebanyak N-1 kali (satu data terakhir yang tersisa tidak perlu diurutkan lagi karena sudah pada posisi yang benar). Setiap pengulangan langkah ini disebut pass atau lelaran (iteration). Pada setiap pass ke-k, kita cari data terkecil (min) mulai dari data ke-k sampai data ke-N, lalu pertukaran min dengan elemen ke-k.

Dari keterangan di atas dapat disimpulkan bahwa :
Untuk setiap pass ke-I = 1,2,3, … , N-1 lakukan :
1. Cari elemen terkecil (min) mulai dari elemen ke-I sampai dengan elemen ke-N
2. Pertukaran min dengan elemen ke-I.
Rincian setiap pass adalah sebagai berikut :
Pass 1 : Cari elemen terkecil di dalam L[1..N]
Pertukaran elemen terkecil dengan elemen L[1]
Pass 2 : Cari elemen terkecil di dalam L[2..N]
Pertukaran elemen terkecil dengan elemen L[2]
Pass 3 : Cari elemen terkecil di dalam L[3..N]
Pertukaran elemen terkecil dengan elemen L[3]

Pass N-1: Cari elemen terkecil di dalam L[1..N]
Pertukaran elemen terkecil dengan elemen L[1]

(elemen yang tersisa adalah L[N], tidak perlu diurut karena hanya satu-satunya)

Untuk langkah-langkah dan algoritma minimum sort, silakan Download di sini.

No comments:

Post a Comment

Silakan masukkan komentar Anda untuk perkembangan blog ini.