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

What's hot (20)

6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Binary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur DataBinary Search Tree (BST) - Algoritma dan Struktur Data
Binary Search Tree (BST) - Algoritma dan Struktur Data
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Contoh soal uts struktur data
Contoh soal uts struktur dataContoh soal uts struktur data
Contoh soal uts struktur data
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Caesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherCaesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipher
 
Linked List
Linked ListLinked List
Linked List
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
Teknik Searching
Teknik SearchingTeknik Searching
Teknik Searching
 
Array dan Contoh
Array dan ContohArray dan Contoh
Array dan Contoh
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 

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
 
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 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 (15)

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
 

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

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfChananMfd
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSdheaprs
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxSaefAhmad
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfHendroGunawan8
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMIGustiBagusGending
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...Kanaidi ken
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 

Recently uploaded (20)

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 

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