Bubble Sort merupakan salah satu algoritma pengurutan sederhana yang biasa digunakan dalam pemrograman komputer. Algoritma ini bekerja dengan cara membandingkan dua elemen sekaligus dalam suatu array dan menukar posisi jika diperlukan. Proses ini diulang secara berulang hingga seluruh elemen dalam array terurut. Meskipun bubble sort termasuk algoritma yang sederhana, namun tetap efektif untuk mengurutkan jumlah data yang tidak terlalu besar.
Cara Kerja Bubble Sort
1. Bandingkan dua elemen pertama dalam array. Jika elemen pertama lebih besar dari elemen kedua, tukar posisinya.
2. Lanjutkan proses pembandingan dan pertukaran posisi ini pada elemen kedua dan ketiga, ketiga dan keempat, dan seterusnya hingga mencapai elemen terakhir.
3. Setelah satu iterasi selesai, elemen terbesar akan berada di posisi paling belakang dari array.
4. Ulangi proses ini untuk seluruh elemen dalam array hingga seluruh elemen terurut dengan benar.
Kelebihan dan Kekurangan Bubble Sort
Kelebihan:
- Implementasi yang mudah dan sederhana.
- Cocok digunakan untuk mengurutkan array dengan jumlah elemen yang sedikit.
Kekurangan:
- Memiliki kompleksitas waktu O(n^2), yang membuatnya kurang efisien untuk jumlah data yang besar.
- Perlu melakukan banyak pertukaran elemen, terutama jika data sudah hampir terurut.
Contoh Implementasi Bubble Sort dalam Pemrograman
Berikut ini adalah contoh implementasi algoritma Bubble Sort dalam bahasa pemrograman Python:
def bubbleSort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print("Sorted array is:", arr)
Dalam contoh di atas, fungsi bubbelSort()
menerima sebuah array sebagai parameter dan melakukan pengurutan menggunakan algoritma Bubble Sort.
Analisis Kompleksitas Bubble Sort
Analisis kompleksitas waktu dari algoritma Bubble Sort adalah O(n^2) dalam kasus rata-rata dan terburuk. Hal ini disebabkan karena algoritma ini perlu melakukan pertukaran pada setiap pasangan elemen dalam array. Sehingga, walaupun Bubble Sort mudah dimengerti dan diimplementasikan, namun kurang efisien untuk data yang besar.
Kesimpulan
Bubble Sort adalah salah satu algoritma pengurutan sederhana yang bekerja dengan membandingkan dan menukar posisi dua elemen dalam array. Meskipun mudah dimengerti, algoritma ini memiliki kompleksitas waktu O(n^2) yang membuatnya kurang efisien untuk jumlah data yang besar. Oleh karena itu, sebaiknya digunakan untuk pengurutan data dengan jumlah elemen yang tidak terlalu besar.