SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
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).

Weitere ähnliche Inhalte

Was ist angesagt?

Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04KuliahKita
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08KuliahKita
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerohohervin
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAdam Mukharil Bachtiar
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
Program transpose matriks
Program transpose matriksProgram transpose matriks
Program transpose matriksSimon Patabang
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsuokti agung
 
Beberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuBeberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuRaden Maulana
 
Contoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaContoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaernajuliawati
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Farichah Riha
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
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
 

Was ist angesagt? (20)

Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Program transpose matriks
Program transpose matriksProgram transpose matriks
Program transpose matriks
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
9.kompresi teks
9.kompresi teks9.kompresi teks
9.kompresi teks
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
Beberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuBeberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinu
 
Contoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaContoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel erna
 
relasi himpunan
relasi himpunanrelasi himpunan
relasi himpunan
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
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
 

Ähnlich wie Analisis Algoritma - Strategi Algoritma Divide and Conquer

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
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and ConquerEdho Pratama
 
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
 

Ähnlich wie Analisis Algoritma - Strategi Algoritma Divide and Conquer (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
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and Conquer
 
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
 

Mehr von 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 - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi 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 - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam 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 Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAdam Mukharil Bachtiar
 

Mehr von 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)
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
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
 
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 Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis 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)
 

Analisis Algoritma - Strategi Algoritma Divide and Conquer