SlideShare a Scribd company logo
Sorting Algorithms
1. Selection
2. Bubble
3. Insertion
4. Merge
5. Quick
6. Shell
Buble Sort
• Metode gelembung (bubble sort) disebut dengan
metode penukaran (exchange sort) adalah
metode yang mengurutkan data dengan cara
membandingkan masing-masing elemen,
kemudian melakukan penukaran bila perlu.
• Metode ini mudah dipahami dan diprogram,
tetapi bila dibandingkan dengan metode lain
yang kita pelajari, metode ini merupakan metode
yang paling tidak efisien.
"Bubbling Up" the Largest Element
• Mengecek sekumpulan elemen
– Memindahkannya dari posisi awal ke akhir
– “Menggelembungkan" nilai terbesar ke bagian
akhir menggunakan metode pembandingan
sepasang dan penukaran
512354277 101
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
512354277 101Swap42 77
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
512357742 101Swap35 77
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
512773542 101Swap12 77
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
577123542 101
No need to swap
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
577123542 101Swap5 101
0 1 2 3 4 5
"Bubbling Up" the Largest Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping
77123542 5 101
Nilai terbesar telah menempati posisinya
0 1 2 3 4 5
Algoritma Metode Bubble Sort
untuk satu kali iterasi
1. pos_akhir ← n-2
2. index ← 0
3. selama index <= pos_akhir kerjakan
baris 4 dan 5
4. Jika A[index] > A[index+1]
Swap(A[index], A[index+1])
5. index ← index + 1
Algoritma Metode Bubble Sort
versi 2
pos_akhir <- n – 2
index <- 0
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
Yang perlu diperhatikan….
• Perhatikan bahwa hanya nilai terbesar
yang sudah menempati posisinya
• Seluruh nilai yang lain masih belum
terurutkan
• Sehingga kita perlu mengulang proses ini
77123542 5 101
Nilai terbesar telah menempati posisinya
0 1 2 3 4 5
Repeat “Bubble Up” How Many Times?
• Jika kita punya N elemen…
• Dan jika setiap kali kita menggelembung
kan sebuah elemen, kita menempatkannya
pada posisi yang tepat…
• Berarti, kita mengulang proses “bubble up”
sebanyak N – 1 kali.
• Hal ini menjamin kita akan menempatkan
seluruh N elemen secara tepat.
“Bubbling” All the Elements
77123542 5
0 1 2 3 4 5
101
5421235 77
0 1 2 3 4 5
101
4253512 77
0 1 2 3 4 5
101
4235512 77
0 1 2 3 4 5
101
4235125 77
0 1 2 3 4 5
101
N-1
Mengurangi Jumlah
Pembandingan
12354277 101
0 1 2 3 4 5
5
77123542 5
0 1 2 3 4 5
101
5421235 77
0 1 2 3 4 5
101
4253512 77
0 1 2 3 4 5
101
4235512 77
0 1 2 3 4 5
101
Mengurangi Jumlah Pembandingan
• Pada proses “bubble up” ke-N, kita hanya butuh
untuk melakukan sebanyak MAX-N
pembandingan.
• Contoh:
– Ini adalah proses “bubble up” ke-4
– MAX adalah 6
– So, kita punya 2 pembandingan yang harus dilakukan
4253512 77
0 1 2 3 4 5
101
Putting It All Together
N adalah … //Ukuran array
Arr_Type define as Array[0..N-1] of Num
Procedure Swap(n1, n2 isoftype in/out Num)
temp isoftype Num
temp <- n1
n1 <- n2
n2 <- temp
endprocedure //Swap
procedure Bubblesort(A isoftype in/out Arr_Type)
pos_akhir, index isoftype Num
pos_akhir <- N – 2
loop
exitif(pos_akhir < 0)
index <- 0
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
endprocedure // Bubblesort
Innerloop
Outerloop
Apakah seluruh elemen
telah terurut?
• Bagaimana jika seluruh elemen telah terurut?
• Bagaimana jika hanya sedikit elemen yang tidak
pada posisinya, dan setelah beberapa operasi
“bubble up,” seluruh elemen telah terurut?
• Kita menginginkan untuk bisa mendeteksi kondisi
ini dan “stop early”!
4235125 77
0 1 2 3 4 5
101
Gunakan sebuah “Flag” Boolean
• Kita bisa menggunakan sebuah variabel
boolean untuk menentukan apakah terjadi
operasi swapping selama proses “bubble
up.”
• Jika tidak terjadi, maka kita akan mengetahui
bahwa seluruh elemen telah terurut!
• “flag” boolean ini perlu di-RESET setiap kali
selesai satu kali operasi “bubble up.”
did_swap isoftype Boolean
did_swap <- true
loop
exitif ((pos_akhir < 0) OR NOT(did_swap))
index <- 0
did_swap <- false //did_swap diRESET
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
did_swap <- true
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
Summary
• Algoritma “Bubble Up” akan
memindahkan nilai terbesar ke posisinya
yang tepat (di sebelah kanan)
• Ulangi proses “Bubble Up” sampai
seluruh elemen telah menempati
posisinya yang tepat:
– Maximum sebanyak N-1 kali
– Bisa berakhir lebih cepat jika tidak lagi terjadi
swapping (penukaran)
• Kita mengurangi jumlah pembandingan
elemen setiap kali satu elemen berhasil
diletakkan pada posisinya yang tepat.
Analysis of Bubble Sort
• Berapa kali pembandingan pada inner loop?
– pos_akhir dimulai dari nilai N-2 turun sampai
dengan 0 , sehingga pembandingan pada inner
loop adalah N-1 kali
– Average: N/2 untuk setiap kali “pass” outer loop.
• Berapa kali “pass” outer loop?
N – 1
procedure BubbleSort(A isoftype in/out Arr_Type)
pos_akhir, index isoftype Num
pos_akhir <- N – 2
loop
exitif(pos_akhir < 0)
index <- 0
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
endprocedure // Bubblesort
pos_akhirN-1
Bubble Sort Analysis
• BEST CASE:
- Array sudah dalam keadaan terurut naik
- Jumlah pembandingan key (C) : n-1
- Jumlah swap = 0
- Jumlah pergeseran (M) : 0
• WORST CASE
- Array dalam urutan kebalikannya
- Jumlah pembandingan key (C) :
(n-1) + (n-2) + .. + 1 = n * (n-1) / 2
- Jumlah swap = (n-1) + (n-2) + .. + 1 = n * (n-1) / 2
- Jumlah pergeseran (M) : 3 * n * (n-1) / 2
Kompleksitas Bubble Sort
Perhatikan pada hubungan antara 2 loop
yang ada:
– Inner loop bersarang di dalam outer loop
– Inner loop akan dieksekusi untuk setiap
iterasi dari outer loop
Bubble Sort
• Mirip dengan Selection, setiap kali
proses “Bubble Up” akan memilih nilai
maksimum dari elemen yang ada
pada sisi unsorted
• Wastes time imparting some order to
the unsorted part of the array
O(N2) Runtime Example
• Assume you are sorting 250,000,000 items
• N = 250,000,000
• N2 = 6.25 x 1016
• If you can do one operation per nanosecond
(10-9 sec) which is fast!
• It will take 6.25 x 107 seconds
• So 6.25 x 107
60 x 60 x 24 x 365
= 1.98 years

More Related Content

What's hot

Materi kalkulus 2
Materi kalkulus 2Materi kalkulus 2
Materi kalkulus 2
Mohamad Nur Fauzi
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
 
Metode Numerik Penyelesaian Persamaan Linier Simultan
Metode Numerik Penyelesaian Persamaan Linier SimultanMetode Numerik Penyelesaian Persamaan Linier Simultan
Metode Numerik Penyelesaian Persamaan Linier Simultan
Aururia Begi Wiwiet Rambang
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
Shift register dan data direction
Shift register dan data directionShift register dan data direction
Shift register dan data direction
rahardian24
 
Laporan 2 (ripple counter)
Laporan 2 (ripple counter)Laporan 2 (ripple counter)
Laporan 2 (ripple counter)
Nasrudin Waulat
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Mikroprosesor dan Mikrokontroler
Mikroprosesor dan MikrokontrolerMikroprosesor dan Mikrokontroler
Mikroprosesor dan Mikrokontroler
Rizki Nugroho
 
Chap2 prob 2
Chap2 prob 2Chap2 prob 2
Chap2 prob 2HIMTI
 
Transformasi Laplace
Transformasi LaplaceTransformasi Laplace
Transformasi Laplace
Kelinci Coklat
 
cara menghitung Minterm dan maxterm aljabar boolean
cara menghitung Minterm dan maxterm aljabar booleancara menghitung Minterm dan maxterm aljabar boolean
cara menghitung Minterm dan maxterm aljabar boolean
Awas Andreas
 
Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
Acomic Comic
 
Laporan modul praktikum elektronika digital
Laporan modul praktikum elektronika digitalLaporan modul praktikum elektronika digital
Laporan modul praktikum elektronika digital
Sawah Dan Ladang Ku
 
Artikel Counter sinkron dan asinkron
Artikel Counter sinkron dan asinkronArtikel Counter sinkron dan asinkron
Artikel Counter sinkron dan asinkron
IGustingurahKanha
 
Tugas sistem digital 7 segmen
Tugas sistem digital 7 segmenTugas sistem digital 7 segmen
Tugas sistem digital 7 segmen
Hadri Fanzs
 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
Nerossi Jonathan
 

What's hot (20)

Materi kalkulus 2
Materi kalkulus 2Materi kalkulus 2
Materi kalkulus 2
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Metode Numerik Penyelesaian Persamaan Linier Simultan
Metode Numerik Penyelesaian Persamaan Linier SimultanMetode Numerik Penyelesaian Persamaan Linier Simultan
Metode Numerik Penyelesaian Persamaan Linier Simultan
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Shift register dan data direction
Shift register dan data directionShift register dan data direction
Shift register dan data direction
 
Laporan 2 (ripple counter)
Laporan 2 (ripple counter)Laporan 2 (ripple counter)
Laporan 2 (ripple counter)
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Kuliah 12-deret-taylor-maclaurin
Kuliah 12-deret-taylor-maclaurinKuliah 12-deret-taylor-maclaurin
Kuliah 12-deret-taylor-maclaurin
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Mikroprosesor dan Mikrokontroler
Mikroprosesor dan MikrokontrolerMikroprosesor dan Mikrokontroler
Mikroprosesor dan Mikrokontroler
 
Bab 4 aljabar boolean
Bab 4 aljabar booleanBab 4 aljabar boolean
Bab 4 aljabar boolean
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 
Chap2 prob 2
Chap2 prob 2Chap2 prob 2
Chap2 prob 2
 
Transformasi Laplace
Transformasi LaplaceTransformasi Laplace
Transformasi Laplace
 
cara menghitung Minterm dan maxterm aljabar boolean
cara menghitung Minterm dan maxterm aljabar booleancara menghitung Minterm dan maxterm aljabar boolean
cara menghitung Minterm dan maxterm aljabar boolean
 
Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
 
Laporan modul praktikum elektronika digital
Laporan modul praktikum elektronika digitalLaporan modul praktikum elektronika digital
Laporan modul praktikum elektronika digital
 
Artikel Counter sinkron dan asinkron
Artikel Counter sinkron dan asinkronArtikel Counter sinkron dan asinkron
Artikel Counter sinkron dan asinkron
 
Tugas sistem digital 7 segmen
Tugas sistem digital 7 segmenTugas sistem digital 7 segmen
Tugas sistem digital 7 segmen
 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
 

Similar to Sorting bubble-sort

Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
BintangWijaya5
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
Mutia Rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
Bab 2 sorting_array
Bab 2 sorting_arrayBab 2 sorting_array
Bab 2 sorting_array
arii_manroe
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sortFajar Zain
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancana
Ririn Indah
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Shofura Kamal
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting array
Fahuda E
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2
maidah .
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
MangarasYanuF
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
SITI MUTIAH NURMALA DEWI
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
septiara5
 

Similar to Sorting bubble-sort (16)

Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Bab 2 sorting_array
Bab 2 sorting_arrayBab 2 sorting_array
Bab 2 sorting_array
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sort
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancana
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting array
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
 

More from Fajar Zain

Bahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaBahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan Pencegahannya
Fajar Zain
 
9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)Fajar Zain
 
7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) 7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) Fajar Zain
 
6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)Fajar Zain
 
5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)Fajar Zain
 
4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)Fajar Zain
 
3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)Fajar Zain
 
2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)Fajar Zain
 
1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)Fajar Zain
 
Sorting shell-sort bw
Sorting   shell-sort bwSorting   shell-sort bw
Sorting shell-sort bwFajar Zain
 
Sorting quick-sort
Sorting   quick-sortSorting   quick-sort
Sorting quick-sortFajar Zain
 
Sorting merge-sort
Sorting   merge-sortSorting   merge-sort
Sorting merge-sortFajar Zain
 
Sorting insertion-sort
Sorting   insertion-sortSorting   insertion-sort
Sorting insertion-sortFajar Zain
 
Sorting bubble-sort anim
Sorting   bubble-sort animSorting   bubble-sort anim
Sorting bubble-sort animFajar Zain
 
06. struktur cpu 2
06. struktur cpu 206. struktur cpu 2
06. struktur cpu 2Fajar Zain
 
05. struktur cpu
05. struktur cpu05. struktur cpu
05. struktur cpuFajar Zain
 
04. evolusi dan kinerja komputer 2
04. evolusi dan kinerja komputer  204. evolusi dan kinerja komputer  2
04. evolusi dan kinerja komputer 2Fajar Zain
 

More from Fajar Zain (20)

Bahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaBahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan Pencegahannya
 
Bentuk negara
Bentuk negaraBentuk negara
Bentuk negara
 
9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)
 
7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) 7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006)
 
6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)
 
5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)
 
4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)
 
3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)
 
2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)
 
1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)
 
Sorting shell-sort bw
Sorting   shell-sort bwSorting   shell-sort bw
Sorting shell-sort bw
 
Sorting quick-sort
Sorting   quick-sortSorting   quick-sort
Sorting quick-sort
 
Sorting merge-sort
Sorting   merge-sortSorting   merge-sort
Sorting merge-sort
 
Sorting insertion-sort
Sorting   insertion-sortSorting   insertion-sort
Sorting insertion-sort
 
Sorting bubble-sort anim
Sorting   bubble-sort animSorting   bubble-sort anim
Sorting bubble-sort anim
 
08. memory 2
08. memory 208. memory 2
08. memory 2
 
07. memory
07. memory07. memory
07. memory
 
06. struktur cpu 2
06. struktur cpu 206. struktur cpu 2
06. struktur cpu 2
 
05. struktur cpu
05. struktur cpu05. struktur cpu
05. struktur cpu
 
04. evolusi dan kinerja komputer 2
04. evolusi dan kinerja komputer  204. evolusi dan kinerja komputer  2
04. evolusi dan kinerja komputer 2
 

Recently uploaded

Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
bobobodo693
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
SABDA
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
PURWANTOSDNWATES2
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
MuhammadBagusAprilia1
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
lindaagina84
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
RinawatiRinawati10
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Fathan Emran
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
suprihatin1885
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
widyakusuma99
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
DataSupriatna
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
Hernowo Subiantoro
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
johan199969
 

Recently uploaded (20)

Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
 

Sorting bubble-sort

  • 1. Sorting Algorithms 1. Selection 2. Bubble 3. Insertion 4. Merge 5. Quick 6. Shell
  • 2. Buble Sort • Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. • Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari, metode ini merupakan metode yang paling tidak efisien.
  • 3. "Bubbling Up" the Largest Element • Mengecek sekumpulan elemen – Memindahkannya dari posisi awal ke akhir – “Menggelembungkan" nilai terbesar ke bagian akhir menggunakan metode pembandingan sepasang dan penukaran 512354277 101 0 1 2 3 4 5
  • 4. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 512354277 101Swap42 77 0 1 2 3 4 5
  • 5. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 512357742 101Swap35 77 0 1 2 3 4 5
  • 6. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 512773542 101Swap12 77 0 1 2 3 4 5
  • 7. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 577123542 101 No need to swap 0 1 2 3 4 5
  • 8. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 577123542 101Swap5 101 0 1 2 3 4 5
  • 9. "Bubbling Up" the Largest Element • Traverse a collection of elements – Move from the front to the end – “Bubble” the largest value to the end using pair- wise comparisons and swapping 77123542 5 101 Nilai terbesar telah menempati posisinya 0 1 2 3 4 5
  • 10. Algoritma Metode Bubble Sort untuk satu kali iterasi 1. pos_akhir ← n-2 2. index ← 0 3. selama index <= pos_akhir kerjakan baris 4 dan 5 4. Jika A[index] > A[index+1] Swap(A[index], A[index+1]) 5. index ← index + 1
  • 11. Algoritma Metode Bubble Sort versi 2 pos_akhir <- n – 2 index <- 0 loop exitif(index > pos_akhir) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) endif index <- index + 1 endloop
  • 12. Yang perlu diperhatikan…. • Perhatikan bahwa hanya nilai terbesar yang sudah menempati posisinya • Seluruh nilai yang lain masih belum terurutkan • Sehingga kita perlu mengulang proses ini 77123542 5 101 Nilai terbesar telah menempati posisinya 0 1 2 3 4 5
  • 13. Repeat “Bubble Up” How Many Times? • Jika kita punya N elemen… • Dan jika setiap kali kita menggelembung kan sebuah elemen, kita menempatkannya pada posisi yang tepat… • Berarti, kita mengulang proses “bubble up” sebanyak N – 1 kali. • Hal ini menjamin kita akan menempatkan seluruh N elemen secara tepat.
  • 14. “Bubbling” All the Elements 77123542 5 0 1 2 3 4 5 101 5421235 77 0 1 2 3 4 5 101 4253512 77 0 1 2 3 4 5 101 4235512 77 0 1 2 3 4 5 101 4235125 77 0 1 2 3 4 5 101 N-1
  • 15. Mengurangi Jumlah Pembandingan 12354277 101 0 1 2 3 4 5 5 77123542 5 0 1 2 3 4 5 101 5421235 77 0 1 2 3 4 5 101 4253512 77 0 1 2 3 4 5 101 4235512 77 0 1 2 3 4 5 101
  • 16. Mengurangi Jumlah Pembandingan • Pada proses “bubble up” ke-N, kita hanya butuh untuk melakukan sebanyak MAX-N pembandingan. • Contoh: – Ini adalah proses “bubble up” ke-4 – MAX adalah 6 – So, kita punya 2 pembandingan yang harus dilakukan 4253512 77 0 1 2 3 4 5 101
  • 17. Putting It All Together
  • 18. N adalah … //Ukuran array Arr_Type define as Array[0..N-1] of Num Procedure Swap(n1, n2 isoftype in/out Num) temp isoftype Num temp <- n1 n1 <- n2 n2 <- temp endprocedure //Swap
  • 19. procedure Bubblesort(A isoftype in/out Arr_Type) pos_akhir, index isoftype Num pos_akhir <- N – 2 loop exitif(pos_akhir < 0) index <- 0 loop exitif(index > pos_akhir) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) endif index <- index + 1 endloop pos_akhir <- pos_akhir - 1 endloop endprocedure // Bubblesort Innerloop Outerloop
  • 20. Apakah seluruh elemen telah terurut? • Bagaimana jika seluruh elemen telah terurut? • Bagaimana jika hanya sedikit elemen yang tidak pada posisinya, dan setelah beberapa operasi “bubble up,” seluruh elemen telah terurut? • Kita menginginkan untuk bisa mendeteksi kondisi ini dan “stop early”! 4235125 77 0 1 2 3 4 5 101
  • 21. Gunakan sebuah “Flag” Boolean • Kita bisa menggunakan sebuah variabel boolean untuk menentukan apakah terjadi operasi swapping selama proses “bubble up.” • Jika tidak terjadi, maka kita akan mengetahui bahwa seluruh elemen telah terurut! • “flag” boolean ini perlu di-RESET setiap kali selesai satu kali operasi “bubble up.”
  • 22. did_swap isoftype Boolean did_swap <- true loop exitif ((pos_akhir < 0) OR NOT(did_swap)) index <- 0 did_swap <- false //did_swap diRESET loop exitif(index > pos_akhir) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) did_swap <- true endif index <- index + 1 endloop pos_akhir <- pos_akhir - 1 endloop
  • 23. Summary • Algoritma “Bubble Up” akan memindahkan nilai terbesar ke posisinya yang tepat (di sebelah kanan) • Ulangi proses “Bubble Up” sampai seluruh elemen telah menempati posisinya yang tepat: – Maximum sebanyak N-1 kali – Bisa berakhir lebih cepat jika tidak lagi terjadi swapping (penukaran) • Kita mengurangi jumlah pembandingan elemen setiap kali satu elemen berhasil diletakkan pada posisinya yang tepat.
  • 24. Analysis of Bubble Sort • Berapa kali pembandingan pada inner loop? – pos_akhir dimulai dari nilai N-2 turun sampai dengan 0 , sehingga pembandingan pada inner loop adalah N-1 kali – Average: N/2 untuk setiap kali “pass” outer loop. • Berapa kali “pass” outer loop? N – 1
  • 25. procedure BubbleSort(A isoftype in/out Arr_Type) pos_akhir, index isoftype Num pos_akhir <- N – 2 loop exitif(pos_akhir < 0) index <- 0 loop exitif(index > pos_akhir) if(A[index] > A[index + 1]) then Swap(A[index], A[index + 1]) endif index <- index + 1 endloop pos_akhir <- pos_akhir - 1 endloop endprocedure // Bubblesort pos_akhirN-1
  • 26. Bubble Sort Analysis • BEST CASE: - Array sudah dalam keadaan terurut naik - Jumlah pembandingan key (C) : n-1 - Jumlah swap = 0 - Jumlah pergeseran (M) : 0 • WORST CASE - Array dalam urutan kebalikannya - Jumlah pembandingan key (C) : (n-1) + (n-2) + .. + 1 = n * (n-1) / 2 - Jumlah swap = (n-1) + (n-2) + .. + 1 = n * (n-1) / 2 - Jumlah pergeseran (M) : 3 * n * (n-1) / 2
  • 27. Kompleksitas Bubble Sort Perhatikan pada hubungan antara 2 loop yang ada: – Inner loop bersarang di dalam outer loop – Inner loop akan dieksekusi untuk setiap iterasi dari outer loop
  • 28. Bubble Sort • Mirip dengan Selection, setiap kali proses “Bubble Up” akan memilih nilai maksimum dari elemen yang ada pada sisi unsorted • Wastes time imparting some order to the unsorted part of the array
  • 29. O(N2) Runtime Example • Assume you are sorting 250,000,000 items • N = 250,000,000 • N2 = 6.25 x 1016 • If you can do one operation per nanosecond (10-9 sec) which is fast! • It will take 6.25 x 107 seconds • So 6.25 x 107 60 x 60 x 24 x 365 = 1.98 years