Tidak ada niat untuk mengajari hanya ingin berbagi

18 Mei 2016

Bubble Sort

Assalamualaikum warahmatullahi wabarakatuh..
      kali ini saya akan menggaerjakan soal dari rencana kuliah bulan 3 minggu ke 2. di sini saya menggerjakan dengan metode yang berbeda dari biasanya langsung saja  ke pekerjaan saya  


1. Mengidentifikasi masalah
    Mengurutkan nilai acak dengan sorting metode bubble sort
2. Input/output
       In            : Y[x], x
       Out        : nilai, x
3. Menggunakan tes data
                                                input :
banyak data : 6 
data ke 1 : 9
data ke 2 : 8 
data ke 3 : 7
data ke 4 : 6
data ke 5 : 5
data ke 6 : 4
Data Awal : 9 8 7 6 5 4  
data setelah diurutkan : 4 5 6 7 8 9

Proses pengurutan secara manual 
For I ← 1 to x-1
Jika T[i]>T[i+1] Maka
Pindahkan (T[i], T[i+1])
Jika elemen kiri > elemen kanan maka kita pindahkan.
Data awal : 9 8 7 6 5 4
Baris 1: 8 9 7 6 5 4
Baris 2 : 8 7 9 6 5 4
Baris 3 : 8 7 6 9 5 4
Baris 4 : 8 7 6 5 9 4
Baris 5 : 8 7 6 5 4 9
Baris 6 : 7 8 6 5 4 9
Baris 7 : 7 6 8 5 4 9
Baris 8 : 7 6 5 8 4 9
Baris9 : 7 6 5 4 8 9
Baris 10 : 6 7 5 4 8 9
Baris 11 : 6 5 7 4 8 9
Baris 12 : 6 5 4 7 8 9
Baris13 : 5 6 4 7 8 9
Baris 14 : 5 4 6 7 8 9
Baris 15 : 4 5 6 7 8 9
4. Inplementasikan dengan C++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int Y[], int x){
            int i;
            for(i=0; i<x; i++){
            cout<<"Data ke - "<<i+1<<" : ";
            cin>>Y[i];
}
}
void cetak_data(int Y[], int x){
            int i;
            for(i=0; i<x;i++)
            cout<<Y[i]<<" ";
            cout<<" \n";
}
void tukar(int *p, int*q){
            int temp;
            temp = *p;
            *p = *q;
            *q = temp;
}
void bubble_sort(int T[], int x){
            int i, j;
            for(i = 0; i<x-1; i++)
            for(j = i+1; j<x; j++)
            if(T[i] > T[j])
            tukar(&T[i], &T[j]);

}
int main(int argc, char** argv) {
int nilai[100], x;
cout<<"Banyak data : ";
cin>>x;
baca_data(nilai,x);
cout<<"\ndata awal : "<<endl;
cetak_data(nilai,x);
bubble_sort(nilai,x);
cout<<"data setelah di urutkan : "<<endl;
cetak_data(nilai,x);

            return 0;
}
5. Outputnya : 


untuk menyelesaikan permasalahan tersebut saya memerlukan waktu kurang lebih 5 jam.

Sekian yang bisa saya bagikan semoga bermanfaat 
wassalamualaikum warahmatullahi wabarakatuh

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.