1
METODE TRAVELING SALESMAN UNTUK MENENTUKAN LINTASAN
TERPENDEK PADA DAERAH-DAERAH YANG TERIDENTIFIKASI BAHAYA
Nama Mahasiswa : Aisyah LestariNRP : 1206 100 016
Jurusan : Matematika
Dosen Pembimbing : Subchan, Ph.D
Abstrak
Pada suatu daerah atau negara yang sedang dalam keadaan kurang aman penentuan lintasan terpendek menjadi hal yang cukup penting untuk diperhitungkan karena dapat digunakan untuk meminimalkan bahaya atau hal buruk yang mungkin akan terjadi. Traveling salesman problem merupakan metode yang dapat digunakan untuk mencari lintasan terpendek dengan mengunjungi setiap daerah tepat satu kali.
Pada tugas akhir ini dibahas tentang penyelesaian traveling salesman problem dengan metode branch and bound dan metode nearest neighbor. Hasil yang diperoleh adalah dengan metode branch and bound didapat penghematan jarak sebesar 0,74 km untuk kota Surabaya, 13,644 km untuk kota Jakarta, dan 22,636 km untuk kota Bandung. Sedangkan dengan metode nearest neighbor didapat penghematan jarak sebesar 0 km untuk kota Surabaya, 8,046 km untuk kota Jakarta, dan 20,197 km untuk kota Bandung. Sehingga dari kedua metode tersebut didapat bahwa metode branch and bound lebih baik dalam meyelesaikan permasalahan traveling salesman.
Kata kunci : traveling salesman, lintasan terpendek, branch and bound, nearest neighbor.
1. Pendahuluan
Perkembangan ilmu pengetahuan semakin pesat, hal ini ditunjukan dengan semakin banyaknya teknologi baru yang berkembang. Salah satunya adalah teknologi yang berkaitan dengan keamanan. Sebagai contoh, kendaraan Nir awak yang saat ini banyak digunakan untuk militer. Selain itu, muncul teknologi untuk mengembangkan senjata mutakhir. Akan tetapi perkembangan teknologi tersebut tidak berjalan sebanding dengan perkembangan keamanan itu sendiri. Misal pada suatu daerah atau negara yang sedang dalam keadaan kurang aman atau sedang dalam keadaan berperang, untuk mencapai beberapa tempat yang dituju dengan lintasan terpendek menjadi hal yang cukup penting diperhatikan karena dapat meminimalkan bahaya atau hal buruk yang mungkin akan terjadi. Metode Travelling Salesman Problem (TSP) adalah metode yang dapat digunakan untuk menentukan lintasan terpendek dengan mengunjungi setiap daerah yang ada hanya satu kali. Pada tugas akhir ini dibahas tentang cara menentukan lintasan terpendek dengan menggunakan metode traveling salesman problem dengan metode Branch and Bound menggunakan software QS
(Quantitative System) dan metode Nearest Neighbor. Sebelum melakukan proses TSP, terlebih dahulu perlu dilakukan pengidentifikasian daerah-daerah yang terdapat ancaman tersebut dengan memanfaatkan “Google Earth” untuk menentukan daerah tujuan dan jarak antar daerah satu dengan daerah lainnya. Untuk penyelesaian Traveling Salesman Problem dalam tugas akhir ini digunakan dua metode dikarenakan supaya dapat dilihat perbandingan hasil dari kedua metode tersebut, sehingga nantinya akan dapat dilihat metode yang paling baik.
2. Traveling Salesman Problem (TSP)
Permasalahan tentang Traveling Salesman Problem dikemukakan pada tahun 1800 oleh matematikawan Irlandia William Rowan Hamilton dan matematikawan Inggris Thomas Penyngton. Gambar dibawah ini adalah foto dari permainan Icosian Hamilton yang membutuhkan pemain untuk menyelesaikan perjalanan dari 20 titik menggunakan hanya jalur-jalur tertentu.
2
Gambar 1 Foto dari permainan Icosian HamiltonBentuk umum dari TSP pertama dipelajari oleh para matematikawan mulai tahun 1930. Diawali oleh Karl Menger di Viena dan Harvard. Setelah itu permasalahan TSP dipublikasikan oleh Hassler Whitney dan Merrill Flood di Princeton. Selanjutnya dengan permasalahan ini, TSP dibuat menjadi permasalahan yang terkenal dan popular untuk dipakai sebagai model produksi, transportasi dan komunikasi (Amin, Rahma Aulia. Dkk, 2006).
TSP dikenal sebagai suatu permasalah optimasi yang bersifat klasik dan Non-Deterministic Polynomial-time Complete (NPC), dimana tidak ada penyelesaian yang paling optimal selain mencoba seluruh kemungkinan penyelesaian yang ada. Permasalahan ini melibatkan seorang traveling salesman yang harus melakukan kunjungan sekali pada semua kota dalam sebuah lintasan sebelum dia kembali ke titik awal, sehingga perjalanannya dikatakan sempurna.
Definisi dari Traveling Saleman Problem yaitu diberikan n buah kota dan Cij yang merupakan jarak antara kota i dan kota j, seseorang ingin membuat suatu lintasan tertutup dengan mengunjungi setiap kota satu kali. Tujuannya adalah memilih lintasan tertutup yang total jaraknya paling minimum diantara pilihan dari semua kemungkinan lintasan.
Berikut ini adalah bentuk modelnya : Dengan batas : Parameter :
n = jumlah kota / lokasi / pelanggan yang akan dikunjungi (n tidak termasuk tempat asal (base), yang diindekkan dengan i = 0). Cij = biaya / jarak traveling dari kota i ke kota j A = sepasang arc / edge (i,j) yang ada. Note bahwa (i,j) yang dimaksud adalah arc yang ada dari node i ke node j.
Variable :
3. Metode Branch and Bound
Langkah-langkah untuk menyelesaikan Metode Branch and Bound:
Misalkan :
1. G = (V,E) adalah graf lengkap TSP. 2. |V|= n = jumlah simpul dalam graf G. Simpul-simpul diberi nomor 1,2,…,n. 3. Cij = bobot sisi (i,j).
4. Perjalanan berawal dan berakhir di simpul 1. 5. S adalah ruang penyelesaian, yang dalam hal
ini
S = {()} S = { (1, π ,1) | π adalah permutasi (2,3,...,n) }.
6. |S|= (n-1)! = banyaknya kemungkinan penyelesaian.
Penyelesaian TSP dinyatakan sebagai X = (1, x1, x2, ..., xn – 1, 1) yang dalam hal ini xo= xn = 1
(simpul asal = simpul akhir = 1) (Munir Rinaldi, 2006).
4. Metode Nearest Neighbor
Pada metode ini, pemilihan lintasan akan dimulai pada lintasan yang memiliki nilai jarak paling minimum setiap melalui kota, kemudian
3
akan memilih kota selanjutnya yang belumdikunjungi dan memiliki jarak yang paling minimum.
Langkah-langkah untuk menyelesaikan Metode Nearest Neighbor :
1. Buat peta aliran yang menggambarkan letak-letak daerah yang terdapat bahaya antar daerah.
2. Proses pengerjaan dengan melihat daerah dengan jarak terpendek. Setiap mencapai satu daerah algoritma ini akan memilih daerah selanjutnya yang belum dikunjungi dan memiliki jarak yang paling minimum. 3. Perhitungan nilai optimal dengan menjumlah
jarak dari awal sampai akhir perjalanan.
5. Metode Penelitian
Berikut adalah langkah-langkah yang dilakukan dalam penelitian agar proses pengerjaan dapat terstruktur dengan baik :
a. Studi pendahuluan
b. Pengambilan dan pengumpulan data. Data yang dimaksudkan dalam tugas akhir ini adalah gambar yang merupakan representasi dari posisi dan jumlah kota-kota dalam TSP yang akan diselesaikan. Selain itu juga data koordinat posisi tiap-tiap kota yang berupa longitude dan latitude. Pengambilan data tersebut memanfaatkan software Google earth. c. Penyelesaian traveling salesman
problem dengan metode branch and bound menggunakan software QS (Quantitative System).
d. Penyelesaian traveling salesman problem dengan metode nearest neighbor.
e. Simulasi dengan MATLAB. f. Ppenarikan kesimpulan.
6.
Pembahasan dan Hasil 6.1 Pengumpulan DataTable 1
Jarak antar daerah pada kota Surabaya (km)
1 2 3 4 5 6 7 1 0 0.689 1.312 1.755 3.381 4.46 3.624 2 0.689 0 0.989 1.846 2.733 3.771 2.975 3 1.312 0.989 0 1.103 2.334 3.683 3.305 4 1.755 1.846 1.103 0 3.191 4.662 4.403 5 3.381 2.733 2.334 3.191 0 1.567 2.169 6 4.46 3.771 3.683 4.662 1.567 0 1.571 7 3.624 2.975 3.305 4.403 2.169 1.571 0 Keterangan : 1 = Gubeng 2 = Airlangga 3 = Kertajaya 4 = Ngagel 5 = Klampis Ngasem 6 = Gebang Putih 7 = Mulyorejo Table 2
Jarak antar daerah pada kota Jakarta (km)
1 2 3 4 5 6 7 8 1 0 2.385 4.215 2.378 7.953 5.154 3.118 3.964 2 2.385 0 1.936 4.523 5.627 3.897 4.422 4.089 3 4.215 1.936 0 6.071 3.738 2.929 5.446 4.356 4 2.378 4.523 6.071 0 9.725 5.948 1.893 3.774 5 7.953 5.627 3.738 9.725 0 4.788 8.812 7.229 6 5.154 3.897 2.929 5.948 4.788 0 4.502 2.599 7 3.118 4.422 5.446 1.893 8.812 4.502 0 2.032 8 3.964 4.089 4.356 3.774 7.229 2.599 2.032 0 Keterangan : 1 = Tanah Abang 2 = Menteng 3 = Pegangsaan
4 = Gelora Bung Karno 5 = Rawmangun 6 = Tebet 7 = Senayan 8 = Jakarta Selatan
4
Table 3Jarak antar daerah pada kota Bandung (km)
1 2 3 4 5 6 7 8 9 1 0 1.994 7.702 1.533 6.513 6.785 2.727 4.996 6.019 2 1.994 0 6.458 2.489 5.325 5.765 3.396 4.847 4.381 3 7.702 6.458 0 8.838 1.193 1.219 6.099 4.106 2.576 4 1.533 2.489 8.838 0 7.67 8.027 4.261 6.477 6.866 5 6.513 5.325 1.193 7.67 0 0.709 4.955 3.159 1.934 6 6.785 5.765 1.219 8.027 0.709 0 4.968 2.889 2.642 7 2.727 3.396 6.099 4.261 4.955 4.968 0 2.502 5.304 8 4.996 4.847 4.106 6.477 3.159 2.889 2.502 0 4.345 9 6.019 4.381 2.576 6.866 1.934 2.642 5.304 4.345 0 Keterangan : 1 = Antapani 2 = Cicaheum 3 = Ciroyom 4 = Arcamanik 5 = Kebon Jeruk 6 = Cibadak 7 = Binong 8 = Ancol 9 = Taman Sari 6.2 Pengolahan Data 6.2.1 Jalur Reguler
Yang dimaksudkan jalur reguler disini adalah jalur yang ditempuh secara berururtan dari daerah awal (daerah nomor 1) menuju daerah selanjutnya sampai ke daerah terakhir (kembali ke daerah awal). Berdasarkan tabel 1 – 3 hasil dari perhitungan jalur reguler untuk tiap kota adalah sebagai berikut :
1. Kota Surabaya = 1 – 2 – 3 – 4 – 5 – 6 – 7 = 12,734 km 2. Kota Jakarta = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 = 35,393 km 3. Kota Bandung = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 = 43,503 km
6.2.2 Pengolahan Data dengan Metode
Branch and Bound Menggunakan
Software QS
Pengolahan jarak yang dilakukan adalah menggunakan Software QS (Quantitative System). Berikut adalah hasil yang diperoleh untuk tiap kota :
1. Surabaya
Modules-1 Modules-2 Input Data Solution Options Help – ASTS
---Traveling Salesman Solution for surabaya --- 06-15-2010 22:06:46 Page: 1 1 ==> 4 ==> 3 ==> 5 ==> 6 ==> 7 ==> 2 ==> 1
Minimized OBJ = 11.994 # Iterations = 43 CPU seconds = 963.2891
< OK > < Hardcopy > < Cancel >
Gambar 2 Hasil perhitungan QS untuk kota Surabaya
Lintasan terpendek yang diperoleh adalah 1 – 4 – 3 – 5 – 6 – 7 – 2 – 1 dengan total jarak tempuh sebesar 11,994 km.
2. Jakarta
Modules-1 Modules-2 Input Data Solution Options Help – ASTS
--- Traveling Salesman Solution for Jakarta--- 06-16-2010 01:19:32 Page: 1 1 ==> 2 ==> 3 ==> 5 ==> 6 ==> 8 ==> 7 ==> 4 ==> 1 Minimized OBJ = 21.749 # Iterations = 3 CPU seconds = 46.19043
< OK > < Hardcopy > < Cancel > Gambar 3 Hasil perhitungan QS untuk kota Jakarta
Lintasan terpendek yang diperoleh adalah 1 – 2 – 3 – 5 – 6 – 8 – 7 – 4 – 1 dengan total jarak tempuh sebesar 21,749 km.
3. Bandung
Modules-1 Modules-2 Input Data Solution Options Help – ASTS
---Traveling Salesman Solution for bandung---
06-16-2010 09:29:53 Page: 1 1 ==> 7 ==> 8 ==> 6 ==> 3 ==> 5 ==> 9 ==> 2 ==> 4 ==> 1 Minimized OBJ = 20.867 # Iterations = 47 CPU seconds = 355.0898
< OK > < Hardcopy > < Cancel > Gambar 4 Hasil perhitungan QS untuk kota bandung
5
Lintasan terpendek yang diperoleh adalah 1 – 7– 8 – 6 – 3 – 5 – 9 – 2 – 4 – 1 dengan total jarak tempuh sebesar 20,867 km.
6.2.3 Pengolahan Data dengan Metode Nearest Neighbor
Pengolahan jarak yang dilakukan adalah menggunakan metode Nearest Neighbor. Berikut adalah hasil yang diperoleh untuk tiap kota : 1. Surabaya
Table 4
Hasil Perhitungan Nearest Neighbor untuk Surabaya (km) S T J S T J S T J S T J 1 2 0.689 2 3 0.989 3 4 1.103 4 5 3.191 3 1.312 4 1.846 5 2.334 6 4.662 4 1.755 5 2.733 6 3.683 7 4.403 5 3.381 6 3.771 7 3.305 6 4.46 7 2.975 7 3.624 Lanjutan Tabel 4 S T J S T J S T J 5 6 1.567 6 7 1.571 7 1 3.624 7 2.169 Keterangan :
S = start (mulai perjalanan) T = tujuan
J = jarak antara masing-masing daerah
Dari hasil perhitungan diatas didapat lintasan terpendeknya adalah 1 – 2 – 3 – 4 – 5 – 6 – 7 – 1 dengan total jarak tempuh sebesar 12,734 km. 2. Jakarta
Table 5
Hasil Perhitungan Nearest Neighbor untuk Jakarta (km) S T J S T J S T J S T J 1 2 2.385 4 2 4.523 7 2 4.422 8 2 4.089 3 4.215 3 6.071 3 5.446 3 4.356 4 2.378 5 9.725 5 8.812 5 7.229 5 7.953 6 5.948 6 4.502 6 2.599 6 5.154 7 1.893 8 2.032 7 3.118 8 3.774 8 3.964 Lanjutan Tabel 5 S T J S T J S T J S T J 6 2 3.897 3 2 1.936 2 5 5.627 5 1 7.953 3 2.929 5 3.738 5 4.788 Keterangan :
S = start (mulai perjalanan) T = tujuan
J = jarak antara masing-masing daerah
Dari hasil perhitungan diatas didapat lintasan terpendeknya adalah 1 – 4 – 7 – 8 – 6 – 3 – 2 – 5 – 1 dengan total jarak tempuh sebesar 27,347 km.
3. Bandung
Table 6
Hasil Perhitungan Nearest Neighbor untuk Bandung (km) S T J S T J S T J S T J S T J 1 2 1.994 4 2 2.489 2 3 6.458 7 3 6.099 8 3 4.106 3 7.702 3 8.838 5 5.325 5 4.955 5 3.159 4 1.533 5 7.67 6 5.765 6 4.968 6 2.889 5 6.513 6 8.027 7 3.396 8 2.502 9 4.345 6 6.785 7 4.261 8 4.847 9 5.304 7 2.727 8 6.477 9 4.381 8 4.996 9 6.866 9 6.019 Lanjutan Tabel 6 S T J S T J S T J S T J 6 3 1.219 5 3 1.193 3 9 2.576 9 1 6.019 5 0.709 9 1.934
6
9 2.642
Keterangan :
S = start (mulai perjalanan) T = tujuan
J = jarak antara masing-masing daerah
Dari hasil perhitungan diatas didapat lintasan terpendeknya adalah 1 – 4 – 2 – 7 – 8 – 6 – 5 – 3 – 9 – 1 dengan total jarak tempuh 23,306 km.
6.3 Rekapitulasi Hasil Perhitungan Jalur yang Dilalui
Tabel 7
Rekapitulasi Hasil Perhitungan Jalur yang Dilalui
Kota
Perhitungan jalur (km) Penghematan jarak (km) Reguler Branch and bound Nearest neighbor Reguler - BB Reguler - NN Surabaya 12,734 11,994 12,734 0,740 0,000 Jakarta 35,393 21,749 27,347 13,644 8,046 Bandung 43,503 20,867 23,306 22,636 20,197
Tabel 8
Pesentase Efisiensi Penghematan Jarak
Kota Branch andbound Nearest neighbor Surabaya 5,811 % 0 % Jakarta 38,549 % 22,733 % Bandung 52,033 % 46,426 % Keterangan : % Efisiensi = x 100% (untuk metode branch and bound)
% Efisiensi = x 100% (untuk metode nearest neighbor)
7. Simulasi dengan MATLAB
Setelah dilakukan perhitungan dengan metode branch and bound menggunakan
software QS (Quantitative System) dan metode nearest neighbor, pada tahap ini dilakukan simulasi dengan menggunakan software MATLAB 7.4 sehingga dapat diketahui gambar lintasan terpendeknya. Form antar muka simulasi dibangun oleh Graphic User Interface (GUI) yang sudah tersedia dalam perangkat lunak MATLAB 7.4.
Gambar 5 Form awal simulasi lintasan terpendek
Berikut ini adalah masing-masing tools
yang digunakan pada gambar form yang
ditunjukan pada Gambar 5.
Tabel 9
Tools yang Digunakan pada Simulasi
Nama Tools Jenis Keterangan Banyak kotayang akan dilalui
Edit text
Digunakan sebagai tempat input nilai jumlah daerah yang akan dilalui oleh user Browse push
button
Digunakan untuk mencari peta area yang akan digunakan user
Run Push button Digunakan untuk memanggil fungsi menjalankan program Reset push button Digunakan untuk mengatur kembali ke pengaturan awal Exit Push button Digunakan untuk menutup simulasi Status
Program Edit text
Digunakan untuk melihat status program Berikut ini adalah hasil simulasi lintasan terpendek untuk masing-masing kota :
7
Gambar 6 Gambar lintasan terpendek untuk kotaSurabaya
Pada Gambar 6 dapat dilihat bahwa lintasan terpendek untuk kota Surabaya ditunjukkan dengan garis yang berwarna merah. Sehingga didapat lintasan terpendeknya adalah dari gubeng (1) – ngagel (4) – kertajaya (3) – klampis ngasem (5) – gebang putih (6) – mulyorejo (7) – airlangga (2) – gubeng (1). Sedangan garis-garis putih disekitarnya menunjukan iterasi.
Gambar 7 Gambar lintasan terpendek untuk kota Jakarta
Pada Gambar 7 dapat dilihat bahwa lintasan terpendek untuk kota Jakarta ditunjukkan dengan garis yang berwarna merah. Sehingga didapat lintasan terpendeknya adalah dari tanah abang (1) – menteng (2) – pegangsaan (3) – rawmangun (5) – tebet (6) – Jakarta selatan (8) – senayan (7) – gelora bung karno (4) – tanah abang (1). Sedangan garis-garis putih disekitarnya menunjukkan iterasi.
Gambar 8 Gambar lintasan terpendek untuk kota Bandung
Pada Gambar 8 dapat dilihat bahwa lintasan terpendek untuk kota Bandung ditunjukkan dengan garis yang berwarna merah. Sehingga didapat lintasan terpendeknya adalah dari antapani (1) – binong (7) – ancol (8) – cibadak (6) – coroyom (3) – kebon jeruk (5) – taman sari (9) – cicaheum (2) – arcamanik (4) – antapani (1). Sedangan garis-garis putih disekitarnya menunjukan iterasi.
8.
Kesimpulan dan saranKesimpulan yang diperoleh dari hasil
dan pembahasan adalah :
1. Jarak terpendek yang diperoleh setelah
melakukan perhitungan dengan metode
branch and bound dan metode nearest
neighbor untuk masing-masing lintasan
adalah :
Kota Metode branch and bound Metode nearest neighbor Surabaya 11,994 km 12,734 km Jakarta 21,749 km 27,347 km Bandung 20,867 km 23,306 km
2. Penghematan jarak yang diperoleh dari
masing-masing metode adalah :
Kota Penghematan jarak (km)Reguler - BB Reguler - NN
Surabaya 0,740 0,000
Jakarta 13,644 8,046
Bandung 22,636 20,197
8
3. Dari hasil diatas dapat disimpulkan
bahwa metode branch and bound lebih
baik
dibandingkan
dengan
metode
nearest neighbor.
Pada Tugas Akhir ini metode yang
digunakan untuk penyelesaian traveling
salesman problem adalah metode branch
and bound dan metode nearest neighbor.
Dimana kemungkinan hasil yang didapat
kurang optimal. Diharapkan pada penelitian
selanjutnya dapat menggunakan metode
yang lebih optimal untuk menyelesaikan
traveling salesman problem.
9. Daftar Pustaka
Amin, Rahma Aulia. Dkk, 2006. Traveling
Salesman Problem, Bandung: Institut
Teknologi
Bandung.
<
www.informatika.org/~rinaldi/Stmik/
Makalah/MakalahStmik30.pdf
>
Biggs, N. L., dkk. 1976. Graph Theory1736-1936. New York : Clarendon Press,
Oxford University.