algoritma bubble sort

23
Algoritma Bubble Sort

Upload: erhan-ardianda

Post on 17-Jun-2015

7.278 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Algoritma bubble sort

Algoritma Bubble SortAlgoritma Bubble Sort

Page 2: Algoritma 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.

Page 3: 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

Page 4: Algoritma bubble sort

7 4 5 8 10Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 5: Algoritma bubble sort

7 4 5 8 10

7 4 5 8 10Step-1

Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 6: Algoritma bubble sort

7 4 5 8 10

7 4 5 10 8Step-1

Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 7: Algoritma bubble sort

7 4 5 8 10

7 4 10 5 8Step-1

Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 8: Algoritma bubble sort

7 4 5 8 10

7 10 4 5 8Step-1

Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 9: Algoritma bubble sort

7 4 5 8 10

10 7 4 5 8Step-1

Awal

Bubble Sort: tahap demi tahapBubble Sort: tahap demi tahap

Page 10: Algoritma bubble sort

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

Page 11: Algoritma bubble sort

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

Page 12: Algoritma bubble sort

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

Page 13: Algoritma bubble sort

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

Page 14: Algoritma bubble sort

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

Page 15: Algoritma bubble sort

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

Page 16: Algoritma bubble sort

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

Page 17: Algoritma bubble sort

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

Page 18: Algoritma bubble sort

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

Page 19: Algoritma bubble sort

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

Page 20: Algoritma bubble sort

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.

Page 21: Algoritma bubble sort

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.

Page 22: Algoritma bubble sort

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.

Page 23: Algoritma bubble sort

1. Urutkan deret angka berikut dengan bubble sort

2. Tuliskan hasil tiap langkah (step).

13 14 10 4 18 20 25 17

QUIZQUIZ