Contoh Program Bubble Sort C++ (Lengkap dengan Penjelasan)

By | August 15, 2025
Bubble Sort adalah salah satu algoritma pengurutan paling sederhana yang sering dipelajari dalam materi dasar algoritma pemrograman. Walaupun tidak seefisien algoritma sorting lain seperti Quick Sort atau Merge Sort, Bubble Sort tetap penting untuk dipahami karena konsepnya mudah dimengerti.

2. Apa itu Bubble Sort?

Bubble Sort adalah algoritma pengurutan yang bekerja dengan cara menukar elemen berdekatan apabila tidak dalam urutan yang benar. Proses ini diulang sampai tidak ada lagi pertukaran yang diperlukan.

3. Cara Kerja Bubble Sort

Cara kerja Bubble Sort bisa diilustrasikan seperti “gelembung” yang naik ke permukaan:

  1. Bandingkan elemen pertama dengan elemen kedua.
  2. Jika elemen pertama lebih besar, tukar posisi.
  3. Lanjutkan ke elemen berikutnya sampai akhir array.
  4. Ulangi langkah di atas sampai array benar-benar terurut.

4. Contoh Program Bubble Sort C++


#include <iostream>
using namespace std;

void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                // Tukar elemen
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
}

int main() {
    int data[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(data)/sizeof(data[0]);

    cout << "Array sebelum diurutkan: ";
    printArray(data, n);

    bubbleSort(data, n);

    cout << "Array setelah diurutkan: ";
    printArray(data, n);

    return 0;
}
  

5. Penjelasan Kode Program

  • bubbleSort() → fungsi utama untuk melakukan proses pengurutan.
  • for luar → mengatur jumlah perulangan sebanyak n-1 kali.
  • for dalam → membandingkan setiap elemen bersebelahan.
  • if (arr[j] > arr[j+1]) → logika pertukaran.
  • printArray() → untuk menampilkan hasil sebelum dan sesudah sorting.

6. Kompleksitas Waktu dan Ruang

  • Best Case: O(n) → jika array sudah terurut.
  • Worst Case: O(n²) → jika array terbalik urutannya.
  • Space Complexity: O(1) → karena hanya menggunakan variabel tambahan sederhana.

7. Kesimpulan

Bubble Sort mudah dipahami dan diimplementasikan, meskipun tidak cocok untuk data besar karena performanya relatif lambat. Algoritma ini sangat cocok sebagai langkah awal mempelajari konsep sorting di pemrograman C++.

8. FAQ

Q: Apakah Bubble Sort lebih cepat dari Quick Sort?
A: Tidak, Bubble Sort lebih lambat karena kompleksitasnya O(n²), sedangkan Quick Sort rata-rata O(n log n).

Q: Kapan sebaiknya menggunakan Bubble Sort?
A: Bubble Sort cocok digunakan untuk dataset kecil dan tujuan pembelajaran algoritma dasar.

Q: Bisa tidak Bubble Sort digunakan untuk string?
A: Bisa, asalkan string dibandingkan dengan metode lexicographical (kamus).

Leave a Reply

Your email address will not be published. Required fields are marked *