Semut adalah meniru perilaku ‘semut tiruan’ berjalan seputar grafik yang menunjukkan persoalan yang harus bisa diselesaikan. Ada banyak sekali penerapan
algoritma Semut dalam berbagai persoalan kehidupan sehari-hari. Persoalan tersebut adalah Traveling Salesman Problem TSP, Quadratic Assignment Problem QAP,
Job-shop Scheduling Problem JSP, dan sejumlah aplikasi lain mencakup pengaturan jalur kendaraan, pewarnaan graf dan network routing.
Situs Wikipedia menjelaskan bahwa algoritma Semut telah digunakan untuk menghasilkan penyelesaian yang mendekati optimal pada masalah salesman yang
melakukan perjalanan. Algoritma Semut lebih menguntungkan daripada pendekatan penguatan tiruan simulated annealing dan algoritma Genetik saat grafik mungkin
berubah secara dinamis; algoritma Semut dapat berjalan secara kontinyu dan menyesuaikan dengan perubahan secara waktu nyata real time.
1.4 Tujuan Penelitian
Penelitian ini secara umum bertujuan untuk mengkaji tentang Algoritma Semut dan menerapkannya untuk menyelesaikan Traveling Salesperson Problem sehingga
diperoleh perjalanan yang optimal dan mengimplementasikan ke dalam bahasa pemrograman.
1.5 Manfaat Penelitian
Dengan menggunakan Algoritma Semut untuk menyelesaikan masalah Traveling Salesperson dapat digunakan untuk meminimumkan biaya dalam menyelesaikan
beberapa kasus perjalanan salesperson dan mendapatkan lintasan terpendek yang optimal yang dapat diaplikasikan pada perjalanan wiraniaga, lengan robot
mengencangkan n buah mur pada beberapa buah peralatan mesin dalam sebuah jalur perakitan dan produksi n komoditi berbeda dalam sebuah siklus.
Universitas Sumatera Utara
1.6 Metode Penelitian
Dalam penyusunan tulisan ini, penulis menggunakan tahapan sebagai berikut:
1. Mendefinisikan istilah-istilah dalam algoritma dengan istilah pada teori graf.
2. Menyajikan persolan TSP dalam bentuk graf.
3. Menerapkan algoritma Semut untuk penyelesaian kasus Traveling Salesperson Problem.
4. Mengimplementasikan algoritma Semut pada kasus Traveling Salesperson Problem ke dalam bahasa pemrograman.
Universitas Sumatera Utara
BAB 2
LANDASAN TEORI
2.1 Teori Graf
2.2.1 Definisi Graf
Graf didefinisikan dengan G = V, E, di mana V adalah himpunan tidak kosong dari vertex-vertex = {v1, v2, v3,...} dan E himpunan sisi edges atau arcs yang
menghubungkan sepasang vertex {e1, e2, e3, ...}. Vertex dalam graf pada tulisan ini merupakan kota dan edge atau sisi merupakan rute atau jalan yang
menghubungkan antar kota.
B
D C
A
Gambar 2.1 Graf dengan Empat Vertex dan Tujuh Edge
Keterangan Gambar: G adalah graf dengan:
V = { a, b, c, d } E = { a, b, b, c, a, c, a, c, b, d, c, d, c, d }
= { e1, e2, e3, e4, e5, e6, e7}
Universitas Sumatera Utara
Berdasarkan orientasi arah pada sisi, secara umum graf dapat dibedakan atas dua jenis:
1. Graf tak-berarah undirected graph Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah.
2. Graf berarah directed graph atau digraph Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah.
B
D C
A
Gambar 2.2 Graf Berarah
2.2.2 Graf Hamilton
Graf Hamilton adalah graf yang memiliki sirkuit Hamilton, sedangkan graf yang hanya memiliki lintasan Hamilton disebut graf semi-Hamilton. Lintasan Hamilton
ialah lintasan yang melalui tiap vertex di dalam graf tepat satu kali. Sedangkan sirkuit Hamilton ialah sirkuit yang melalui tiap vertex di dalam graf tepat satu
kali, kecuali vertex asal sekaligus vertex akhir yang dilalui dua kali.
Teorema 2.1. Setiap graf lengkap adalah graf Hamilton.
Gambar 2.3 Penggambaran Graf Hamilton
a b
c d
a
c
b
d
a b
c
d a
b c
Universitas Sumatera Utara
Keterangan gambar: a graf yang memiliki lintasan Hamilton misal:c, b, a, d
b graf yang memiliki sirkuit Hamilton a, b, c, d, a c graf yang tidak memiliki lintasan maupu n sirkuit Hamilton
2.2.3 Representasi Graf Pada Komputer
Untuk mengimplementasikan suatu algoritma graf dalam bahasa pemrograman komputer, dibutuhkan suatu cara untuk menterjemahkan bentuk graf ke dalam
bentuk lain yang dikenal oleh komputer, sebab komputer tidak dapat mengenal graf dalam bentuk gambar graf biasa. Matriks dapat digunakan untuk menyatakan
suatu graf, jika graf dinyatakan sebagai matriks maka perhitungan-perhitungan yang diperlukan dapat dilakukan dengan mudah. Representasi graf pada komputer
dapat dilakukan dengan beberapa cara, yaitu:
1. Matriks Adjacency
Matriks adjacency didefinisikan sebagai berikut , misalkan A matriks berordo nxn n baris dan n kolom. Jika antara dua vertex terhubung adjacent maka
elemen matriks bernilai 1, dan sebaliknya jika tidak terhubung bernilai 0. Matriks adjacency dari graf Gambar 2.2 adalah:
A =
1 1
1 1
1 1
1 1
1 1
1 1
Jika graf yang diberikan adalah graf berbobot maka elemen matriks yang terhubung antara vertex adalah bobot graf.
Universitas Sumatera Utara
2. Matriks Incidency
Matriks incidence atau matriks bersisian adalah matriks yang
merepresentasikan hubungan antara vertex dan edge. Misalkan B adalah matriks dengan m baris untuk setiap vertex dan n kolom untuk setiap edge.
Jika vertex terhubung dengan edge, maka elemen matriks bernilai 1. Sebaliknya, jika vertex tidak terhubung dengan edge maka elemen matriks
bernilai 0. Matriks bersisian dari graf Gambar 2.2 adalah:
B =
1 1
1 1
1 1
1 1
1 1
1 1
1 1
Seperti halnya matriks kedekatan untuk matriks berbobot, untuk matriks
bersisian elemen dari matriks juga merupakan bobot dari setiap edge dari graf.
2.2 Traveling Salesperson Problem
Traveling Salesperson Problem TSP adalah masalah menemukan perjalanan tour terpendek pada n buah kota dan setiap kota saling berhubungan satu sama
lain. Seorang sales memulai perjalanannya dari satu kota, melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan.
Jarak antara setiap kota satu sama lain diketahui dan ingin meminimalkan ongkos yang harus dikeluarkannya untuk perjalanannya tersebut.
Dalam tulisan ini TSP yang dibahas adalah TSP simetris, yaitu jarak dari kota 1 ke kota 2 adalah sama dengan jarak dari kota 2 ke kota 1 dan graf yang
direpresentasikan sebagai permasalahannya merupakan graf yang terhubung secara penuh artinya pada setiap vertex yang ada pasti terhubung dengan vertex
yang lain.
Universitas Sumatera Utara
2.3 Sejarah Singkat Traveling Salesperson Problem