Penyelesaian Travelling Salesman Problem dengan Algoritma Greedy Andi Lukman Dosen Teknik Informatika STIMED Nusa Palapa Makassar, Indonesia uke@stimednp.ac.id Rubinah AR Dosen Teknik Informatika AMIK Rizky Makassar, Indonesia rubykhaeril@gmail.com Nurhayati Mahasiswa Pasca Sarjana Teknik Elektro Universitas Hasanuddin Makassar, Indonesia wide_ocean86@yahoo.com Abstract Traveling Salesman Problem (TSP) merupakan salah satu masalah optimasi klasik dengan konsep yang sederhana namun rumit dipecahkan secara konvensional. Tujuannya agar menememukan rute perjalanan terpendek untuk melewati sejumlah kota dengan jalur tertentu sehingga setiap kota hanya terlewati satu kali dan perjalanan diakhiri dengan kembali ke kota semula. Proses penelitian menggunakan data input berupa kota dan jarak antar kota kemudian diolah menggunakan algoritma greedy dengan penanda sehingga didapatkan jalur terpedek dan total biayanya. Penanda dalam algoritma digunakan agar setiap kota hanya sekali dikunjungi. Pendekatan algoritma greedy dengan penanda memberikan solusi yang mempunyai kompleksitas waktu komputasi jauh lebih singkat dibandingkan dengan sejumlah algoritma lain seperti Algoritma Brute Force dan Dynamic Programming. Keywords: Traveling Salesman Problem; Algoritma Greedy; Penanda; Kompleksitas I. PENDAHULUAN Travelling Salesman Problem (TSP) merupakan salah satu permasalahan optimasi klasik yang sulit untuk dipecahkan secara konvensional. Penyelesaian eksak terhadap persoalan ini akan melibatkan algoritma yang mengharuskan mencari kemungkinan semua solusi yang ada [1]. Sehingga akan terjadi ledakan kombinasi dan membuat kompleksitas waktu dari eksekusi algoritma sangat tinggi. Masalah TSP melibatkan seorang sales yang harus melakukan kunjungan ke sejumlah kota dalam menjajakan produknya. Rangkaian kota-kota yang dikunjungi harus membentuk suatu jalur sedemikian sehingga kota-kota tersebut hanya boleh dilewati tepat satu kali dan kemudian kembali lagi ke kota awal. Kasus seperti ini sering diistilahkan dengan sirkuit hamilton, representasinya dikenal dengan istilah hamiltonian [2]. Penyelesaian terhadap permasalahan TSP ini adalah untuk memperoleh jalur terpendek. Penyelesaian eksak terhadap masalah TSP mengharuskan untuk melakukan perhitungan terhadap semua kemungkinan rute yang dapat diperoleh, kemudian memilih salah satu rute yang terpendek [1]. Untuk itu jika terdapat n kota yang harus dikunjungi, maka terdapat n! kombinasi kota yang akan dibandingkan jarak masing-masing. Dengan cara ini waktu komputasi yang dibutuhkan akan jauh meningkat seiring dengan bertambahnya jumlah kota yang harus dikunjungi. Sebagai ilustrasi, untuk 20 kota saja, diperlukan proses pencarian jalur sebanyak 2,4329x10 18 rute. Ini dapat disederhanakan dengan mengeliminasi kombinasi rute yang sama menggunakan rumus (n-1)!/2 [2], sehingga jalur yang akan dibandingkan sebanyak 6,08226x10 16 . Meskipun disederhanakan tetap terjadi ledakan kombinasi. Hal tersebut menunjukkan bahwa solusi eksak terhadap masalah TSP yang mempunyai banyak node sangat sulit dilakukan. Oleh karena itu dirancang sebuah solusi yang menggunakan Algoritma Greedy dengan penanda untuk memberikan pemecahan alternatif yang mempunyai waktu komputasi jauh lebih cepat. II. LANDASAN TEORI A. Algoritma Brute Force Algoritma Brute Force pada dasarnya adalah alur penyelesaian suatu permasalahan dengan cara berpikir yang sederhana, tidak membutuhkan suatu permikiran yang cukup lama untuk dapat menyelesaikan sebuah permasalahan tertentu. Karena alasan di atas, Algoritma ini banyak dipilih dalam penyelesaian sebuah permasalahan yang sederhana [2]. Cara kerja algoritma ini adalah membangkitkan seluruh kemungkinan solusi kemudian dipilih solusi yang paling optimal. Sehingga membutuhkan jumlah langkah yang besar dalam penyelesaian suatu permasalahan. Setiap solusi harus dibangkitkan terlebih sehingga kompleksitas algoritmanya sangat tinggi. Khususnya jika diterapkan pada TSP, jika terdapat n node maka kompleksitasnya adalah n!. Hal ini belum terasa jika jumlah nodenya hanya sedikit, namun jika jumlah nodenya banyak, maka akan terjadi ledakan kombinasi. Sebagai ilustrasi, misalnya jika computer mampu menyelesaikan 1 milyar proses per detik (10 9 /detik) maka untuk menyelesaikan TSP dengan 20 node atau kota, dibutuhkan waktu sebanyak (2,4329x10 18 )/10 9 detik yaitu 2,4329x10 9 detik atau lebih dari 77 tahun. Bagaimana jika terdapat 30 node, 50 node atau 1.000 node? Kompleksitas algoritma ini masih sangat cepat jika jumlah node hanya 10 kebawah. Dalam kasus TSP, solusi yang ditawarkan algoritma ini pasti solusi optimal atau jalur terpedek. Namun dengan ilustrasi diatas, kita tidak akan menunggu selama 77 tahun hanya untuk mendapatkan jalur terpendek dari 20 kota yang akan kita lalui. B. Dynamic Programming Dynamic programming juga merupakan algoritma yang digunakan untuk menemukan nilai optimal dari suatu permasalahan. Dalam dynamic programming, pemecahan suatu masalah dibagi menjadi beberapa tahapan (stage) sedemikian hingga solusi dari sebuah persoalan dapat dipandang sebagai serangkaian stage yang saling berkaitan. Prinsip algoritma ini yaitu dengan membuat memorisasi, jadi setiap langkah harus dicatat atau di mememorisasikan. Algoritma ini tetap merekam solusi-solusi sebelumnya sampai solusi terakhir kemudian membandingkan solusi mana yang paling optimal. Sponsor : STIMED Nusa Palapa Makassar