DONNY SANJAYA
May 22, 2018 | Author: YeahRightSkripsi | Category: N/A
Short Description
DONNY SANJAYA...
Description
IMPLEMENTASI MOBILE TRACKING MENGGUNAKAN METODE ANT COLONY OPTIMIZATION DAN GOOGLE MAPS API
SKRIPSI
DONNY SANJAYA 111421056
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
IMPLEMENTASI MOBILE TRACKING MENGGUNAKAN METODE ANT COLONY OPTIMIZATION DAN GOOGLE MAPS API SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
DONNY SANJAYA 111421056
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
iii
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: IMPLEMENTASI MOBILE TRACKING MENGGUNAKAN METODE ANT COLONY OPTIMIZATION DAN GOOGLE MAPS API : SKRIPSI : DONNY SANJAYA : 111421056 : EKSTENSI S1 ILMU KOMPUTER : ILMU KOMPUTER : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing:
Dosen Pembimbing II
Dosen Pembimbing I
Drs. Dahlan Sitompul, M.Eng NIP. 19670725 200501 1 002
Ade Candra S.T, M.Kom NIP. 19790904 200912 1 002
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620217 199103 1 001
Universitas Sumatera Utara
iv
PERNYATAAN
IMPLEMENTASI MOBILE TRACKING MENGGUNAKAN METODE ANT COLONY OPTIMIZATION DAN GOOGLE MAPS API SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2014
Donny Sanjaya 111421056
Universitas Sumatera Utara
v
PENGHARGAAN
Alhamdulillah saya ucapkan kepada Allah SWT yang telah melimpahkan rahmat dan karunia-NYA serta salawat dan salam kepada junjungan atas Nabi Muhammad SAW karena skripsi ini telah berhasil diselesaikan dalam waktu yang telah ditentukan. Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dorongan dari pihak lain. Sehingga dengan segala kerendahan hati penulis mengucapkan terimakasih kepada: 1. Bapak Prof Dr Syahril Pasaribu, DTMH, MSc (CTM), SpA(K) selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Drs. Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer Universitas Sumatera Utara dan sekaligus sebagai Dosen Pembanding I. 4. Ibu Dian Rachmawati S.Si, M.Kom selaku koordinator Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara. 5. Dosen Pembimbing Bapak Ade Candra, ST, M.Kom dan Drs. Dahlan Sitompul, M.Eng yang bersedia meluangkan waktu, pikiran, saran, panduan serta memberikan pengetahuan dan motivasi dalam penyelesaian skripsi ini. 6. Dosen Pembanding II Bapak Drs. Marihat Situmorang, M.Kom. 7. Seluruh staf-staf Pengajar (Dosen) Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 8. Ayahanda Sunardi dan ibunda Nadrah selaku orang tua kandung penulis yang telah memberikan semangat, dorongan, serta doanya dalam menyelesaikan skripsi ini. 9. Sahabat-sahabat penulis dan semua sahabat seangkatan yang sudah membantu dan memberi semangat kepada penulis selama ini. Dalam penyusunan skripsi ini, penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini. Akhir kata penulis mengharapkan semoga skripsi ini dapat bermanfaat dan membantu semua pihak yang memerlukannya. Penulis
Universitas Sumatera Utara
vi
ABSTRAK
Mobile tracking adalah suatu kemajuan teknologi dalam perangkat lunak ponsel yang memungkinkan bagi pengguna ponsel untuk melacak individu mendapatkan posisi melalui teknologi Global Positioning System (GPS) yang dimilikinya. Koordinat yang diterima oleh GPS ponsel akan disimpan kedalam database dan ditampilkan pada sebuah peta menggunakan Google Maps API, kemudian dicari route terpendeknya. Dalam pencarian route terpendek ini digunakan algoritma Ant Colony Optimization (ACO). Algoritma ACO merupakan teknik probabilistik untuk menyelesaikan masalah komputasi yang terinspirasi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan. Dalam algoritma ACO terdapat sejumlah semut buatan, yang ditugaskan untuk mencari solusi terhadap suatu masalah optimisasi. Hasil uji coba pada tugas akhir ini juga menunjukkan adanya efisiensi waktu dengan menggunakan aplikasi karena terdapat perkiraan waktu yang disediakan oleh Google Map sehingga berguna bagi user. Algoritma ACO adalah salah satu algoritma alternatif yang dapat digunakan untuk penentuan jalur terpendek. Kecepatan menampilkan suatu rute sebuah map tergantung pada jumlah kota yang diinputkan, provider dan kestabilan koneksi internet. Katakunci : Ant Colony Optimization, Global Positioning System, Google Maps API, Mobile Tracking.
Universitas Sumatera Utara
vii
IMPLEMENTATION OF MOBILE TRACKING USING ANT COLONY OPTIMIZATION AND GOOGLE MAPS API ABSTRACT
Mobile tracking is a technological advancement in mobile phone software that makes it possible for mobile users to track individuals gain positions througlh the technology of Global Positioning System (GPS). Coordinates received by the GPS phone will be stored into the database and displayed on a map using the Google Maps API, then look for the shortest path. In the search for the shortest path is used Ant Colony Optimization algorithm (ACO). ACO algorithm is a probabilistic technique for solving computational problems that are inspired by the behavior of ants in finding paths from the colony to the food. In ACO algorithms are a number of artificial ants, which is assigned to find a solution to an optimization problem. Results of trials in this final project also shows the time efficiency by using the application because there are an estimated time provided by Google Map so useful for the user. ACO algorithm is one of the alternative algorithm that can be used to determine the shortest path. Speed display a map of a route depends on the number of cities is entered, the provider and the stability of the internet connection. Keywords : Ant Colony Optimization. Google Maps API, Global Positioning System, Mobile Tracking.
Universitas Sumatera Utara
viii
DAFTAR ISI
PERSETUJUAN ........................................................................................................ iii PERNYATAAN ........................................................................................................ iv PENGHARGAAN ..................................................................................................... v ABSTRAK ................................................................................................................. vi ABSTRACT ............................................................................................................... vii DAFTAR ISI .............................................................................................................. viii DAFTAR TABEL ...................................................................................................... x DAFTAR GAMBAR ................................................................................................. xi BAB 1 PENDAHULUAN ........................................................................................ 1 1.1 Latar Belakang .......................................................................................... 1 1.2 Rumusan Masalah ..................................................................................... 2 1.3 Batasan Masalah ....................................................................................... 2 1.4 Tujuan Penelitian ..................................................................................... 3 1.5 Manfaat Penelitian .................................................................................... 3 1.6 Metodologi Penelitian ............................................................................... 3 1.7 Sistematika Penulisan ............................................................................... 4
BAB 2 TINJAUAN PUSTAKA............................................................................... 6 2.1 Teori Graf.................................................................................................. 6 2.1.1 Defenisi Graf ............................................................................ 6 2.1.2 Graf Berbobot .......................................................................... 8 2.1.3 Representasi Graf Pada Komputer ........................................... 8 2.2 Algoritma Ant colony Optimization ......................................................... 10 2.2.1 Ant Colony Optimization ......................................................... 10 2.2.1.1 Aturan transisi status ..................................................... 13 2.2.1.2 Aturan pembaruan feromone global ............................. 14 2.2.1.3 Aturan pembaruan feromone lokal ............................... 15 2.3 Google Maps API ..................................................................................... 15 2.3.1 Request URL Google Map....................................................... 16 2.3.2 Geocoding ................................................................................ 16 2.3.3 Waypoint .................................................................................. 17 2.3.3.1 Perhitungan jarak antara dua waypoints ....................... 17 2.4 GPS ........................................................................................................... 18 2.4.1 Sumber Kesalahan ................................................................... 19 2.4.2 Kesalahan pada GPS ................................................................ 20 2.4.3 Tracking ................................................................................... 20 BAB 3 ANALISIS DAN PERANCANGAN SISTEM .......................................... 21 3.1 Analisis Sistem.......................................................................................... 21 3.1.1 Analisis Masalah ..................................................................... 22 3.1.2 Analisis Kebutuhan Sistem ...................................................... 22 3.1.2.1 Analisis Kebutuhan Fungsional .................................... 23
Universitas Sumatera Utara
ix
3.1.2.2 Analisis Kebutuhan Non-Fungsional ........................... 23 3.1.3 Pemodelan ................................................................................ 24 3.1.3.1 Use Case Diagram ......................................................... 24 3.1.3.2 Activity Diagram .......................................................... 25 3.1.3.3 Class Diagram ............................................................... 27 3.1.3.4 Sequence Diagram ........................................................ 27 3.2 Perancangan Sistem .................................................................................. 28 3.2.1 Flowchart Sistem ..................................................................... 28 3.2.2 Pseudocode Algorima ACO ..................................................... 30 3.2.3 Perancangan Database.............................................................. 31 3.2.4 Perancangan Tampilan ............................................................. 32 3.2.4.1 Halaman Login.............................................................. 32 3.2.4.2 Halaman User................................................................ 33 3.2.4.3 Halaman Admin ............................................................ 34 3.2.4.4 Halaman Data User ....................................................... 36 3.2.4.5 Halaman About ............................................................. 37 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ..................................... 38 4.1 Implementasi Sistem ................................................................................. 38 4.1.1 Implementasi Algoritma Ant Colony Optimization................. 38 4.2 Pengujian sistem ....................................................................................... 53 4.2.1 Pengujian Aplikasi User .......................................................... 54 4.2.2 Pengujian Aplikasi Admin ....................................................... 56 4.2.3 Pengujian Sistem Dengan 3 Buah Koordinat ........................... 60 BAB 5 KESIMPULAN DAN SARAN .................................................................... 62 5.1 Kesimpulan ............................................................................................... 62 5.2 Saran ......................................................................................................... 62 DAFTAR PUSTAKA LAMPIRAN
Universitas Sumatera Utara
x
DAFTAR TABEL
Tabel 3.1 Pseudocode Algoritma ACO................................................................... 30 Tabel 3.2 Table Admin ........................................................................................... 31 Tabel 3.3 Tabel Client............................................................................................. 31 Tabel 3.4 Tabel Track ............................................................................................. 32 Tabel 4.1. Koordinat Ponsel Yang Terlacak Oleh Apliaksi Mobile Tracking........ 39 Tabel 4.2 Jarak Antar Kota ..................................................................................... 41 Tabel 4.3 Visibilitas Antar Kota ............................................................................. 42 Tabel 4.4 Feromon Antar Titik ............................................................................... 42 Tabel 4.5 Hasil Siklus I Algoritma Semut .............................................................. 48 Tabel 4.6 Feromon Antar Titik Pada Graf .............................................................. 48 Tabel 4.7 Kode Program Untuk Penentuan Route Terpendek ................................ 45
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Gambar 2.1 Graf G .................................................................................................... 7 Gambar 2.2 Graf Berbobot ........................................................................................ 8 Gambar 2.3 Diagram dan Matriks Keterhubungan Graf G ........................................ 9 Gambar 2.4 Mekanisme Pergerakan Koloni Semut ................................................... 12 Gambar 2.5 Flowchart Request URL Google Maps .................................................. 16 Gambar 2.6 Konstelasi Dua Puluh Empat GPS Satelit Dalam Enam Bidang Orbit. . 18 Gambar 3.1 Ilustrasi Jalur Terpendek dengan Jarak .................................................. 21 Gambar 3.2 Diagram Ishikawa Untuk Analisis Permasalahan Sistem ...................... 22 Gambar 3.3 Use-Case Diagram Pada Sistem ............................................................. 24 Gambar 3.4 Activity Diagram Pada Sistem ............................................................... 26 Gambar 3.5 Class Diagram Pada Sistem ................................................................... 27 Gambar 3.6 Sequence Diagram Pada Sistem ............................................................. 28 Gambar 3.7 Flowchart Sistem.................................................................................... 29 Gambar 3.8 Halaman Login ....................................................................................... 33 Gambar 3.9 Halaman User ......................................................................................... 34 Gambar 3.10 Halaman Admin ................................................................................... 35 Gambar 3.11 Halaman Data User .............................................................................. 36 Gambar 3.12 Halaman About .................................................................................... 37 Gambar 4.1 Graf Dengan Empat Vertex .................................................................... 41 Gambar 4.2 Tampilan Posisi Koordinat Dalam Google Maps .................................. 52 Gambar 4.3 Tampilan Route Perjalanan .................................................................... 53 Gambar 4.4 Tampilan Eksport ................................................................................... 53 Gambar 4.5 Tampilan Login ...................................................................................... 54 Gambar 4.6 Tampilan Pendaftaran ............................................................................ 54 Gambar 4.7 Tampilan Pemberitahuan Aktifasi.......................................................... 54 Gambar 4.8 Tampilan Halaman User ........................................................................ 55 Gambar 4.9 Tampilan Halaman Perubahan Data User .............................................. 56 Gambar 4.10 Tampilan Login Admin ........................................................................ 56 Gambar 4.11 Tampilan Halaman Admin ................................................................... 57 Gambar 4.12 Tampilan Hasil Tracking Koordinat User ........................................... 57 Gambar 4.13 Tampilan Hasil Perhitungan................................................................. 58 Gambar 4.14 Tampilan Urutan Titik Sebelum Perhitungan ...................................... 58 Gambar 4.15 Tampilan Urutan Titik Setelah Perhitungan ........................................ 59 Gambar 4.16 Tampilan Hasil Perhitungan Dalam Matrix ......................................... 59 Gambar 4.17 Pengujian 3 buah Koordinat ................................................................. 60 Gambar 4.18 Fitur Oneway Trip dan Directions ....................................................... 60 Gambar 4.19 Fitur Oneway Trip by Walking dan Directions.................................... 61
Universitas Sumatera Utara
vi
ABSTRAK
Mobile tracking adalah suatu kemajuan teknologi dalam perangkat lunak ponsel yang memungkinkan bagi pengguna ponsel untuk melacak individu mendapatkan posisi melalui teknologi Global Positioning System (GPS) yang dimilikinya. Koordinat yang diterima oleh GPS ponsel akan disimpan kedalam database dan ditampilkan pada sebuah peta menggunakan Google Maps API, kemudian dicari route terpendeknya. Dalam pencarian route terpendek ini digunakan algoritma Ant Colony Optimization (ACO). Algoritma ACO merupakan teknik probabilistik untuk menyelesaikan masalah komputasi yang terinspirasi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan. Dalam algoritma ACO terdapat sejumlah semut buatan, yang ditugaskan untuk mencari solusi terhadap suatu masalah optimisasi. Hasil uji coba pada tugas akhir ini juga menunjukkan adanya efisiensi waktu dengan menggunakan aplikasi karena terdapat perkiraan waktu yang disediakan oleh Google Map sehingga berguna bagi user. Algoritma ACO adalah salah satu algoritma alternatif yang dapat digunakan untuk penentuan jalur terpendek. Kecepatan menampilkan suatu rute sebuah map tergantung pada jumlah kota yang diinputkan, provider dan kestabilan koneksi internet. Katakunci : Ant Colony Optimization, Global Positioning System, Google Maps API, Mobile Tracking.
Universitas Sumatera Utara
vii
IMPLEMENTATION OF MOBILE TRACKING USING ANT COLONY OPTIMIZATION AND GOOGLE MAPS API ABSTRACT
Mobile tracking is a technological advancement in mobile phone software that makes it possible for mobile users to track individuals gain positions througlh the technology of Global Positioning System (GPS). Coordinates received by the GPS phone will be stored into the database and displayed on a map using the Google Maps API, then look for the shortest path. In the search for the shortest path is used Ant Colony Optimization algorithm (ACO). ACO algorithm is a probabilistic technique for solving computational problems that are inspired by the behavior of ants in finding paths from the colony to the food. In ACO algorithms are a number of artificial ants, which is assigned to find a solution to an optimization problem. Results of trials in this final project also shows the time efficiency by using the application because there are an estimated time provided by Google Map so useful for the user. ACO algorithm is one of the alternative algorithm that can be used to determine the shortest path. Speed display a map of a route depends on the number of cities is entered, the provider and the stability of the internet connection. Keywords : Ant Colony Optimization. Google Maps API, Global Positioning System, Mobile Tracking.
Universitas Sumatera Utara
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Mobile Tracking adalah suatu kemajuan teknologi dalam perangkat lunak ponsel yang dapat membuat telepon bukan hanya alat untuk sekedar menelpon atau sms saja. Namun ponsel telah menjadi alat multifungsi dengan berbagai fitur dan telah menjadi kebutuhan yang wajib dimiliki berbagai lapisan masyarakat. Teknologi GPS terbaru telah memungkinkan bagi pengguna ponsel untuk melacak individu mendapatkan posisi mobile user.
Google Maps (GM) merupakan sebuah aplikasi pemetaan on-line yang cukup popular. Pada GM, titik koordinat suatu tempat ditunjukan dengan sistem koordinat geografis. Saat ini Google Maps adalah layanan pemetaan berbasis web yang populer. Layanan Google Maps dapat ditambahkan kedalam sebuah website menggunakan Google Maps API (Application Programming Interface). Google Maps API dapat ditambahkan ke website menggunakan JavaScript. API tersebut menyediakan banyak fasilitas dan utilitas untuk memanipulasi peta dan menambahkan konten ke peta melalui berbagai layanan, memungkinkan untuk membuat aplikasi peta yang kuat pada sebuah website.[8]
Ant Colony Optimization (ACO) diadopsi dari perilaku koloni semut yang dikenal sebagai sistem semut. Secara alamiah koloni semut mampu menemukan rute
Universitas Sumatera Utara
2
terpendek dalam perjalanan 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, maka 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.[3]
Ant Colony Optimization (ACO) adalah salah satu algoritma alternatif yang dapat digunakan untuk penentuan jalur terdekat. Selain prosesnya cepat dan memberikan hasil yang bisa diterima, ACO juga mampu memberikan suatu solusi pada waktu kapanpun. Mengingat prinsip algoritma yang didasarkan pada perilaku koloni semut dalam menemukan jarak perjalanan paling pendek tersebut, ACO sangat tepat digunakan untuk diterapkan dalam penyelesaian masalah optimasi, salah satunya adalah untuk pengguna perangkat mobile dalam penentuan posisi dan jarak terdekat.
1.2 Rumusan masalah
Bagaimana menentukan jarak terdekat antara mobile user satu dengan yang lain pada aplikasi mobile tracking menggunakan Google Maps API dengan Algoritma ACO.
1.3 Batasan masalah
Batasan masalah pada aplikasi ini sebagai berikut: 1. Mendeteksi posisi mobile user (Handphone). 2. Menentukan jarak terdekat antara mobile user satu dengan yang lain dengan ACO. 3. Bahasa pemrograman yang digunakan adalah PHP menggunakan framework CodeIgniter & Mysql, JavaScript, Jquery.
Universitas Sumatera Utara
3
1.4 Tujuan penelitian
Menerapkan konsep dan cara kerja algoritma Ant Colony Optimization (ACO) pada aplikasi mobile tracking untuk menentukan jarak terdekat.
1.5 Manfaat penelitian
Diharapkan dapat membantu pengguna perangkat mobile dalam penentuan posisi dan jarak terdekat.
1.6 Metodologi Penelitian
Penelitian ini akan dilaksanakan dengan mengikuti beberapa langkah yang akan digunakan penulis, yaitu:
1. Studi Literatur Tahap ini dilakukan dengan mencari jurnal, buku, tulisan ilmiah, e-book, maupun artikel lain yang berhubungan dengan Algoritma Ant Colony, Google Maps API, serta Pemrograman PHP pada Framework Codeigniter.
2. Analisis dan Perancangan Sistem Dengan tahap ini digunakan untuk mengolah data dari hasil studi literatur dan kemudian melakukan analisis dan perancangan sistem yang sudah disimpulkan pada tahap analisis kedalam algoritma program, flowchart sistem, rancangan aplikasi, dan pembuatan user interface aplikasi.
3. Implementasi Sistem Mengimplemntasikan model dan skema pada tahap perancangan sistem. Model dan
skema
diimplementasikan
kedalam
bahasa
pemrograman
PHP
menggunakan framework codeigniter yang dipadukan dengan penggunaan
Universitas Sumatera Utara
4
javascript sebagai pemrograman Google Maps API. Program yang dihasilkan merupakan sebuah aplikasi berbasis web untuk mendeteksi latitude dan longitude sebuah handphone.
4. Pengujian Sistem Menguji apakah aplikasi yang dibuat telah berhasil berjalan sesuai dengan keinginan dan melakukan perbaikan kesalahan jika masih terdapat error pada aplikasi.
5. Dokumentasi Tahap akhir dari penelitian yang dilakukan, yaitu membuat kesimpulan dan laporan tentang penelitian yang telah dilakukan.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari:
BAB 1 : PENDAHULUAN Bab ini menjelaskan mengenai latar belakang pemilihan judul skripsi ”Implementasi Mobile Tracking Menggunakan Metode Ant Colony Optimazion Dan Google Maps API”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB 2 : TINJAUAN PUSTAKA Bab ini membahas teori-teori yang berkaitan dengan Teori graf, Algoritma Ant Colony, Google Maps API, serta Global Positioning System.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM Bab ini akan membahas mengenai analisis kebutuhan sistem yang meliputi analisis masalah, analisis kebutuhan sistem, pemodelan dan perancangan sistem.
Universitas Sumatera Utara
5
BAB 4 : IMPLEMENTASI DAN PENGUJIAN Bab ini akan membahas mengenai implementasi sistem dan pengujian sistem agar aplikasi yang dirancang berjalan dengan baik.
BAB 5 : KESIMPULAN DAN SARAN Bab ini memuat kesimpulan dari uraian bab-bab sebelumnya dan hasil penelitian yang diperoleh. Bab ini juga memuat saran yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.
Universitas Sumatera Utara
BAB 2
TINJAUAN PUSTAKA
2.1.
Teori Graf
2.1.1
Definisi Graf
Graf G adalah pasangan (V(G),E(G)) dengan (V(G)) adalah himpunan tidak kosong dan berhingga dari objek-objek yang disebut titik, (E(G)) adalah himpunan (mungkin kosong) pasangan tak berurutan dari titik- titik berbeda di (V(G)) yang disebut sisi. Banyaknya unsur di V(G) disebut order dari G dan dilambangkan dengan p(G), dan banyaknya unsur di E(G) disebut ukuran dari G dan dilambangkan dengan q(G). Jika graf yang dibicarakan hanya graf G, maka order dan ukuran dari G masing-masing cukup ditulis p dan q. Graf dengan order p dan q disebut graf-(p,q).[1]
Nama “Graf” diberikan karena graf dapat disajikan secara grafik atau gambar, dan justru dengan bentuk gambar inilah sifat-sifat graf dapat dikenali secara detail. Titik disajikan dalam bentuk noktah atau lingkaran kecil dan sisi disajikan dalam bentuk garis atau kurva yang memasangkan dua titik. [1]
Perhatikan graf G yang memuat himpunan titik V(G) dan himpunan sisi E(G) seperti berikut ini. V(G) = {a,b,c,d,e} E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)}
Universitas Sumatera Utara
7
Graf G tersebut secara lebih jelas dapat digambar sebagai berikut.
a
c
e2
e1
G:
e3 e
e4 b
e6 d
Gambar 2.1 Graf G
Graf G mempunyai 5 titik sehingga order G adalah p = 5. Graf G mempunyai 6 sisi sehingga ukuran graf G adalah 6.
Graf G dengan himpunan titik dan sisi masing-masing V(G) = {a, b, c, d, e} E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)} Dapat juga ditulis dengan V(G) = {a, b, c, d, e} E(G) = {e1, e2, e3, e4, e5, e6} Dengan e1 = (a, b) e2 = (a, c) e3 = (a, d) e4 = (b, d) e5 = (b, c) e6 = (d, e)
Sisi e = (a, b) dikatakan menghubungkan titik a dan b. Jika e = (a, b) adalah sisi graf G, maka a dan b disebut terhubung langsung (adjacent), a dan e serta b dan e disebut terkait langsung (incident), dan titik a dan b disebut ujung dari e. Dua sisi
Universitas Sumatera Utara
8
berbeda e1 dan e2 disebut terhubung langsung (adjacent), jika terkait langsung pada satu titik yang sama. Untuk selanjutnya, sisi e = (a, b) akan ditulis e = ab.
2.1.2
Graf Berbobot
Graf berbobot adalah graf yang setiap sisinya diberi sebuah nilai atau bobot. Bobot pada setiap sisi graf dapat berbeda-beda bergantung pada masalah yang dimodelkan. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul komunikasi dengan simpul komunikasi lainya, ongkos produksi dan sebagainya. Graf berbobot juga sering dikaitkan dengan istilah graf berlabel.[7]
Untuk membuat label, masing-masing vertex diberi sebuah label dan setiap edge diberikan sebuah nilai atau bobot. Tampilan graf berlabel dapat dilihat pada Gambar 2.2. P
9
Q 6
7
T
12 6 R
9
S
Gambar 2.2 Graf Berbobot
2.1.3
Representasi Graf Pada Komputer
Meskipun menggambar merupakan cara yang mudah untuk menjelaskan suatu graf, cara ini tentunya mempunyai kelemahan ketika akan menyimpan data tentang graf dalam komputer, atau ketika akan mengkaji sifat-sifat sutau graf melalui hitungan matematis. Merepresentasikan graf dalam bentuk matriks akan memberikan
Universitas Sumatera Utara
9
kemudahan bagi sesorang yang senang menggunakan komputer ketika mengkaji informasi atau menyelesaikan permasalahan yang melibatkan graf.[1]
Matriks keterhubungan suatu graf G adalah matriks simetri dengan unsur 0 dan 1 dan memuat nilai 0 pada diagonal utamanya. Hal ini karena graf tidak memuat lup dan tidak memuat sisi parallel.
Perhatikan contoh berikut. Misalkan graf G dengan himpunan titik V(G) = {v1, v2, v3, v4} Dan himpunan sisi E(G) = {v1v2, v1v4, v2v3, v2v4, v3v4 } Maka, diagram dan matriks keterhubungan graf G sebagai berikut.
V1
V4
V2
V3
v1 v2 = v3 v4
v1 0 1 0 1
v2 1 0 1 1
v3 0 1 0 1
v4 1 1 1 0
Gambar 2.3 Diagram dan Matriks Keterhubungan Graf G
Derajat suatu simpul deg(v) adalah banyaknya ruas yang menghubungkan suatu simpul. Secara umum, jika graf G dengan order p (p ≥ 1) dengan himpunan titik V(G) = {v1,v2, … vp} dan A (G) = [aij], 1 ≤ i, j ≤ p adalah matriks keterhubungan dari G, maka deg (vi) = ∑ Hal yang sama juga berlaku jika menghitung derajat titik melalui kolom, yaitu deg (vi) = ∑ Universitas Sumatera Utara
10
Dengan melihat matriks keterhubungan dari graf G dapat diperoleh bahwa a11 + a12 + a13 + a14 = 0 + 1 + 0 + 1 = 2 = deg(v1), a21 + a22 + a23 + a24 = 1 + 0 + 1 + 1 = 3 = deg(v2), a31 + a32 + a33 + a34 = 0 + 1 + 0 + 1 = 2 = deg(v3), dan a41 + a42 + a43 + a44 = 1 + 1 + 1 + 0 = 3 = deg(v4).
Dari diagram terlihat bahwa deg(v1) = 2, deg(v2) = 3, deg(v3) = 2, dan deg(v4) = 3.
2.2 Algoritma Ant Colony Optimization
Algoritma semut (Ant Colony) yang terinspirasi oleh tingkah laku semut dalam suatu koloni. Semut mampu menemukan jalur terpendek dari sumber makanan ke sarang mereka tanpa menggunakan isyarat visual dengan memanfaatkan informasi feromon. Sambil berjalan, semut meninggalkan jejak feromon di tanah, dan feromon ini akan membimbing semut lain untuk menemukan sumber makanan. [6]
2.2.1
Ant Colony Optimization
Ant Colony Optimization (ACO) melakukan pendekatan menggunakan model probabilistik untuk membangun kombinasi baru. Dalam pendekatannya, model probabilistik berkembang selama proses pencarian dengan mengacu pada kombinasi sebelumnya yang dibangun berulang selama proses pembelajaran.[11]
Kontribusi utama algoritma ACO adalah yang meniru dari perilaku kolektif seekor semut untuk memperbarui model probabilistik. Kemungkinan memilih
Universitas Sumatera Utara
11
komponen tergantung pada kualitas feromon yang merepresentasikan perjalanan koloni semut. Jumlah feromon berkembang dengan menggabungkan dua mekanisme. mekanisme pertama adalah langkah meletakkan feromon. Jejak feromon berhubungan dengan kombinasi terbaik yang memungkinan untuk memilih jalur tersebut. Mekanisme kedua adalah penguapan feromon. Jejak feromon akan semakin menurun pada peninggalan jejak yang tidak dikunjungi. [11]
Marco Dorigo (1992) menyatakan “Ant Colony Optimization (ACO) adalah pendekatan metaheuristik baru yang diusulkan untuk memecahkan masalah optimasi kombinatorial yang sulit. Sumber inspirasi dari ACO adalah jejak feromon peletakan dan mengikuti perilaku semut nyata yang menggunakan feromon sebagai media komunikasi. Dalam analogi dengan contoh biologi, ACO didasarkan pada komunikasi tidak langsung dari koloni agen sederhana, disebut (buatan) semut, dimediasi oleh (buatan) jejak feromon. Jalan feromon di ACO berfungsi sebagai penyampai informasi numerik yang semut gunakan untuk probabilistik membangun solusi untuk masalah yang sedang diselesaikan dan dimana semut beradaptasi selama eksekusi algoritma untuk mencerminkan pengalaman pencarian”.[5]
Perilaku semut yang cukup menarik adalah ketika mereka mencari makan, di mana mereka dapat menemukan jalur terpendek antara sumber makanan dan sarang mereka. Semut sampai pada titik keputusan di mana mereka harus memutuskan apakah akan belok kiri atau kanan. Karena mereka tidak memiliki petunjuk yang merupakan pilihan terbaik, mereka memilih acak. Hal ini dapat diharapkan bahwa rata-rata, setengah dari semut memutuskan untuk berbelok ke kiri dan yang lainnya berbelok ke kanan. Hal ini terjadi baik untuk semut bergerak dari kiri ke kanan (L) dan untuk mereka yang pindah dari kanan ke kiri (R). Ketika berjalan dari sumber makanan ke sarang dan sebaliknya, semut meletakkan suatu zat (yang disebut feromon) di sepanjang jalur yang mereka lalui. Ketika zat tersebut disekresikan sebagai isyarat seekor semut, maka semut yang lain dapat mengenalinya. Ketika mencari makan, pada awalnya semut akan berkeliling di daerah sekitar sarangnya secara acak. Begitu mengetahui ada makanan, semut akan menganalisa kualitas dan kuantitas makanan tersebut dan membawa beberapa bagian ke sarangnya. Dalam perjalanannya, mereka meninggalkan jejak berupa zat kimia, yang disebut feromon.
Universitas Sumatera Utara
12
Feromon ini akan membimbing semut lain untuk menemukan sumber makanan. Jumlah feromon yang ditinggalkan oleh semut bergantung pada jumlah makanan yang ditemukan. Semakin banyak makanan yang didapat, semakin banyak pula jumlah feromon yang ditinggalkan. Sehingga semakin banyak semut yang melewati suatu jalur, semakin kuat pula jejak feromon yang terkumpul di jalur tersebut. Cara semut memanfaatkan feromon untuk menemukan jalur terpendek antara dua titik ditunjukkan pada Gambar 2.4[6].
Gambar 2.4 Mekanisme Pergerakan Koloni Semut.
Inisialisasi parameter-parameter algoritma. 1. Intensitas jejak semut antar kota dan perubahannya (τij). 2. Banyak kota (n) termasuk koordinat (x,y)atau jarak antar kota (dij) serta kota berangkat dan kota tujuan. 3. Tetapan siklus-semut (Q). 4. Tetapan pengendali intensitas jejak semut(α), nilai α ≥ 0. 5. Tetapan pengendali visibilitas (β), nilai β≥ 0. 6. Visibilitas antar kota = 1/dij (ηij). 7. Banyak semut (m). 8. Tetapan penguapan jejak semut (ρ) , nilai ρ harus > 0 dan < 1 untuk mencegah jejak pheromone yang tak terhingga. 9. Jumlah siklus maksimum (NCmax) bersifat tetap selama algoritma dijalankan, sedangkan τij akan selalu diperbaharui harganya pada setiap
Universitas Sumatera Utara
13
siklus algoritma mulai dari siklus pertama (NC=1) sampai tercapai jumlah siklus maksimum(NC=NCmax) atau sampai terjadi konvergensi.
Aturan transisi digunakan oleh sistem semut, disebut sebagai random-proportional rule diberikan oleh persamaan (1), yang memberikan probabilitas semut k di kota r memilih untuk pindah ke kota s.
,
=
∑"#$ & %
,
.
,!
0
.
,
,!
'()
*'
(1)
Dimana : Pk(r, s) : Probabilitas semut k memilih untuk berpindah dari kota r ke kota s τ(r,s) : jumlah feromon pada sisi dari simpul r ke simpul s. η (r,s) : (panjang sisi dari simpul r ke simpul s)-1 τ(r,u) : jumlah feromon pada sisi dari simpul r ke simpul u. η(r,u) : (panjang sisi dari simpul r ke simpul u)-1 Jk
: himpunan yang berisi simpul – simpul yang telah dikunjungi oleh semut
u
: simpul yang berada dalam Jk
2.2.1.1 Aturan Transisi Status
Dalam ACS (Ant Colony System) aturan transisi status adalah sebagai berikut: semut diposisikan pada node r memilih kota s untuk berpindah dengan menerapkan aturan yang diberikan oleh persamaan (2).[4] = +max/ 0 , 1 . 2 , 1 5
3
4
'() 6 ≤ 68
(2)
Dimana : τ(r,u) : jumlah feromon pada sisi dari simpul r ke simpul s. η(r,u) : (panjang sisi dari simpul r ke simpul s )-1
Universitas Sumatera Utara
14
β
: parameter perbandingan jumlah feromon relatif terhadap jarak (merupakan parameter yang telah ditentukan sebelumnya)
q
: bilangan random
q0
: parameter perbandingan terhadap simpul yang belum ditemuinya
S
: simpul berikutnya yang dipilih berdasarkan persamaan (1).
2.2.1.2 Aturan Pembaruan Feromone Global
Dalam ACS hanya semut terbaik secara global (yaitu, perjalanan semut yang terpendek dari awal sebuah jejak) yang diperbolehkan untuk meninggalkan feromon. Pilihan ini, bersama-sama dengan penggunaan aturan pseudo-random-proportional, dimaksudkan untuk membuat pencarian yang lebih terarah. Semut mencari di lingkungan pada tour terbaik ditemukan sampai akhir iterasi algoritma. Pembaharuan feromon global dilakukan setelah semua semut telah menyelesaikan tour mereka. Tingkat feromon diperbarui dengan menerapkan aturan memperbarui persamaan global (3).[4] 0 ,
← 1 − ; .0 ,
+ ;. ∆0 ,
(3)
Dimana: τ(r,s) : nilai feromon akhir setelah mengalami pembaruan α
: tetapan pengendali feromon.
Δτ
: perubahan intensitas feromon.
Seperti halnya dalam sistem semut, pembaharuan feromon global dimaksudkan untuk menyediakan sejumlah besar feromon untuk kunjungan terpendek. Persamaan. (3) menyatakan bahwa hanya sebuah edge tour terbaik secara global akan menerima penguatan. Jenis lain aturan pembaharuan feromon global, yang disebut iteration-best, sebagai lawan di atas yang disebut global-best. Dalam persamaan (3). Juga, dengan iterasi-terbaik edge yang menerima penguatan adalah yang termasuk tour terbaik dari iterasi saat ini. Percobaan telah menunjukkan bahwa perbedaan antara dua skema
Universitas Sumatera Utara
15
minimal, dengan preferensi sedikit untuk global terbaik, karena yang digunakan dalam percobaan berikutnya.
2.2.1.3 Aturan Pembaruan Feromone Lokal Ketika membangun solusi (yaitu, tour) sebuah TSP, semut mengunjungi edge dan mengubah tingkat feromon mereka dengan menerapkan aturan memperbarui lokal persamaan (4).[4] 0 ,
← 1 − > .0 ,
+ >. ∆0 ,
(4)
dimana: τ(r,s) : jumlah feromon pada sisi dari simpul r ke simpul s ρ
: tetapan penguapan feromon.
Δτ
: perubahan intensitas feromon.
Peran aturan memperbarui lokal ACS adalah untuk mengacak tour, sehingga kota-kota di awal tour seekor semut dapat dieksplorasi selanjutnya oleh tour semut lain. Dengan kata lain, efek dari pembaruan feromon lokal adalah untuk membuat edge berubah secara dinamis. setiap kali semut menggunakan edge ini menjadi sedikit kurang diinginkan (karena kehilangan beberapa feromon nya). Dengan cara ini semut akan membuat lebih baik menggunakan informasi feromon. tanpa pembaruan feromon lokal semua semut akan mencari di lingkungan yang terbatas pada tour terbaik sebelumnya.
2.3 Google Maps API
Google Maps API merupakan aplikasi antarmuka yang dapat diakses lewat javascript agar Google Maps dapat ditampilkan pada halaman web yang sedang dibangun.[8]
Universitas Sumatera Utara
16
Ada 2 cara untuk mengakses data Google Maps, tergantung dari data yang ingin diambil dan diuraikan dari Google Maps. 1. Mengakses data Google Maps tanpa menggunakanAPI key. 2. Mengakses data Google Maps menggunakan API key. Pendaftaran API key dilakukan dengan data pendaftaran berupa nama domain web yang kita bangun. 2.3.1
Request URL Google Map
Developer merumuskan sebuah request URL menggunkanan PHP di remote server
Aplikasi PHP membuat request ke Google Maps
Request Valid
N
Google Maps mengirimkan error atau hasil nol
Y
Google Maps mengirimkan data ke user menggunakan format data JSON
PHP dapat menggunkanan fungsi cURL untuk mengambil dan melakukan pengelolahan data JSON Gambar 2.5 Flowchart Request URL Google Maps
2.3.2
Geocoding
Geocoding adalah proses mengubah alamat (seperti “1600 Amphitheatre Parkway, Mountain View, CA”) ke koordinat geografis (lintang 37,423021 dan bujur 122,08379), yang dapat digunakan untuk menempatkan penanda atau posisi peta.
Universitas Sumatera Utara
17
Geocoding API Google menyediagakn cara langsung untuk mengakses geocoder melalui HTTP. Selain itu, layanan ini memungkinkan kita untuk melakukan operasi sebaliknya (berubah koordinat menjadi alamat), proses ini dikenal sebagai reverse geocoding.[8]
2.3.3
Waypoint
Waypoint adalah titik referensi dalam ruang fisik yang digunakan untuk tujuan navigasi. Waypoint merupakan koordinat yang mengidentifikasi titik dalam ruang fisik. Koordinat yang digunakan dapat bervariasi tergantung pada aplikasi. Untuk navigasi darat koordinat berupa bujur dan lintang, sedangkan untuk navigasi udara juga mencakup ketinggian. Waypoint biasanya digunakan untuk sistem navigasi pada GPS dan jenis-jenis tertentu dari radio navigasi. Waypoint yang terletak di permukaan bumi biasanya didefinisikan dalam dua
dimensi (misalnya, bujur dan lintang),
sedangkan yang digunakan dalam atmosfer bumi atau di luar angkasa didefinisikan dalam setidaknya tiga dimensi atau empat jika waktu merupakan salah satu koordinat untuk beberapa titik yang berada di luar bumi. Waypoint ini digunakan untuk membantu menentukan jalur routing yang tak terlihat untuk navigasi. Misalnya, artificial airways " highways in the sky" yang diciptakan khusus untuk keperluan navigasi udara dan hanya terdiri dari serangkaian waypoint abstrak di langit dimana pilot menavigasi airways ini dirancang untuk memudahkan kontrol lalu lintas udara dan routing lalu lintas antara lokasi pada saat bepergian. Waypoints abstrak semacam ini telah dibuat praktis dengan teknologi navigasi modern, seperti land-based radio beacons dan satelit berbasis GPS.[8]
2.3.3.1 Perhitungan Jarak Antara Dua Waypoints
Untuk melakukan perhitungan jarak antara dua waypoints pada Google Maps menggunakan persamaan hukum kosinus koordinat bola (spherical law of cosines). ? = @A sin E
. sin EF + cos EF
. cos EF . cos IF − I
. J……()
Universitas Sumatera Utara
18
Dimana : E
D
: Jarak antar dua titik (km)
I
: Posisi titik i(1,2,…n) pada garis lintang dalam derajat
J
: Posisi titik i(1,2,…n) pada garis bujur dalam derajat : Jari-jari bumi (6371 km)
Karena untuk menggunakan persamaan ini nilai lintang dan bujur harus dalam radian, sedangkan data masukan dari pengguna dalam derajat, maka terlebih dahulu mengubah nilai derajat menjadi radian dengan membagi dengan 180 / π . π adalah konstanta matematika yaitu 3,14.[8]
2.4 GPS
Rancangan terbaru dari GPS dikembangkan dari sebuah prototype pada akhir 1960. Rancangan ini berdasarkan pada rasi dua puluh empat satelit buatan manusia yang mengorbit bumi setiap dua belas jam pada ketinggian 20.000 km dari permukaan laut. Secara kolektif, ini berdasarkan konstelasi membentuk Segmen angkasa, seperti yang ditunjukkan pada Gambar 2. setiap satelit terus mengirimkan pesan posisi, dengan ketepatan waktu antara semua komponen sistem dan antar satelit. Waktu tersebut dikelola oleh pemantauan transmisi satelit di lima stasiun darat yang dapat mengirim pembaharuan ke satelit ketika penyimpangan yang tidak diinginkan terdeteksi. Seperangkat stasiun membuat segmen ground.[10]
Gambar 2.6 Konstelasi Dua Puluh Empat GPS Satelit Dalam Enam Bidang Orbit.
Universitas Sumatera Utara
19
Segmen ketiga adalah pengguna segmen peralatan yaitu terdiri dari apa yang telah menjadi berbagai jenis penerima GPS yang dirancang untuk memanfaatkan sinyal berbasis ruang untuk posisi akurat dan penentuan waktu. semua penerima tersebut beroperasi pada prinsip yang sama yaitu estimasi waktu kedatangan sinyal dari sedikitnya empat satelit terpisah, kemudian untuk mengetahui transmisi waktu dan kecepatan cahaya untuk memperkirakan jarak antara pengguna dan satelit. Penerima GPS kemudian menggunakan rentang untuk menghitung posisi pengguna.[10]
Setiap sinyal GPS dirancang untuk membawa waktu yang tertera memungkinkan penerima untuk mengetahui kapan sinyal meninggalkan satelit GPS. Sebuah peralatan penerima yang dilengkapi dengan baik kemudian dapat mengukur ketika sinyal menjangkau pengguna. Jika jam satelit dan jam pengguna secara sempurna disinkronkan, jarak antara mereka dapat dihitung sebagai waktu tunda dikalikan dengan kecepatan cahaya. Namun, meskipun jam GPS semua sangat tepat dan disinkronkan dengan satu sama lain, jam pengguna juga dapat memiliki bias relatif yang tidak diketahui terhadap waktu sistem GPS. Istilah pseudorange digunakan untuk mengenali bahwa pengguna hanya dapat memperkirakan setiap sinyal GPS waktu kedatangan relatif terhadap jam bias.[10]
2.4.1
Sumber Kesalahan
Sumber kesalahan dari GPS pada umumnya diakibatkan oleh:[9]
a. Ionosphere and troposphere delays, signal satelite lambat dalam menembus atmosfer. Pada GPS yang baru telah dilengkapi oleh perhitungan rata-rata delays (waktu tunda) untuk mengoreksi kesalahan yang terjadi. b. Signal multipath, Kesalahan yang terjadi akibat signal dipantulkan oleh gedung atau batuan besar, sebelum mencapai receiver. c. Penerimaan satelite yang terganggu akibat gedung, interferensi gelombang elektro magnetik, blok signal, sehingga GPS tidak bekerja dalam rumah (indoor), dibawah permukaan air atau di bawah tanah.
Universitas Sumatera Utara
20
2.4.2
Kesalahan pada GPS
Kesalahan-kesalahan satelite, antara lain:[9] a. Receiver clock errors, b. Orbital Error, c. Satellite geometry/shading dan d. Intentional degradation of the satellite signal.
2.4.3
Tracking
Tracking dalam per-istilahan GPS adalah melakukan kuisisi data koordinat secara otomatis berdasarkan jalur yang kita lalui dan data tersebut disimpan dalam kartu memori GPS secara otomatis.[9]
Universitas Sumatera Utara
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Persoalan penentuan jarak terdekat merupakan salah satu permasalahan optimasi. Graf yang digunakan adalah suatu graf berbobot jarak antar user yang merupakan tempattempat yang akan dilintasi. Untuk meminimumkan waktu atau biaya dalam melintasi tempat-tempat, diperlukan informasi lintasan yang terpendek yang harus dilalui. Permasalahan pencarian lintasan yang terpendek antar lokasi dapat diselesaikan dengan algoritma ACO yang bekerja sebagai penentuan jalur terpendek antar titik, untuk selanjutnya dapat diterapkan pada pencarian jalur terpendek pada berbagai lokasi yang ingin diketahui. Contoh kasus yang akan diambil adalah pencarian jalur terpendek antara titik A dan titik D.
Gambar 3.1 Ilustrasi Jalur Terpendek dengan Jarak
Universitas Sumatera Utara
22
Pada Gambar 3.1 diketahui koordinat pengguna yang digunakan sebagai banyak kota yang dikunjungi kemudian sistem ini akan mencari jarak terdekat menggunakan
algoritma ant colony optimization (ACO) dalam penentuan jarak terdekatnya.
3.1.1
Analisis Masalah
Untuk mengidentifikasi masalah menggunakan diagram ishikawa (fishbone diagram). Masalah yang akan diidentifikasi yaitu sebuah perangkat mobile yang memiliki fasilitas GPS belum digunakan secara maksimal. Bahkan untuk membeli sebuah perangkat GPS saat ini masih relatif mahal sehingga hanya orang tertentu saja yang menggunakanya. Dengan adanya fasilitas GPS jarak yang akan ditempuh dapat dihitung secara komputasi, sehingga waktu yang digunakan akan jauh lebih efektif daripada perhitungan secara manual. Permasalahan tersebut dapat dilihat melalui sebuah diagram ishikawa pada Gambar 3.2.
Materials
Man Memiliki keterbatasan dalam memproses data
Kesulitan dalam pembuatan peta terbaru
Penentuan jarak terdekat dari sebuah koordinat ponsel Harga perangkat GPS relatif mahal
Pencarian jarak terdekat masih manual
Machine
Method
Gambar 3.2 Diagram Ishikawa Untuk Analisis Permasalahan Sistem
3.1.2
Analisis Kebutuhan Sistem
Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.
Universitas Sumatera Utara
23
3.1.2.1 Kebutuhan Fungsional Sistem
Kebutuhan fungsional yang harus dimiliki oleh aplikasi mobile tracking dalam penentuan jarak terdekat yaitu : 1. Fasilitas gps sebuah ponsel untuk membaca koordinat. 2. Sistem akan melakukan perhitungan jarak terdekat pada google maps menggunakan algoritma ant colony optimization. 3. Sistem dapat menampilkan route yang akan dilalui sebagai jarak terdekat.
3.1.2.2 Kebutuhan Non-Fungsional Sistem
Kebutuhan non-fungsional adalah kebutuhan yang harus dipenuhi agar aplikasi yang dirancang mendapat umpan-balik yang baik dari pengguna aplikasi. Kebutuhan nonfungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut: a. Performa Sistem harus mampu melaksanakan setiap tugas secara utuh dalam selang waktu yang tidak terlalu lama sesuai dengan ukuran data input yang diberikan. b. Informasi Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada sistem. c. Ekonomi Sistem harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak. d. Kontrol Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna. e. Efisiensi Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut. f. Pelayanan
Universitas Sumatera Utara
24
Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.
3.1.3
Pemodelan
Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pemodelan aplikasi dilakukan dengan membuat use-case diagram, activity diagram, class diagram, dan sequence diagram.
3.1.3.1 Use-Case Diagram
Untuk menganalisa komponen-komponen yang berperan dalam sistem yang dirancang, penulis menggunakan use-case diagram agar proses penganalisaan komponen dapat dilakukan dengan mudah. Use-case diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.3. Daftar >
Data User
Login Kordinat Ponsel User
>
Long-Lat
Admin
Profil User Hasil Perhitungan Peta Graph
> >
Durasi Dalam Matriks
>
Hitung Perjalanan
Eksport data >
Gambar 3.3. Use-Case Diagram Pada Sistem
Universitas Sumatera Utara
25
3.1.3.2 Activity Diagram
Untuk menganalisa aktivitas-aktivitas yang akan berlangsung selama aplikasi dijalankan diperlukan sebuah activity diagram. Activity diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.4.
Universitas Sumatera Utara
26
Activity diagram
Gambar 3.4. Activity Diagram Pada Sistem
Universitas Sumatera Utara
27
3.1.3.3 Class Diagram Class diagram untuk sistem yang dirancang dapat dilihat seperti pada Gambar 3.5.
Gambar 3.5. Class Diagram Pada Sistem
3.1.3.4 Sequence Diagram
Sequence diagram untuk sistem yang dirancang dapat dilihat seperti pada Gambar 3.6.
Universitas Sumatera Utara
28
Gambar 3.6. Sequence Diagram Pada Sistem
3.2 Perancangan Sistem
3.2.1
Flowchart Sistem
Flowchart merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Flowchart menjelaskan tentang urutan-urutan dari prosedur yang ada di dalam sistem dengan menggunakan simbol-simbol.
Flowchart pembuatan aplikasi mobile tracking dapat dilihat seperti pada Gambar 3.7.
Universitas Sumatera Utara
29
Gambar 3.7. Flowchart Sistem
Universitas Sumatera Utara
30
3.2.2
Pseudocode Algoritma ACO
Pseudocode adalah teknik untuk menuliskan algoritma secara hight-level tanpa tergantung pada sebuah bahasa pemrograman. Penulisan pseudocode biasanya ditulis dengan menggunakan bahasa inggris dan diberi tambahan notasi matematika.
Pseudeocode Algoritma ACO ditunjukkan oleh tabel 3.1 dibawah ini:
Tabel 3.1 Pseudocode Algoritma ACO Baris Kode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Pseudocode ALGORITMA Ant Colony Optimization
{algortima untuk menghitung jarak terpendek menggunakan ACO}
DEKLARASI alfa,beta,asF:double; i,j,m,Q:integer;
DESKRIPSI Set parameter(alfa,beta,asF,m,Q) while stopping criterion not satisfied do position each ant in a starting node repeat for each ant do choose next node by applying the state transition rule apply local pheromone update end for until every ant has built a solution update best solution apply global pheromone update end while Output (Jarak terpendek)
Universitas Sumatera Utara
31
3.2.3
Perancangan Database
Tabel yang penulis gunakan dalam pembuatan aplikasi mobile tracking yaitu tb_admin, tb_client dan tb_track. Rincian masing-masing table diuraikan pada table dibawah ini.
1. Tabel Admin Tabel admin merupakan table yang digunakan untuk menyimpan account admin yaitu username dan password sebagai autentikasi untuk masuk ke menu admin.
Tabel 3.2 Tabel Admin Field
Type
id_admin
int(10)
Nama
varchar(200)
Username
varchar(200)
Password
varchar(200)
2. Tabel Client Tabel Client digunakan untuk menyimpan data user dan melacak koordinatnya. Dimana setiap kali user melakukan login maka koordinat pada database selalu diperbaharui
Tabel 3.3 Tabel Client Field
Type
id_client
int(10)
Nama
varchar(200)
username
varchar(200)
password
varchar(200)
Universitas Sumatera Utara
32
Field
Type
jenis_kelamin
enum('Pria', 'Wanita')
no_hp
varchar(15)
Alamat
varchar(200)
Lat
double
Long
double
Gambar
varchar(120)
id_session
varchar(100)
Aktif
enum('Y', 'N')
3. Tabel Track Tabel track digunakan untuk menyimpan semua data perjalanan masingmasing user.
Table 3.4 Tabel Track Field
Type
id_track
int(10)
id_client
int(10)
Lat
double
Long
double
Time
datetime
session_login
varchar(160)
3.2.4
Perancangan Tampilan
3.2.4.1 Halaman Login
Halaman login merupakan sebagai authentikasi data untuk mengakses halaman utama aplikasi. Halaman ini digunakan sebagai pembatasan hak akses terhadap fitur-fitur yang ada di aplikasi. Agar dapat masuk kedalam aplikasi, maka pengguna harus
Universitas Sumatera Utara
33
memiliki username dan password yang sudah terdaftar sebelumnya. Kemudian setelah pengguna dapat melakukan proses login maka sistem akan mendapatkan koordinat ponsel kemudian disimpan kedalam database. Tampilan dapat dilihat pada gambar 3.8
Mobile Tracking(1)
Username(2) Text Box(3)
Password(4) Text Box(5)
Login(6)
daftar(7) Gambar 3.8 Halaman login
Keterangan: 1. Label yang berisi logo aplikasi 2. Label Username. 3. Label File Tujuan. 4. Text box untuk menampilkan input username. 5. Text box untuk menampilkan input password. 6. Tombol untuk memproses input login. 7. Tombol untuk menampilkan dialog pendaftaran.
3.2.4.2 Halaman User
Halaman User adalah halaman yang digunakan sebagai antar-muka user setelah berhasil melakukan proses login. Halaman ini juga akan menampilkan posisinya berada berdasarkan koordinat yang diterima. Rancangan halaman user dapat dilihat seperti pada Gambar 3.7
Universitas Sumatera Utara
34
Tracking location pocessing... (1) YYYY-mm-dd
Map(2)
Lat : (3) Long :
Edit profile(4)
LogOut(5)
Gambar 3.9 Halaman User Keterangan: 1. Label untuk menampilkan text proses pelacakan koordinat ponsel. 2. Label untuk menampilkan map. 3. Label untuk menampilkan alamat latitude dan longitude. 4. Tombol untuk menampilkan form edit profile. 5. Tombol untuk menampilkan form logout.
3.2.4.3 Halaman Admin
Halaman admin adalah halaman yang digunakan sebagai antar-muka admin setelah berhasil melakukan proses login. Pada halaman ini digunakan untuk melakukan pelacakan posisi user dan perhitungan jarak terdekatnya. Rancangan halaman admin dapat dilihat seperti pada Gambar 3.10
Universitas Sumatera Utara
35
Tujuan(1)
Text box(2)
add(3)
Pilih jalur(4) Walking (Jalan kaki) (5) Bicycling (Naik sepeda) Avoid highways (Hindari jalan raya) Avoid toll roads (Hindari jalan tol)
Map(16)
Eksport(6) Edit Route(7) Mobile Tracking(8)
Tracking Mobile(9) Hitung Perjalanan TSP Hitung Perjalanan A - Z Data Client(10) Ulangi lagi(11) Refresh Halaman(12) Pengujian javascript(13) About
Lama perjalanan dan panjang perjalanan(17)
(14)
Jalan yang dilalui(18)
Logout(15)
Gambar 3.10 Halaman Admin Keterangan: 1. Label untuk menampilkan tujuan. 2. Text box untuk menampilkan input tujuan. 3. Tombol untuk menampilkan form add. 4. Label untuk menampilkan pilih jalur. 5. checkbox untuk menampilkan jalur yang akan dilalui. 6. Label untuk menampilkan eksport. 7. Label untuk menampilkan edit route. 8. Label untuk menampilkan mobile tracking. 9. Tombol untuk menampilkan form perhitungan jalur yang dilewati. 10. Tombol untuk menampilkan data client. 11. Tombol untuk mengulangi proses. 12. Tombol untuk melakukan refresh halaman. 13. Tombol untuk melakukan pengujian javascript. 14. Tombol untuk menampilkan halaman about. 15. Tombol untuk keluar dari halaman login. 16. Label untuk menampilkan maps. 17. Label untuk menampilkan hasil perhitungan. 18. Label untuk menampilkan jalur yang akan dilalui.
Universitas Sumatera Utara
36
3.2.4.4 Halaman Data User Halaman data user ini merupakan rancangan yang digunakan untuk manajemen data user yang sudah terdaftar sebagai user, form ini hanya ditampilkan pada menu admin sebagai manajemen data user.
Tujuan(1)
Data User[16] (2)
Text box
(3)
add
Pilih jalur(4) Walking (Jalan kaki) (5) Bicycling (Naik sepeda) Avoid highways (Hindari jalan raya) Avoid toll roads (Hindari jalan tol) Eksport(6) Edit Route(7) Mobile Tracking(8)
Tracking Mobile(9) Hitung Perjalanan TSP Hitung Perjalanan A - Z Data Client(10) Ulangi lagi(11) Refresh Halaman(12) Pengujian javascript(13) About(14) Logout(15)
Gambar 3.11 Halaman Data User Keterangan: 1. Label untuk menampilkan tujuan. 2. Text box untuk menampilkan input tujuan. 3. Tombol untuk menampilkan form add. 4. Label untuk menampilkan pilih jalur. 5. checkbox untuk menampilkan jalur yang akan dilalui. 6. Label untuk menampilkan eksport. 7. Label untuk menampilkan edit route. 8. Label untuk menampilkan mobile tracking. 9. Tombol untuk menampilkan form perhitungan jalur yang dilewati. 10. Tombol untuk menampilkan data user. 11. Tombol untuk mengulangi proses. 12. Tombol untuk melakukan refresh halaman.
Universitas Sumatera Utara
37
13. Tombol untuk melakukan pengujian javascript. 14. Tombol untuk menampilkan halaman about. 15. Tombol untuk keluar dari halaman login. 16. Label untuk menampilkan data user.
3.2.4.5 Halaman About Halaman about berfungsi untuk menampilkan informasi tentang profil penulis. Profil penulis meliputi biodata penulis serta data akademik. Rancangan about dapat dilihat seperti pada Gambar 3.12.
Judul Skripsi
Tentang Penulis
Fakultas
Gambar 3.12 Halaman About
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
4.1.1
Implementasi Algoritma Ant Colony Optimization
Proses yang dilakukan pertama kali adalah yaitu melacak posisi koordinat sebuah ponsel. Koordinat yang berhasil dilacak kemudian akan disimpan kedalam database. Data dapat dilihat seperti pada Tabel 4.1.
Tabel 4.1. Koordinat Ponsel Yang Terlacak Oleh Apliaksi Mobile Tracking ID 1 2 3 4
NAMA Donny Sanjaya Ridho Satrya Akbar Rajab Sihotang Chandra Kurniawan
Lat 3,5855251 3,5678042 3,5731014 3,5673288
Long 98,6312905 98,6422931 98,6535551 98,6607754
Alamat Jl. Merpati Jl. Setia Budi Jl. Mesjid Jl. Jamin Ginting
Jika masing-masing koordinat diatas digambarkan pada tampilan graf maka dapat kita lihat titik yang akan dilewati dalam pencarian jarak terdekat. Waypoint menunjukkan lokasi dari suatu tempat, dan dihitung menggunakan latitude (lintang) dan longitude (bujur). Untuk perhitungan yang lebih tepat dari jarak antara dua tempat yang jauh, rumus jarak lingkaran besar dapat digunakan. Rumus yang menggunakan sifat trigonometri dari suatu koordinat termasuk sinus, cosinus, arccosinus dan perkiraan jari-jari bumi, maka jarak dari suatu tempat dapat dihitung.
Universitas Sumatera Utara
39
Langkah-langkah untuk menghitung jarak antara dua waypoint adalah sebagai berikut :
Mengkonversi bujur dan lintang dua waypoint dari representasi desimal ke radian dibagi dengan 180 / π, atau 57,29578.
1. Jarak antara Jl. Merpati(1) dan Jl. Setia Budi(2) Pengukuran lintang dan bujur untuk Jalan Merpati adalah Lintang 3,5855251, Bujur 98,6312905 Pengukuran bujur dan lintang untuk Jalan Setia Budi adalah Lintang 3,5678042, Bujur 98,6422931 Bagi dengan 180 / π, sehingga diperoleh Jalan Merpati :
Jalan Setia Budi :
Lintang radian
= 0,062579218
Bujur radian
= 1,721440765
Lintang radian
= 0,06226993
Bujur radian
= 1,721632796
Hitung jarak dua waypoints dengan rumus =
(sin(
. sin(
+ cos(
. cos(
. cos(
−
.
D = Acos(sin(0,062579218) . sin(0,06226993) + cos(0,062579218) .cos(0,06226993) . cos(1,721632796-1,721440765)) . 6371 Maka jarak = 2,318 km
2. Jarak antara Jalan Setia Budi(2) dan Jalan Mesjid(3) Pengukuran bujur dan lintang untuk Jalan Setia Budi adalah Lintang 3,5678042, Bujur 98,6422931 Pengukuran lintang dan bujur untuk Jalan Mesjid adalah Lintang 3,5731014, Bujur 98,6535551
Universitas Sumatera Utara
40
Bagi dengan 180 / π, sehingga diperoleh Jalan Setia Budi :
Jalan Mesjid :
Lintang radian
= 0,06226993
Bujur radian
= 1,721632796
Lintang radian
= 0,062362384
Bujur radian
= 1,721829355
Hitung jarak dua waypoints dengan rumus =
(sin(
. sin(
+ cos(
. cos(
. cos(
−
.
D = Acos(sin(0,06226993) . sin(0,062362384)+ cos(0,06226993) .cos(0,062362384) . cos(1,721829355-1,721632796)) . 6371 Maka jarak = 1,382 km
3. Jarak antara Jalan Mesjid(3) dan Jalan Jamin Ginting(4) Jalan Mesjid :
Lintang radian
= 0,062362383938
Bujur radian
= 1,721829355293
Jalan Jamin Ginting : Lintang radian Bujur radian
= 0,062261633061 = 1,721955373301
Maka jarak = 1,027 km
4. Jarak antara Jalan Merpati(1) dan Jalan Jamin Ginting(4) Jalan Merpati :
Lintang radian
= 0,062579218408
Bujur radian
= 1,721440764716
Jalan Jamin Ginting : Lintang radian Bujur radian
= 0,062261633061 = 1,721955373301
Maka jarak = 3,847 km
5. Jarak antara Jalan Setia Budi (2) dan Jalan Jamin Ginting (4) Jalan Setia Budi :
Lintang radian
= 0,062269930356
Bujur radian
= 1,721632796312
Universitas Sumatera Utara
41
Jalan Jamin Ginting : Lintang radian Bujur radian
= 0,062261633061 = 1,721955373301
Maka jarak = 2,052 km
6. Jarak antara Jalan Merpati (1) dan Jalan Mesjid (3) Jalan Merpati :
Jalan Mesjid :
Lintang radian
= 0,062579218408
Bujur radian
= 1,721440764716
Lintang radian
= 0,062362383938
Bujur radian
= 1,721829355293
Maka jarak = 2,830 km Tampilan graf dapat dilihat pada Gambar 4.1.
1
2,318 km
2
1,381 km 2,052 km
2,830 km 3,847 km
3
4 1,027 km
Gambar 4.1 Graf Dengan Empat Vertex
Dari graf diatas, jarak antar kota dapat ditampilkan dimasukan kedalam sebuah tabel. Kemudian akan dicari route terpendeknya.
Tabel 4.2 Jarak Antar Kota Kota ke-
1
2
3
4
1
0
2,318
2,830
3,847
2
2,318
0
1,381
2,052
3
2,830
1,381
0
1,027
4
3,847
2,052
1,027
0
Universitas Sumatera Utara
42
Berikut ini langkah-langkah perhitungan route terpendek menggunakan algoritma semut.
Parameter–parameter yang digunakan adalah: Alfa (α) = 1.00 Beta (β) = 1.00 Rho (ρ) = 0.50 τij awal = 0.01 Maksimum siklus (NCmax) = 1 Tetapan siklus semut (Q) = 1 Banyak semut (m) = 3 Dari jarak kota yang telah diketahui dapat dihitung visibilitas antar kota (ηij) = 1/dij
Tabel 4.3 Visibilitas Antar Kota Kota ke-
1
2
3
4
1
0
0,431406
0,353357
0,259943
2
0,431406
0
0,724113
0,487329
3
0,353357
0,724113
0
0,97371
4
0,259943
0,487329
0,97371
0
Intensitas feromon antar titik (τij) akan diperlihatkan pada table 4.4 dibawah ini : Tabel 4.4 Feromon Antar Titik Kota ke-
1
2
3
4
1
0
0,01
0,01
0,01
2
0,01
0
0,01
0,01
3
0,01
0,01
0
0,01
4
0,01
0,01
0,01
0
Nilai dari parameter visibilitas (η) dan intensitas feromon (τ) ini nantinya akan digunakan
dalam
persamaan
probabilitas
dan
merupakan
parameter
yang
mempengaruhi semut dalam pemilihan titik berikutnya ( aturan transisi).
Universitas Sumatera Utara
43
Mencari titik tujuan berikutnya dengan perhitungan probabilitas :
Siklus ke-1 Semut ke – 1: - Daftar semut 1 ke tujuan - Probabilitas dari kota 1 ke setiap kota berikutnya dapat dihitung dengan persamaan ( ,
( ,
=
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0) + (0.01*0,431406) + (0.01*0,353357) + (0.01*0,259943) = 0,01045 dengan demikian dapat dihitung probabilitas dari kota 1 menuju setiap kota = Kota 1 = 0.00 Kota 2 = (0.01)1.00 . (0,431406)1.00 / 0,01045 = 0,412829 Kota 3 = (0.01)1.00 . (0,353357)1.00/ 0,01045 = 0,338141 Kota 4 = (0.01)1.00 . (0,259943)1.00/ 0,01045 = 0.248749
- Probabilitas Komulatif = 0,000
0,413 0,751 1,000
- Bilangan Random = 0.679 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 3 - Daftar semut = 1 3 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= * Δτ (1,3 )=
++ .,
,-./ . 0
=
,.
=0,088
τ (1,3) ← (1−0,50 ).(0,01)+(0,088) τ (1,3) ← 0,093 Menghitung probabilitas dari titik 3 ke titik berikutnya: ( ,
=
( ,
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0,353357) + (0.01*0,724113) + (0.01*0,97371) = 0,0205118
Universitas Sumatera Utara
44
Kota 1 = (0.01)1.00 . (0, 353357)1.00 / 0,0205118 = 0,172270 Kota 2 = (0.01)1.00 . (0,724113)1.00 / 0,0205118 = 0,353023 Kota 3 = 0 Kota 4 = (0.01)1.00 . (0, 97371)1.00/ 0,0205118
- Probabilitas Komulatif = 0,172270
= 0,474707
0,525292758 0,525292758 1,000
- Bilangan Random = 0.479 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 2 - Daftar semut = 1 3 2 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )=
*++ .,
Δτ (3,2 )=
,.- . 0
= 1,1 0=0,1810
τ (3,2) ← (1−0,50 ).(0,01)+(0,1810) τ (3,2) ← 0,186
Titik tujuan selanjutnya hanya ke titik 4 - Daftar semut = 1 3 2 4 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= * Δτ (2,4 )=
++ .,
,/1 . 0
= -,
/-
=0,1218
τ (2,4) ← (1−0,50 ).(0,01)+( 0,1218) τ (2,4) ← 0,1268
Semut ke – 2: - Daftar semut 1 ke tujuan - Probabilitas dari kota 1 ke setiap kota berikutnya dapat dihitung dengan persamaan ( ,
=
( ,
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Universitas Sumatera Utara
45
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0) + (0.01*0,431406) + (0.01*0,353357) + (0.01*0,259943) = 0,01045 dengan demikian dapat dihitung probabilitas dari kota 1 menuju setiap kota = Kota 1 = 0.00 Kota 2 = 0,412829 Kota 3 = 0,338141 Kota 4 = 0.248749 - Probabilitas Komulatif = 0,000
0,413 0,751 1,000
- Bilangan Random = 0.497 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 2 - Daftar semut = 1 2 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= * Δτ (1,2 )=
++ .,
,. - . 0
= 2,
3
=0,1078
τ (1,2) ← (1−0,50 ).(0,01)+(0,1078) τ (1,2) ← 0,1128 Menghitung probabilitas dari titik 2 ke titik berikutnya: ( ,
=
( ,
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0,431406) + (0.01*0) + (0.01*0,724113) + (0.01*0,487329) = 0,01643 Kota 1 = (0.01)1.00 . (0,431406)1.00 / 0,01643 = 0,0087 Kota 2 = 0.00 Kota 3 = (0.01)1.00 . (0,724113)1.00 / 0,01643 = 0,5926 Kota 4 = (0.01)1.00 . (0,487329)1.00 / 0,01643 = 0.3988 - Probabilitas Komulatif = 0,263
0,263 0,703 1,000
- Bilangan Random = 0.598 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 3 - Daftar semut = 1 2 3 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v)
Universitas Sumatera Utara
46
Δτ ( t,v )= * Δτ (2,3 )=
++ .,
, .- . 0
= 0,11 0=0,21966
τ (2,3) ← (1−0,50 ).(0,01)+(0,21966) τ (2,3) ← 0,2247 Titik tujuan selanjutnya hanya ke titik 4 - Daftar semut = 1 2 3 4 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= * Δτ (3,4 )=
++ .,
,/ 3 . 0
= 0,
/-
=0,2434
τ (3,4) ← (1−0,50 ).(0,01)+( 0,2434) τ (3,4) ← 0,2484
Semut ke – 3: - Daftar semut 1 ke tujuan - Probabilitas dari kota 1 ke setiap kota berikutnya dapat dihitung dengan persamaan ( ,
=
( ,
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0) + (0.01*0,431406) + (0.01*0,353357) + (0.01*0,259943) = 0,01045 dengan demikian dapat dihitung probabilitas dari kota 1 menuju setiap kota = Kota 1 = 0.00 Kota 2 = 0,412829 Kota 3 = 0,338141 Kota 4 = 0.248749 - Probabilitas Komulatif = 0,000
0,413 0,751 1,000
- Bilangan Random = 0.721 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 3 - Daftar semut = 1 3 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v)
Universitas Sumatera Utara
47
Δτ ( t,v )= * Δτ (1,3 )=
++ .,
,-./ . 0
=
,.
=0,088
τ (1,3) ← (1−0,50 ).(0,01)+(0,088) τ (1,3) ← 0,093
Menghitung probabilitas dari titik 3 ke titik berikutnya: ( ,
=
( ,
∑$%&' ((
. η( , ! ( , # . η( , # 0
!
Σ[τ(r,u)]α.[η(r,u)]β = (0.01*0,353357) + (0.01*0,724113) + (0.01*0,97371) = 0,0205118 Kota 1 = 0,172270 Kota 2 = 0,353023 Kota 3 = 0 Kota 4 = 0,474707
- Probabilitas Komulatif = 0,172270 0,525292758 0,525292758 1,000 - Bilangan Random = 0.519 - Memeriksa qk-1 < r ≤ qk → Kota yang dipilih adalah 2 - Daftar semut = 1 3 2 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= * Δτ (3,2 )=
++ .,
,.- . 0
= 1,1 0=0,1810
τ (3,2) ← (1−0,50 ).(0,01)+(0,1810) τ (3,2) ← 0,186 Titik tujuan selanjutnya hanya ke titik 4 - Daftar semut = 1 3 2 4 - Melakukan pembaruan lokal feromon menggunakan persamaan (3): τ (t,v) ← (1−ρ ).τ (t,v)+Δτ (t,v) Δτ ( t,v )= *
++ .,
Universitas Sumatera Utara
48
,/1 . 0
Δτ (2,4 )=
= -,
/-
=0,1218
τ (2,4) ← (1−0,50 ).(0,01)+( 0,1218) τ (2,4) ← 0,1268
Hasil rute semut pada siklus 1 adalah rute: Hasil pencarian dari siklus pertama seperti yang terlihat pada tabel 4.5 berikut:
Tabel 4.5 Hasil Siklus I Algoritma Semut Semut
Route
Panjang
Semut 1
1324
6,263 Km
Semut 2
1234
4,726 Km
Semut 3
1324
6,263 Km
Melakukan pembaruan global feromon menggunakan persamaan (4) τ (t,v)←(1−α ).τ (t,v) +α.Δτ (t,v) Δτ ( t,v )= 4
567 8 9:;< (=, > ∈ 0
#=@ =@ A newCost) { currDist += newCost - nowCost; // Reverse the detached road segment. for (var k = 0; k < Math.floor((j-i)/2); ++k) { tmp = currPath[i+1+k]; currPath[i+1+k] = currPath[jk]; currPath[j-k] = tmp; } changed = true; --i; } cost += dur[currPath[j]][currPath[j+1]]; revCost += dur[currPath[j+1]][currPath[j]]; } } } if (currDist < bestTrip) { bestPath = currPath; bestTrip = currDist; } for (var i = 0; i 2->3->4->5->6->7->8. Hasil dapat dilihat pada Gambar 4.14.
Gambar 4.14 Urutan Titik Sebelum Perhitungan
Universitas Sumatera Utara
59
Untuk melihat route tercepat yang harus dilalui setelah perhitungan dengan menggunakan algoritma ACO untuk yaitu 1->4->6->7->2->3->5->8. Hasil dapat dilihat pada Gambar 4.15.
Gambar 4.15 Urutan Titik Setelah Perhitungan.
Menekan tombol durasi dalam matrix untuk memulai melihat hasil perhitungan yang disajikan dalam sebuah matrix. tampilan dapat dilihat seperti pada Gambar 4.16.
Gambar 4.16 Hasil Perhitungan Dalam Matrix.
Universitas Sumatera Utara
60
4.2.3 Pengujian Sistem Dengan 3 Buah Koordinat
Pengujian dengan 3 buah koordinat adalah pengujian dalam melakukan proses penentuan jarak antar pengguna sejumlah 3 tempat dengan lokasi titik dapat ditentukan melalui tombol. Pengujian pemasukan data dengan 3 tempat dapat dilihat pada Gambar 4.17.
Gambar 4.17 Pengujian 3 buah Koordinat
4.2.4 Fungsi Fitur One Way Trip
Setelah titik lokasi yang ingin dituju telah diinputkan pada layar maka user dapat memilih fitur pencarian. Fitur one way trip akan mencari rute terpendek dimana lokasi yang pertama diinputkan adalah lokasi awal dan lokasi terakhir menjadi lokasi tujuan. Ujicoba dilakukan dengan 3 node. Hasilnya sebagai berikut :
Universitas Sumatera Utara
61
Gambar 4.18 Fitur Oneway Trip dan Directions
Selain itu fitur ini bisa ditempuh dengan jalan (by walking). Hasilnya sebagai berikut:
Gambar 4.19 Fitur Oneway Trip by Walking dan Directions
Dari Gambar diatas dapat dilihat jarak tempuh total dan rute yang ditempuh dari fitur one way trip by walking lebih kecil dibandingkan fitur one way trip by driving hal ini disebabkan berbedanya akses jalan yang dapat ditempuh oleh keduanya.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1
Kesimpulan
Dari penelitian tentang penentuan jalur terpendek menggunakan algoritma Ant Colony Optimization, dapat diambil kesimpulan sebagai berikut:
1. Aplikasi mobile tracking dalam penentuan jarak terdekat dengan dukungan Sistem Informasi Geografis ini dapat menunjukkan rute terpendek antara ponsel.
2. Kecepatan menampilkan suatu rute pada map tergantung pada jumlah kota yang diinputkan, provider dan kestabilan koneksi internet.
5.2
Saran
Adapun saran yang dapat penulis berikan untuk mengembangkan penelitian ini adalah sebagai berikut:
Universitas Sumatera Utara
63
1. Diharapkan pengembangan pada aplikasi ini supaya memiliki fitur yang lebih banyak dan lebih menarik. Contohnya fitur untuk melacak truk pengiriman barang, melacak sebuah lokasi toko, restoran dan tempat-tempat lainya.
2. Diharapkan pengembangan pada aplikasi ini menggunakan platform yang berbeda (android, iOS, dll) untuk melacak koordinat ponsel.
Universitas Sumatera Utara
DAFTAR PUSTAKA Sumber Dari Buku [1] Abdusakir, Azizah,N.N. & Novandika, F.F. 2009. Teori graf. Malang.UIN-Malang Press. [2] Basuki,A.P, 2011. Membangun Web Berbasis PHP dengan Framework Codeigniter, Lokomedia:Yogyakarta. [3] Dorigo, M. & Gambardella, L.M .1997. Ant Colony for the Travelling Salesman Problem. Cambridge. Massachussets. London. England . [4] Dorigo, M. & Stutzle,T. 2004. Ant Colony Optimization. The MIT Press, Massachusetts. [5] Dorigo, M. 1996. The Ant Colony Optimization Metaheuristic: Algorithms, Applications, and Advances. Université Libre de Bruxelles. [6] Dorigo, M. 1996. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. Université Libre de Bruxelles [7] Munir, Rinaldi. 2005. Matematika Diskrit. Edisi ketiga. Bandung: Informatika. [8] Sirenden,B.H. & Dachi, E.L. 2012. Buat Sendiri Aplikasi Petamu Menggunakan Codeigniter dan Google Maps API.Andi:Yogyakarta. [9] Siswanto. 2005. Pengantar Sistem Informasi Geografik.UPN Press:Surabaya. [10] Sklar. J,R. 2003. Interference Mitigation Approaches for the Global Positioning System. Lincoln Laboratory Journal Volume 14. 167-180. [11] Solnon, Christine. 2010. Ant Colony Optimization and Constraint Programming. ISBN :987-1-84821-130-8. England :Wiley. [12] Wardhana. 2010. Menjadi master PHP dengan Framework Codeigniter. Elex Media Komputindo:Jakarta. Sumber Dari Jurnal Online [13] Google Developers. Getting Started - Google Maps JavaScript API v3 (online). https://developers.google.com/maps/documentation/javascript/tutorial (5 Mei 2013). [14] CodeIgniter User Guide. (online). http://www.codeigniter.com (5 Mei 2013).
Universitas Sumatera Utara
LISTING PROGRAM
1. Halaman Admin SANJAYA - Ant Colony Optimazion for Google Maps API
View more...
Comments