Algoritma Semut Aplikasi Pencari Rute Optimum Menggunakan Algoritma Semut Di Kampus Universitas Sumatera Utara Dengan Dukungan Sistem Informasi Geografis

2.4 Algoritma Semut

Algoritma Semut merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan rute optimum. Algoritma Semut diperkenalkan oleh Moyson dan Manderick pada tahun 1996 dan secara meluas dikembangkan oleh Marco Dorigo.

2.4.1 Cara Kerja Algoritma Semut Mencari Rute Terpendek

Untuk mendiskusikan algoritma semut, lingkungan yang akan kita gunakan adalah sebuah graf yang fully connected setiap verteks memiliki sisi ke verteks yang lain dan bidirectional setiap rute bisa ditempuh bolak-balik dua arah. Setiap sisi memiliki bobot yang menunjukkan jarak antara dua buah verteks yang dihubungkan oleh sisi tersebut. Algoritma Semut ini menggunakan sistem multiagen, yang berarti kita akan mengerahkan seluruh “semut buatan” yang masing-masingnya bergerak sebagai agen tunggal. Setiap semut memiliki daftar_kota yang akan menyimpan sisi-sisi yang sudah pernah ia lalui, dimana ia tidak diijinkan untuk melalui sisi yang sama dua kali dalam satu kali perjalanan. Semut mampu mengindera lingkungannya yang kompleks untuk mencari makanan dan kemudian kembali ke sarangnya dengan meninggalkan zat feromon pada rute-rute yang mereka lalui. Feromon adalah zat kimia yang berasal dari kelenjar endokrin dan digunakan oleh makhluk hidup untuk mengenali sesama jenis, individu lain, kelompok, dan untuk membantu proses reproduksi. Berbeda dengan hormon, feromon menyebar ke luar tubuh dapat mempengaruhi dan dikenali oleh individu lain yang sejenis satu spesies. Proses peninggalan feromon ini dikenal sebagai stigmergy, sebuah proses memodifikasi lingkungan yang tidak hanya bertujuan untuk mengingat jalan pulang ke sarang, tetapi juga memungkinkan para semut berkomunikasi dengan koloninya. Seiring waktu, bagaimanapun juga jejak feromon akan menguap dan akan mengurangi kekuatan daya tariknya. Lebih lama seekor semut pulang pergi melalui rute tersebut, lebih lama jugalah feromon menguap. Gambar 2.9 Perjalanan Semut Menemukan Sumber Makanan Sumber: Menentukan Jalur Terpendek Menggunakan Algoritma Semut, Muttakhiroh Gambar 2.9.a menujukkan perjalanan semut dalam menemukan rute terpendek dari sarang ke sumber makanan, terdapat dua kelompok semut yang melakukan perjalanan. Kelompok semut L berangkat dari arah kiri ke kanan dan kelompok semut R berangkat dari kanan ke kiri. Kedua kelompok berangkat dari titik yang sama dan dalam posisi pengambilan keputusan jalan sebelah mana yang akan diambil. Kelompok L membagi dua kelompok lagi. Sebagian melewati jalan atas dan sebagian melewati jalan bawah. Hal ini juga berlaku pada kelompok R. Gambar 2.9.b dan gambar 2.9.c menunjukkan bahwa kelompok semut berjalan pada kecepatan yang sama dengan meninggalkan feromon atau jejak kaki di jalan yang telah dilalui. Feromon yang ditinggalkan oleh kumpulan semut yang melewati jalan atas telah mengalami banyak penguapan karena semut yang melewati jalan atas berjumlah lebih sedikit dibandingkan jalan yang di bawah. Hal ini disebabkan jarak yang ditempuh lebih panjang dibandingkan jalan yang di bawah. Sedangkan feromon yang berada pada bagian bawah penguapannya cenderung lebih lama. Karena semut yang melewati jalan bawah lebih banyak daripada semut yang melewati jalan atas. Gambar 2.9.d menunjukkan bahwa semut-semut yang lain pada akhirnya memutuskan untuk melewati jalan bawah karena feromon yang ditinggalkan masih banyak, sedangkan feromon pada jalan atas sudah banyak menguap sehingga semut- semut tidak memilih jalan atas. Semakin banyak semut yang melewati jalan maka semakin banyak semut yang mengikutinya, semakin sedikit semut yang melewati jalan, maka feromon yang ditinggalkan semakin berkurang bahkan hilang. Dari sinilah kemudian terpilihlah rute terpendek antara sarang dan sumber makanan. Secara ringkas diperlukan beberapa proses agar semut mendapatkan rute optimal yaitu: 1. Semut akan berkeliling secara acak dari sarang hingga menemukan sumber makanan. 2. Ketika menemukan sumber makanan mereka kembali ke sarang sambil meninggalkan tanda menggunakan feromon. 3. Seekor semut yang menemukan rute optimal akan menempuh rute ini lebih cepat dari rekan-rekannya, melakukan round-trip lebih sering, dan dengan sendirinya meninggalkan feromon lebih banyak dari rute-rute yang lebih lambat ditempuh. 4. Feromon yang berkonsentrasi tinggi pada akhirnya akan menarik semut-semut lain untuk berpindah rute, menuju rute paling optimal, sedangkan rute lainnya akan ditinggalkan. 5. Pada akhirnya semua semut yang tadinya menempuh rute yang berbeda - beda akan beralih ke sebuah rute paling optimal dari sarang menuju ke tempat makanan.

2.4.2 Pseudocode Algoritma Semut

Pseudeocode Algoritma Semut ditunjukkan oleh tabel 2.1 dibawah ini: Tabel 2.1 Pseudocode Algoritma Semut Baris Pseudo code 1 initialization default data; 2 sourceVertex - input vertex; 3 destinationVertex - input vertex; 4 m - input ant used value; 5 NCMax - input cycle used value; 6 For i - 1 To NCMax Do 7 For j - m Do 8 While currentVertex destinationVertex do 9 q - random from 0..1; 10 If q = q0 then 11 Calculate probability; 12 Find vertex that has maximum probability has not used; 13 currentVertex - new vertex; 14 Update daftar_kota; 15 Else 16 Calculate probability; 17 Calculate probability cumulative for currentVertex; 18 prob - random from 0..1; 19 Find the closest value based on cumulative value and probability; 20 currentVertex - new vertex; 21 Update daftar_kota; 22 End If 23 End While 24 Update Local Pheromone; 25 End For 26 Calculate total distance each ant; 27 Find the best result for current cycle; 28 Update Global Pheromone; 39 End For 30 Show the best result;

2.5 Sistem Informasi Geografis