Lompat ke konten Lompat ke sidebar Lompat ke footer

Bubble Sort di C++: Pengertian, Cara Kerja, dan Contoh Program

Dalam dunia pemrograman, mengurutkan data adalah salah satu tugas yang paling sering dihadapi oleh para programmer. Ada banyak algoritma pengurutan yang bisa digunakan, dan salah satunya adalah Bubble Sort. Artikel ini akan memberikan penjelasan mendalam tentang Bubble Sort di C++, mulai dari pengertian, cara kerja, hingga contoh program.
Bubble Sort di C++
Bubble Sort di C++

Pengertian Bubble Sort

Bubble Sort adalah salah satu algoritma pengurutan paling sederhana. Meski tidak efisien untuk jumlah data yang besar, algoritma ini sangat mudah dipahami dan diimplementasikan. Dalam Bubble Sort, elemen-elemen di dalam sebuah array dibandingkan dan ditukar secara berulang hingga array tersebut terurut sepenuhnya.

Cara Kerja Bubble Sort

Cara kerja dari Bubble Sort cukup sederhana. Dalam setiap iterasinya, algoritma ini akan membandingkan elemen yang bersebelahan dan menukarnya jika mereka tidak berada dalam urutan yang benar. Proses ini diulang hingga tidak ada elemen yang perlu ditukar, menandakan bahwa array sudah terurut.
  1. Iterasi Pertama: Bandingkan elemen pertama dan kedua. Jika elemen pertama lebih besar dari elemen kedua, tukar posisinya.
  2. Iterasi Kedua: Bandingkan elemen kedua dan ketiga, lakukan hal yang sama.
  3. Iterasi Selanjutnya: Ulangi proses hingga elemen terakhir dari array.


Contoh Program Bubble Sort di C++

Mengimplementasikan algoritma Bubble Sort di bahasa pemrograman C++ cukup sederhana tetapi membutuhkan perhatian terhadap beberapa detail. Mari kita bahas implementasinya melalui kode program berikut, lalu kita akan membahas setiap komponen dari kode tersebut.
#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]) {
                // menukar arr[j] dan arr[j+1]
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

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

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

    return 0;
}
Output
Array yang telah diurutkan: 11 12 22 25 64 

Penjelasan Program

Header dan Namespace: Kita menggunakan header <iostream> untuk operasi input-output dan using namespace std agar kita tidak perlu menulis std:: sebelum setiap fungsi bawaan C++.
#include <iostream>
using namespace std;

Fungsi bubbleSort: Fungsi ini adalah inti dari algoritma Bubble Sort di C++. Ini mengambil array arr dan ukurannya n sebagai parameter.
void bubbleSort(int arr[], int n) {

Loop Eksternal: Loop ini berfungsi untuk memastikan bahwa setiap elemen di array telah diurutkan setidaknya sekali. Itu berjalan dari i=0 hingga n-1.
for(int i = 0; i < n-1; i++) {

Loop Internal: Loop ini melakukan operasi sebenarnya dari pengurutan. Di sini, elemen yang berdekatan dibandingkan dan ditukar jika perlu.
for(int j = 0; j < n-i-1; j++) {

Penukaran Elemen: Jika elemen pada posisi j lebih besar dari elemen pada posisi j+1, maka mereka ditukar. Ini adalah esensi dari algoritma Bubble Sort.
if(arr[j] > arr[j+1]) {
    // menukar arr[j] dan arr[j+1]
    int temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
}

Fungsi main: Ini adalah titik masuk dari program. Array yang akan diurutkan didefinisikan di sini dan fungsi bubbleSort dipanggil.

Dengan memahami setiap komponen kode program ini, Anda akan mendapatkan pemahaman yang lebih baik tentang bagaimana implementasi Bubble Sort di C++ bekerja.

Kelebihan dan Kekurangan Bubble Sort

Kelebihan Bubble Sort:
  • Mudah diimplementasikan
  • Efektif untuk data yang sudah hampir terurut
Kekurangan Bubble Sort:
  • Tidak efisien untuk data yang jumlahnya besar
  • Pada umumnya lebih lambat dibanding algoritma sortin lainnya


Bubble Sort di C++ adalah algoritma pengurutan yang mudah dipahami dan diimplementasikan, meski kurang efisien untuk data berukuran besar. Algoritma ini sangat cocok untuk mereka yang baru belajar tentang algoritma sorting dan implementasinya dalam bahasa pemrograman.

Daftar Pustaka
  • Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2021). Introduction to Algorithms (4th ed.). MIT Press.
  • Sedgewick, R., & Wayne, K. (2020). Algorithms (4th ed.). Addison-Wesley Professional. 

Sekian penjelasan lengkap mengenai Bubble Sort di C++, semoga bermanfaat bagi Anda yang sedang mempelajari algoritma sorting / pengurutan dan pemrograman C++.

MateriDosen.Com

Posting Komentar untuk "Bubble Sort di C++: Pengertian, Cara Kerja, dan Contoh Program"