15
Dinamika Teknologi
έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β
bagian ini menjelaskan mengenai Metaheuristic. Metaheuristic yang dipakai dalam penelitian ini
yaitu Algoritma Tabu Search. Lalu yang kedua, dibahas pula mengenai Struktur Memori. Yang
ketiga dibahas mengenai Fungsi Evaluasi. Yang terakhir, dalam bagian ini dibahas pula mengenai
Google Maps API. Google Maps API yang dibahas terdiri atas Directions Service dan Distance Matrix.
2.1 Algoritma Metaheuristik
Pada Computer Science dan Mathematical optimization, metaheuristik merupakan heuristic
yang dirancang untuk menemukan, menghasilkan, atau memilih heuristic yang menghasilkan solusi
yang lebih baik untuk melakukan optimisasi dari suatu masalah. Dibandingkan dengan algoritma
optimisasi dan metode iterative, metaheuristik tidak menjamin solusi global yang optimal ditemukan
untuk tiap masalah. Kebanyakan metaheuristik memakai metode stochastic optmitization dimana
solusi yang dihasilkan bergantung pada variable yang dihasilkan secara random pada inisialisasi
awal.
2.2 Algoritma Tabu Search
Tabu Search merupakan single-solution based metaheuristik yang diperkenalkan oleh Fred Glover
pada tahun 1986. Tabu search sangat popular di tahun 90an, dan sampai sekarang masih menjadi
salah satu single-solution based metaheuristik yang banyak dipakai untuk menyelesaikan permasalahan
optimisasi. Tabu search merupakan metode metaheuristik yang dilandaskan pada pencarian
local local search. Untuk menghindari proses pencarian kembali ke kandidat solusi yang pernah
dikunjungi, Tabu Search mengingat jalur pencarian yang telah dilewati. Kandidat solusi yang sudah
dilewati disimpan dalam memori, yang disebut Tabu list, dan tidak dilewati lagi karena itu disebut
Tabu.
2.3.1 Struktur Memori
Penggunaan struktur memori memiliki basis atribut-atribut fleksibel maupun atribut-atribut kaku
yang dirancang untuk membolehkan sebuah kriteria evaluasi dan hasil pencarian di masa lalu
dieksploitasi lebih mendalam. Kategori struktur memori ini dapat dibagi menjadi tiga:
1. Short Term: memory ini berisi kumpulan solusi yang baru saja dipertimbangkan. Jika sebuah
potensi solusi baru muncul, maka solusi ini tidak dapat dikunjungi lagi hingga expiration
point tercapai. 2. Intermediate Term: aturan memory ini
dimaksudkan agar pencarian lebih terfokus terhadap daerah yang menjanjikan dari ruang
pencarian. 3. Long Term: memory ini menggunakan
diversifikasi yang bertujuan untuk mendorong pencarian ke daerah yang baru misalnya
melakukan reset jika pencarian stuck atau kriteria tertinggi masih belum juga terpenuhi.
2.3.2 Fungsi Evaluasi
Fungsi evaluasi, biasa disebut heuristic evaluation function atau static evaluation function
adalah fungsi yang digunakan oleh suatu program atau algoritma untuk memperkirakan value atau
nilai kebaikan dari solusi tertentu. Fungsi evaluasi ini biasanya didesain untuk lebih mementingkan
kecepatan proses daripada akurasi, fungsi ini hanya melihat pada satu posisi tertentu dan tidak melihat
atau mencari langkah lain yang memungkinkan static. Tujuan utama dari penggunaan fungsi
evaluasi ini adalah untuk mengurangi waktu komputasi yang dibutuhkan untuk menyelesaikan
suatu masalah.
2.3 Google Maps API
Pada bagian ini dijelaskan beberapa hal mengenai Google Maps API. Google Maps API
adalah fitur yang disediakan oleh Google yang memungkinkan
para penggunanya
untuk menampilkan Google Maps pada halaman web atau
mengambil data tertentu dari Google Maps.
2.3.1 Directions Service
Fitur directions service ini termasuk dalam Web Service API yang disediakan oleh Google.
Directions service ini dapat digunakan untuk menghitung arah sesuai dengan metode transportasi
yang digunakan driving, transit, dan lain lain dengan menggunakan objek DirectionService.
Objek ini berkomunikasi dengan Google Maps API Directions Service yang menerima request arah dan
mengeluarkan hasil perhitungan.
2.3.2 Distance Matrix
Fitur Distance Matrix ini digunakan untuk menghitung jarak dan durasi dari perjalanan antar
berbagai asal dan tujuan dengan menggunakan mode travel tertentu. Service ini tidak
16
Dinamika Teknologi
έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β
mengembalikan hasil berupa informasi rute secara detail tetapi hanya mengembalikan nilai jarak dan
durasi dari perjalanan.
ALGORITMA TABU SEARCH
Pada bagian ini akan dijelaskan mengenai algoritma utama yang mendasari pembuatan
penelitian ini, yaitu algoritma Tabu Search, penerapan algoritma Tabu Search pada
permasalahan Travelling Salesman Problem, dan penelitian terkait tentang penerapan algoritma Tabu
Search pada penjadwalan wisata.
3.1 Algoritma Umum Tabu Search
Metode pencarian tabu berprinsip pada penggunaan memori sebagai elemen esensial dalam
pencariannya, karena pencarian Tabu tidak hanya menyimpan nilai sebuah solusi terbaik seperti
kebanyakan metode pencarian, namun juga menyimpan informasi selama pencarian melalui
solusi terakhir yang dikunjungi. Sebuah informasi akan digunakan sebagai petunjuk untuk bergerak
dari i ke solusi selanjutnya dalam Ni. Penggunaan memori sebagai pembatas dalam pemilihan
beberapa subset dari Ni dengan membatasi pergerakan ke beberapa solusi tetangga.
3.2 Komponen Tabu Search
Pada bagian ini dijelaskan mengenai beberapa komponen dari algoritma Tabu Search. Sebelum
mempelajari cara kerja algoritma Tabu Search untuk permasalahan lebih lanjut, ada beberapa
elemen utama yang sering digunakan dalam algoritma Tabu Search yang terdiri dari:
1. Representasi solusi 2. Fungsi cost
3. Neighborhood tetangga 4. Tabu List memori jangka pendek
5. Aspiration criteria 6. Long term memory memori jangka panjang
3.3 Tracing Algoritma Tabu Search pada Travelling Salesman Problem TSP
Travelling Salesman Problem merupakan salah satu permasalahan optimasi kombinatorial yang
biasa terjadi. Permasalahan Travelling Salesman Problem mengenai seseorang yang harus
mengunjungi semua kota tepat satu kali dan kembali ke kota asal. Beberapa contoh penerapan Travelling
Salesman Problem yang muncul dalam kehidupan sehari-hari, misalnya efisiensi penjadwalan
pengiriman koran, produksi barang, pemasangan jaringan komunikasi, dan masalah transportasi.
Contoh kasus TSP: Seorang Salesman PT. XX bertugas untuk mengecek ketersediaan suku cadang
pada masingmasing pos PT. XX. Salesman yang bepergian mulai dari PT. XX 0 ke Pos Sei. Raya
1, Pos Adisucipto 2, Pos Siantan 3, Pos Gajah Mada 4 dan pos Kota Baru 5, kemudian
Salesman harus kembali lagi ke PT. XX. Pos-pos tersebut harus dikunjungi tepat satu kali dengan
tujuan perjalanan meminimumkan jarak dan waktu tempuh.
Gambar 1. Ilustrasi Perjalanan Salesman PT. XX
Gambar 1 merupakan hubungan antar pos pada kasus PT. XX dan tabel 1 merupakan nilai jarak dan
waktu secara keseluruhan.
Tabel 1. Jarak dan Waktu Secara Keseluruhan
Langkah yang
dilakukan adalah
mengoptimalkan jarak tempuh dan waktu perjalanan salesman PT. XX tersebut. Langkah
pertama yang dilakukan adalah menentukan rute awal dan menetapkannya sebagai solusi terbaik
untuk tahap awal.
Tabel 2. Pencarian Jalur Alternatif Iterasi 1
Pertukaran Rute
Perjalanan Jarak
Tempuh km
Waktu Perjalanan
menit
Tukar 4,1 0-1-4-2-5-3-0
52 78.1
Tukar 4,2 0-2-1-4-5-3-0
41.1 61.8
Tukar 4,5 0-5-1-2-4-3-0
44.6 67.1
Tukar 4,3 0-3-1-2-5-4-0
41.3 62.1
Tukar 1,2 0-4-2-1-5-3-0
46.3 69.6
Tukar 1,5 0-4-5-2-1-3-0
41.3 62.1
Tukar 1,3 0-4-3-2-5-1-0
48.3 72.6
Tukar 2,5 0-4-1-5-2-3-0
49.8 74.9
Tukar 2,3 0-4-1-3-5-2-0
49.2 73.9
Tukar 5,3 0-4-1-2-3-5-0
41.3 62.2
17
Dinamika Teknologi
έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β
Pada iterasi ke-1 ini diperoleh nilai terbaik adalah km untuk jarak tempuh dan menit untuk
waktu perjalanan yakni pada Jalur ke-2. Selanjutnya lakukan iterasi ke 2, untuk perhitungan iterasi ke 2
sampai iterasi ke 60 juga menggunakan perhitungan yang sama seperti iterasi 1 sesuai dengan rute yang
dilalui Salesman tersebut. Setelah dilakukan perhitungan sebanyak 60 iterasi, maka diperoleh
jarak tempuh dan waktu perjalanan minimum pada setiap iterasi tersebut
3.4 Penerapan Algoritma Tabu Search pada Penjadwalan Wisata