Label:

Metode Gelembung (Bubble sort)


Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran
(exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan
masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah
dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari,
metode ini merupakan metode yang paling tidak efisien.



Hampir sama dengan Selection Sort
Cara pengurutan elemen yang paling sederhana
Menggunakan metode pembandingan dan pertukaran
Tiap putaran, elemen yang bersebelahan akan dibandingkan dan isinya akan ditukar jika nilainya tidak berurut
ba := n
i := 1 {mulai dari bawah}
if l[i] < l[i+1] then {jika elemen itu lebih ringan dari pada elemen di atasnya}
   {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif

Proses pemeriksaan dan penukaran seperti itu harus dilakukan mulai dari bawah sampai ke batas atas pengapungan. 
Jadi, i harus digerakkan mulai dari 1 sampai dengan ba-1; algoritmanya menjadi:

ba := n
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {jika elemen itu lebih ringan dari pada elemen di atasnya}
    {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile

Berikutnya, batas atas pengapungan ba dikurangi dengan 1
Proses pengapungan yang sama dilakukan mulai dari bawah sampai ke ba
Dilakukan sampai dengan nilai ba menjadi 2
Algoritmanya menjadi: 

ba := n
while ba > 1 do 
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile
ba := ba – 1
ewhile 

Bila algoritma dituliskan dengan procedur UrutApung, dengan argumen l dan n, maka :

proc UrutApung(l,n)
ba := n
while ba > 1 do 
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile
ba := ba – 1
 ewhile 
eproc






0 komentar:

Posting Komentar