Pengertian/Konsep Buble Sort
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.
Kelebihan Bubble Sort
- Metode Buble Sort merupakan metode yang paling simpel
- Metode Buble Sort mudah dipahami algoritmanya
Kelemahan Bubble Sort
Meskipun simpel metode Bubble sort merupakan metode pengurutanyang paling tidak efisien. Kelemahan buble sort adalah pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang diolah jika data cukup banyak. Kelemahan lain adalah jumlah pengulangan akan tetap sama jumlahnya walaupun data sesungguhnya sudah cukup terurut. Hal ini disebabkan setiap data dibandingkan dengan setiap data yang lain untuk menentukan posisinya.ALGORITMANYA:
Deklarasi:
larik= Array[1..100] of int
i,a : byte
k : larik
j.bantu : int
Deskripsi:
for i <- 1 to n do
for j <- i+1 to n do
if x[i]>x[j] then
tukar (x[i], x[j])
end if
end for
end for
SOURCE CODEnya:
Deklarasi:
larik= Array[1..100] of int
i,a : byte
k : larik
j.bantu : int
Deskripsi:
for i <- 1 to n do
for j <- i+1 to n do
if x[i]>x[j] then
tukar (x[i], x[j])
end if
end for
end for
SOURCE CODEnya:
#include <iostream.h>
#include <conio.h>
void baca(int A[],int n){
int i;
for (i=0; i<n; i++)
{cout<<"Data Ke- " <<i+1<< " : ";
cin>>A[i];
}
}
void cetak(const int A[], int n){
int i;
for (i=0; i<n; i++)
cout<<A[i]<<"";
cout<<endl;
}
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=1; j<n; j++)
if (x[i] >x[j]) tukar(&x[i], &x[j]);
}
int main(){
int data[8], n;
cout<<"Banyak Data: ";
cin>>n;
baca(data,n);
cetak(data,n);
buble_sort(data,n);
cetak(data,n);
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar