2016-05-15 ~ neT-Tor.com

Monday 16 May 2016

Bubbel Sort

 Assalamualaikum W W,
Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
Misalkan kita mempunyai sebuah array dengan.  Elemen-elemen “4 2 5 3 9”. Proses yang akan terjadi apabila digunakan algoritma bubblesort adalah sebagai berikut.

 step 1 : 4 2 5 3 9  ( 4 > 2 ) maka tukar posisi  jadi 2 4 5 3 9.
 step 2 : 2 4 5 3 9 ( 4  > 5 ) maka tetap.
 step 3 : 2 4 5 3 9 ( 5  > 3 ) maka tukar posisi jadi 2 4 3 5 9.
 step 4 : 2 4 3 5 9 ( 5  > 9 ) maka tetap.
 step 5 : 2 4 3 5 9 ( 2  > 4 ) maka tetap.
 step 6 : 2 4 3 5 9 ( 4  > 3 ) maka tukar posisi jadi 2 3 4 5 9.
 step 7 : 2 3 4 5 9 ( end)   

 
Berikut Adalah Alur Algoritmanya 
 
Algoritma :
Procedure Bubble_Sort (input/output x : larik, input n : byte)

Deklarasi
       larik = array [1..100] of integer
       i, a : byte
       k : larik
       j, bantu : integer
Deskripsi
       for i <-- 1 to n-1 do
          for j <-- i+1 to n do
             if x[i] > x[j] then
                tukar(x[i], x[j])
             endif
          endfor
      endfor
 
 Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :



Output/hasil compiler dari program tersebut :

Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

void baca_data(int A[], int n) {
     int i;
     for (i = 0; i < n; i++){
         cout<<"Data ke-" <<i+1<< " : ";
         cin>>A[i];
     }
}
void cetak_data(const int A[], int n) {
     int i;
     for (i = 0; i < n; i++)
     cout<<A[i]<< " ";
     cout<<"\n";
}
void tukar (int *a, int *b){
     int temp;
     temp = *a;
     *a = *b;
     *b = temp;
}
void buble_sort (int x[], int n){
     int i, j;
     for (i = 0; i<n-1; i++)
     for (j = i+1; j<n; j++)
     if (x[i] > x[j]) tukar(&x[i], &x[j]);
}

int main(int argc, char** argv) {
    int data[10], n;
    cout<<"Banyak data : ";
    cin>>n;
    baca_data(data,n);
    cetak_data(data,n);
    buble_sort(data,n);
    cetak_data(data,n);

 return 0;
}

 
Output/hasil compiler dari program tersebut :
 
 
Semoga Bermanfaat artikel ini bagi pengunjungnya Amin...
jika anda ingin Melihat teknik Sorting lainya bisa buka Link di bawah ini :
1. Selection Sort : Klik Here
2. Insertion Sort : Klik Here