Penyelesaian Travelling Salesman Problem Dengan Algoritma Greedy
Penyelesaian Travelling Salesman Problem Dengan Algoritma Greedy
net/publication/281113346
CITATIONS READS
5 25,669
2 authors, including:
Andi Lukman
STIMED Nusa Palapa
4 PUBLICATIONS 12 CITATIONS
SEE PROFILE
All content following this page was uploaded by Andi Lukman on 21 August 2015.
Abstract—Traveling Salesman Problem (TSP) merupakan salah disederhanakan tetap terjadi ledakan kombinasi. Hal tersebut
satu masalah optimasi klasik dengan konsep yang sederhana menunjukkan bahwa solusi eksak terhadap masalah TSP yang
namun rumit dipecahkan secara konvensional. Tujuannya agar mempunyai banyak node sangat sulit dilakukan. Oleh karena
menememukan rute perjalanan terpendek untuk melewati itu dirancang sebuah solusi yang menggunakan Algoritma
sejumlah kota dengan jalur tertentu sehingga setiap kota hanya
Greedy dengan penanda untuk memberikan pemecahan
terlewati satu kali dan perjalanan diakhiri dengan kembali ke
kota semula. Proses penelitian menggunakan data input berupa alternatif yang mempunyai waktu komputasi jauh lebih cepat.
kota dan jarak antar kota kemudian diolah menggunakan
II. LANDASAN TEORI
algoritma greedy dengan penanda sehingga didapatkan jalur
terpedek dan total biayanya. Penanda dalam algoritma A. Algoritma Brute Force
digunakan agar setiap kota hanya sekali dikunjungi. Pendekatan
algoritma greedy dengan penanda memberikan solusi yang
Algoritma Brute Force pada dasarnya adalah alur
mempunyai kompleksitas waktu komputasi jauh lebih singkat penyelesaian suatu permasalahan dengan cara berpikir yang
dibandingkan dengan sejumlah algoritma lain seperti Algoritma sederhana, tidak membutuhkan suatu permikiran yang cukup
Brute Force dan Dynamic Programming. lama untuk dapat menyelesaikan sebuah permasalahan tertentu.
Karena alasan di atas, Algoritma ini banyak dipilih dalam
Keywords: Traveling Salesman Problem; Algoritma Greedy; penyelesaian sebuah permasalahan yang sederhana [2]. Cara kerja
Penanda; Kompleksitas algoritma ini adalah membangkitkan seluruh kemungkinan solusi
kemudian dipilih solusi yang paling optimal. Sehingga
I. PENDAHULUAN membutuhkan jumlah langkah yang besar dalam penyelesaian
Travelling Salesman Problem (TSP) merupakan salah satu suatu permasalahan.
permasalahan optimasi klasik yang sulit untuk dipecahkan Setiap solusi harus dibangkitkan terlebih sehingga
secara konvensional. Penyelesaian eksak terhadap persoalan kompleksitas algoritmanya sangat tinggi. Khususnya jika
ini akan melibatkan algoritma yang mengharuskan mencari diterapkan pada TSP, jika terdapat n node maka kompleksitasnya
adalah n!. Hal ini belum terasa jika jumlah nodenya hanya sedikit,
kemungkinan semua solusi yang ada [1]. Sehingga akan
namun jika jumlah nodenya banyak, maka akan terjadi ledakan
terjadi ledakan kombinasi dan membuat kompleksitas waktu
kombinasi. Sebagai ilustrasi, misalnya jika computer mampu
dari eksekusi algoritma sangat tinggi.
menyelesaikan 1 milyar proses per detik (109/detik) maka untuk
Masalah TSP melibatkan seorang sales yang harus menyelesaikan TSP dengan 20 node atau kota, dibutuhkan waktu
melakukan kunjungan ke sejumlah kota dalam menjajakan sebanyak (2,4329x1018)/109 detik yaitu 2,4329x109 detik atau
produknya. Rangkaian kota-kota yang dikunjungi harus lebih dari 77 tahun. Bagaimana jika terdapat 30 node, 50 node
membentuk suatu jalur sedemikian sehingga kota-kota atau 1.000 node?
tersebut hanya boleh dilewati tepat satu kali dan kemudian Kompleksitas algoritma ini masih sangat cepat jika jumlah
kembali lagi ke kota awal. Kasus seperti ini sering diistilahkan node hanya 10 kebawah. Dalam kasus TSP, solusi yang
dengan sirkuit hamilton, representasinya dikenal dengan ditawarkan algoritma ini pasti solusi optimal atau jalur
istilah hamiltonian [2]. Penyelesaian terhadap permasalahan terpedek. Namun dengan ilustrasi diatas, kita tidak akan
TSP ini adalah untuk memperoleh jalur terpendek. menunggu selama 77 tahun hanya untuk mendapatkan jalur
Penyelesaian eksak terhadap masalah TSP mengharuskan terpendek dari 20 kota yang akan kita lalui.
untuk melakukan perhitungan terhadap semua kemungkinan
B. Dynamic Programming
rute yang dapat diperoleh, kemudian memilih salah satu rute
yang terpendek [1]. Untuk itu jika terdapat n kota yang harus Dynamic programming juga merupakan algoritma yang
dikunjungi, maka terdapat n! kombinasi kota yang akan digunakan untuk menemukan nilai optimal dari suatu
dibandingkan jarak masing-masing. Dengan cara ini waktu permasalahan. Dalam dynamic programming, pemecahan
komputasi yang dibutuhkan akan jauh meningkat seiring suatu masalah dibagi menjadi beberapa tahapan (stage)
dengan bertambahnya jumlah kota yang harus dikunjungi. sedemikian hingga solusi dari sebuah persoalan dapat
Sebagai ilustrasi, untuk 20 kota saja, diperlukan proses dipandang sebagai serangkaian stage yang saling berkaitan.
pencarian jalur sebanyak 2,4329x1018 rute. Ini dapat Prinsip algoritma ini yaitu dengan membuat memorisasi, jadi
disederhanakan dengan mengeliminasi kombinasi rute yang setiap langkah harus dicatat atau di mememorisasikan.
sama menggunakan rumus (n-1)!/2 [2], sehingga jalur yang Algoritma ini tetap merekam solusi-solusi sebelumnya sampai
akan dibandingkan sebanyak 6,08226x1016. Meskipun solusi terakhir kemudian membandingkan solusi mana yang
paling optimal.
D C
2
Gambar 2. Graf TSP dengan empat node
Proses pelacakan / penentuan lintasan sesuai dengan pseudo
code dapat digambarkan dalam bentuk tree seperti berikut:
A
7 3 4
B C D
5 2
B D
8
B
7
A
Gambar 3. Contoh Pelacakan dalam bentuk tree
Dari Gambar 3, ditemukan solusi jalur terpendek adalah A-
C-D-B-A dengan total cost adalah 20. Kompleksitas yang
terjadi pada contoh diatas untuk mendapatkan solusi sebanyak
7 rute, yaitu A-B, A-C, A-D, C-B, C-D, D-B dan B-A.
Dengan cara yang sama, jika terdapat 3 node, maka
Gambar 1. Tampilan Input dan Output TSP
diperoleh kompleksitas sebanyak 4 rute, 5 node,
Untuk menggunakan aplikasi ini, pertama-tama user kompleksitasnya adalah 11, 10 node, kompleksitasnya adalah
memasukkan jumlah node atau kota yang akan dilalui 46. Hal tersebut membentuk sebuah pola sehingga dapat
kemudian menekan tombol masukkan jarak node. Setelah itu, disimpulkan bahwa untuk menghitung kompleksitas Algoritma
user cukup menginput jarak kota pada matriks segitiga atas Greedy dengan penanda dalam menyelesaikan TSP, jika
(batasnya adalah jarak kota = 0 yang secara otomatis diinput n kota, maka akan terjadi (n(n-1)/2)+1.
dibangkitkan oleh program), kemudian menekan tombol Jika dibandingkan dengan kompleksitas algoritma brute
process. Program secara otomatis menyesuaikan isi dari force dan dynamic programming, kompleksitas algoritma
matriks segitiga atas ke matriks segitiga bawah, kemudian greedy dengan penanda jauh lebih cepat. table berikut
mengolahnya. Output dari pengolahan data tersebut adalah merupakan ilustrasi perbandingan brute force, dynamic
jalur terpendek dan total cost. programming dan greedy dalam hal kompleksitas masing-
User menggunakan aplikasi ini untuk memecahkan TSP masing.
dengan data berbeda dengan menekan tombol coba lagi,
kemudian melakukan proses seperti di atas. Aplikasi ini dapat
memecahkan masalah traveling dengan ratusan ribu kota
n Brute Force Dynamic Greedy IV. KESIMPULAN
Programming Algoritma Brute Force dan Dynamic Programming dalam
5 120 800 11 memecahkan TSP selalu mendapatkan solusi paling optimal,
namun sangat terbatas dalam jumlah node atau kota yang dapat
10 3,6288 x 106 102.400 46 dikunjungi. Algoritma Brute Force masih maksimal digunakan
15 1,3077 x 10 12
7,3728 x 10 6
106 jika jumlah node < 10, sementara Dynamic Programming jika
jumlah node antara 10 sampai dengan 20 node. Selebihnya
20 2,433 x 1020 4,194 x 108 191 akan membutuhkan waktu komputasi yang tinggi, bahkan tak
terhingga (unlimited).
25 1,551 x 1025 2,097 x 1010 301
64 18
Berbeda dengan kedua algoritma diatas, greedy tidak selalu
50 3,041 x 10 2,8147 x 10 1.226 mendapatkan solusi yang paling optimal, namun algoritma ini
100 9.332 x 10157 1.267 x 1034 4.951 menjanjikan pasti menemukan solusi. Apalagi jika dibenturkan
dengan jumlah node yang banyak, maka diantara beberapa
307
1000 unlimited 1.0715 x 10 499.501 algoritma diatas, algoritma greedy dengan penandalah yang
1005 unlimited unlimited 504.511 paling cepat dalam memecahkan masalah TSP.