Anda di halaman 1dari 10

PERTEMUAN 14 METODE GREEDY Metode Greedy digunakan untuk memecahkan persoalan optimasi.

. Persoalan optimasi adalah persoalan mencari solusi optimum Persoalan optimasi ada 2 Maksimasi Minimasi Contoh Masalah Optimasi: Penukaran Uan Diberikan uang senilai A. Tukar A dengan koin-koin uang yang ada. Berapakah jumlah minimum koin yang diperlukan untuk penukaran uang tersebut. Persoalan Minimasi. ontoh !" tersedia banyak koin !# $# !%# 2$ &2 ' ! ( ! ( ) ( ! &2 ' $ ( $ ( $ ( $ ( !% ( ! ( ! &2 ' !% ( !% ( !% ( ! ( ! Minimum" &2 ' 2$ ( $ ( ! ( ! *&2 koin+ *, koin+ *$ koin+ *- koin+

Greedy ' rakus# tamak Algoritma greedy membentuk solusi langkah per langkah *step by step+. Pada setiap langkah terdapat banyak pilihan yang perlu dieksplorasi. .ehingga# pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. *keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya+. Pada setiap langkah membuat pilihan optimum lokal Dengan harapan bah/a langkah sisanya mengarah kesolusi optimum global. Metode Greedy digunakan dalam menyelesaikan masalah 0ptimal .torage on Tapes Problem 1napsack Problem Minimum .panning Tree Problem .hortest Path Problem Penjelasan .torage on Tape Problen ada pada .23D4.

!napsa"k Pro#lem 1napsack dapat diartikan sebagai karung# kantung# atau buntilan. 1arung digunakan untuk memuat sesuatu. Dan tentunya tidak semua objek dapat ditampung di dalam karung. 1arung tersebut hanya dapat menyimpan beberapa objek dengan total ukurannya */eight+ lebih kecil atau sama dengan ukuran kapasitas karung. .etiap objek itupun tidak harus kita masukkan seluruhnya. Tetapi bisa juga sebagian saja. knapsack %5!# yaitu suatu objek diambil seluruh bagiannya atau tidak sama sekali. .etiap objek mempunyai nilai keuntungan atau yang disebut dengan pro6it. Tujuan ingin mendapatkan pro6it yang maksimal. 7ntuk mendapatkan pro6it maksimal Belum tentu menggunakan banyak objek yang masuk akan menguntungkan. Bisa saja hal yang sebaliknya yang terjadi. o ara terbaik agar menguntungkan " bukan hanya dari hasilnya optimal tetapi juga banyaknya langkah yang dibutuhkan

!napsa"k $%1 Diberikan n buah objek dan sebuah knapsack dengan kapasitas bobot 8. .etiap objek memiliki properti bobot */eigth+ /i dan keuntungan*pro6it+ pi. persoalan adalah memilih memilih objek-objek yang dimasukkan ke dalam knapsack sedemikian sehingga memaksimumkan keuntungan. Total bobot objek yang dimasukkan ke dalam knapsack tidak boleh melebihi kapasitas knapsack. .olusi persoalan dinyatakan sebagai 9ektor n-tupel" : ' ;<!# <2# ) # <n= <i ' ! jika objek ke-i dimasukkan ke dalam knapsack# <i ' % jika objek ke-i tidak dimasukkan. Persoalan %5! 1napsack &apat kita pan&an " sebagai mencari himpunan bagian *subset+ dari keseluruhan objek yang muat ke dalam knapsack dan memberikan total keuntungan terbesar. Penyelesaian dengan Greedy" !. Greedy by Pro6it

Pada setiap langkah 1napsack diisi dengan obyek yang mempunyai keuntungan terbesar. .trategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu. Pertama kali dilakukan adalah menurutkan secara menurun obyek-obyek berdasarkan pro6itnya . 1emudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau *sudah tidak ada obyek lagi yang bisa dimasukan+. Data a/al " /! ' >? p! ' !2 /2 ' $? p2 ' !$ /& ' !%? p& ' $% /- ' $? p- ' !% 1apasitas knapsack 8 ' !>

2. Greedy by 8ight Pada setiap langkah# knapsack diisi dengan objek yang mempunyai berat paling ringan. .trategi ini mencoba memaksimumkan keuntungan dengan memasukan sebanyak mungkin objek kedalam knapsack. Pertama kali yang dilakukan adalah mengurutkan secara menaik objek-objek berdasarkan /eight-nya. 1emudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau *sudah tidak ada obyek lagi yang bisa dimasukan+.

&. Greedy By Density Pada setiap langkah# knapsack diisi dengan obyek yang mempunyai densitas terbesar *perbandingan nilai dan berat terbesar+. .trategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan per unit berat terbesar. Pertama kali yang dilakukan adalah mencari nilai pro6it per unit5 density dari tiap-tiap objek. 1emudian obyek-obyek diurutkan berdasarkan densitasnya. 1emudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau *sudah tidak ada obyek lagi yang bisa dimasukan+.

Perbandingan hasil"

Penggunaan & strategi diatas tidak menjamin akan memberikan solusi optimal. 0@T0A 2" 1apasitas M'2%# dengan jumlah barang '& Berat 8i masing-masing barang *8!#82#8&+ *!B#!$##!%+ @ilai Pro6it masing-masing barang *P!#P2#P&+ *2$#2-#!$+ Pilih Barang dengan nilai pro6it maksimal P!'2$ <!'!. batas atas nilai P2'2- <2'25!$. P&'!$ <& '%. batas ba/ah nilai.

Pilih barang dengan berat minimal 8! ' !B <!'%. batas ba/ah 82'!$ <2 ' 25& 8&'!% <&'!. batas atas. Pilih barang dengan menghitung perbandingan yang terbesar dari pro6it dibagi Berat *Pi58i+ diurut secara tidak naik. P!5/!'2$5!B *!.&B+ <!'%. karena terkecil <!'% P25/2'2-5 !$ *!.>+ <2'!. karena terbesar <2'! P&5/&'!$5!% *!.$+ <&'!52 dicari dengan 6ungsi pembatas <&'!52. Buat Tabel .olusi Pi ma< 8i min Pi58i ma< *<!#<2#<&+ !#25!$#% %#25&#! %#!#!52 /i<i 20 20 20 pixi 28.2 31.0 31.5

@ilai pro6it maksimal ' &!.$.

PERTEMUAN 1' PENYE(E)A*AN DENGAN A(GOR*TMA PEMROGRAMAN GREEDY PROSEDUR DALAM SLIDE PROCEDURE GREEDY KNAPSACK (P, W, x, n) REAL P(1 : n), W(1 : n),x(1 : n),M,isi; INTEGER i, n; x(1 : n) 0 ; isi M ; OR i 1 TO n DO I W(i) ! Isi T"EN E#IT ENDI x(i) 1 isi isi $ W(i) REPEAT I i n T"EN x(i) isi%W(i) ENDI END&GREEDY KNAPSACK

Pen+elasan pro ram a&a pa&a sli&e, Mo&el Graph Dalam meto&e Gree&Graph teori graph terdiri dari titik-titik. Bila dirangkaikan, titik-titk tersebut mebentuk suatu object yang kita kenal sebagai grafis. Graph : Terdiri dari node dan Terdiri dari link

node disebut vertex link disebut edge informasi penting dlm graph adalah koneksi antar vertex

Graph .er#o#ot ontoh salah satu representasi 9isual dari gra6 adalah peta. representasi dari peta antara lain" menentukan jalur terpendek dari satu tempat ke tempat lain menggambarkan 2 kota yang bertetangga dengan /arna yang berbeda pada peta menentukan tata letak jalur transportasi .alah satu konsep graph yang banyak digunakan adalah konsep pohon. Pohon adalah gra6 tak-berarah dan tidak berbentuk sirkuit T / 0 12E 3 4 1eterangan " T " Tree C " Certices atau node atau 9erte< atau simpul# C merupakan himpunan tidak kosong. C ' ;9!#92#)#9n= 4 " 4dges atau sisi yang menghubungkan simpul 4 ' ;e!#e2#)#en= Minimum )pannin Tree

ontoh kasus pada pemeliharaan jalan raya. Dengan .panning Tree# pemerintah dapat mengalokasikan dana secara optimal dengan mencari jalur pemeliharaan dengan bobot biaya yang minimum. M)T lintasan pada gra6 berbobot dengan jumlah bobot yang paling kecil. digunakan untuk memilih jalur dengan bobot terkrcil yang akan meminimalkan cost. Algoritma Prim untuk membentuk pohon merentang dari Graph " 1. Ambil sisi dari graf G yang berbobot merentang. #masukkan kedalam T. 2. ili! sisi "u#$% yang mempunyai bobot minimum dan bersisian dengan simpul di T# tetapi "u#$% tidak membentuk sirkuit di T. Tambahkan"u#$%ke dalamT 3. &langi langka! 2 sebanyak n 2 kali. Proses pem#entukan pohon merentan 0spannin tree3,

Pada setiap langkah dipilih sisi gra6 G yang mempunyai bobot minimum dan terhubung dengan M.T yang telah terbentuk 1riteria5 dr spanning tree# yakni " !. .etiap ruas pada graph harus terhubung * conected+ 2. .etiap ruas pd graph hrs mpy nilai *label graph+ &. .etiap ruas pd graph tdk mpy arah *graph tdk berarah+

Proses.Total minimum cost terbentuknya graph dgn tahapan sbb" ' Dari graph yg tetbentuk# apakah memenuhi kriteria M.T. ' 2akukan secara urut dr simpul ruas a/al s5d ruas akhir ' Pada setiap simpul ruas perhatikan nilai5cost dr tiap-tiap ruas ' Ambil nilai yg paling kecil *jarak tertpendek setiap ruas+. ' 2anjutkan s5d semua simpul ruas tergambar pd spanning tree ' Dumlahkan nilai5cost yg dipilih tadi. Contoh :

)6ORTE)T PAT6 PRO.(EM ' ' Permasalahan' menghitung jalur terpendek dari sebuah graph berarah. bagaimana mencari sebuah jalur pada gra6 yang meminimalkan jumlah bobot sisi pembentuk jalur tersebut.

Ada beberapa macam persoalan lintasan terpendek, antara lain: a. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path). b. Lintasan terpendek antara semua pasangan simpul ( all pairs shortest path). c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain ( single-source shoertes path). d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate shortest path).

!riteria utk permasalahan +alur terpen&ek%)P pro#lem ts# : !. .etiap ruas pd graph hrs mpy nilai *label graph+ 2. .etiap ruas pd graph tdk hrs terhubung *unconnected+ &. .etiap ruas pd graph tsb hrs mempunyai arah *graph berarah+.

Anda mungkin juga menyukai