Anda di halaman 1dari 15

METODE GREEDY

Metode Greedy digunakan untuk memecahkan


persoalan Optimasi
Persoalan Optimasi  adalah persoalan mencari
solusi optimal
Persoalan optimasi ada 2  1. Maksimasi
 2. Minimasi
Dalam metode Greedy permasalahan solusi optimal
mempunyai dua kriteria yaitu :
1. Fungsi tujuan/utama
2. Nilai pembatas (constraint)
Contoh Persoalan Optimasi : Masalah Penukaran Uang
Diberikan Uang Senilai A. Tukar A dengan koin-koin uang
yang ada. Berapa Jumlah Minimum dan Maksimum koin
yang diperlukan untuk penukaran tersebut ?
Di ketahui koin yang tersedia 1,5,10,25.
Uang senilai A=32 dapat ditukar dengan banyak cara
sebagai berikut :
32 = 1+1+1+1+…………+1 (32 Koin)
32= 5+5+5+5+10+1+1 (7 Koin)
32= 10+10+10+1+1 (5 Koin)
32= 25+5+1+1 (4 Koin)

Minimum = 4 Koin dan Maksimum = 32 Koin

Metode Greedy Digunakan dalam penyelesaian masalah-


masalah :

1. Optimal Storages (Penyimpanan) On Tapes Problem

a. Permasalahan :
- Bagaimana mengoptimalisasi Storage
(penyimpanan)/memory dalam komputer, agar data
yang disimpan dapat termuat dengan optimal.

Contoh Kasus I:

Misalkan terdapat n program. yang akan disimpan


didalam pita (tape). Pita tersebut mempunyai panjang
maksimum sebesar L. Sedangkan masing-masing
program yang akan disimpan mempunyai panjang
L1,L2,L3 ...,Ln. Cara penyimpanan yang diinginkan
adalah penyimpanan secara terurut (sequential).

L1 L L ... L
2 3
n
Permasalahannya adalah bagaimana susunan
penyimpanan program-program tersebut sedemikian
sehingga L1 + L2 + L3 + ... + Ln = L ?

Pemecahannya :
jika program-program tersebut disimpan dlm Order,
dimisalkan adalah Order I, yaitu : j
tersebut akan sama dengan ∑𝑖𝑘=1 lik maka akan
diperoleh :
𝑛
Mean Retrieval Time (MRT) = ∑ t j /n
𝑗=1

dan
Optimal Storage = D(I) = ∑𝑛𝑗=1 ∑𝑖𝑘=1 lik

Diketahui 3 program yang akan disimpan dalam media


penyimpanan dengan panjang masing-masing 5,10,3.
Bagaimana proses penyimpanan yang optimal dengan
metode greedy.
Pertanyaan

1.Tentukan nilai panjang, waktu, dan waktu rata-rata

a. Ada 3 program, dimisalkan panjangnya L1, L2, L3


dengan nilai n1=5, n2=10, n3=3

b.Waktu t1=15 sec,t2=20 sec, t3= 9 sec


𝑛
Mean Retrieval Time (MRT) = ∑ t j /n
𝑗=1

= t1/n1+ t2/n2+ t3/n3

= 15/5 + 20/10+ 9/3

= 3+2+3= 8

Waktu = 8 sec

Waktu rata-rata = 8/4 = 2 sec

2. Tentukan urutan penyimpanannya scr berurutan


(sequential) agar optimal....!
Misal terdapat 3 buah prg.(n=3) yg masing2 mpy
panjang prg. (I1,I2,I3)=(5,10,3)

Penyelesaiannya :
Dari 3 program tersebut akan didapat 6 buah
kemungkinan order, yg didapat dr nilai faktorial 3
 3! (ingat faktorial n!) = 1X2X3 = 6

ORDERING D(I) Total


(1) 1,2,3 5+(5+10)+(5+10+3) 38
(1) 1,3,2 5+(5+3)+(5+3+10) 31
(2) 2,1,3 10+(10+5)+(10+5+3) 43
(2) 2,3,1 10+(10+3)+(10+3+5) 41
(3) 3,1,2 3+(3+5)+(3+5+10) 29
(3) 3,2,1 3+(3+10)+(3+10+5) 34

Dari tabel tersebut, didapat susunan/order yang optimal


adalah:

 susunan pertama untuk program ke tiga 29


( nilai terkecil pertama )
 susunan kedua untuk program kesatu 31 ( nilai
terkecil kedua )
 susunan ketiga untuk program kedua 41 ( nilai
terkecil ketiga bukan 34 atau 38 sebab posisi
penyimpanan pada posisi ketiga dan kesatu sudah
diwakili dengan 29 dan 31, sehingga urutan ketiga
adalah 41 )

3. Knapsack Problem
Knapsack Problem merupakan suatu masalah
bagaimana cara menentukan pemilihan barang dari
sekumpulan barang dimana setiap barang mempunyai
weight (W) dan profit (P) masing-masing, sehingga dari
pemilihan barang tersebut didapatkan profit yang
maksimum.

RUMUS
Dan

Solusi ke Nilai Probabilitas Untuk Fungsi Tujuan.


∑ Wi.Xi ≤ M ∑ Pi.Xi (Maximum)

Cara kriteria greedy


n = 3, (1, 2, 3)  objek
M = 20 Kg  kapasitas max
(W1, W2, W3) = (18, 15, 10)
(P1, P2, P3) = (25, 24, 15)

Nilai probabilitas 0 ≤ Xi ≤ 1
Kriteria greedy :

a. Pilih objek dengan nilai profit terbesar (Pi)


Susun data sesuai kriteria:
(P1, P2, P3) = (25, 24, 15)
(W1, W2, W3) = (18, 15, 10)
Di Hitung Dengan Fungsi Pembatas 0≤Xi≤1 ( X1=1,
X2= ?, X3=0)
W1X1 + W2X2 + W3X3 ≤ 20
18X1 + 15X2 + 10X3 ≤ 20
18(1) + 15(X2) + 10(0) ≤ 20
18 + 15X2 + 0 ≤ 20
15X2 ≤ 20 – 18
15X2 ≤ 2
X2 ≤ 2/15
X1=1 X2=2/15 X3=0

Solusi ke Nilai Probabilitas Untuk Fungsi Tujuan


∑ Wi.Xi ≤ M ∑ Pi.Xi (Maximum)
(X1, X2, X3)
(W1. X1) + (W2. X2) + (W3. X3) ≤ M ((P1. X1) + (P2.
X2) + (P3. X3))
a (1, 2/15, 0)
(18.1) + (15.2/15) + (10.0) ≤ 20 ((25.1) + (24.2/15) +
(15.0))
20 ≤ 20 (28,2)
1 ≤ 28.2

b. Pilih objek dengan bobot terkecil (Wi)


Susun data sesuai kriteria:

(W3, W2, W1) = (10, 15, 18)


(P3, P2, P1) = (15, 24, 25)

Di Hitung Dengan Fungsi Pembatas 0≤Xi≤1 ( X3=1,


X2= ?, X1=0)
W3X3 + W2X2 + W1X1 ≤ 20
10X3 + 15X2 + 18X1 ≤ 20
10(1) + 15(X2) + 18(0) ≤ 20
10 + 15X2 + 0 ≤ 20
15X2 ≤ 20 – 10
15X2 ≤ 10
X2 ≤ 10/15
X3=1 X2=10/15 atau 2/3 X1=0

Solusi ke Nilai Probabilitas Untuk Fungsi Tujuan


∑ Wi.Xi ≤ M ∑ Pi.Xi (Maximum)
(X3, X2, X1)
(W3. X3) + (W2. X2) + (W1. X1) ≤ M (P3. X3) + (P2.
X2) + (P1. X1)
b (1, 2/3, 0)
(10.1) + (15.2/3) + (18.0) ≤ 20 (15.1) + (24.2/3) + (25.0)
20 ≤ 20 (31)
1 ≤ 31

c. Pilih objek dengan nilai perbandingan profit dengan


bobot yang terbesar (Pi/Wi)
Data yang diketahui:
(P1, P2, P3) = (25, 24, 15)
(W1, W2, W3) = (18, 15, 10)
perbandingan profit dengan bobot
P1/ W1 = 25/18 = 1,39
P2/ W2 = 24/15 = 1,6
P3/ W3 = 15/10 = 1,5
Susun data sesuai kriteria:
(P2, P3, P1) = (24, 15, 25)
(W2, W3, W1) = (15, 10, 18)
Di Hitung Dengan Fungsi Pembatas 0≤Xi≤1 ( X2=1,
X3= ?, X1=0)
W2X2 + W3X3 + W1X1 ≤ 20
15X2 + 10X3 + 18X1 ≤ 20
15(1) + 10(X3) + 18(0) ≤ 20
15 + 10X3 + 0 ≤ 20
10X3 ≤ 20 – 15
10X3 ≤ 5
X3 ≤ 5/10
X2=1 X3=5/10 atau 1/2 X1=0
Solusi ke Nilai Probabilitas Untuk Fungsi Tujuan
∑ Wi.Xi ≤ M ∑ Pi.Xi (Maximum)
(X2, X3, X1)
(W2. X2) + (W3. X3) + (W1. X1) ≤ M (P2. X2) + (P3.
X3) + (P1. X1)
c (1, 1/2, 0)
(15.1) + (10.1/2) + (18.0) ≤ 20 (24.1) + (15.1/2) + (25.0)
20 ≤ 20 (31,5)
1 ≤ 31,5

Dari 3 kriteria di atas dapat disimpulkan bahwa fungsi


tujuan yang bernilai maximum adalah 31,5 dengan fungsi
pembatasnya adalah 20 dan nilai probabilitasnya adalah
(X2, X3, X1) = (1, 1/2, 0), jadi disini yang memeberikan
hasil optimal pada kriteria yang ke-3 yaitu Pilih objek
dengan nilai perbandingan profit dengan bobot yang
terbesar (Pi/Wi)

3. Cara algoritma greedy

Teknik ini akan efektif jika objek disusun secara tidak


naik (non increasing) berdasarkan nilai Pi/Wi.
Data yang diketahui:
n = 3, (1, 2, 3)  objek
M = 20  kapasitas
(W1, W2, W3) = (18, 15, 10)
(P1, P2, P3) = (25, 24, 15)
Nilai probabilitas 0 ≤ Xi ≤ 1
perbandingan profit dengan bobot
P1/ W1 = 25/18 = 1,39
P2/ W2 = 24/15 = 1,6
P3/ W3 = 15/10 = 1,5
Susun data sesuai kriteria (non increasing):
(P2, P3, P1) = (24, 15, 25) atau
(P1, P2, P3) = (24, 15, 25)
(W2, W3, W1) = (15, 10, 18) atau
(W1, W2, W3) = (15, 10, 18)

Masukkan nilai kriteria di atas ke dalam algoritma


greedy

1. PROCEDURE GREEDY KNAPSACK (P, W, X, n) 


nama prosedur/proses
2. REAL P(1:n), W(1:n), X(1:n), M, isi  variabel yang
digunakan
3. INTEGER i, n  variabel yang digunakan
4. X(1:n) = 0
5. isi = M
6. FOR i = 1 TO n DO
7. IF W(i) > isi THEN EXIT ENDIF
8. X(i) = 1
9. isi = isi – W(i)
10. REPEAT
11. IF i ≤ n THEN X(i) = isi/W(i) ENDIF
12. END GREEDY KNAPSACK  akhir prosedur/proses
Proses kegiatan dimulai dari langkah ke- 4 sampai dengan
11.
X(1:3) = 0, artinya X(1)=0, X(2)=0, X(3)=0
isi = M = 20
Pengulangan untuk i = 1 sampai dengan 3
Untuk i = 1
Apakah W(1) > isi
Apakah 15 > 20, jawabnya tidak, karena tidak maka
perintah dibawah IF dikerjakan.
X(1) = 1  nilai probabilitas untuk objek pada urutan
pertama (X1)
isi = 20 – 15 = 5
REPEAT mengulang untuk perulangan FOR
Untuk i = 2
Apakah W(2) > isi
Apakah 15 > 5, jawabnya ya, karena ya maka perintah
EXIT dikerjakan, yaitu keluar dari pengulangan/FOR dan
mengerjakan perintah di bawah REPEAT.
Apakah 2 ≤ 3, jawabnya ya, karena ya maka X(2) = 5/10
= ½ nilai probabilitas untuk objek pada urutan kedua
(X2).
Selesai (akhir dari prosedur greedy knapsack)
Berarti untuk nilai X(3) = 0 atau X3 = 0, sebab nilai
probabilitas untuk objek ke-3 tidak pernah dicari.
Jadi
(P1, P2, P3) = (24, 15, 25)
(W1, W2, W3) = (15, 10, 18)
(X2, X3, X1) = (1, 1/2, 0)

Fungsi Pembatas :
∑ Wi.Xi ≤ M
(W1. X1) + (W2. X2) + (W3. X3) ≤ M
(15.1) + (10.1/2) + (18.0) ≤ 20
20 ≤ 20
Fungsi Tujuan :
∑ Pi.Xi = (P1. X1) + (P2. X2) + (P3. X3)
= (24.1) + (15.1/2) + (25.0)
= 31,5

Anda mungkin juga menyukai