Bubble Sort
permasalah
mengurutkan data acak menggunakan metode bubble sort
metodenya jika nilai sebelah kanan lebih kecil tukar pisisi keduanya.misal:4 5 6 → (4,5) tak perlu di tukar5 6 4 → tukar(6,4) sudah di akhir mulai dari depan lagi5 4 6 → tukar(5,4)4 5 6→ selesai
1. Problem : Menggurutkan Sejumlah data dalam array dari yang terkecil ke yang terbesar2. Input : data sejumlah n yang tidak urut3. Output : data urut dari kecil ke besar4. Penjelana Program :
Procedure Bubble_Sort (input/output x : larik, input n : byte)Deklarasilarik = array [1..100] of integeri, a : bytek : larikj, bantu : integer
Deskripsifor i <-- 1 to n-1 dofor j <-- i+1 to n doif x[i] > x[j] thentukar(x[i], x[j])endifendforendfor
Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :
Output/hasil compiler dari program tersebut :
Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :
#include <iostream>
#include <cstdlib>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
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];
}
}
//penjelasan
dalam void baca_data di atas. memakai int A[] dan in n, kenapa int A[]
ini memakai array, agar bisa menyimpan suatu nilai. dalam void ini ada
for untuk memasukan banyak data yg ingin di masukan dengan banyak n.
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout<<A[i]<< " ";
cout<<"\n";
}
//penjelasan void cetak_data
adalah untuk mencetak data yang sama dari data yang dimasukan tadi
dengan variabel yang sam seperti variabel diatas dan fornya sebanyak n
perulangan.
void tukar (int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
//penjelasan void tukar ini hanya
untuk menukar angkanya menjadi urut dan memakai variabel *a dan int *b
ditambah variabel temp untuk pemindahan sementara.
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]);
}
//penjelasan
void bubble_sort ini memakai parameter yang bisa memakai variael yang
berbeda yang berbeda menggunakan int x[] dan int n. dalan program void
bubble_sort ini untuk mengurutkan data yang dimasukan tadi dari nilai
kecil hingga ke nilai yang besar.dengan menggunakan dua for dan
perbndingan if.
int main(int argc, char** argv) {
int data[10], n;
cout<<"Banyak data : ";
cin>>n;
baca_data(data,n);
cetak_data(data,n);
buble_sort(data,n);
cetak_data(data,n);
return 0;
}
Belum ada tanggapan untuk "Sorting (Bubble Sort)"
Posting Komentar