Untuk itulah, saya rasa tidak ada salahnya untuk sedikit membahas mengenai algoritmabubble sort ini. Tentunya disertai contoh program sederhana yang menerapkan pengurutan menggunakan algoritma bubble sort. Contoh 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 ataudescending) 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:
-
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
-
#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
-
<?php
-
define ("n", 7);
-
$A = array(15,10,7,22,17,5,12);
-
echo "<h1>Sebelum di-sort</h1>";
-
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 "<h1>Sesudah di-sort</h1>";
-
for ($I=0; $I<= n-1; $I++)
-
echo "$A[$I] ";
-
?>
Demikian sedikit penjelasan saya mengenai bubble sort, semoga bermanfaat.
Tidak ada komentar:
Posting Komentar