Struktur Data
Bubble Sort
0 Bubble Sort adalah metode pengurutan data dengan prinsip:
data di lokasi/indeks I dibandingkan dengan data lain di
lokasi/indeks sebelahnya I+1,
0 apabila terdapat ketidakcocokan data, maka data di lokasi I
tersebut akan ditukar dengan data di lokasi I+1.
0 Maka secara perlahan, data akan bergerak menuju ke lokasi
yang tepat.
0 Dari sifat inilah, istilah bubble yang artinya gelembung
diambil. Seperti gelembung dalam minuman soda, yang
perlahan bergerak naik ke atas.
0 Disajikan contoh cara kerjanya, untuk 5 buah data yaitu 4,
5, 1, 3, 2.
0 Pengurutan dimulai dari lokasi pertama (I adalah 1), dan
dibandingkan dengan lokasi sebelahnya (I+1 adalah 2).
0 Karena data 4 dan 5 sudah berada pada urutan yang cocok,
maka tidak terjadi pertukaran.
0 Kemudian dicek data lokasi berikutnya (I adalah 2) dengan
lokasi sebelahnya (I+1 adalah 3), ternyata data 5 dan 1 tidak
cocok, maka ditukar.
0 Lokasi berikutnya (I adalah 3) dibandingkan dengan lokasi
sebelahnya (I+1 adalah 4), ternyata data 5 dan 3, tidak
cocok lagi, maka ditukar lagi.
0 Demikian seterusnya, dikerjakan sampai dipastikan
bahwa semua data ada pada lokasi yang cocok, yang
dilakukan dengan cara sudah tidak ada lagi
pertukaran yang dilakukan.
0 Berikut adalah proses perubahan data untuk contoh
data 4, 5, 1, 3, 2 tersebut:
Perulangan Pertama (First Pass)
0 4 5 1 3 2 (cocok)
0 4 5 1 3 2 (tukar 5 dan 1) 4 1 5 3 2
0 4 1 5 3 2 (tukar 5 dan 3) 4 1 3 5 2
0 4 1 3 5 2 (tukar 5 dan 2) 4 1 3 2 5
Perulangan Kedua (Second Pass)
0 4 1 3 2 5 (tukar 4 dan 1) 1 4 3 2 5
0 1 4 3 2 5 (tukar 4 dan 3) 1 3 4 2 5
0 1 3 4 2 5 (tukar 4 dan 2) 1 3 2 4 5
0 1 3 2 4 5 (cocok)
Perulangan Ketiga (Third Pass)
0 1 3 2 4 5 (cocok)
0 1 3 2 4 5 (tukar 3 dan 2) 1 2 3 4 5
0 1 2 3 4 5 (cocok)
0 1 2 3 4 5 (cocok)
Perulangan Keempat (Fourth Pass)
0 1 2 3 4 5 (cocok)
0 1 2 3 4 5 (cocok)
0 1 2 3 4 5 (cocok)
0 1 2 3 4 5 (cocok)
0 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
0 Berikut adalah implementasi dari Algoritma Bubble
Sort dengan memakai prosedur. Parameter data berjenis
referensi ke tipe data array of string:
procedure Bubble(var Arr: array of string);
var I: integer;
Ada_Tukar: boolean;
begin
repeat
Ada_Tukar:= false;
for I:= Low(Arr) to High(Arr)-1 do begin
if Arr[I] > Arr[I+1] then begin
Tukar(Arr[I], Arr[I+1]);
Ada_Tukar:= true;
end;
end;
until Ada_Tukar = false;
end;

materi_pemrograman_dasar_bubble sort.pptx

  • 1.
  • 2.
    0 Bubble Sortadalah metode pengurutan data dengan prinsip: data di lokasi/indeks I dibandingkan dengan data lain di lokasi/indeks sebelahnya I+1, 0 apabila terdapat ketidakcocokan data, maka data di lokasi I tersebut akan ditukar dengan data di lokasi I+1. 0 Maka secara perlahan, data akan bergerak menuju ke lokasi yang tepat. 0 Dari sifat inilah, istilah bubble yang artinya gelembung diambil. Seperti gelembung dalam minuman soda, yang perlahan bergerak naik ke atas.
  • 3.
    0 Disajikan contohcara kerjanya, untuk 5 buah data yaitu 4, 5, 1, 3, 2. 0 Pengurutan dimulai dari lokasi pertama (I adalah 1), dan dibandingkan dengan lokasi sebelahnya (I+1 adalah 2). 0 Karena data 4 dan 5 sudah berada pada urutan yang cocok, maka tidak terjadi pertukaran. 0 Kemudian dicek data lokasi berikutnya (I adalah 2) dengan lokasi sebelahnya (I+1 adalah 3), ternyata data 5 dan 1 tidak cocok, maka ditukar. 0 Lokasi berikutnya (I adalah 3) dibandingkan dengan lokasi sebelahnya (I+1 adalah 4), ternyata data 5 dan 3, tidak cocok lagi, maka ditukar lagi.
  • 4.
    0 Demikian seterusnya,dikerjakan sampai dipastikan bahwa semua data ada pada lokasi yang cocok, yang dilakukan dengan cara sudah tidak ada lagi pertukaran yang dilakukan. 0 Berikut adalah proses perubahan data untuk contoh data 4, 5, 1, 3, 2 tersebut:
  • 5.
    Perulangan Pertama (FirstPass) 0 4 5 1 3 2 (cocok) 0 4 5 1 3 2 (tukar 5 dan 1) 4 1 5 3 2 0 4 1 5 3 2 (tukar 5 dan 3) 4 1 3 5 2 0 4 1 3 5 2 (tukar 5 dan 2) 4 1 3 2 5
  • 6.
    Perulangan Kedua (SecondPass) 0 4 1 3 2 5 (tukar 4 dan 1) 1 4 3 2 5 0 1 4 3 2 5 (tukar 4 dan 3) 1 3 4 2 5 0 1 3 4 2 5 (tukar 4 dan 2) 1 3 2 4 5 0 1 3 2 4 5 (cocok)
  • 7.
    Perulangan Ketiga (ThirdPass) 0 1 3 2 4 5 (cocok) 0 1 3 2 4 5 (tukar 3 dan 2) 1 2 3 4 5 0 1 2 3 4 5 (cocok) 0 1 2 3 4 5 (cocok)
  • 8.
    Perulangan Keempat (FourthPass) 0 1 2 3 4 5 (cocok) 0 1 2 3 4 5 (cocok) 0 1 2 3 4 5 (cocok) 0 1 2 3 4 5 (cocok)
  • 9.
    0 Pada waktuPerulangan Keempat, sudah tidak terjadi pertukaran lagi (semua sudah cocok), maka sudah dapat dipastikan bahwa semua data sudah berada di lokasi yang tepat 0 Berikut adalah implementasi dari Algoritma Bubble Sort dengan memakai prosedur. Parameter data berjenis referensi ke tipe data array of string:
  • 10.
    procedure Bubble(var Arr:array of string); var I: integer; Ada_Tukar: boolean; begin repeat Ada_Tukar:= false; for I:= Low(Arr) to High(Arr)-1 do begin if Arr[I] > Arr[I+1] then begin Tukar(Arr[I], Arr[I+1]); Ada_Tukar:= true; end; end; until Ada_Tukar = false; end;