Sistem Informasi Regular 2013
Universitas Sriwijaya
Assalamu'alaikum wr wb.
Kali ini saya akan memberi sedikit ilmu tentang Bubble Sort sebelumnya kita cari tau dulu apa itu bubble sort baru kita coba programnya.
PENGERTIAN
Bubble Sort (metode gelembung) adalah salah satu algoritma untuk
sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang
terkecil atau sebaliknya. Metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan
tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu
iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti
data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci
akan dengan lambat menggelembung ke posisinya yang tepat.
Berikut ini adalah gambaran dari algoritma bubble sort. Misalkan kita mempunyai sebuah array dengan. Elemen-elemen “5 1 7 4 9”. Proses yang akan terjadi apabila digunakan algoritma bubblesort adalah sebagai berikut.
Pass pertama
(1 7 8 5 9) menjadi (1 5 7 4 9)
(1 5 7 4 9) menjadi (1 5 7 4 9)
(1 5 7 4 9) menjadi (1 5 4 7 9)
(1 5 4 7 9) menjadi (1 5 4 7 9)
Pass kedua
(1 5 4 7 9) menjadi (1 5 4 7 9)
(1 5 4 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
Pass ketiga
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
Dapat dilihat
pada proses di atas, sebenarnya pada pass kedua, langkah kedua, array telah
terurut. Namun algoritma tetap dilanjutkan hingga pass kedua berakhir. Pass
ketiga dilakukan karena definisi terurut dalam algoritma bubblesort adalah
tidak ada satupun penukaran pada suatu pass, sehingga pass ketiga dibutuhkan
untuk memverifikasi keurutan array tersebut.
Berikut contoh algoritmanya
#include <iostream>
#include <conio.h>
using namespace std;
int a,b,c,data[20],simpan;
int main(){
cout<<"NAMA : Eka Yunita Sari\n";
cout<<"NIM : 09031181320039\n";
cout<<"KELAS: Sistem Informasi A2 Reg'13\n";
cout<<"UNIVERSITAS SRIWIJAYA\n";
cout<<"Assalamu'alaikum wr wb\n\n";
cout<<"\tMulai Pengurutan Data\n\n";
cout<<"Masukkan banyak data = ";cin>>a;
b=1;
do{
cout<<"Data ke-"<<b<<" = ";cin>>data[b];
b++;
}while(b<=a);
cout<<endl<<"Data sebelumnya :"<<endl;
b=1;
do{
cout<<data[b]<<" ";
b++;
}while(b<=a);
for(b=1;b<=a-1;b++){
for(c=1;c<=a-1;c++){
if(data[c]>data[c+1]){
simpan=data[c];
data[c]=data[c+1];
data[c+1]=simpan;
}
}
}
cout<<endl<<"Buble Sort :"<<endl;
b=1;
do{
cout<<data[b]<<" ";
b++;
}while(b<=a);
cout<<"\n\n Terimakasih :)\n";
cout<<"Wassalamu'alaikum wr wb";
getch();
}
#include <conio.h>
using namespace std;
int a,b,c,data[20],simpan;
int main(){
cout<<"NAMA : Eka Yunita Sari\n";
cout<<"NIM : 09031181320039\n";
cout<<"KELAS: Sistem Informasi A2 Reg'13\n";
cout<<"UNIVERSITAS SRIWIJAYA\n";
cout<<"Assalamu'alaikum wr wb\n\n";
cout<<"\tMulai Pengurutan Data\n\n";
cout<<"Masukkan banyak data = ";cin>>a;
b=1;
do{
cout<<"Data ke-"<<b<<" = ";cin>>data[b];
b++;
}while(b<=a);
cout<<endl<<"Data sebelumnya :"<<endl;
b=1;
do{
cout<<data[b]<<" ";
b++;
}while(b<=a);
for(b=1;b<=a-1;b++){
for(c=1;c<=a-1;c++){
if(data[c]>data[c+1]){
simpan=data[c];
data[c]=data[c+1];
data[c+1]=simpan;
}
}
}
cout<<endl<<"Buble Sort :"<<endl;
b=1;
do{
cout<<data[b]<<" ";
b++;
}while(b<=a);
cout<<"\n\n Terimakasih :)\n";
cout<<"Wassalamu'alaikum wr wb";
getch();
}
OUTPUT:
Wassalamu'alaikum wr wb
Tidak ada komentar:
Posting Komentar