Lompat ke konten Lompat ke sidebar Lompat ke footer

Widget HTML #1

Program Bubble Sort dalam Bahasa C

Program Bubble Sort Bahasa C

hobingoding.com - Halo coders. Bubble Sort merupakan salah satu dari beberapa teknik pengurutan data yang ada untuk saat ini. Bubble Sort juga bisa dikatakan sebagai teknik pengurutan yang termasuk ke dalam teknik pengurutan tertua karena menjadi salah satu teknik pengurutan yang pertama kali ditemukan.

Sederhananya cara kerja dari algoritma Bubble Sort ini adalah dengan membandingkan sebuah data dengan data yang ada di sebelahnya lalu kemudian menukarkannya jika data yang disebelahnya tersebut lebih kecil / lebih besar secara terus menerus hingga semua data yang bersebelahan sudah memenuhi kondisi pengurutan.

Semisal sebagai contoh terdapat data 4 1 3 dan kita akan urutkan secara askending. Pertama sekali data 4 akan dibandingkan dengan data 1, karena 4 > 1 maka tukar posisi 1 dan 4 sehingga urutannya menjadi 1 4 3. Kemudian bandingkan lagi data 4 dan data 3, karena 4 > 3 maka tukar kembali posisi 4 dan 3 sehingga urutannya menjadi 1 3 4.

Permasalahan

Buatlah program untuk melakukan pengurutan sebanyak n data secara askending dengan menggunakan teknik bubble sort.

Test Case

Input Banyak Data: 8
Data yang Belum Berurut: 10 5 8 12 15 22 24 18
Hasil Pengurutan Data: 5 8 10 12 15 18 22 24

Kode Program

#include <stdio.h>
//visit us @hobingoding.com

int main(){
    int banyakData, i, j;

    printf("Pengurutan Data dengan Algoritma Bubble Sort\n\n");
    printf("Input Banyak Data \t: ");
    scanf("%d", &banyakData);
    int data[banyakData];

    //Perulangan untuk menginput data sebanyak n
    printf("Data yang Belum Berurut : ");
    for(i = 0; i < banyakData; i++)
    {
        scanf("%d", &data[i]);
    }

    //Algoritma Bubble Sort
    for(i = 0; i < banyakData; i++)
    {
        for(j = 0; j < banyakData-i-1; j++)
        {
            if(data[j] > data[j+1])
            {
                int tmp = data[j];
                data[j] = data[j+1];
                data[j+1] = tmp;
            }
        }
    }

    //Pencetakan data yang sudah diurutkan
    printf("Hasil Pengurutan Data   : ");
    for (i = 0; i < banyakData; i++)
    {
        printf("%d ", data[i]);
    }
    printf("\n");

    getch();
    return 0;
}

Lihat source code melalui github: fandipres

Output Program

Pengurutan Data dengan Algoritma Bubble Sort Bahasa C

Penjelasan Program

Pertama sekali saya disini mendeklarasikan beberapa variabel-variabel yang akan saya gunakan nantinya yaitu banyakData, i dan j bertipe integer. Selanjutnya saya akan meminta masukan (banyakData) dari user yang dimana nilai yang diinput oleh user ini nantinya akan dipergunakan dalam menentukan ukuran array data.

Kemudian saya membuatkan sebuah perulangan untuk melakukan pengimputan data-data ke dalam array yang telah saya buatkan sebelumnya.

Lalu saya membuatkan dua perulangan lagi yang dimana kedua perulangan ini saya pergunakan untuk melakukan algoritma Buble Sort dimana di dalam kedua perulangan ini terdapat sebuah pengecekan kondisi untuk melakukan pertukaran data sesuai dengan urutan yang diinginkan (askending / deskending).

Terakhir data dalam array data tersebut yang sudah terurut saya cetak kembali dengan membuatkan perulangan sebanyak banyakData yang tersedia.

Fandi Presly Simamora
Fandi Presly Simamora Do it right, be bright.

1 komentar untuk "Program Bubble Sort dalam Bahasa C"