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
53821

Iterasi 1
53821
35821

35821
35821

35821
35281

35281
35218

Iterasi 2
35218
35218

35218
32518

32518
32158

32158
32158

Iterasi 3
32158
23158

23158
21358

21358
21358

21358
21358

Iterasi 4
21358
12358

12358
12358

12358
12358

12358
12358
Berikut ini contoh program mengurutkan dengan menggunakan bubble sort ascending.
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
53821

Iterasi 1
53821
53821

53821
58321

58321
58321

58321
58321

Iterasi 2
58321
85321

85321
85321

85321
85321

85321
85321


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

Postingan populer dari blog ini

Dasar Pemrograman - Tugas Program Mengurutkan Bilangan menggunakan If-Else

Chapter 7 : SOCIAL NETWORKING, ENGAGEMENT, AND SOCIAL METRICS - SISTEM INFORMASI

Dasar Pemrograman - Kasus