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 :
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
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