bubble sort dengan perulangan for
1. Data Awal
Data yang akan diurutkan:
[5, 60, 10, 20, 30, 70, 55, 12]
Jumlah data ($n$) = 8 elemen. Indeks dimulai dari 0 sampai 7.
2.Penjelasan Algoritma:
len(data): Digunakan untuk menghitung jumlah total elemen dalam list ().Perulangan Luar (
for i in range(n - 1)): Mengatur berapa kali proses iterasi (pass) pengurutan dilakukan. Pengurutan membutuhkan maksimal kali putaran.Perulangan Dalam (
for j in range(n - 1 - i)): Berfungsi untuk membandingkan setiap pasangan elemen yang bersebelahan (data[j]dandata[j + 1]). Pengurangan- idilakukan karena elemen paling ujung kanan yang sudah pernah dicek pada iterasi sebelumnya pasti sudah berada di posisi terbesar yang benar, sehingga tidak perlu dicek ulang.Pernyataan
if: Memeriksa apakah nilai sebelah kiri lebih besar daripada sebelah kanan. Jika ya, posisi keduanya ditukar menggunakan teknik swapping (data[j], data[j + 1] = data[j + 1], data[j]).
3.Langkah-Langkah (Simulasi) Pengurutan Data
Algoritma Bubble Sort bekerja dengan membandingkan dua elemen yang bersebelahan dan menukarnya jika elemen sebelah kiri lebih besar dari sebelah kanan.
Pass 1 (Iterasi ke-1)
[5, 60, 10, 20, 30, 70, 55, 12]$\rightarrow$ 5 dan 60 tetap[5, 10, 60, 20, 30, 70, 55, 12]$\rightarrow$ 60 dan 10 ditukar[5, 10, 20, 60, 30, 70, 55, 12]$\rightarrow$ 60 dan 20 ditukar[5, 10, 20, 30, 60, 70, 55, 12]$\rightarrow$ 60 dan 30 ditukar[5, 10, 20, 30, 60, 70, 55, 12]$\rightarrow$ 60 dan 70 tetap[5, 10, 20, 30, 60, 55, 70, 12]$\rightarrow$ 70 dan 55 ditukar[5, 10, 20, 30, 60, 55, 12, 70]$\rightarrow$ 70 dan 12 ditukar (Elemen terbesar 70 sudah di posisi akhir)
Pass 2 (Iterasi ke-2)
[5, 10, 20, 30, 55, 60, 12, 70]$\rightarrow$ 60 dan 55 ditukar[5, 10, 20, 30, 55, 12, 60, 70]$\rightarrow$ 60 dan 12 ditukar (60 berpindah ke posisi semestinya)
Pass 3 (Iterasi ke-3)
[5, 10, 20, 30, 12, 55, 60, 70]$\rightarrow$ 55 dan 12 ditukar
Pass 4 (Iterasi ke-4)
[5, 10, 20, 12, 30, 55, 60, 70]$\rightarrow$ 30 dan 12 ditukar
Pass 5 (Iterasi ke-5)
[5, 10, 12, 20, 30, 55, 60, 70]$\rightarrow$ 20 dan 12 ditukar
Pass 6 & 7 (Iterasi ke-6 dan ke-7)
Pada tahap ini, pengecekan dilanjutkan hingga seluruh elemen sudah berada di posisi yang benar tanpa ada lagi pertukaran nilai.
Hasil Akhir (Data Terurut)
[5, 10, 12, 20, 30, 55, 60, 70]
Bubble Sort adalah salah satu algoritma pengurutan data (sorting) paling sederhana yang bekerja dengan cara membandingkan elemen-elemen yang bersebelahan secara berpasangan dan menukar posisinya jika urutannya salah.
Nama "Bubble" (gelembung) diberikan karena cara kerja algoritma ini mirip seperti gelembung udara yang mengambang naik ke permukaan air—di mana nilai elemen yang paling besar (atau paling kecil, tergantung kebutuhan) secara perlahan "mengapung" atau bergeser ke ujung list pada setiap proses putaran (pass).
Komentar
Posting Komentar