Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek

dokumen-dokumen yang mirip
Aplikasi Graf pada Penentuan Jadwal dan Jalur Penerbangan

Pengaplikasian Algoritma Dijkstra Dalam Pembuatan Agenda Penerbangan

Pencarian Lintasan Terpendek Pada Peta Digital Menggunakan Teori Graf

JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: ( Print) A-51

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Graf Berupa Senarai Berkait serta Algoritma Dijkstra dalam Pemrosesan Data Struktur Bangunan

BAB I PENDAHULUAN. Pada awal diciptakan, komputer hanya difungsikan sebagai alat hitung

BAB IV ANALISIS MASALAH

Desain Rute Terpendek untuk Distribusi Koran Dengan Algoritma Ant Colony System

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

Penyelesaian Traveling Salesperson Problem dengan Menggunakan Algoritma Semut

BEBERAPA APLIKASI GRAF

ALGORITMA DJIKSTRA, BELLMAN-FORD, DAN FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK DARI SUATU GRAF

I. PENDAHULUAN. Bellman-Ford, Dijkstra, Floyd-Warshall, link-state routing protocol.

ANT COLONY OPTIMIZATION


Pencarian Jalur Terpendek dengan Algoritma Dijkstra

APLIKASI PENCARIAN RUTE TERPENDEK DAERAH WISATA KOTA KEDIRI MENGGUNAKAN ALGORITMA DIJKSTRA SKRIPSI

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

PENEMUAN JALUR TERPENDEK DENGAN ALGORITMA ANT COLONY. Budi Triandi

SISTEM ALOKASI PENYIMPANAN BARANG PADA GUDANG

PENERAPAN ALGORITMA FLOYD WARSHALL UNTUK MENENTUKAN JALUR TERPENDEK DALAM PENGIRIMAN BARANG

ALGORITMA SEMUT PADA PENJADWALAN PRODUKSI JOBSHOP

JURNAL IT STMIK HANDAYANI

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

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK MENENTUKAN JARAK TERPENDEK DALAM PENDISTRIBUSIAN TELUR

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Matematika dan Statistika

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

Pencarian Rute Terpendek pada Citra Labirin Menggunakan Algoritma Dijkstra sebagai Pemandu Gerak Micromouse Robot

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

Penyelesaian Masalah Travelling Salesman Problem Menggunakan Ant Colony Optimization (ACO)

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

IMPLEMENTASI PERBANDINGAN ALGORITMA ANT COLONY SYSTEM DENGAN ALGORITMA SUBSET DYNAMIC PROGRAMMING PADA KASUS TRAVELLING SALESMAN PROBLEM

BAB III ALGORITMA ANT DISPERSION ROUTING (ADR)

BAB I PENDAHULUAN. dalam teori graf dikenal dengan masalah lintasan atau jalur terpendek (shortest

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

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

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

PENENTUAN RUTE OPTIMAL PADA KEGIATAN PENJEMPUTAN PENUMPANG TRAVEL MENGGUNAKAN ANT COLONY SYSTEM

BAB III METODOLOGI PENELITIAN

AS IR O R U O TI U N TI G P AD

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. informasi geografi seperti pada tabel dibawah ini: Tabel 2.1 Tabel Tinjauan Pustaka

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

VISUALISASI PENCARIAN LINTASAN TERPENDEK ALGORITMA FLOYD- WARSHALL DAN DIJKSTRA MENGGUNAKAN TEX

Penerapan Graf dalam Optimasi Jalur Penerbangan Komersial dengan Floyd-Warshall Algorithm

BAB I PENDAHULUAN. dinaikkkan tegangannya untuk meminimalisir rugi-rugi daya, kemudian energi listrik

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

BAB I PENDAHULUAN 1.1 Latar Belakang

LEMBAR PENGESAHAN LEMBAR PERNYATAAN HAK CIPTA ABSTRAK...

IMPLEMENTASI METODE DIJKSTRA DALAM MOBILE APLIKASI PENCARIAN SPBU TERDEKAT DI KOTA PALEMBANG. Vina Meitasari 1, Ali Nurdin 1, Aryanti 1

BAB III ANALISA DAN PERANCANGAN

PERANCANGAN APLIKASI ISLAMIC BOARDING SCHOOL FINDER BERBASIS ANDROID MENGGUNAKAN ALGORITMA DIJKSTRA

Penerapan Teori Graf untuk Pathfinding pada Permainan Elektronik

BAB 2 LANDASAN TEORI

VISUALISASI GRAFIS ALGORITMA DIJKSTRA SEBAGAI MEDIA PEMBELAJARAN ALGORITMA GRAF

Artikel Ilmiah oleh Siti Hasanah ini telah diperiksa dan disetujui oleh pembimbing.

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

PERANCANGAN APLIKASI PENCARIAN RUTE TERPENDEK MENEMUKAN TEMPAT PARIWISATA TERDEKAT DI KEDIRI DENGAN METODE FLOYD- WARSHALL UNTUK SMARTPHONE

BAB III ANALISIS DAN PERANCANGAN. dan memudahkan dalam pengembangan sistem selanjutnya. Tujuan dari analisa

BAB 1 PENDAHULUAN. selalu bertambah disetiap tahunnya. Hal ini dapat menimbulkan semakin. memperoleh keuntungan yang maksimal, maka diperlukan

AKSES INFORMASI PENGIRIMAN BARANG DI KANTOR POS JEMUR SARI UNTUK AREA SURABAYA TIMUR MENGGUNAKAN METODE ANT COLONY OPTIMIZATION BERBASIS WAP

IMPLEMENTASI ALGORITMA SEMUT UNTUK PENCARIAN RUTE TERPENDEK BERBASIS SISTEM INFORMASI GEOGRAFIS

BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA ANT COLONY UNTUK TRAVELLING SALESMAN PROBLEM PADA PERANGKAT BERGERAK

1. Pendahuluan Salah satu contoh perkembangan teknologi adalah teknologi dalam pencarian rute terpendek. Kehadiran teknologi pencarian rute dapat

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

RANCANG BANGUN PERANGKAT LUNAK VISUALISASI GRAFIS ALGORITMA DIJKSTRA

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

IMPLEMENTASI METODE ANT COLONY OPTIMIZATION UNTUK PEMILIHAN FITUR PADA KATEGORISASI DOKUMEN TEKS

UNIVERSITAS BINA NUSANTARA

Optimasi Pencarian Jalur Lalu Lintas Antar Kota di Jawa Timur dengan Algoritma Hybrid Fuzzy-Floyd Warshall

OPTIMASI RUTE PERJALANAN AMBULANCE MENGGUNAKAN ALGORITMA A-STAR. Marhaendro Bayu Setyawan

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Optimasi pada Rute Truk Peti Kemas dengan Algoritma Optimasi Koloni Semut

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

BAB I PENDAHULUAN. dapat kita lihat betapa kompleksnya persoalan persoalan dalam kehidupan

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

ALGORITMA BELLMAN-FORD DALAM DISTANCE VECTOR ROUTING PROTOCOL

ALGORITMA MENCARI LINTASAN TERPENDEK

PERANCANGAN SISTEM OPTIMASI RUTE DISTRIBUSI PENGANGKUTAN SAMPAH DI SURABAYA SECARA ADAPTIF MENGGUNAKAN METODE ALGORITMA KOLONI SEMUT

BAB I Pendahuluan Latar Belakang Masalah

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

KATA PENGANTAR. Bukit Jimbaran, Agustus 2017 Penyusun. A.A. Gde Ari Sudana

TIP 163. Game Engine. Topik 5 (Pert 6) Graf, Representasi Dunia, dan Algoritma Pencari Jalur (Pathfinding) Dosen: Aditya Wikan Mahastama

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

BAB III ANALISA DAN DESAIN SISTEM. melakukan evaluasi terhadap Sistem Informasi Geografis Rute Terpendek Kantor

PENDUKUNG SISTEM PEMASARAN DENGAN ALGORITMA ANT COLONY ABSTRAK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Pemanfaatan Algoritma Hybrid Ant Colony Optimization dalam Menyelesaikan Permasalahan Capacitated Minimum Spanning Tree. Tamam Asrori ( )

Transkripsi:

Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek Finsa Ferdifiansyah NIM 0710630014 Jurusan Teknik Elektro Konsentrasi Rekayasa Komputer Fakultas Teknik Universitas Brawijaya, Jl. M.T. Haryono. 167, Malang 65145, Indonesia finsa@ferdifiansyah.com Dosen Pembimbing : 1. Adharul Muttaqin ST.,MT 2. Ir. Muhammad Aswin, MT Abstrak Pencarian jalur terpendek merupakan pencarian sebuah jalur pada graf berbobot yang meminimalkan jumlah bobot sisi pembentuk jalur tersebut. Dengan begitu jalur yang dihasilkan merupakan jalur yang memiliki bobot atau jarak yang paling sedikit. Salah satu penerapan pencarian jalur terpendek terdapat pada aktivitas maskapai penerbangan yang mana jalur-jalur antar kota yang dilewatinya akan membentuk suatu graf berarah dan berbobot. Dari graf yang terbentuk inilah akan diproses menggunakan algoritma Dijkstra dan Ant Colony untuk menentukan jalur terpendek dari suatu kota ke kota yang lain. Pada proses Algoritma, Dijkstra memerlukan data jarak setiap kota terlebih dahulu sebelum memulai proses algortimanya. Sedangkan pada Algoritma Ant Colony, tidak memerlukan jarak setiap kota karena pada Ant Colony jarak antar kota dihitung setelah semut menyelesaikan perjalanannya. Sehingga Algoritma Dijkstra hanya bisa berjalan jika terlebih dahulu diketahui jarak tiap kota, sedangkan pada Algoritma Ant Colony tidak memerlukan jarak tiap kota untuk menjalankan prosesnya. Dari hasil proses kedua algoritma diketahui jalur yang dihasilkan oleh algoritma Dijkstra lebih konsisten dan tepat daripada algoritma Ant Colony yang mana memberikan hasil yang belum tentu sama dalam setiap prosesnya. Rata-rata memory yang digunakan pada algoritma Dijkstra sebesar 82,204 KB dan algoritma Ant Colony sebesar 90,404 KB. Sedangkan dari analisa kompleksitas waktu pada algoritma Dijkstra diperoleh persamaan ( ) ( ) dan pada Algoritma Ant Colony persamaannya ( ) ( ). Kata Kunci Dijkstra, Ant Colony, jalur terpendek, perbandingan algoritma D alam melakukan perjalanan jarak jauh seperti misalnya perjalanan antar kota-kota besar di Indonesia, tentunya tidak bisa diakukan hanya dengan sekali perjalanan karena terbatasnya transportasi atau kendala yang lain. Salah satu transportasi yang bisa melakukan perjalanan jarak jauh, antar pulau dan memerlukan waktu yang relatif singkat adalah pesawat terbang. Akan tetapi maskapai penerbangan tidak sepenuhnya menyediakan jasa perjalanan dari kota asal ke kota tujuan secara langsung, melainkan mereka memiliki jalur perjalanannya sendiri yang mana jalur tersebut menghubungkan antara kota atau bandara dengan kota terdekat lainnya. Untuk itu, kita harus mengetahui jalur-jalur antar kota yang akan dilewati agar bisa memperkitakan jalur mana saja yang akan dilalui sehingga bisa ditemukan jalur yang terpendek Dalam ilmu komputer, untuk menentukan jalur terpendek diperlukan suatu algoritma. Algoritma yang bisa digunakan untuk menentukan jalur terpendek adalah algoritma Dijkstra dan Ant Colony. Dari permasalahan tersebut maka diperlukan suatu penelitian untuk menganalisa karakteristik maupun penerapan kedua algoritma tersebut. A. Skema Algoritma Dijkstra Pada graf berikut akan menentukan jalur terpendek dari node 1 ke node 3. Gambar 1. Graf menentukan jalur terpendek dari node 1 ke node 3 Ada beberapa jalur yang mungkin misalnya 1 -> 4 -> 3, atau 1 -> 2 -> 3 dan lain-lain, tetapi cara yang paling efektif adalah : a. Menentukan node awal dengan memberikan nilai 0 pada node tersebut dan memberikan nilai tak hingga ( ) pada node yang lainnya Gambar 2. node awal (1) bernilai 0 dan lainnya bernilai tak hingga ( ) 1

b. Menentukan bobot paling kecil untuk melangkah ke node selanjutnya. Pada gambar diketahui bahwa untuk melangkah ke node 4 memiliki bobot terkecil, kemudian memberikan nilai atau label permanen pada node 4 yaitu bernilai 5. Gambar 3. Menentukan bobot minimum c. Mencari node terpendek berikutnya yaitu yang memiliki bobot minimum dengan membandingkan nilai biaya menuju node tersebut atau melalui node yang telah memiliki nilai permanen. Gambar 4. Menentukan bobot minimum untuk menuju node selanjutnya d. de 2 dan node 5 memiliki nilai yang sama, maka selanjutnya dilakukan pencarian jalur yang paling efektif dari kedua node tersebut Setelah dibandingkan, ternyata jalur dari node 2 memiliki nilai paling minimum. Sehingga bisa ditentukan jalur terpendek dari node 1 ke node 3 adalah 1» 4» 2» 3. B. Pseudocode Dijkstra 1 function Dijkstra(Graph, source): 2 for each vertex v in Graph: 3 dist[v] := infinity ; 4 previous[v] := undefined ; 5 end for 6 7 dist[source] := 0 ; 8 Q := the set of all nodes in Graph ; 9 10 while Q is not empty: 11 u := vertex in Q with smallest distance in dist[] ; 12 remove u from Q ; 13 if dist[u] = infinity: 14 break ; 15 end if 16 17 for each neighbor v of u: 18 alt := dist[u] + dist_between(u, v) ; 19 if alt < dist[v]: 20 dist[v] := alt ; 21 previous[v] := u ; 22 decrease-key v in Q; 23 end if 24 end for 25 end while 26 return dist; Gambar 5. Menentukan jalur yang paling efektif dari node 5 Gambar 6. Menentukan jalur yang paling efektif dari node 2 2

C. Diagram Alir Algoritma Dijkstra Gambar 7. Diagram Alir Dijkstra II. ALGORITMA ANT COLONY Algoritma Semut (Ant Colony) diadopsi dari perilaku koloni semut yang dikenal sebagai sistem semut (Dorigo, 1996). Secara alamiah koloni semut mampu menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber makanan. Koloni semut dapat menemukan rute terpendek antara sarang dan sumber makanan berdasarkan jejak feromon pada lintasan yang telah dilalui. Semakin banyak semut yang melalui suatu lintasan, maka akan banyak jalur yang dibuat dan memungkinkan semakin besar untuk menentukan dari jalur terpendek yang dibuat oleh semut-semut tadi. A. Skema Algoritma Ant Colony Secara logika dan matematik semut-semut dari titik asal yang sama, misalnya sarang, bergerak sendiri-sendiri melewati jalur masing-masing menuju makanan sebagai titik tujuannya. Setelah mereka sampai pada titik tujuan, semut-semut ini di data satu per satu untuk mengetahui jalur yang dilalui beserta jaraknya. Semut yang menempuh jarak terpendek adalah pemenangnya dan jalur yang dilaluinya ditetapkan sebagai jalur terpendek. Berikut adalah tahapan-tahapan algoritma Semut dalam graf : Gambar 8. Perjalanan Semut a. Pada gambar 2.9.a menunjukkan semut yang akan melakukan perjalanan mencari tempat dimana ada makanan, dari X menuju Y. b. Semut akan melakukan gerakan secara acak menuju tempat makanan dengan jalur masing-masing. Seperti pada gambar 2.9.b semut berjalan dengan jalurnya masing-masing. c. Setelah berjalan secara acak berdasarkan jalurnya masing-masing kemudian semut-semut tersebut akan bertemu lagi dimana tempat makanan berada seperti pada gambar 2.9.c d. Pada saat melakukan perjalanan melalui jalurnya masing-masing, semut meninggalkan feromon sebagai jejak yang akan diikuti oleh semut yang lainnya. Semakin banyak semut dan semakin dekat jarak yang ditempuh maka feromon juga semakin kuat sehingga semut yang lainnya akan mengikuti jalur tersebut. e. Pada optimisasi algoritma semut, proses tadi akan dilakukan secara berulang sesuai dengan siklus maksimum yang telah ditentukan. B. Pseudocode Ant Colony 1 Inisialisasi parameter α, β,, m, Q 2 Inisialisasi titik pertama atau asal semut 3 begin 4 ( ) ( ) 5 ( ) 6 7 //calculate next path, feromon and distance 8 function Probabilistik (from) 9 for m = 1; m++ : m 10 for t = 1; t++ : siklus 11 ( ) 12 end for 13 end for 14 return dist, path; 15 ( ) ( ) ( ) ( ) 16 function updateferomon () 17 18 19 return 3

20 21 // choice distance & shortpath 22 for x = 1; x++ 23 if (min (dist(x))) 24 shortpath = path; 25 end if 26 end for 27 end; Gambar 10. Hasil pencarian jalur terpendek C. Diagram Alir Algoritma Ant Colony Mulai Hitung Jarak Inisialisasi Parameter (Statis) Semut = Banyak Semut Menentukan banyak semut Semut = 1 Hitung Probabilitas Semut Bangkitkan Bilangan Random Tujuan dicapai? Semut = Semut + 1 Yes Gambar 9. Diagram Alir Ant Colony III. PERBANDINGAN JALUR TERPENDEK Yes Update Feromon Siklus Max? Yes Hitung Jarak Total Menampilkan Jarak Tependek dan Jumlah Semut Tampilkan Jalur Terpendek Selesai Dalam pengujian perbandingan jalur terpendek yang dihasilkan oleh kedua algoritma, penulis menguji kedua algoritma dengan data masukkan yang sama dan setiap masukkan dilakukan pengujian sebanyak sepuluh kali. Langkah-langkah pengujian untuk setiap algoritma yaitu dengan cara memasukkan data kota asal dan tujuan yang sama pada masing-masing algoritma. Pada algoritma Ant Colony nilai parameter jumlah semut dan siklus maksimum bernilai 50 dan 25. Setelah memasukkan data dan melakukan proses pencarian dengan masing-masing algoritma, maka akan muncul hasil dari proses tersebut seperti pada gambar 10 dan gambar 11. Kemudian data hasil pengujian dicatat dan dibandingkan. Gambar 11. Jalur yang dihasilkan pada peta Tabel 1. Hasil pengujian algoritma Dijkstra Input Kota Asal Kota Tujuan Jarak Jumlah Total (km) Kota 1 Surabaya Manado 1735,523 2 2 Surabaya Manado 1735,523 2 3 Surabaya Manado 1735,523 2 4 Surabaya Manado 1735,523 2 5 Surabaya Manado 1735,523 2 6 Surabaya Manado 1735,523 2 7 Surabaya Manado 1735,523 2 8 Surabaya Manado 1735,523 2 9 Surabaya Manado 1735,523 2 10 Surabaya Manado 1735,523 2 Output Jalur Tabel 2. Hasil pengujian algoritma Ant Colony Input Kota Asal Kota Tujuan Jarak Jumlah Total (km) Kota 1 Surabaya Manado 1735,523 2 2 Surabaya Manado 1735,523 2 3 Surabaya Manado 1735,523 2 4 Surabaya Manado 1735,523 2 5 Surabaya Manado 1735,523 2 6 Surabaya Manado 1735,523 2 7 Surabaya Manado 1735,523 2 8 Surabaya Manado 1735,523 2 9 Surabaya Manado 1735,523 2 10 Surabaya Manado 1735,523 2 Output Jalur 4

Dari contoh pengujian diatas dapat diketahui bahwa penggunaan Algoritma Dijkstra dan Ant Colony menghasilkan jalur denan jalur terpendek yang sama. Pada Algoritma Dijkstra menghasilkan jalur dan jarak yang sama untuk setiap prosesnya, tetapi pada Algoritma Ant Colony jarak dan jalur yang dihasilkan untuk setiap prosesnya tidak selalu sama walaupun pada algoritma ini juga dapat menemukan jalur dan jarak terpendek. Proses dan hasil algortima Ant Colony juga dipengeruhi oleh jumlah semut (m) dan sikusnya. Semakin besar jumlah semut dan siklusnya makan hasil dari algoritma Ant Colony akan semakin maksimal. Dengan rincian semakin banyak semut yang melakukan perjalanan, maka semakin besar kemungkinan untuk menemukan jarak terpendek. Sedangkan siklus perjalanan mempengaruhi banyaknya jalur yang ditempuh oleh semut. Dalam hal ini juga akan mempengaruhi jika dalam graf terdapat banyak simpul atau semakin banyak kota. IV. PERBANDINGAN PENGGUNAAN MEMORY Penggunaan memory pada bahasa pemrograman PHP bisa dipantau dan ditampilkan menggunakan fungsi PHP memory_get_usage(). Fungsi ini berfungsi untuk mengetahi memory yang dibutuhkan selama proses. Penulis juga bisa menambahkan fungsi PHP memory_get_peak_usage() untuk melihat berapa jumlah penggunaan memory maksimum oleh kode PHP yang kita buat. Untuk membaca atau mengetahui penggunaan memory, fungsi PHP memory_get_usage()diletakkan pada awal dan akhir source code aplikasi yang prosesnya ingin diketahui. Fungsi yang diletakkan diawal proses aplikasi disebut sebagai memory awal, sedangkan fungsi yang diletakkan pada akhir proses aplikasi disebut memory akhir. Untuk mengetahui memory yang digunakan pada aplikasi maka dilakukan pengurangan antara memory akhir dengan memory awal. Dalam membandingkan memory yang dibutuhkan oleh kedua algoritma penulis melakukan pembacaan memory awal, memory akhir dan memory yang digunakan dari hasil pengurangan memory akhir dan memory awal. Pada masing-masing algoritma dilakukan pembacaan memory dengan data masukkan secara acak sebanyak sepuluh kali. Berikut adalah hasil pembacaan penggunaan memory kedua algoritma. Tabel 3. Perbandingan penggunaan memory. Dijkstra (KB) Ant Colony (KB) 1 82,242 183,883 2 82,190 207,797 3 82,195 185,546 4 82,210 184,078 5 82,157 189,032 6 82,211 186,851 7 82,242 179,195 8 82,203 190,039 9 82,209 179,586 10 82,183 189,531 Jumlah 822,042 1875,538 Rata-rata 82,204 187,554 Gambar 12. Grafik perbandingan penggunaan memory Dari hasil pengujian diatas dapat diketahui bahwa penggunaan memory pada Algoritma Dijkstra lebih rendah daripada algoritma Ant Colony. Pada algoritma Dijkstra memory yang digunakan antara proses yang satu dengan yang lain nilainya terlihat relatif lebih stabil dan konstan seperti pada gambar 5.11 yang mana grafiknya hampir lurus. Sedangkan penggunaan memory pada algoritma Ant Colony terdapat selisih yang lebih besar antar proses yang satu dengan yang lainnya dari pada algoritma Dijkstra. Penggunaan memory pada Algoritma Ant Colony terjadi perubahan yang relatif lebih besar dibandingkan algoritma Ant Colony, hal dipengaruhi oleh jumlah semut dan siklusnya, semakin besar nilai keduanya, maka memory yang digunakan oleh Algortima Ant Colony juga semakin besar. Hal ini dikarenakan jumlah data masukan atau data yang diproses oleh algoritma tersebut semakin banyak. V. PERBANDINGAN KOMPLEKSITAS WAKTU Dari analisa pseudocede kedua algoritma diatas dapat diketahui bahwa Algoritma Dijkstra memiliki kompleksitas waktu ( ) ( ) yang berarti lebih lebih rendah daripada Algoritma Ant Colony ( ) ( ). Kedua kompleksites tersebut dapat dilihat dalam bentuk grafik seperti pada gambar 5.12 Gambar 13. Grafik perbandingan kompleksitas waktu 5

Dari grafik diatas dapat dilihat bahwa penggunaan algoritma Dijkstra memiliki pertambahan nilai komputasi waktu yang semakin besar tetapi tidak sebesar pada algoritma Ant Colony yang memiliki nilai waktu komputasi yang jauh semakin besar ketika ukuran data masukannya semakin besar. VI. KESIMPULAN Berdasarkan hasil perancangan, implementasi, pengujian dan analisis sistem maka dapat diambil kesimpulan sebagai berikut: 1. Perancangan aplikasi menentukan jalur terpendek dengan menggunakan algoritma Dijkstra tidak perlu menentukan parameter-parameter yang banyak seperti pada algoritma Ant Colony. 2. Pada proses Algoritma, Dijkstra memerlukan data jarak setiap kota terlebih dahulu sebelum memulai proses Algortimanya. Sedangkan pada Algoritma Ant Colony, tidak memerlukan jarak setiap kota karena pada Ant Colony jarak antar kota dihitung setelah semut menyelesaikan perjalanannya. Sehingga Algoritma Dijkstra hanya bisa berjalan jika terlebih dahulu diketahui jarak tiap kota, sedangkan pada Algoritma Ant Colony tidak memerlukan jarak tiap kota untuk menjalankan prosesnya. 3. Penggunaan memory pada algoritma Dijkstra menggunakan memory yang lebih rendah dengan rata-rata 82,204 KB daripada algoritma Ant Colony yang mana selamat pengujian memiliki rata-rata memory sebesar 90,404 KB. Pada algoritma Dijkstra, penggunaan memory untuk setiap prosesnya relatif sama, sedangkan pada algoritma Ant Colony penggunaan memory antar proses terdapat perbedaan yang besar karena tergantung pada parameter masukannya terutama banyak semut dan siklusnya. 4. Dari analisa kompleksitas waktu terhadap pseudocode masing-masing algoritma, Dijkstra menghasilkan persamaan ( ) ( ) dan Ant Colony menghasilkan persamaan ( ) ( ) yang mana bisa diketahui dari kedua fungsi tersebut waktu yang dibutuhkan algortima Dijkstra untuk memproses data lebih pendek daripada algoritma Ant Colony. VII. REFERENSI Jong Jek Siang. 2004. Matematika Diskrit dan Aplikasinya pada Ilmu Komputer, Yogyakarta: Penerbit Andi. Abdul Kadir.2003. Dasar Pemrograman Web Dinamis Menggunakan PHP, Yogyakarta: Penerbit Andi. Prahasta, E., 2001. Konsep-konsep Dasar Sistem Informasi Geografis. Bandung: CV. Informatika Wardy, Ibnu Sina, 2006. Penggunaan Graf dalam Algoritma Semut untuk Melakukan Optimisasi. Bandung : Institut Teknologi Bandung. Google Developers. Getting Started - Google Maps JavaScript API v3 https://developers.google.com/maps/documenta tion/javascript/tutorial 17 April 2012 6