Pada kesempatan kali ini saya akan membagikan sedikit ilmu yang saya punya, dan kali ini kita memasuki materi tentang Sorting, banyak sekali metode sorting, mulai dari yang terlambat hingga tercepat..
Tunggu dulu, apa itu Sorting ?
Sorting adalah kegiatan mengurutkan data
Jika kalian ingin melihat ilustrasinya, langsung aja ke >> Visualgo
Baiklah, sesuai judul kita akan mempelajari tentang Bubble Sort, Bubble sort katanya terinspirasi dari gelembung ._. *entahlah
File:Bubble-sort-example-300px.gif
Lihat ilustrasi bubble sort diatas, apa yang bisa anda pelajari ? iyak, bubble sort adalah pengurutan dengan sistem perbandingan satu per satu, untuk data yang kecil sih boleh boleh aja, tapi kalo datanya 1000 ? lamaa...
Lihat Source Code dibawah untuk bubble sort...
#include<stdio.h>
int data[50]; // variabel Global
void Output(int n);
void Sorting(int n);
int main()
int banyak;
printf(\"\\t\\t\\twww.Blogyin.com ~ Bubble Sort dalam Bahasa C\\n\\n\");
printf(\"Masukkan Banyaknya data : \");
scanf(\"%d\", &banyak); // Input banyaknya data yang diinginkan
for(int i = 0; i < banyak; i++) // Proses Input data
{
printf(\"\\n\\nSebelum Disorting >>>>\\n\");
Output(banyak); // memanggil fungsi output
Sorting(banyak); // Memanggil Fungsi Sorting
printf(\"\\n\\nSesudah Disorting >>>>\\n\");
Output(banyak); // memanggil fungsi output
return 0;
|}
void Output(int n)
printf(\"%d\\t\", data[i]);
printf(\"\\n\");
|}
void Sorting(int n)
if(data[j] > data[j+1]) // contoh : jika data 1 > 2, data 3 > 4
{
|}
|}
|}
Nah, ini dia, mari dibahas..
void Sorting(int n)
sementara = data[j]; // Proses Pertukaran
data[j] = data[j+1];
data[j+1] = sementara;
|}
|}
|}
Diatas merupakan proses pengurutan,
>kenapa pengulangannya i < n-1 ?
>>Jawab : karena banyaknya proses itu kurang dari banyaknya data.
>Kenapa harus Pengulangan Bersarang ?
>>Jawab : Namanya juga membandingi satu persatu, tidak mungkin 1 kali jalan kan ?
Jadi Proses kerja pengurutannya begini, misal kita punya 4 data = 3, 2, 4, 1..
Pengulangan Luar Pertama
~Data 1 dibandingin dengan Data 2, jika Data 1 > Data 2 maka ditukar
>>> 2, 3, 4, 1
~Data 2 dibandingin dengan Data 3, jika Data 2 > Data 3 maka ditukar
>>> 2, 3, 4, 1 *Tidak ditukar, karna Data 2 < Data 3*
~Data 3 dibandingin dengan Data 4, jika Data 3 > Data 4 maka ditukar
>>> 2, 3, 1, 4
Lihat ? semua belum terurut dengan benar jika hanya 1 kali perbandingan, dan juga disini merupakan bukti, bahwa banyak data = 4, dan prosesnya = 3.
Pengulangan Luar Kedua
~Data 1 dibandingin dengan Data 2, jika Data 1 > Data 2 maka ditukar
>>> 2, 3, 1, 4 *Tidak ditukar, karna Data 1 < Data 2*
~Data 2 dibandingin dengan Data 3, jika Data 2 > Data 3 maka ditukar
>>> 2, 1, 3, 4
~Data 3 dibandingin dengan Data 4, jika Data 3 > Data 4 maka ditukar
>>> 2, 1, 3, 4 *Tidak ditukar, karna Data 3 < Data 4*
Pengulangan Luar Ketiga
~Data 1 dibandingin dengan Data 2, jika Data 1 > Data 2 maka ditukar
>>> 2, 1, 3, 4
~Data 2 dibandingin dengan Data 3, jika Data 2 > Data 3 maka ditukar
>>> 1, 2, 3, 4 *Tidak ditukar, karna Data 2 < Data 3*
~Data 3 dibandingin dengan Data 4, jika Data 3 > Data 4 maka ditukar
>>> 2, 1, 3, 4 *Tidak ditukar, karna Data 3 < Data 4*
Sepertinya ini saja yang dapat saya sampaikan mengenai Bubble Sort, untuk metode metode yang lain tungguin aja postingannya, Jika ada yang masih membingungkan, bisa di tanyakan melalui komentar atau via fanspage.