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:
- Bubble Sort
 - Quick Sort
 - Shell Sort
 - Selection Sort
 - Insert Sort
 - 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 :
- Langkah pertama membadingkan data[0] dengan data[1]. Jika data[0] lebih besar maka pindahkan nilai data[0] ke data[1] dan sebaliknya.
 - data[0] terus dibandingkan dengan data-data selanjutnya yaitu data[2],data[3] dan data[4] hingga data[0] terisi oleh nilai paling kecil.
 - 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.
 - Begitu seterusnya hingga data menjadi terurut.
 
Ilustrasi :
Tahap 1
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:
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++"
Post a Comment
Terimakasih