Algoritma Buble Sort

Posted by Admin on 17 Mei 2019, 18:04 sorting, algoritma, buble sort, buble sort php

Algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan. Algoritma ini menggunakan strategi langsung dengan membandingkan semua posisi dan melakukan pertukaran

Untuk belajar algoritma Bubble Sort ini kita hanya perlu memahami cara yang digunakan untuk mengurutkan data, sederhananya algoritma ini menggunakan perbandingan dalam operasi antar elemennya

Simulasi Penukaran

Contoh Perhitungan

Angka : 3, 1, 4, 2, 8

Proses pengurutan Pertama

  1. Bandingkan angka index ke-0 (angka 3) dan ke-1 (angka 1), karena index ke-0 lebih besar dari index ke-1 maka tukar posisinya sehingga menjadi 1, 3, 4, 2, 8
  2. Bandingkan angka index ke-1 (angka 3) dan ke-2 (angka 4), karena index ke-1 lebih kecil dari index ke-2 maka posisi tetap sama menjadi 1, 3, 4, 2, 8
  3. Bandingkan angka index ke-2 (angka 4) dan ke-3 (angka 2), karena index ke-2 lebih besar dari index ke-3 maka tukar posisinya sehingga menjadi 1, 3, 2, 4, 8
  4. Bandingkan angka index ke-3 (angka 4) dan ke-4 (angka 8), karena index ke 3 lebih kecil dari index ke 4 maka posisi tetap sama menjadi 1, 3, 2, 4, 8

Proses pengurutan Kedua dan Ketiga, lakukan perbandingan yang sama seperti proses Pertama.

Berikut Proses pengurutan keseluruhannya :

Proses pertama

  • 1, 3, 4, 2, 8
  • 1, 3, 4, 2, 8
  • 1, 3, 2, 4, 8
  • 1, 3, 2, 4, 8

Proses kedua

  • 1, 3, 2, 4, 8
  • 1, 2, 3, 4, 8
  • 1, 2, 3, 4, 8

Proses ketiga

  • 1, 2, 3, 4, 8
  • 1, 2, 3, 4, 8

Jika kita perhatikan proses diatas, para proses kedua data sudah terurut dengan benar. Tetapi algoritma Bubble Sort tetap berjalan hingga proses kedua berakhir. Proses ketiga masih terus berjalan karena pada algoritma Bubble Sort maksud terurut itu adalah tidak ada satupun penukaran pada suatu proses. Proses ketiga ini dilakukan untuk verifikasi data.

Algoritma Bubble Sort ini mempunyai kelebihan dan kekurangan, untuk kelebihannya metode ini merupakan metode paling sederhana untuk mengurutkan data. Selain sederhana, algoritma Bubble Sort mudah dipahami. Sementara itu, kekurangannya terletak pada efisiensi. Bubble Sort ini merupakan metode pengurutan yang tidak efisien karena ketika mengurutkan data yang sangat besar akan sangat lambat prosesnya. Selain itu, jumlah pengulangan akan tetap sama jumlahnya meskipun data sudah cukup terurut.

Source Code Buble Sort PHP

//function buble sort
function bubble_sort($arr) {
    $size = count($arr)-1;
    for ($i=0; $i<$size; $i++) {
        for ($j=0; $j<$size-$i; $j++) {
            $k = $j+1;
            if ($arr[$k] < $arr[$j]) {
                // Swap elements at indices: $j, $k
                list($arr[$j], $arr[$k]) = array($arr[$k], $arr[$j]);
            }
        }
    }
    return $arr; //kembalikan nilai yang sudah disorting
}
//end bubble sort
 
//Contoh Penggunaan
$arr = array(1,3,2,8,5,7,4,0); //data angka yang akan disorting
$arr = bubble_sort($arr); //gunakan fungsi sorting
 
//tampilkan hasil sorting
print_r($arr); 

Demo Program dapat dilihat disini