STUDI METODE PROGRAM DINAMIK DALAM MENCARI
SOLUSI OPTIMAL PADA PERSOALAN TRAVELLING
SALESMAN PROBLEM ( TSP)
SKRIPSI
NICOLAS R N SIAGIAN
050803031
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : STUDI METODE PROGRAM DINAMIK DALAM
MENCARI SOLUSI OPTIMAL PADA PERSOALAN TRAVELLING SALESMAN PROBLEM (TSP)
Kategori : SKRIPSI
Nama : NICOLAS R N SIAGIAN
Nomor Induk Mahasiswa : 050803031
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Maret 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Henry Rani Sitepu, M.Si Prof. DR. Herman Mawengkang
NIP 195303031983031002 NIP 1946112819744031001
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU Ketua,
Dr. Saib Suwilo, M.Sc. NIP 1964010919880301004
3
PERNYATAAN
STUDI METODE PROGRAM DINAMIK DALAM MENCARI SOLUSI OPTIMAL PADA PERSOALAN TRAVELLING SALESMAN PROBLEM (TSP)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Maret 2010
NICOLAS R N SIAGIAN 050803031
PENGHARGAAN
Puji syukur kepada Allah Bapa di Surga atas segala berkat, kasih karunia serta bimbingan yang masih senantiasa diberikan-Nya kepada saya hingga saat ini sehingga saya mampu untuk menyelesaikan skripsi ini.
Penulis menyampaikan rasa terima kasih yang sebesar-besarnya kepada orangtua tercinta U R Siagian dan J Silaban atas segala kasih sayang, dukungan baik secara moril maupun materil yang senantiasa mereka berikan kepada penulis.Dan penulis juga ingin menyampaikan terima kasih kepada:
1. Bapak Prof.DR. Herman Mawengkang dan Bapak Drs. Henry Rani Sitepu,
M.Si, selaku dosen pembimbing yang telah memberikan bimbingan dan pengarahan kepada penulis sehingga skripsi ini dapat penulis selesaikan.
2. Bapak Drs.Ramli Barus, M.Si dan Bapak Drs.H.Haluddin Panjaitan selaku
dosen penguji.
3. Bapak Dr.Saib Suwilo, M.Sc selaku Ketua Departemen Matematika dan Bapak
Henry Rani Sitepu selaku Sekretaris Departemen Matematika
4. Semua dosen di Departemen Matematika dan pegawai di FMIPA USU.
5. Kakak-kakak saya (Febri,Vero,Eva,Sari), dan adik saya (Nova,Lucky) atas
segala motivasi yang diberikan kepada penulis serta seluruh keluarga.
6. Anak-anak matematika 2005 yang telah membantu penulis selama
ini.Anak-anak futsal yang telah mengajari saya berolah raga hingga seperti ini.Kalian semua selalu ada di dalam hati saya.
7. Seseorang yang telah banyak memberikan saya pengalaman berharga.Serta
semua orang yang telah membantu saya yang tidak dapat saya sebut satu per satu.Thanks for all.
Penulis menyadari masih banyak kekurangan dalam penulisan ini. Untuk itu penulis menerima saran dan kritik yang membangun dari pembaca.
Akhir kata penulis mengucapkan terima kasih, semoga skripsi ini dapat bermanfaat bagi kata semua. Semoga semua bantuan saudara mendapat balasan yang lebih dari Tuhan Yang Maha Esa.
Medan, Maret 2010
Penulis,
5
ABSTRAK
Travelling Salesman Problem (TSP) merupakan salah satu permasalahan yang penting dalam dunia matematika dan informatika.Travelling Salesman Problem dapat diartikan sebagai perjalanan seorang salesman yang harus mengunjungi semua kota yang ada dan hanya dikunjungi tepat satu kali.Dalam tulisan ini akan dibahas cara menyelesaikan TSP dengan metode program dinamik.
ABSTRACT
Travelling salesman problem (TSP) is the one of important problems in mathematics and informatics. Travelling salesman problem can be meant as a salesman path that has to come all towns once. This thesis explains how to solve TSP with dynamic programming.
Dynamic programming is a mathematical technique, used to make a decision from some decisions to find optimum solution. Therefore, dynamic programming can be used to find a shortest path in TSP.
7
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR GAMBAR viii
BAB 1 PENDAHULUAN 1
1.6 Metodologi Penelitian 4
1.7 Tinjauan Pustaka 4
2.1.4 Graf Berlabel/ Berbobot 11
2.1.5 Subgraf 12
2.1.6 Lintasan dan Sirkuit 13
2.1.7 Lintasan dan Sirkuit Hamilton 15
2.1.8 Matriks dan Graf 18
2.1.9 Graf Planar 21
2.2 Program Dinamik 22
2.2.1 Karakteristik Program Dinamik 23
2.2.2 Pendekatan Program Dinamik 24
2.2.3 Pernyataan Matematis Program Dinamik 25
2.2.4 Formulasi Program Dinamik untuk Persoalan TSP 26
BAB 3 PEMBAHASAN 28
3.1 Contoh Perjalanan Seorang Salesman 28
BAB 4 KESIMPULAN DAN SARAN 36
4.1 Kesimpulan 36
4.2 Saran 36
DAFTAR GAMBAR
Halaman
Gambar 2.1 Graf 6
Gambar 2.2 Graph berarah 7
Gambar 2.3 Multigraf 8
Gambar 2.4 Graf Bipartite 10
Gambar 2.5 Graf G 11
Gambar 2.6 Graf G 11
Gambar 2.7 Graf Berbobot 12
Gambar 2.8 Subgraf 13
Gambar 2.9 Graf Terhubung dan Graf tak Terhubung 14
Gambar 2.10 Dodecahedron 15
Gambar 2.11 Lintasan 17
Gambar 2.12 Lintasan (vx,vk,vk+1,...,vj−1,vp,vp−1, ...,vj,v1,v2,...,vk−1) 17
Gambar 2.13 Graf 19
Gambar 2.14 Lintasan i ke k 21
Gambar 2.15 Graf Planar 22
Gambar 2.16 Program Dinamik Maju 24
Gambar 2.17 Program Dinamik Mundur 24
Gambar 3.1 Graf Lengkap dengan 6 Simpul 28
5
ABSTRAK
Travelling Salesman Problem (TSP) merupakan salah satu permasalahan yang penting dalam dunia matematika dan informatika.Travelling Salesman Problem dapat diartikan sebagai perjalanan seorang salesman yang harus mengunjungi semua kota yang ada dan hanya dikunjungi tepat satu kali.Dalam tulisan ini akan dibahas cara menyelesaikan TSP dengan metode program dinamik.
ABSTRACT
Travelling salesman problem (TSP) is the one of important problems in mathematics and informatics. Travelling salesman problem can be meant as a salesman path that has to come all towns once. This thesis explains how to solve TSP with dynamic programming.
Dynamic programming is a mathematical technique, used to make a decision from some decisions to find optimum solution. Therefore, dynamic programming can be used to find a shortest path in TSP.
9
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Travelling Salesman Problem (TSP) merupakan salah satu permasalahan yang penting
dalam dunia matematika dan informatika. TSP dapat diilustrasikan sebagai perjalanan
seorang salesman keliling yang harus mengunjungi sebanyak n kota dengan aturan
sebagai berikut:
1. Ia harus mengunjungi setiap kota hanya sebanyak 1 kali
2. Ia harus meminimalisasi total jarak atau biaya perjalanannya
3. Pada akhirnya ia harus kembali ke kota asalnya berangkat.
Solusi dari TSP ialah jalur yang dilalui oleh salesman tersebut. Tentunya solusi
terbaik atau optimal dari permasalahan ini adalah jalur dengan jarak terpendek atau
dapat disebut juga dengan rute perjalanan minimum. Guna memudahkan
permasalahan, pemetaan n kota tersebut akan digambarkan dengan sebuah graf. Rute
perjalanan dengan aturan pengunjungan satu dan hanya satu kali pada setiap simpul
dalam graf disebut dengan jalur Hamilton.Bila perjalanan dimulai dan berakhir di
simpul yang sama maka jalur ini disebut siklus Hamilton. Dengan kata lain TSP
Traveling Salesman Problem dapat dimodelkan dengan baik melalui teori graf.
Graf adalah sekumpulan objek yang disebut simpul (verteks) yang dihubungkan oleh
sambungan – sambungan yang disebut sisi (edge). Permasalahan yang menggunakan
graf pertama kali dikemukakan oleh matematikawan Swiss yang bernama L.Euler.
Pada TSP, graf yang digunakan adalah graf tidak berarah dengan bobot atau
jarak pada setiap sisi. Konsep TSP banyak diterapkan untuk penyelesaian berbagai
masalah antara lain :
1. Menentukan rute perjalanan minimum dengan melewati semua kota
2. Pengoptimalan proses perjalanan pesan (message) pada jaringan inter koneksi
komputer
3. Perancangan pemasangan pipa saluran, dll
Penentuan permasalahan ini juga tidak hanya terbatas pada masalah jarak. TSP
dapat digunakan untuk memodelkan permasalahan waktu atau biaya transportasi yang
dibutuhkan untuk melewati beberapa simpul.Permasalahan ini kelihatannya gampang
untuk jumlah simpul yang sedikit. Namun, TSP akan menjadi permasalahan yang
sangat kompleks jika jumlah simpul mencapai ratusan atau bahkan ribuan.
Penyelesaian eksak terhadap masalah TSP mengharuskan untuk melakukan
perhitungan terhadap semua kemungkinan rute yang dapat diperoleh, kemudian
memilih salah satu rute yang terpendek. Penggunaan program dinamik dalam mencari
solusi terbaik TSP merupakan suatu alternatif dari sekian banyak metode yang
digunakan dalam pencarian solusi TSP seperti algoritma Greedy, algoritma
heuristic,dll.
Program dinamik adalah suatu teknik matematis yang biasanya digunakan
untuk membuat suatu keputusan dari serangkaian keputusan yang berkaitan. Penemu
11
model ini ialah untuk mempermudah penyelesaian persoalan optimasi yang mempuyai
karakteristik tertentu. Ide dasar program dinamik ialah membagi persoalan menjadi
beberapa bagian yang lebih kecil sehingga memudahkan penyelesaiannya.
Pada persoalan program dinamik tidak terdapat formulasi yang standar. Karena
itu, persamaan yang terpilih untuk digunakan harus dikembangkan agar dapat
memenuhi masing – masing situasi yang dihadapi.Dengan demikian, maka antara
persoalan yang satu dengan persoalan lainnya dapat mempunyai struktur penyelesaian
persoalan yang berbeda.
1.2 Perumusan Masalah
Masalah pokok yang dibahas dalam tulisan ini adalah bagaimana cara metode
program dinamik dalam mencari jalur atau siklus Hamilton yang memiliki bobot
minimum dari persoalan Traveling Salesman Problem.
1.3 Batasan Masalah
Pada tulisan ini masalah dibatasi hanya sampai pada pencarian jalur atau siklus
Hamilton yang memiliki bobot minimum dari persoalan Travelling Salesman Problem
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah :
1. Mencari jalur atau siklus Hamilton yang memiliki bobot minimum
dengan metode Program Dinamik pada persoalan Travelling
Salesman Problem
2. Menunjukkan bahwa pada graf Hamilton yang berbobot minimum
dapat ditemukan solusi Travelling Salesman Problem.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah :
1. Sebagai bahan pertimbangan bagi salesman untuk menentukan
solusi optimal dari persoalan yang dihadapi.
2. Sebagai bahan tambahan dalam pembahasan graf Hamilton bagi
para pembaca.
3. Sebagai penerapan ilmu pengetahuan yang dimiliki penulis
1.6 Metodologi Penelitian
Metode penelitian yang akan digunakan adalah literatur.
Prosedur yang dilakukan adalah :
1. Menguraikan teori dasar yang menunjang terhadap pembahasan.
13
a) menguraikan solusi menjadi sekumpulan tahap sedemikian rupa
dimana solusi pada setiap tahap dibangun dari hasil solusi tahap
sebelumnya.
b) Menggunakan persyaratan optimasi dan kendala untuk membatasi
sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.
3. Membentuk jalur atau siklus Hamilton pada graf yang mencakup semua
simpul pada graf tersebut.
1.7 Tinjauan Pustaka
Sebagai pendukung dalam penulisan tugas akhir ini digunakan beberapa buku, yaitu :
Marhaendi dalam jurnalnya “Graf dan Analisis Algoritma” menyatakan
Sebuah Graf G mengandung 2 himpunan yaitu himpunan V, yang elemennya disebut
simpul atau verteks dan himpunan E yang merupakan pasangan tak terurut dari
verteks-verteks yang disebut garis atau edge. Sehingga sebuah graf dinotasikan
sebagai G ( V, E ).
Munir Rinaldi dalam jurnalnya “Strategi Algoritmik Program Dinamis yang
menyatakan misalkan G = (V, E) adalah graf lengkap berarah dengan sisi-sisi yang
diberi harga cij> 0 untuk setiap i dan j adalah simpul-simpul di dalam V. Misalkan
V= n dan n > 1. Setiap simpul diberi nomor 1, 2, …, n.Asumsikan perjalanan (tur)
dimulai dan berakhir pada simpul 1. Setiap tur pasti terdiri dari sisi (1, k) untuk
beberapa k∈V – {1} dan sebuah lintasan dari simpul k ke simpul 1.
Lintasan dari simpul k ke simpul 1 tersebut melalui setiap simpul di dalam V –
dari simpul k ke simpul 1 juga menjadi lintasan k ke 1 terpendek yang melalui
simpul-simpul di dalam V – {1, k}. Misalkan f(i, S) adalah bobot lintasan terpendek yang
berawal pada simpul i, yang melalui semua simpul di dalam S dan berakhir pada
simpul 1. Nilai f(1, V – {1}) adalah bobot tur terpendek. Berdasarkan prinsip
optimalitas tersebut, diperoleh hubungan rekursif sebagai berikut:
(1 , {1}) min{1 ( , {1, })}
Dengan merampatkan persamaan (1), diperoleh
f(i ,∅)=ci,1 , 2 ≤i≤n (basis)
k}) untuk semua pilihan nilai k. Nilai f tersebut dapat diperoleh dengan menggunakan
persamaan (2).
Kemudian gunakan persamaan (2) untuk memperoleh f(i, S) untuk S = 1,
kemudian dapat diperoleh f(i, S) untuk S= 2, dan seterusnya. Bila S= n – 1, nilai i
dan S ini diperlukan sedemikian sehingga i≠ 1, 1 ∉S dan i∉S.
BAB 2
LANDASAN TEORI
2.1.Graf
Teori Graf mulai dikenal pada saat seorang matematikawan bangsa Swiss,
bernama Leonhard Euler, berhasil mengungkapkan Misteri Jembatan Konigsberg
pada tahun 1736.
Sebuah Graf G mengandung 2 himpunan yaitu himpunan V, yang elemennya
disebut simpul atau verteks dan himpunan E yang merupakan pasangan tak terurut
dari verteks-verteks yang disebut garis atau edge. Sehingga sebuah graf dinotasikan
sebagai G ( V, E ). Dalam menggambarkan sutu graf tidak ada ketentuan khusus dalam
penyajian graf secara geometri, seperti dimana dan bagaimana menyajikan simpul dan
ruas. Berikut contoh penyajian Graf yang sama, tetapi disajikan berbeda.
Jika diketahui G ( V, E ) dimana
V = { A, B, C, D } dan E = {(A,B),( B, C ), ( C, D), ( D, A ), ( B, D ) }.
Gambar 2.1.graf C
A
D
A A
B D B
C D
B
2.1.1 Terminologi Dasar
Definisi 2.1
Graf berarah (directed graph) G terdiri dari suatu himpunan V dari verteks-verteks
dan himpunan E dari edge sedemikian rupa sehingga setiap rusuk e ∈ E
menghubungkan pasangan verteks terurut.Jika terdapat sebuah edge tunggal yang
menghubungkan pasangan terurut (v,w) dari verteks-verteks, dituliskan e = (v,w) yang
menyatakan sebuah edge dari v ke w.
Graf tak berarah (undirected graph) G terdiri dari dari suatu himpunan V
dari verteks-verteks dan himpunan E dari edge sedemikian rupa sehingga setiap edge e
∈ E dikaitkan dengan pasangan verteks tak berurut..Jika terdapat sebuah edge tunggal
yang menghubungkan verteks v dan w, dituliskan e = (v,w) atau e = (w,v) yang
menyatakan sebuah edge antara v dan v dan bukan sebuah pasangan terurut. Gambar
2.2 merupakan contoh graf berarah.
Gambar 2.2.Graf berarah
Edge yang hanya berhubungan dengan verteks yang sama (sebuah verteks)
disebut dengan Loop. Edge paralel yaitu jika terdapat edge-edge yang
17
jika ada edge yang menghubungkan keduanya. Verteks yang tidak memiliki edge yang
berhubungan dengannya disebut verteks terasing (isolated verteks).
Sebuah graf dikatakan multigraf bila graf tersebut mengandung edge paralel
atau loop. Sedangkan graf yang tidak mengandung edge paralel atau loop dikenal
sebagai graf sederhana, atau yang disebut graf.
Dari gambar tersebut dapat dijelaskan bahwa Loop adalah e2. Edge paralel
adalah e5 dan e6.Verteks yang adjacent adalah A dan B, A dan C, B dan C,dll.Verteks
terasing adalah E
E
Gambar 2.3 Multigraf B
C D
e2
A e3
e4 e1
e5
2.1.2.Graf Bipartite
Definisi 2. 2
Graf lengkap dengan n verteks adalah graf sederhana dengan n verteks (simbol kn),di
mana setiap 2 verteks berbeda dihubungkan dengan suatu edge.
Teorema 2.1
Banyaknya edge dalam suatu graf lengkap dengan n verteks adalah
2 ) 1 (n− n
buah.
Bukti:
Misalkan G adalah sebuah graf lengkap dengan n verteks v1,v2,…,vn.Ambil
sembarang titik (sebut saja v1).Oleh karena G merupakan graf lengkap, maka v1
dihubungkan dengan (n-1) verteks lainnya (v2,v3,…,vn).Jadi, ada (n-1) buah edge.
Selanjutnya ambil sembarang verteks kedua (sebut saja v2).Oleh karena G
adalah graf lengkap,maka v2 juga dihubungkan dengan semua verteks sisanya
(v1,v3,…,vn) sehingga ada (n-1) buah edge yang berhubungan dengan v2.Salah satu
edge tersebut menghubungkan v2 dengan v1.Edge tersebut telah diperhitungkan pada
waktu menghitung banyaknya edge yang berhubungan dengan v1.Jadi, ada (n-2) edge
yang belum diperhitungkan.
Proses dilanjutkan dengan menghitung banyaknya edge yang berhubungan
19
didapatkan berturut-turut adalah (n-3), (n-4),…, 3,2,1.Jadi secara keseluruhan terdapat
(n-1) + (n-2) +…+ 2 + 1 =
2 ) 1 (n− n
buah.
Definisi 2.3
Suatu graf G disebut bipartite (dwi pihak) apabila V (G) merupakan gabungan dari 2
himpunan tak kosong v1danv2 dan setiap garis dalam G menghubungkan suatu titik
dalam v1 dengan titik dalam v2. Apabila dalam graf bipartite setiap verteks
dalamv1berhubungan dengan setiap verteks dalam v2, maka grafnya disebut graf
bipartite lengkap(simbol km,n).
Gambar 2.4 Graf bipartite
2.1.3 Komplemen Graf
Komplemen suatu graf G (simbol G) dengan n verteks adalah suatu graf sederhana
dengan
a. Verteks-verteks (G) sama dengan verteks-verteks G. Jadi V(G) = V(G)
b. Edge G adalah komplemen verteks-verteks G terhadp graf lengkapnya (Kn).
Verteks-verteks yang dihubungkan dengan edge dalam G tidak terhubung dalam
G.Sebaliknya, verteks- verteks yang terhubung dalam G menjadi tidak terhubung
dalam G.
Contoh :
Gambarlah G dari graf berikut ini.
b a
c d
e
Gambar 2.5.Graf G
Pada gambar diatas verteks-verteks yang tidak dihubungkan dengan edge dalam G
21
a b
c d
e
Gambar 2.6 GrafG 2.1.4.Graf Berlabel/Berbobot
Graf berlabel/ berbobot adalah graf yang setiap ruasnya mempunyai nilai/bobot berupa bilangan non negatif.Dalam graf berbobot bisa dipakai graf berarah maupun graf tidak berarah.
Contoh :
Gambar 2.7.Graf Berbobot 2.1.5 Subgraf
Definisi 2.4
Misalkan G (V,E) adalah suatu graf.Graf G‘(V‘, E‘) adalah Subgraf bila dan hanya
a. ' V ⊆V
b. '
E ⊆ E
c. Setiap edge dalam H memiliki verteks ujung yang sama dengan edge tersebut
dalam G.
Apabila E‘ mengandung semua ruas di E yang kedua ujungnya di V‘ , maka G‘ adalah
Subgraf yang dibentuk oleh V‘
Contoh
Gambar 2.8 Subgraf
(Spanning Subgraph)
e
23
2.1.6 Lintasan dan Sirkuit
Definisi 2.5
Misalkan v0dan vn adalah verteks-verteks dalam sebuah graf. Sebuah lintasan dari v0
ke vn dengan panjang n adalah sebuah barisan berselang seling dari n+1 verteks n
dan n edge yang berawal dengan verteks v0 dan berakhir dengan verteks vn,
(v0,e1,v1,e2,v2,...,vn−1,en,vn)
dengan edge e1 insiden pada verteks vi−1danvi untuk I = 1,2, …,n.
Teorema 2.2
Di dalam suatu graf (baik berarah maupun tidak berarah) dengan n verteks , jika ada
suatu lintasan dari verteks v1 ke verteks v2, maka ada suatu lintasan dengan tidak lebih dari n-1 rusuk dari verteks v1 ke verteks v2.
Bukti:
Misalkan ada suatu lintasan dari v1 ke v2. Misalkan pula (v1, … , vi, …,v2) adalah barisan verteks yang ditemui lintasan itu ketika ditelusuri dari v1 dan v2. Jika ada l
buah edge dalam lintasan itu , maka ada l+1 verteks di dalam barisan verteks tersebut.
Agar l lebih besar daripada n-1, harus ada verteks vk yang muncul lebih dari sekali di
dalam barisan itu. Dengan kata lain, barisan verteks itu mempunyai bentuk umum (v1,
… , vk,..., vk,...,v2). Jika edge di dalam lintasan yang membawa vk kembali ke vk
itu dibuang, maka akan diperoleh suatu lintasan dari v1 ke v2 yang memiliki lebih
sedikit rusuk daripada jumlah rusuk semula.Argumentasi dapat diulang sampai ada
Definisi 2.6
Sebuah graf dikatakan tersambung (conected) jika diketahui sembarang verteks v dan
w di G, maka terdapat sebuah lintasan dari v ke w.
(a) (b)
Gambar 2.9 Graf terhubung dan Graf tidak terhubung
Definisi 2.7
Misalkan v0dan vn adalah verteks-verteks dalam sebuah graf. Sebuah sirkuit dari v0
ke vn dengan panjang n adalah sebuah barisan berselang seling dari n+1 verteks n
dan n edge yang berawal dengan verteks v0 dan berakhir dengan verteks vn,lalu
kembali lagi ke v0
(v0,e1,v1,e2,v2,...,vn−1,en,vn,e0,v0)
dengan edge e1 insiden pada verteks vi−1danvi untuk I = 1,2, …,n.
Lintasan dan Sirkuit Hamilton
Lintasan Hamilton (Sirkuit Hamilton) didefinisikan sebagai suatu lintasan (rangkaian)
yang melalui setiap verteks tepat satu kali. Sir Wiliam Hamilton menciptakan
25
mencari rute pada dodecahedron yang melalui setiap titik sudut sekali dan hanya
sekali.
Gambar 2.10 Dodecahedron
Teorema 2.3
Misalkan G sebuah graf linear dengan n verteks.Jika jumlah derajat semua pasangan
verteks di dalam G lebih kecil atau sama dengan n-1, maka ada lintasan Hamilton di
dalam G.
Bukti:
Pertama tama akan ditunjukkan bahwa G sebuah graf terhubung.Misalkan G
mempunyai dua atau lebih komponen yang tidak terhubungkan.Misalkan v1 sebuah
vertks di dalam satu komponen yang mempunyai n1 verteks dan v2adalah sebuah
verteks di dalam komponen lain yang mempunyai n2verteks. Karena derajat v1 tidak
tidak lebih dari n1 + n2-2, yang masih lebih kecil dari n-1, dan ini berarti sebuah kontradiksi.
Sekarang akan ditunjukkan bagaimana lintasan Hamilton dapat dibuat setahap
demi setahap , mulai dengan lintasan yang terdiri dari satu rusuk.Misalkan ada
lintasan dengan p-1 edge, p< n, di dalam G yang bertemu dengan barisan
verteks-verteks (v1,v2,...,vp).Jika v1 atau vp berdekatan dengan sebuah verteks yang tidak berada pada lintasan ini, dengan mudah lintasan ini dapat diperluas agar mencakup
verteks tadi sehingga memperoleh lintasan dengan p edge. Jika tidak demikian, berarti
1
v dan vp keduanya hanya berdekatan dengan verteks verteks pada lintasan. Dalam
hal demikian, akan ditunjukkan bahwa ada suatu rangkaian yang hanya mengandung
verteks verteks v1,v2,...,vp. Jika v1 berdekatan dengan vp, maka sirkuit
(v1,v2,...,vp,v1) sudah mencukupi.
Lalu misalkan v1 hanya berdekatan dengan
k
dengan vj−1 maka sebagaimana ditunjukkan dalam gambar, sirkuit
(v1,v2,v3,...,vj−1,vp,vp−1,...,vj,v1) mengandung tepat verteks verteks v1,v2,...,vp. Jika
27
v1 v2 v3 Vj-1 vj
vp
Gambar 2.11 Lintasan
Kemudian ambil sebuah verteks vx yang tidak berada dalam rangkaian ini.Karena
graf G terhubungkan , berarti ada verteks vk yang tidak berada pada rangkaian ini
dengan sebuah edge antara vx dan vk untuk suatu verteks tertentu di dalam
(v1,v2,...,vp), sebagaimana ditunjukkan dalam gambar. Sekarang telah diperoleh
lintasan (vx,vk,vk+1,...,vj−1,vp,vp−1,...,vj,v1,v2,...,vk−1), yang mengandung p edge, sebagaimana ditunjukkan dalam gambar.
v1 v2
vx
Vk-1 vk Vj-1 vj vp
v1 v2
vx
Vk-1 vk Vj-1 vj vp
Langkah langkah pembuatan ini dapat diulangi sampai diperoleh sebuah
lintasan dengan n-1 edge.
2.1.8 Matriks dan Graf
Untuk menyelesaikan suatu permasalahan model graf dengan bantuan komputer, maka
graf tersebut disajikan dalam bentuk matriks. Jika A adalah matriks m x n, maka
notasi matriksnya dapat ditulis sbb:
Berikut adalah contoh matriks simetris:
Transpos dari suatu matriks A berorde m x n adalah matriks B berorde m x n yang
didefinisikan oleh:
ij
ji a
b =
Untuk j = 1,2, … ,n dan I = 1,2, …,m.Transpos dari suatu matriks A dinyatakan oleh
29
Matriks-matriks yang dapat menyajikan model graf tersebut antara lain :
• Matriks Sekawan (Incidence)
• Matriks Kedampingan (Adjacency)
Sebagai contoh, untuk graf seperti di bawah ini
Matriks Incidence :
Teorema 2.4
Jika A adalah matriks kedampingan dari sebuah graf sederhana, entri ke-ij dari An
sama dengan banyaknya lintasan dengan panjang n untuk verteks j, n=1,2,…
Bukti
Dengan menggunakan induksi, pada kasus n=1,A1 adalah A. Entri ke-ij adalah 1 jika
terdapat sebuah edge dari I ke j, yang merupakan sebuah lintasan dengan panjang 1,
dan 0 jika tidak terdapat edge. Sehingga teorema tersebut benar untuk kasus n
=1.Langkah dasar telah terbukti.
Asumsikan bahwa teorema tersebut benar untuk n, maka
A A An+1 = n
Sehingga entri ke-I dalam An+1 diperoleh dengan saling mengalikan unsur unsur pada
baris ke-I dari An dengan unsur unsur pada kolom ke-k dari A dan menjumlahkannya.
e1 e2 e3 e4 e5 e6 e7 e8
V1 1 1 0 1 1 0 0 0
V2 1 0 1 0 0 0 0 0
V3 0 1 1 0 0 1 1 0
V4 0 0 0 1 0 1 0 1
31
Menurut induksi, sj menyatakan banyaknya lintasan dengan panjang n dari I ke j
dalam graf G. Maka tjdapat 0 atau 1. Jika tj adalah 0, maka tidak terdapat edge dari j
ke k, sehingga terdapat sjtj =0 lintasan dengan panjang n+1 dari i ke k, dimana edge
terakhirnya adalah (j,k). Jika tj adalah 1, maka terdapat sebuah edge dari verteks j ke
verteks k (lihat gambar). Karena terdapat sj lintasan dengan panjang n dari verteks i
ke verteks j, maka terdapat sjtj =sj lintasan dengan panjang n+1 dari i ke k, yang edge terakhirnya adalah (j,k) (lihat gambar).
i j
k
Dengan menjumlahkan semua j, maka akan dihitung semua lintasan dengan panjang
n+1 dari I ke k.ehingga entri ke-i dalam An+1 menyatakan banyaknya lintasan dengan
panjang n+1 dari i ke k sehingga langkah induktif terbukti. Menurut Prinsip induksi
matematika, teorema tersebut berlaku.
2.1.9 Graf Planar
Definisi 2.10
Sebuah Graf adalah planar jika graf tersebut dapat digambar dalam bidang datar
dengan rusuk-rusuknya tidak bersilangan.
Jika sebuah graf planar tersambung digambar pada bidang datar, bidang
tersebut dibagi menjadi daerah-daerah berbatasan yang disebut muka (face) . Sebuah
muka ditandai dengan siklus yang membentuk batasnya.Sebagai contoh, dalam graf
pada gambar, muka A dibatasi oleh siklus (5,2,3,4,5) dan muka C dibatasi oleh siklus
(1,2,5,1).Muka luar D dianggap dibatasi oleh siklus (1,2,3,4,6,1).
6
1 2
3 4
5
A B
C D
33
Graf pada gambar mempunyai f = 4 muka, e = 8 rusuk, dan v = 6 verteks.Perhatikan
bahwa f, e, dan v memenuhi persamaan
2
+ − =e v
f Persamaan 1
Pada tahun 1752, Euler telah membuktikan bahwa persamaan 1 berlaku untuk
sembarang graf planar tersambung.
2.2 Program Dinamik
Program dinamik adalah salah satu metode yang digunakan untuk mengoptimalkan
proses pengambilan keputusan secara bertahap ganda.Pendekatan program dinamik
didasarkan pada prinsip optimisasi Richard Bellman yang dinyatakan sebagai berikut
(Siagian, P.,1987):
“Suatu kebijakan optimal mempunyai sifat bahwa apapun keadaan
dan keputusan awal, keputusan berikutnya harus membentuk suatu
kebijakan optimal dengan memperhatikan keadaan dari hasil
keputusan pertama”.
Hal ini berarti:
1) Pengambil keputusan diperkenankan untuk mengambil keputusan yang layak
bagi tahap persoalan yang tersisa, tanpa melihat kembali keputusan pada
2) Dalam rangkaian keputusan yang telah diambil, hasil dari masing-masing
tahap tergantung pada hasil keputusan pada tahap sebelumnya.
2.2.1 Karakteristik Program Dinamik
1) Permasalahannya dapat dibagi menjadi tahapan dengan keputusan
kebijakan pada tiap tahap
2) Tiap tahap mempunyai sejumlah kondisi terkait
3) Pengaruh keputusan kebijakan pada setiap tahapan adalah transformasi
kondisi saat ini kepada sebuah kondisi yang terkait dengan awal dari
tahapan berikutnya
4) Prosedur penyelesaian dirancang untuk mendapatkan kebijakan optimum
untuk seluruh tahapan yaitu dengan membuat kebijakan optimum untuk
setiap tahap pada setiap kemungkinan kondisi
5) Pada suatu kondisi, sebuah kebijakan optimum untuk tahapan selanjutnya
tidak terkait oleh kebijakan optimum dari tahapan sebelumnya.Jadi
keputusan optimum yang diambil hanya tergantung pada kondisi sekarang
bukan dari bagaimana kita sampai pada kondisi sekarang. Inilah yang
dinamai prinsip optimum dari Program Dinamik.
6) Prosedur penyelesaian mulai dengan mendapatkan solusi optimum untuk
tahap terakhir.
7) Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik
untuk setiap status pada tahap k memberikan keputusan terbaik untuk
setiap status pada tahap k + 1.
2.2.2 Pendekatan Program Dinamik
35
1) Program dinamik maju (forward atau up down). Misalkan x1,x2,...,xn
menyatakan peubah (variable) keputusan yang harus dibuat masing
masing untuk tahap 1,2,…,n. Program dinamis bergerak mulai dari tahap 1
terus maju ke tahap 2, 3, dan seterusnya sampai tahap n.Runtutan peubah
keputusan adalah x1,x2,...,xn.
) ,
( 1 1
1 s x
f f2(s2,x2) . . . fn(sn,xn)
Gambar 2.16 Program Dinamik Maju
2) Program dinamik mundur (backward atau bottom up).Proram dinamis ini
merupakan kebalikan dari program dinamis maju.Program dinamis ini
bergerak mulai dari tahap n terus mundur ke tahap n-1, n-2, dan seterusnya
sampai tahap 1.Runtutan peubah keputusan adalah xn,xn−1,...,x1
fn(sn,xn) … f2(s2,x2) f1(s1,x1)
Gambar 2.17 Program Dinamik Mundur
Tahap n … Tahap2 Tahap1
2.2.3 Pernyataan Matematis Program Dinamik
Masalah pogram dinamik dapat dinyatakan dalam bentuk umum:
Opt :
∑
dengan batasan
∑
=
fn = jarak total dari seluruh kegiatan (tahap)
j
Dalam masalah umum diatas, jarak optimum dari seluruh kegiatan ditentukan oleh
kota X yang tersedia dan jarak dari kegiatan – kegiatan individual rj(Xj). Oleh
sebab itu, jarak keseluruhan dari µ dari kegiatan dapat dinyatakan oleh suatu urutan,
fungsi–fungsi sebagai berikut :
n n
n X optF X X X X
f ( )= ( 1, 2,..., −1, )
Kota total yang tersedia X harus dialokasikan secara berurutan ke semua
kegiatan-kegiatan pada tahap-tahap yang berbeda, untuk mencapai hasil yang maksimum. Bila
dialokasikan sejumlah Xn dari kota ke kegiatan ke n di mana 0≤ Xn ≤ X,akan
37
((X −Xn)kota yang tersedia untuk (n-1) kegiatan. Bila jarak total dari (n-1) kegiatan ditunjukkan oleh :
∑
−Jarak total dariµ kegiatan dapat dinyatakan sebagai
)
Kuantitas kota optimal yang dialokasikan ke n kegiatan, Xn, menentukan nilai
)
(X −Xn , dan hal ini sebaliknya akan menentukan nilai maksimum persamaan jarak
total.Oleh sebab itu, masalah program dinamik dapat dinyatakan dalam bentuk fungsi
umum sebagai
Persamaan ini disebut sebagai recursive equation atau recurrence relations
2.2.4 Formulasi Program Dinamik Untuk Persoalan TSP
Misalkan G = (V, E) adalah graf lengkap berarah dengan sisi-sisi yang diberi
dan n > 1. Setiap simpul diberi nomor 1, 2, …, n.Asumsikan perjalanan (tur) dimulai
dan berakhir pada simpul 1. Setiap tur pasti terdiri dari sisi (1, k) untuk beberapa k∈V
– {1} dan sebuah lintasan dari simpul k ke simpul 1.
Lintasan dari simpul k ke simpul 1 tersebut melalui setiap simpul di dalam V –
{1, k} tepat hanya sekali. Prinsip Optimalitas: jika tur tersebut optimal maka lintasan
dari simpul k ke simpul 1 juga menjadi lintasan k ke 1 terpendek yang melalui
simpul-simpul di dalam V – {1, k}. Misalkan f(i, S) adalah bobot lintasan terpendek yang
berawal pada simpul i, yang melalui semua simpul di dalam S dan berakhir pada
simpul 1. Nilai f(1, V – {1}) adalah bobot tur terpendek. Berdasarkan prinsip
optimalitas tersebut, diperoleh hubungan rekursif sebagai berikut:
(1 , {1}) min{1 ( , {1, })}
Dengan merampatkan persamaan (1), diperoleh
f(i,∅)=ci,1 , 2 ≤i≤n (basis)
39
Kemudian gunakan persamaan (2) untuk memperoleh f(i, S) untuk S = 1,
kemudian dapat diperoleh f(i, S) untuk S= 2, dan seterusnya. Bila S= n – 1, nilai i
dan S ini diperlukan sedemikian sehingga i≠ 1, 1 ∉S dan i∉S.
Pada masalah TSP dengan menggunakan program dinamik perlu diperhatikan
beberapa hal yaitu:
1.Tahap (stage) adalah jalur (jalan) yang harus dilalui dari satu kota agar
sampai ke kota berikutnya.Dalam suatu tahap akan terdapat beberapa
alternatif pilihan jalan yang dapat dilalui.
2.Status (state) adalah kota awal pada setiap tahap.
3.Variabel keputusan adalah jalur atau jalan yang harus diambil
3.1 Contoh Perjalanan Seorang Salesman
Seorang salesman akan melakukan perjalanan dari kota a yang harus melalui
seluruh kota dan kembali lagi ke kota a.Artinya setelah salesman tersebut melalui
seluruh kota ia harus kembali lagi ke kota awal keberangkatan yaitu kota a.Dimana
kota yang satu terhubung dengan kota yang lainnya.Adapun jarak kota-kota tersebut
diberikan sbb (satuan dalam km) :
0
41
Carilah jalur terpendek yang harus ditempuh salesman tersebut dengan menggunakan
metode program dinamik.
Penyelesaian:
Dari contoh soal dapat diketahui bahwa kota awal adalah kota a.Dari kota a, salesman
tersebut akan mencoba mendatangi kota selanjutnya yang terhubung dengan kota
a.Dengan begitu, inilah yang menjadi tahap pertama.Setelah dari kota a kemungkinan
salesman tersebut sekarang berada di kota b, c , d , e , ataupun di kota f. Dari kota
tersebut ia harus melanjutkan perjalanan kembali ke kota berikutnya dengan melewati
jalur yang ada.Maka inilah yang akan menjadi tahap kedua.Dan begitu seterusnya
hingga semua kota dilewati dan kembali ke kota a.
Tahap I :
1 , ) , (i a ci
f = , i= nama kota
Maka didapat:
f(b,a) = 5
f(c,a) = 7
f(d,a) = 3
f(e,a) = 4
f(f,a) = 6
Tahap pertama ada 5 alternatif jalan yang dapat dilalui, dengan kota a sebagai
43
Tahap kedua ada 20 alternatif jalan yang dapat dilalui dengan kota (b,c,d,e,f) sebagai
= min [8+11 ; 10+7] = 17
f(b,{d,f}) = min [Cbd+f(d,f) ;Cbf+f(f,d)]
= min [8+11 ; 6+8] = 14
f(b,{e,f}) = min[Cbe+f(e,f) ;Cbf +f(f,e)]
= min [10+11 ; 6+9] = 15
f(c,{b,d}) = min[Ccb+f(b,d) ;Ccd+f(d,b)]
= min [3+11 ; 5+13] = 14
f(c,{b,e}) = min[Ccb+f(b,e) ;Cce+f(e,b)]
= min [3+14 ; 4+15] = 17
f(c,{b,f}) = min[Ccb+f(b,f) ; Ccf+f(f,b)]
= min[3+12 ; 9+11] s= 15
f(c,{d,e}) = min[Ccd+f(d,e) ; Cce+f(e,d)]
= min[5+11 ; 4+7] = 11
f(c,{d,f}) = min[Ccd+f(d,f) ; Ccf+f(f,d)]
= min[5+11 ; 9+8] = 16
f(c,{e,f}) = min[Cce+f(e,f) ; Ccf +f(f,e)]
= min[4+15 ; 9+9] = 18
f(d,{b,c}) = min[Cdb+f(b,c) ; Cdc+f(c,b)]
= min[ 8+10 ; 5+8] = 13
f(d,{b,e}) = min[Cdb+f(b,e) ; Cde+f(e,b)]
45
f(d,{b,f}) = min[Cdb+f(b,f) ; Cdf+f(f,b)]
= min[8+12 ; 5+11] = 16
f(d,{c,e}) = min[Cdc+f(c,e) ;Cde+f(e,c)]
= min[5+8 ; 3+11] = 13
f(d,{c,f}) = min[Cdc+f(c,f) ;Cdf +f(f,c)]
= min[5+15 ; 7+16] = 20
f(d,{e,f}) = min[Cde+f(e,f) ; Cdf+f(f,e)]
= min[7+15 ; 5+9] = 14
f(e,{b,c}) = min[Ceb+f(b,c) ; Cec+f(c,b)]
= min[ 10+10 ; 4+8] = 12
f(e,{b,d}) = min[Ceb+f(b,d) ; Ced+f(d,b)]
= min[10+11 ; 7+13] = 20
f(e,{b,f}) = min[Ceb+f(b,f) ; Cef+f(f,b)]
= min[10+12 ; 5+11] = 16
f(e,{c,d}) = min[Cec+f(c,d) ;Ced+f(d,c)]
= min[4+11 ; 7+12] = 15
f(e,{c,f}) = min[Cec+f(c,f) ;Cef+f(f,c)]
= min[4+15 ; 5+16] = 19
f(e,{d,f}) = min[Ced+f(d,f) ; Cef+f(f,d)]
= min[7+11 ; 5+8] = 13
= min[ 6+10 ; 9+8] = 16
Tahap ketiga ada 30 alternatif jalan yang dapat dilalui dengan kota (b,c,d,e,f) sebagai
47
f(b,{c,d,f}) = min[Cbc+f(c,d,f) ; Cbd+f(d,c,f) ; Cbf +f(f,c,d)]
= min[3+16 ; 8+20 ; 6+17] = 19
f(b,{c,e,f}) = min[Cbc+f(c,e,f) ; Cbe+f(e,c,f) ; Cbf +f(f,c,e)]
= min[3+18 ; 10+19 ; 6+16] = 21
f(b,{d,e,f}) = min[Cbd+f(d,e,f) ; Cbe+f(e,d,f) ; Cbf +f(f,d,e)]
= min[8+14 ; 10+13 ; 6+12] = 18
f(c,{b,d,e}) = min[Ccb+f(b,d,e) ; Ccd+f(d,b,e) ; Cce+f(e,b,d)]
= min[3+17 ; 5+22 ; 4+20] = 20
f(c,{b,d,f}) = min[Ccb+f(b,d,f) ; Ccd+f(d,b,f) ; Ccf +f(f,b,d)]
= min[3+14 ; 5+16 ; 9+17] = 17
f(c,{b,e,f}) = min[Ccb+f(b,e,f) ; Cce+f(e,b,f) ; Ccf+f(f,b,e)]
= min[3+15 ; 4+16 ; 9+20] = 18
f(c,{d,e,f}) = min[Ccd+f(d,e,f) ; Cce+f(e,d,f) ; Ccf+f(f,d,e)]
= min[5+14 ; 4+13 ; 9+12] = 17
f(d,{b,c,e}) = min[Cdb+f(b,c,e) ; Cdc+f(c,b,e) ; Cde+f(e,b,c)]
= min[8+11 ; 5+17 ; 7+12] = 19
f(d,{b,c,f}) = min[Cdb+f(b,c,f) ; Cdc+f(c,b,f) ; Cdf+f(f,b,c)]
= min[8+18 ; 5+15 ; 5+16] = 20
f(d,{b,e,f}) = min[Cdb+f(b,e,f) ; Cde+f(e,b,f) ; Cdf+f(f,b,e)]
= min[8+15 ; 7+16 ; 5+20] = 23
= min[5+18 ; 7+19 ; 5+16] = 21
f(e,{b,c,d}) = min[Ceb+f(b,c,d) ; Cec+f(c,b,d) ; Ced+f(d,b,c)]
= min[10+14 ; 4+14 ; 7+13] = 18
f(e,{b,c,f}) = min[Ceb+f(b,c,f) ; Cec+f(c,b,f) ; Cef+f(f,b,c)]
= min[10+18 ; 4+15 ; 5+16] = 19
f(e,{b,d,f}) = min[Ceb+f(b,d,f) ; Cec+f(d,b,f) ; Cef+f(f,b,d)]
= min[10+14 ; 4+16 ; 5+17] = 20
f(e,{c,d,f}) = min[Cec+f(c,d,f) ; Cec+f(d,c,f) ; Cef +f(f,c,d)]
= min[4+16 ; 4+20 ; 5+17] = 20
f(f,{b,c,d}) = min[Cfb+f(b,c,d) ; Cfc+f(c,b,d) ; Cfd+f(d,b,c)]
= min[6+14 ; 9+14 ; 5+13] = 18
f(f,{b,c,e}) = min[Cfb+f(b,c,e) ; Cfc+f(c,b,e) ; Cfe+f(e,b,c)]
= min[6+11 ; 9+17 ; 5+12] = 17
f(f,{b,d,e}) = min[Cfb+f(b,d,e) ; Cfd+f(d,b,e) ; Cfe+f(e,b,d)]
= min[6+17 ; 5+22 ; 5+20] = 23
f(f,{c,d,e}) = min[Cfc+f(c,d,e) ; Cfd+f(d,c,e) ; Cfe+f(e,c,d)]
= min[9+11 ; 5+13 ; 5+15] = 18
Tahap keempat ada 20 alternatif jalan yang dapat dilalui dengan kota (b,c,d,e,f)
49
maka diperoleh:
f(b,{c,d,e,f}) = min[Cbc+f(c,d,e,f) ; Cbd+f(d,c,e,f) ; Cbe+f(e,c,d,f) ; Cbf+f(f,c,d,e)]
Tahap kelima ada 5 alternatif jalan yang dapat dilaluinya dengan kota (b,c,d,e,f)
sebagai statusnya.
Dengan menggunakan persamaan 1 diperoleh :
f(a,{b,c,d,e,f}) = min [Cab+f(b,c,d,e,f) ; Cac+f(b,c,d,e,f) ; Cad+f(d,b,c,d,e,f) ;
ae
C +f(e,b,c,d,f) ; Caf+f(f,b,c,d,e)]
= min [5+20 ; 7+21 :3 +22 ; 4+22 ; 6+20]
Jadi, bobot perjalanan yang berawal dari kota a dan berakhir di kota a adalah 25
km(ada 2 lintasan yang dapat dilalui).Lintasan yang dilalui di dalam tur tersebut dapat
direkonstruksi jika ada disimpan pada setiap f(i, S) nilai j yang meminimumkan ruas
kanan persamaan (2). Misalkan J(i, S) adalah nilai yang dimaksudkan tersebut. Maka,
J(a, {b, c,d,e,f}) = b dan d. Jadi, tur mulai dari simpul a selanjutnya ke kota b atau d.
jika pilihan perjalanan yang diinginkan kota b maka perjalanan akan diteruskan ke
kota selanjutnya yang diperoleh dari f(b,{c,d,e,f}) yang mana J(b,{c,d,e,f}) = c.
Kota berikutnya diperoleh dari f(c,{d,e,f}) yang mana J(c,{d,e,f}) = e.Dari kota
e akan diperoleh perjalanan berikutnya dari f(e,{d,f}), dimana J(e,{d,f}) = f.Dan kota
terakhir yang dikunjungi akan diperoleh dari f(f,d), dimana J(f,d) =
d.Sehingga,perjalanan yang optimal adalah a→b→c→e→f→d→a dengan panjang
perjalanan 25 km.
Dengan cara yang sama lintasan kedua yang dapat dipilih dengan panjang
perjalanan sama seperti lintasan pertama adalah a→d→f→b→c→e→a.
BAB 4
KESIMPULAN DAN SARAN
4.1 Kesimpulan
Berdasarkan uraian pada bab sebelumnya dapat diambil beberapa kesimpulan
sebagai berikut :
1.Pada program dinamik, bila nilai yang meminimumkan di dalam satu state
pada suatu tahap adalah sama, maka harus dipilih nilai yang meminimumkan
pada tahap sebelumnya.
2.Untuk kasus TSP, tahap dan keadaan pada program dinamik maju maupun
pada program dinamik mundur adalah sama karena kota awal dan kota
akhirnya adalah sama.
4.2 Saran
TSP dapat diselesaikan dengan metode program dinamik namun disarankan
kepada pembaca agar tidak hanya terpaku pada metode penyelesaian ini saja karena
Bellman, R.E dan Dreyfuss, S.E.1962.Applied Dynamic Programming.New Yersey
Johnsonbaugh Richard.1998.Matematika Diskrit.Jakarta:Prenhallindo
Leon, J Steven.2001.Aljabar Linear dan Aplikasinya.Jakarta:Erlangga.
Liu, C.L. 1995. Dasar-Dasar Matematika Diskret. Jakarta : PT. Gramedia
Marhaendi.2009.Jurnal Graf dan Analisis Algoritma.Universitas Guna
Darma.Tanggal Akses 10 Oktober 2009.
Munir Rinaldi.2004.Jurnal Program Dinamis.Institut Teknologi Bandung.Tanggal
akses 22 September 2009.
Nasution, Rosalina Paramitha.Jurnal Penerapan Algoritma Program Dinamis Untuk
Mencari Pohon Merentang Minimum.Tanggal akses 22 September 2009.
Siagian P.2006.Penelitian Operasional Teori dan Praktek.Jakarta : Universitas
Indonesia
Siang, J.J. 2002. Matematika Diskrit Dan Aplikasinya Pada Ilmu Komputer. Yogyakarta : Andi Offset
Taha, Hamdy. 1996. Riset Operasi. Jakarta: Binarupa Aksara.