Algoritma Pemrograman - Bubble Sort
Bubble Sort
Bubble Sort adalah salah satu algoritma sorting yang sederhana dan mudah dipahami. Jika belum memahami materi sorting, anda dapat membacanya disini.
Algoritma bubble sort bekerja dengan membandingkan dua elemen sekaligus dalam sebuah koleksi data. Jika urutannya salah, maka elemen tersebut ditukar posisinya. Proses ini akan terus diulang hingga tidak ada lagi perubahan yang terjadi.
Ascending (Menaik):
- Mulai dengan koleksi data yang akan diurutkan.
- Iterasikan melalui setiap elemen dalam koleksi data, dimulai dari indeks 0.
- Bandingkan setiap pasangan elemen bersebelahan.
- Jika urutan kedua elemen tersebut salah (elemen sebelah kiri lebih besar dari elemen sebelah kanan), tukar posisi kedua elemen tersebut.
- Lanjutkan iterasi melalui seluruh elemen dalam koleksi data hingga iterasi terakhir.
- Ulangi langkah-langkah diatas untuk (n-1) iterasi, di mana n adalah jumlah elemen dalam koleksi data.
- Setelah selesai, elemen dengan nilai terkecil akan berada di posisi awal, sedangkan elemen dengan nilai terbesar akan berada di posisi akhir.
Contoh penggambaran
Iterasi 2
Iterasi 3
Iterasi 4
Maka akan menghasilkan output sebagai berikut.
Descending (Menurun):
- Mulai dengan koleksi data yang akan diurutkan.
- Iterasikan melalui setiap elemen dalam koleksi data, dimulai dari indeks 0.
- Bandingkan setiap pasangan elemen bersebelahan.
- Jika urutan kedua elemen tersebut salah (elemen sebelah kiri lebih kecil dari elemen sebelah kanan), tukar posisi kedua elemen tersebut.
- Lanjutkan iterasi melalui seluruh elemen dalam koleksi data hingga iterasi terakhir.
- Ulangi langkah-langkah diatas untuk (n-1) iterasi, di mana n adalah jumlah elemen dalam koleksi data.
- Setelah selesai, elemen dengan nilai terbesar akan berada di posisi awal, sedangkan elemen dengan nilai terkecil akan berada di posisi akhir.
Contoh penggambaran
Iterasi 2
Berikut ini contoh program dengan mengubah syntax bubble sort ascending diatas menjadi descending.
Maka akan menghasilkan output sebagai berikut.
Berdasarkan contoh bubble sort ascending dan descending yang saya berikan diatas, perubahan yang dilakukan adalah pada bagian perbandingan dalam algoritma Bubble Sort. Di sini, tanda > diubah menjadi < pada perbandingan if (array[j] < array[j + 1]). Dengan perubahan ini, elemen-elemen akan diurutkan secara descending, yaitu dari nilai terbesar ke nilai terkecil.
Bubble Sort merupakan salah satu algoritma sorting yang memiliki kompleksitas waktu terburuk, yaitu O(n^2), di mana n adalah jumlah elemen dalam koleksi data. Oleh karena itu, algoritma ini tidak efisien untuk jumlah data yang sangat besar. Namun, Bubble Sort tetap dapat digunakan untuk pengurutan sederhana atau pada data dengan jumlah elemen yang terbatas.
Komentar
Posting Komentar