NIM : 0903182025021
Kelas : SIREG 2C
JAWAB :
procedure BubbleSort (input/output L : LarikInt, input n : integer)
{mengurutkan larik L[1...n] sehingga terutut menaik dengan metode pengurutan apunh. }
{k. Awal : Elemen larik L sudah terdefinisi nilai-nlainya }
{k, Akhir : Elemen larik L terurut menaik sedemikian sehingga L[1] < = L[2] <= ... <= L[n].}
DEKLARASI
i : integer {pencacah untuk jumlah langka }
k : integer { pencacah, untuk pengapungan pada setiap langkah }
temp : integer { pengubah bantu untuk pertukaran }
ALGORITMA
for i = 1 to n – 1 do
for k = n downto i + 1 do
if L[k] < L[k-1] then
{pertukaran L[k] dengan L[k-1]}
temp = L[k]
L[k] = L[k-1]
L[k-1] = temp
endif
endfor
endfor
Tinjau Larik L dengan n=10 buah elemen yang belum terurut. Larik ini akan diurutkan menaik
54 23 12 56 78 50 12 89 10 12
1 2 3 4 5 6 7 8 9 10
Pass 1:
Akhir Pass 1
10 54 23 12 56 78 50 12 89 12
1 2 3 4 5 6 7 8 9 10
Pass 2:
Akhir Pass 2
10 12 54 23 12 56 78 50 12 89
1 2 3 4 5 6 7 8 9 10
Pass 3:
Akhir Pass 3
10 12 12 23 12 56 78 50 12 89
1 2 3 4 5 6 7 8 9 10
Pass 4:
Akhir Pass 4
10 12 12 12 54 23 50 56 78 89
1 2 3 4 5 6 7 8 9 10
Pass 5:
Akhir Pass 5
10 12 12 12 23 54 50 56 78 89
1 2 3 4 5 6 7 8 9 10
Pass 6:
Akhir Pass 6
10 12 12 12 23 50 54 56 78 89
1 2 3 4 5 6 7 8 9 10