Adityads Blogs
10:22
0
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