SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
ANALISIS ALGORITMA
Strategi Algoritma: Divide and Conquer
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Setelah mempelajari Greedy dengan
konsep “Take what you can get now”,
ada strategi lain bernama
Divide and Conquer.
Pada awalnya, strategi ini dikenal
sebagai strategi militer yang
dikenal dengan nama
“divide ut imperes”
Ada tiga langkah utama dalam
strategi ini, yaitu:
Divide, Conquer, dan Combine.
Divide:
Membagi masalah menjadi beberapa upa-masalah yang
memiliki kemiripan dengan masalah semula namun
berukuran lebih kecil (idealnya berukuran hampir sama).
Conquer:
Memecahkan (menyelesaikan) masing-masing upa-
masalah (secara rekursif).
Combine:
Mengabungkan solusi masing-masing upa-masalah
sehingga membentuk solusi masalah semula.
Skema Umum
Divide and Conquer
Problem 1: Mencari nilai maksimum
dan minimum
Problem/Kasus:
Misalkan diberikan tabel A yang berukuran n elemen dan sudah berisi
nilai integer. Carilah nilai minimum dan nilai maksimum sekaligus di
dalam tabel tersebut.
Solusi
Brute Force
DIVIDE
CONQUER
COMBINE
Min: 4
Maks: 23
Min: 1
Maks: 35
Min: 1
Maks: 35
Ukuran tabel ketika divide dapat
dibuat lebih kecil agar pencarian maks
dan min menjadi lebih mudah.
MinMaks (A, n, min, maks)
Algoritma:
1. Untuk kasus n = 1 atau n = 2,
SOLVE: Jika n = 1, maka min = maks = A[n]
Jika n = 2, maka bandingkan kedua elemen untukmenentukan min dan maks.
2. Untuk kasus n > 2,
(a) DIVIDE: Bagi dua tabel A menjadi dua bagian yang sama, A1 dan A2
(b) CONQUER: MinMaks(A1, n/2, min1, maks1)
MInMaks(A2, n/2, min2, maks2)
(c) COMBINE: if min1 <min2 then min <- min1 else min <- min2
if maks1 <maks2 then maks <- maks2 else maks <- maks1
DIVIDE
CONQUER
&
COMBINE
Min: 4
Maks: 12
Min: 9
Maks: 23
Min: 1
Maks: 21
Min: 35
Maks: 35
Min: 2
Maks: 24
Min: 4
Maks: 12
Min: 9
Maks: 23
Min: 1
Maks: 21
Min: 2
Maks: 35
Min: 4
Maks: 9
Min: 1
Maks: 35Min: 1
Maks: 35
Solusi
Divide & Conquer
! " =
0 , " = 1
1 , " = 2
2!
"
2
+ 2 , " > 2
Problem 2: Mencari pasangan titik
terdekat (Closest Pair)
Problem/Kasus:
Diberikan himpunan titik, P, yang terdiri dari n buah titik, (xi, yi), pada
bidang 2-D. Tentukan jarak terdekat antara dua buah titik di dalam
himpunan P.
p1
p2
p3
p4
p5
p6
p7
p8
x
y
Jarak dua buah titik p1 = (x1, y1) dan p2 = (x2, y2):
2
21
2
21
)()( yyxxd -+-=
Penyelesaian dengan Brute Force:
1
Hitung jarak setiap pasang titik. Hal ini dilakukan sebanyak ! ", $ =
"(" − ()/$ pasangan titik.
2 Pilih pasangan titik yang memiliki jarak terkecil.
3 Kompleksitas algoritma adalah +("$).
Penyelesaian dengan Divide and Conquer:
1
Asumsi: ! = #$ dan titik-titik diurutkan berdasarkan absis (X).
SOLVE: jika ! = # maka jarak kedua titik dihitung langsung dengan rumus
ecludian.
Algoritma Closest Pair:
2
DIVIDE: Bagi himpunan titik ke dalam dua bagian, Pleft dan Pright, setiap
bagian mempunyai jumlah titik yang sama.
p1
p2
p3
p4
p5
p6
p7
p8
x
y
L
PLeft
PRight
3
CONQUER: Secara rekursif, terapkan algoritma Divide and Conquer
pada masing-masing bagian.
4 Pasangan titik yang terdekat ada 3 kemungkinan, yaitu:
• Pasangan titik terdekat pada bagian PLeft.
• Pasangan titik terdekar pada bagian PRight.
• Pasangan titik terdekat yang dipisahkan oleh garis batas L, yaitu satu
titik pada bagian PLeft dan satu titik pada bagian PRight.
Jika kasusnya adalah yang ketiga maka lakukan tahap COMBINE untuk
mendapatkan jarak dua titik terdekat sebagai solusi persoalan semula.
Solusi
Divide & Conquer
•
•
•
•
x
y
L
•
L
DD
strip-D
Lakukan langkah
COMBINE
Jika terdapat pasangan titik PLeft dan PRight
yang jaraknya lebih kecil dari delta
Oleh karena itu, implementasi tahap COMBINE sebagai berikut:
Temukan semua titik di PLeft yang memiliki absis x minimal xn/2 – delta.
Temukan semua titik di PRight yang memiliki absis x maksimal x n/2+ delta.
Sebut semua titik-titik yang ditemukan pada langkah (i) dan (ii) tersebut sebagai
himpunan Pstrip yang berisi s buah titik. Urut titik-titik tersebut dalam urutan absis
y yang menaik. Misalkan q1, q2 , ..., qs menyatakan hasil pengurutan.
1
2
Kompleksitas Algoritma:
î
í
ì
=
>+
=
2,
2,)2/(2
)(
na
ncnnT
nT
Solusi dari persamaan di atas adalah T(n) = O(n log n).

Contenu connexe

Tendances

Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching Kukuh Setiawan
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and ConquerEdho Pratama
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskritsaid zulhelmi
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenBAIDILAH Baidilah
 
Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02KuliahKita
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Ajeng Savitri
 
Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01KuliahKita
 
Logika Matematika, Fungsi dan Fungsi Invers
Logika Matematika, Fungsi dan Fungsi InversLogika Matematika, Fungsi dan Fungsi Invers
Logika Matematika, Fungsi dan Fungsi InversIkak Waysta
 
Interpolasi linear ppt
Interpolasi linear pptInterpolasi linear ppt
Interpolasi linear pptnirmala29
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa AlgoritmaFajar Baskoro
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04KuliahKita
 

Tendances (20)

Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and Conquer
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Graf presentasi
Graf presentasiGraf presentasi
Graf presentasi
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedy
 
relasi himpunan
relasi himpunanrelasi himpunan
relasi himpunan
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
Fungsi grafik di matlab
Fungsi grafik di matlabFungsi grafik di matlab
Fungsi grafik di matlab
 
Merge sort
Merge sortMerge sort
Merge sort
 
Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01
 
Logika Matematika, Fungsi dan Fungsi Invers
Logika Matematika, Fungsi dan Fungsi InversLogika Matematika, Fungsi dan Fungsi Invers
Logika Matematika, Fungsi dan Fungsi Invers
 
Interpolasi linear ppt
Interpolasi linear pptInterpolasi linear ppt
Interpolasi linear ppt
 
Big O - Analisa Algoritma
Big O - Analisa AlgoritmaBig O - Analisa Algoritma
Big O - Analisa Algoritma
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
 

Similaire à OPTIMAL ALG

Algoritma Devide and Conquer
Algoritma Devide and ConquerAlgoritma Devide and Conquer
Algoritma Devide and ConquerAjeng Savitri
 
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62gRadenMuhammadArfanFa
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedyrisal07
 
Kisi-kisi UN Matematika kelas 9 SMP
Kisi-kisi UN Matematika kelas 9 SMPKisi-kisi UN Matematika kelas 9 SMP
Kisi-kisi UN Matematika kelas 9 SMPNisriinaaf
 
Pekan 10 - Persamaan Polinomial.pptx
Pekan 10 - Persamaan Polinomial.pptxPekan 10 - Persamaan Polinomial.pptx
Pekan 10 - Persamaan Polinomial.pptxssuserb7d229
 
Riset operasi
Riset operasiRiset operasi
Riset operasisuperjnr
 
Teknik pemecahan LP dengan solusi grafis .docx
Teknik pemecahan LP dengan solusi grafis .docxTeknik pemecahan LP dengan solusi grafis .docx
Teknik pemecahan LP dengan solusi grafis .docxMahardikaSarahSinaga
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisikahabno
 
Limit Fungsi di Ruang Metrik
Limit Fungsi di Ruang MetrikLimit Fungsi di Ruang Metrik
Limit Fungsi di Ruang MetrikNida Shafiyanti
 
Handout Matematika Kelas 9
Handout Matematika Kelas 9Handout Matematika Kelas 9
Handout Matematika Kelas 9SalimMH1
 

Similaire à OPTIMAL ALG (20)

Algoritma Devide and Conquer
Algoritma Devide and ConquerAlgoritma Devide and Conquer
Algoritma Devide and Conquer
 
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g
4 jna jgnodh5lp0cdaaykzgqjvmqseyyopejhq62g
 
207 p12
207 p12207 p12
207 p12
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedy
 
12 metode greedy
12 metode greedy12 metode greedy
12 metode greedy
 
12 metode greedy
12 metode greedy12 metode greedy
12 metode greedy
 
12 metode greedy
12 metode greedy12 metode greedy
12 metode greedy
 
Mathasm,sdcsl.pptx
Mathasm,sdcsl.pptxMathasm,sdcsl.pptx
Mathasm,sdcsl.pptx
 
Kisi-kisi UN Matematika kelas 9 SMP
Kisi-kisi UN Matematika kelas 9 SMPKisi-kisi UN Matematika kelas 9 SMP
Kisi-kisi UN Matematika kelas 9 SMP
 
maksimum dan minimum
maksimum dan minimummaksimum dan minimum
maksimum dan minimum
 
Pekan 10 - Persamaan Polinomial.pptx
Pekan 10 - Persamaan Polinomial.pptxPekan 10 - Persamaan Polinomial.pptx
Pekan 10 - Persamaan Polinomial.pptx
 
Riset operasi
Riset operasiRiset operasi
Riset operasi
 
Teknik pemecahan LP dengan solusi grafis .docx
Teknik pemecahan LP dengan solusi grafis .docxTeknik pemecahan LP dengan solusi grafis .docx
Teknik pemecahan LP dengan solusi grafis .docx
 
Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
model-matematika.ppt
model-matematika.pptmodel-matematika.ppt
model-matematika.ppt
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
 
Presentation tampil
Presentation tampilPresentation tampil
Presentation tampil
 
Limit Fungsi di Ruang Metrik
Limit Fungsi di Ruang MetrikLimit Fungsi di Ruang Metrik
Limit Fungsi di Ruang Metrik
 
Handout Matematika Kelas 9
Handout Matematika Kelas 9Handout Matematika Kelas 9
Handout Matematika Kelas 9
 
R5 h kel 4 teori bil 2
R5 h kel 4 teori bil 2R5 h kel 4 teori bil 2
R5 h kel 4 teori bil 2
 

Plus de Adam Mukharil Bachtiar

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfAdam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesAdam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Adam Mukharil Bachtiar
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAdam Mukharil Bachtiar
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Adam Mukharil Bachtiar
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 

Plus de Adam Mukharil Bachtiar (20)

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
 
Clean Code - Formatting Code
Clean Code - Formatting CodeClean Code - Formatting Code
Clean Code - Formatting Code
 
Clean Code - Clean Comments
Clean Code - Clean CommentsClean Code - Clean Comments
Clean Code - Clean Comments
 
Clean Method
Clean MethodClean Method
Clean Method
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
 
Model Driven Software Development
Model Driven Software DevelopmentModel Driven Software Development
Model Driven Software Development
 
Scrum: How to Implement
Scrum: How to ImplementScrum: How to Implement
Scrum: How to Implement
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 
Data Mining Clustering
Data Mining ClusteringData Mining Clustering
Data Mining Clustering
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Mini Google Design Sprint
Mini Google Design SprintMini Google Design Sprint
Mini Google Design Sprint
 
Scrum: How to Implements (Update)
Scrum: How to Implements (Update)Scrum: How to Implements (Update)
Scrum: How to Implements (Update)
 
Business Model Canvas: Cara Pengisian
Business Model Canvas: Cara PengisianBusiness Model Canvas: Cara Pengisian
Business Model Canvas: Cara Pengisian
 
SCRUM: How to implements
SCRUM: How to implementsSCRUM: How to implements
SCRUM: How to implements
 
Tugas Besar RPL 1
Tugas Besar RPL 1Tugas Besar RPL 1
Tugas Besar RPL 1
 

OPTIMAL ALG