LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

OPTIMASI RUTE ARMADA KEBERSIHAN KOTA GORONTALO MENGGUNAKAN ANT COLONY OPTIMIZATION. Zulfikar Hasan, Novianita Achmad, Nurwan

JURNAL IT STMIK HANDAYANI

LOGIKA DAN ALGORITMA

BAB 2 LANDASAN TEORI

PENCARIAN RUTE TERPENDEK OBJEK WISATA DI MAGELANG MENGGUNAKAN ANT COLONY OPTIMIZATION (ACO)

PEMECAHAN MASALAH MINIMUM SPANNING TREE DENGAN MENGGUNAKAN ALGORITMA SEMUT SKRIPSI ADE MAHENDRA PUTRA NASUTION

BAB 2 LANDASAN TEORI

G r a f. Pendahuluan. Oleh: Panca Mudjirahardjo. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.

SISTEM ALOKASI PENYIMPANAN BARANG PADA GUDANG

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. yang tak kosong yang anggotanya disebut vertex, dan E adalah himpunan yang

BAB 2 LANDASAN TEORI

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

ALGORITMA SEMUT PADA PENJADWALAN PRODUKSI JOBSHOP

TINJAUAN PUSTAKA. Pada bab ini akan dijelaskan beberapa konsep dasar teori graf dan dimensi partisi

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

2. TINJAUAN PUSTAKA. Chartrand dan Zhang (2005) yaitu sebagai berikut: himpunan tak kosong dan berhingga dari objek-objek yang disebut titik

BAB IV ANALISIS MASALAH

BAB 2 LANDASAN TEORI

Struktur dan Organisasi Data 2 G R A P H

BAB I PENDAHULUAN. himpunan bagian bilangan cacah yang disebut label. Pertama kali diperkenalkan

Pemanfaatan Algoritma Semut untuk Penyelesaian Masalah Pewarnaan Graf

Bab 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Penyelesaian Traveling Salesperson Problem dengan Menggunakan Algoritma Semut

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

ANT COLONY OPTIMIZATION

PENEMUAN JALUR TERPENDEK DENGAN ALGORITMA ANT COLONY. Budi Triandi

Matematika dan Statistika

Graf dan Analisa Algoritma. Pertemuan #01 - Dasar-Dasar Teori Graf Universitas Gunadarma 2017

PENDAHULUAN MODUL I. 1 Teori Graph Pendahuluan Aswad 2013 Blog: 1.

BAB 2 LANDASAN TEORI

Analogi Pembunuhan Berantai Sebagai Graf Dalam Investigasi Kasus

Graf dan Pengambilan Rencana Hidup

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI ALOKASI JADWAL MATA PELAJARAN SMU MENGGUNAKAN ALGORITMA KOLONI SEMUT (AKS)

Graf. Program Studi Teknik Informatika FTI-ITP

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

TEORI GRAF UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Selasa, 13 Desember 2016

BAB 2 TINJAUAN PUSTAKA

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

APLIKASI PEWARNAAN SIMPUL GRAF UNTUK MENGATASI KONFLIK PENJADWALAN MATA KULIAH DI FMIPA UNY

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

ANALISIS ALGORITMA ANT SYSTEM (AS) PADA KASUS TRAVELLING SALESMAN PROBLEM (TSP)

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

BAB II KAJIAN TEORI. semut, dan travelling salesman problem. Teori graf digunakan untuk menerapkan

PENGETAHUAN DASAR TEORI GRAF

Dasar-Dasar Teori Graf. Sistem Informasi Universitas Gunadarma 2012/2013

LANDASAN TEORI. Pada bab ini akan diberikan beberapa konsep dasar teori graf dan bilangan. kromatik lokasi sebagai landasan teori pada penelitian ini.

Discrete Mathematics & Its Applications Chapter 10 : Graphs. Fahrul Usman Institut Teknologi Bandung Pengajaran Matematika

BAB 2 LANDASAN TEORI. 2.1 Penugasan Sebagai Masalah Matching Bobot Maksimum Dalam Graf Bipartisi Lengkap Berlabel

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. dirasakan peranannya, terutama pada sektor sistem komunikasi dan

BAB 2 LANDASAN TEORI. Perancangan sistem merupakan penguraian suatu sistem informasi

ANALISIS ALGORITMA SEMUT UNTUK PEMECAHAN MASALAH PENUGASAN

STUDI PERBANDINGAN ALGORITMA CHEAPEST INSERTION HEURISTIC DAN ANT COLONY SYSTEM DALAM PEMECAHAN TRAVELLING SALESMAN PROBLEM

Graf. Matematika Diskrit. Materi ke-5

BAB II LANDASAN TEORI. definisi, teorema, serta istilah yang diperlukan dalam penelitian ini. Pada bab ini

BAB 2 LANDASAN TEORI

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi, istilah istilah yang berhubungan dengan materi

Representasi Graph Isomorfisme. sub-bab 8.3

BAB II LANDASAN TEORI

Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek

Penggunaan Graf dalam Algoritma Semut untuk Melakukan Optimisasi

Analisa Pencarian Jarak Terpendek Lokasi Wisata di Provinsi Sumatera Utara Menggunakan Algoritma Ant Colony Optimization (ACO)

Bagaimana merepresentasikan struktur berikut? A E

II. KONSEP DASAR GRAF DAN GRAF POHON. Graf G adalah himpunan terurut ( V(G), E(G)), dengan V(G) menyatakan

Aplikasi Algoritma Prim dalam Penentuan Pohon Merentang Minimum untuk Jaringan Pipa PDAM Kota Tangerang

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH

BAB II TINJAUAN PUSTAKA. kromatik lokasi sebagai landasan teori dari penelitian ini.

HAND OUT MATA KULIAH TEORI GRAF (MT 424) JILID SATU. Oleh: Kartika Yulianti, S.Pd., M.Si.

II. TINJAUAN PUSTAKA. kromatik lokasi pada suatu graf sebagai landasan teori pada penelitian ini

Kode MK/ Matematika Diskrit

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Algoritma Prim sebagai Maze Generation Algorithm

IMPLEMENTASI ALGORITMA SEMUT UNTUK PENCARIAN RUTE TERPENDEK BERBASIS SISTEM INFORMASI GEOGRAFIS

BAB 2 LANDASAN TEORI

Aplikasi Pohon Merentang Minimum dalam Rute Jalur Kereta Api di Pulau Jawa

BAB 2 DEGREE CONSTRAINED MINIMUM SPANNING TREE. Pada bab ini diberikan beberapa konsep dasar seperti beberapa definisi dan teorema

II. TINJAUAN PUSTAKA. Graf G adalah suatu struktur (V,E) dengan V(G) = {v 1, v 2, v 3,.., v n } himpunan

TEORI GRAF DALAM MEREPRESENTASIKAN DESAIN WEB

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

OPTIMISASI POLA DISTRIBUSI DENGAN LOGIKAFUZZY DAN ALGORITMA SEMUT PADA PT. SRI ANEKA PANGAN NUSANTARA TUGAS AKHIR SKRIPSI

Transkripsi:

Bab 2 LANDASAN TEORI 2.1. Konsep Dasar Graf Definisi Graf Suatu graf G terdiri atas himpunan yang tidak kosong dari elemen elemen yang disebut titik atau simpul (vertex), dan suatu daftar pasangan vertex yang tidak terurut disebut sisi (edge). Himpunan vertex dari suatu graf G dinotasikan dengan V, dan daftar himpunan edge dari graf tersebut dinotasikan dengan E. Untuk selanjutnya suatu graf G dapat dinotasikan dengan G = (V, E). (Wilson, R. J dan Watkhins, J. J, 1990). 2.1.1. Jenis-jenis Graf Graf dapat dikelompokkan menjadi beberapa kategori (jenis) bergantung dari sudut pandang pengelompokannya. Pengelompokkan graf dapat dipandang berdasarkan ada tidaknya sisa ganda, berdasarkan jumlah simpul, atau berdasarkan orientasi arah pada sisi. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf dapat digolongkan menjadi:

2.1.1.1. Graf Sederhanaa (simple graph) Graf sederhana merupakan graf yang tidak mengandung gelang maupun sisi ganda. Graf sederhana ini sangat dekat dengan situasi-situasi yang ada di sekitar. Oleh karena itu, untuk memudahkan persoalan graf sederhana dikelompokkan lagi menjadi beberapa jenis yaitu: 2.1.1.1.1. Graf Lengkap (complete graph) Graf lengkap adalah graf sederhana yang tiap simpulnya mempunyai sisi ke semua simpul lainnya. Graf lengkap dengan n buah simpul dilambangkann dengan K n berderajat n-1. Berikut ini Gambar enam buah buah graf lengkap. K 1 K 2 K 3 K 4 K 5 K 6 Gambar 2.1 Graf Lengkap Jumlah sisi pada graf lengkap yang terdiri dari n buah simpul adalah n(n-1)/2. 2.1.1.1.2. Graf Lingkaran Graf lingkaran adalah graf sedehana yang setiap simpulnya berderajat dua. Graf lingkaran dengan n simpul dilambangkan dengan C n. Jika simpul-simpul pada C n adalah V 1, V 2, V 3,,V n, maka sisi-sisinya adalah (V 1, V 2 ), (V 2, V 3 ),,(V n-1, V n ), dan (V n, V 1 ). Dengan kata lain, ada sisi dari simpul terakhir V n ke simpul pertama V 1.

Gambar 2.2 Graf Lingkaran 2.1.1.1.3. Graf Teratur (regular graph) Graf yang setiap simpulnya mempunyai derajat yang sama disebut graf teratur. Apabila derajat setiap simpul adalah r, maka graf tersebut disebut sebagai graf teratur derajat r. Gambar 2.3 Graf Teratur Berderajat 3 2.1.1.2. Graf Tak Sederhana (unsimple graph) Graf tak sederhana merupakan graf yang mengandung gelang maupun sisi ganda. Berdasarkan jumlah simpul, suatu graf secara umum dapat digolongkan menjadi: 2.1.1.3. Graf Berhingga (limited graph) Graf berhingga adalah graf yang jumlah simpulnya n berhingga.

2.1.1.4. Graf Tak Berhingga (unlimited graph) Graf tak berhingga adalah graf yang jumlah simpulnya n tak-hingga. Berdasarkan ada tidaknya orientasi arah pada sisi, graf dapat digolongkan menjadi: 2.1.1.5. Graf Tak-Berarah (undirected graph atau undigraph) Graf tak berarah merupakan graf yang sisinya tidak mempunyai orientasi arah. Pada graf tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi (V i, V j ) = (V j, V i ). Gambar 2.4 Graf tak berarah 2.1.1.6. Graf Berarah (directed graph atau digraph) Graf berarah merupakan graf yang setiap sisinya diberikan orientasi arah. Sisi pada graf berarah biasanya disebut busur (arc). Gambar 2.5 Graf berarah

2.1.3. Istilah dalam Graf Beberapa istilah yang biasa digunakan dalam graf. 2.1.3.1. Bertetangga (adjacent) Jika dua buah simpul pada graf tak berarah G dikatakan bertetangga, maka ke duanya terhubung langsung dengan sebuah sisi. Dengan kata lain jika V i bertetangga dengan V k, maka (V i, V k ) adalah sebuah sisi pada graf G. 1 2 3 4 Gambar 2.6 Graf Tak Berarah Pada Gambar 2.6 simpul 4 bertetangga dengan simpul 2 dan 3, tetapi tidak bertetangga dengan simpul 1. 2.1.3.2. Bersisian (incident) Untuk sembarang sisi e = (V i, V k ), sisi e dikatakan bersisian dengan simpul V i dan simpul V k. Pada Gambar 2.6 sisi (2,3) bersisian dengan simpul 2 dan simpul 3, tetapi sisi (2,4) tidak bersisian dengan simpul 1. 2.1.3.3. Derajat (degree) Derajat suatu simpul pada graf tak-berarah adalah jumlah sisi yang bersisian dengan simpul tersebut.

Notasi: d(v) menyatakan derajat simpul v Pada Gambar 2.6 dapat dilihat bahwa, d(1) = d(4) = 2 dan d(2) = d(3) =3 d(5) = 0 Pada graf berarah, derajat simpul v dinyatakan dengan d in(v) dan d out(v) yang dalam hal ini: a. d in (v) = derajat masuk = jumlah busur yang masuk ke simpul v b. d out (v) = derajat keluar = jumlah busur yang ke luar dari simpul v dan c. d(v) = d in (v) + d out (v) 2.1.3.4. Jalan (walk) Jika u dan v adalah dua simpul (vertex) dalam graf G, maka sebuah jalan (walk) u-v adalah urutan bolak-balik simpul (vertex) dan sisi (edges) dimulai dari u dan berakhir di simpul v. Gambar 2.7 adalah contoh sebuah jalan (walk) a-e: a,b,c,b,e. Dengan kata lain, mulai dari simpul (vertex) a dan berjalan ke simpul (vertex) b. Dari b jalan ke c dan kemudian kembali ke b lagi. Kemudian jalan diakhiri di e. Perhatikan bahwa simpul berturut-turut di jalan-jalan yang berdekatan satu sama lain.dalam jalan (walk) diperbolehkan mengulang simpul (vertex) dan sisi (edges). Jumlah sisi dari sebuah jalan (walk) disebut panjangnya (length). Panjang dari jalan (walk) a,b,c,b,e adalah 4. a b g c f e d Gambar 2.7 Jalan (walk) dalam graf

2.1.3.5. Jejak (trail) Jejak (trail) dalam graf adalah sebuah jalan (walk) yang sisinya (edges) tidak diulang. Sebagai contoh, jalan (walk) a-b: a,b, c, d, f, g, b pada Gambar 2.7 adalah jejak (trail). Dalam hal ini tidak ada sisi (edges) yang diulang tapi berisi satu simpul (vertex) berulang yaitu b. 2.1.3.6. Lintasan (path) Sebuah jalan (walk) dalam graf tanpa simpul (vertex) yang diulang disebut lintasan (path). Tanpa simpul (vertex) yang diulang sebuah lintasan (path) tidak dapat memiliki sisi (edges) yang diulang dari itu lintasan (path) dapat disebut juga dengan jejak (trail). Sebuah lintasan (path) yang awal dan akhir adalah simpul (vertex) yang sama disebut sirkuit (cycle). Sebagai contoh jalan (walk) a,b,c,e,a pada Gambar 2.7 adalah sirkuit (cycle). 2.1.4. Representasi Matrik dari Suatu Graf Dengan mempertimbangkan keterhubungan antara suatu simpul (vertex) dengan simpul (vertex) yang lain, ataupun suatu simpul (vertex) dengan garis (edge), sebuah graf G dapat direpresentasikan ke dalam bentuk matrik, baik adjency matrix maupun incidence matrix. Sedangkan distance matrix (matrik jarak) dapat digunakan untuk menyatakan bobot dari setiap garis (edge) yang ada dalam suatu graf G baik berupa jarak, waktu maupun biaya. matrik jarak. Adapun representasi matrik yang akan dijelaskan pada skripsi ini adalah

2.1.4.1. Matrik Jarak (distance matrix) Matrik jarak (distance matrix) dari suatu graf G dengan n simpul (vertex) dan dinotasikan dengan W = (w ij ) berordo n x n di mana: Panjang dari (v i,v j ), untuk (v i,v j ) E w ij, untuk lainnya Dengan panjang dari (v i,v j ) adalah bobot dari setiap garis (edge) yang ada pada graf G tersebut, baik berupa jarak, waktu maupun biaya. Pada graf berarah matrik jaraknya tidak simetris dan pada graf tidak berarah matrik jaraknya simetris. 2.2. Pohon (Tree) Definisi Pohon (Tree) Dalam graf G = (V, E), sebuah lintasan (path) yang awal dan akhir adalah simpul (vertex) yang sama disebut sirkuit (cycle). Jika tidak memiliki sirkuit, maka graf tersebut dinamakan hutan (forest). Dalam sebuah hutan, simpul (vertex) berderajat satu disebut titik akhir atau daun (leaf). Hutan yang terhubung adalah pohon (tree). (David Joyner, Minh Van Nguyen dan Nathann Cohen, 2010)

Gambar 2.8 Contoh-contoh Tree 2.3. Spanning Tree Sebuah pohon rentangan (spanning tree) dari graf tak berarah yang terdiri dari n titik (nodes) adalah pasangan n-1 garis (edges) yang menghubungkan semua titik (nodes). Teorema 2.1. Jika T = (V,E) adalah sebuah graf dengan n simpul (vertex), maka pernyataan berikut adalah ekuivalen: 1. T adalah sebuah pohon (tree) 2. T tidak sirkuit dan mempunyai n-1 sisi (edges) 3. T terhubung dan mempunyai n-1 sisi (edges) 4. Setiap sisi (edges) dari T adalah titik potong (cut set) 5. Untuk setiap u,v Є V hanya satu lintasan (path) u-v 6. Untuk setiap sisi (edges) e yang baru, yang bergabung T + e mempunyai satu sirkuit (cycle). 2.4. Minimum Spanning Tree Minimum spanning tree adalah sebuah pohon rentangan (spanning tree) dari graf berbobot yang memiliki jumlah bobot sisi terkecil yang menghubungkan semua vertex dalam tree tersebut dari semua kemungkinan pohon rentangan (spanning tree) yang bisa dibuat.

Minimum spanning tree merupakan teknik yang digunakan untuk mencari jalur terpendek dari sebuah lintasan, dengan kata lain adalah teknik yang digunakan untuk mencari solusi membangun sebuah jaringan agar tidak memakan banyak jalur seperti pemasangan kabel, rute penerbangan serta penugasan. Contoh pembentukan pohon rentangan (spanning tree) dari sebuah graf dapat dilihat pada Gambar 2.9: Graf Terhubung Spanning Tree-1 Spanning Tree-2 Spanning Tree-4 Spanning Tree-3 Gambar 2.9 Sebuah Graf yang menjadi spanning tree Permasalahan umum dari minimum spanning tree adalah mencari minimum spanning tree dari setiap ruas (edge) suatu graf yang membentuk pohon (tree). Untuk mendapatkan solusi yang diharapkan, akan dipilih ruas menurut kriteria optimisasi yang menghasilkan jarak minimum. Untuk masalah minimum spanning tree, syarat graf dapat dicari minimum spanning tree-nya adalah: a. Graf harus terhubung. b. Ruasnya punya bobot/nilai terkecil c. Tidak membentuk sirkuit

Teknik yang umum digunakan untuk mendapatkan pohon rentangan minimal adalah algoritma Solin dan Kruskal (Astuti, 2005). a. Algoritma Solin adalah: 1. Urutkan ruas dari G menurut bobotnya, dari besar ke kecil. 2. Lakukan penghapusan ruas berdasarkan urutan yang sudah dilakukan, dengan ketentuan bahwa penghapusan ruas tersebut tidak menyebabkan graf menjadi tidak terhubung. b. Algoritma Kruskal adalah: 1. Urutkan ruas dari G menurut bobotnya, dari kecil ke besar. 2. Lakukan penambahan ruas berdasarkan urutan yang sudah dilakukan, dengan ketentuan bahwa penambahan ruas tersebut tidak menyebabkan adanya sirkuit. 2.5. Algoritma Semut Algoritma semut dikembangkan oleh Marco Dorigo (1996) yang merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan jalur terbaik melalui grafik. Algoritma ini terinspirasi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan. Algoritma semut, atau Ant Colony Optimization, sebagai sebuah simulasi multi agen yang menggunakan metafora alami semut untuk menyelesaikan problem ruang fisik (Dorigo, 1996). Algoritma Semut diadopsi dari perilaku koloni semut yang dikenal sebagai sistem semut yang secara alamiah mampu menemukan rute terpendek dalam jalan dari sarang ke tempat-tempat sumber makanan. Koloni semut dapat menemukan rute terpendek antara sarang dan sumber makanan berdasarkan jejak kaki pada lintasan yang telah dilalui. Semakin banyak semut yang melalui suatu lintasan, akan semakin jelas bekas jejak kakinya. Hal ini akan menyebabkan lintasan yang dilalui semut dalam jumlah sedikit, semakin lama akan semakin berkurang kepadatan semut yang melewatinya, atau bahkan akan tidak dilewati sama sekali. Sebaliknya lintasan yang

dilalui semut dalam jumlah banyak, semakin lama akan semakin bertambah kepadatan semut yang melewatinya, atau bahkan semua semut akan melalui lintasan tersebut. Gambar 2.10 menunjukkan jalan semut dalam menemukan jalur terpendek dari sarang ke sumber makanan. L R L R a b L R L R c d Gambar 2.10 Perjalanan Semut Gambar 2.10.a menunjukkan ada 2 kelompok semut yang akan melakukan jalan. Satu kelompok bernama L yaitu kelompok yang berangkat dari arah kiri yang merupakan sarang semut dan kelompok lain yang bernama kelompok R yang berangkat dari kanan yang merupakan sumber makanan. Ke dua kelompok semut dari titik berangkat sedang dalam posisi pengambilan keputusan jalan sebelah mana yang akan diambil. Kelompok semut L membagi dua kelompok lagi. Sebagian melalui jalan atas dan sebagian melalui jalan bawah. Hal ini juga berlaku pada kelompok semut R. Gambar 2.10.b dan Gambar 2.10.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 melalui jalan atas telah mengalami banyak penguapan karena semut yang melalui jalan atas berjumlah lebih sedikit dari pada jalan yang di bawah. Hal ini dikarenakan

jarak yang ditempuh lebih panjang daripada jalan bawah. Sedangkan feromon yang berada di jalan bawah, penguapannya cenderung lebih lama. Karena semut yang melalui jalan bawah lebih banyak daripada semut yang melalui jalan atas. Gambar 2.10.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 semutsemut tidak memilih jalan atas tersebut. Jika semakin banyak semut yang melalui jalan bawah, maka semakin banyak semut yang mengikutinya. Demikian juga jika semakin sedikit semut yang melalui jalan atas, maka feromon yang ditinggalkan semakin berkurang bahkan hilang. Dari sinilah kemudian terpilihlah jalur terpendek antara sarang dan sumber makanan. Dalam algoritma semut, diperlukan beberapa variabel dan langkah-langkah untuk menentukan jalur terpendek yaitu: Langkah 1: a. Inisialisasi harga parameter-parameter algoritma. Parameter-parameter yang diinisialisasikan adalah: 1. Intensitas jejak semut antar kota dan perubahannya (η ij ) 2. Banyak kota (n) termasuk koordinat (x,y) atau jarak antar kota (d ij ) 3. Kota berangkat dan kota tujuan 4. Tetapan siklus-semut (Q) 5. Tetapan pengendali intensitas jejak semut (α), nilai α 0 6. Tetapan pengendali visibilitas (β), nilai β 0 7. Visibilitas antar kota = 1/ d ij (η ij ) 8. Banyak semut (m) 9. Tetapan penguapan jejak semut (ρ), nilai ρ harus > 0 dan < 1 untuk mencegah

jejak feromon yang tak terhingga. 10. Jumlah siklus maksimum (NC max ) bersifat tetap selama algoritma dijalankan, sedangkan η ij akan selalu diperbaharui harganya pada setiap siklus algoritma mulai dari siklus pertama (NC=1) sampai tercapai jumlah siklus maksimum (NC=NC max ) atau sampai terjadi konvergensi. b. Inisialisasi kota pertama setiap semut. Setelah inisialisasi η ij dilakukan, kemudian m semut ditempatkan pada kota pertama tertentu secara acak. Langkah 2: Pengisian kota pertama ke dalam tabulist. Hasil inisialisasi kota pertama setiap semut dalam langkah 1 harus diisikan sebagai elemen pertama tabulist. Hasil dari langkah ini adalah terisinya elemen pertama tabulist setiap semut dengan indeks kota tertentu, yang berarti bahwa setiap tabulist (1) bisa berisi indeks kota antara 1 sampai n sebagaimana hasil inisialisasi pada langkah 1. Langkah 3: Penyusunan rute kunjungan setiap semut ke setiap kota. Koloni semut yang sudah terdistribusi ke sejumlah atau setiap kota, akan mulai melakukan jalan dari kota pertama masing-masing sebagai kota asal dan salah satu kota-kota lainnya sebagai kota tujuan. Kemudian dari kota ke dua masing-masing, koloni semut akan melanjutkan jalan dengan memilih salah satu dari kota-kota yang tidak terdapat pada tabulist sebagai kota tujuan selanjutnya. Jalan koloni semut berlangsung terus menerus sampai semua kota satu persatu dikunjungi atau telah menempati tabulist. Jika s menyatakan indeks urutan kunjungan, kota asal dinyatakan sebagai tabulist (s) dan kota-kota lainnya dinyatakan sebagai {N-tabulist}, maka untuk menentukan kota tujuan digunakan persamaan probabilitas kota untuk dikunjungi sebagai berikut:

...(2.1) Langkah 4: a. Perhitungan panjang rute setiap semut. Perhitungan panjang rute tertutup (length closed tour) atau L k setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan ini dilakukan berdasarkan tabulist masing-masing dengan persamaan berikut: L k =dtabu k n, tabu k 1 + dtabu k s, tabu k s 1...(2.2) dengan d ij adalah jarak antara kota i ke kota j yang dihitung berdasarkan persamaan: d ij = (x i x j ) 2 + (y i y j ) 2......(2.3) b. Pencarian rute terpendek. Setelah L k setiap semut dihitung, akan didapat harga minimal panjang rute tertutup setiap siklus atau L min NC dan harga minimal panjang rute tertutup secara keseluruhan adalah atau L min. c. Perhitungan perubahan harga intensitas jejak kaki semut antar kota. Koloni semut akan meninggalkan jejak-jejak kaki pada lintasan antar kota yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak kaki semut antar kota. Persamaan perubahan ini adalah:...(2.4) dengan τ ij adalah perubahan harga intensitas jejak kaki semut antar kota setiap semut yang dihitung berdasarkan persamaan:

untuk (i,j) kota asal dan kota tujuan dalam tabulist....(2.5) Langkah 5: a. Perhitungan harga intensitas jejak kaki semut antar kota untuk siklus selanjutnya. Harga intensitas jejak kaki semut antar kota pada semua lintasan antar kota ada kemungkinan berubah karena adanya penguapan dan perbedaan jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan melewati lintasan tersebut harga intensitasnya telah berubah. Harga intensitas jejak kaki semut antar kota untuk siklus selanjutnya dihitung dengan persamaan: τ ij =ρ τ 0 + τ ij......(2.6) b. Atur ulang harga perubahan intensitas jejak kaki semut antar kota. Untuk siklus selanjutnya perubahan harga intensitas jejak semut antar kota perlu diatur kembali agar memiliki nilai sama dengan nol. Langkah 6: Jika jumlah siklus maksimum belum tercapai atau belum terjadi konvergensi, maka kosongkan tabulist dan ulangi langkah 2. Tabulist perlu dikosongkan untuk diisi lagi dengan urutan kota yang baru pada siklus selanjutnya, Algoritma diulang lagi dari langkah 2 dengan harga parameter intensitas jejak kaki semut antar kota yang sudah diperbaharui. Untuk menganalisis algoritma semut dalam mencari nilai optimal menggunakan sebuah graf yang fully connected (setiap node memiliki busur ke node yang lain) dan bidirectional (setiap jalur bisa ditempuh bolak-balik dua arah). Setiap busur memiliki bobot yang menunjukkan jarak antara dua buah node yang dihubungkan oleh busur

tersebut. Algoritma ini menggunakan sistem multi agen, yang berarti mengerahkan seluruh koloni semut yang masing-masingnya bergerak sebagai agen tunggal. Setiap semut menyimpan daftar tabu yang memuat node yang sudah pernah ia lalui. Sebuah koloni semut diciptakan dan setiap semut ditempatkan pada masing-masing node secara merata untuk menjamin bahwa tiap node memiliki peluang untuk menjadi titik awal dari jalur optimal yang dicari. Setiap semut selanjutnya harus melakukan tour semut yaitu jalan mengunjungi semua node pada graf tersebut. 2.5. Update Feromon Trail Setelah semua semut menyelesaikan tour-nya masing masing, feromon kemudian diupdate. Dalam Ant System, aturan pembaruan Feromon global (Dorigo, M., Maniezzo, V., dan Colorni, A., 1996) diimplementasikan menurut persamaan 2.7 sebagai berikut: τ ij (1-ρ). τ ij + τ...(2.7) dengan τ = dimana (ij) Є tour yang dilakukan oleh semut k. 0 sebaliknya. C k adalah panjang tour yang dilalui oleh semut k. 0 < ρ 1 adalah sebuah parameter tingkat evaporasi feromon, dan m adalah jumlah dari semut. Untuk memastikan bahwa semut mengunjungi n titik yang berbeda, diberikan tabu list pada masing masing semut, yaitu sebuah struktur data yang menyimpan titik titik yang telah dikunjungi semut dan melarang semut mengunjungi kembali titik titik tersebut sebelum mereka menyelesaikan sebuah tour. Ketika sebuah tour selesai, tabulist digunakan untuk menghitung solusi yang ditemukan semut pada tour tersebut. Tabulist kemudian dikosongkan dan semut kembali bebas memilih titik tujuannya pada tour berikutnya.