Metode bubble sort merupakan metode pengurutan yang mengambil proses dengan menggunakan bubble atau exchange. Perbandingan data dilakukan dari posisi pertama atau posisi terakhir bergeser satu persatu sampai semua data dibandingkan.
Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode bubble sort adalah sebagai beriku
- Bandingkan posisi data i = 0 dan j = 1
- Jika data diposisi i lebih besar daripada data diposisi j, maka data diposisi i ditukar dengan data diposisi j (swap). Jika tidak penukaran posisi tidak dilakukan.
- Kemudian, lakukan perbandingan data diposisi i = 1 dan data diposisi j = 2. Lakukan langkah 2, begitu juga untuk data berikutnya hingga i = N-2 dan j = N-1
- Ulangi langkah 1, 2 dan 3 untuk data diposisi 0 sampai dengan data diposisi N-2, karena data di posisi N-1 adalah data dengan nilai terbesar. Untuk tahap selanjutnya data yang dibandingkan akan semakin berkurang sebab data dengan nilai yang lebih besar akan terposisi dibagian sebelah kanan data.
berikut contoh program bubble sort dengan pascal
program bubbleSort;
uses crt;
var
i, k, temp, n : integer;
L : array[1..100] of integer;
begin
clrscr;
write('Masukan jumlah Bilangan : '); read(n);
for i:=1 to n do
begin
write('input bil ke- ',i,' = ');read(L[i]);
end;
{proses bubble sort}
for i:=1 to n-1 do
begin
for k:= n downto i+1 do
begin
if (L[k] < L[k-1]) then
begin
temp := L[k];
L[k] := L[k-1];
L[k-1] := temp;
end;
end;
end;
{proses pencetakan}
writeln('');
writeln('Data Setelah Diurutkan dengan Bubble Sort');
for i:=1 to n do
writeln(L[i]);
readln;
readln;
end.
end.
program bubbleSort;
uses crt;
var
i, k, temp, n : integer;
L : array[1..100] of integer;
begin
clrscr;
write('Masukan jumlah Bilangan : '); read(n);
for i:=1 to n do
begin
write('input bil ke- ',i,' = ');read(L[i]);
end;
{proses bubble sort}
for i:=1 to n-1 do
begin
for k:= n downto i+1 do
begin
if (L[k] < L[k-1]) then
begin
temp := L[k];
L[k] := L[k-1];
L[k-1] := temp;
end;
end;
end;
{proses pencetakan}
writeln('');
writeln('Data Setelah Diurutkan dengan Bubble Sort');
for i:=1 to n do
writeln(L[i]);
readln;
readln;
end.
end.
Output program
Post a Comment