• Tidak ada hasil yang ditemukan

Optimasi Metaheuristik Koloni Semut untuk Permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil

N/A
N/A
Protected

Academic year: 2017

Membagikan "Optimasi Metaheuristik Koloni Semut untuk Permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil"

Copied!
47
0
0

Teks penuh

(1)

OPTIMASI METAHEURISTIK KOLONI SEMUT

UNTUK SOLUSI PERMASALAHAN JALUR TERPENDEK

PADA DATA JARINGAN JALAN RIIL

EDWIN TENDA

SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI TESIS DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*

Dengan ini saya menyatakan bahwa tesis berjudul Optimasi Metaheuristik Koloni Semut untuk Solusi permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

(4)

RINGKASAN

EDWIN TENDA. Optimasi Metaheuristik Koloni Semut untuk Solusi Permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil dibimbing oleh IMAS SUKAESIH SITANGGANG dan BABA BARUS.

Salah satu permasalahan utama dalam analisis jaringan pada Sistem Informasi Geografis (SIG) adalah menentukan jalur terpendek antara dua lokasi dalam suatu jaringan. Meski terdapat beberapa metode untuk menyelesaikan permasalahan ini tetapi pengembangan dan kajian terhadap metode alternatif masih penting dilakukan. Penelitian ini menggunakan metode optimasi metaheuristik Koloni Semut yang terinspirasi dari prilaku alamiah semut, untuk mencari jalur terpendek antara dua titik, pada data jaringan jalan riil.

Terdapat empat tahapan penelitian. Pertama, pembuatan jaringan buatan dan praproses data jaringan jalan riil. Kedua, implementasi algoritme Koloni Semut. Ketiga, pengujian pada data buatan dan data jaringan jalan riil. Keempat, pembandingan kinerja metode Koloni Semut dan metode Dijkstra dalam hal panjang jalur optimal dan waktu eksekusi. Pengujian menggunakan data buatan bertujuan untuk mendapatkan gambaran pengaturan terbaik dari parameter metode Koloni Semut. Pengujian menggunakan data jaringan jalan riil bertujuan untuk mengevaluasi kinerja metode Optimasi Koloni Semut terhadap data jaringan jalan riil.

Hasil pengujian menunjukan bahwa, dengan menggunakan kombinasi parameter tertentu pada karakter data tertentu metode Koloni Semut dapat memiliki waktu eksekusi yang lebih cepat dibandingkan dengan metode Dijkstra. Untuk panjang jalur terpendek, algoritme Dijkstra lebih baik dibandingkan dengan metode Koloni Semut namun metode Koloni Semut juga dapat memberikan hasil yang setara dengan metode Dijkstra.

(5)

SUMMARY

EDWIN TENDA. Ant Colony Metaheuristic Optimization for Shortest Path Problem Solution in Real Road Network. Supervised by IMAS SUKAESIH SITANGGANG and BABA BARUS.

One of the main problems in network analysis in Geographic Information Systems (GIS) is to determine the shortest path between two locations in a network. Although several methods exist to solve the problem, the development and evaluation for alternative methods is still important. This study uses the Ant Colony metaheuristic optimization method, that inspired by the natural behavior of ants, to find the shortest path between two points on the real road network (RRN) data.

Tests on Ant Colony Optimization method were done in four stages. First, the artificial network and the RRN data preprocess. Second, the implementation of the Ant Colony Algorithm. Third, the test on the artificial network data and the RRN data. Fourth, the Ant Colony and Dijkstra method performance were compared in terms of the optimal path length and the execution time. The test uses the artificial data in order to get the idea of the best settings of the Ant Colony method parameters. The test used the RRN to evaluate the performance of Ant Colony Optimization method on RRN data.

The test results show that by using a particular parameter combination and on particular data, the Ant Colony Method is faster than the Djikstra method. In terms of the length optimal path, the Dijkstra method generates better solution than the Ant colony Optimization method, although the Ant colony method can generates equal result as Dijkstra method.

(6)

© Hak Cipta Milik IPB, Tahun 2014

Hak Cipta Dilindungi Undang-Undang

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB

(7)

Tesis

sebagai salah satu syarat untuk memperoleh gelar Magister Komputer

pada

Program Studi Ilmu Komputer

OPTIMASI METAHEURISTIK KOLONI SEMUT

UNTUK SOLUSI PERMASALAHAN JALUR TERPENDEK

PADA DATA JARINGAN JALAN RIIL

SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR

BOGOR 2014

(8)
(9)

Judul Tesis : Optimasi Metaheuristik Koloni Semut untuk Permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil

Nama : Edwin Tenda

NIM : G651120371

Disetujui oleh Komisi Pembimbing

Dr Imas Sukaesih Sitanggang, S.Si M.Kom Ketua

Dr Baba Barus, M.Si Anggota

Diketahui oleh

Ketua Program Studi Ilmu Komputer

Dr Eng Wisnu Ananta Kusuma, ST MT

Dekan Sekolah Pascasarjana

Dr Ir Dahrul Syah, MSc.Agr

Tanggal Ujian: 3 Oktober 2014

(10)

PRAKATA

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena anugerah-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Desember 2013 ini adalah kecerdasan komputasional dengan judul Optimasi Metaheuristik Koloni Semut untuk Solusi Permasalahan Jalur Terpendek pada Data Jaringan Jalan Riil.

Penulisan tesis ini merupakan salah satu syarat memperoleh gelar Magister Komputer pada program studi Ilmu Komputer Sekolah Pascasarjana Institut Pertanian Bogor. Penulis menyadari bahwa bantuan-bantuan dan arahan-arahan dari kedua pembimbing sangat membantu dalam menyelesaikan karya tulis ini. Terima kasih penulis ucapkan kepada Ibu Dr Imas Sukaesih Sitanggang, SSi MKom selaku pembimbing I dan Bapak Dr Baba Barus, MSi selaku pembimbing II.

Penulis juga menyampaikan terima kasih kepada:

1. Prof Dr Ir Herry Suhardiyanto, MSc selaku Rektor Institut Pertanian Bogor. 2. Dr Ir Dahrul Syah, MSc Agr selaku Dekan Sekolah Pascasarjana Institut

Pertanian Bogor.

3. Dr Eng Wisnu Ananta Kusuma, ST MT selaku Ketua Program Studi Ilmu Komputer dan juga sebagai penguji luar komisi pada ujian tesis.

4. Seluruh dosen dan staf pegawai tata usaha Departemen Ilmu Komputer. 5. Direktorat Jenderal Pendidikan Tinggi (DIKTI) sebagai sponsor Beasiswa On

Going.

6. Orang tua, saudara dan seluruh keluarga yang selalu memberikan dorongan dan mendoakan untuk keberhasilan studi bagi penulis.

7. Seluruh mahasiswa Departemen Ilmu Komputer khususnya teman-teman angkatan tahun 2012 pada program studi S2 Ilmu Komputer.

8. Teman-teman Asrama Sam Ratulangi di Sempur, Bogor Baru I, Bogor Baru II.

9. Sahabat-sahabat yang tak dapat disebutkan satu persatu yang telah banyak membantu penulis dalam penyelesaian tesis ini.

Semoga segala bantuan, bimbingan, dan motivasi yang telah diberikan kepada penulis senantiasa mendapat balasan dari Tuhan Yang Maha Esa.

Akhirnya, semoga penulisan tesis ini dapat memperkaya pengalaman belajar serta wawasan kita semua.

(11)

DAFTAR ISI

Definisi dan Formulasi Permasalahan Jalur Terpendek 3 Algoritme Dijkstra untuk Permasalahan Jalur Terpendek 4

Kompleksitas Algoritme Dijkstra 5

Metode Optimasi Koloni Semut 5

Metaheuristik Koloni Semut 5

Algoritme Optimasi Koloni Semut 6

Kompleksitas Algoritme Koloni Semut 8 Optimasi Koloni Semut dalam Permasalahan Jalur Terpendek 8

Data Spasial 9

Praproses Data Spasial 9

Algoritme Permasalahan Jalur Terpendek pada Jaringan Jalan

Riil 10

3 METODE PENELITIAN 11

Lokasi dan Waktu 11

Bahan dan Alat 11

Tahapan Penelitian 11 Pembuatan Jaringan Buatan dan Praproses Data Jaringan Jalan

Riil 11

Implementasi Metode Optimasi Koloni Semut 12 Pengujian pada Data Jaringan Buatan dan Data Jaringan Jalan

Riil 12

Perbandingan Hasil Optimasi Koloni Semut dan Dijkstra 13

4 HASIL DAN PEMBAHASAN 14

Jaringan Buatan dan Jaringan Jalan Riil 14

Implementasi Metode Koloni Semut dan Metode Dijkstra 15 Pengujian pada Data Jaringan Buatan dan Data Jaringan Jalan Riil 16

Pengujian pada Data Jaringan Buatan 16 Pengujian pada Data Jaringan Jalan Riil 18 Pengujian pada Data Jalur Bus Karyawan IPB 21

5 SIMPULAN DAN SARAN 22

(12)

Saran 23

DAFTAR PUSTAKA 24

LAMPIRAN 26

RIWAYAT HIDUP 35

DAFTAR TABEL

1 Karakteristik data jaringan buatan 14

2 Karakteristik data JJR 14

3 Hasil percobaan pada graf buatan dengan jumlah sisi v = 4 dan iterasi t

= 10 17

4 Hasil percobaan pada graf buatan dengan jumlah sisi v = 5 dan iterasi t

= 10 17

5 Hasil percobaan pada data JJR Aceh 18

6 Jalur terbaik untuk percobaan pada data JJR Aceh 18

7 Hasil percobaan pada data JJR Bogor Tengah 19

8 Jalur terbaik untuk percobaan pada data JJR Bogor Tengah 20 9 Hasil percobaan pada data jalur bus karyawan IPB 22

DAFTAR GAMBAR

1 Graf lengkap berarah berpola persegi dengan jumlah node tepian v=4 12

2 Struktur topologi Arc-Node 13

3 JJR Provinsi Aceh (a) dan JJR Kota Bogor Tengah (b) 14 4 Jaringan jalan rute bus IPB Baranangsiang-Dramaga 15

5 Kode program fungsi pemilihan simpul 15

6 Kode program fungsi penguapan feromon 15

7 Kode program fungsi tambahkan feromon 16

8 Kode program fungsi utama algoritme Dijkstra 16

9 Jalur terbaik hasil ACO (a) dan hasil Dijkstra (b) untuk data Aceh pada

percobaan 5 19

10 Jalur terbaik hasil ACO (a) dan hasil Dijkstra (b) untuk data Bogor

Tengah pada percobaan 4 21

11 Jaringan jalur bus karyawan IPB Baranangsiang-Dramaga 21 12 Solusi jalur Jalan baru (a) dan solusi jalur Stasiun kereta (b) 22

DAFTAR LAMPIRAN

1 Kode program ACO 26

2 Kode program Djikstra 29

3 Hasil percobaan lengkap pada data JJR Aceh 32

4 Hasil percobaan lengkap pada data JJR Bogor Tengah 33

(13)

1

PENDAHULUAN

Latar Belakang

Analisis jaringan merupakan salah satu area riset yang signifikan dan terus dilakukan dalam ilmu pengetahuan geografis (Curtin 2007). Dalam Sistem Informasi Geografis (SIG), analisis jaringan digunakan dalam berbagai kebutuhan antara lain jaringan telekomunikasi, transportasi, penjadwalan, manajemen proyek, navigasi, perencanaan, pengiriman barang dan lain-lain. Jaringan adalah suatu sistem dari fitur linear di mana terdapat atribut-atribut yang digunakan untuk menyatakan aliran suatu objek, yang berbasis topologi yang terdiri dari garis dan pertemuan antar garis yaitu simpul, di mana garis tersebut memiliki arah (Curtin 2007; Chang 2008). Analisis jaringan bertumpu pada subdisiplin matematika yakni teori Graf. Dalam teori graf, jaringan didefinisikan sebagai sebuah graf berarah, G = (V, E) yang terdiri dari sebuah himpunan simpul dan sebuah himpunan sisi dengan jumlah simpul n = |V| dan jumlah sisi m = |E|, di mana setiap sisi memiliki bobot yang menyatakan ukuran yang dapat berupa berat, panjang atau satuan lain sesuai dengan aplikasinya.

Di antara berbagai analisis jaringan terdapat suatu permasalahan kunci yang disebut shortest path problem atau permasalahan jalur terpendek yaitu mencari jalur kumulatif minimum dalam jaringan (Zhan 1998; Zeng & Church 2008; Leng & Sheng 2009). Jalur dapat didefinisikan sebagai hubungan antara dua simpul yaitu titik awal dan titik tujuan ataupun memiliki titik perhentian di antara kedua simpul tersebut (Chang 2008). Permasalahan jalur terpendek dalam SIG pada pemanfaatannya digunakan untuk berbagai aplikasi seperti perencanaan lokasi fasilitas (Horner & Grubesic 2001), analisis konsumen potensial (Farhan & Murray 2005), serta perencanaan rute pengiriman barang dan layanan darurat yang menghubungkan fasilitas-fasilitas penting (Chang 2008).

Permasalahan jalur terpendek sudah menjadi topik penelitian selama bertahun-tahun. Meskipun banyak algoritme yang dikembangkan serta studi empirik yang sudah dilakukan, tetapi didapati bahwa tidak ada algoritme tunggal yang terbaik ketika menghadapi semua data uji ataupun semua model representasi jaringan sehingga belum ada jawaban yang jelas untuk algoritme atau set algoritme yang terbaik (Zhan 1998; Leng & Zeng 2009).

Metode optimasi Koloni Semut atau Ant Colony Optimization (ACO) adalah metode yang terinspirasi dari prilaku alamiah semut dalam mencari makanan di mana semut mencari jalur terdekat dari sarang menuju ke sumber makanan dengan mengandalkan kerjasama kelompok dalam bentuk komunikasi. Pada penerapannya ACO telah digunakan pada banyak kasus antara lain, penjadwalan proyek (Merkle et al. 2002), Maximum clique (Fenet dan Solnon 2003), pewarnaan graf (Jabber et al. 2006) dan Travelling Salesman Problem (Brezina dan Cickova 2011).

(14)

2

Perumusan Masalah

Kajian terhadap masalah jalur terpendek masih penting dilakukan untuk mencari, mengembangkan dan menerapkan algoritme yang dapat digunakan untuk memecahkan permasalahan jalur terpendek. Permasalahan jalur terpendek adalah permasalahan dasar dalam banyak aplikasi jaringan. Saat ini terdapat berbagai metode untuk menyelesaikan permasalahan jalur terpendek dengan kinerja yang berbeda-beda untuk setiap metode tersebut. Kinerja dari metode untuk permasalahan jalur terpendek dinilai berdasarkan panjang jalur akumulatif minimum dan waktu eksekusi. Kinerja dari metode untuk permasalahan jalur terpendek dipengaruhi oleh model representasi data jaringan sebagai masukan dari metode. Dalam penelitian-penelitian terkait metode penyelesaian permasalahan jalur terpendek sebelumnya, umumnya menggunakan data jaringan buatan yang dibuat secara acak sehingga jaringan yang dihasilkan tidak dapat merepresentasikan karakteristik permasalahan yang nyata. Data JJR merepresentasikan keadaan karakteristik jaringan pada dunia nyata sehingga ideal dari sisi aplikatif.

Metode Koloni Semut merupakan sebuah teknik optimasi metaheuristik yang meniru prilaku semut dalam menyusun jalur terbaik. Kinerja dari metode Koloni Semut dipengaruhi oleh kombinasi parameternya oleh karena itu perlu dicari kombinasi parameter terbaik berdasarkan kasus yang akan diselesaikan. Dalam penelitian ini dikembangkan algoritme yang berdasarkan pada metode Koloni Semut untuk menyelesaikan permasalahan jalur terpendek pada data jaringan jalan riil. Algoritme yang dikembangkan diharapkan memiliki kinerja yang baik, sehingga berpotensi untuk diterapkan pada aplikasi permasalahan jalur terpendek.

Tujuan

Penelitian ini bertujuan untuk mencari solusi permasalahan jalur terpendek antara dua titik pada data JJR menggunakan algoritme optimasi metaheuristik Koloni Semut dan membandingkan kinerja algoritme Koloni semut dengan kinerja algoritme permasalahan jalur terpendek Dijkstra dalam hal panjang jalur dan waktu eksekusi.

Ruang Lingkup

Penelitian ini dibatasi untuk kasus permasalahan jalur terpendek berupa Single source single destination shortest path problem atau permasalahan jalur terpendek antara dua titik dengan model representasi data jaringan jalan satu arah.

Manfaat Penelitian

(15)

3

2

TINJAUAN PUSTAKA

Permasalahan Jalur Terpendek

Permasalahan jalur terpendek adalah suatu masalah optimasi dasar yang diimplementasikan pada banyak jenis aplikasi seperti jaringan telekomunikasi, transportasi, penjadwalan, manajemen proyek dan lain-lain. Permasalahan jalur terpendek merupakan masalah kombinatorial klasik yang mengandung unsur dari permasalahan arus pada jaringan yang merupakan titik awal dalam mempelajari permasalahan jaringan yang lebih kompleks (Resende & Pardalos 2006). Dalam Resende & Pardalos (2006) permasalahan jalur terpendek dapat dikategorikan dalam tiga jenis yaitu:

1. Menemukan jalur terpendek antara dua simpul.

2. Menemukan jalur terpendek dari satu simpul tunggal ke semua simpul lain. 3. Menemukan jalur terpendek dari beberapa simpul sumber ke sejumlah simpul

tujuan.

Agar solusi dapat diperoleh maka perlu dilakukan asumsi sebagai berikut: 1. Semua sisi bernilai integer atau direpresentasikan dalam bentuk bilangan

rasional.

2. Graf terhubung dengan kuat. Asumsi ini dapat dilakukan dengan mendefinisikan jarak antara simpul yang tidak terhubung menjadi sama dengan +∞.

3. Graf tidak memiliki directed cycle bernilai bernilai negatif untuk permasalahan jalur terpendek.

Definisi dan Formulasi Permasalahan Jalur Terpendek

Masukan dari permasalahan jalur terpendek antara dua titik yaitu (G, s, c) di mana G=(V, E, c) suatu graf berarah, V adalah himpunan dari simpul dan E adalah himpunan dari sisi E={(i , j) | i, j V }, di mana s V adalah simpul sumber dan c : Pardalos 2006). Permasalahan jalur terpendek memiliki formulasi matematika sebagai berikut (Resende & Pardalos 2006):

(16)

4

Nilai c merupakan nilai bobot dari sisi (i, j) dan x adalah jumlah jalur yang menggunakan setiap sisi (i, j) E. Tujuannya adalah untuk mencari suatu jalur graf berarah yang dibentuk oleh v dari s menuju d dengan bobot atau jarak yang paling minimum.

Beberapa penelitian terkait penerapan algoritme jalur terpendek antara lain, Behzadi et al. (2008) mengembangkan sebuah algoritme genetika untuk mencari jalur terpendek pada data berformat raster. Awalnya dilakukan praproses peta agar dapat gunakan oleh algoritme genetika. Pertama, dilakukan rotasi terhadap piksel-piksel pada area sedemikian rupa sehingga simpul awal dan simpul akhir berada dalam satu baris. Kedua, piksel diubah kedalam nilai integer yang nilainya bervariasi sesuai dengan karakteristik fitur jalan dari piksel tersebut sedangkan piksel fitur lainnya diberi nilai 0. Ukuran dari individu adalah sebanyak jumlah piksel horizontal antara simpul awal dan simpul akhir. Pengujian algortime menggunakan data JJR Kota Teheran, Iran. Hasil menunjukan algoritme yang diusulkan mampu membangun jalur terpendek meskipun tidak menghasilkan hasil optimal.

Leng & Zeng (2009) mengembangkan sebuah algoritme yang diberi nama Minimum label delimiting TWO-Q (Mild TWO-Q) yang berdasar dari algoritme algoritme Graph growth yang diketahui tidak efisien pada pencarian jalur terpendek jarak dekat karena harus menguji semua simpul dalam jaringan sehingga memiliki waktu eksekusi yang besar. Pengujian menggunakan dataset Los Angeles County, California, USA. Hasil pengujian menunjukan bahwa algoritme Mild Two-Q berhasil menurunkan jumlah scanning pada jaringan untuk jalur dengan simpul yang berdekatan. Pada awal interval pengujian hingga pada interval tertentu algoritme Mild Two-Q memiliki waktu eksekusi yang lebih baik dari pada algoritme Two-Q walaupun pada titik interval yang makin besar waktu eksekusi menjadi sama.

Algoritme Dijkstra untuk Permasalahan Jalur Terpendek

(17)

5

//relaxation process if v.d > u.d + l(u, v) v.d = u.d + l(u, v)

v.π = u

Algoritme Dijkstra menyimpan dua himpunan simpul yaitu S yaitu himpunan simpul yang jarak terpendek dari sumber telah ditentukan, dan V-S yaitu himpunan simpul yang tersisa. Nilai l merupakan bobot dari semua simpul v yang terhubung ke simpul u jalur yang terbentuk. Sedangkan nilai d merupakan bobot dari sisi. Proses relaxation adalah proses memperbaharui bobot dari semua simpul v, yang terhubung ke simpul u, untuk meningkatkan perkiraan jalur terpendek terbaik ke simpul v dengan memasukkan (u, v) di jalur yang terbentuk menuju v. Algoritme Dijkstra pada penelitian ini digunakan sebagai pembanding dari kinerja dari algoritme Koloni Semut pada data JJR.

Kompleksitas algoritme Dijkstra

Dalam Cormen et al. (2009) kompleksitas dari algoritme Dijkstra dipengaruhi oleh cara implementasi yang dipakai. Untuk implementasi menggunakan struktur data array Dijkstra kompleksitas algoritme Dijkstra adalah O(V2 + E) = O(V2). Untuk implementasi menggunakan min-priority queue dengan binary min-heap kompleksitas algoritme adalah O = ((V + E) log V) = O(E log V) dengan syarat yaitu berupa graf jarang dengan E = o(V2 / log V).

Metode Optimasi Koloni Semut

Optimasi Koloni Semut adalah teknik optimasi metaheuristik yang terinspirasi dari pola tingkah laku semut dalam mencari makan (Englebrecht 2007). Penelitian terkait pola tingkah laku serangga awalnya dilakukan oleh Marais yang dipublikasi pada tahun 1927 dengan objek penelitian pada rayap. Kemudian Grase pada tahun 1959 berdasarkan penelitian sebelumnya melakukan riset terkait prilaku komunikasi rayap dalam membangun sarangnya, di mana disimpulkan bahwa terdapat bentuk komunikasi tidak langsung antar individu yang disebut stigmergi yaitu sebuah mekanisme yang menantarai interaksi antar serangga dalam sistem mereka. Pada tahun 1990 Deneubourg dan kawan-kawan mempelajari tentang contoh stigmergi yang disebut komunikasi feromonal. Berdasarkan penelitian tersebut maka mulai dikembangkan algoritme-algoritme yang terinspirasi dari perilaku semut. Salah satu penelitian awal yang dilakukan adalah tentang bagaimana kemampuan dari semut untuk mencari jalur terpendek antara sarang dengan sumber makanan. Berdasarkan penelitian yang dilakukan ditemukan bahwa jalur terpendek tersebut ditemukan tanpa melalui mekanisme koordinasi yang aktif terpusat namun ditemukan melalui suatu pola tidak teratur dan acak. Berdasarkan penelitian-penelitian tersebut Dorigo mengembangkan model optimasi metaheuristik yang disebut Ant colony optimization dalam penelitian desertasinya yang dipublikasikan pada tahun 1992.

Metaheuristik Koloni Semut

(18)

6

optimasi dengan melakukan sedikit adaptasi sesuai dengan kebutuhan permasalahan tersebut. Metaheuristik dapat dikatakan sebagai suatu metode general purpose heuristic yang dibangun untuk mendapatkah solusi berkualitas tinggi terhadap permasalahan optimasi. Metaheuristik dalam optimasi Koloni Semut adalah bagaimana koloni semut buatan bekerja sama untuk mencapai satu tujuan yaitu solusi terhadap permasalahan optimasi. Kerjasama dari semut-semut buatan merupakan kunci desain dari optimasi Koloni Semut di mana solusi didapatkan lewat alokasi sumber daya komputasi dalam bentuk semut buatan yang berkomunikasi secara tidak langsung lewat mekanisme stigmergy.

Sebuah optimasi Koloni Semut dapat dilihat sebagai kesatuan dari tiga prosedur yang saling mempengaruhi yaitu Construct a t’s solution, Update pheromon dan Daemon actions (Dorigo & Stutzle 2004). Prosedur Construct a t’s solution merupakan fungsi untuk mengelola sebuah koloni semut yang secara bersamaan dan serempak bergerak mengunjungi titik-titik yang berdekatan dengan masalah yang dikaji dengan bergerak melalui titik tetangga pada graf permasalahan yang dikaji. Pergerakan dilakukan secara stokastik dengan pengaturan tertentu. Pada bagian ini semut buatan, menyusun solusi terhadap permasalahan optimasi yang makin lama makin meningkat. Prosedur Update pheromon adalah prosedur di mana nilai feromon pada jejak yang dilalui dimodifikasi, yang nilainya bertambah seiring dengan semut yang melewati jejak tersebut ataupun berkurang akibat penguapan feromon. Prosedur terakhir yaitu Daemon actions digunakan untuk mengimplementasi aksi-aksi terpusat yang tidak dapat dilakukan oleh seekor semut saja, seperti aktivasi dari prosedur optimasi lokal dan pengumpulan informasi global. Fungsi Schedule activities tidak menentukan bagaimana ketiga prosedur ini dijadwalkan dan disinkronisasikan yang berarti perancang dapat dengan bebas menentukan bagaimana ketiga prosedur ini berinteraksi sesuai dengan karakteristik dari permasalahan yang ingin dioptimasi. Prosedur metaheuristik optimasi Koloni Semut adalah sebagai berikut (Dorigo & Stutzle 2004):

procedure Ant_Colony_Metaheuristic

Schedule_Activities

Construct_Ants_Solutions Update_Pheromones

Daemon_Actions % optional

end-Schedule_Activities end-procedur

Algoritme Optimasi Koloni Semut

Metode optimasi Koloni Semut merupakan suatu metode yang didasarkan pada mekanisme aksi dari koloni semut yang bekerjasama mengkonstruksi solusi melalui suatu bentuk komunikasi. Semut memiliki suatu mekanisme komunikasi tak langsung yang disebut stigmergy dimana selama pencarian semut akan meletakan sejumlah feromon di sepanjang jalur yang dilewati sebagai penanda. Semut lain akan memilih jalur berdasarkan intensitas feromon dari tiap kemungkinan jalur. Walaupun terjadi penguapan feromon, rute yang dilewati semut secara berulang-ulang menyebabkan pertambahan feromon dalam jalur hingga lama kelamaan jalur pilihan semut akan konvergen pada satu jalur terpendek.

(19)

7

menggunakan persamaan probabilitas transisi (Persamaan 1) dimana adalah himpunan dari simpul-simpul tetangga yang terhubung dengan node i (feasible nodes), yang dapat dilalui oleh semut k (Dorigo & DiCaro 1999).

{

Intensitas feromon pada tiap jalur mengalami penguapan, dimana untuk setiap sisi (i, j), feromon akan menguap sejumlah Persamaan 2, dengan nilai ρ [ ] sebagai konstanta tingkat penguapan feromon. Konstanta ρ mengendalikan pengaruh ingatan pencarian. Dalam Dorigo & DiCaro (1999), formula penguapan feromon adalah:

(t ← 1-ρ) (2) Pada saat semut buatan telah berhasil membangun solusi jalur dari simpul sumber ke simpul tujuan maka semut buatan akan kembali ke simpul sumber mengikuti jalur yang dibuat sebelumnya sambil menaruh sejumlah feromon di tiap sisi jalur tersebut. Dalam Dorigo & DiCaro (1999), jumlah feromon yang ditambahkan pada tiap sisi sepanjang solusi pada iterasi ke t adalah sebesar Persamaan 3 di mana (t) adalah panjang dari jalur solusi yang dibangun oleh semut k pada langkah ke t.

Δ (3) Jumlah feromon yang diletakan disepanjang jalur solusi adalah sebesar Persamaan 4 (Dorigo & DiCaro 1999):

(t + 1)= ∑ (4) Kualitas solusi Koloni Semut dihitung berdasarkan total bobot dari jalur yang ditempuh. Jika xk(t) menyatakan sebuah solusi pada iterasi ke t maka f(xk(t)) menyatakan kualitas dari solusi di mana solusi terbaik dengan mencari nilai f paling minimum. Terminasi dari proses dapat dilakukan berdasarkan beberapa kondisi yaitu jika nilai iterasi sudah mencapai nilai yang ditentukan, jika solusi yang dapat diterima sudah ditemukan dengan f(xk(t)) ≤ ϵ, dimana ϵ suatu batas nilai tertentu, atau jika semua semut atau sebagian besar semut sudah melewati jalur yang sama. Algoritme SACO lengkap adalah sebagai berikut (Englebrecht 2007):

(20)

8

until destination node has been reached; remove all loops from

Until stopping condition is true;

Return the path with smallest as the solution;

Kompleksitas algoritme Koloni Semut

Penelitian terkait analisis kompleksitas algoritme Koloni Semut pertama dilakukan oleh Neuman & Witt (2007) dimana analisis dilakukan pada beberapa varian algoritme Koloni Semut seperti algoritme One-Max dimana hasil analisis menunjukan kompleksitasnya adalah O(n2). Selanjutnya Attiratanasunthron & Fakcharoenphol (2008) melakukan analisis kompleksitas algoritme Koloni Semut untuk permasalahan single destination shortest path problem pada graf berarah tanpa cycle dimana untuk graf dengan n simpul dan m sisi kompleksitasnya adalah O(1/ρ mn2log n) atau sama dengan O (1/ρ n2 log n).

Optimasi Koloni Semut dalam Permasalahan Jalur Terpendek

(21)

9

menunjukan bahwa algoritme yang dikembangkan berhasil mengakomodasi faktor preferensi. Selain itu didapati pengaruh dari pengaturan parameter seperti jumlah semut, jumlah iterasi dan koefisien heuristik dimana peningkatan jumlah semut dan jumlah iterasi berbanding lurus terhadap solusi yang memiliki faktor preferensi lebih baik.

Kolavi & Bhatnagar (2009) melakukan pengembangan terhadap algoritme MAF-ACO (Multi agent foraging ACO) yaitu sebuah algoritme jarak terpendek pada dua titik dimana panjang dari suatu sisi dibagi ke dalam sejumlah stage sesuai nilai panjang sisinya. Pada setiap stage agen memiliki dua parameter yaitu parameter jejak feromon dan parameter pembelajaran agen. Dalam penelitian ini dikembangkan empat buah varian dengan melakukan modifikasi pada skema pembelajaran semut dan skema pembaharuan feromon. Simulasi dilakukan terhadap graf buatan, dengan satu pasang simpul sumber dan tujuan dengan 12 buah simpul antara yang dibagi dalam tiga fase yang pada tiap fasenya terhubung semi lengkap. Percobaan dilakukan dengan menggunakan jumlah agen sebanyak 32, 64, 128 dan 256. Hasil percobaan menunjukan bahwa varian kedua dari algoritme yang dikembangkan menghasilkan persentasi hasil optimal yang jauh lebih baik dari algoritme MAF-ACO dan ketiga varian lainnya yaitu 65%, 88%, 99% dan 100% untuk jumlah semut 32, 64, 128 dan 256.

Data Spasial

Data spasial adalah data yang memiliki komponen spasial yaitu terhubung ke suatu tempat di atas permukaan bumi. Data spasial menggambarkan lokasi dari suatu fitur spasial yang dapat berupa diskrit atau kontinyu. Fitur diskrit adalah fitur yang dapat dibedakan seperti titik yang merepresentasikan lokasi sumur, garis yang merepresentasikan jalan dan area yang merepresentasikan lapangan sepak bola sedangkan fitur kontinyu seperti ketinggian dan pengendapan. Lokasi dari fitur spasial pada permukaan bumi berbasis pada sistem koordinat pada bidang dua dimensi yaitu x, y (Chang 2008). Untuk membuat data spasial diperlukan peta dasar yang menggambarkan penampakan muka bumi serta data terkait fitur spasial yakni atribut-atribut yang disiapkan melalui praproses data spasial. Jaringan Jalan Riil (JJR) atau real road network adalah data yang merepresentasikan jaringan jalan yang nyata yang dapat diperoleh dari praproses data spasial.

Praproses Data Spasial

Agar dapat menggunakan data spasial maka diperlukan praproses data spasial sesuai dengan kebutuhan dari analisis yang diperlukan. Beberapa langkah yang perlu dilakukan untuk praproses data spasial yaitu:

1. Penyiapan peta

Sebelum proses pendigitasian perlu dilakukan pengecekan terhadap peta untuk melihat apakah unsur-unsur penting dari peta sudah lengkap termasuk memeriksa apakah peta terbebas dari kerusakan fisik. Peta diperoleh melalui proses pemetaan yang menghasilkan peta analog ataupun digital.

2. Georeferensi

(22)

10

dipermukaan bumi atau dengan kata lain dilakukan penyesuaian terhadap posisi geografisnya. Menurut kamus ESRI georeferensi adalah proses menyelaraskan data geografis ke sistem koordinat sehingga dapat dilihat, di query, dan dianalisis dengan data geografis lainnya. Georeferensi melibatkan menggeser, memutar, skala, dan dalam beberapa kasus warping, rubber shetting, atau ortorektifikasi data (www.support.esri.com/knowledgebase).

3. Dijitasi

Dijitasi adalah proses mengkonversi fitur-fitur pada peta dengan cara menelusuri menggunakan perangkat pendigitasian (digitizer) untuk merekam titik-titik dalam bentuk koordinat dari objek-objek berupa titik, garis ataupun area dan disimpan secara otomatis dalam format digital sebagai data spasial. Salah satu teknik dijitasi adalah screen digitizing di mana peta yang sudah dipersiapkan terlebih dahulu ditampilkan pada layar kemudian pendigitasian dilakukan mengikuti garis, titik atau gambaran lain yang tampak pada layar (Barus & Wiradisastra 2009).

Algoritme Permasalahan Jalur Terpendek pada Jaringan Jalan Riil

Zhan dan Noon (1998) melakukan evaluasi terhadap lima belas algoritme jalur terpendek yaitu algoritme TWO-Q, algoritme PAPE, algoritme THRESH, algoritme DIKBA, algoritme DIKB, DIKBM, algoritme GOR, algoritme DIKBD, algoritme DIKR, algoritme DIKH, algoritme DIKF, algoritme GOR1, algoritme BFP, algoritme DIKQ serta algoritme BF. Digunakan dua dataset yang terdiri dari sepuluh data JJR dari jalur jalan bebas hambatan di Amerika yaitu JJR dari Negara bagian Nebraska, Alabama, Minnesota, Iowa, Missisipi, South Carolina, Florida, Missouri, Lousiana, Georgia. Hasil pengujian menunjukan bahwa untuk kasus jalur terpendek dari satu simpul ke semua simpul algoritme TWO_Q adalah yang paling direkomendasikan sedangkan untuk kasus jalur terpendek antara dua simpul atau dari satu simpul ke beberapa simpul direkomendasikan dua varian algoritme Dijkstra, yaitu DIKBA untuk jaringan yang panjang sisi maksimumnya kurang dari sama dengan 1.50 derajat desimal dan DIKBD untuk jaringan yang panjang sisi maksimumnya lebih dari sama dengan 1.50 derajat desimal.

Lim & Kim (2005) mengusulkan perbaikan pada algoritme k-shortest path problem yang digunakan pada aplikasi navigasi, yaitu algoritme jalur terpendek yang dapat memberikan beberapa alternatif solusi, namun memiliki masalah overlapping dan similaritas dari dari jalur solusi yang dihasilkan. Penelitian ini mengembangkan algoritme yang disebut Link based shortest path dengan mengakomodir batasan dari jalur jalan pada jaringan tanpa perlu menambah sisi dan simpul pada jaringan. Pengujian dilakukan menggunakan satu data buatan dan satu data riil. Untuk data buatan digunakan graf berarah dengan 8 simpul, 9 sisi dengan 2 sisi memiliki batasan jalur jalan. Untuk data riil digunakan jaringan jalan di Siox Fall dengan 24 simpul dan 76 sisi. Hasil percobaan menunjukan bahwa algoritme yang diusulkan memberikan hasil yang lebih efisien dari algoritme k-shortest path problem. Selain itu algoritme yang diusulkan mengatasi permasalahan overlapping dan similaritas dari algoritme k-shortest path problem.

(23)

11

riil yaitu data jalan di Los Angeles dan Santa Barbara masing-masing dengan rasio sisi simpul sebesar 2,36 dan 2,73. Dari hasil percobaan ditemukan bahwa pada kedua dataset algoritme ASBA memiliki waktu eksekusi yang paling baik dari seluruh algoritme yang dijalankan.

3

METODE PENELITIAN

Lokasi dan Waktu

Penelitian dilakukan pada bulan Januari sampai dengan bulan Juli 2014. Lokasi penelitian bertempat di bagian Komputasi Terapan, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Bahan dan Alat

Penelitian ini menggunakan dua jenis data yaitu pertama data jaringan buatan dan kedua data JJR yang diperoleh dari praproses peta dasar. Untuk data buatan dibuat dua buah data yang digunakan dalam pengujian parameter metode algoritme Koloni Semut. Dalam penelitian ini digunakan tiga buah data JJR yaitu jaringan jalan di Provinsi Aceh, jaringan jalan Kota Bogor Tengah dan jaringan jalan rute bus karyawan IPB dari Kampus Baranangsiang menuju Kampus Dramaga dan sebaliknya.

Dalam penelitian digunakan perangkat lunak aplikasi Quantum GIS versi 2.0.1 untuk pembuatan dan pengolahan data jaringan jalan. Untuk implementasi algoritme menggunakan bahasa pemrograman Python versi 3.3. Program dikembangkan dan diuji menggunakan komputer dengan spesifikasi perangkat keras yaitu prosesor AMD A6 2.40 GHz dan RAM 4 GB.

Tahapan Penelitian

Secara garis besar tahapan penelitian ini dibagi dalam empat bagian yaitu, 1) Pembuatan jaringan buatan dan praproses data JJR, 2) implementasi algoritme ACO dan Dijkstra, 3) pengujian terhadap data buatan dan data jaringan jalan riil, dan 4) perbandingan kinerja dengan algoritme Dijkstra sebagai salah satu algoritme terbaik pada permasalahan rute terpendek antara dua titik (Zeng & Church 2008).

Pembuatan Jaringan Buatan dan Praproses Data Jaringan Jalan Riil

(24)

12

Gambar 1 Graf lengkap berarah berpola persegi dengan jumlah node tepian v =4

Pada praproses data JJR, peta dasar diambil dari layanan peta Google Map. Dilakukan tiga tahapan praproses peta. Pertama, pengecekan peta untuk memastikan apakah unsur-unsur dalam peta sudah lengkap. Pada tahapan ini peta dasar yang dipilih dipastikan memiliki semua unsur jalan yang diperlukan untuk analisis jaringan. Tahapan kedua adalah proses georeferensi untuk memastikan bahwa posisi peta pada representasi muka bumi sudah tepat secara geografis. Tahapan ini dilakukan dengan cara menentukan setidaknya empat titik kontrol pada peta dasar di mana koordinat dari setiap titik menjadi input georeferensi. Selain itu ditentukan jenis proyeksi yang digunakan yaitu proyeksi WGS1984. Proses ketiga yaitu digitasi, yaitu dilakukan konversi atau perekaman fitur-fitur peta, baik titik yang merepresentasikan titik awal, titik akhir atau persimpangan jalan dan garis yang merepresentasikan segmen jalan. Struktur atribut dibuat mengikuti model topologi Arc-Node yang menyatakan informasi bagaimana suatu segmen jalan diapit oleh simpul awal dan simpul akhir (Gambar 2).

Implementasi Metode Optimasi Koloni Semut

Metode optimasi metaheuristik Koloni Semut pada penelitian ini menggunakan algoritme yang diusulkan oleh Dorigo & DiCaro (1999) yaitu algoritme SACO yang dimodifikasi. Pada SACO terdapat beberapa parameter yaitu (koefisien pengaruh feromon bernilai positif) ρ (konstanta penguapan feromon), t (jumlah iterasi) dan nk (jumlah semut) dimana penentuan konfigurasi parameter

akan sangat menentukan kinerja dari algoritme SACO.

Pengujian pada Data Jaringan Buatan dan Data Jaringan Jalan Riil

Pengujian pada data jaringan buatan dilakukan untuk melihat pengaruh parameter algoritme Koloni Semut yaitu α, ρ, nk dan t terhadap hasil optimal dan waktu

(25)

13

panjang jalur dan waktu eksekusi. Penghentian program dilakukan saat proses sudah menyelesaikan seluruh iterasi sebanyak t. Dari hasil pengujian didapatkan gambaran pengaruh parameter terhadap panjang jalur. Selanjutnya dipilih kombinasi α, ρ k dan t yang memberikan hasil terbaik pada data buatan.

Gambar 2 Struktur topologi Arc-Node

Pada data JJR, dilakukan pengujian menggunakan algoritme ACO dan algoritme Dijkstra. Pada ACO pengujian dilakukan dengan menentukan sepasang simpul yaitu simpul sumber dan simpul tujuan. Untuk setiap percobaan dilakukan lima kali ulangan. Pada percobaan ini digunakan kombinasi parameter ACO yang terbaik hasil percobaan pada data jaringan buatan. Pada algoritme Dijkstra dilakukan pengujian dengan menggunakan pasangan simpul yang sama dengan percobaan pada algoritme Koloni Semut juga dengan lima ulangan untuk tiap percobaan. Dari hasil ulangan pada tiap percobaan dihitung nilai rata-rata parameter kinerja. Waktu eksekusi yang diukur yaitu total waktu dari masing-masing metode dalam mengkonstruksi jalur terpendek.

Perbandingan Hasil Optimasi Koloni Semut dan Dijkstra

Hasil dari algoritme Koloni Semut kemudian dibandingkan dengan hasil dari algoritme Dijkstra baik pada jumlah simpul, panjang jalur serta waktu eksekusi dari solusi yang dihasilkan oleh masing-masing algoritme. Perbandingan kinerja dilakukan untuk melihat kualitas solusi yaitu panjang jalur dan waktu eksekusi dari algoritme Koloni Semut terhadap algoritme Dijkstra.

Bobot

Simpul

(26)

14

4 HASIL DAN PEMBAHASAN

Jaringan Buatan dan Jaringan Jalan Riil

Untuk jaringan buatan yang digunakan adalah jaringan berukuran v = 4 (4 × 4) dan v = 5 (5 × 5) sedangkan dari praproses data JJR dihasilkan tiga buah data JJR yaitu JJR Kota Bogor Tengah dan JJR Provinsi Aceh (Gambar 3) serta JJR rute Bus karyawan IPB Baranangsiang-Dramaga (Gambar 4). Karakteristik dari data dapat dinyatakan oleh rasio sisi terhadap simpul yang menunjukan kompleksitas dari jaringan jalan. Makin besar nilai rasio sisi terhadap simpul maka makin banyak persimpangan yang terbentuk, makin banyak alternatif jalur yang terbentuk dalam jaringan jalan atau dengan kata lain makin kompleks jaringan jalan tersebut. Tabel 1 menunjukan karakteristik dari data buatan sedangkan Tabel 2 menunjukan karakteristik dari data JJR.

Tabel 1 Karakteristik data jaringan buatan

No Data Jumlah

sisi Jumlah simpul

Ratio sisi terhadap simpul

1 Data Buatan 4 × 4 42 16 2.625

2 Data Buatan 5 × 5 72 25 2.88

Tabel 2 Karakteristik data JJR

No Data Jumlah

sisi Jumlah simpul

Rasio sisi terhadap simpul

1 Data JJR Aceh 224 161 1.391

2 Data JJR Bogor Tengah 534 372 1.43

3 Data JJR Bus IPB 41 36 1.13

(a) (b)

Gambar 3 JJR Provinsi Aceh (a) dan JJR Kota Bogor Tengah (b)

(27)

15

Gambar 4 Jaringan jalan rute bus IPB Baranangsiang-Dramaga

Implementasi Metode Koloni Semut dan Metode Dijkstra

Metode koloni Semut dan Dijkstra diimplementasikan dalam bahasa Python versi 3. Pada algoritme SACO dilakukan dua modifikasi. Pertama dengan menambahkan suatu nilai acak terkontrol, yaitu nilai acak yang berada pada selang tertentu pada fungsi probabilitas transisi yang memungkinkan semut mengkonstruksi jalur alternatif lebih cepat. Kedua penambahan fungsi mekanisme mundur pada semut buatan sehingga saat semut berada pada simpul buntu yaitu posisi dimana tidak terdapat kemungkinan simpul selanjutnya (feasible node), semut buatan akan kembali ke simpul sebelumnya dan melanjutkan pencarian dengan tidak memperhitungkan lagi simpul buntu tersebut. Pada algoritme SACO terdapat tiga fungsi utama yaitu fungsi pemilihan simpul atau probabilitas transisi (Gambar 5) yang digunakan untuk konstruksi jalur, fungsi penguapan feromon (Gambar 6), dan fungsi penambahan feromon (Gambar 7). Pada algoritme SACO digunakan tipe data List. Kode lengkap SACO yang dimodifikasi dapat dilihat pada Lampiran 1.

Gambar 5 Kode program fungsi pemilihan simpul

(28)

16

Gambar 7 Kode program fungsi penambahan feromon

Pada algoritme Dijkstra digunakan tipe data List dengan struktur data Heapq atau juga disebut Priority queue. Penggalan fungsi utama algoritme Dijkstra dapat dilihat pada Gambar 8. Kode lengkap Dijkstra dapat dilihat pada Lampiran 2.

Gambar 8 Kode program fungsi utama algoritme Dijkstra

Pengujian pada Data Jaringan Buatan dan Data Jaringan Jalan Riil

Pengujian pada Data Jaringan Buatan

Pengujian pada data buatan dilakukan dengan menguji beberapa kombinasi parameter. Untuk nilai konstanta di tentukan lima buah nilai dalam selang [0, 2] yaitu 0.1, 0.5, 1, 1.5, 2. Untuk nilai konstanta ρ ditentukan tiga buah nilai dalam selang [0, 1] yaitu 0.1, 0.5 dan 0.9. Untuk jumlah semut (nk) ditentukan sebanyak 5

semut dalam tiap iterasi, dimana untuk penentuan jumlah semut didapatkan dari percobaan awal yang menunjukan bahwa jumlah semut 5 menghasilkan jumlah jalur alternatif yang sesuai dengan kebutuhan evaluasi alternatif solusi tanpa menggunakan sumberdaya yang berlebih. Untuk jumlah iterasi (t) dilakukan sebanyak t = 10 dengan pertimbangan waktu eksekusi dimana berdasarkan percobaan lainnya dengan nilai t lebih tinggi mengakibatkan waktu eksekusi bertambah sebanding penambahan nilai iterasi dengan perubahan kualitas panjang jalur yang tidak signifikan seperti ditunjukan dalam percobaan dengan t = 20 pada Lampiran 5. Hasil pengujian disajikan pada Tabel 3 dan Tabel 4.

(29)

17

Tabel 3 Hasil percobaan pada graf buatan dengan jumlah sisi v = 4 dan jumlah iterasi t = 10

(30)

18

Pengujian pada Data Jaringan Jalan Riil

Pengujian pada data JJR menggunakan parameter terbaik hasil percobaan pada data buatan yaitu α = 0.1 dan ρ = 0.1 dengan jumlah semut nk = 5 dan jumlah

iterasi t = 10. Hasil percobaan pada data JJR Aceh dan Bogor Tengah disajikan pada Tabel 5, Tabel 6, Tabel 7 dan Tabel 8. Untuk hasil percobaan lengkap JJR Aceh dapat dilihat pada Lampiran 3 dan untuk JJR Bogor Tengah pada Lampiran 4.

Tabel 5 Hasil percobaan pada data JJR Aceh

Perc-Tabel 6 Jalur terbaik untuk percobaan pada data JJR Aceh

(31)

19

percobaan 1, 2 dan 3 ACO memiliki waktu eksekusi yang lebih baik dibandingkan dengan Dijkstra sedangkan Dijkstra memiliki waktu eksekusi yang lebih baik pada percobaan 4 dan 5.

Hasil percobaan untuk data JJR Bogor Tengah disajikan dalam Tabel 7. Dari hasil percobaan pada data JJR Bogor Tengah, untuk panjang jalur pada semua percobaan Dijkstra lebih baik dibandingkan dengan ACO. Hasil konstruksi jalur terbaik dari kedua algoritme pada data JJR Bogor Tengah disajikan dalam Tabel 8.

(a) (b)

Gambar 9 Jalur terbaik hasil ACO (a) dan hasil Dijkstra (b) untuk data Aceh pada Percobaan 5

Contoh hasil visualisasi dari jalur terbaik yang dibangun oleh metode ACO dan Dijkstra untuk percobaan pada data JJR Bogor Tengah dapat dilihat pada Gambar 10. Untuk waktu eksekusi, pada seluruh percobaan yang dilakukan, ACO memiliki waktu eksekusi yang lebih baik dibandingkan dengan algoritme Dijkstra.

Tabel 7 Hasil percobaan pada data JJR Bogor Tengah

(32)

20

Dijkstra. Untuk waktu eksekusi, metode Koloni Semut memiliki waktu eksekusi rata-rata yang lebih cepat daripada algoritme Dijkstra kecuali pada percobaan ke 4 dan 5 dalam Tabel 7.

(33)

21

yang lebih lambat yang diakibatkan oleh dua hal. Pertama, pada percobaan 4 dan 5 letak dari titik awal dan titik tujuan berada pada ujung jaringan sehingga area pencarian semut hampir meliputi seluruh jaringan. Kedua, pada data Aceh simpul dan sisi tidak menyebar merata dalam jaringan sehingga terdapat area yang memiliki derajat simpul tinggi yang berarti dalam area tersebut terdapat banyak alternatif jalur yang dieksplorasi semut buatan dan berakibat pada waktu eksekusi.

Pengujian pada Data Jalur Bus Karyawan IPB

Pengujian juga dilakukan terhadap data jalur bus karyawan IPB dengan rute Kampus Baranangsiang ke Kampus Dramaga dan sebaliknya. Pada pengujian ini dilakukan pengujian untuk mencari jalur terpendek dan jalur tercepat. Jalur bus karyawan IPB tersebut melewati tiga jalur yaitu jalur Jalan Baru, jalur Stasiun Kereta Bogor dan jalur Sukasari-Pasir kuda (Gambar 11). Hasil percobaan dapat dilihat pada Tabel 9. Hasil visualisasi dari solusi untuk kasus JJR Bus IPB dapat dilihat pada Gambar 12.

(a) (b)

Gambar 10 Jalur terbaik hasil ACO (a) dan hasil Dijkstra (b) untuk data Bogor Tengah pada Percobaan 4

(34)

22

Tabel 9 Hasil percobaan pada data jalur bus karyawan IPB

Jalur meter

Para-Gambar 12 Solusi jalur Jalan Baru (a) dan solusi jalur Stasiun kereta (b) Dari hasil percobaan pada data jalur bus karyawan IPB, untuk jalur pagi dari Kampus Baranangsiang menuju Kampus Dramaga baik rute terpendek dan tercepat adalah melewati jalur jalan baru dengan panjang jarak ± 14.247 km dan waktu tempuh ± 50 menit. Untuk rute sore dari Kampus Dramaga menuju Kampus Baranangsiang jalur terpendek adalah melalui jalur Stasiun kereta Bogor dengan jarak ± 14.519 km sedangkan untuk waktu tempuh yang lebih cepat adalah melalui jalur Jalan baru dengan waktu tempuh ± 72 menit.

5

SIMPULAN DAN SARAN

Simpulan

Berdasarkan percobaan yang dilakukan pada data jaringan jalan riil dengan menggunakan kombinasi parameter α = 0.1, ρ = 0.1, nk = 5 dan t = 10, pada

(35)

23

Untuk panjang dari jalur terpendek, dari sebagian besar percobaan algoritme Dijkstra lebih baik dibandingkan dengan algoritme Koloni Semut namun algoritme Koloni Semut juga dapat menghasilkan panjang jalur yang setara dengan algoritme Dijkstra.

Saran

1. Penelitian selanjutnya dapat mengakomodir JJR dua arah.

2. Melakukan pencarian parameter optimal menggunakan teknik seperti Grid search dan mencoba varian algoritme lainnya dari metode Koloni Semut. 3. Memanfaatkan fitur-fitur dalam SIG seperti fitur buffer untuk mengendalikan

ukuran ruang pencarian.

(36)

24

DAFTAR PUSTAKA

Attiratanasunthron N, Fakcharoenphol J. 2008. A running time analysis of an ant colony optimization algorithm for shortest path in directed acyclic graphs. Information Processing Letters.105:88-92.

Behzadi S, Alesheikh AA, Poorazizi E. 2008. Developing a genetic algorithm to solve shortest path problem on raster a data model. Journal of applied science. 8(18): 3289-3293.

Barus B, Wiradisastra US. 2009. Sistem informasi geografi sarana manajemen sumberdaya. Bogor (ID). Laboratorium Ilmu Tanah IPB.

Brezina I, Cickova Z. 2011. Solving the travelling salesman problem using the ant colony optimization. Management Information Systems. 6: 010-014.

Chang KT. 2008. Introduction to GIS Ed ke-4. New York (US). McGraw Hill. Cherkassky BV, Goldberg AV, Radzik T. 1996. Shortest path algorithms: theory

and experimental evaluation. Mathematical Programming: Series A and B. 73: 129-174.

Cormen T, Leiserson CE, Rivest LR, Stein S. 2009. Introduction to Algorithms 3rd Edition. Massachusetts (US). MIT Press.

Curtin KM. 2007. Network analysis in geographic information science: review, assessment and projection. Cartography and Geographic Information Science. 34(2): 103-111.

Dijkstra EW. 1959. A Note on two problems in connection with graphs. Numerishce Mathematik. 1: 269-271.

Farhan B, Murray AT. 2005. A SIG based approach for delineating market areas for park and ride facilities. Transaction in GIS. 9: 91-108.

Horner M, Grubesic T. 2001. A SIG based planning approach to locating urban rail terminals. Transportation. 28: 55-77.

Dorigo M, DiCaro G. 1999. The ant colony optimization meta-heuristic. Di dalam: Corne D, Dorigo M, Glover F, editor. New ideas in optimization; Maidenhead (UK).McGraw Hill. 11-32.

Dorigo M, Stutzle T. 2004. Ant Colony Optimization. MIT Press. Massachusetts. Engelbrecht A.P. 2007. Computational Intelligence: An Introduction 2nd

Edition.New York (US). Wiley.

Jabber FM, Ali KH, Hassan KR. 2006. Ant Colony Optimization for Coloring Problem. Basrah Journal of Science. 24(2):38-47.

Fenet S, Solnon C. (2003). Searching for maximum cliques with ant colony optimization. Hart E, Johnson CG, Marchiori E (Editor). Applications of Evolutionary Computing, Proceedings of EvoWorkshops 2003 of Lecture Notes in Computer Science. 2611: 236–245. Berlin (DE). SpringerVerlag.

Kolavi SR, Bhatnagar S. 2009. Ant Colony Optimization Algorithms for Shortest Path Problems. Network Control and Optimization Lecture Notes in Computer Science. 5425: 37-44. Springer.

(37)

25

Lim Y, Kim H. 2005. A Shortest Path Algorithm for Real Road Network Based on Path Overlap. Journal of the Eastern Asia Society for Transportation Studies. 6: 1426-1438.

Merkle D, Middendorf M, Schmeck H. 2002. Ant colony optimization for resource-constrained project scheduling. IEEE Transactions on Evolutionary Computation. 6(4): 333–346.

Neuman F, Witt C. 2009. Runtime analysis of a simple ant colony optimization algorithm. Algorithmica. 54(2): 243-255.

Resende MGC, Pardalos PM. 2006. Handbook of optimization in telecommunications. New York (US). Springer.

Zeng W, Church RL. 2008. Finding shortest path on real road networks: the case for A*. International journal of geographical information science. 23: 531-543. Zhan FB, Noon CE. 1998. Shortest path algorithms: an evaluation using real road

(38)

26

LAMPIRAN

Lampiran 1 Kode Program ACO

##---Modified Simple Ant Colony Code---##

##©Edwin Tenda, Imas Sukaesih Sitanggang & Baba Barus @ILKOM IPB. 2014##

links_feromon_init=random.random() #beri nilai awal feromon tiap link

global_k_solution_lst=[] ##list untuk menyimpan set solusi global global_k_solution_length=[] ##list untuk menyimpan nilai solusi local/f(x)

for k in range (iteration_): t1 = time.clock()

ant=0

global_solution_lst=[] global_solution_length=[]

for ant in range(1,ant_total+1):

path_list=[] ##list untuk menyimpan set solusi local path_list_clear=[]##list untuk menyimpan set solusi local bebas loop

local_solution_length=[] ##list untuk menyimpan nilai solusi local

(39)

27

(40)

28

print ("min global k ant length: ",global_k_solution_length [global_k_solution_length.index(min(global_k_solution_length))])

###Konversi index hasil optimal kedalam bentuk path ----## path_index=[]

for idx, val in

enumerate(global_k_solution_lst[global_k_solution_length.index(min( global_k_solution_length))]):

(41)

29

Lampiran 2 Kode Program Dijkstra

##Credit to: Max Burstein-->

def shortest_path(self, start, finish):

distances = {} # Distance from start to node#

# Vertex in nodes with smallest distance in distances# if smallest == finish:

# If the closest node is our target we're done so print the path# path = []

while previous[smallest]:

# Traverse through nodes til we reach the root which is 0# path.append(smallest)

smallest = previous[smallest] return path

if distances[smallest] == sys.maxsize: # All remaining vertices are inaccessible from source# break

for neighbor in self.vertices[smallest]: # Look at all the nodes that this vertex is attached to# alt = distances[smallest] +

self.vertices[smallest][neighbor] # Alternative path distance if alt < distances[neighbor]:

(42)

30

def __str__(self):

return str(self.vertices)

if __name__ == '__main__': g = Graph()

for line in open("D:/Project_thesis/Data/Dijkstra_aceh.txt", "r"):

print ("List solution:",list_solution) #Pair dari startnode-end node#

##Delete doubled value index## duplicates_x=[]

duplicates_x= [x for i, x in enumerate ( combined_ST) if combined_ST.count(x) > 1]

duplicates_x= list(set(duplicates_x)) double_nodes=[]

for idx, val in enumerate(duplicates_x):

for index, value in enumerate(combined_ST): if val==value:

double_nodes.append(index) break

#Find the solution list index from the search space# path_index2=[] #hasilnya adalah index dari fitur# for idx, val in enumerate(list_solution):

for index, value in enumerate(combined_ST): if value==val:

path_index2.append(index) for idx, val in enumerate(double_nodes):

for index, value in enumerate(path_index2): if value==val:

path_index2.remove(val) #Count The Total Length#

length_total=0

for idx,val in enumerate(path_index2):

for index,value in enumerate(search_spaceL): if index==val:

(43)

31

##--Dijkstra final solution--##

print ("Length Total:", length_total) print("Dijkstra time:", t2-t1)

(44)

32

Lampiran 3 Hasil Percobaan lengkap pada data JJR Aceh

Per-Rata-rata 310900.2 0.010481728 17.2 309007 0.01248528 19

2.1 121-68 243879 0.004833031 12 243879 0.01012401 12

2.2 121-68 243879 0.004381675 12 243879 0.01761389 12

2.3 121-68 243879 0.00426737 12 243879 0.01761389 12

2.4 121-68 243879 0.007316224 12 243879 0.01118573 12

2.5 121-68 243879 0.007595391 12 243879 0.01008225 12

Rata-rata 243879 0.005678738 12 243879 0.01332395 12

3.1 162-22 448264 0.016685534 36 447978 0.01848583 36

3.2 162-22 449842 0.017660054 31 447978 0.01842208 36

3.3 162-22 448897 0.017377223 36 447978 0.01748640 36

3.4 162-22 447978 0.015387884 35 447978 0.01849682 36

3.5 162-22 449558 0.017965599 36 447978 0.01828726 36

Rata-rata 448907.8 0.017015259 34.8 447978 0.01823568 36

4.1 162-139 559295 0.020718433 28 557987 0.02047004 30

4.2 162-139 560675 0.029461999 27 557987 0.02108919 30

4.3 162-139 559565 0.021578648 25 557987 0.01794362 30

4.4 162-139 580272 0.018067447 33 557987 0.01901046 30

4.5 162-139 559744 0.025247385 30 557987 0.02071037 30

Rata-rata 563910.2 0.023014783 28.6 557987 0.01984474 30

5.1 162-142 748615 0.020594604 27 744507 0.02427067 33

5.2 162-142 770421 0.022976681 43 744507 0.02214577 33

5.3 162-142 746860 0.0242714 29 744507 0.01959810 33

5.4 162-142 747547 0.021470206 31 744507 0.01918631 33

5.5 162-142 765184 0.0233936 43 744507 0.01997399 33

(45)

33

Lampiran 4 Hasil percobaan lengkap pada data JJR Bogor Tengah Per-Rata-rata 2981.260 0.020782473 18.4 2842.66402 0.02437984 19 2.1 0-330 6455.396 0.038790277 40 5932.81264 0.04937737 39 2.2 0-330 6567.647 0.045447052 41 5932.81264 0.04822040 39 2.3 0-330 6917.816 0.043194666 39 5932.81264 0.04847466 39 2.4 0-330 6120.187 0.05404041 41 5932.81264 0.05032844 39 2.5 0-330 6276.402 0.043901009 42 5932.81264 0.04812881 39 Rata-rata 6467.490 0.045074683 40.6 5932.81264 0.04890594 39 3.1 0-384 8033.450 0.057972926 47 7997.2115 0.06778040 46 3.2 0-384 8316.894 0.055036911 45 7997.2115 0.05173380 46 3.3 0-384 8396.982 0.058160503 48 7997.2115 0.06283801 46 3.4 0-384 7997.211 0.051442912 46 7997.2115 0.04931582 46

3.5 0-384 8830.010 0.05357733 46 7997.2115 0.05103918 46

(46)

34

Lampiran 5 Percobaan pada data buatan dengan nilai iterasi t = 20

Hasil percobaan pada graf dengan jumlah sisi v = 4 dan jumlah iterasi t = 20 Koefisien

(47)

35

RIWAYAT HIDUP

Penulis dilahirkan di Minahasa Selatan, Sulawesi Utara pada tanggal 8 April 1987 sebagai anak ke empat dari empat bersaudara, dari pasangan Bapak Jootje A Tenda dan Ibu Margootje Rumondor.

Gambar

Gambar 1  Graf lengkap berarah berpola persegi dengan
Gambar 2  Struktur topologi Arc-Node
Tabel 1  Karakteristik data jaringan buatan
Gambar 4  Jaringan jalan rute bus IPB Baranangsiang-Dramaga
+7

Referensi

Dokumen terkait

Tiada kehidupan yang dalam keridhaan-Nya dalam sebaik-baiknya Maha Penolong, yang telah memberikan berbagai nikmat, kemudahan, dan kelancaran sehingga penulis dapat

Perlu di lakukan penelitian lebih lanjut tentang pemakaian alat pelindung diri kacamata las dengan gangguan mata pada siswa kelas 1 teknik pemesinan SMK Muhammadiyah 1

Seminar Nasional Peranan Konservasi Flora Indonesia Dalam Mengatasi Dampak Pemanasan Global telah diselenggarakan pada tanggal 14 Juli 2009 di Kebun Raya “Eka Karya” Bali -

Berdasarkan bentuk-bentuk kritik sosial yang telah dikemukan oleh Soekanto tersebut, maka masalah sosial yang terdapat dalam kumpulan puisi Malu (Aku) Jadi Orang

Kabupaten Gorontalo Utara terletak di wilayah pesisir pantai utara Provinsi Gorontalo, disahkan menjadi daerah otonom berdasarkan Undang-Undang Nomor 11 tahun 2006 tanggal 8

Zoning dilakukan dengan cara melakukan survei lapangan secara langsung untuk melihat kondisi pembuangan lumpur Lapindo di Sungai Porong. Setelah dilakukan

Dengan menerapkan metode Lagrangian dan pengukuran kedalaman, diperoleh hasil bahwa ruang pantai bagian Barat memiliki perairan yang dangkal dibandingkan bagian

Di wilayah equatorial, pengaruh ENS0 maupun IOD tidak setinggi monsun, keterlarnbatan tanam hanya tejadi di Pesisir Selatan saat tejadinya ENS0 dan IOD dengan