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
Input Data : 10 5 8 12 15 22 24 18
Hasil : 5 8 10 12 15 18 22 24
Kode Program
#include <stdio.h>
int main() {
int banyak_data, i, j;
printf("Pengurutan Data dengan Algoritma Bubble Sort\n");
printf("visit us hobingoding.com\n\n");
// Input Banyak Data
printf("Input Banyak Data : ");
scanf("%d", &banyak_data);
int data[banyak_data];
// Input Data
printf("Input Data : ");
for(i = 0; i < banyak_data; i++) {
scanf("%d", &data[i]);
}
// Algoritma Bubble Sort
for(i = 0; i < banyak_data; i++) {
for(j = 0; j < banyak_data-i-1; j++) {
if(data[j] > data[j+1]) {
int tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
}
}
// Hasil Pengurutan Data
printf("Hasil : ");
for (i = 0; i < banyak_data; i++) {
printf("%d ", data[i]);
}
return 0;
}
Lihat source code melalui github: fandipres
Output Program
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 Bubble 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.
Nice Info gan, sukses selalu jangan lupa berkujung:)
BalasHapus