Perumusan Masalah Batasan Masalah Tinjauan Pustaka

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