Anda di halaman 1dari 4

Nama : Anggun Kurniawan

NIM : 0903182025021
Kelas : SIREG 2C

TUGAS SORTING ALGORITMA PEMROGRAMAN 2

1. Lakukan pengurutan menaik untuk sekumpulan data integer


54, 23, 12, 56, 78, 50, 12, 89, 10, 12
Menggunakan algoritma pengurutan apung

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 12 < 10 ?) Tidak 54, 23, 12, 56, 78, 50, 12, 89, 10, 12
K=9 L[9] < L [8]? (10 < 89 ?) Ya 54, 23, 12, 56, 78, 50, 12, 10, 89, 12
K=8 L[8] < L[7]? ( 10 < 12 ?) Ya 54, 23, 12, 56, 78, 50, 10, 12, 89, 12
K=7 L[7] < L[6]? (10 < 50 ?) Ya 54, 23, 12, 56, 78, 10, 50, 12, 89, 12
K=6 L[6] < L[5]? (10 < 78 ?) Ya 54, 23, 12, 56, 10, 78, 50, 12, 89, 12
K=5 L[5] < L[4]? (10 < 56 ?) Ya 54, 23, 12, 10, 56, 78, 50, 12, 89, 12
K=4 L[4] < L[3]? (10 < 12 ?) Ya 54, 23, 10, 12, 56, 78, 50, 12, 89, 12
K=3 L[3] < L[2]? (10 < 23 ?) Ya 54, 10, 23, 12, 56, 78, 50, 12, 89, 12
K=2 L[2] < L[1]? (23 < 54 ?) Ya 10, 54, 23, 12, 56, 78, 50, 12, 89, 12

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 12 < 89 ?) Ya 10, 54, 23, 12, 56, 78, 50, 12, 12, 89
K=9 L[9] < L [8]? (12 < 12 ?) Tidak 10, 54, 23, 12, 56, 78, 50, 12, 12, 89
K=8 L[8] < L[7]? ( 12 < 50 ?) Ya 10, 54, 23, 12, 56, 78, 12, 50, 12, 89
K=7 L[7] < L[6]? (12 < 78 ?) Ya 10, 54, 23, 12, 56, 12, 78, 50, 12, 89
K=6 L[6] < L[5]? (12 < 56 ?) Ya 10, 54, 23, 12, 12, 56, 78, 50, 12, 89
K=5 L[5] < L[4]? (12 < 12 ?) Tidak 10, 54, 23, 12, 12, 56, 78, 50, 12, 89
K=4 L[4] < L[3]? (12 < 23 ?) Ya 10, 54, 12, 23, 12, 56, 78, 50, 12, 89
K=3 L[3] < L[2]? (12 < 54 ?) Ya 10, 12, 54, 23, 12, 56, 78, 50, 12, 89

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 89< 12 ?) Tidak 10, 12, 54, 23, 12, 56, 78, 50, 12, 89
K=9 L[9] < L [8]? (12 < 50 ?) Ya 10, 12, 54, 23, 12, 56, 78, 12, 50, 89
K=8 L[8] < L[7]? ( 12 < 78 ?) Ya 10, 12, 54, 23, 12, 56, 12, 78, 50, 89
K=7 L[7] < L[6]? (12 < 56 ?) Ya 10, 12, 54, 23, 12, 12, 56, 78, 50, 89
K=6 L[6] < L[5]? (12 < 12?) Tidak 10, 12, 54, 23, 12, 12, 56, 78, 50, 89
K=5 L[5] < L[4]? (12 < 23 ?) Ya 10, 12, 54, 12, 23, 12, 56, 78, 50, 89
K=4 L[4] < L[3]? (12 < 54 ?) Ya 10, 12, 12, 54, 23, 12, 56, 78, 50, 89

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 89< 50 ?) Tidak 10, 12, 12, 54, 23, 12, 56, 78, 50, 89
K=9 L[9] < L [8]? (50 < 78 ?) Ya 10, 12, 12, 54, 23, 12, 56, 50, 78, 89
K=8 L[8] < L[7]? ( 50 < 56 ?) Ya 10, 12, 12, 54, 23, 12, 50, 56, 78, 89
K=7 L[7] < L[6]? (50 < 12 ?) Tidak 10, 12, 12, 54, 23, 12, 50, 56, 78, 89
K=6 L[6] < L[5]? (12 < 23?) Ya 10, 12, 12, 54, 12, 23, 50, 56, 78, 89
K=5 L[5] < L[4]? (12 < 54 ?) Ya 10, 12, 12, 12, 54, 23, 50, 56, 78, 89

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 89< 78 ?) Tidak 10, 12, 12, 12, 54, 23, 50, 56, 78, 89
K=9 L[9] < L [8]? (78 < 56 ?) Tidak 10, 12, 12, 12, 54, 23, 50, 56, 78, 89
K=8 L[8] < L[7]? ( 56 < 50 ?) Tidak 10, 12, 12, 12, 54, 23, 50, 56, 78, 89
K=7 L[7] < L[6]? (50 < 23 ?) Tidak 10, 12, 12, 12, 54, 23, 50, 56, 78, 89
K=6 L[6] < L[5]? (23 < 54?) Ya 10, 12, 12, 12, 23, 54, 50, 56, 78, 89

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:

Elemen yang dibandingkan Pertukarkan? Hasil Sementara


k
K = 10 L[10] < L[9]? ( 89< 78 ?) Tidak 10, 12, 12, 12, 23, 54, 50, 56, 78, 89
K=9 L[9] < L [8]? (78 < 56 ?) Tidak 10, 12, 12, 12, 23, 54, 50, 56, 78, 89
K=8 L[8] < L[7]? ( 56 < 50 ?) Tidak 10, 12, 12, 12, 23, 54, 50, 56, 78, 89
K=7 L[7] < L[6]? (50 < 54 ?) Ya 10, 12, 12, 12, 23, 50, 54, 56, 78, 89

Akhir Pass 6
10 12 12 12 23 50 54 56 78 89
1 2 3 4 5 6 7 8 9 10

Anda mungkin juga menyukai