Anda di halaman 1dari 11

Algoritma Greedy

PERTEMUAN KE-3
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 Medan ke Kisaran
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 memberikan 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
100
dengan 10 coin :
25
 2 $ ,3 kuarter, 1 dim, 4 peni
10
Urutan pemberian adalah di mulai dari yang 5
terbesar 1
Algoritma

Function TukarKoin(n):himp koin


/*Buat kembalian n unit dengan kemungkinan jmlh koin paling sedikit
konstanta 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.
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

Anda mungkin juga menyukai