Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat. Artinya Algoritma ini akan menggeser nilai yang terkecil atau terbesar (sesuai dengan jenis pengurutan, ascending atau descending) ke posisi ujung dari daftar. Demikian seterusnya hingga semua daftar dalam keadaan terurut. Proses dasar yang terjadi dalam algoritma ini adalah proses pertukaran nilai (swapping).
Kelebihan :
- Proses penghitungan Bubble sort merupakan metode yang paling sederhana
- Algoritma Bubble Sort mudah dipahami
- Langkah atau tahapan dalam pengurutan data sangat sederhana.
Kekurangan :
- Proses penghitungan Bubble Sort menggunakan metode pengurutan termasuk paling tidak efisien walaupun dianggap sederhana. Karena proses pengurutan data dilakukan dengan tahapana satu - satu, mulai dari data paling awal sebelah kiri, sampai data terakhir
- Ketika data yang kita punya banyak atau dalam jumlah yang besar, maka proses penghitungan akan semakin lama dan lambat. Karena proses pengurutan data secara tunggal (satu - satu).
- Jumlah pengulangan akan tetap sama sampai ke data yang terakhir, walaupun sebagian data yang ada telah terurut.
program bubble_sort;
uses crt;
var
i,n,j : integer;
a : array [1..10] of integer;
procedure urutkan;
var
z : integer;
begin
for i:=1 to n-1 do
begin
for j:=n downto i+1 do
begin
if a[j] > a[j-1] then
begin
z := a[j];
a[j] := a[j-1];
a[j-1]:= z;
end;
end;
end;
end;
begin
clrscr;
writeln('Program : Mengurutkan Nilai menggunakan Bubble Sort');
writeln;
write ('Masukkan banyak data yang ingin di urut : '); readln(n);
for i:=1 to n do
begin
write ('Data ',i,' : '); readln(a[i]);
end;
urutkan;
write('Data setelah diurutkan : ');
for j:=1 to n do
write (a[j],' ');
readln;
end.
uses crt;
var
i,n,j : integer;
a : array [1..10] of integer;
procedure urutkan;
var
z : integer;
begin
for i:=1 to n-1 do
begin
for j:=n downto i+1 do
begin
if a[j] > a[j-1] then
begin
z := a[j];
a[j] := a[j-1];
a[j-1]:= z;
end;
end;
end;
end;
begin
clrscr;
writeln('Program : Mengurutkan Nilai menggunakan Bubble Sort');
writeln;
write ('Masukkan banyak data yang ingin di urut : '); readln(n);
for i:=1 to n do
begin
write ('Data ',i,' : '); readln(a[i]);
end;
urutkan;
write('Data setelah diurutkan : ');
for j:=1 to n do
write (a[j],' ');
readln;
end.
Berikut contoh dalam bentuk gif:
Sumber : sisinform-aaf1231072

No comments:
Post a Comment