SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
ANALISIS ALGORITMA
Strategi Algoritma: Greedy
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Selain Brute Force terdapat
strategi algoritma lain yaitu
Greedy.
Strategi Greedy dikenal popular
untuk menyelesaikan
permasalahan optimasi.
Permasalahan optimasi sendiri
dibagi menjadi dua yaitu
maksimasi dan minimasi.
Greedy:
Sebuah pendekatan yang membentuk solusinya langkah
perlangkah dan dalam setiap langkah ada hal yang harus
dieksplorasi untuk menentukan pilihan terbaik.
Karakteristik:
1 Greedy memiliki prinsip “Take what you can get now”
2 Pada setiap langkah yang dikerjakan greedy, diambil solusi optimum local
dengan harapan langkah sisanya menuju ke arah solusi optimum global.
3 Greedy = Rakus, tamak.
(+):
Jika permasalahan yang dihadapi tidak membutuhkan
jawaban terbaik mutlak maka strategi ini seringkali optimal
dalam menghasilkan solusi hampiran dan dapat dibuktikan
secara matematis.
(-): Solusi optimum global belum tentu solusi optimum terbaik
tetapi bisa jadi pseudo-optimum.
Untuk menyelesaikan masalahnya,
Greedy mempunyai beberapa
elemen yang harus diidentifikasi.
1 Himpunan kandidat (C)
2 Himpunan solusi (S)
3 Fungsi Seleksi
4 Fungsi Kelayakan
5 Fungsi Objektif
Elemen Greedy
yang harus
diidentifikasi
Skema Umum
Greedy
Problem 1: Penukaran Uang
Problem/Kasus:
Diberikan uang senilai A. Tukar A dengan koin-koin uang yang ada.
Berapa jumlah minimum koin yang diperlukan untuk penukaran
tersebut?
Jenis Kasus:
Minimasi
Himpunan Kandidat:
Himpunan koin yang merepresentasikan nilai 1, 5, 10, 25, paling
sedikit mengandung satu koin untuk setiap nilai.
Himpunan Solusi:
Total nilai koin yang dipilih tepat sama jumlahnya dengan nilai uang yang
ditukarkan.
Fungsi Seleksi:
Pilihlah koin yang bernilai tertinggi dari himpunan kandidat yang tersisa.
Fungsi Layak:
Memeriksa apakah nilai total dari himpunan koin yang dipilih tidak
melebihi jumlah uang yang harus dibayar.
Fungsi Objektif:
Jumlah koin yang digunakan minimum.
Koin:
5, 4, 3, 2, dan 1.
Uang yang ditukar:
7.
Solusi Greedy:
7 = 5 + 1 + 1 (jumlah 3 koin)
Solusi Optimal:
7 = 4 + 3 (jumlah 2 koin)
Koin:
10, 7, dan 1.
Uang yang ditukar:
15.
Solusi Greedy:
15 = 10 + 1 + 1 + 1 + 1 + 1
(jumlah 6 koin)
Solusi Optimal:
15 = 7 + 7 + 1 (jumlah 3 koin)
Koin:
15, 10, dan 1.
Uang yang ditukar:
20.
Solusi Greedy:
20 = 15 + 1 + 1 + 1 + 1 + 1
(jumlah 6 koin)
Solusi Optimal:
20 = 10 + 10 (jumlah 2 koin)
Solusi optimal didapatkan dengan
konsep Exhaustive Search.
Agar pemilihan koin berikutnya optimal
maka perlu mengurutkan himpunan
koin dalam urutan menurun.
Jika himpunan koin sudah terurut
menurun maka kompleksitas algoritma
Greedy menjadi !(#).
Problem 2: 1/0 Knapsack
Solusi 1/0 knapsack menggunakan
Greedy dengan Greedy Heuristic.
Greedy by profit:
Pada setiap langkah, pilih objek yang mempunyai keuntungan
terbesar.
Greedy by weight:
Pada setiap langkah, pilih objek yang memiliki beban teringan.
Greedy by density:
Pada setiap langkah, knapsack diisi dengan objek yang memiliki ⁄"#
$%
yang terbesar
Semua pendekatan tersebut sama-sama
bertujuan memaksimalkan keuntungan
dengan cara yang berbeda (maksimasi).
Kasus 1:
Kapasitas Knapsack:
16
1 2 3 4
p 12 15 50 10
w 6 5 10 5
Solusi Kasus 1:
Properti Objek Greedy by Solusi
Optimali wi pi pi/wi Profit Weight Density
1 6 12 2 0 1 0 0
2 5 15 3 1 1 1 1
3 10 50 5 1 0 1 1
4 5 10 3 0 1 0 0
TOTAL BOBOT 15 16 15 15
TOTAL KEUNTUNGAN 65 37 65 65
Solusi optimal X = (0,1,1,0)
Kesimpulan: Greedy by profit dan density yang memberikan solusi optimal
Kasus 2:
Kapasitas Knapsack:
100
1 2 3 4 5 6
p 40 35 18 4 10 2
w 100 50 45 20 10 5
Solusi Kasus 2:
Properti Objek Greedy by Solusi
Optimali wi pi pi/wi Profit Weight Density
1 100 40 0.4 1 0 0 0
2 50 35 0.7 0 0 1 1
3 45 18 0.4 0 1 0 1
4 20 4 0.2 0 1 1 0
5 10 10 1.0 0 1 1 0
6 5 2 0.4 0 1 1 0
TOTAL BOBOT 100 80 85 100
TOTAL KEUNTUNGAN 40 34 51 55
Kesimpulan: Ketiga pendekatan gagal menghasilkan keuntungan optimum
Problem 3: Pelayanan Antrian
Problem/Kasus:
Sebuah server (dapat berupa processor, pompa, kasir di bank, dll)
mempunyai n pelanggan (customer, client) yang harus dilayani.
Waktu pelayanan untuk setiap pelanggan i adalah ti.
Jenis Kasus:
Minimasi
Kasus:
Solusi Exhaustive Search:
Pelanggan 1 Pelanggan 2 Pelanggan 3
t 5 10 3
Urutan Kebutuhan Waktu Layanan
1à2à3 5 + (5 + 10) + (5 + 10 + 3) = 38
1à3à2 5 + (5 + 3) + (5 + 3 + 10) = 31
2à1à3 10 + (10 + 5) + (10 + 5 + 3) = 43
2à3à1 10 + (10 + 3) + (10 + 3 + 5) = 41
3à1à2 3 + (3 + 5) + (3 + 5 + 10) = 29
3à2à1 3 + (3 + 10) + (3 + 10 + 5) = 34
Optimal
Penyelesaian dengan Exhaustive Search
seperti tadi membutuhkan kompleksitas
sebesar !(#. #!).
Dengan strategi Greedy, pada setiap
langkah pilih pelanggan yang
membutuhkan waktu terkecil di antara
pelanggan lain yang belum terlayani.
Kasus:
Solusi Greedy:
Pelanggan 1 Pelanggan 2 Pelanggan 3
t 5 10 3
Langkah Pelanggan yang dilayani Kebutuhan Waktu Layanan
1 3 3
2 1 3 + 5
3 2 3 + 5 + 10 = 29
Hasil Exhaustive Search 3 + (3 + 5) + (3 + 5 + 10) = 29

Contenu connexe

Tendances

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
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
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
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiwillyhayon
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAdam Mukharil Bachtiar
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Algoritma Backtracking
Algoritma BacktrackingAlgoritma Backtracking
Algoritma BacktrackingAjeng Savitri
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 

Tendances (20)

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
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Algoritma Greedy
Algoritma GreedyAlgoritma Greedy
Algoritma Greedy
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedy
 
Deadlock
DeadlockDeadlock
Deadlock
 
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
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-ai
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
Algoritma Backtracking
Algoritma BacktrackingAlgoritma Backtracking
Algoritma Backtracking
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 

Similaire à ALGORITMA

Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptsayfa3
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedyrisal07
 
algoritma_greedy.ppt
algoritma_greedy.pptalgoritma_greedy.ppt
algoritma_greedy.pptsayfa3
 
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdf
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdfBab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdf
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdfImanHidayatRamsani
 
Riset operasi
Riset operasiRiset operasi
Riset operasisuperjnr
 
Materi 2
Materi 2Materi 2
Materi 2cipta31
 
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
 
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
 
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahan
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahanPenerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahan
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahanfaisalpiliang1
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma PemrogramanLuqman Hakim
 
7c 3-pemrograman linier (1)
7c 3-pemrograman linier (1)7c 3-pemrograman linier (1)
7c 3-pemrograman linier (1)Arman BlackNblue
 

Similaire à ALGORITMA (20)

Pertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma GreedyPertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma Greedy
 
Pertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma GreedyPertemuan 12 Algoritma Greedy
Pertemuan 12 Algoritma Greedy
 
Algoritma Greedy
Algoritma GreedyAlgoritma Greedy
Algoritma Greedy
 
Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).ppt
 
207 p12
207 p12207 p12
207 p12
 
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
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedy
 
algoritma_greedy.ppt
algoritma_greedy.pptalgoritma_greedy.ppt
algoritma_greedy.ppt
 
Greedy knapsack
Greedy knapsackGreedy knapsack
Greedy knapsack
 
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdf
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdfBab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdf
Bab II - Strategi Algorima & Pemrograman (Algoritma Greedy).pdf
 
Riset operasi
Riset operasiRiset operasi
Riset operasi
 
Making change
Making changeMaking change
Making change
 
Materi 2
Materi 2Materi 2
Materi 2
 
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...
 
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...
 
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahan
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahanPenerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahan
Penerapan Metode Greedy Knapsack dalam Menentukan Komposisi Buah-buahan
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
7c 3-pemrograman linier (1)
7c 3-pemrograman linier (1)7c 3-pemrograman linier (1)
7c 3-pemrograman linier (1)
 

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

ALGORITMA

  • 1. ANALISIS ALGORITMA Strategi Algoritma: Greedy Pemateri: Adam Mukharil Bachtiar adam@email.unikom.ac.id
  • 2. Selain Brute Force terdapat strategi algoritma lain yaitu Greedy.
  • 3. Strategi Greedy dikenal popular untuk menyelesaikan permasalahan optimasi.
  • 4. Permasalahan optimasi sendiri dibagi menjadi dua yaitu maksimasi dan minimasi.
  • 5. Greedy: Sebuah pendekatan yang membentuk solusinya langkah perlangkah dan dalam setiap langkah ada hal yang harus dieksplorasi untuk menentukan pilihan terbaik.
  • 6. Karakteristik: 1 Greedy memiliki prinsip “Take what you can get now” 2 Pada setiap langkah yang dikerjakan greedy, diambil solusi optimum local dengan harapan langkah sisanya menuju ke arah solusi optimum global. 3 Greedy = Rakus, tamak.
  • 7. (+): Jika permasalahan yang dihadapi tidak membutuhkan jawaban terbaik mutlak maka strategi ini seringkali optimal dalam menghasilkan solusi hampiran dan dapat dibuktikan secara matematis.
  • 8. (-): Solusi optimum global belum tentu solusi optimum terbaik tetapi bisa jadi pseudo-optimum.
  • 9. Untuk menyelesaikan masalahnya, Greedy mempunyai beberapa elemen yang harus diidentifikasi.
  • 10. 1 Himpunan kandidat (C) 2 Himpunan solusi (S) 3 Fungsi Seleksi 4 Fungsi Kelayakan 5 Fungsi Objektif Elemen Greedy yang harus diidentifikasi
  • 13. Problem/Kasus: Diberikan uang senilai A. Tukar A dengan koin-koin uang yang ada. Berapa jumlah minimum koin yang diperlukan untuk penukaran tersebut? Jenis Kasus: Minimasi
  • 14. Himpunan Kandidat: Himpunan koin yang merepresentasikan nilai 1, 5, 10, 25, paling sedikit mengandung satu koin untuk setiap nilai. Himpunan Solusi: Total nilai koin yang dipilih tepat sama jumlahnya dengan nilai uang yang ditukarkan. Fungsi Seleksi: Pilihlah koin yang bernilai tertinggi dari himpunan kandidat yang tersisa.
  • 15. Fungsi Layak: Memeriksa apakah nilai total dari himpunan koin yang dipilih tidak melebihi jumlah uang yang harus dibayar. Fungsi Objektif: Jumlah koin yang digunakan minimum.
  • 16. Koin: 5, 4, 3, 2, dan 1. Uang yang ditukar: 7. Solusi Greedy: 7 = 5 + 1 + 1 (jumlah 3 koin) Solusi Optimal: 7 = 4 + 3 (jumlah 2 koin)
  • 17. Koin: 10, 7, dan 1. Uang yang ditukar: 15. Solusi Greedy: 15 = 10 + 1 + 1 + 1 + 1 + 1 (jumlah 6 koin) Solusi Optimal: 15 = 7 + 7 + 1 (jumlah 3 koin)
  • 18. Koin: 15, 10, dan 1. Uang yang ditukar: 20. Solusi Greedy: 20 = 15 + 1 + 1 + 1 + 1 + 1 (jumlah 6 koin) Solusi Optimal: 20 = 10 + 10 (jumlah 2 koin)
  • 19. Solusi optimal didapatkan dengan konsep Exhaustive Search.
  • 20. Agar pemilihan koin berikutnya optimal maka perlu mengurutkan himpunan koin dalam urutan menurun.
  • 21. Jika himpunan koin sudah terurut menurun maka kompleksitas algoritma Greedy menjadi !(#).
  • 22. Problem 2: 1/0 Knapsack
  • 23. Solusi 1/0 knapsack menggunakan Greedy dengan Greedy Heuristic.
  • 24. Greedy by profit: Pada setiap langkah, pilih objek yang mempunyai keuntungan terbesar. Greedy by weight: Pada setiap langkah, pilih objek yang memiliki beban teringan. Greedy by density: Pada setiap langkah, knapsack diisi dengan objek yang memiliki ⁄"# $% yang terbesar
  • 25. Semua pendekatan tersebut sama-sama bertujuan memaksimalkan keuntungan dengan cara yang berbeda (maksimasi).
  • 26. Kasus 1: Kapasitas Knapsack: 16 1 2 3 4 p 12 15 50 10 w 6 5 10 5
  • 27. Solusi Kasus 1: Properti Objek Greedy by Solusi Optimali wi pi pi/wi Profit Weight Density 1 6 12 2 0 1 0 0 2 5 15 3 1 1 1 1 3 10 50 5 1 0 1 1 4 5 10 3 0 1 0 0 TOTAL BOBOT 15 16 15 15 TOTAL KEUNTUNGAN 65 37 65 65 Solusi optimal X = (0,1,1,0) Kesimpulan: Greedy by profit dan density yang memberikan solusi optimal
  • 28. Kasus 2: Kapasitas Knapsack: 100 1 2 3 4 5 6 p 40 35 18 4 10 2 w 100 50 45 20 10 5
  • 29. Solusi Kasus 2: Properti Objek Greedy by Solusi Optimali wi pi pi/wi Profit Weight Density 1 100 40 0.4 1 0 0 0 2 50 35 0.7 0 0 1 1 3 45 18 0.4 0 1 0 1 4 20 4 0.2 0 1 1 0 5 10 10 1.0 0 1 1 0 6 5 2 0.4 0 1 1 0 TOTAL BOBOT 100 80 85 100 TOTAL KEUNTUNGAN 40 34 51 55 Kesimpulan: Ketiga pendekatan gagal menghasilkan keuntungan optimum
  • 31. Problem/Kasus: Sebuah server (dapat berupa processor, pompa, kasir di bank, dll) mempunyai n pelanggan (customer, client) yang harus dilayani. Waktu pelayanan untuk setiap pelanggan i adalah ti. Jenis Kasus: Minimasi
  • 32. Kasus: Solusi Exhaustive Search: Pelanggan 1 Pelanggan 2 Pelanggan 3 t 5 10 3 Urutan Kebutuhan Waktu Layanan 1à2à3 5 + (5 + 10) + (5 + 10 + 3) = 38 1à3à2 5 + (5 + 3) + (5 + 3 + 10) = 31 2à1à3 10 + (10 + 5) + (10 + 5 + 3) = 43 2à3à1 10 + (10 + 3) + (10 + 3 + 5) = 41 3à1à2 3 + (3 + 5) + (3 + 5 + 10) = 29 3à2à1 3 + (3 + 10) + (3 + 10 + 5) = 34 Optimal
  • 33. Penyelesaian dengan Exhaustive Search seperti tadi membutuhkan kompleksitas sebesar !(#. #!).
  • 34. Dengan strategi Greedy, pada setiap langkah pilih pelanggan yang membutuhkan waktu terkecil di antara pelanggan lain yang belum terlayani.
  • 35. Kasus: Solusi Greedy: Pelanggan 1 Pelanggan 2 Pelanggan 3 t 5 10 3 Langkah Pelanggan yang dilayani Kebutuhan Waktu Layanan 1 3 3 2 1 3 + 5 3 2 3 + 5 + 10 = 29 Hasil Exhaustive Search 3 + (3 + 5) + (3 + 5 + 10) = 29