menu
Minggu, 15 Mei 2016
Algoritma mengurutkan deret bilangan dengan metode buble sort
Algoritma mengurutkan deret bilangan dengan metode buble sort
Masalah :
Mengurutkan data acak dengan metode buble sorting
awal [ 4 5 3 2 1 ]
fase 1 [ 1 5 4 3 2 ]
fase 2 [ 1 2 5 4 3 ]
fase 3 [ 1 2 3 5 4 ]
fase 4 [ 1 2 3 4 5 ]
Analisa :
data awal ----> fungsi buble sort -----> hasil
1.Membandingkan data
Saat data pertama , lalu membandingkan data pertama
jika lebih besar maka ditukar dengan kedua dan seterusnya
2. mencari data pada indeks ke berapa
misal data [ 4 5 3 2 1 ] data 4 indeks 1 dibndingkan dengan data 3 indeks kedua
karena lebih besar maka ditukar
3.Menukar data
misal sebagai ilustrasi
awal [ 4 5 3 2 1 ] 4<-->3 3<-->2 2<-->1
fase 1 [ 1 5 4 3 2 ] 5<-->4 4<-->3 3<-->2
fase 2 [ 1 2 5 4 3 ] 5<-->4 4<-->3
fase 3 [ 1 2 3 5 4 ] 5<-->4
fase 4 [ 1 2 3 4 5 ]
program c++
#include <iostream>
using namespace std;
// " dalam program ini ada 4 prosedur yg digunakan "//
//prosedur pertama ini digunakan untuk input data
//prosedur ini memiliki 2 parameter yaitu " int A[], int n "
//nilai untuk prameter untuk int n didapat dari inputan dalam fungsi main
//nilai untuk parameter int A[] didapat dari deklarasi dalam fungsi main
// parameter A[] sebagai varibale untuk menampung inputan dan n untuk bts perulngan
void baca_data(int A[], int n) {
int i;
for (i = 0; i < n; i++)
{ cout << "Data ke-" << i+1 << " : ";
cin >> A[i];
}
}
//prosedur kedua ini digunakan untuk menampilkan data yg telah di input tadi
//prosedur ini memiliki 2 parameter yaitu " int A[], int n "
//nilai untuk prameter untuk int n didapat dari inputan dalam fungsi main
//nilai untuk parameter int A[] didapat dari deklarasi dalam fungsi main
void cetak_data( int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << A[i] << " ";
cout << "\n";
}
//prosedur ketiga ini digunakan untuk penukaran nilai a <--> b
//prosedur ini memiliki 2 parameter int *a dan int *b
//nilai prameter int *a dan int *b ini didapat ketika prosdur ini dipanggil
//--- ke prosedur empat
//parameter int *a dan int *b digunkan sebagai variable untuk terjadi tempt penukaran
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
//prosedur keempat ini merupakan proses untuk mengurutkan nilai / angka yg di inputkan
//prosedur ini memiliki 2 parameter yaitu " int x[], int n "
//nilai untuk prameter untuk int n didapat dari inputan dalam fungsi main
//nilai untuk parameter int x[] didapat dari deklarasi dalam fungsi main
//dalam prosedur ini dia memangil prosedur ketiga untuk mebntu proses pengurutn data secara buble sorting
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
}
flow chart :
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar