setelah kemaren saya bahas soal selection sort, hari ini saya mau bahas tentang bubble sort. Bubble sort disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang
mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.
Algoritma Metode gelembung :
• langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
• langkah 1 : Kerjakan langkah 2 untuk i = 1 sampai N-1
• langkah 2 : Kerjakan langkah 3 untuk j = 1 sampai N- i
• langkah 3 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini
• langkah 4 : Selesai
berikut adalah contoh program yg saya buat. .
program buble;sayangnya running programnya kelupaan, ketinggal di laptop, hohohohoho, ,
uses Crt;
type ArrInt = array [1..100] of integer;
var data : arrInt;
i, n : integer; pil : integer;
Procedure TukarData(var a,b : integer);
var c : integer;
Begin
c:=a;
a:=b;
b:=c;
end;
Procedure bubblesort_asc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] > data[j+1] then
Tukardata (data[j], data[j+1]);
end;
Procedure bubblesort_desc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] < data[j+1] then
Tukardata (data[j], data[j+1]);
end;
begin
clrscr;
writeln('====BUBBLE SORT====');
writeln('1.Masukan Data');
writeln('2.Sort ascending');
writeln('3.Sort Descending');
writeln('4.keluar');
while pil <> 4 do begin
write('masukan pilihan menu 1/2/3/4 '); readln(pil);
case pil of
1 : begin
write('masukan jumlah data : '); readln(n);
for i:=1 to N do
begin
write('data ke ',i, ': '); readln (data[i]);
end;
writeln;
end;
2 : begin
writeln('pengurutaaann, , , ,');
writeln('secara ascending : ');
Bubblesort_asc(data, n);
for i:=1 to n do
writeln(data[i]);
writeln;
end;
3 : begin
writeln('pengurutaaann, , , ,');
writeln('secara descending : ');
bubblesort_desc(data, n);
for i:=1 to n do
writeln(data[i]);
writeln;
end;
end;
end;
readln;
end.
run sendiri yak :p
0 comments:
Posting Komentar
silahkan berkomentarrrrr