Bubble sort menggunakan bahasa C

Hai semuanya pada hari ini aku akan berbagi article tentang bubble sort. Apa sih bubble sort? mungkin diantara kalian terutama mahasiswa teknik informatika sudah tidak asing bubble sort. Bubble Sort merupakan salah satu metode algoritma untuk pengurutan data.

Bubble sort (metode gelembung) adalah metode pengurutan dengan cara melakukan pengurutan data di sebelahnya secara terus menerus sampai dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada lagi perubahan berarti data sudah urut. Metode bubble sort terinspirasi ole gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air.

Berikut adalah notasi algortima bubble sort.

///prosedur bubble sort
procedure bubble(data[] <--array of int, jml <-- int)
{
    judul : prosedur bubble sort ascending
    kamus :
    i,j,temp=0 <-- int
    deskripsi :
    i=0;
    while(i<jml-1)do
    {
        j=0;
        while(j<jml-i-1)do
        {
            ///terjadinya proses swap
            if(data[j+1]<data[j])then
            {
                temp=data[j+1];
                data[j+1]=data[j];
                data[j]=temp;
            }
            j=j+1;
        }
        i=i+1;
    }
}
///prossedur untuk menginput data
procedure input(data[] <-- array of int, jml <-- int)
{
    judul : prosedur untuk menginputkan data
    kamus :
    i <-- int
    deskripsi :
    i=0;
    while(i<jml)do
    {
        input <-- data[i]
        i=i+1;
    }
}
///prosedur untuk outputkan data
procedure output(data[] <-- array of int, jml <-- int)
{
    judul : prosedur untuk mengoutputkan data
    kamus :
    i <-- int
    deskripsi :
    i=0;
    while(i<jml)do
    {
        output "data[i]"
        i=i+1
    }
}
///fungsi main
judul : mengurutkan data menggunakan bubble sort secara ascending
kamus :
    procedure bubble(data[] <--array of int, jml <-- int)
    procedure input(data[] <-- array of int, jml <-- int)
    procedure output(data[] <-- array of int, jml <-- int)
    data[50] <-- array of int
    jumlah <-- int
deskripsi :
    input <-- jumlah
    input <-- input(data,jumlah)//pemanggilan prosedur input
    //data sebelum diurutkan
    output(data,jumlah)//pemanggilan prosedur output tanpa memanggil prosedur bubble
    //data sesudah diurutkan
    bubble(data,jumlah)//pemanggilan prosedur bubble
    output(data,jumlah)//pemanggilan prosedur output

Jika di konversikan ke dalam bahasa C maka akan seperti di bawah ini.

#include <stdio.h>
#include <stdlib.h>
//deklarasi fungsi
void input(int data[], int jumlah);
void output(int data[], int jumlah);
void bubble(int data[], int jumlah);

int main()
{
    printf("Sorting Ascending\n");
    int data[50];
    int jml;

    printf("Input jumlah batas data: ");
    scanf("%d",&jml);
    input(data,jml); //pemaggilan prosedur input
    printf("\nsebelum:\n");
    output(data,jml); //pemanggilan prosedur output
    printf("\nsesudah:\n");
    bubble(data,jml); //pemanggilan prosedur bubble untuk mensorting
    output(data,jml); //pemanggilan prosedur output setelah di sorting

    puts("");
    return 0;
}
//prosedur input
void input(int data[], int jumlah)
{
    int i;
    i=0;
    while(i<jumlah){
        printf("data [%d]= ",i+1);
        scanf("%d",&data[i]);
        i=i+1;
    }
}
//prosedur output
void output(int data[], int jumlah)
{
    int i=0;
    while(i<jumlah){
        printf("%d ", data[i]);
        i=i+1;
    }
}
//prosedur bubble 
void bubble(int data[], int jumlah)
{
    int i,j,temp=0;
    i=0;
    while(i<jumlah-1){
        j=0;
        while(j<jumlah-i-1){
            if(data[j+1]<data[j]){
                temp=data[j+1];
                data[j+1]=data[j];
                data[j]=temp;
            }
            j=j+1;
        }
        i=i+1;
    }
}

Jika program diatas di run maka beginilah hasilnya.

hasil-bubble

NB : jika kalian ingin mengurutkan secara descending maka cukup merubah tanda “<” menjadi “>” tanpa tanda kutip.

Kelebihan dan Kekurangan Bubble sort :

  • Kelebihan :
  1. Metode bubble sort merupakan metode yang paling simpel.
  2. Metode bubble sort mudah di pahami algoritmanya.
  • Kekurangan :
  1. Pada metode bubble sort merupakan metode pengurutan yang tidak efisien pada saat pengurutan data yang sangat besar akan mengalami kelambatan yang luar biasa, dengan kata lain kinerjanya akan memburuk dengan signifikan jika data yang diolah cukup banyak.

Okeee…cukup sekian article saya pada kesempatan kali ini semoga bisa bermanfaat mohon maaf apabila ada kesalahan. Terima kasih.

Skip to toolbar