Achmatim.Net



« | »

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 hal pengurutan (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 pionir algoritma 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 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 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:

  1. procedure bubbleSort( A : list of sortable items ) defined as:
  2. do
  3. swapped := false
  4. for each i in 0 to length(A) - 2 inclusive do:
  5. if A[i] > A[i+1] then
  6. swap( A[i], A[i+1] )
  7. swapped := true
  8. end if
  9. end for
  10. while swapped
  11. end procedure

Contoh penerapan Algoritma Bubble Sort dalam Bahasa C

  1. #include "stdio.h"
  2. #include "conio.h"
  3. #define n 7
  4. void main()
  5. {
  6. int A[n] = {15,10,7,22,17,5,12};
  7. int X, I, K;
  8. printf("Sebelum di-sort\n");
  9. for (I=0; I <= n-1; I++)
  10. printf("%3i", A[I]);
  11. printf("\n");
  12.  
  13. K=0;
  14. while(K<=n-2)
  15. {
  16. I=0;
  17. while(I<=n-2 - K)
  18. {
  19. if (A[I] > A[I+1])
  20. {
  21. X = A[I];
  22. A[I] = A[I+1];
  23. A[I+1] = X;
  24. }
  25. I++;
  26. }
  27. K++;
  28. }
  29. printf("Sesudah di-sort\n");
  30. for (I=0; I<= n-1; I++)
  31. printf("%3d", A[I]);
  32. }

Contoh penerapan Algoritma Bubble Sort dalam PHP

  1. <?php
  2. define ("n", 7);
  3. $A = array(15,10,7,22,17,5,12);
  4. echo "<h1>Sebelum di-sort</h1>";
  5. for ($I=0; $I <= n-1; $I++)
  6. echo "$A[$I] ";
  7.  
  8. $K=0;
  9. while($K<=n-2)
  10. {
  11. $I=0;
  12. while($I<=n-2 - $K)
  13. {
  14. if ($A[$I] > $A[$I+1])
  15. {
  16. $X = $A[$I];
  17. $A[$I] = $A[$I+1];
  18. $A[$I+1] = $X;
  19. }
  20. $I++;
  21. }
  22. $K++;
  23. }
  24. echo "<h1>Sesudah di-sort</h1>";
  25. for ($I=0; $I<= n-1; $I++)
  26. echo "$A[$I] ";
  27. ?>

Berikut ini video simulasi algoritma bubble sort dari Youtube.


Semoga bermanfaat dan maju terus ilmu pengetahuan Indonesia!

Posted by on April 19, 2010.

Tags: , ,

Categories: PHP

10 Responses

  1. [...] This post was mentioned on Twitter by achmatim. achmatim said: Algoritma Bubble Sort untuk Pengurutan (Sorting) – http://singkat.web.id/bubblesort [...]

    by Tweets that mention Algoritma Bubble Sort untuk Pengurutan (Sorting) dari Achmatim.Net -- Topsy.com on Apr 20, 2010 at 14:01

  2. nice post  :)

    by yohan on Jun 11, 2010 at 11:56

  3. mas, makasih tutorialnya

    tapi saya masih newbie jadi saya bingung soalnya gak ada comment d setiap linenya terutama PHP, soalnya saya lagi mau dalemin PHP

    mas kl ga keberatan tolong jelasin per-linenya (PHP), tar tolong kabarin saya / email ke saya

    terima kasih

    by ariz on Sep 11, 2011 at 19:37

  4. terimakasih kang gara gara tulisan akang ini saya terbantu dalam mengerjakan tugas, walaupun belum mengerti sepenuhnya

    by crowdXword on Dec 15, 2011 at 09:14

  5. terimakasih kang, tulisan akang sangat membntu ane dalam membuat tugas, walaupun ane belum terlalu ngerti

    by crowdXword on Dec 15, 2011 at 09:22

  6. sip.. makasih mas…

    by Messaink on May 18, 2012 at 17:33

  7. tanks info’y bermanfaat bgt…

    by rofi on May 25, 2012 at 11:01

  8. pak, mau tanya, klo mau menyisipkan seperti notepad di page itu bagaimana pak?mohon bantuannya. Terima kasih.^^

    by adek-shinichi on Sep 22, 2012 at 21:41

  9. bukannya tinggal pake tag “textarea” ?

    by Achmad Solichin on Sep 25, 2012 at 11:12

  10. thanks om..

    ane ada tugas algoritma & struktur data, disuruh buat bubble sort 6 digit angka descending..

    by dedymuswar on May 31, 2013 at 22:44

Leave a Reply

 

« | »




Recent Posts


Pages