Array Sorting Bubble Sort C++

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

Pengurutan Array dengan Bubble Sort dalam C++

Bubble sort adalah algoritma pengurutan sederhana yang bekerja dengan membandingkan elemen-elemen yang berdekatan dalam array dan menukarnya jika tidak dalam urutan yang diinginkan. Algoritma ini berulang kali melakukan proses ini sampai semua elemen terurut.

Cara Kerja Bubble Sort

  1. Perulangan: Algoritma melakukan perulangan melalui array dari awal hingga akhir.
  2. Perbandingan: Dalam setiap iterasi, algoritma membandingkan dua elemen berdekatan.
  3. Penukaran: Jika elemen pertama lebih besar dari elemen kedua (jika pengurutan dilakukan dalam urutan menaik), kedua elemen tersebut ditukar.
  4. Ulangi: Proses perbandingan dan penukaran diulang untuk setiap pasang elemen berdekatan dalam array.
  5. Iterasi: Algoritma melakukan iterasi melalui array lagi, dan proses diulang hingga tidak ada penukaran yang terjadi pada satu iterasi. Ini menunjukkan bahwa array telah terurut.

Implementasi Bubble Sort dalam C++

#include 

using namespace std;

void bubbleSort(int arr[], int n) {
  // Perulangan luar
  for (int i = 0; i < n - 1; i++) {
    // Perulangan dalam untuk membandingkan dan menukar elemen
    for (int j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        // Penukaran elemen
        int temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
}

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

  cout << "Array sebelum diurutkan: \n";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }

  bubbleSort(arr, n);

  cout << "\nArray setelah diurutkan: \n";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }

  return 0;
}

Penjelasan Kode:

  • bubbleSort(int arr[], int n): Fungsi ini menerima array (arr) dan ukurannya (n) sebagai input.
  • Perulangan Luar: Perulangan luar for iterasi melalui array dari awal hingga akhir.
  • Perulangan Dalam: Perulangan dalam for membandingkan dan menukar elemen berdekatan.
  • Penukaran: Jika elemen pertama lebih besar dari elemen kedua, mereka ditukar menggunakan variabel sementara temp.
  • Fungsi main(): Fungsi utama ini mendeklarasikan array, mencetak array sebelum diurutkan, memanggil fungsi bubbleSort() untuk mengurutkan array, dan mencetak array setelah diurutkan.

Kompleksitas Bubble Sort

  • Kompleksitas Waktu: Bubble sort memiliki kompleksitas waktu O(n^2) dalam kasus terburuk dan rata-rata. Ini berarti bahwa waktu yang dibutuhkan untuk mengurutkan array meningkat secara kuadrat dengan jumlah elemen.
  • Kompleksitas Ruang: Bubble sort memiliki kompleksitas ruang O(1), karena hanya menggunakan jumlah ruang konstan tambahan.

Kekurangan Bubble Sort

  • Bubble sort adalah algoritma yang relatif lambat, terutama untuk dataset besar.
  • Itu tidak efisien untuk dataset yang sudah sebagian besar terurut.

Kesimpulan

Bubble sort adalah algoritma pengurutan sederhana yang mudah dipahami dan diimplementasikan, tetapi tidak efisien untuk dataset besar. Algoritma pengurutan yang lebih canggih seperti merge sort atau quick sort lebih cocok untuk dataset besar.

Latest Posts