Kamis, 26 Mei 2011

Bubble Sort

Bubble sort merupakan salah satu jenis sorting. Bubble sort ada metode sorting termudah. Diberikan nama “bubble” karena konsep dari algoritmanya diibaratkan seperti gelembung air untuk elemen struktur data yang seharusnya pada posisi awal. Bubble sort mengurut data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Dimana cara kerjanya adalah dengan berulang-ulang melakukan proses looping ( perulangan) terhadap elemen-elemen struktur data yang belum diurutkan. Nilai dari masing-masing elemen akan dibandingkan selama proses looping tersebut .jika selama proses looping tersebut ditemukan ada urutannya tidak sesuai dengan permintaan, maka akan dilakukan proses pemukaran (swap). Sesungguhnya secara tidak langsung, algoritma dari program ini seolah-olah menggeser satu demi satu elemen dari kanan ke kiri atau dari kiri ke kanan tergantung pada jenis pengurutannya. Perlu diketahui, jenis pengurutan sorting ada 2 yaitu asscending dan descending. Dimana asscending itu mengurut data dari kecil ke besar dan descending itu mengurut data dari besar ke kecil. Jika semua elemen sudah diperiksa oleh fungsi bubble sort, dan tidak ada pertukaran lagi atau semua nilai sudah sesuai, maka saat itu program bubble sort akan berhenti bekerja. Misalkan jika ada data 22 10 15 3 8 2. Data tersebut masih dalam keadaan acak. Maka ilustrasi pengurutan dengan bubble sortnya akan terlihat seperti pada table dibawah ini :
LANGKAH 1 :
1 2 3 4 5 6 POSISI DATA
22 10 15 3 8 2 Data Awal
22 10 15 3 2 8 tukar data 5 dengan 6
22 10 15 2 3 8 tukar data 4 dengan 3
22 10 2 15 3 8 tukar data 3 dengan 2
22 2 10 15 3 8 tukar data 2 dengan 1
2 22 10 15 3 8 LANGKAH 1 SELESAI
LANGKAH 2 :
1 2 3 4 5 6 POSISI DATA
2 22 10 15 3 8 Data Langkah 1 Akhir
2 22 10 3 15 8 tukar data 4 dengan 3
2 22 3 10 15 8 tukar data 3 dengan 2
2 3 22 10 15 8 LANGKAH 2 SELESAI
LANGKAH 3 :
1 2 3 4 5 6 POSISI DATA
2 3 22 10 15 8 Data Langkah 2 Akhir
2 3 22 10 8 15 tukar data 5 dengan 6
2 3 22 8 10 15 tukar data 4 dengan 3
2 3 8 22 10 15 LANGKAH 3 SELESAI
LANGKAH 4 :
1 2 3 4 5 6 POSISI DATA
2 3 8 22 10 15 Data Langkah 3 Akhir
2 3 8 22 10 15 tukar data 5 dengan 4
2 3 8 10 22 15 LANGKAH 4 SELESAI
LANGKAH 5 :
1 2 3 4 5 6 POSISI DATA
2 3 8 10 22 15 Tukar data 5 dengan 6
2 3 8 10 15 22 TERURUT
 Prosedur pertukaran data

Procedure tukar (var a,b:word); Var c:word; Begin c:=a; a:=b; b:=c; End;
prosedur bubble sort dengan jenis sort accending
Procedure asending_Buble(var data:array; jmldata:integer); Var I,j:integer; Begin for i:=2 to jmldata do for j:=jmldata downto I do if data[j]< data{j-1] then tukardata(data[j], data[j-1]) End;
Prosedur Bubble sort secara descending
Procedure decending_Buble(var data:array; jmldata:integer); Var I,j:integer; Begin for i:=2 to jmldata do for j:=jmldata downto I do if data[j] >data{j-1] then tukardata(data[j], data[j-1]) End;

Tidak ada komentar:

Posting Komentar