Hi, Akwan 👋

Mengenal Bubble Sort

March 27, 2020

Halo, pada blog kali ini kita akan membahas salah satu metode sorting/pengurutan yang cukup terkenal yaitu bubble sorting(penyortiran gelembung).

Photo by Johann Rösch on Unsplash

Sebelumnya apasih sorting / pengurutan. Dalam sehari-hari kita bisa mengartikan pengurutan adalah suatu proses di mana kita mengurutkan sebuah benda atau objek dari yang besar ke kecil maupun dari kecil ke besar. cara manusia untuk mengerutkan sangat mudah karna manusia mampu melihat objek tersebut lalu bisa langsung tau yang mana besar yang mana kecil, tapi berbeda dengan komputer. Di komputer perlu membuatkan suatu logika atau algoritma agar komputer mampu memahami maksud dari program tersebut.

Oke, setelah kita mengenal sedikit tentang pengurutan mari kita membahas mengenai bubble sort. Bubble sort adalah salah satu algoritma yang berguna untuk melakukan pengurutan. Kenapa dinamakan Bubble sort ? hal ini disebabkan oleh cara kerja dari pengurutan ini dimana dia menggunakan konsep bubble/gelembung dalam pengurutannya. data diartikan sebagai suatu gelembung lalu setiap gelembung yang naik ke permukaan akan dibandingkan sehingga akan menghasilkan suatu urutan dari yang tinggi ke rendah maupun sebaliknya.

Algoritma Bubble Sorting

  1. Periksa Nilai dari indeks pertama lalu bandingkan dengan nilai indeks diatasnya
  2. Jika nilai indeks diatasnya lebih kecil tukar
  3. Jika tidak maka indeks pindah ke indeks diatasnya
  4. Ulang perulangan hingga perulangan sama dengan indeks n2 dengan nested loop

Berikut adalah contoh penerapan bubble sorting di javascript

const bubble_sort = (arr) => {
  let temp;
  if (!Array.isArray(arr)) {
    throw new Error("Data must be array");
  }
  let len = arr.length - 1;
  for (let i = 0; i < len; i++) {
    for (let j = 0; j < len; j++) {
      if (arr[j] > arr[j + 1]) {
        temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
};

oke sekian pembahasan mengenai bubble sorting semoga bermanfaat, terima kasih.