Trading dan Investasi
ad1
Iklan Gratis
Program Bubble Sort
Belajar
Mei 23, 2012
Diberi nama “Bubble” karena proses pengurutan secara berangsur angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.Jika elemen sekarang lebih besardari elemen berikutnya maka kedua elemen tersebut ditukar (untuk pengurutan ascending).
Jika elemen sekarang lebih kecildari elemen berikutnya, maka kedua elemen tersebut ditukar (untuk pengurutan descending).Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikianseterusnya.
Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.
Contoh pengurutan data yang dilakukan dengan metode Bubble Sort sebagai berikut:
Proses 1:
22 10 15 3 8 2
22 10 15 3 2 8
22 10 15 2 3 8
22 10 2 15 3 8
22 2 10 15 3 8
2 22 10 15 3 8
Pengecekandimulaidari data yang paling akhir, kemudiandibandingkandengan data di depannya, jika data di depannyalebihbesarmakaakanditukar.
Proses 2:
2 22 10 15 3 8
2 22 10 15 3 8
2 22 10 3 15 8
2 22 3 10 15 8
2 3 22 10 15 8
Pengecekandilakukansampaidengan data ke-2 karena data pertamapastisudah paling kecil.
Proses 3:
2 3 22 10 15 8
2 3 22 10 8 15
2 3 22 8 10 15
2 3 8 22 10 15
Proses 4:
2 3 8 22 10 15
2 3 8 22 10 15
2 3 8 10 22 15
Proses 5:
2 3 8 10 22 15
2 3 8 10 15 22
Pengurutan berhenti.
berikut programnya c++ bubble sort:
| #include <iostream.h> #include <conio.h> #include <stdlib.h> bubble_acak() { clrscr(); int arr[1000]; int x, i; //untuk array int s, t, temp; //untuk sorting //input jumlah data yang diproses cout<<"angka yang akan dimasukkan : "; cin>>x; //input nilai masing" array srand(time(NULL)); for (i=0; i<x; i++) arr[i] = rand() %1000; //output nilai" array clrscr(); cout<<"====== array ======"<<endl<<endl; cout<<"angka angkanya :"<<endl; for (i=0; i<x; i++) cout<<arr[i]<<", "; //sorting cout<<endl<<endl<<endl<<endl; cout<<"====== sorting ======"<<endl<<endl; s = 0; for (s=0; s<x; s++) { for (t = s+1; t<x; t++) { if (arr[s]>arr[t]) { temp = arr[s]; arr[s] = arr[t]; arr[t] = temp; } } } cout<<"setelah sorting :"<<endl; for (i=0; i<x; i++) cout<<arr[i]<<", "; getch(); } bubble_manual() { clrscr(); int arr[1000]; int x, i; //untuk array int s, t, temp; //untuk sorting //input jumlah data yang diproses cout<<"angka yang akan dimasukkan : "; cin>>x; //input nilai masing" array for (i=0; i<x; i++) { cout<<"masukkan angka ke-"<<i<<" : "; cin>>arr[i]; } //output nilai" array clrscr(); cout<<"====== array ======"<<endl<<endl; cout<<"angka angkanya :"<<endl; for (i=0; i<x; i++) cout<<arr[i]<<", "; //sorting cout<<endl<<endl<<endl<<endl; cout<<"====== sorting ======"<<endl<<endl; s = 0; for (s=0; s<x; s++) { for (t = s+1; t<x; t++) { if (arr[s]>arr[t]) { temp = arr[s]; arr[s] = arr[t]; arr[t] = temp; } } } cout<<"setelah sorting :"<<endl; for (i=0; i<x; i++) cout<<arr[i]<<", "; //mission complete getch(); } main () { int pilih; char ulang; do { clrscr (); cout<<"tekan 1 : bilangan yang disorting dimasukan secara acak"<<endl; cout<<"tekan 2 : bilangan yang disorting dimasukan secara manual"<<endl; cout<<"masukkan pilihan : "; cin>>pilih; switch (pilih) { case 1: bubble_acak(); break; case 2: bubble_manual(); break; default: clrscr(); cout<<"\"maaf\""<<endl; cout<<"\"pilihan yang dimasukkan salah\""; break; } cout<<endl<<endl<<"tekan \"Y\" lalu \"ENTER\" untuk ulang ---> "; cin>>ulang; } while (ulang=='Y'); } |
Tidak ada komentar :
Posting Komentar
Leave A Comment...