Program Buble_Sort;
USES Crt;
VAR
n, i, j,x, y : integer;
data,Data1,data2 : Array [1..50] of integer ;
BEGIN
clrscr;
randomize;
Write ('Masukkan banyak data : '); Readln (n);writeln;
write('Data Masukan : ');
For i:= 1 to n do
BEGIN
Data1[i]:=random(100);
Data2[i]:=data1[i];
Write(' ', Data1[i]);
End;
{Proses Mengurutkan Data Ascending}
For i:= 1 to n do
Begin
For j:= n downto i do
If Data1[i]>Data1[j] then
Begin
x:=Data1[i];
Data1[i]:=Data1[j];
Data1[j]:=x;
End;
End;
Writeln;
{Proses Mengurutkan Data Descending}
For i:= 1 to n do
Begin
For j:= n downto i do
If Data2[i]<Data2[j] then
Begin
y:=Data2[i]; {Simpan Data ke-i sbg bil Terkecil}
Data2[i]:=Data2[j]; {Tukar posisi Data}
Data2[j]:=y;
End;
End;
{Cetak Hasil Urutan Data Descending}
write('Data Ascending : ');
For i:= 1 to n do
Write(' ', Data1[i]);
writeln;
{Cetak Hasil Urutan Data Ascending}
write('Data Descending : ');
For i:= 1 to n do
Write (' ', Data2[i]);
readln;
END.

Contoh Program buble sort dari belakang

  • 1.
    Program Buble_Sort; USES Crt; VAR n,i, j,x, y : integer; data,Data1,data2 : Array [1..50] of integer ; BEGIN clrscr; randomize; Write ('Masukkan banyak data : '); Readln (n);writeln; write('Data Masukan : '); For i:= 1 to n do BEGIN Data1[i]:=random(100); Data2[i]:=data1[i]; Write(' ', Data1[i]); End; {Proses Mengurutkan Data Ascending} For i:= 1 to n do Begin For j:= n downto i do If Data1[i]>Data1[j] then Begin x:=Data1[i]; Data1[i]:=Data1[j]; Data1[j]:=x;
  • 2.
    End; End; Writeln; {Proses Mengurutkan DataDescending} For i:= 1 to n do Begin For j:= n downto i do If Data2[i]<Data2[j] then Begin y:=Data2[i]; {Simpan Data ke-i sbg bil Terkecil} Data2[i]:=Data2[j]; {Tukar posisi Data} Data2[j]:=y; End; End; {Cetak Hasil Urutan Data Descending} write('Data Ascending : '); For i:= 1 to n do Write(' ', Data1[i]); writeln; {Cetak Hasil Urutan Data Ascending} write('Data Descending : '); For i:= 1 to n do Write (' ', Data2[i]); readln; END.