sesuai dengan persoalaannya. Pada penyelesaian dengan metode ini ada beberapa hal yang harus diperhatikan, yaitu:
1. Terdapat sejumlah berhingga pilihan yang mungkin.
2. Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya.
3. Persyaratan optimasasi dan kendala digunakan untuk membatasi sejumlah
pilihan yang harus dipertimbangkan pada suatu tahap.
3.5.1. Konsep Dasar dalam Dynamic programming
Konsep – konsep dasar dalam dynamic programming, yaitu: 1.
Dekomposisi Persoalan dynamic programming dapat dipecah-pecah menjadi sub-persoalan
atau tahapan yang lebih kecil dan berurutan. Setiap tahap disebut juga sebagai titik keputusan. Setiap keputusan yang dibuat pada suatu tahap akan
mempengaruhi keputusan-keputusan pada tahap berikutnya. 2.
Status Status adalah kondisi awal S
n
dan kondisi akhir S
n-1
pada setiap tahap, di mana pada tahap tersebut keputusan dibuat D
n
. Status akhir pada sebuah tahap tergantung keadaan status awal dan keputusan yang dibuat pada tahap
tersebut. Status akhir pada suatu tahap merupakan input bagi tahap berikutnya.
3. Variabel keputusan dan hasil
Keputusan yang dibuat pada setiap tahap D
n
merupakan keputusan yang berorientasi kepada return yang diakibatkannya R
n
|D
n
.
Universitas Sumatera Utara
4. Fungsi transisi
Fungsi transisi menejelaskan secara pasti bagaimana tahap-tahap saling berhubungan. Fungsi ini berbentuk fungsi hubungan antar status pada setiap
tahap berurutan. Fungsi transisi secara umum berbentuk berikutnya: S
n-1
= S
n
-D
n . . . hal
Dimana Sn-1 = status pada tahap n-1, atau status akhir pada tahap-n. Sn adalah status awal pada tahap n.
5. Optimisasi tahap
Optimisasi tahap dalam dynamic programming adalah menentukan keputusan optimal pada setiap tahap dari berbagai kemungkinan nilai status inputnya.
Fungsi umum dari keputusan optimal, yaitu: fnS
n
, D
n
= Return pada tahap n dari nilai status input S
n
, keputusan D
n
. fnS
n
= Return optimal pada tahap n dari nilai input status S
n
. 6.
Fungsi Rekursif Fungsi rekursif biasanya digunakan pada berbagai program komputer, di
mana nilai sebuah variabel pada fungsi itu merupakan nilai kumulatif dari nalai variabel tersebut pada tahap sebelumnya. Pada dynamic programming,
fungsi umum dituliskan sebagai: f
n
S
n
, D
n
= R
n
+ f
n-1
S
n-1
, D
n-1
.....
3.5.2. Kriteria Dynamic programming
Asumsi-asumsi dalam dynamic programming sebagai berikut: 1.
Setiap persoalan memliki nilai atau konstanta yang berhingga.
Universitas Sumatera Utara
2. Setiap bagian dari persoalan merupakan satu kesatuan yang utuh.
3. Persoalannya diasumsikan bersifat dependen.
4. Kedatangan pesanan bersifat dinamis atau berubah-ubah.
Persyaratan dari dynamic programming sebagai berikut: 1.
Persoalan dapat dibagi menjadi beberapa tahap yang pada setiap tahap hanya diambil satu keputusan.
2. Masing-masing tahap terdiri dari sejumlah status yang berhubungan dengan
tahap tersebut. Secara umum, status merupakan bermacam-macam kemungkinan masukan yang ada pada tahap tersebut.
3. Hasil keputusan yang diambil pada setiap tahap ditansformasikan dari status
yang bersangkutan ke status berikutnya pada tahap berikutnya. 4.
Ongkos pada suatu tahap meningkat secara teratur dengan bertambahnya jumlah tahapan.
5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah
berjalan ditambah dengan ongkos pada tahap tersebut. 6.
Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.
3.5.3. Prosedur solusi