BUBBLESORT

Bubble Sort
adalah metode pengurutan data dengan prinsip:
Data di lokasi/indeks I dibandingkan dengan data lain di lokasi/indeks sebelahnya I+1, apabila terdapat ketidakcocokan data, maka data di lokasi I tersebut akan ditukar dengan data di lokasi I+1. Maka secara perlahan, data akan bergerak menuju ke lokasi yang tepat. Dari sifat inilah, istilah bubble yang artinya gelembung diambil. Seperti gelembung dalam minuman soda, yang perlahan bergerak naik ke atas.
Ada 2 tujuan berbeda dari suatu pengurutan data, yaitu:
• Pengurutan data secara Menaik (Ascending), contohnya data diurutkan dari A sampai Z, atau dari 0 sampai 100
• Pengurutan data secara Menurun (Descending), contohnya data diurutkan dari Z sampai A, atau dari 100 sampai 0
• Contoh cara kerjanya, untuk 5 buah data yaitu 4, 5, 1, 3, 2.
– Pengurutan dimulai dari lokasi pertama (I adalah 1)
– Dan dibandingkan dengan lokasi sebelahnya (I+1 adalah 2). Karena data 4 dan 5 sudah berada pada urutan yang cocok, maka tidak terjadi pertukaran.
– Kemudian dicek data lokasi berikutnya (I adalah 2) dengan lokasi sebelahnya (I+1 adalah 3), ternyata data 5 dan 1 tidak cocok, maka ditukar.
– Lokasi berikutnya (I adalah 3) dibandingkan dengan lokasi sebelahnya (I+1 adalah 4), ternyata data 5 dan 3, tidak cocok lagi, maka ditukar lagi.
– Demikian seterusnya, dikerjakan sampai dipastikan bahwa semua data ada pada lokasi yang cocok, yang dilakukan dengan cara sudah tidak ada lagi pertukaran yang dilakukan.

• Proses perubahan data untuk contoh data 4, 5, 1, 3, 2
 Perulangan Pertama (First Pass)
• 4 5 1 3 2 (cocok)
• 4 5 1 3 2 (tukar 5 dan 1) 4 1 5 3 2
• 4 1 5 3 2 (tukar 5 dan 3) 4 1 3 5 2
• 4 1 3 5 2 (tukar 5 dan 2) 4 1 3 2 5
 Perulangan Kedua (Second Pass)

• 4 1 3 2 5 (tukar 4 dan 1) 1 4 3 2 5
• 1 4 3 2 5 (tukar 4 dan 3) 1 3 4 2 5
• 1 3 4 2 5 (tukar 4 dan 2) 1 3 2 4 5
• 1 3 2 4 5 (cocok)

 Perulangan Ketiga (Third Pass)
• 1 3 2 4 5 (cocok)
• 1 3 2 4 5 (tukar 3 dan 2) 1 2 3 4 5
• 1 2 3 4 5 (cocok)
• 1 2 3 4 5 (cocok)
 Perulangan Keempat (Fourth Pass)

• 1 2 3 4 5 (cocok)
• 1 2 3 4 5 (cocok)
• 1 2 3 4 5 (cocok)
• 1 2 3 4 5 (cocok)

Pada waktu Perulangan Keempat, sudah tidak terjadi pertukaran lagi (semua sudah cocok), maka sudah dapat dipastikan bahwa semua data sudah berada di lokasi yang tepat.

Kelebihan bubble sort
1. Proses penghitungan Buble sort merupakan metode yang paling sederhana
2. Mudah dipahami
3. Langkah atautahapan dalam pengurutan data sangat sederhana

Kekurangan bubble sort
1. Proses penghitungan Buble sort menggunakan metode pengurutan termasuk paling tidak efisien walaupun dianggap sederhana. Karena proses pengurutan data dilakukan dengan tahapan satu-satu, mulai dari data paling awal sebelah kiri, sampai data terakhir.
2. Ketika data yang kita punya banyak atau dalam jumlah yang besar, maka proses penghitungan akan semakinlama dan lambat. Karena proses pengurutan data secara tunggal(satu-satu).
3. Jumlah pengulangan akan tetap sama sampai ke datayang terakhir, walaupun sebagian data yang ada telah terurut.
Contoh program

program buble_sort_menaik;
uses crt;
var
i,n,j : integer;
a: array [1..100] of integer;

procedure buble;
var
z: integer;
begin
for i:= 1 to n-1 do
begin
for j:= n downto i+1 do
begin
if a[j] a[j-1] then
begin
z:= a[j];
a[j]:= a [j-1];
a[j-1]:=z;
end;
end;
end;
end;
begin
write(‘masukkan banyak larik (maks 100) : ‘); readln(n);
for i:= 1 to n do
begin
write(‘A[‘,i,’] : ‘); readln(a[i]);
end;

buble;
write(‘data setelah diurutkan : ‘);

for j:=1 to n do
write (a[j],’ ‘);
end.

Leave a Reply