til / 5 Sep 2026 / 3 min read / 0 views
Algoritma Bubble Sort
Di dunia software engineering dan struktur data, Bubble Sort adalah salah satu algoritma pengurutan (sorting) paling klasik yang hampir selalu dipelajari pertama kali saat belajar algoritma.
Meskipun sederhana, memahami cara kerjanya memberikan fondasi penting tentang bagaimana komputer memproses logika perbandingan secara berurutan.
FYI:
1. Kenapa Dinamakan "Bubble"?
Disebut Bubble Sort (Pengurutan Gelembung) karena cara kerjanya mirip gelembung udara di dalam air. Elemen yang nilainya paling besar akan pelan-pelan "terapung" atau bergeser naik ke posisi paling akhir di setiap iterasi/putaran.
2. Cara Kerja (Prinsip Perbandingan Berdampingan)
Algoritma ini bekerja dengan membandingkan dua elemen yang berdampingan (adjacent elements) dari kiri ke kanan:
- Bandingkan elemen pertama dengan elemen kedua.
- Jika elemen pertama lebih besar dari elemen kedua, tukar posisinya (swap).
- Pindah ke pasangan berikutnya dan ulangi proses yang sama sampai ke ujung array.
- Setelah putaran pertama selesai, elemen terbesar dipastikan sudah berada di posisi paling kanan (posisi akhir).
- Ulangi seluruh proses untuk sisa elemen yang belum terurut.
3. Analisis Kompleksitas Kinerja
- Worst-case & Average-case Time Complexity: O(n²)
- Menggunakan nested loop (perulangan bersarang). Jika ada n data, komputer bisa melakukan hingga n × n perbandingan. Karena alasan ini, Bubble Sort sangat lambat dan tidak efisien untuk data berukuran besar.
- Best-case Time Complexity: O(n)
- Bisa dicapai jika array sudah terurut dari awal dan ditambah flag optimization (berhenti jika dalam satu putaran tidak ada swap sama sekali).
- Space Complexity: O(1)
- Merupakan in-place sorting algorithm, artinya tidak membutuhkan memori tambahan yang signifikan karena pertukaran dilakukan langsung di dalam array asal.
4. Kapan Menggunakan Bubble Sort?
- Pendidikan/Edukasi: Sangat bagus untuk memahami konsep dasar pengurutan data dan logika pemikiran algoritma.
- Dataset Sangat Kecil: Cukup cepat jika jumlah data hanya sedikit (misal kurang dari 10-20 elemen).
- Untuk Industri Real-World? Jarang sekali dipakai di aplikasi production. Pengembang lebih memilih algoritma O(n log n) yang jauh lebih cepat seperti Quick Sort, Merge Sort, atau fungsi
.sort()bawaan language runtime (seperti V8 JavaScript atau Python Timsort).