Dokumen ini membahas tentang pemrograman dinamis sebagai metode pemecahan masalah dengan menguraikan solusi menjadi tahapan. Pemrograman dinamis menggunakan tabel-tabel untuk menghitung solusi dan menerapkan prinsip optimalitas dimana solusi bagian optimal akan menghasilkan solusi keseluruhan yang optimal pula. Dua contoh yang dijelaskan adalah masalah lintasan terpendek dan shortest path.
2. PEMROGRAMAN DINAMIS
(DYNAMIC PROGRAMMING)
• Metode pemecahan masalah dengan cara menguraikan solusi menjadi
sekumpulan tahapan (stage)
• Sedemikian sehingga solusi dari persoalan dapat dipandang dari
serangkaian keputusan yang saling berkaitan.
• Istilah "pemrograman dinamis" muncul karena perhitungan solusi
menggunakan tabel-tabel.
3. KARAKTERISTIK PEMROGRAMAN
DYNAMIC
• Terdapat sejumlah berhingga pilihan yang mungkin,Solusi pada setiap
tahap dibangun dari hasil solusi tahap sebelumnya,Kita menggunakan
persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang
harus dipertimbangkan pada suatu tahap
4. GREEDY VS DYNAMIC
PROGRAMMING
• Hanya satu rangkaian keputusan yang dihasilkan
• Lebih dari satu rangkaian keputusan yang dipertimbangkan
5. GREEDY: GRAF LINTASAN
TERPENDEK 1 KE 10.
• Greedy: 1 – 2 – 6 – 9 – 10 dengan cost = = 13
• Dynamic Programming: akan dijelaskan kemudian
6. PRINSIP OPTIMALITAS
• Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan
menggunakan Prinsip Optimalitas.
• Prinsip Optimalitas: jika solusi total optimal, maka bagian solusi sampai tahap
ke-k juga optimal.
• Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap k ke tahap k + 1,
kita dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke
tahap awal.
• Ongkos pada tahap k +1 = (ongkos yang dihasilkan pada tahap k ) +
(ongkos dari tahap k ke tahap k + 1)…… …… 1 2 k k +1
7. MULTYGRAPH
Tiap simpul di dalam graf tersebut menyatakan
status, sedangkan V1, V2, … menyatakan tahap.