SlideShare a Scribd company logo
1 of 14
Algoritma Greedy
Team Fasilkom
Definisi
• Algoritma greedy merupakan metode yang
paling populer untuk memecahkan persoalan
optimasi
• Persoalan optimasi (optimization problems):
persoalan yang menuntut pencarian solusi
optimum
• Solusi optimum (terbaik) adalah solusi yang bernilai
minimum atau maksimum dari sekumpulan alternatif
solusi yang mungkin.
Definisi
• Elemen persoalan optimasi:
– kendala (constraints)
– fungsi objektif(atau fungsi optiamsi)
• Solusi yang memenuhi semua kendala disebut solusi
layak (feasible solution). Solusi layak yang
mengoptimumkan fungsi optimasi disebut solusi
optimum.
contoh
– Contoh masalah sehari-hari yang menggunakan
prinsip greedy:
• Memilih beberapa jenis investasi (penanaman
modal)
• Mencari jalur tersingkat dari Bandung ke
Surabaya
• Memilih jurusan di Perguruan Tinggi
• Bermain kartu remi
Penukaran Uang
• Misal pada suatu negara kita tersedia mata uang :
dolar (100 sen), kuarter (25 sen), dim(10 sen), nikel(5
sen) dan peni(1 sen)
• Masalah : Bagaimana menentukan algoritma untuk
memeberikan uang kembalian dari suatu
pembayaran di super market dengan menggunakan
sejumlah koin yang tersedia sekecil mungkin 100
25
10
5
1
Penukaran Uang
• Masalah : Ada seorang konsumen yan
mempunyai uang kembalian sebesar 2.89 $
(289 sen) berapa coin yang harus di berikan
oleh kasir ?
• Solusi : Kasir semestinya memberikan
kembalian dengan 10 coin :
– 2 $ ,3 kuarter, 1 dim, 4 peni
• Urutan pemberian adalah di mulai dari yang
terbesar
100
25
10
5
1
File Lain
Algoritma
Function TukarKoin(n):himp koin
/*Buat kembalian n unit dengan kemungkinan jmlh koin paling sedikit
kontan C adalah jenis koin*/
Const C={100,25,10,5,1} /*kandidat yg di pilih*/
S atau {} /* S =himp solusi*/
S0 /* s jumlah dari item S*/
While sn do
x item terbesar dr C, dengan s+xn
if tidak ada item then return “solusi tidak ada”
SS {koin bernilai x}
ss+x
Return S
Algoritma
• Algoritma ini rakus/tamak karena setiap
langkahnya harus memilih koin terbesar yang
dapat di temukan, tanpa memikirkan
konsekwensi ke depannya.
Karakteristik AG
• Himpunan kandidat.
– Berisi elemen-elemen pembentuk solusi.
• Himpunan solusi
• Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan.
• Fungsi seleksi (selection function)
– Memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang
sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah
selanjutnya.
• Fungsi kelayakan (feasible)
– Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang
layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah
terbentuk tidak melanggar kendala (constraints) yang ada. Kandidat yang layak
dimasukkan ke dalam himpunan solusi, sedangkan kandidat yang tidak layak dibuang
dan tidak pernah dipertimbangkan lagi.
• Fungsi obyektif, yaitu fungsi yang memaksimumkan atau meminimumkan
nilai solusi (misalnya panjang lintasan, keuntungan, dan lain-lain).
Algoritma Greedy
procedure greedy(input C: himpunan_kandidat;
output S : himpunan_solusi)
{ menentukan solusi optimum dari persoalan optimasi dengan algoritma
greedy
Masukan: himpunan kandidat C
Keluaran: himpunan solusi S
}
Deklarasi
x : kandidat;
Algoritma:
S{} { inisialisasi S dengan kosong }
while (belum SOLUSI(S)) and (C  {} ) do
xSELEKSI(C); { pilih sebuah kandidat dari C}
C C - {x} { elemen himpunan kandidat berkurang satu }
if LAYAK(S  {x}) then
SS  {x}
endif
endwhile
{SOLUSI(S) sudah diperoleh or C = {} }
• algoritma greedy tidak beroperasi secara
menyeluruh terhadap semua alternatif solusi
yang ada (sebagaimana pada metode exhaustive
search).
• pemilihan fungsi SELEKSI: Mungkin saja terdapat
beberapa fungsi SELEKSI yang berbeda, sehingga
kita harus memilih fungsi yang tepat jika kita ingin
algoritma bekerja dengan benar dan
menghasilkan solusi yang benar-benar optimum
BUATLAH PROGRAM-NYA MENGGUNAKAN JAVA?
Input Jumlah Koin =
Nilai Koin [1] =
Nilai Koin[2] =
……
Nilai Koin [N] =
Input Total Uang yang akan DITUKAR :
Solusi Greedy
Jumlah Koin [1] =
Jumlah Koin[2] =
……
Jumlah Koin [N] =
TOTAL KOIN :
TUGAS KELOMPOK min. 3 max 4 orang
DAN HITUNG LANGKAHNYA…
DIKUMPULKAN MINGGU DEPAN …
Implementasi
• KnapSack
• MST (Minimum Spanning Tree)
(Pohon Rentang Minimum)
– Algoritma Kruskal
– Algoritma Prim
• Shortest Path
(Jalur Terpendek)
– Dijkstra

More Related Content

Similar to algoritma_greedy.ppt

Pengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfPengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfbjorklis
 
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptxMKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptxDidik56
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkapPertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkapAbrianto Nugraha
 
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
 
1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptxwikirezi
 
Fase-fase pengambilan keputusan
Fase-fase pengambilan keputusanFase-fase pengambilan keputusan
Fase-fase pengambilan keputusanI Gede Iwan Sudipa
 
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
 
Pertemuan 13 Algoritma Genetik.pdf
Pertemuan 13 Algoritma Genetik.pdfPertemuan 13 Algoritma Genetik.pdf
Pertemuan 13 Algoritma Genetik.pdfDanielMorantha
 
Sistem pendukung keputusan metode topsis .ppt
Sistem pendukung keputusan metode topsis .pptSistem pendukung keputusan metode topsis .ppt
Sistem pendukung keputusan metode topsis .pptFernandaSuryaIllahi
 
PPT KELOMPOK 2 DSS.pptx
PPT KELOMPOK 2 DSS.pptxPPT KELOMPOK 2 DSS.pptx
PPT KELOMPOK 2 DSS.pptxUkiUngga
 
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA... TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...Joshua Rumagit
 
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptDefri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptSafatUmboro
 
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxfile_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxMUHAMMADRISKYFEBRIAN1
 
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATA
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATAPERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATA
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATAsriyanti231
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaApriyanto_apo
 
Dynamic programming pertemuan 4
Dynamic programming pertemuan 4Dynamic programming pertemuan 4
Dynamic programming pertemuan 4Basiroh M.Kom
 

Similar to algoritma_greedy.ppt (20)

Pengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfPengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdf
 
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptxMKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
 
Ai 2
Ai 2Ai 2
Ai 2
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkapPertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
informatika 2.pptx
informatika 2.pptxinformatika 2.pptx
informatika 2.pptx
 
1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx
 
Fase-fase pengambilan keputusan
Fase-fase pengambilan keputusanFase-fase pengambilan keputusan
Fase-fase pengambilan keputusan
 
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
 
Pertemuan 13 Algoritma Genetik.pdf
Pertemuan 13 Algoritma Genetik.pdfPertemuan 13 Algoritma Genetik.pdf
Pertemuan 13 Algoritma Genetik.pdf
 
Sistem pendukung keputusan metode topsis .ppt
Sistem pendukung keputusan metode topsis .pptSistem pendukung keputusan metode topsis .ppt
Sistem pendukung keputusan metode topsis .ppt
 
PPT KELOMPOK 2 DSS.pptx
PPT KELOMPOK 2 DSS.pptxPPT KELOMPOK 2 DSS.pptx
PPT KELOMPOK 2 DSS.pptx
 
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA... TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 
207 p12
207 p12207 p12
207 p12
 
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptDefri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
 
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxfile_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
 
Materi six sigma
Materi six sigmaMateri six sigma
Materi six sigma
 
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATA
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATAPERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATA
PERKEMBANGAN RISET DAN TEKNOLOGI BERBASIS DATA
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
 
Dynamic programming pertemuan 4
Dynamic programming pertemuan 4Dynamic programming pertemuan 4
Dynamic programming pertemuan 4
 

algoritma_greedy.ppt

  • 2. Definisi • Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi • Persoalan optimasi (optimization problems): persoalan yang menuntut pencarian solusi optimum • Solusi optimum (terbaik) adalah solusi yang bernilai minimum atau maksimum dari sekumpulan alternatif solusi yang mungkin.
  • 3. Definisi • Elemen persoalan optimasi: – kendala (constraints) – fungsi objektif(atau fungsi optiamsi) • Solusi yang memenuhi semua kendala disebut solusi layak (feasible solution). Solusi layak yang mengoptimumkan fungsi optimasi disebut solusi optimum.
  • 4. contoh – Contoh masalah sehari-hari yang menggunakan prinsip greedy: • Memilih beberapa jenis investasi (penanaman modal) • Mencari jalur tersingkat dari Bandung ke Surabaya • Memilih jurusan di Perguruan Tinggi • Bermain kartu remi
  • 5. Penukaran Uang • Misal pada suatu negara kita tersedia mata uang : dolar (100 sen), kuarter (25 sen), dim(10 sen), nikel(5 sen) dan peni(1 sen) • Masalah : Bagaimana menentukan algoritma untuk memeberikan uang kembalian dari suatu pembayaran di super market dengan menggunakan sejumlah koin yang tersedia sekecil mungkin 100 25 10 5 1
  • 6. Penukaran Uang • Masalah : Ada seorang konsumen yan mempunyai uang kembalian sebesar 2.89 $ (289 sen) berapa coin yang harus di berikan oleh kasir ? • Solusi : Kasir semestinya memberikan kembalian dengan 10 coin : – 2 $ ,3 kuarter, 1 dim, 4 peni • Urutan pemberian adalah di mulai dari yang terbesar 100 25 10 5 1
  • 8. Algoritma Function TukarKoin(n):himp koin /*Buat kembalian n unit dengan kemungkinan jmlh koin paling sedikit kontan C adalah jenis koin*/ Const C={100,25,10,5,1} /*kandidat yg di pilih*/ S atau {} /* S =himp solusi*/ S0 /* s jumlah dari item S*/ While sn do x item terbesar dr C, dengan s+xn if tidak ada item then return “solusi tidak ada” SS {koin bernilai x} ss+x Return S
  • 9. Algoritma • Algoritma ini rakus/tamak karena setiap langkahnya harus memilih koin terbesar yang dapat di temukan, tanpa memikirkan konsekwensi ke depannya.
  • 10. Karakteristik AG • Himpunan kandidat. – Berisi elemen-elemen pembentuk solusi. • Himpunan solusi • Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. • Fungsi seleksi (selection function) – Memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya. • Fungsi kelayakan (feasible) – Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala (constraints) yang ada. Kandidat yang layak dimasukkan ke dalam himpunan solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi. • Fungsi obyektif, yaitu fungsi yang memaksimumkan atau meminimumkan nilai solusi (misalnya panjang lintasan, keuntungan, dan lain-lain).
  • 11. Algoritma Greedy procedure greedy(input C: himpunan_kandidat; output S : himpunan_solusi) { menentukan solusi optimum dari persoalan optimasi dengan algoritma greedy Masukan: himpunan kandidat C Keluaran: himpunan solusi S } Deklarasi x : kandidat; Algoritma: S{} { inisialisasi S dengan kosong } while (belum SOLUSI(S)) and (C  {} ) do xSELEKSI(C); { pilih sebuah kandidat dari C} C C - {x} { elemen himpunan kandidat berkurang satu } if LAYAK(S  {x}) then SS  {x} endif endwhile {SOLUSI(S) sudah diperoleh or C = {} }
  • 12. • algoritma greedy tidak beroperasi secara menyeluruh terhadap semua alternatif solusi yang ada (sebagaimana pada metode exhaustive search). • pemilihan fungsi SELEKSI: Mungkin saja terdapat beberapa fungsi SELEKSI yang berbeda, sehingga kita harus memilih fungsi yang tepat jika kita ingin algoritma bekerja dengan benar dan menghasilkan solusi yang benar-benar optimum
  • 13. BUATLAH PROGRAM-NYA MENGGUNAKAN JAVA? Input Jumlah Koin = Nilai Koin [1] = Nilai Koin[2] = …… Nilai Koin [N] = Input Total Uang yang akan DITUKAR : Solusi Greedy Jumlah Koin [1] = Jumlah Koin[2] = …… Jumlah Koin [N] = TOTAL KOIN : TUGAS KELOMPOK min. 3 max 4 orang DAN HITUNG LANGKAHNYA… DIKUMPULKAN MINGGU DEPAN …
  • 14. Implementasi • KnapSack • MST (Minimum Spanning Tree) (Pohon Rentang Minimum) – Algoritma Kruskal – Algoritma Prim • Shortest Path (Jalur Terpendek) – Dijkstra