Tampilkan postingan dengan label pertemuan 9. Tampilkan semua postingan
Tampilkan postingan dengan label pertemuan 9. Tampilkan semua postingan

Senin, 16 Mei 2016

Bubble Sort

11. Identifikasi Masalah
Mengurutkan data dengan metode bubble sort

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

33. Membuat Flowchart




44. 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 tersebut 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

55. Implementasi C++
#include <iostream>
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( 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]);
}


 main() {
//  nilai variable " nilai[100], n " disni digunakan untuk mengisi nilai parameter dalm prosedur    
int nilai[100], n;
cout << "Banyak data : ";
cin >> n;
baca_data(nilai,n);    //  pemgilan prosedur
cout<<endl;
cout<<"data awal"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur
buble_sort(nilai,n);   //  pemgilan prosedur
cout<<"data stelah diurutkan"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur
}

66. Execusi 

Untuk Bab ini silahkan kunjungi :
1. selection sort : ela dwi anggraini
2. insertion sort : agus prasetyo





waktu pengerjaan kurang lebih 4 jam