1 / 12

Pertemuan 10 DIVIDE AND CONQUER (2)

Pertemuan 10 DIVIDE AND CONQUER (2). Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008. SELECTION SORT. Mengurutkan sederetan bilangan dengan cara : Cari bilangan terkecil, tempatkan di posisinya Cari bilangan kedua terkecil, tempatkan di posisinya

delora
Download Presentation

Pertemuan 10 DIVIDE AND CONQUER (2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 10DIVIDE AND CONQUER (2) Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008

  2. SELECTION SORT • Mengurutkan sederetan bilangan dengan cara : • Cari bilangan terkecil, tempatkan di posisinya • Cari bilangan kedua terkecil, tempatkan di posisinya • Cari bilangan ketiga terkecil, tempatkan di posisinya • dst • Sebuah list sepanjang N akan selesai diurutkan dalam N-1 langkah. [buku utama, bab 3.2 dan bab 5.2.1]

  3. PSEUDOCODE SELECTION SORT 1 for i=1 to N-1 do 2 min=i 3 for j=i+1 to N do 4 if A[j]<A[min] then 5 min=j 6 end if 7 end for 8 swap(A[i],A[min]) 9 end for [buku utama, pseudocode 3.6]

  4. ALUR SELECTION SORT • Misalkan kita akan mengurutkan bilangan 16, 22, 25, 3, 9, 12 dan 23 dengan teknik Selection Sort 16 22 25 3 9 12 23 3 22 25 16 9 12 23 3 9 25 16 22 12 23 3 9 12 16 22 25 23 3 9 12 16 22 25 23 3 9 12 16 22 25 23 3 9 12 16 22 23 25 3 9 12 16 22 23 25 [buku utama, bab 3.2]

  5. KOMPLEKSITAS ALGORITMA • Selection Sort • Merge Sort Θ(n log n) • Quick Sort Θ(n log n)

  6. SELECTION vs MERGE vs QUICK • Quicksort Θ(n log n) • Selection sort Θ(n2) • Tentu sudah jelas Quicksort lebih baik • Tapi bagaimana dengan Merge Sort yang sama-sama memiliki Θ(n log n)? • Apakah bisa dibandingkan dengan teori Big-Oh? • Fact : • Pada umumnya Quicksort lebih cepat daripada Mergesort • Kenapa teori Big-Oh menghasilkan nilai Theta yang sama?

  7. PENCARIAN DATA (SEARCH) • Misalkan kita memiliki sederetan bilangan [2,45,8,9,32,15,27] dan ingin mencari apakah terdapat angka 8 di deretan tersebut. • Sequential Search • Teknik paling dasar dalam pencarian • Algoritma perlu memeriksa satu per satu isi deret dan membandingkannya dengan angka 8 yang dicari • Melakukan pencarian secara berurutan (sequence) • Apabila sampai seluruh isi array telah dibandingkan dan data yang dicari belum ditemukan, berarti pencarian gagal • Sequential search bersifat fleksibel karena bisa dipakai dalam kondisi apa saja, isi array tidak harus dalam keadaan berurut • Kompleksitasnya Ο(n) [buku utama, bab 5.3]

  8. BINARY SEARCH • Karakteristik Binary Search • Merupakan teknik pencarian data secara Divide and Conquer • Isi array harus dalam keadaan berurut • Langkah-langkah : • Misalkan kita akan mencari data X di dalam array A • Tentukan Ak dimana Ak adalah elemen yang terletak tepat di tengah array A • Jika X = Ak, data ditemukan set j = k • Jika X < Ak, maka cari ke kiri ak, lakukan perulangan rekursif • Jika X > Ak, maka cari ke kanan ak, lakukan perulangan rekursif • Jika X tidak ditemukan set j = 0, data yang dicari tidak ada • Kompleksitas algoritma Binary Search adalah Ο(log2 n)

  9. PSEUDOCODE BINARY SEARCH 1 A=[2,8,9,15,27,32,45] 2 display "Angka yang dicari ? " 3 read X 4 iLow=1 5 iHigh=N 6 Hasil=0 7 while (Hasil=0) and (iLow<=iHigh) do 8 iMid=(iLow+iHigh) div 2 9 if A[iMid]=X then 10 Hasil=iMid 11 else if A[iMid]>X then 12 iHigh=iMid-1 13 else if A[iMid]<X then 14 iLow=iMid+1 15 end if 16 end while 17 if Hasil>0 then 18 display "Angka ",X," ada di urutan ke-",Hasil,NL 19 else 20 display "Angka ",X," tidak ditemukan",NL 21 end if [buku utama, pseudocode 5.7] Pelajari cara kerja Binary Search langkah per langkah di bab 5.3

  10. LATIHAN • Jelaskan langkah-langkah mengurutkan bilangan 34, 15, 23, 9, 41, 26, 39, 11, 7, 28 dengan Selection Sort! • Jelaskan langkah-langkah mencari bilangan 15 dari list 7, 9, 11, 15, 23, 26, 28, 34, 39, 41 dengan Binary Search!

  11. REVIEW • Apa yang sudah dipahami? • Apa yang akan dibahas selanjutnya?

More Related