TUGAS PROGRAM DINAMIK
KELOMPOK 1 Nurmala Sari Putri Nasution
(140803005) (140803005)
Amrullah Rozi Dalimunthe
(140803047) (140803047)
Lestari
(140803065)
Wulandari
(140803087)
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2018
1
Pertemuan 1 1. Sejarah Program Dinamik
Istilah program dinamis, pertama kali diperkenalkan pada era 1950-an oleh Richard Bellman seorang professor di Universitas Princeton dan juga beker ja pada RAND corporation, perlu diketahui bahwa RAND corporation pada era itu merupakan suatu perusahan yang dibentuk untuk menawarkan analisis dan riset untuk angkatan bersenjata Amerika Serikat. Saat itu, Bellman bekerja di bidang pengambilan
keputusan
multi
tahap
(multistage
desicion
process)
dan
mengerjakan beberapa metode matematis, beberapa tahun kemudian setelah Bellman berada di RAND, lahirlah istilah pemrograman dinamis. Istilah ini tidak secara langsung berhubungan dengan pemrograman, melainkan digunakan sebagai judul project yang kemudian yang diusulkan RAND coorporation pada Angkatan Udara Amerika Serikat. Menurut Dimayati (1992), program dinamis adalah suatu teknik matematis yang biasanya digunakan untuk membuat suatu keputusan dari serangkaian keputusan yang saling berkaitan. Tujuan utama model ini adalah untuk mempermudah penyelesaian persoalan optimasi yang mempunyai karakteristik tertentu. Sedangkan menurut Siagian (2003), program dinamis adalah satu teknik matematis yang digunakan untuk mengoptimalkan proses pengambilan keputusan secara bertahap-ganda. Dalam teknik ini, keputusan yang menyangkut suatu persoalan dioptimalkan secara bertahap dan bukan secara sekaligus. Inti teknik ini adalah membagi satu persoalan atas beberapa bagian persoalan yang dalam program dinamis disebut tahap, kemudian memecahkan tiap tahap dengan mengoptimalkan keputusan atas tiap tahap sampai seluruh persoalan telah terpecahkan. Apa itu Dynamic Programming ? Dynamic Programming adalah suatu teknik algoritma untuk memecahkan masalah dimana solusi optimal dari masalah tersebut dapat dipandang sebagai suatu deret keputusan. Persoalan partisi merupakan persoalan yang sering diterapkan dalam kehidupan sehari-hari seperti
2
misalnya pada persoalan pembagian pekerjaan. Persoalan partisi sendiri memiliki banyak model dan karateristik.
Sumber http://yulianus-putra.blogspot.co.id/2012/03/sejarah-dynamic-
programming.html
Dynamic
programming adalah
dirancang untuk memperbaiki
prosedur
matematis
efisien perhitungan
yang
masalah
terutama
pemrograman
matematis tertentu dengan menguraikannya menjadi bagian-bagian masalah yang lebih kecil, sehingga lebih sederhana dalam perhitungan. Suatu masalah yang diselesaikan dengan pemrograman dinamik dapat dibagi dalam tahaptahap. Setiap tahap mewakili kemungkinan kapasitas dari masalah. Banyaknya tahap ditentukan pada awal pemrograman dinamik. Selanjutnya kemungkinan kapasitas dimulai dengan mengambil kemungkinan kapasitas minimal (0) sampai
kemungkinan
kapasitas maksimal (kemungkinan kapasitas yang
tersedia). Untuk mencari total keuntungan optimal, dicari terlebih dahulu keuntungan yang diperoleh dari tiap kelompok barang dengan kapasitasnya.
Perhitungan
disetiap
kelompok
barang
kemungkinan
melalui persamaan
rekursif dan selanjutnya menghasilkan penyelesaian optimal yang mungkin bagi seluruh barang (Taha, 1996). Prosedur penyelesaian suatu masalah dengan dynamic programming yaitu dengan prosedur rekursif yang berarti bahwa setiap kali mengambil keputusan harus memperhatikan keadaan yang dihasilkan oleh keputusan
optimal sebelumnya
dan merupakan
landasan
bagi
keputusan
optimal berikutnya. Prosedur penyelesaian rekursif ada 2 macam yaitu prosedur maju ( forward procedure) dan prosedur mundur (backward
= 1,2,...,, ∈ , dengan syarat kapasitas yang tersedia dinotasikan dengan , dimana ∈ , tiaptiap benda mempunyai variabel keputusan dinotasikan , = 1,2, … , . Misalnya, jika diberikan
jumlah
procedure).
benda dinotasikan ,
Dikatakan prosedur maju karena dalam perhitungan dimulai dari tahap pertama
ke
tahap
akhir.
Perhitungan
dimulai
dengan
mencari
nilai
3
keuntungan ditahap 1 lalu dilanjutkan mencari keuntungan di tahap 2 sampai tahap . Setelah dilakukan perhitungan diperoleh keputusan optimal. Model prosedur maju. Tahap 1
Tahap 2
Tahap 3
...
Tahap n
Gambar 2.1 Rekursif maju algoritma Dynamic Programming
Perhitungan yang dimulai pada tahap terakhir dan berlanjut ke belakang ke tahap 1 dinamakan prosedur mundur. Perhitungan dimulai dengan mencari nilai keuntungan di tahap
lalu
dilanjutkan mencari nilai keuntungan
1 sampai
tahap 1. Setelah dilakukan perhitungan diperoleh keputusan optimal. Model prosedur mundur. Tahap 1
...
Tahap n-2
Tahap n-1
Tahap n
Gambar 2.2 Rekursif mundur algoritma Dynamic Programming
Dari ilustrasi di atas dimisalkan bahwa suatu masalah dapat dipecahkan dengan n tahap. Pada ilustrasi Gambar 2.1 diatas rekursif
maju
(forward
, … , − , − ,
recursion),
, , … , menggambarkan
sedangkan
Gambar
2.2
diatas
menggambarkan rekursif mundur (backward recursion).
Perbedaan pokok antara rekursif maju dan rekursif mundur terletak pada cara mendefinisikan tahap yang dipakai, apakah digunakan tahap pertama atau tahap terakhir untuk memulai perhitungan. 2. Manfaat Program Dinamik
Pada penerapannya pemrograman dinamis banyak digunakan pada proses optimalisasi masalah. Program dinamis merupakan sebuah algoritma pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah atau tahapan sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian
keputusan
yang
saling
berkaitan.
Penyelesaian
metode
ini
menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap. Ciri utama dari program dinamis adalah pr insip optimalitas yang berbunyi “jika solusi total optimal, maka
4
bagian solusi sampai tahap ke-k juga optimal”. Dalam menyelesaikan persoalan dengan program dinamis, dapat digunakan dua pendekatan berbeda yaitu: 1. Maju ( forward atau top-down) : bergerak mulai dari tahap 1 terus maju ke tahap 2, 3, .., n. Urutan variabel keputusannya adalah ( . , … , ). 2. Mundur (backward atau bottom-up) : bergerak mulai dari tahap n terus
1, 2, 3, 2,1. adalah ( , − , − , − , . . . , , . mundur ke tahap
Urutan variabel keputusannya
Prinsip yang digunakan pada program dinamis yaitu prinsip optimalitas prinsip optimalitas berarti bahwa jika bekerja dari tahap k ke tahap k +1, dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal. Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Metode greedy hanya satu rangkaian keputusan yang pernah dihasilkan, sedangkan pada metode program dinamis lebih dari satu rangkaian keputusan. Hanya rangkaian keputusan yang memenuhi prinsip optimalitas yang akan dihasilkan. (http://eprints.undip.ac.id/18675/1/Pertemuan10.pdf ) 3. Tujuan Program Dinamik
Ide kunci di balik pemrograman dinamis adalah cukup sederhana. Secara umum, untuk memecahkan persoalan yang diberikan, kita perlu untuk memecahkan berbagai
masalah
(submasalah),
kemudian
menggabungkan
solusi
dari
submasalah untuk mencapai solusi secara keseluruhan. Seringkali, banyak dari submasalah ini benar-benar sama. Pendekatan pemrograman dinamis berusaha untuk memecahkan setiap subproblem hanya sekali, sehingga mengurangi jumlah perhitungan. Hal ini sangat berguna ketika jumlah subproblems mengulangi secara eksponensial besar.
5
4. Aplikasi Program Dinamik Dalam Masalah Nyata (Kehidupan Seharihari)
Pemrograman dinamis adalah teknik matematik yang dapat diterapkan pada berbagai jenis persoalan. Ia dapat digunakan untuk menyelesaikan pesoalan dalam area seperti alokasi, pemuatan kargo, penggantian, pembuatan jadwal, dan inventory. Meskipun demikian, program dinamik adalah 'pendekatan' untuk penyelesaian persoalan dan bukan algoritma tunggal yang dapat digunakan untuk menyelesaikan semua jenis persoalan. Jadi, diperlukan algoritma terpisah untuk menyelesaikan setiap jenis persoalan. Penelitian terhadap Aplikasi Program Dinamik sudah pernah dilakukan beberapa peneliti yaitu antara lain sebagai berikut: a. Aplikasi Program Dinamik Untuk Mengoptimalkan Biaya Total Pada Pengendalian Produksi Minyak Sawit Dan Inti Sawit (Studi Kasus: PTPN IV (Persero) PKS Sawit Langkat) Oleh : Roland Ganda Simanjuntak, Faigiziduhu Bu’ulolo, Esther S M Nababan Ringkasan Jurnal: PT. Perkebunan Nusantara IV adalah perusahaan negara yang bergerak dibidang pertanian dengan komoditas sawit, teh, kakao, karet, dan kina. Dalam hal ini penulis mengkhususkan penelitian yang dilakukan terhadap sawit yang berlokasi di Pabrik Kelapa Sawit (PKS) Sawit Langkat. Pembahasan yang dilakukan adalah membuat pengendalian jumlah produksi minyak sawit dan inti sawit untuk periode satu tahun ke depan. Metode yang digunakan dalam penelitian ini adalah metode program dinamik deterministik dengan rekursif maju. Persamaan rekursif yang diperoleh pada penelitian ini adalah ( )
=
{7808,39( + ) + −(−)}. Biaya total optimal (minimum) yang diperoleh
untuk
minyak
sawit
selama
satu
tahun
adalah
. 195.273.731.947,00 dan untuk inti sawit adalah .55.304.620.503,00.
6
b. Analisa Ekonomi Berdasarkan Optimasi Distribusi Air Bersih Dengan Metode Program Dinamik Deterministik Model Alokasi (Studi Kasus Kecamatan Junrejo). Oleh : Rispiningtati, Widandi, Andreas Novianton Nugraha Ringkasan jurnal: Dalam pertumbuhan jaman dengan semakin berkembangnya jumlah penduduk dan terbatasnya ketersediaan air, berbagai upaya dilakukan untuk pemanfaatan sumberdaya air sebaik mungkin. Dengan itu timbulah berbagai cara dan alternatif, salah satunya adalah dengan optimasi pembagian air dengan
program
dinamik determininstik model alokasi. Dan hasil dari
optimasi akan dijadikan sebagai acuan dalam analisa ekonomi dengan IRR 15% dan B/C = 1 sehingga didapat nilai harga jual air dan biaya operasi dan pemeliharaan yang ideal. Dari hasil perhitungan
ketersediaan air di kecamatan junrejo terlihat
mencukupi tetapi pada kenyataanya mengalami defisit atau kekurangan. Terlihat pada Desa Tlekung dan Kelurahan Dadaprejo ketersediaan air masih mencukupi hingga tahun 2023 namun di desa Beji mulai dari tahun 2017 sudah mengalami kekurangan air. Sehingga jika terjadi hal seperti diatas maka salah satu cara untuk mengtasi kekurangan air yaitu dengan optimasi. Dan pada optimasi Desa Beji tahun 2017 yang memakai debit 8,8 lt/dt dapat dialokasikan ke 4 dusun dengan menghasilkan keuntungan Rp 392.418,48 /hr. Perhitungan benefit-cost terhadap biaya kontruksi dalam studi ini dilakukan terhadap biaya. Untuk analisa ekonomi dilakukan dengan
tiga
menghasilkan
kondisi
yaitu
yang
pertama
pada
saat eksisting
yang
nilai B/C=0,97099, NPV=Rp-121.345.594,55 dengan IRR
15%. Pada kondisi kedua akan dicari harga jual air minimal dengan batasan nilai B/C ≈ 1 dan didapat harga air sebesar Rp 550,00. Serta memasukkan hasil optimasi tahun 2013 (lampiran) kedalam kondisi kedua untuk mencari harga jual air pada saat dilakukan optimasi dengan batasan B/C = 1. Sehingga didapat nilai harga jual air sebes ar Rp 611,11 /m3.
7
c. Optimalisasi Keputusan Untuk Memperoleh Keuntungan Maksimal Dalam Penentuan Kelayakan Operasional Kendaraan Dengan Menggunakan Metode Dynamic Programming Pada PT. Tor Ganda Oleh : Frainskoy Rio Naibaho Ringkasan Jurnal : Kebutuhan suatu perusahaan akan informasi kinerja kendaraan yang dimiliki sangatlah penting, dari informasi inilah akan dapat diketahui apakah kendaraan kendaraan
tersebut
tersebut harus
masih
layak
diganti.
Jika
dipertahankan biaya yang
atau apakah
muncul
akibat
perawatan sudah terlalu besar dibandingkan dengan kinerja dari kendaraan tersebut maka sebaiknya kendaraan
tersebut
tidak lagi digunakan atau
sebaiknya dijual saja. PT Tor Ganda adalah salah satu perusahaan besar yang memiliki jumlah kendaraan ± 500 unit dengan usia kendaraan yang beragam.
Keputusan yang optimal sangatlah dibutuhkan perusahaan agar
hal tersebut diatas dapat terselesaikan. maka permasalahan
tersebut
dapat
Dengan
pendekatan
diselesaikan
matematika
yaitu dengan
teknik
dynamic programming, karena dynamic programming adalah salah satu teknik
matematika yang
digunakan
untuk
mengoptimalkan
proses
pengambilan keputusan secara bertahap ganda. Inti dari teknik ini ialah membagi satu persoalan atas beberapa bagian persoalan (tahap), kemudian memecahkan tiap tahap sampai seluruh persoalan telah terpecahkan.
8
DAFTAR PUSTAKA
Rio Frainskoy Naibaho, 2015. Optimalisasi Keputusan Untuk Memperoleh Keuntungan Maksimal Dalam Penentuan Kelayakan Operasional Kendaraan Dengan Menggunakan Metode Dynamic Programming Pada PT. Tor Ganda. Roland Ganda Simanjuntak, Faigiziduhu Bu’ulolo, Esther S M Nababan, 2013. Aplikasi Program Dinamik Untuk Mengoptimalkan Biaya Total Pada Pengendalian Produksi Minyak Sawit Dan Inti Sawit (Studi Kasus: Ptpn Iv (Persero) Pks Sawit Langkat). Saintia Matematika. Vol. 1, No. 5 , pp. 419 – 433. Rispiningtati, Widandi, Andreas Novianton Nugraha, 2017. Analisa Ekonomi Berdasarkan Optimasi Distribusi Air Bersih Dengan Metode Program Dinamik Deterministik Model Alokasi (Studi Kasus Kecamatan Junrejo). http://yulianus-putra.blogspot.co.id/2012/03/sejarah-dynamic-programming.html https://sutrisnoadityo.wordpress.com/2013/10/12/program-dinamis/