Array Sorting C++ Bubble Sort

4 min read Jun 28, 2024
Array Sorting C++ Bubble Sort

Pengurutan Array di C++ dengan Bubble Sort

Bubble Sort adalah algoritma pengurutan sederhana yang bekerja dengan membandingkan elemen yang berdekatan dalam array dan menukarnya jika tidak dalam urutan yang benar. Proses ini diulang hingga seluruh array terurut.

Cara Kerja Bubble Sort

  1. Iterasi: Algoritma ini mengulangi seluruh array dari awal hingga akhir.
  2. Perbandingan: Pada setiap iterasi, elemen yang berdekatan dibandingkan.
  3. Penukaran: Jika elemen yang berada di sebelah kiri lebih besar dari elemen yang berada di sebelah kanan, kedua elemen tersebut ditukar.
  4. Ulangi: Proses ini diulang untuk setiap elemen dalam array.
  5. Iterasi Berkurang: Pada setiap iterasi selanjutnya, elemen terbesar akan terdorong ke akhir array, sehingga iterasi berikutnya tidak perlu membandingkan elemen-elemen di bagian akhir.

Implementasi Bubble Sort dalam C++

#include 

using namespace std;

// Fungsi untuk mengurutkan array menggunakan Bubble Sort
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]) {
        swap(arr[j], arr[j + 1]);
      }
    }
  }
}

// Fungsi untuk menampilkan elemen array
void printArray(int arr[], int size) {
  for (int i = 0; i < size; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
}

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

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

  bubbleSort(arr, n);

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

  return 0;
}

Keunggulan dan Kekurangan Bubble Sort

Keunggulan:

  • Sederhana dan mudah dipahami: Algoritma ini mudah diimplementasikan dan dipahami.
  • Stabil: Bubble Sort adalah algoritma pengurutan yang stabil, yang berarti elemen-elemen dengan nilai yang sama akan mempertahankan urutan aslinya dalam array yang terurut.

Kekurangan:

  • Tidak efisien: Bubble Sort memiliki kompleksitas waktu O(n^2), yang berarti waktu yang dibutuhkan untuk mengurutkan array meningkat secara kuadrat dengan ukuran array.
  • Lambat untuk data yang besar: Algoritma ini tidak cocok untuk mengurutkan array yang besar karena waktu eksekusi akan sangat lama.

Kesimpulan

Bubble Sort adalah algoritma pengurutan yang sederhana dan mudah dipahami. Namun, algoritma ini tidak efisien untuk array yang besar. Untuk aplikasi praktis, algoritma pengurutan yang lebih efisien seperti Merge Sort, Quick Sort, atau Heap Sort lebih baik digunakan.