Algoritma Bubble SortAlgoritma Bubble Sort
Algoritma Bubble SortAlgoritma Bubble Sort
Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya. Berikut ini adalah gambaran dari algoritma
bubble sort.
banyaknya data: nData diurutkan/disorting dari yang bernilai besar
Prosesstep 1 : Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-1. Jika nilai kiri<kanan, tukarkan kedua data itu.
step 2 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai urutan ke-2. Jika nilai kiri<kanan, tukarkan kedua data itu.
step n-1 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai urutan ke-n-1. Jika nilai kiri<kanan,
tukarkan kedua data itu.
…
BUBBLE SORTBUBBLE SORT
7 4 5 8 10Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
7 4 5 8 10Step-1
Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
7 4 5 10 8Step-1
Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
7 4 10 5 8Step-1
Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
7 10 4 5 8Step-1
Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8Step-1
Awal
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 4 5 8
Step-1
Awal
Step-2
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 4 8 5
Step-1
Awal
Step-2
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 8 4 5
Step-1
Awal
Step-2
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
Step-1
Awal
Step-2
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 4 5
Step-1
Awal
Step-2
Step-3
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Step-4
Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap
Contoh Kasus Bubble SortContoh 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
Implementasi dalam Pseudo-CodeImplementasi dalam Pseudo-Code
procedure bubbleSort( A : list of
sortable items ) defined as:
do
swapped := false
for each i in 0 to length(A) - 2
inclusive do:
if A[i] > A[i+1] then
swap( A[i], A[i+1] )
swapped := true
end if
end for
while swapped
end procedure
Kelebihan dan kekuranganKelebihan dan kekurangan
Kelebihan Bubble Sort
Beberapa kelebihan dari algoritma Bubble Sort adalah
sebagai berikut :
Algoritma yang simpel. Mudah untuk diubah menjadi kode. Definisi terurut terdapat dengan jelas dalam algoritma. Cocok untuk pengurutan data dengan elemen kecil terurut.
Kelebihan dan kekuranganKelebihan dan kekurangan
Beberapa kelebihan dari algoritma Bubble Sort adalah
sebagai berikut :
Algoritma yang simpel. Mudah untuk diubah menjadi kode. Definisi terurut terdapat dengan jelas dalam algoritma. Cocok untuk pengurutan data dengan elemen kecil telah terurut.
KESIMPULANKESIMPULAN
Algoritma BubbleSort adalah algoritma yang simpel dan mudah dipelajari, selain itu memiliki definisi terurut yang jelas dalam algoritmanya. Algoritma ini Akan tetapi, algoritma BubbleSort memiliki kelemahan, yaitu kompleksitas algoritma O(n2) pada average case dan worst case, sehingga menjadikan algoritma ini tidak efektif dalam pengurutan. Oleh karena itu, banyak diciptakan variasi BubbleSort,mulai dari modifikasi algoritma hingga penambahan langkah baru dalam bentuk comb sort dan cocktail sort.
1. Urutkan deret angka berikut dengan bubble sort
2. Tuliskan hasil tiap langkah (step).
13 14 10 4 18 20 25 17
QUIZQUIZ