HPK taruh disini
Pengertian/Konsep Buble
Sort
Metode pengurutan gelembung (Bubble Sort)
diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat
jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung
sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada
pengurutan gelembung.
Bubble sort (metode gelembung) adalah
metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan
tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi
tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah
terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan
lambat menggelembung ke posisinya yang tepat.
Kelebihan Bubble Sort
·
Metode
Buble Sort merupakan metode yang paling simpel
·
Metode
Buble Sort mudah dipahami algoritmanya
Kelemahan Bubble Sort
Meskipun simpel metode Bubble sort merupakan
metode pengurutanyang paling tidak efisien. Kelemahan buble sortadalah
pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar
biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang
diolah jika data cukup banyak. Kelemahan lain adalah jumlah pengulangan
akan tetap sama jumlahnya walaupun data sesungguhnya sudah cukup terurut. Hal
ini disebabkan setiap data dibandingkan dengan setiap data yang lain untuk
menentukan posisinya.
Algoritma Bubble Sort
1. Membandingkan data ke-i dengan
data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i =
data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika
kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z)
kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk
urutan descending (A-Z).
2. Membandingkan data ke-(i+1)
dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir.
Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n.
3. Selesai satu iterasi, adalah jika
kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu
iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai
dari data ke-1 dgn data ke-2, dst.
4. Proses akan berhenti jika tidak
ada pertukaran dalam satu iterasi.
Contoh Kasus Bubble Sort
Misalkan kita punya data seperti ini: 6, 4, 3, 2
dan kita ingin mengurutkan data ini (ascending) dengan menggunakan bubble sort.
Berikut ini adalah proses yang terjadi:
Iterasi
ke-1: 4, 6, 3, 2 :: 4, 3, 6, 2 :: 4, 3, 2, 6 (ada 3 pertukaran)
Iterasi
ke-2: 3, 4, 2, 6 :: 3, 2, 4, 6 :: 3, 2, 4, 6 (ada 2 pertukaran)
Iterasi
ke-3: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 1 pertukaran)
Iterasi
ke-4: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 0 pertukaran) ->
proses selesai