APLIKASI ANDROID UNTUK MENENTUKAN JARAK TERPENDEK ANTAR TERMINAL DI JAKARTA

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. adalah perbandingan antara karya tulis yang telah dibuat dan karya tulis yang akan

BAB II TINJAUAN PUSTAKA

Rancang Bangun Aplikasi Location-Based Service Pencarian Lokasi Wisata Di Kota Semarang Berbasis Android

BAB II TINJAUAN PUSTAKA

TUGAS PEMROGRAMAN III

BAB II LANDASAN TEORI

APLIKASI PEMETAAN JALAN WISATA PANTAI PULAU BATAM DENGAN LAYANAN LOCATION BASED SERVICE BERBASIS ANDROID. Abstrak

RANCANG BANGUN APLIKASI SISTEM INFORMASI GEOGRAFIS (SIG) FASILITAS UMUM BERBASIS ANDROID KECAMATAN SUKAMAKMUR KABUPATEN ACEH BESAR.

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui

Rancang Bangun Aplikasi Panggilan Darurat dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Untuk membangun aplikasi ini, ada beberapa dasar penelitian seperti,

Bab 3 Perancangan Sistem

BAB II DASAR TEORI II-1

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mendefenisikan penelitian yang sebelumnya hampir sama dilakukan

BAB III ANALISA DAN PERANCANGAN SISTEM

APLIKASI MOBILE INFORMASI KERETA API LISTRIK (KRL) JABODETABEK BERBASIS ANDROID

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.

BAB III ANALISA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. atau tata cara memperoleh rute pariwisata di Provinsi Jawa Barat yang sedang

BAB II KAJIAN PUSTAKA

BAB IV HASIL DAN UJI COBA


BAB 2 LANDASAN TEORI. Android adalah sistem operasi berbasisi java yang berjalan pada kernel 2.6 Linux.

PENDAHULUAN Latar Belakang Masalah Kendaraan merupakan angkutan atau alat transportasi yang digunakan masyarakat untuk bepergian. Terlebih lagi diliha

GAME BELAJAR MATEMATIKA UNTUK SISWA SEKOLAH DASAR PADA MOBILE DEVICE BERBASIS ANDROID

APLIKASI PENGINGAT AGENDA BERDASARKAN LOKASI DENGAN GLOBAL POSITIONING SYSTEM (GPS) BERBASIS ANDROID

BAB III LANDASAN TEORI

XML vs JSON. by: Ahmad Syauqi Ahsan

BAB II DASAR TEORI DAN TINJAUAN PUSTAKA. Judul Platform Deskripsi

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. Yasa (2015), mahasiswa STMIK AKAKOM YOGYAKARTA jurusan Teknik

SISTEM PENCARIAN LOKASI BANK DI KOTA PALEMBANG. Jl. Srijaya Negara, Bukit Besar, Ilir Barat 1, Kota Palembang, Sumatera Selatan

BAB III METODOLOGI PENELITIAN

BAB II KAJIAN PUSTAKA

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada tabel 2.1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN SISTEM

PENERAPAN ALGORITMA BEST-PATH PLANNING UNTUK APLIKASI PENCARIAN RUTE TRANSPORTASI PUBLIK BERBASIS ANDROID

MANAJEMEN BASIS DATA SARANA KAMPUS UNIVERSITAS BENGKULU MENGGUNAKAN ALGORITMA A* BERBASIS SPASIAL

Gambar 3.1 Flowchart Membuat Rute Lari

BAB IV IMPLEMENTASI DAN EVALUASI

SISTEM PENCARIAN RUTE LOKASI MENGGUNAKAN GLOBAL POSITIONING SYSTEM DAN APP INVENTOR SECARA VISUAL

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. electronic map yang ditunjukkan oleh garis lintang dan bujur sehingga

BAB II. KAJIAN PUSTAKA

3.9 Peta JSON Android Studio UML (Unified Modeling Language) Use Case Diagram

lainnya. Android juga menggunakan sistem layar sentuh (touch screen) yang memudahkan pelanggan dalam penanganan navigasinya. Para pelaku bisnis telah

BAB II TINJAUAN PUSTAKA. yang sebelumnya dengan penelitian sekarang. Cina dalam mengelola keuangan keluarga. Bagi keluarga Etnis Cina di Kya-

BAB III ANALISA DAN DESAIN. yang jelas untuk perbaikan ataupun pengembangan dari suatu sistem.

BAB 4 IMPLEMENTASI DAN EVALUASI

2 operasi ini lebih cepat diterima di kalangan para pengguna dan semakin banyak yang menggunakan sistem operasi ini. Kemajuan teknologi saat ini dapat

1. Pendahuluan. Perkembangan teknologi saat ini telah memberikan pengaruh yang sangat besar bagi dunia teknologi informasi dan telekomunikasi.

BAB III LANDASAN TEORI

PERANCANGAN DAN PEMBUATAN SISTEM INFORMASI GEOGRAFIS OBJEK WISATA DI KABUPATEN LANGKAT BERBASIS ANDROID

Android memiliki empat karakteristik sebagai berikut :

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. AKAKOM yang akan melakukan Praktik Kerja Lapangan Yang dimana

PERANCANGAN DAN IMPLEMENTASI TRY OUT (UJI COBA) SNMPTN (Seleksi Nasional Masuk Perguruan Tinggi Negeri) ONLINE PADA ANDROID

Sistem Informasi Geografis untuk Perguruan Tinggi Negeri Di Indonesia

BAB III ANALISA DAN DESAIN

BAB II LANDASAN TEORI

Rancang Bangun Aplikasi Perangkat Bergerak Layanan Pemesanan Barang (Studi Kasus Dinas Kebersihan dan Pertamanan Kota Surabaya )

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Beberapa acuan yang digunakan dalam pengembangan sistem dan aplikasi

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB IV HASIL DAN PEMBAHASAN

BAB III LANDASAN TEORI. Pada bab ini akan dipaparkan teori teori yang melandasi didalam pembangunan aplikasi yang akan dibuat.

PEMANFAATAN GOOGLEMAPS UNTUK PEMETAAN DAN PENCARIAN DATA PERGURUAN TINGGI NEGERI DI INDONESIA

PERANCANGAN APLIKASI PEMBELAJARAN SISTEM PENCERNAAN MANUSIA DAN GANGGUANNYA BERBASIS ANDROID NASKAH PUBLIKASI

BAB III ANALISIS DAN PERANCANGAN SISTEM. Penelitian ini akan menghasilkan suatu aplikasi yang. digunakan untuk menemukan lokasi hotel terdekat dan

NASKAH PUBLIKASI APLIKASI PEMETAAN POTENSI KECAMATAN PIYUNGAN BERBASIS MOBILE ANDROID

BAB 1 PENDAHULUAN Latar Belakang

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

Pengenalan Script. Definisi HTML

BAB III ANALISA KEBUTUHAN DAN PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

BAB IV TESTING DAN IMPLEMENTASI SISTEM

BAB 4 PERANCANGAN Perancangan Algoritma Algoritma shortest path (Haversine formula)

BAB III METODE PENELITIAN

PENDAHULUAN Latar Belakang Masalah Saat ini perkembangan teknologi informasi bergerak dengan sangat cepat. Perkembangan teknologi informasi telah memb

APLIKASI MOBILE CCTV HALTE BUSWAY TRANSJAKARTA BERBASIS ANDROID

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM


BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

PERANCANGAN APLIKASI MOBILE PENCARIAN APOTEK 24 JAM TERDEKAT DI WILAYAH SLEMAN DAN KOTA YOGYAKARTA BERBASIS ANDROID NASKAH PUBLIKASI

BAB 3 LANDASAN TEORI

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

Gambar 1. Perangkat mobile Android

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. terletak pada objek, pemodelan, studi kasus, dan bahasa pemrograman.

Perangkat Lunak Pengolahan Data Survey Geografis Berbasis Smartphone Android

Kata Kunci : Sistem Informasi Akademik, Smartphone Android, SMK Negeri 1 Pangkalpinang, Aplikasi Sistem Informasi Akademik Berbasis Android

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

Transkripsi:

APLIKASI ANDROID UNTUK MENENTUKAN JARAK TERPENDEK ANTAR TERMINAL DI JAKARTA Baginda Oloan Lubis 1, Agus Salim 2 1,2 2Manajemen Informatika, AMIK BSI JAKARTA Jl. Kamal Raya No.18, Cengkareng Barat, Cengkareng, Daerah Khusus Ibukota Jakarta 11730 Telp. (021) 70612480 Email: 1 baginda.bio@bsi.ac.id, 2 agus.salim@bsi.ac.id Abstrak Terminal merupakan titik dimana penumpang dan barang masuk atau keluar dari sistem jaringan transportasi. Ditinjau dari sistem jaringan transportasi secara keseluruhan, terminal merupakan simpul utama dalam jaringan dimana sekumpulan lintasan rute secara keseluruhan bertemu. Dengan demikian terminal merupakan komponen utama dalam sistem jaringan transportasi jalan yang mempunyai peran dan fungsi yang sangat penting. Berdasarkan penjelasan diatas maka untuk mempermudah informasi tentang jarak antara satu terminal ke terminal yang lain di Jakarta membutuhkan aplikasi yang mudah digunakan dan mudah dibawa kemana-mana. Sebagai sistem operasi berbasis linux yang dapat digunakan diberbagai perangkat mobile seperti android dapat dimanfaatkan disamping telah men-support berbagai tools dan API untuk pembuatan program mobile termasuk dalam pengaksesan ke Google Maps. Android memiliki tujuan utama untuk memajukan inovasi piranti telepon bergerak agar pengguna mampu mengeksplorasi kemampuan dan menambah pengalaman lebih dibandingkan dengan platform mobile lainnya. Dalam penelitian ini yang akan dipaparkan adalah bagaimana cara mengetahui posisi user dengan memanfaatkan teknologi Global Positioning System (GPS) dan mengetahui jarak yang harus ditempuh dari satu terminal di Jakarta ke terminal lainnya dengan memanfaatkan koneksi internet, rute mana yang harus dilewati oleh user untuk menuju keterminal tujuan dengan menggunakan algoritma shortest path unweighted graph. Kata kunci: Aplikasi Android, Algoritama shortest path unweighted graph 1. PENDAHULUAN Telepon cerdas (smartphone) adjengan menggunakan algoritma shortest path unweighted graph. 2. METODE PENELITIAN 2.1. Aplikasi Penentuan Jarak Penetuan jarak terpendek dalam sebuah perjalan sangat dibutukan dalam menghemat waktu dan jika menggunakan kenderaan juga akan menghemat bahan bakar kenderaan yang digunakan. Untuk membantu menentukan jarak terpendek tersebut dibutuhkan sebuah aplikasi yang mudah digunakan dan dibawa pada saat bepergian. Menurut Najib, M., Sunaryono, D., & Yuhana, U. L. (2013). Aplikasi penuntun jalan merupakan aplikasi yang digunakan untuk membantu pengguna untuk mencari sebuah tempat dari posisi pengguna tersebut hingga sampai pada tempat yang dituju 2.2. Aplikasi Pendukung 2.2.1. Google Maps Menurut Awis, J. (2014) Google Maps adalah layanan aplikasi pemetaan berbasis web dan teknologi yang telah disediakan oleh Google, bersifat free (tidak untuk penggunaan commercial), yang memiliki kemampuan terhadap banyak layanan pemetaan berbasis web. Google Maps merupakan layanan gratis dari Google yang cukup popular, fitur dalam Google Maps dapat ditambahkan ke dalam web user dengan menggunakan

Google Maps API. Google Maps API adalah library JavaScript. Dengan menggunakan Google Maps API dapat lebih menghemat waktu dan biaya untuk membangun suatu aplikasi. 2.2.2. Google Maps API API atau Application Programming Interface bukan hanya satu set class dan method atau fungsi dan signature yang sederhana. Akan tetapi API, yang bertujuan utama untuk mengatasi clueless dalam membangun software yang berukuran besar, secara sederhana dapat dipahami dengan membayangkan kekacauan yang akan timbul bila mengubah database atau skema XML menurut Putra, S. A. (2016). Perubahan ini dapat dipermudah dengan bantuan API. Google Maps API diperkenalkan pada Februari 2005 dan merupakan revolusi bagaimana peta didalam halaman web. Yaitu dengan membiarkan user untuk menarik peta sehingga dapat menavigasinya. Solusi peta ini pada saat itu masih baru dan membutuhkan server khusus. Beberapa saat setelahnya, ada yang berhasil men-hack Google Maps untuk digunakan di dalam web-nya sendiri. Hal ini membuat Google Maps mengambil kesimpulan bahwa mereka membutuhkan API dan pada Juni 2005, Google Maps API dirilis secara publik. 2.2.3. Geopoint Geopoint merupakan salah satu bagian dari Google Maps API. Gunawan, H. (2013). Geopoint adalah nilai yang akan di translasikan menjadi x dan y dalam tampilan peta. Nilai x dan y yang didapat berasal dari latitude dan longitude lokasi berdasarkan Google Maps. Dibawah ini adalah cara mentranslasikan nilai dari latitude dan longitude dengan bahasa pemrograman Java: Geopoint = Latitude x 1E6, Longitude x 1E6 Ket : Latitude dan Longitude didapat dari Google Maps 1E6 adalah satuan untuk mentranslasikan nilai menjadi x atau y 2.2.4. JSON (JavaScript Object Notation) JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. ITHMAM, S. N., & Pulungan, M. R. M. (2015). Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript, Strandar ECMA-262 Edisi ke-3 Desember 2009. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, Javascript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data. JSON terbuat dari dua struktur, yaitu : a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar kunci (keyed list), atau associative array. b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vector (vector), daftar (list), atau urutan (sequence). Struktur data yang digunakan disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemrograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. JSON menggunakan bentuk sebagai berikut: 1. Object adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh, (koma).

Gambar 1. Object 2. Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh, (koma). Gambar 2. Array atau Larik 3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat. Gambar 3. Value 4. String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Didalam string dapat digunakan backslash escapes \ untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. Gambar 4. String 5. Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. Spasi kosong (whitespace) dapat disisipkan diantara pasangan tanda-tanda tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh bahasa pemrograman yang bersangkutan.

Gambar 5. Number 2.3. Latitude dan Longitude Latitude dan Longitude adalah dua buah garis yang menentukan diperolehnya suatu nilai derajat dari suatu titik yang diukur. Gambar 6. Latitude dan Longitude Sumber: http://www.gpstracker.co.id/cara-membaca-data-longitude-latitude-alat- gps/ diakses tanggal 25 Oktober 2014 Dibawah ini akan dijelaskan apa itu latitude dan longitude secara terperinci : 2.3.1. Latitude Latitude adalah garis yang melintang diantara kutub utara dan kutub selatan, yang menghubungkan antara sisi timur dan barat bagian bumi. Garis ini memiliki posisi membentangi bumi, sama halnya seperti garis equator, tetapi dengan kondisi nilai tertentu. Garis lintang inilah yang dijadikan ukuran dalam mengukur sisi utara-selatan koordinat suatu titik di belahan bumi. Latitude dibedakan menjadi 2 wilayah, yaitu utara yang biasa disebut lintang utara dan selatan atau yang biasa disebut lintang selatan. Dimana nilai koordinat di bagian utara selalu positif dan nilai koordinat di bagian selatan adalah negatif. Berikut nilai-nilai yang dijadikan patokan ukuran garis lintang ini. 1. Garis paling atas (kutub utara) = 90 derajat 2. Garis paling tengah (equator) = 0 derajat 3. Garis paling bawah (kutub selatan) = -90 derajat Dengan mempersamakan derajat ke dalam bentuk satuan kilometer (km) maka ukurannya seperti ini : 1 derajat latitude = 111 km 1 menit latitude = 1.85 km 2.3.2. Longitude Longitude adalah garis membujur yang menghubungkan antara sisi utara dan sisi selatan bumi (kutub). Garis bujur ini digunakan untuk mengukur sisi barat-timur koordinat suatu titik dibelahan bumi. Sama seperti equator pada latitude yang berada ditengah dan memiliki nilai 0 (nol) derajat, pada longitude, garis tengah yang bernilai 0 (nol) derajat disebut garis prime

meridian. Sedangkan garis yang berada paling kiri memiliki nilai -90 derajat, dan yang paling kanan memiliki nilai 90 derajat. Longitude juga dibedakan menjadi 2 wilayah, yaitu bujur timur dan bujut barat, dimana koordinat yang berada di timur selalu bernilai negatif dan sebaliknya. Nilai satuan ukuran derajat menjadi kilometer pada longitude juga sama seperti latitude. 2.4. Java Menurut Puspitasari, R. (2013). Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. 2.5. Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (Platfrom-Independent). Berikut adalah sifat dari Eclipse : a. Multi-Platform, Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS-X b. Multi-Language, Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. c. Multi-Role, Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. 2.6. XML Seperti halnya HTML, XML(eXtensible Markup Language) juga menggunakan elemen yang ditandai dengan tag pembuka (diawali dengan < dan diakhiri dengan > ), tag penutup (diawali dengan </ diakhiri > ) dan atribut elemen (parameter yang dinyatakan dalam tag pembuka missal <form name= isidata >. Hanya bedanya, HTML mendefinisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita. Tag yang ada pada XML dibuat sendiri sesuai keinginan kita. XML tidak melakukan apapun. Yang ada hanyalah informasi yang di kemas dengan tag XML. Kita harus membuat software lagi untuk mengirim, menerima atau menampilkan informasi didalamnya. 2.7. Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Menurut Ichwan, M., Husada, M. G., & Rasyid, M. I. A. (2013). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan mendatang baru yang membuat peranti lunak untuk Hanphone/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance (OHA), konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. 2.8. Algoritma Shortest Path Pencarian Shortest Path (lintasan terpendek) adalah masalah umum dalam suatu unweighted connected graph. Misal pencarian jaringan jalan raya menghubungkan kota-kota disuatu wilayah. Shortest Path yang digunakan dalam aplikasi ini adalah Shortest Path Unweighted, yang artinya pencarian jarak terpendek tanpa muatan antara jarak-jarak tersebut. Ditentukannya berdasarkan lompatan yang terpendek. Sebuah directed graph dapat merepresentasikan semua hubungan/connections dari semua kemungkinan site/wilayah, dimana vertex dan edge mewakili

site dan lintasannya. Arah-arah lintasan diwakili oleh arah-arah yang terdapat pada edge-edge yang ada. Kemudian digunakan matriks adjacency sebagai representasi graph yang dimaksud. Gambar 7. Contoh Unweighted Directed Graph Sebuah graph berarah (directed graph). Dapat disusun sebuah matriks dimana baris dan kolom dari matriks tersebut melambangkan vertex pada graph secara berurutan. Nilai awal di baris ke-i dan kolom ke-j pada matriks, yang dilambangkan dengan nilai 1 jika mempunyai sebuah edge dari vertex ke-i menuju vertex ke-j dan bernilai 0 jika sebaliknya. Graph tersebut mempunyai 5 vertex (A, B, C, D, E) dan 10 edge berarah. Gambar 8. Matriks Graph 3. HASIL DAN PEMBAHASAN 3.1. Analisa Kebutuhan Software Analisa kebutuhan software merupakan langkah awal untuk menentukan perangkat lunak seperti apa yang akan dihasilkan. Perangkat lunak yang baik dan sesuai dengan kebutuhan pengguna sangat bergantung kepada keberhasilan dalam melakukan analisa kebutuhaan. Tujuan dari proses analisa kebutuhan adalah untuk mengetahui sifat dari kebutuhan sistem sehingga mempermudah dalam perancangan. Oleh karena itu peneliti ingin membuat suatu bentuk aplikasi yang dapat menampilkan informasi tentang bagaimana cara menentukan jarak terpendek antar terminal di Jakarta. 3.2. Identifikasi Permasalahan Aplikasi penentuan jarak terpendek antar terminal pada mobile berbasis android 4.0 ini dirancang dengan tujuan untuk bagaimana mengetahui posisi user dengan memanfaatkan teknologi Global Positioning System (GPS) dan mengetahui berapa jarak yang harus ditempuh dari posisi user sampai ke terminal tujuan dengan memanfaatkan koneksi internet, rute mana yang harus dilewati oleh user untuk menuju ke lokasi tujuan dengan menggunakan algoritma shortest path unweighted graph. Untuk melihat proses aplikasi yang mencakup input dan proses output dinyatakan dengan UML (unified modeling language) yang diperjelas dengan diagram alir (flow chart). Diagram alir (flow chart) digunakan untuk menggambarkan sistem baru yang akan dikembangkan secara logis tanpa mempertimbangkan terlebih dahulu lingkungan fisik dimana sistem ini akan digunakan. 3.3. Analisa Kebutuhan Setelah melakukan identifikasi dan mendefinisikan masalah, peneliti akan merumuskan kebutuhan untuk menyelesaikan permasalahan yang ditemukan. Dalam penentuan jalur terpendek maka dibutuhkan beberapa proses, antara lain :

1. Proses penentuan titik-titik terminal 2. Proses penentuan rute pada peta 3. Proses penentuan lokasi user dan terdekat dari lokasi tujuan 4. Proses penghitungan jarak tempuh 5. Proses penyeleksian jarak terpendek 3.4. Desain 3.4.1. Perancangan UML Gambar 9. Use Case Diagram Pencarian Jarak Terdekat Antar Terminal 3.4.2. Perancangan Flowchart

Gambar 10. Flowchart Pencarian Jarak Terdekat Antar Terminal 3.4.3. Mendapatkan API Key Google Maps Semua aplikasi yang menggunakan Google Maps, termasuk aplikasi pencariany harus mempunyai Google Maps API untuk memanfaatkan fitur-fitur dari Google Maps tersebut. Bagaimana cara mendapatkannya? Penulis akan menjabarkan bagaimana langkah-langkah yang harus dilakukan untuk mendapatkan Google Maps API tersebut. Pertama-tama yang perlu diingat adalah pada komputer/laptop sudah terinstall Android SDK dan JDK (minimal bisa menggunakan JRE). Dan langkah berikutnya adalah : a. Buka cmd kemudian pindah ke direktori JDK yang menyimpan Keytool.exe untuk membuat md5 FingerPrint cd C:\Program Files\Java\<JDK_version_number>\bin b. Gunakan file debug.keystore yang biasanya terletak di C:\users\<nama_user>\.android (di Windows 7) dengan catatan Android SDK sudah terinstall. keytool.exe list alias androiddebugkey keystore C:\android\debug.keystore Kemudian masukkan password, isi dengan android. Setelah itu md5 FingerPrint akan keluar secara otomatis. Dengan menggunakan md5 FingerPrint yang sudah didapat, langkah selanjutnya adalah men- Generate Google Maps API key di http://code.google.com/android/maps-api-signup.html ikuti perintah yang ada, dan akan didapatkan API Key yang dicari kemudian simpan, dilangkah selanjutnya akan dijelaskan dimana Google Maps API ini akan digunakan.

3.4.4. Mendapatkan Geopoint Dalam Google Maps, geopoint didapat ketika aplikasi mem-passing suatu nilai (lokasi tujuan). Contoh dalam bahasa pemrograman Java-nya adalah : Geocoder RADIO = new Geocoder(this, Locale.getDefault()); Java.util.List<android.location.Address> result = g.getfromlocationname(destination, 1); Keterangan : Geocoder = kelas bawaan Java Destination = nama lokasi yang akan di-passing. Hasil result akan mengembalikan nilai latitude dan longitude suatu lokasi yang dicari. 3.4.5. Menentukan Terminal Terdekat Sistem yang harus dirancang selanjutnya adalah bagaimana cara menentukan terminl terdekat dari suatu titik. Ada 2 method yang melakukan fungsi yang sama, pertama menentukan terminal terdekat dari posisi user berada. Dan kedua menentukan terminal terdekat dari lokasi tujuan. Sistem ini punya hubungan yang sangar erat dengan hasil dari geopoint, karena nilai latitude dan longitude yang didapat dari geopoint disini sangat berperan, karena kedua nilai itulah yang akan dijadikan perbandingan antara dua titik untuk selanjutnya diambil titik yang paling dekat dengan cara melakukan sortir. Berikut adalah rumus yang digunakan dalam bahasa pemrograman Java. double RADIO = 6367; double dlat = Math.toRadians(lat2 - lat1); double dlon = Math.toRadians(lon2 - lon1); double a = Math.pow(Math.sin(dlat / 2), 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.pow(Math.sin(dlon / 2), 2); double angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); return angle * RADIO; Keterangan : lat1 = latitude lokasi user/tujuan lon1 = longitude lokasi user/tujuan lat2 = latitude terminal disekitar lokasi user/tujuan lon2 = longitude terminaldisekitar lokasi user/tujuan Radio = 6367 (satuan pasti untuk meng-convert suatu nilai menjadi satuan km) Hasil kali angle * Radio lah yang akan dijadikan perbandingan untuk diambil nilai yang paling kecil. 3.4.6. Implementasi Algoritma Shortest Path Setelah menentukan terminal terdekat berdasarkan nilai latitude dan longitude suatu tempat, maka akan didapatkan terminal terdekat dari lokasi user berada dan terminal terdekat dari lokasi tujuan. Selanjutnya adalah menerapkan algoritma shortest path dengan lokasi asal terminal yang terdekat dari lokasi user berada (dijadikan originalvertex) dan lokasi tujuannya adalah terminale terdekat dari lokasi tujuan (endvertex). dibawah ini adalah algoritma shortest path: Algoritma getshortestpath(originalvertex, endvertex, path) Done = false VertexQueue = a new queue to hold vertice as they are visited Mark originalvertex as visited vertexqueue.enqueue(originalvertex)

while(!done &&!vertexqueue.isempty()) { frontvertex = vertexqueue.dequeue() while(!done && frontvertex has neighbor) { nextneighbour = nextneighbour of frontvertex if(nextneighbour is not visited) { Mark nextneighbour as visited Set the length of the path to nextneighbour to +1 length of path to frontvertex set the predecessor of nextneighbour to frontvertex vertexqueue.enqueue(nextneighbour) } If(nextNeighbour equals endvertex) Done = true } } 3.4.7. Spesifikasi File a. Spesifikasi File Home Neighbour Tabel 1. Tabel home_neighbour No. Element Data Akronim Tipe Panjang Keterangan 1. ID Id INTEGER 11 Primary Key 2. Home terminal home_id REAL 11 3. Neighbour terminal neighbour_id REAL 11 b. Spesifikasi File Halte Busway Tabel 2. Tabel Terminal No. Element Data Akronim Tipe Panjang Keterangan 1. ID Terminal Id INTEGER 11 Primary Key 2. Nama Terminal Nama TEXT 30 3. Latitude Lat REAL 11 4. Longitude Lon REAL 11 5. Rute Line REAL 11 6. Jenis Terminal Pole REAL 11 3.4.8. Perancangan User Interface Perancangan tampilan adalah bagian yang penting dalam membangun suatu aplikasi, perancangan tampilan dilakukan untuk menggambarkan, merencanakan, dan membuat sketsa gambar tampilan aplikasi dan pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Perancangan ini merupakan hasil transformasi yang nantinya akan di implementasikan. Hal penting yang menjadi perhatian pada perancangan tampilan aplikasi ini adalah bahwa rancangan yang dibuat diharapkan dapat digunakan dengan mudah oleh semua user. Yang dimaksud semua user adalah bahwa tidak hanya seorang ahli saja yang dapat menggunakan aplikasi ini, namun orang awam pun dapat menggunakannya. Selain itu beberapa hal yang harus diperhatikan antara lain adalah kinerja program yang baik dalam mengoperasikan aplikasi yang dibuat. Semakin baik perancangan tampilan suatu aplikasi, maka akan menjadi nilai plus tersendiri untuk aplikasi tersebut. Oleh karena itu pada tahapan perancangan tampilan aplikasi rute terminal ini penulis sangat berhati-hati, agar tampilan tidak kelihatan kaku dan juga tidak membosankan para pengguna aplikasi ini.

Ada beberapa tahapan dalam perancangan tampilan aplikasi ini, pertama adalah perancangan tampilan utama, dilanjutkan dengan perancangan tampilan peta berdasarkan google maps dan perancangan tampilan halaman pencarian lokasi tujuan. a. Perancangan Tampilan Halaman Splash Screen Gambar 11. Desain Tampilan Halaman Splash Screen Keterangan gambar : 1. Gambar Akan dibuat gambar terminal dengan background bangunan bertingkat dan ciri khas kota jakarta, Monumen Nasional 2. Icon Loading b. Perancangan Tampilan Peta Keseluruhan Gambar 12. Desain Tampilan Peta Keseluruhan Keterangan Gambar : 1. Gambar Nama aplikasi 2. Gambar Tombol menu pencarian, berisikan icon kaca pembesar yang ketika ditekan akan mengeluarkan pop up yang berupa textfield untuk diisikan nama lokasi tujuan. 3. Gambar Tombol direction atau penunjuk arah, berisikan icon panah yang ketika ditekan akan membuat garis berwarna merah yang mengarah ke lokasi tujuan dengan catatan tujuan sudah ditentukan sebelumnya. 4. Gambar Tombol menu reset. Fungsi tombol reset untuk menghapus hasil pencarian. 5. Gambar

Tampilan peta berdasarkan Google Maps. c. Perancangan Tampilan Halaman Pencarian Gambar 13. Desain Tampilan Halaman Pencarian Keterangan Gambar : 1. Gambar Tampilan peta berdasarkan Google Maps. 2. Text Textfield yang harus diisi berdasarkan nama lokasi tujuan yang diinginkan. 3. Text Cancel Button untuk membatalkan melakukan pencarian. 4. Text Search Button untuk melakukan pencarian setelah Textfield di isi. d. Perancangan Tampilan Halaman Direction List Gambar 14. Desain Tampilan Halaman Direction List Keterangan Gambar : 1. Gambar Tampilan peta berdasarkan Google Maps. 2. Text Tampilan pesan tentang rute terminal yang akan dilalui 3. Text Cancel button untuk menutup pesan 4. Text Show Map button untuk kembali ke map dan membuat garis ke lokasi tujuan.

4. KESIMPULAN Dari hasil pengembangan, aplikasi mobile berbasis Android 4.0 ini dapat diambil beberapa kesimpulan, diantaranya : 1. Aplikasi ini hanya bisa dinikmati oleh pengguna Handphone/Smartphone berbasis sistem operasi Android. 2. Aplikasi ini sangat tergantung pada koneksi internet dan Global Positioning System (GPS). 3. Pengembang aplikasi pada sistem operasi Android harus senantiasa memperhatikan siklus hidup aplikasi tersebut, walaupun diatur oleh Virtual Machine. 4. Memanfaatkan tools yang tepat membuat pengembang aplikasi Android menjadi lebih mudah serta aplikasi yang dikembangkan lebih tangguh. 5. Hingga saat ini Android terus mengalami perkembangan, hal ini harus di imbangi dengan peningkatan kemampuan pada perangkat Android. 6. Diharapkan kedepannya aplikasi ini dapat digunakan oleh sistem operasi Android 4.0 kebawah. Agar semua pengguna smartphone berbasis Android dapat menggunakan aplikasi ini. 5. SARAN Aplikasi ini hanya bisa berjjalan pada system operasi Android 4.0 ke atas. Dikarena aplikasi ini ditujukan kepada khalayak ramai, maka diharapkan dukungan dari mereka untuk memberikan masukan-masukan terkait dengan kemudahan penggunaan aplikasi ini. Selain itu pengembangan aplikasi ini hanya endukung platform mobjile Android. Untuk pengembangan selanjutnya dapat dikembankan ke platform mobile lainnya seperti BlackBerry OS dan ios agar jangkauan pengguna lebih luas. UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih kepada PDP Dikti yang telah memberi dukungan financial terhadap penelitian ini. Tak lupa juga kepada keluarga penulis yang selalu mensupport dan memberikan semangat. Juga kepada rekan-rekan sejawat di AMIK Bina Sarana Informatika Jakarta atas sumbangsih pemikirannya. Terakhir kepada Allah SWT yang memberikan kami kemudahan dan kelancaran terhadap penelitian ini. DAFTAR PUSTAKA Awis, J. (2014). Aplikasi Sistem Pendukung Keputusan Penempatan Atm (Automatic Teller Machine) Berdasarkan Penyebaran Pusat Perbelanjaan Di Pekanbaru Menggunakan Metode Naïve Bayes Dan Peta Interaktif (Doctoral dissertation, Universitas Islam Negeri Sultan Syarif Kasim Riau). Gunawan, H. (2013). Rancang Bangun Aplikasi Travel Guide Banyumas Berbasis Android (Doctoral dissertation, UAJY). Ichwan, M., Husada, M. G., & Rasyid, M. I. A. (2013). Pembangunan Prototipe Sistem Pengendalian Peralatan Listrik Pada Platform Android. Jurusan Teknik Informatika, Institut Teknologi Nasional Bandung. ITHMAM, S. N., & Pulungan, M. R. M. (2015). Analisis Performa Restful Web Service Dan Parser Json Menggunakan Algoritma Stream Parsing Pada Sistem Operasi Android (Studi Kasus: Sistem Informasi Laboratorium D3 Komsi Sekolah Vokasi Ugm) (Doctoral dissertation, Universitas Gadjah Mada). Najib, M., Sunaryono, D., & Yuhana, U. L. (2013). Analisis dan Perancangan Aplikasi Penuntun Jalan dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android. Jurnal Teknik ITS, 2(2), A438-A442.

Purwananto, Y., Purwitasari, D., & Wibowo, A. (2005). Implementasi dan Analisis Algoritma Pencarian Rute Terpendek di Kota Surabaya. Jurnal Penelitian dan Pengembangan TELEKOMUNIKASI, 10(2), 94-101. Puspitasari, R. (2013). Aplikasi Pembayaran Iuran Sekolah Dan Buku Lembar Kerja Siswa Pada Sekolah Menengah Atas Negeri 1 Punung. EPUB-SISTEM INFORMASI, 1(1). Putra, S. A. (2016). Rancang Bangun Sistem Informasi Pemetaan Lokasi Kerja Praktek Berbasis Geographic Information System (GIS)(Studi Kasus: Fakultas Sains Dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau) (Doctoral dissertation, Universitas Islam Negeri Sultan Syarif Kasim Riau).