kecil dari sebuah persoalan dalam setiap langkahnya, kemudian menyelesaikan persoalan yang lebih kecil tersebut dan menggunakan solusi hasil penyelesaian ini untuk
ditambahkan kembali ke bagian persoalan dalam langkah berikutnya.
Pemrograman Dinamik mencoba untuk memberikan solusi yang memiliki konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap.
Pemrograman Dinamik mampu mengurangi pengenumerasian keputusan yang tidak mengarah ke solusi. Penerapan pendekatan Pemrograman Dinamik telah banyak
diperlihatkan mampu utnuk menyelesaikan aneka masalah seperti: alokasi, muatan Knapsack, capital budgeting, pengawasan persediaan, dan lain-lain.
1.2 Perumusan Masalah
Masalah yang dibahas adalah bagaimana menentukan lintasan terpendek yang merupakan persoalan Knapsack dari titik sumber ke titik tujuan pada suatu graph dengan
pendekatan Algoritma Pemrograman Dinamik.
1.3 Batasan Masalah
Dalam tulisan ini, masalah akan dibatasi dalam menyelesaikan Persoalan Knapsack pada lintasan terpendek dengan mencari solusi optimal dari lintasan terpendek dengan cara
meminimumkan biaya dan waktu melalui pendekatan Algoritma Pemrograman Dinamik Maju.
1.4 Tinjauan Pustaka
Untuk maksud dan tujuan penelitian ini, penulis memanfaatkan buku–buku sebagai referensi di antaranya:
Universitas Sumatera Utara
Stuart E. Dreyfus dan Averii M. Law 1997 dalam bukunya “The Art And Theory Of Dynamic Programming”, memuat bahwa ada beberapa pendekatan yang digunakan
dalam Algoritma Pemrograman Dinamik, salah satunya yaitu Pemrograman Dinamik Maju forward atau up-down. Misalkan: x
1
, x
2
, ..., x
n
menyatakan varibel keputusan yang harus dibuat masing-masing untuk tahap 1, 2, ..., n. Pemrograman Dinamik Maju adalah
program dinamis yang bergerak mulai dari tahap 1, terus maju ke tahap 2, 3 dan seterusnya sampai tahap n. Urutan variabel keputusan adalah x
1
, x
2,
…, x
n
. Tugas akhir ini menggunakan Pemrograman Dinamik Maju.
Pemrograman Dinamik memiliki karakteristik sebagai berikut: 1.
Persoalan dapat dibagi menjadi beberapa tahap stage, yang pada setiap tahap hanya diambil satu keputusan yang optimal.
2. Masing-masing tahap terdiri dari sejumlah status state yang berhubungan
dengan tahap tersebut. 3.
Hasil keputusan yang diambil pada tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.
4. Jumlah pada suatu tahap bergantung pada jarak tahap-tahap sebelumnya dan
meningkat secara teratur dengan bertambahnya jumlah tahapan. 5.
Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan tahap sebelumnya.
6. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk
setiap status pada tahap k memberikan keputusan terbaik utnuk tahap sebelumnya.
7. Prinsip optimalitas berlaku pada persoalan ini.
Martello. S. and Toth. P. 1990 dalam bukunya “Knapsack Problem, Algorithms and Computer Implementations“, memuat tentang Algoritma Program 0-1 merupakan
salah satu tipe persoalan Knapsack dalam keadaan tertentu dapat terjadi, masing-masing keadaan mempunyai sebuah nilai yang dihubungkan dengan besarannya. Secara nyata
bahwa persoalan Knapsack akan menunjukkan kemungkinan yang terbaik.
Universitas Sumatera Utara
0-1 atau biner, Persoalan Knapsack yaitu masukan dari n item dan suatu Knapsack, dengan persamaan sebagai berikut:
Pilih subset dari item sebagai: maksimumkan
z =
1 j
dengan kendala
n
j 1
c, x
j =
0 atau 1, j N {1,….,n}
untuk
1
j
x
Keterangan: p
j
= keuntungan dari item j, w
j
= bobot dari item j, c = kapasitas dari Knapsack
1.5 Tujuan Penelitian