SlideShare a Scribd company logo
1 of 29
Download to read offline
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

Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstrukturiimpunya3
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sortFajar Zain
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Teknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherTeknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherRivalri Kristianto Hondro
 
Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)hazhiyah
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Adam Mukharil Bachtiar
 
Dts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlinDts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlinAhmad Arif Faizin
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPrasetyo Adi
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanReskidtc
 
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
 
Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03KuliahKita
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Peluang dan Distribusi Peluang
Peluang dan Distribusi PeluangPeluang dan Distribusi Peluang
Peluang dan Distribusi Peluangbagus222
 

What's hot (20)

Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstruktur
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Shell sort slide
Shell sort slideShell sort slide
Shell sort slide
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sort
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Algoritma Garis
Algoritma GarisAlgoritma Garis
Algoritma Garis
 
Teknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherTeknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair Cipher
 
Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)
 
Dts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlinDts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlin
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 
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 pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
 
Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
1001 soal pembahasan kalkulus
1001 soal pembahasan kalkulus1001 soal pembahasan kalkulus
1001 soal pembahasan kalkulus
 
Peluang dan Distribusi Peluang
Peluang dan Distribusi PeluangPeluang dan Distribusi Peluang
Peluang dan Distribusi Peluang
 

Similar to Sorting bubble-sort

Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1BintangWijaya5
 
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_arrayarii_manroe
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
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 wastukancanaRirin 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 MedianShofura Kamal
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting arrayFahuda E
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2maidah .
 
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).pptMangarasYanuF
 

Similar to Sorting bubble-sort (13)

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
 
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
 

More from Fajar Zain

Bahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaBahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaFajar 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

PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 

Recently uploaded (20)

PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 

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