Anda di halaman 1dari 2

BubbleSort Algorithm

Thursday, April 07, 2011 7:35 AM

Jans Hendry / S2 TE UGM 09

BubbleSort merupakan metode pengurutan yang tertua dan cukup banyak digunakan hingga saat ini. Metode ini menggunakan pembandingan angka-angka dalam gugus per elemen. Metode ini cukup efektif untuk jumlah data yang sedikit. Karena aktifitas membandingkan ini dilakukan hingga tiap-tiap elemen mengalaminya dan terurut dalam urutan yang benar. Sehingga memakan waktu dan komputasi yang banyak. Untuk itu, metode ini tidak cocok untuk data yang besar. Tapi metode ini merupakan metode dasar yang wajib diketahui dan dipahami untuk mempelajari metode yang lebih advance. Berikut ini akan dijelaskan bagaimana logika dari BubbleSort berjalan. Misalkan ada sebuah array seperti ini: A = [4,2,6,8,5,7,7,3,2,8,4,5] Pertama, kita memberikan indeks untuk tiap elemen dalam array tersebut. Bila elemen pertama kita beri indeks 1 maka indeks terakhir akan menjadi indeks 12. Metode ini akan membandingkan elemen pertama dengan elemen berikutnya dengan jarak sebesar 1 unit, contoh adalah elemen indeks 1 dengan indeks 2. Bila indeks 2 lebih kecil dari indeks 1, maka elemen di indeks 2 akan di swap atau di pertukarkan dengan indeks 1. Sehingga gugusan tersebut akan berubah dengan elemen indeks 1 = 2 dan elemen indeks 2 = 4. Lalu elemen indeks 2 akan dibandingkan dengan elemen indeks 3, dan ternyata indeks 3 lebih besar dari indeks 2. Dengan demikian elemen di indeks 2 dan indeks 3 tidak perlu dipertukarkan. Demikianlah hal ini terus berlangsung hingga dicapai elemen terakhir. Lalu ketika mencapai elemen terakhir, apakah proses ini berhenti begitu saja???? o tentu tidak. Karena bila proses tersebut berlangsung, maka tidak ada jaminan bahwa hasil pengurutan telah benar. Untuk itu, bubble sort akan mengulang kembali pembandingan tiap-tiap elemen hingga habis. Tapi perlu diingat, bahwa pembandingan berikutnya hanya sampai elemen ke 11. Itu artinya setiap perulangan, hanya sampai (banyak angka-1) dan dinamis. Artinya dinamis adalah hingga yang dibandingkan nantinya tinggal 2 elemen saja yakni elemen indeks 1 dan indeks 2. Cara pemrograman. Cara pemrograman metode BubbleSort sangat mudah. Kita hanya perlu melakukan pembadingan dan penukuran lokasi elemen. Perlu saya tambahkan, ada yang penting ketika memprogram metode ini. Adanya variabel TEMP yang akan anda temukan di program yang sama yang dilakukan oleh orang lain. Variabel ini gunanya sebagai penyimpanan sementara elemen saat ini. Untuk lebih jelas, perhatikan logika berikut ini: - Pertama bandingkan elemen saat ini dengan elemen berikutnya. If x(i) > x(i+1). - Bila elemen saat ini lebih besar dari elemen berikutnya maka simpan elemen saat ini dalam variabel TEMP. Bila lebih kecil maka proses ini akan di lewatkan dengan sendirinya oleh compiler. temp=x(i) - Lalu pertukarkan posisi mereka, elemen saat ini digantikan oleh elemen yang berikutnya. x(i)=x(i+1) - Lalu elemen berikutnya diisi oleh elemen yang ada dalam variabel TEMP. x(i+1)=temp - Hal ini akan terus berlangsung hingga hanya tersisa dua elemen yakni elemen pertama dan kedua yang harus dibandingkan. Untuk itu gunakanlah syntax berikut: k=length(x); While k>=2 {write your bubblesort code here} k=k-1; end

Contoh Program Matlab Page 1

Untuk lebih jelas, perhatikan contoh berikut ini. Saya juga menyertakan m-file nya agar bisa langsung di coba. Contoh:

Hasil eksekusi dari program di atas:

~~~ TERIMA KASIH ~~~

Contoh Program Matlab Page 2

Anda mungkin juga menyukai