Jumat, 10 Juni 2016

MENGURUTKAN DATA DENGAN BUBBLE SORT

Masalah tentang mengurutkan angka dengan metode bubble sort. Metode bubble sort ini dilakukan
dengan cara melakukan perbandingan data pertama dengan data setelah nya. Jika data yang di sebelah kiri lebih besar maka data tersebut akan bertukaran tempat yang angka besar berpindah kekanan.


Analisis
          misal diberikan input {9,7,4,1} akan menjadi {1,4,7,9}.

          Proses yang terjadi:
          Tahap ke-1: 7, 9, 4, 1 :: 7, 4, 9, 1 ::7, 4, 1, 9 (ada 3 pertukaran)
          Tahap ke-2: 4, 7, 1, 9 :: 4, 1, 7, 9 (ada 2 pertukaran)
          Tahap ke-3: 1, 4, 7, 9  (ada 1 pertukaran -> proses selesai

Algoritma
           Procedure bubble(input a[0],t,n : integer)
                Deskripsi
                    for(int i=0;i<n;i++)
        for(int j=i;j<n;j++)
            if(a[i]>a[j])
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            endif
        endfor
    endfor


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 output(int a[0],int t,int n){
 for(int i=0;i<n;i++){
  for(int j=i;j<n;j++){
   if(a[i]>a[j]){
    t=a[i];
    a[i]=a[j];
    a[j]=t;
   }
  }
 }
 cout<<"\nSesudah Di Urutkan"<<endl;
 for(int i=0;i<n;i++){
  cout<<a[i]<<" ";
 }cout<<endl;
}
int main(int argc, char** argv) {
 int n,t;
 cout<<"Masukkan Batas : ";
 cin>>n;
 int array[n];
 cout<<"Masukkan data : ";
  for (int j=0;j<n;j++){
  cout<<"Data Ke-"<<j+1<<" = ";
  cin>>array[j];
 }
cout<<endl<<endl;
cout<<"sebelum di urutkan"<<endl;
 for (int j=0;j<n;j++){
  cout<<array[j]<<" ";
 }

  output(array,t,n);
 system("pause");


 return 0;
}

Tidak ada komentar:

Posting Komentar