Algoritma Bubble Sort dan Contoh Program C++

Assalamu'alaikum...

Sorting (pengurutan) merupakan algoritma untuk melakukan pengurutan data berdasarkan kategori tertentu.

Beberapa metode sorting antara lain adalah:

  1. Bubble Sort 
  2. Quick Sort 
  3. Shell Sort 
  4. Selection Sort
  5. Insert Sort
  6. Merge Sort
Kali ini akan dibahas mengenai contoh program sorting data dengan Bubble Sort.


Bubble Sort merupakan algoritma sorting data yang paling sederhana. Mari lihat gambaran dari algoritma ini.


for i = 0 to n-1 do
    for j = i+1 to n do
        if data[i] > data[j] then
            temp = data[i]
            data[i]=data[j]
            data[j]=temp
        endif
    endfor
endfor


contohnya ada 5 data yang tersimpan dalam array dan cba perhatikan bagaimana algoritma ini bekerja.

data[5] = {10,40,20,12,15};

Langkah penyelesaian :
  1. Langkah pertama membadingkan data[0] dengan data[1]. Jika data[0] lebih besar maka pindahkan nilai data[0] ke data[1] dan sebaliknya.
  2. data[0] terus dibandingkan dengan data-data selanjutnya yaitu data[2],data[3] dan data[4] hingga data[0] terisi oleh nilai paling kecil.
  3. Setelah data[0] selesai dibandingkan dengan semua data maka selanjutnya membandingkan data[1] dengan data[2], data[3], dan data[4] seperti proses sebelumnya hingga data[1] terisi oleh nilai terkecil kedua.
  4.  Begitu seterusnya hingga data menjadi terurut.

Ilustrasi :

Tahap 1

Tahap 2


Tahap 3


Tahap 4


Tahap 5



Setelah memahami mengenai algoritma bubble sort selanjutnya coba perhatikan contoh program berikut ini :

#include<iostream>
using namespace std;
void bubbleSort(int data[], int n){
    int temp;
 for (int i = 0; i < n-1; i++)
    {
    for (int j = i+1; j < n; j++)
    {
        if (data[i]>data[j])
        {
            temp = data[i];
            data[i]=data[j];
            data[j]=temp;
        }   
        
    }
    }
}
int main(){
    int length;
    cout<<"Input jumlah elemen array : ";
    cin>>length;
    int data[length];
    for (int i = 0; i < length; i++)
    {
        cout<<"Nilai elemen ke-"<<i<<" = ";
        cin>>data[i];
    }cout<<endl;

    cout<<"Data belum terurut : "<<endl;
    for (int i = 0; i < length; i++)
    {
        cout<<data[i]<<" ";
    }cout<<endl;

    bubbleSort(data,length);
    cout<<"Data sudah terurut : "<<endl;
    for (int i = 0; i < length; i++)
    {
        cout<<data[i]<<" ";
    }cout<<endl;
        
}


Hasil output:

Output bubble sort 


Nah bagaimana mudah dipahami bukan?

Jika sobat punya studi kasus mengenai mengurutkan data didalam struct atau array string boleh komen dibawah ya, agar dapat dibahas pada postingan-postingan selanjutnya :)

Semoga bermanfaat. Terimakasih

Post a Comment for "Algoritma Bubble Sort dan Contoh Program C++"