Selasa, 22 November 2016

C Programming : Bubble Sort

Assalamu'alaikum.
Postingan kali ini saya mau bahas problem acak lagi, yaitu Bubble Sort.

Apa itu bubble sort?
Bubble = gelembung
Sort = Mengurutkan
Jadi arti dari bubble sort adalah mengurutkan gelembung.

Disini konsep bubble sort sendiri memang hampir mirip seperti mengurutkan gelembung, jadi gelembungnya bertukar dengan tetangga di sebelahnya. (APA SEH!!??)
Intinya ini adalah pengurutan data. Terserah mau datanya diurutkan secara ascending (dari kecil ke besar) atau descending (dari besar ke kecil).

Contoh proses Bubble Sort :
Misalkan data-datanya adalah 5 2 4 1 3
Ingin diurutkan secara ascending.

Maka:
1 --> 5 2 4 1 3 (Cek data 1 dan 3)
2 --> 5 2 4 1 3 (Cek data 4 dan 1)
3 --> 5 2 1 4 3 (Cek data 2 dan 1)
4 --> 5 1 2 4 3 (Cek data 5 dan 1)
5 --> 1 5 2 4 3 (Ulang lagi dari kanan)
6 --> 1 5 2 4 3 (Cek data 4 dan 3)
7 --> 1 5 2 3 4 (Cek data 2 dan 3)
8 --> 1 5 2 3 4 (Cek data 5 dan 2)
9 --> 1 2 5 4 3 (Ulang lagi dari kanan)
CATATAN: data 1 dan 2 tidak perlu dicek lagi, karena sudah pasti urut
10 --> 1 2 5 4 3 (Cek data 4 dan 3)
11 --> 1 2 5 3 4 (Cek data 5 dan 3)
12 --> 1 2 3 5 4 (Ulang lagi dari kanan)
13 --> 1 2 3 5 4 (Cek data 5 dan 4)
14 --> 1 2 3 4 5 (Ulang lagi dari kanan)
15 --> 1 2 3 4 5 (Karena data sudah terurut, maka selesai).

Gambaran source codenya bisa dilihat dibawah.
Untuk program utamanya.


Untuk fungsi bubble sortnya.


Oh iya. Disini saya menggunakan beberapa fungsi tambahan selain int main(),
tapi jika kalian ingin membuat bubble sortnya ke dalam fungsi main() pun tidak masalah.

Kemudian contoh eksekusi program.



Sekian penjelasan singkat tentang Bubble Sort.
Kalo ada pertanyaan atau saran pada postingan ini, silahkan tulis di komentar.
Terima kasih.
Wassalamu'alaikum.

Tidak ada komentar:

Posting Komentar