Bubble Sort

1. Identifikasi Masalah
melakukan penukaran data dengan tepat disebelahnya secara terus menerus.

2. Menentukan Input dan Output
Input: A[i]=i, A[i+1]=j
       Output: A[i]= A[i+1], A[i+1]=A[i]

3. Membuat Flowchart









4. Tes Menggunakan Data
     input banyak data : 6
   Input data ke 1 : 9
   Input data ke 2 : 8
   Input data ke 3 : 7
   Input data ke 4 : 6
   Input data ke 5 : 5
   Input data ke 6 : 4

  Output : Data setelah diurutkan : 4 5 6 7 8 9



     Hasil diperoleh dari :
    For I ← 1 to n-1
    If A[i]>A[i+1] then
    Tukarkan (A[i], A[i+1])
   Jika elemen kiri > elemen kanan maka kita tukarkan.
   Data awal : 9 8 7 6 5 4
   Step 1 : 8 9 7 6 5 4 (9>8)
   Step 2 : 8 7 9 6 5 4 (9>7)
   Step 3 : 8 7 6 9 5 4 (9>5)
   Step 4 : 8 7 6 5 9 4 (9>4)
   Step 5 : 8 7 6 5 4 9 (8>7)
   Step 6 : 7 8 6 5 4 9 (8>6)
   Step 7 : 7 6 8 5 4 9 (8>5)
   Step 8 : 7 6 5 8 4 9 (8>4)
   Step 9 : 7 6 5 4 8 9 (7>6)
   Step 10 : 6 7 5 4 8 9 (7>5)
   Step 11 : 6 5 7 4 8 9 (7>4)
   Step 12 : 6 5 4 7 8 9 (6>5)
   Step 13 : 5 6 4 7 8 9 (6>4)
   Step 14 : 5 4 6 7 8 9 (5>4)
   Step 15 : 4 5 6 7 8 9


5.Implementasi
#include <iostream>
#include <conio.h>
using namespace std;
int data[10],data2[10];
int n;
void tukar(int a,int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void Input(){
cout<<"Masukkan jumlah data = ";cin>>n;
cout<<"__________________________________"<<endl;
for(int i=0;i<n;i++){
cout<<"Masukkan data ke-"<<(i+1)<<" = ";cin>>data[i];
data2[i] = data[i];
}
cout<<endl;
}
void Tampil(){

for(int i=0;i<n;i++){
cout<<data[i]<<" ";
}
cout<<endl;
}
void bubble_sort(){
for(int i=1;i<n;i++){
for(int j=n-1;j>=i;j--){
if(data[j]<data[j-1]) tukar(j,j-1);
}
Tampil();
}
cout<<endl;
}
main()
{
cout<<"+_______________________________+"<<endl;
cout<<" Bubble Sort "<<endl;
cout<<"+_______________________________+"<<endl;
Input();
cout<<"Proses Bubble Sort"<<endl;
cout<<"_________________________________"<<endl;
Tampil();
bubble_sort();
cout<<"-------------------------------------"<<endl;
cout<<" THANKS "<<endl;
cout<<"-------------------------------------"<<endl;

getch();
}

6.Execusi



waktu mengerjakan : 3jam




Share this

Related Posts

Previous
Next Post »