SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
ANALISIS ALGORITMA
Penerapan Strategi Algoritma: Brute Force
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Pada materi sebelumnya kita
sudah melihat pola pikir Brute
Force yang Straight Forward.
Sekarang mari kita lihat
pengaplikasiannya pada dua
problem, yaitu Exhaustive Search
dan 1/0 Knapsack.
Problem 1: Exhaustive Search
Exhaustive Search:
Teknik pencarian solusi secara brute force untuk masalah yang
melibatkan pencarian elemen dengan sifat khusus (objek-objek
kombinatorik atau himpunan bagian dari suatu himpunan)
Langkah-langkah:
1 Enumerasi (list) setiap solusi yang mungkin dengan cara yang sistematis.
2 Evaluasi setiap kemungkinan solusi satu per satu, mungkin saja beberapa
kemungkinan solusi yang tidak layak dikeluarkan, dan simpan solusi
terbaik yang ditemukan sampai sejauh ini (the best solusi found so far).
3 Bila pencarian berakhir, maka umumkan solusi terbaik.
Untuk bisa melihat strategi algoritma
Brute Force pada Exhaustive Search
mari kita lihat penerapannya.
Kasus:
Travelling Salesman Problem (TSP)
Persoalan:
Diberikan n buah kota serta diketahui jarak antara setiap kota satu
sama lain. Temukan perjalanan (tour) terpendek yang melalui setiap
kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan
(sirkuit Hamilton dengan bobot minimum).
Langkah-langkah TSP:
1 Enumerasi (list) semua sirkuit Hamilton dari graph lengkap dengan n
buah simpul.
2 Hitung (evaluasi) bobot setiap sirkuit Hamilton yang ditemukan pada
langkah 1.
3 Pilih sirkuit Hamilton yang mempunyai bobot terkecil.
No. Rute Perjalanan Bobot
1 aàbàcàdàa 10+12+8+15 = 45
2 aàbàdàcàa 12+5+9+15 = 41
3 aàcàbàdàa 10+5+9+8 = 32
4 aàcàdàbàa 12+5+9+15 = 41
5 aàdàbàcàa 10+5+9+8 = 32
6 aàdàcàbàa 10+12+8+15 = 45
Rute perjalananan terpendek adalah
aàcàbàdàa
aàdàbàcàa
dengan bobot = 32.
Untuk n buah simpul, semua rute
perjalanan yang mungkin dibangkitkan
dengan permutasi n-1 buah simpul à (n-1)!
Untuk menghitung bobot dari enumerasi
yang sudah dibangkitkan membutuhkan
waktu O(n).
Sehingga kebutuhan waktu untuk
exhaustive search adalah O(n . n!).
Perbaikan dari pola pikir tersebut adalah
memangkas setengah enumerasi yang
terbentuk karena hanya pencerminan
dari dari setengah enumerasi yang ada.
Problem 2: 1/0 Knapsack
Kasus:
1/0 Knapsack
Persoalan:
Diberikan n buah objek dan sebuah knapsack dengan kapasitas
bobot K. Setiap objek memiliki properti bobot (weigth) wi dan
keuntungan(profit) pi.
Bagaimana memilih objek-objek yang akan dimasukkan ke
dalam knapsack agar memiliki keuntungan maksimum tanpa
melebihi bobot tampungan knapsack.
Tampilan Solusi:
! = {!$, !&, … , !(}
Dimana:
Xi = 1 jika objek ke-i dimasukkan ke dalam knapsack
Xi = 0 jika objek ke-i tidak dimasukkan ke dalam knapsack
Langkah-langkah 1/0 Knapsack:
1 Enumerasi (list) semua himpunan bagian dari himpunan dengan n objek.
2 Hitung (evaluasi) total keuntungan dari setiap himpunan bagian dari
langkah 1.
3 Pilih himpunan bagian yang memberikan total keuntungan terbesar.
Contoh Kasus:
n = 4.
w1 = 2; p1 = 20
w2 = 5; p2 = 30
w3 = 10; p3 = 50
w4 = 5; p4 = 10
Kapasitas knapsack K = 16
Cari kombinasi untuk mencari
keuntungan maksimum
menggunakan 1/0 knapsack!
Himpunan Bagian Total Bobot Total Keuntungan
{} 0 0
{1} 2 20
{2} 5 30
{3} 10 50
{4} 5 10
{1,2} 7 50
{1,3} 12 70
{1,4} 7 30
{2,3} 15 80
{2,4} 10 40
{3,4} 15 80
{1,2,3} 17 Tidak layak
{1,2,4} 12 60
{1,3,4} 17 Tidak layak
{2,3,4} 20 Tidak layak
{1,2,3,4} 22 Tidak layak
Himpunan bagian objek yang
memberikan keuntungan
maksimum adalah {2,3} dengan
total keuntungan adalah 80.
Solusi:
X = {0, 1, 1, 0}

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
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 - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam Mukharil Bachtiar
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04KuliahKita
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Endang Retnoningsih
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5dedidarwis
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritriyana fairuz kholisa
 
Makalah Algoritma kruskal
Makalah Algoritma kruskalMakalah Algoritma kruskal
Makalah Algoritma kruskalzaenal mustofa
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-searchAMIK AL MA'SOEM
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 
Kompresi dan Dekompresi
Kompresi dan DekompresiKompresi dan Dekompresi
Kompresi dan Dekompresiabdanalaziz
 

Was ist angesagt? (20)

Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
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
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
 
Pertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma GreedyPertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma Greedy
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Greedy knapsack
Greedy knapsackGreedy knapsack
Greedy knapsack
 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskrit
 
Makalah Algoritma kruskal
Makalah Algoritma kruskalMakalah Algoritma kruskal
Makalah Algoritma kruskal
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
 
2. galat
2. galat2. galat
2. galat
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Kompresi dan Dekompresi
Kompresi dan DekompresiKompresi dan Dekompresi
Kompresi dan Dekompresi
 

Ähnlich wie Analisis Algoritma - Penerapan Strategi Algoritma Brute Force

Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedyrisal07
 
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...faisalpiliang1
 
Exhaustive Search - Knapsack
Exhaustive Search - KnapsackExhaustive Search - Knapsack
Exhaustive Search - KnapsackAjeng Savitri
 
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...faisalpiliang1
 
Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdfGunkSatria1
 
Metody Gredy
Metody GredyMetody Gredy
Metody Gredyirwanhs
 
Knapsack Problem : Greedy vs Dynamic Programming
Knapsack Problem : Greedy vs Dynamic ProgrammingKnapsack Problem : Greedy vs Dynamic Programming
Knapsack Problem : Greedy vs Dynamic ProgrammingVinsensiusFeri
 
Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)RikaDewi18
 

Ähnlich wie Analisis Algoritma - Penerapan Strategi Algoritma Brute Force (14)

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
 
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...
TEKNIK MENENTUKAN KOMPOSISI BUAH PADA MASALAH PENGANGKUTAN DENGAN MENGGUNAKAN...
 
Exhaustive Search - Knapsack
Exhaustive Search - KnapsackExhaustive Search - Knapsack
Exhaustive Search - Knapsack
 
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...
PENERAPAN METODE GREEDY KNAPSACK DALAM MENENTUKAN KOMPOSISI BUAH PADA MASALAH...
 
207 p12
207 p12207 p12
207 p12
 
Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdf
 
Metody Gredy
Metody GredyMetody Gredy
Metody Gredy
 
Tugas2 -metode searching ai
Tugas2 -metode searching aiTugas2 -metode searching ai
Tugas2 -metode searching ai
 
Knapsack Problem : Greedy vs Dynamic Programming
Knapsack Problem : Greedy vs Dynamic ProgrammingKnapsack Problem : Greedy vs Dynamic Programming
Knapsack Problem : Greedy vs Dynamic Programming
 
Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)
 
Greedy (1)
Greedy (1)Greedy (1)
Greedy (1)
 

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

Analisis Algoritma - Penerapan Strategi Algoritma Brute Force

  • 1. ANALISIS ALGORITMA Penerapan Strategi Algoritma: Brute Force Pemateri: Adam Mukharil Bachtiar adam@email.unikom.ac.id
  • 2. Pada materi sebelumnya kita sudah melihat pola pikir Brute Force yang Straight Forward.
  • 3. Sekarang mari kita lihat pengaplikasiannya pada dua problem, yaitu Exhaustive Search dan 1/0 Knapsack.
  • 5. Exhaustive Search: Teknik pencarian solusi secara brute force untuk masalah yang melibatkan pencarian elemen dengan sifat khusus (objek-objek kombinatorik atau himpunan bagian dari suatu himpunan)
  • 6. Langkah-langkah: 1 Enumerasi (list) setiap solusi yang mungkin dengan cara yang sistematis. 2 Evaluasi setiap kemungkinan solusi satu per satu, mungkin saja beberapa kemungkinan solusi yang tidak layak dikeluarkan, dan simpan solusi terbaik yang ditemukan sampai sejauh ini (the best solusi found so far). 3 Bila pencarian berakhir, maka umumkan solusi terbaik.
  • 7. Untuk bisa melihat strategi algoritma Brute Force pada Exhaustive Search mari kita lihat penerapannya.
  • 8. Kasus: Travelling Salesman Problem (TSP) Persoalan: Diberikan n buah kota serta diketahui jarak antara setiap kota satu sama lain. Temukan perjalanan (tour) terpendek yang melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan (sirkuit Hamilton dengan bobot minimum).
  • 9. Langkah-langkah TSP: 1 Enumerasi (list) semua sirkuit Hamilton dari graph lengkap dengan n buah simpul. 2 Hitung (evaluasi) bobot setiap sirkuit Hamilton yang ditemukan pada langkah 1. 3 Pilih sirkuit Hamilton yang mempunyai bobot terkecil.
  • 10. No. Rute Perjalanan Bobot 1 aàbàcàdàa 10+12+8+15 = 45 2 aàbàdàcàa 12+5+9+15 = 41 3 aàcàbàdàa 10+5+9+8 = 32 4 aàcàdàbàa 12+5+9+15 = 41 5 aàdàbàcàa 10+5+9+8 = 32 6 aàdàcàbàa 10+12+8+15 = 45 Rute perjalananan terpendek adalah aàcàbàdàa aàdàbàcàa dengan bobot = 32.
  • 11. Untuk n buah simpul, semua rute perjalanan yang mungkin dibangkitkan dengan permutasi n-1 buah simpul à (n-1)!
  • 12. Untuk menghitung bobot dari enumerasi yang sudah dibangkitkan membutuhkan waktu O(n).
  • 13. Sehingga kebutuhan waktu untuk exhaustive search adalah O(n . n!).
  • 14. Perbaikan dari pola pikir tersebut adalah memangkas setengah enumerasi yang terbentuk karena hanya pencerminan dari dari setengah enumerasi yang ada.
  • 15. Problem 2: 1/0 Knapsack
  • 16. Kasus: 1/0 Knapsack Persoalan: Diberikan n buah objek dan sebuah knapsack dengan kapasitas bobot K. Setiap objek memiliki properti bobot (weigth) wi dan keuntungan(profit) pi. Bagaimana memilih objek-objek yang akan dimasukkan ke dalam knapsack agar memiliki keuntungan maksimum tanpa melebihi bobot tampungan knapsack.
  • 17. Tampilan Solusi: ! = {!$, !&, … , !(} Dimana: Xi = 1 jika objek ke-i dimasukkan ke dalam knapsack Xi = 0 jika objek ke-i tidak dimasukkan ke dalam knapsack
  • 18. Langkah-langkah 1/0 Knapsack: 1 Enumerasi (list) semua himpunan bagian dari himpunan dengan n objek. 2 Hitung (evaluasi) total keuntungan dari setiap himpunan bagian dari langkah 1. 3 Pilih himpunan bagian yang memberikan total keuntungan terbesar.
  • 19. Contoh Kasus: n = 4. w1 = 2; p1 = 20 w2 = 5; p2 = 30 w3 = 10; p3 = 50 w4 = 5; p4 = 10 Kapasitas knapsack K = 16 Cari kombinasi untuk mencari keuntungan maksimum menggunakan 1/0 knapsack!
  • 20. Himpunan Bagian Total Bobot Total Keuntungan {} 0 0 {1} 2 20 {2} 5 30 {3} 10 50 {4} 5 10 {1,2} 7 50 {1,3} 12 70 {1,4} 7 30 {2,3} 15 80 {2,4} 10 40 {3,4} 15 80 {1,2,3} 17 Tidak layak {1,2,4} 12 60 {1,3,4} 17 Tidak layak {2,3,4} 20 Tidak layak {1,2,3,4} 22 Tidak layak Himpunan bagian objek yang memberikan keuntungan maksimum adalah {2,3} dengan total keuntungan adalah 80. Solusi: X = {0, 1, 1, 0}