Penyelesaian Travelling Salesman Problem Dengan Algoritma Simulated Annealing Studi Kasus: Technical Support BTSSoft

BAB 2

LANDASAN TEORI

2.1 Graf
2.1.1

Defenisi Graf

Graf G adalah pasangan (V(G),E(G)) dengan (V(G)) adalah himpunan tidak kosong dan
berhingga dari objek-objek yang disebut titik, (E(G)) adalah himpunan (mungkin
kosong) pasangan tak berurutan dari titik- titik berbeda di (V(G)) yang disebut sisi.
Banyaknya unsur di V(G) disebut order dari G dan dilambangkan dengan p(G), dan
banyaknya unsur di E(G) disebut ukuran dari G dan dilambangkan dengan q(G). Jika
graf yang dibicarakan hanya graf G, maka order dan ukuran dari G masing-masing
cukup ditulis p dan q. Graf dengan order p dan q disebut graf-(p,q) (Abdusakir, 2009).
Nama “Graf” diberikan karena graf dapat disajikan secara grafik atau gambar,
dan justru dengan bentuk gambar inilah sifat-sifat graf dapat dikenali secara detail. Titik
disajikan dalam bentuk noktah atau lingkaran kecil dan sisi disajikan dalam bentuk garis
atau kurva yang memasangkan dua titik (Abdusakir, 2009).


Gambar 2.1 Graf G (Sanjaya, 2014)

Universitas Sumatera Utara

6

Pada gambar 2.1 graf G yang memuat himpunan titik V(G) dan himpunan sisi E(G)
seperti berikut ini.
V(G) = {a,b,c,d,e}
E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)}

Graf G mempunyai 5 titik sehingga order G adalah p = 5. Graf G mempunyai 6
sisi sehingga ukuran graf G adalah 6. Graf G dengan himpunan titik dan sisi masingmasing :
V(G) = {a, b, c, d, e}
E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)}

Dapat juga ditulis dengan
V(G) = {a, b, c, d, e}
E(G) = {e1, e2, e3, e4, e5, e6}


Dengan
e1 = (a, b)
e2 = (a, c)
e3 = (a, d)
e4 = (b, d)
e5 = (b, c)
e6 = (d, e)

Sisi e = (a, b) dikatakan menghubungkan titik a dan b. Jika e = (a, b) adalah sisi
graf G, maka a dan b disebut terhubung langsung (adjacent), a dan e serta b dan e
disebut terkait langsung (incident), dan titik a dan b disebut ujung dari e. Dua sisi
berbeda e1 dan e2 disebut terhubung langsung (adjacent), jika terkait langsung pada satu
titik yang sama. Untuk selanjutnya, sisi e = (a, b) akan ditulis e = ab.

Universitas Sumatera Utara

7

2.1.2


Graf Berbobot

Graf berbobot adalah graf yang setiap sisinya diberi sebuah nilai atau bobot. Bobot pada
setiap sisi graf dapat berbeda-beda bergantung pada masalah yang dimodelkan. Bobot
dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota,
waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul komunikasi
dengan simpul komunikasi lainya, ongkos produksi dan sebagainya. Graf berbobot juga
sering dikaitkan dengan istilah graf berlabel (Munir, 2012).

Untuk membuat label, masing-masing vertex diberi sebuah label dan setiap
edge diberikan sebuah nilai atau bobot. Tampilan graf berlabel dapat dilihat pada
Gambar 2.2.

Gambar 2.2 Graf Berbobot (Sanjaya, 2014)

2.1.3

Representasi Graf Pada Komputer

Meskipun menggambar merupakan cara yang mudah untuk menjelaskan suatu graf,

cara ini tentunya mempunyai kelemahan ketika akan menyimpan data tentang graf
dalam komputer, atau ketika akan mengkaji sifat-sifat sutau graf melalui hitungan
matematis. Merepresentasikan graf dalam bentuk matriks akan memberikan kemudahan
bagi sesorang yang senang menggunakan komputer ketika mengkaji informasi atau
menyelesaikan permasalahan yang melibatkan graf (Abdusakir, 2009).

Matriks keterhubungan suatu graf G adalah matriks simetri dengan unsur 0 dan
1 dan memuat nilai 0 pada diagonal utamanya. Hal ini karena graf tidak memuat lup
dan tidak memuat sisi parallel.

Universitas Sumatera Utara

8

Misalkan graf G dengan himpunan titik
V(G) = {v1, v2, v3, v4}

Dan himpunan sisi
E(G) = {v1v2, v1v4, v2v3, v2v4, v3v4 }


Maka, diagram dan matriks keterhubungan graf G yang terdapat pada gambar 2.3.

Gambar 2.3 Diagram dan Matriks Keterhubungan Graf G (Sanjaya 2014)

Derajat suatu simpul deg(v) adalah banyaknya ruas yang menghubungkan suatu
simpul. Secara umum, jika graf G dengan order p (p ≥ 1) dengan himpunan titik V(G)
= {v1,v2, … vp} dan A (G) = [aij], 1 ≤ i, j ≤ p adalah matriks keterhubungan dari G,
maka:
deg � = ∑

=

Hal yang sama juga berlaku jika menghitung derajat titik melalui kolom, yaitu
deg � = ∑

=

Dengan melihat matriks keterhubungan dari graf G dapat diperoleh bahwa
a11 + a12 + a13 + a14 = 0 + 1 + 0 + 1 = 2 = deg(v1),
a21 + a22 + a23 + a24 = 1 + 0 + 1 + 1 = 3 = deg(v2),

a31 + a32 + a33 + a34 = 0 + 1 + 0 + 1 = 2 = deg(v3), dan
a41 + a42 + a43 + a44 = 1 + 1 + 1 + 0 = 3 = deg(v4).

Universitas Sumatera Utara

9

Dari diagram terlihat bahwa
deg(v1) = 2,
deg(v2) = 3,
deg(v3) = 2, dan
deg(v4) = 3.

2.2 Travelling Salesman Problem

Permasalahan Travelling Salesman Problem (TSP) adalah permasalahan dimana
seorang salesman harus mengunjungi semua kota dimana tiap kota hanya dikunjungi
sekali, dan dia harus mulai dari dan kembali ke kota asal. Tujuannya adalah menentukan
urutan titik yang akan dikunjungi dengan jarak total atau biaya yang paling minimum.
Permasalahan TSP merupakan permasalahan yang memang mudah untuk diselesaikan

dengan algoritma Brute Force, tetapi hal itu hanya dapat dilakukan dengan jumlah kota
atau simpul yang tidak banyak. Kompleksitas algoritma untuk permasalahan TSP
dengan algoritma Brute Force adalah O(n-1!) dengan catatan n adalah jumlah kota atau
simpul dan setiap kota atau simpul terhubung dengan semua kota atau simpul lainnya.
Dengan jumlah sebanyak 20 kota, maka banyak sirkuit Hamilton yang mungkin adalah
sebanyak 6 x 1016 (Rahma et al).

Gambar 2.4 Gambar Ilustrasi TSP (Simha, 2015)
Keterangan:
Nilai masukan = list titik, misalnya : (x0, y0), (x1, y1), ..., (xn-1, yn-1).
Solusi = semua kemungkinan rute
Nilai total perjalanan = jumlah perhitungan perjalanan

Universitas Sumatera Utara

10

Tujuan = menemukan rute optimal TSP

Hingga kini kompleksitas algoritma permasalahan TSP masih tidak dapat

diketahui pasti, bahkan setelah 50 tahun lebih pencarian. Hal tersebut menjadikan TSP
menjadi salah satu permasalahan yang hingga kini belum terselesaikan dalam banyak
permasalahan optimasi matematis.

2.2.1

Sejarah Travelling Salesman Problem

(Rahma et al) Permasalahan matematika tentang Traveling Salesman Problem
dikemukakan pada tahun 1800 oleh matematikawan Irlandia William Rowan Hamilton
dan matematikawan Inggris Thomas Penyngton.

Diskusi mengenai awal studi dari Hamilton dan Kirkman dapat ditemukan di
Graph Theory 1736-1936 oleh N. L. Biggs, E. K. LLoyd, dan R. J. Wilson, Clarendon
Press, Oxford, 1976.

(Rahma et al) Bentuk umum dari TSP pertama dipelajari oleh para matematikawan
mulai tahun 1930. Diawali oleh Karl Menger di Vienna dan Harvard. Setelah itu
permasalahan TSP dipublikasikan oleh Hassler Whitney5 dan Merrill Flood di
Princeton. Penelitian secara detail dari hubungan antara Menger dan Whitney, dan

perkembangan TSP sebagai sebuah topik studi dapat ditemukan di makalah Alexander
Schrijver’s7 “On the history of combinatorial optimization (till 1960)”.

2.2.2

Perkembangan Travelling Salesman Problem

Untuk menilai perkembangan dalam pemecahan masalah Travelling Salesman Problem
(TSP), perlu membandingkan kecepatan penyelesaian yang semakin tinggi. Tetapi
masalah perangkingan untuk metode pemecahan TSP akan sangat sulit dilakukan,
karena metode-metode yang sangat berkaitan erat satu sama lain tidak dapat dinilai

Universitas Sumatera Utara

11

hanya melalui perbandingan yang sederhana (permasalahan-permasalahan TSP yang
ringan).

Oleh karena itu, untuk memutuskan apakah metode A lebih baik dibandingkan

metode B, harus mengesampingkan hasil dari contoh-contoh kasus yang sederhana dan
dapat diselesaikan oleh hampir semua metode pemecahan permasalahan TSP. Saat ini
kita seharusnya berkonsentrasi pada permasalahan-permasalahan yang benar-benar
sulit yang sangat sulit terpecahkan sampai saat ini. Dari permasalahan-permasalahan
yang sangat sulit ini.

Agar perbandingan metode-metode TSP ini dapat diaplikasikan, kita dapat
menganalisis solusi-solusi dari sebuah metode dan menjamin bahwa setiap n akan
memakan sejumlah waktu f(n). Jadi f(n) fungsi waktu dari sebuah metode terhadap
jumlah kota (n). Untuk membandingkan dua buah metode, cukup membandingkan
fungsi f(n) dari masing-masing metode. Hal ini tentu saja dapat menghasilkan
perhitungan yang salah ketika ada metode yang baik tapi dianalisis dengan buruk
sehingga menghasilkan f(n) yang buruk. Dalam banyak permasalahan komputasional,
studi tentang algoritma+fungsi telah menghasilkan solusi matematika yang sangat
bagus, yang penting dalam pengembangan untuk penyelesaian permasalahan praktis.
Hal ini telah menjadi subjek studi yang utama dalam sains komputer.

(Rahma et al) Untuk setiap permasalahan TSP akan sangat mudah kita katakan
bahwa fungsi f(n)-nya adalah (n-1)!=n-1 x n-2 x n-3 x ...x 3 x 2 x 1 dan jumlah jalur
yang mungkin terjadi adalah (n-1)!/2. Hasil yang lebih baik ditemukan pada tahun 1962

oleh Michael Held dan Richard Karp, yang menemukan algoritma dan fungsi yang
mempunyai proporsi n22n, yaitu n x n x2 x 2 x … x 2, dimana ada sebanyak n perkalian
dua. Untuk setiap n bernilai besar, fungsi f(n) Held-Karp akan selalu lebih kecil
dibandingkan (n-1)!.

Untuk setiap orang yang tertarik untuk menyelesaikan permasalahan TSP dalam
jumlah besar, ada sebuah berita buruk bahwa selama 43 tahun sejak Held dan Karp
menemukan fungsi f(n)= n22n ternyata tidak ditemukan fungsi f(n) yang lebih baik lagi.
Hal ini tentu saja sangat mengecewakan karena dengan n=30 fungsi f(n) Held-Karp

Universitas Sumatera Utara

12

menghasilkan nilai yang sangat besar, dan untuk n=100 merupakan sesuatu yang
mustahil untuk diselesaikan oleh kemampuan komputer saat ini.

Perkembangan fungsi f(n) dalam TSP yang sangat lambat ini mungkin memang
tidak dapat kita hindari dengan komputer saat ini bisa jadi memang tidak ada metode
yang menghasilkan f(n) yang mempunyai performansi yang baik, misal n c dimana c
adalah sebuah angka konstanta, oleh karena itu, n x n x n x … x n dimana n muncul
sebanyak c kali.

(Rahma et al) Perkembangan pemecahan Travelling Salesman Problem (TSP)
antara lain:
a. 49Kota - DANTZIG49
DANTZIG49 adalah permasalahan yang diteliti oleh Dantzig, Fulkerson, dan Johnson
yang dapat kita lihat dalam makalah mereka tahun 1954 tentang solusi dari
permasalahan TSP yang terdiri dari satu kota tiap 48 negara bagian di Amerika Serikat
ditambah kota Washington, D. C. Para penulis bekerja dengan 49 kota tersebut. Jalur
optimal dari 49 kota ini, menggunakan jalan pintas yang terdapat pada 7 kota selain 49
kota tersebut. Jalur yang dibuat berdasarkan jarak pada setiap jalur dalam kota diantara
49 kota tersebut. Para penulis mengatakan bahwa mereka mendapat tabel jarak dari
Bernice Brown karyawan Perusahaan Rand.

b. 120 Kota - GR120
GR120 telah menjadi pengujian standar bagi permasalahan TSP sejak tahun 1977.
GR120 ini mempunyai 120 titik yang terdiri dari jarak tempuh antara 120 kota yang
terdapat di sekitar Jerman. Daftar kota-kota ini terdapat pada Atlas Umum Negara
Jerman tahun 1967/68.

c. 318 Kota - LIN318
LIN318 muncul pada tahun 1973 dalam makalah yang ditulis oleh S.Lin dan B.W.
Kernighan. Data dari LIN318 terdiri dari 318 yang muncul dari hasil pengeboran,
dimana bornya adalah sebuah sinar laser. Lin dan Kernighan menulis bahwa mereka

Universitas Sumatera Utara

13

mendapatkan datanya dari R.Haberman. Permasalahan ini pertama diselesaikan oleh
H.Crowder dan M. W. Padberg pada tahun 1980.

d. 532 Kota - ATT532
ATT532 muncul pada tahun 1987 didalam makalah yang ditulis oleh M. Padberg dan
G. Rinaldi. Dalam ATT532 terdapat data mengenai 532 kota yang berlokasi di Benua
Amerika Serikat, dan Padberg serta Rinaldi menulis bahwa mereka mendapatkan
permasalahannya dari Shen Lin karyawan dari laboratorium AT&T Bell.

e. 666 Kota - GR666
GR666 pertama kali diselesaikan oleh O. Holland dan M. Groetschel, yang muncul
dalam Tesis PhD Olaf Holland's pada tahun 1987. Data terdiri dari 666 kota menarik
yang tersebar di seluruh dunia.

f. 2392 Kota - PR2392
PR2392 memiliki data sebanyak 2,392 titik, hasil kontribusi dari M. Padberg dan G.
Rinaldi. Layout dari titik-titik tersebut dibuat oleh Perusahaan Tektronics.

g. 7397 Kota - PLA7397
PLA7397 adalah sebuah programmed logic array application, yang terdiri dari 7,397
kota.

h. 15112 Kota - D15112
D15112.ini mempunyai data mengenai 15,112 kota-kota yang terdapat di Negara
Jerman.
i. 24978 Kota – Sweded24978
24,978 kota di Swedia, didapat datanya dari National Imagery and Mapping Agency
database nama-nama fitur geografi.

Untuk grafik perkembangan TSP dapat dilihat pada gambar 2.5.

Universitas Sumatera Utara

14

Gambar 2.5 Grafik Pemecahan permasalahan TSP dengan n-kota terhadap tahun
diselesaikannya (Rahma et al).

2.2.3

Prosedur Sederhana Pemecahan TSP

Dalam penyelesaian masalah TSP kita dapat membagi kedalam 2 metode, yaitu metode
optimal dan metode aproksimasi. Metode optimal akan menghasilkan hasil yang
optimal (minimum) sedangkan metode aproksimasi akan menghasilkan hasil yang
mendekati optimal.
a. Metode Optimal
Sejak permasalahan TSP ditemukan pada tahun 1800 oleh matematikawan
Irlandia Sir William Rowan Hamilton dan matematikawan Inggris Thomas
Penyngton Kirkman, pusat perhatian studi ini adalah menemukan secara pasti
nilai minimum dari persoalan TSP dengan konsekuensi dibutuhkan waktu yang
cukup lama untuk menyelesaikannya. Contoh metode penyelesaian TSP adalah
: Complete Enumeration, Branch and Bound, dan Dynamic Programming.

b. Metode Aproksimasi
Pemecahan masalah TSP dengan metode aproksimasi dapat memakai waktu
yang lebih cepat, tetapi terkadang mendapatkan hasil yang sub-optimum (local
optimum). Contoh dengan menggunakan metode Greedy Heuristik yang
mencari titik yang dilalui yang lebih dekat terlebih dahulu dan belum
dikunjungi.

Universitas Sumatera Utara

15

Kompleksitas algoritma ini memang sangat mengagumkan yaitu O(n),
tetapi hasil yang kita dapat bisa sangat jauh dari hasil yang optimal, semakin
banyak kota semakin besar pula perbedaan hasil yang dicapai. Misalnya untuk
contoh kasus yang sama dengan algoritma Branch and Bound sebelumnya yang
menghasilkan nilai 15, maka algoritma ini menghasilkan nilai 18 berbeda
sebesar 20% dari hasil sebelumnya padahal jumlah kota hanya 5 buah.

Contoh lain adalah teknik heuristik digunakan untuk mencari jawaban
dari masalah kombinatorial dengan secepat mungkin. Algoritma tradisional
akan gagal ketika menghadapi permasalahan yang sangat rumit, seperti
permasalahan TSP dengan jumlah kota (n) yang sangat besar.

Metode Heuristic memberikan pendekatan untuk menyelesaikan
permasalahan optimasi kombinatorial. Combinatorial search akan memberi kita
hasil yang mungkin dan mencari yang hasil yang mendekati optimal dari hasilhasil tersebut. Tetapi mungkin memang tidak ada metode Heuristik yang
menghasilkan solusi yang merupakan solusi optimal. Metode Heuristik seperti
tabu search, local search, simulated annealing, genetic algoritm, Christofides,
ant colony, neural network dan lain sebagainya, mengusahakan suatu cara untuk
mencari hasil yang baik tapi bukan yang terbaik.

2.3 Algoritma Simulated Annealing

Pengertian umum simulated dalam bahasa Indonesia simulasi adalah suatu metodologi
untuk melaksanakan percobaan dengan menggunakan model atau algoritma dari suatu
sistem nyata. Konsep dasarnya adalah menggunakan beberapa perangkat untuk meniru
sistem nyata guna mempelajari dan memahami sifat-sifat, perangai atau tingkah laku
dan karakteristik operasinya. Simulasi juga merupakan alat percobaan untuk
mengetahui data sampel serta taksiran statistik dari suatu model atau algoritma. Oleh
karena itu, simulasi sangat berkaitan dengan percobaan untuk menaksir karakteristik
dari sistem nyata tersebut dengan tujuan untuk merancang, menyusun dan
mengembangkan sistem atau mengubahnya (Larasati, 2011).

Universitas Sumatera Utara

16

Simulasi yang baik membutuhkan perencanaan dan organisir yang bagus,
namun bentuk simulasi tersebut tidak selalu tetap dan selamanya akan terus berubahubah sesuai dengan permasalahan dan kendala yang muncul. (Larasati, 2011) Pada
umumnya terdapat lima langkah utama yang diperlukan dalam menggunakan simulasi
sebagai metode penyelesaian suatu permasalahan, yaitu :
3. Tentukan sistem atau persoalan yang ingin disimulasikan.
4. Kembangkan model atau algoritma simulasi yang ingin digunakan.
5. Menguji model atau algoritma tersebut dan bandingkan karakteristiknya
dengan karakteristik sistem nyata yang diadopsi, kemudian berlakukan
model simulasinya.
6. Rancang percobaan-percobaan simulasi.
7. Jalankan simulasi dan analisis outputnya.

Pada awal tahun 1980 Kirkpatrick, Gellat dan Vecchi (1982; 1983) dan secara
terpisah

Cerny (1985)

memperkenalkan

menyelesaikan permasalahan optimasi

konsep

simulasi

kombinatorial.

annealing

untuk

Permasalahan optimasi

kombinatorial adalah permasalahan minimum dan maksimum yang dirincikan dengan
himpunan beserta beberapa kendala didalamnya (Larasati, 2011) .

Penyelesaian suatu permasalahan optimasi kombinatorial bertujuan untuk
menemukan solusi terbaik atau solusi optimal serta dapat dihitung yang nilainya
terbatas ataupun tidak dari solusi-solusi alternatif yang ada. Suatu contoh permasalahan
optimasi kombinatorial dapat diformulasikan sebagai pasangan, di mana ruang solusi S
sebagai himpunan terbatas dari seluruh kemungkinan solusi dan fungsi biaya f
merupakan pemetaan yang didefinisikan sebagai berikut.




Dalam kasus minimum, permasalahannya adalah menemukan solusi yang harus
memenuhi:
(�

)

Sedangkan dalam kasus maksimum, � �
(�

)

� untuk semua � �
harus memenuhi kondisi:
� untuk semua � �
Universitas Sumatera Utara

17

yang mana �

maksimum, (�

)=

adalah global optimal solusi, baik itu minimum maupun
merupakan nilai optimal dan

adalah himpunan dari

seluruh solusi optimal.

Penyelesaian suatu permasalahan optimasi dengan menggunakan simulated
annealing terinspirasi dari proses fisika yakni pendinginan bahan logam yang disebut
dengan annealing. Dalam proses pendinginan suatu benda, annealing diketahui
sebagai proses penurunan suhu secara bertahap untuk mendapatkan tingkat energi yang
rendah pada benda (dalam hal ini adalah logam) pada suhu ruang tertentu.
Proses tersebut terdiri atas dua langkah (Larasati, 2011) sebagai berikut.
a. Menaikkan temperatur ruang panas hingga mencapai nilai maksimum pada tiaptiap lelehan benda tersebut.
b. Menurunkan temperatur secara perlahan hingga partikel-partikel benda tersebut
menyusun diri mereka sendiri dalam bentuk yang stabil hingga akhirnya
menjadi benda padat, yang dalam bentuk cair partikel-partikel benda tersebut
mampu menyusun diri mereka sendiri secara acak.

Tabel 2.1 analogi antara annealing dalam permasalahan proses pendinginan
logam
Proses Annealing pada Logam
State
Energi
Keadaan stabil
Rapid quenching
Suhu
Pendinginan bertahap

Permasalahan Optimasi
Solusi layak
Fungsi evaluasi
Solusi optimal
Local search
Parameter kontrol T
Simulasi annealing

Berdasarkan analogi antara annealing dalam permasalahan proses pendinginan logam
dan annealing dalam permasalahan optimasi ada beberapa pertanyaan tambahan untuk
menentukan algoritma yang cocok dalam permasalahan yaitu sebagai berikut (Larasati,
2011).
1. Bagaimana menentukan temperatur awal T?
2. Bagaimana menentukan rasio penurunan pendinginan pada cooling
scheduling?

Universitas Sumatera Utara

18

3. Bagaimana menentukan keadaan akhirnya?
4. Bagaimana menentukan kriteria penghentian iterasinya?

Dari beberapa pertanyaan tersebut, implementasi algoritma simulasi annealing harus
memenuhi tiga rincian berikut:
1. Representasi dari permasalahan
Representasi dari permasalahan mengandung representasi ruang solusi dan fungsi nilai.
Fungsi nilai harus ditetapkan sebagai nilai efektif dari solusi yang berkaitan dengan
objektif optimasi.

2. Mekanisme transisi
Membangkitkan trail untuk mengubah solusi awal menjadi solusi berikutnya memiliki
tiga langkah. Pertama, solusi awal yang baru dibangkitkan dari salah satu solusi current
dengan menerapkan mekanisme pembangkitan. Kedua, perubahan nilai diantara dua
solusi dihitung dan yang ketiga, tentukan keputusan diterima atau tidaknya solusi yang
baru dan mengganti solusi current dengan solusi terbaru jika solusi yang baru tersebut
diterima.

Evaluasi trail merupakan bagian yang menghabiskan waktu yang cukup banyak
dalam algoritma simulasi annealing dan harus dilakukan dengan waktu yang seefisien
mungkin. Mekanisme pembangkitan biasanya memilih solusi baru yang terkandung
dalam salah satu solusi current dengan penyusunan ulang sederhana.
Keputusan untuk menerima solusi baru tersebut berdasarkan atas kriteria penerimaan
yaitu kriteria Metropolis berikut.

Di mana c adalah parameter kontrol yaitu

dengan adalah

konstanta

Boltzmann dan T adalah temperatur serta ∆ adalah perubahan biaya antara solusi baru

dan solusi terakhir dalam kasus permasalahan minimasi.

Universitas Sumatera Utara

19

Dalam mekanisme transisi terdapat proses modifikasi, langkah acak atau
perubahan apa yang harus dilakukan terhadap elemen-elemen konfigurasi untuk
menghasilkan konfigurasi berikutnya serta fungsi evaluasi atau fungsi objektif yang
dapat menyatakan baik-buruknya suatu solusi terhadap permasalahan.

3. Jadwal pendinginan
Simulasi annealing bekerja dengan menjalankan algoritma Metropolis yang secara
perlahan menurunkan nilai T hingga akhir proses penurunan T yang diperbaharui
tersebut disebut sebagai jadwal pendinginan. Secara resmi, Jadwal pendinginan adalah
suatu fungsi Tn dari {1,2,3,…} yang merupakan bilangan real positif dalam iterasi i
dari algoritma Metropolis dan digunakan temperature T = Tn(i) sebagai definisi dari
probabilitas.

Algoritma Metode Simulated Annealing adalah sebagai berikut (Kusumadewi et al,
2005, Hal: 177):
1. Evaluasi keadaan awal. Jika keadaan awal merupakan tujuan, maka pencarian
berhasil dan KELUAR. Jika tidak demikian, lanjutkan dengan menetapkan keadaan
awal sebagai kondisi sekarang.
2. Inisialisasi BEST_SO_FAR untuk keadaan sekarang.
3. Inisialisasi T sesuai dengan annealing schedule.
4. Kerjakan hingga solusi ditemukan atau sudah tidak ada operator baru lagi
diaplikasikan ke kondisi sekarang.
a. Gunakan operator yang belum pernah digunakan tersebut untuk
menghasilkan kondisi baru.
b. Evaluasi kondisi baru dengan menghitung:
∆ = �� �

� − �� �





i. Jika kondisi baru merupakan tujuan, maka pencarian berhasil dan
KELUAR.
ii. Jika bukan tujuan, namun memiliki nilai yang lebih baik dari pada
kondisi sekarang, maka tetapkan kondisi baru sebagai kondisi
sekarang. Demikian pula tetapkan BEST_SO_FAR untuk kondisi
yang baru tadi.

Universitas Sumatera Utara

20

iii. Jika nilai kondisi baru tidak lebih baik dari kondisi sekarang, maka
tetapkan kondisi baru sebagai kondisi sekarang dengan probabilitas:
�′ =

−∆�/�

c. Perbaikan T sesuai dengan annealing scheduling.
5. BEST_SO_FAR adalah jawaban yang dimaksudkan.

Flowchart simulasi annealing dapat dilihat pada gambar 2.6.
T

MULAI

Penelusuran
dihentikan?

Y

Parameter
awal
Bangkitkan Solusi
Baru

Evaluasi Solusi

Output

BERHENTI

T
Diterima?

Y
Turunkan
temperatur

Update state
terbaru

Ubah
Temperatur?

T

Y

Gambar 2.6 Flowchart algoritma Simulated Annealing

2.4 Simulated Annealing untuk Penyelesaian TSP

Simulated Annealing (SA) telah berhasil disesuaikan untuk menyelesaikan solusi
aproksimasi untuk TSP. SA pada dasarnya algoritma pencarian lokal acak yang
memungkinkan bergerak dengan gain negatif. Dengan menggunakan metode 2-opt,

Universitas Sumatera Utara

21

proses dimulai dengan bergerak untuk menemukan tetangga solusi. Tidak
mengherankan rute dihasilkan sebanding dengan algoritma 2-opt normal. Hasil yang
lebih baik dapat diperoleh dengan meningkatkan waktu proses algoritma SA,
menunjukkan hasil yang sebanding dengan Algoritma Lucas–Kanade (LK). Beberapa
peningkatan kecepatan yang diperlukan untuk membuat contoh yang lebih besar layak
untuk dijalankan, dan juga untuk membuat kompetitif untuk algoritma pendekatan lain
yang sudah ada.

Pseudocode algoritma simulated annealing (Kusumadewi et al, 2005, Hal: 180)
adalah sebagai berikut:

1.

Function PjgJalur(L,X,Y): real;

1. Panjang = 0;
2. For i=1 to (NC-1) do
3.

Pajang = Panjang + ∑ (

4. PjgJalur

2.

+



) + (

+



)

Function T0(MTemp:integer): real;

1. LMax = 0;
2. For i=1 to MTemp do
3.

LA = ambil jalur sembarang

4.

Len = PjgJalur(LA)

5.

If Len > LMax then LMax = Len

6. T0 = 2*LMax

3.

Function JalurBaru(L): arrayNC;

1. Bangkitkan 2 bilangan random N1 dan N2 antara 1 sampai NC
dengan N1 < N2
2. Depan = L(1) sampai L(N2-1);
3. Tengah = L(N1) sampai L(N2);
4. Belakang = L(N2+1) sampai L(NC);
5. Bangkitkan bilangan random r.
6. If r < 0,5 then
7.

DepanBaru = Depan

8.

TengahBaru(1..NT) = Tengah(NT..1) dengan NT=N2-N1+1

Universitas Sumatera Utara

22

9.

BelakangBaru = Belakang

10.

Lbaru = [DepanBaru TengahBaru BelakangBaru]

11. Else
12.

Sementara = [Depan Belakang]; dengan M elemen

13.

Bangkitkan bilangan random r dengan dengan nilai antara
1 sampai M.

14.

DepanBaru = Sementara(1…r)

15.

TengahBaru = Tengah

16.

BelakangBaru = Sementara(r+1…M)

17.

Lbaru = [DepanBaru TengahBaru BelakangBaru]

18. JalurBaru = LBaru

4.

Procedure SimulatedAnneal (MTemp:integer; NC:integer; X,Y:real; MItr:integer;
MSukses:integer; decT:real);

1. T=T0(MTemp);
2. L=[1 2 3 … NC]
3. MaxIterasi = MItr*NC;
4. MaxSukses = MSukses*NC;
5. JalurTerpendek = L;
6. PjgJalurTerpendek = PjgJalur(L);
7. Sukses = 1;
8. While Sukses > 0
9. Sukses = 0;
10.

MinPjgJalur = PjgJalur(L)

11.

For i=1 to MaxIterasi do

12.

Jalur = JalurBaru(L);

13.

Pjg = PjgJalur(Jalur);

14.

If Pjg < MinPjgJalur then

15.

MinPjgJalur = Pjg;

16.

Lbaru = Jalur;

17.

Sukses + 1;

18.

If MinPjgJalur < PjgJalurTerpendek then

19.

PjgJalurTerpendek = MinPjgJalur;

20.

JalurTerpendek = Lbaru;

21.

If Sukses = MaxSukses then BREAK;

22.

Else

Universitas Sumatera Utara

23

23.

Bangkitkan bilangan random r;

24.

If r <

25.

L =LBaru;

26.

T=decT*T;

− � �−

� ��

� /�

then Lbaru = jalur;

2.5 Sistem Informasi Geografis

Sistem Informasi Geografis (Geographic Information Systems) disingkat SIG
merupakan sistem informasi berbasis komputer digunakan untuk menyajikan secara
digital dan menganalisa penampakan geografis yang ada dan kejadian di permukaan
bumi. Penyajian secara digital berarti mengubah keadaan menjadi bentuk digital.
Setiap objek yang ada di permukaan bumi merupakan “geo-referenced”, yang
merupakan kerangka hubungan database ke SIG. Databases merupakan sekumpulan
informasi tentang sesuatu dan hubungannya antar satu dengan lainnya, sedangkan
“geo-referenced” menunjukkan lokasi suatu objek diruang yang ditentukan oleh sistem
koordinat. (Supriadi, 2007).

(Marzuki 2015) Saat ini SIG termasuk salah satu teknologi yang berkembang
pesat. Teknologi ini terdiri dari perangkat lunak dan perangkat keras yang didesain
untuk mengorganisir data yang berkaitan dangan bumi untuk menganalisis,
memperkirakan dan gambaran kartografi. Informasi ruangan mengenai bumi sangat
kompleks, tetapi pada umumnya data geografis mengandung 4 aspek penting, yaitu:
1. Lokasi-lokasi yang berkenaan dengan ruang, merupakan objek-objek ruang
yang khas pada sistem koordinat (projeksi sebuah peta).
2. Attribut, informasi yang menerangkan mengenai objek-objek ruang yang
diperlukan.
3. Hubungan ruang, hubungan lojik atau kuantitatif diantara objek-objek ruang.
4. Waktu, merupakan waktu untuk memperoleh data, data atribut dan ruang.

SIG merupakan suatu rancangan sistem informasi untuk mengerjakan data
berunsur ruang atau koordinat geografis. Teknologi SIG menyatu dengan operasi
database seperti pencarian data dan analisa statistik dan analisis geografis yang

Universitas Sumatera Utara

24

disajikan dalam bentuk peta. Kemampuan SIG yang unik ini membuatnya banyak
digunakan secara luas misalnya untuk menjelaskan kejadian, memperkirakan hasil dan
perencanaan strategis.

Secara sederhana SIG merupakan:
1. Alat berbasis Komputer untuk pemetaan dan analisis tentang sesuatu yang
terdapat dan peristiwa yang terjadi di bumi.
2. Seperangkat alat untuk mengumpulkan, menyimpan, memperbaiki, mengubah
dan menampilkan data ruang permukaan bumi sebenarnya untuk tujuan tertentu.
3. Sistem berbasis komputer yang dilengkapi dengan 4 kemampuan untuk
menangani data keruangan, yaitu:
a. Memasukkan data (data input).
b. Menyimpan dan memperbaiki data (data store and retrive).
c. Memanipulasi dan analisis (manipulation and analysis).
d. Menghasilkan data (data output).

2.6 Google Maps

Google Maps adalah layanan aplikasi peta online yang disediakan oleh Google secara
gratis. Layanan peta Google Maps secara resmi dapat diakses melalui situs
http://maps.google.com. Pada situs tersebut dapat dilihat informasi geografis pada
hampir semua permukaan di bumi kecuali daerah kutub utara dan selatan. Layanan ini
dibuat sangat interaktif, karena di dalamnya peta dapat digeser sesuai keinginan
pengguna, mengubah level zoom, serta mengubah tampilan jenis peta.

Google Maps mempunyai banyak fasilitas yang dapat dipergunakan misalnya
pencarian lokasi dengan memasukkan kata kunci, kata kunci yang di maksud seperti
nama tempat, kota, atau jalan, fasilitas lainnya yaitu perhitungan rute perjalanan dari
satu tempat ke tempat lainnya (Syaiful, 2012).

Universitas Sumatera Utara

25

Untuk mengakses data dari google maps perlu layanan pemetaan berbasis web
service yang disediakan oleh Google dan bersifat gratis, yang memiliki kemampuan
terhadap banyak layanan pemetaan berbasis web. Google Maps juga memiliki sifat
server side, yaitu peta yang tersimpan pada server Google dapat dimanfaatkan oleh
pengguna (Ichtiara, 2008).

Application Programming Interface (API) merupakan suatu dokumentasi yang
terdiri dari interface, fungsi, kelas, struktur dan sebagainya untuk membangun sebuah
perangkat lunak. Dengan adanya API ini, maka memudahkan programmer untuk
“membongkar” suatu software untuk kemudian dapat dikembangkan atau
diintegrasikan dengan perangkat lunak yang lain. API dapat dikatakan sebagai
penghubung suatu aplikasi dengan aplikasi lainnya yang memungkinkan programmer
menggunakan sistem function. Proses ini dikelola melalui sistem operasi.

Keunggulan dari API ini adalah memungkinkan suatu aplikasi dengan aplikasi
lainnya dapat saling berhubungan dan berinteraksi. Bahasa pemrograman yang
digunakan oleh Google Maps yang terdiri dari HTML, Javascript dan AJAX serta
XML, memungkinkan untuk menampilkan peta Google Maps di website lain (Syaiful,
2012).
MULAI
Developer merumuskan sebuat request
URL menggunakan PHP di remote
server
Aplikasi PHP membuat request ke
Google Maps

Permintaan
Valid?

T

Google Maps mengirimkan
error atau hasil kosong

Y
Google Maps mengirimkan data ke user
menggunakan format data JSON

PHP dapat menggunkanan fungsi cURL
untuk mengambil dan melakukan
pengelolahan data JSON

BERHENTI

Gambar 2.7. Flowchart Request URL Google Maps

Universitas Sumatera Utara

26

2.7 Global Positioning System

Global Positioning System (GPS) adalah sistem satelit navigasi dan penentuan posisi
yang dimiliki dan dikelola oleh Amerika Serikat. Sistem ini didesain untuk
memberikan posisi dan kecepatan tiga-dimensi serta informasi mengenai waktu, secara
kontinyu di seluruh dunia tanpa bergantung waktu dan cuaca, kepada banyak orang
secara simultan. Pada saat ini sistem GPS sudah banyak digunakan orang di seluruh
dunia. Di Indonesia pun, GPS sudah banyak diaplikasikan, terutama yang terkait
dengan aplikasi-aplikasi yang menuntut informasi tentang posisi (Hasanuddin. 2000).

2.7.1 Kemampuan GPS

GPS dapat memberikan informasi mengenai posisi, kecepatan, dan waktu secara cepat,
teliti, dan murah dimana saja di bumi ini pada setiap waktu, siang maupun malam tanpa
bergantung pada kondisi cuaca. Sampai saat ini, GPS adalah satu-satunya sistem
navigasi atau sistem penentuan posisi yang mempunyai karakteristik prima seperti itu.
Disamping produk dasar tersebut (posisi, kecepatan, dan waktu), sebenarnya ada
beberapa parameter lainnya yang dapat ditentukan dengan tekonolgi GPS. Pada
parameter-parameter tersebut ditunjukkan pada gambar 2.8.

Gambar 2.8 Parameter GPS (Sumber: Hasanuddin, 2000).

Universitas Sumatera Utara

27

Dalam hal penentuan posisi, GPS dapat memberikan ketelitian posisi yang
spektrumnya cukup luas. Dari yang sangat teliti (orde milimeter, relatif) sampai yang
biasa-biasa saja (orde puluhan meter, absolut). Ketelitian posisi yang diperoleh secara
umum akan bergantung pada empat faktor yaitu: metode penentuan posisi yang
digunakan, geometri dan distribusi dari satelit-satelit yang diamati, ketelitian data
yang digunakan, dan stategi/metode pengolahan data yang diterapkan.

2.7.2

Waypoint

Waypoint adalah titik referensi dalam ruang fisik yang digunakan untuk tujuan
navigasi. Waypoint merupakan koordinat yang mengidentifikasi titik dalam ruang fisik.
Koordinat yang digunakan dapat bervariasi tergantung pada aplikasi. Untuk navigasi
darat koordinat berupa bujur dan lintang, sedangkan untuk navigasi udara juga
mencakup ketinggian. Waypoint biasanya digunakan untuk sistem navigasi pada GPS
dan jenis-jenis tertentu dari radio navigasi. Waypoint yang terletak di permukaan bumi
biasanya didefinisikan dalam dua dimensi (misalnya, bujur dan lintang), sedangkan
yang digunakan dalam atmosfer bumi atau di luar angkasa didefinisikan dalam
setidaknya tiga dimensi atau empat jika waktu merupakan salah satu koordinat untuk
beberapa titik yang berada di luar bumi. Waypoint ini digunakan untuk membantu
menentukan jalur routing yang tak terlihat untuk navigasi. Misalnya, artificial airways
"highways in the sky" yang diciptakan khusus untuk keperluan navigasi udara dan
hanya terdiri dari serangkaian waypoint abstrak di langit dimana pilot menavigasi
airways ini dirancang untuk memudahkan kontrol lalu lintas udara dan routing lalu
lintas antara lokasi pada saat bepergian. Waypoints abstrak semacam ini telah dibuat
praktis dengan teknologi navigasi modern, seperti land-based radio beacons dan satelit
berbasis GPS (Sanjaya, 2014)

2.7.3

Perhitungan Jarak Antara Dua Waypoints

Untuk melakukan perhitungan jarak antara dua waypoints pada Google Maps
menggunakan persamaan hukum kosinus koordinat bola (spherical law of cosines).

Universitas Sumatera Utara

28

Dimana :

= � cos sin λ

. sin λ

+ cos λ

. cos λ

. cos � − �

.R

D : Jarak antar dua titik (km)
: Posisi titik i(1,2,…n) pada garis lintang dalam derajat

λ

: Posisi titik i(1,2,…n) pada garis bujur dalam derajat

R

: Jari-jari bumi (6371 km)



Karena untuk menggunakan persamaan ini nilai lintang dan bujur harus dalam radian,
sedangkan data masukan dari pengguna dalam derajat, maka terlebih dahulu mengubah
nilai derajat menjadi radian dengan membagi dengan 180 / π . π adalah konstanta
matematika yaitu 3,14. (Sanjaya, 2014)

Universitas Sumatera Utara