bubble sort

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


  1. Bandingkan posisi data i = 0 dan j = 1
  2. 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.
  3. 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
  4. 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.

    Output program


    
    
    
    

    Post a Comment