dibimbing.id - Bubble Sort: Pengertian, Cara Kerja, dan Implementasinya

Bubble Sort: Pengertian, Cara Kerja, dan Implementasinya

Siti Khadijah Azzukhruf Firdausi

•

28 February 2024

•

1063

Image Banner

Pengurutan data adalah salah satu operasi dasar untuk mempermudah proses analisis dan pencarian pada pemrograman. Bubble sort adalah salah satu metode pengurutan paling sederhana dan fundamental.


Selain itu, bubble sort juga cukup menonjol karena pendekatannya yang intuitif dalam menukar elemen di urutan tidak sesuai. Ingin tahu lengkapnya? Baca artikel ini sampai habis ya!


Apa yang Dimaksud dengan Metode Bubble Sort?


Bubble sort adalah algoritma pengurutan yang cukup sederhana dan fundamental. Ini bekerja dengan membandingkan atau menukar pasangan elemen bersebelahan dalam sebuah array apabila mereka ada di urutan tidak sesuai.


Proses penukaran dan pembandingan dari awal array hingga akhir. Ini juga dilakukan berulang kali hingga tidak ada lagi pertukaran yang diperlukan. Pada intinya, ini dilakukan hingga ada tanda bahwa array tersebut telah terurut sepenuhnya.


Lebih lanjut, konsep utama dari bubble sort adalah untuk membuihkan elemen dengan nilai terbesar ke posisi terakhir pada setiap iterasi. Dengan begitu, elemen dengan nilai terkecil secara bertahap bergerak ke posisi awal array.


Oleh sebab itu, metode ini dinamakan bubble sort atau pengurutan gelumbung.


Cara Kerja Bubble Sort


Bubble sort memiliki cara kerja yang melibatkan iterasi berulang kali melalui array. Tujuannya adalah untuk membandingkan atau menukar elemen yang bersebelahan agar urutannya jadi benar. 


Beberapa langkah dalam proses pengurutan menggunakan metode bubble sort adalah:

  1. Bandingkan elemen saat ini dengan berikutnya mulai dari yang pertama di array.

  2. Apabila elemen ini lebih besar dari berikutnya maka tukar posisi keduanya (berlaku untuk pengurutan ascending).

  3. Pindah ke pasangan elemen berikutnya dan ulangi proses perbandingan serta penukaran hingga seluruh array telah diiterasi.

  4. Lakukan iterasi berulang kali. Kecuali untuk elemen terakhir yang telah ditempatkan pada posisinya pada iterasi sebelumnya.

  5. Ulang proses hingga tidak ada lagi tukar posisi yang terjadi.


Baca Juga:  Contoh Program Array C++ Seperti Apa?


Visualisasi Proses Bubble Sort


Misalkan kita memiliki array awal [5, 3, 8, 4, 2], berikut adalah bagaimana bubble sort akan mengurutkannya secara ascending:


  • Pass 1:

    • Bandingkan 5 dan 3, tukar karena 5 > 3 → [3, 5, 8, 4, 2]

    • Bandingkan 5 dan 8, tidak tukar karena 5 < 8 → [3, 5, 8, 4, 2]

    • Bandingkan 8 dan 4, tukar karena 8 > 4 → [3, 5, 4, 8, 2]

    • Bandingkan 8 dan 2, tukar karena 8 > 2 → [3, 5, 4, 2, 8]

  • Pass 2:

    • Dan seterusnya, mengesampingkan elemen terakhir yang sudah terurut (dalam kasus ini, 8 pada pass kedua).


Proses ini berlanjut hingga array terurut sepenuhnya.


Kelebihan dan Kekurangan Bubble Sort


Bubble sort adalah salah satu algoritma pengurutan yang paling sederhana dan mudah dipahami. Meski begitu, bubble sort juga memiliki kelebihan dan kekurangan yang tetap harus dipertimbangkan.


Berikut adalah beberapa kelebihan dan kekurangan bubble sort:


Kelebihan Bubble Sort


Beberapa kelebihan bubble sort adalah:


  • Sederhana dan Mudah Dipahami: Bubble sort adalah algoritma yang sangat intuitif dan mudah diimplementasikan. Sehingga, ini mudah digunakan bagi pemula dalam pemrograman.

  • Tidak Memerlukan Ruang Tambahan: Ini merupakan algoritma pengurutan in-place. Artinya, bubble sort tidak memerlukan alokasi memori tambahan yang signifikan. Semua operasi penukaran dilakukan dalam array yang sama.

  • Dapat Mendeteksi Array Terurut: Algoritma ini dapat menghentikan dirinya lebih awal jika array sudah terurut. Ini menjadikannya efisien untuk data yang hampir atau sudah terurut.

  • Stabil: Bubble sort adalah algoritma pengurutan yang stabil. Dengan algoritma ini, dua objek dengan nilai kunci yang sama akan mempertahankan urutan relatif mereka sebelum dan sesudah pengurutan.


Kekurangan Bubble Sort


Beberapa kekurangan bubble sort yang harus dipertimbangkan adalah:


  • Inefisien untuk Data Set Besar: Dengan kompleksitas waktu O(n^2) di kasus rata-rata dan terburuk, bubble sort menjadi sangat inefisien untuk mengurutkan data set yang besar.

  • Banyak Operasi Penukaran: Bubble sort sering melakukan penukaran elemen. Ini menjadikannya operasi yang mahal dari segi waktu proses, terutama untuk data set besar.

  • Lambat: Bubble sort bekerja lebih lambat karena jumlah perbandingan dan penukaran yang banyak.

  • Tidak Praktis untuk Penggunaan Umum: Bubble sort jarang digunakan di aplikasi praktis di luar konteks pembelajaran dan pengajaran algoritma pengurutan. Ini karena kelemahannya dalam menangani data set besar dan efisiensi yang rendah.


Baca Juga: 10 Fungsi yang Mungkin Diperlukan dalam Proyek Typescript Kamu


Implementasi Bubble Sort


Untuk memahami bubble sort secara lebih dalam, MinDi siapkan contoh implementasi kodenya. Implementasi bubble sort ini digunakan untuk mengurutkan array [64, 34, 25, 12, 22, 11, 90] menjadi [11, 12, 22, 25, 34, 64, 90]. 


Berikut adalah kode Python untuk implementasi tersebut:



Demikian pembahasan bubble sort yang meliputi pengertian hingga implementasinya. Dari penjelasan di atas, dapat disimpulkan bahwa bubble sort adalah salah satu algoritma pengurutan yang tergolong sederhana dan mudah digunakan.


Meski begitu, algoritma ini tidak cocok digunakan untuk data set besar. Untuk mengolah data set dalam jumlah besar, ada beberapa metode yang bisa digunakan. Tertarik untuk mempelajarinya?


Bagi yang tertarik memperdalam ilmu data, MinDi rekomendasikan kamu untuk ikut Bootcamp Data Science Dibimbing.id. Program ini cocok untuk kamu yang mau belajar data science dari nol hingga mahir.


Pembelajarannya lengkap dan didasari oleh silabus beginner-friendly. Kamu bisa belajar teori, tools, aplikasi data, scope of work di industri, hingga praktik dengan real-case project. Intinya, kamu bakal dibimbing sampai jadi!


Tertarik? Daftarkan dirimu dan mulai karir di data science bareng Dibimbing.id!



Share

Author Image

Siti Khadijah Azzukhruf Firdausi

Khadijah adalah SEO Content Writer di Dibimbing dengan pengalaman menulis konten selama kurang lebih setahun. Sebagai lulusan Bahasa dan Sastra Inggris yang berminat tinggi di digital marketing, Khadijah aktif berbagi pandangan tentang industri ini. Berbagai topik yang dieksplorasinya mencakup digital marketing, project management, data science, web development, dan career preparation.

Hi!👋

Kalau kamu butuh bantuan,

hubungi kami via WhatsApp ya!