Bubble sort adalah sebuah metode
pengurutan dari sebuah data terkecil ke data terbesar ataupun dengan cara
membandingkan ke sebuah elemen kesatu dengan elemen yang berikutnya.
Diberi julukan “Bubble” dikarenakan proses pengurutan secara
bergantian bergerak dan atau berpindah ke tempat yang tepat, seperti sebuah
gelembung yang akan keluar dari sebuah wadahnya.
- Bubble Sort mensortir sebuah data dengan cara membandingkan elemen pertama dengan elemen selanjutnya.
- Jika elemen pertama melebihi besar dari elemen yang berikutnya maka kedua elemen tadi akan ditukar.
- Jika elemen pertama lebih kecil dari elemen yang berikutnya, maka kedua elemen tadi akan ditukar.
- Algoritma ini seperti menggeser suatu elemen secara satu per satu, dari yang paling kanan hingga ke kiri atau sebaliknya, tergantung daari jenis algoritmanya, asc atau desc.
- Apabila satu proses telah berhasil, maka bubble sort akan mencoba mengulangi prosesnya demikian seterusnya sampai sebanyak n-1.
- Bubble sort akan terhenti apabila seluruh array telah diperiksa lalu tidak ada pertukaran sebuah elemen yang bisa dilakukan, serta telah selesainya pengurutan yang diinginkan.
Mengurutkan bilangan : menginputkan nilai ke program yang dibuat dan bila akan di urutkan nilai yang di masukan besar maka nilai nya akan naik sementara nilai yang di masukan kecil maka nilainya akan turun. ini lah metode menggunakan bubble sort .
4 8 1 4 5 2 3 ------>> 1 2 3 4 4 5 8
Algoritma subprogram :
Deklarasi
larik = Array [1..100] of integer
i ,array : byte
k : larik
j, bantu : integer
Deskripsi
for i <-- 1 to n-1 do
for j <-- i+1 to n do
if x[i] > x[j] then
tukar(x[i], x[j])
Endif
Endfor
Endfor
larik = Array [1..100] of integer
i ,array : byte
k : larik
j, bantu : integer
Deskripsi
for i <-- 1 to n-1 do
for j <-- i+1 to n do
if x[i] > x[j] then
tukar(x[i], x[j])
Endif
Endfor
Endfor
Program c++ :
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void cetak_data(const int array[], int n){
int i;
for(i=0;i<7;i++){
cout<<array[i]<<" ";
}
}
void tukar(int *a, int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void buble(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]);
}
int main(){
int data[8]={4,8,1,4,5,2,3},n=7;
cetak_data(data,n);
buble(data,n);
cout<<endl<<endl;
cetak_data(data,n);
}
2. Selection Sort
rikanursita.blogspot.com
3. Insert Selection Sort
hariadianto.blogspot.com
Sign up here with your email
ConversionConversion EmoticonEmoticon