Kamis, 06 Maret 2014

BUBBLE SORT

Eka Yunita Sari (09031181320039)
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();
}
 
 
OUTPUT:
 
 
 Terimakasih Semoga bermanfaat ;)

Wassalamu'alaikum wr wb 

Tidak ada komentar:

Posting Komentar