Metode Pemograman Bubble Sort dengan C++

Metode bubble sort, merupakan metode tersederhana untuk melakukan pengurutan data, tetapi memiliki kinerja yang terburuk untuk data yang besar. Pengurutan dilakukan dengan membandingkan sebuah bilangan dengan seluruh bilangan yang terletak sesudah bilangan tersebut. Penukaran dilakukan kalau suatu kriteria dipenuhi.

Sebagai contoh, terdapat kumpulan seperti berikut.
25 57 48 37 12 92 80 33
Contoh proses pengurutan dengan urut naik ditunjukkan pada gambar




Pengurutan tahap pertama




Pengurutan tahap kedua


Jika jumlah data adalah n, maka terjadi n-1 tahap pengurutan. Berarti pada contoh di di atas diperlukan 7 tahap pengurutan. Gambar 11.4 memperlihatkan setelah 7 tahap pengurutan dilakukan.



Keadaan di setiap tahap pengurutan


Implementasikan pengurutan dengan metode buble sort baik dalam algoritma maupun program


Algoritma :
SUBRUTIN bubble_sort(L,n)
      Untuk tahap = 1 s/d n-1
        Untuk j← 0 s/d n-tahap-1
          Jika L[j] > L[j+1] MAKA
            // Lakukan penukaran
            tmp ←L[j]
            L[j] ←L[j+1]
            L[j+1] ←tmp
          AKHIR – JIKA
        AKHIR – UNTUK
      AKHIR – UNTUK
    AKHIR – SUBRUTIN


Implementasi dalam bahasa pemograman C++


#include <iostream.h>
#include <conio.h>
void tampilkan_larik(int data[], int n)
{
int i;
for(i=0;i<n;i++)
cout<<data[i]<<" ";
cout<<"\n";
}

void buble_sort(int data[],int n)
{
int tahap,j,tmp;
for (tahap=1;tahap<n;tahap++)
{
for (j=0;j<n-tahap;j++)
if (data[j]>data[j+1])
{
//tukarkan
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
cout<<"hasil tahap "<<tahap<<" : ";
tampilkan_larik (data,n);
}
}

int main()
{
const jum_data=8;
int i;
int data[]={25,57,48,37,12,92,80,33};

buble_sort(data, jum_data);

//hasil pengurutan
cout<<endl;
cout<<"Hasil Pengurutan: \n";
tampilkan_larik(data,jum_data);
getch();
}



Gambar Program Setelah Dieksekusi :


Labels: