Quran Explorer - [Sura : 1, Verse : 1 - 7]

Thursday, April 29, 2010

Algoritma Bubble Sort untuk Pengurutan (Sorting)

Pengurutan merupakan salah satu proses dasar yang sering dibahas dalam algoritma dan struktur data. Dan salah satu algoritma klasik dan paling sederhana dalam halpengurutan (sorting) adalah algoritma Bubble Sort. Terlepas dari beberapa kekurangan yang membuat algoritma ini tidak banyak digunakan dalam proses pengurutan di aplikasi, namun tidak bisa dipungkiri, algoritma ini boleh dikatakan sebagai pioniralgoritma sorting. Di dalam matakuliah Algoritma dan Struktur Data di berbagai perguruan tinggi juga bisa dipastikan memasukkan konsep pengurutan menggunakan algoritma Bubble sebagai salah satu pokok bahasan.
Untuk itulah, saya rasa tidak ada salahnya untuk sedikit membahas mengenai algoritma bubble sort ini. Tentunya disertai contoh program sederhana yang menerapkan pengurutan menggunakanalgoritma bubble sortContoh program akan disajikan dalam Bahasa C dan PHP.
Algoritma bubble sort dalam proses pengurutan data secara sederhana bisa diibaratkan seperti halnya gelembung udara (bubble). 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).

Berikut ini algoritma Bubble Sort yang saya kutip dari Wikipedia:
Code block   
procedure bubbleSort( A : list of sortable items ) defined as:
  do
    swapped := false
    for each i in 0 to length(A) - 2 inclusive do:
      if A[i] > A[i+1] then
        swap( A[i], A[i+1] )
        swapped := true
      end if
    end for
  while swapped
end procedure

Contoh penerapan Algoritma Bubble Sort dalam Bahasa C

Code block   
#include "stdio.h"
#include "conio.h"
#define n 7
void main()
{
 int A[n] = {15,10,7,22,17,5,12};
 int X, I, K;
 printf("Sebelum di-sort\n");
 for (I=0; I <= n-1; I++)
  printf("%3i", A[I]);
 printf("\n");
 
 K=0;
 while(K<=n-2)
 {
  I=0;
  while(I<=n-2 - K)
  {
   if (A[I] > A[I+1])
   {
    X = A[I];
    A[I] = A[I+1];
    A[I+1] = X;
   }
   I++;
  }
  K++;
 }
 printf("Sesudah di-sort\n");
 for (I=0; I<= n-1; I++)
  printf("%3d", A[I]);
}

Contoh penerapan Algoritma Bubble Sort dalam PHP

Code block   
php
define ("n", 7);
$A = array(15,10,7,22,17,5,12);
echo "

Sebelum di-sort

"; for ($I=0; $I <= n-1; $I++) echo "$A[$I] ";   $K=0; while($K<=n-2) { $I=0; while($I<=n-2 - $K) { if ($A[$I] > $A[$I+1]) { $X = $A[$I]; $A[$I] = $A[$I+1]; $A[$I+1] = $X; } $I++; } $K++; } echo "

Sesudah di-sort

"; for ($I=0; $I<= n-1; $I++) echo "$A[$I] "; ?>
semua dipublikasikan di situs resminya, Achmatim.Net

0 comments:

Post a Comment

 
Powered by Mirtokom Company