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

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
 
Analisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAdam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching Kukuh Setiawan
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02KuliahKita
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Makalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleksMakalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleksNila Aulia
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and ConquerEdho Pratama
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 

Tendances (20)

Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Analisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis Algoritma
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Makalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleksMakalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleks
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and Conquer
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Deadlock
DeadlockDeadlock
Deadlock
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
8186 8 reduksi data
8186 8 reduksi data8186 8 reduksi data
8186 8 reduksi data
 
Materi 8 aljabar relasional
Materi 8 aljabar relasionalMateri 8 aljabar relasional
Materi 8 aljabar relasional
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 

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
 
RPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakRPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakAdam 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)
 
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
 
RPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakRPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat Lunak
 

OPTIMAL ALG