Makalah Tugas Akhir
PERANCANGAN APLIKASI PENCARI MASJID MENGGUNAKAN GLOBAL POSITIONING SYSTEM (GPS) PADA PLATFORM ANDROID Pramuko Tri Prastowo1), Kodrat Iman Satoto2), Rizal Isnanto2)
Abstract Muslims often find it difficult to locate the mosque for worship, especially if they are in an unfamiliar area. Locating the nearest mosque can be done manually by asking locals. However, sometimes the locals showing the location of the mosque which is too far, instead of the nearer ones. This could be annoying for people who only have so narrow time. To make it easier to locate the nearest mosque, an application which capable to locate the nearest mosque should be made, which is meant to save traveling time. Android-based smartphone has some features such as the Global Positioning System (GPS), which can be used to give the user current geolocation information, and connectivity with the 3G network. The Android platform can also be integrated with the Google Maps API. Google Maps API is a product from Google that offers the ease of developing an application that requires geolocation data and the ability to provide a fairly complete map. Google Maps API offers features such as the ability to download, to render, to cache maps, and add location markers on the maps. After designing application with the Unified Modeling Language (UML), implementation is done by using the Java programming language. Based on the test results, this application can be used to display the user's current location and the location of the nearest mosques according to the user’s location. The maximum distance of the mosques which will be displayed in the application can be set by the user. User can also alters the map view to satellite imagery display that allows users to see the real situation of the area. Overall, this application eases user to locate the nearest mosque so that the user can save his/her traveling time. Keyword : Mosque, Map, Geolocation, Google Maps API, Android, GPS.
peta guna menambahkan overlay data yang diinginkan seperti marker (penanda) dan sebagainya [10]. GPS yang tertanam dalam telepon cerdas Android dapat dipergunakan untuk memberikan informasi geolokasi terkini pengguna. Konektivitas dengan jaringan 3G dapat dimanfaatkan untuk mengakses Google Maps. Dengan mengombinasikan berbagai fitur tersebut, dapat diciptakan sebuah aplikasi untuk mempermudah pencarian masjid dengan lokasi paling dekat dengan pengguna sehingga diharapkan akan dapat menghemat waktu perjalanan.
I. 1.1
PENDAHULUAN Latar Belakang Umat Islam di Indonesia menempati posisi pertama dalam hal jumlah penganut. Dari hasil survey Badan Pusat Statistik tahun 2005 diketahui bahwa persentase umat Islam di Indonesia mencapai 88,58% [12]. Ironisnya, seringkali umat Islam kesulitan mencari lokasi masjid untuk beribadah, terutama jika sedang berada di daerah yang asing. Pada era teknologi informasi saat ini, teknologi telekomunikasi mengalami perkembangan yang amat pesat. Satu dekade yang lalu masyarakat masih terbuai oleh telepon seluler (ponsel) yang fiturnya terbatas. Namun, saat ini ponsel telah bertransformasi menjadi smartphone (telepon cerdas) dengan fitur jauh lebih lengkap dan dilengkapi berbagai sensor seperti accelerometer, kompas digital, proximity, serta GPS (Global Positioning System) yang mampu menjadikan telepon cerdas sebagai alat pencari posisi. Salah satu sistem operasi yang populer pada telepon cerdas adalah Android, yang mengalami perkembangan pesat setelah diakuisisi oleh Google Inc. Google Maps API merupakan produk dari Google yang menawarkan kemudahan dalam membangun sebuah aplikasi yang memerlukan data geolokasi dan kemampuan dalam menyediakan peta yang cukup lengkap, yang mendukung pula telepon cerdas berbasis Android. Kelas-kelas dalam pustaka ini menawarkan berbagai fitur seperti mengunduh, rendering, caching peta dan mengendalikannya. Selain itu tersedia kelas yang dapat dipergunakan untuk menambahkan lapisan hasil rancangan sendiri di atas
1.2
Tujuan Tujuan yang hendak dicapai dari pembuatan Tugas Akhir ini adalah untuk membuat sebuah aplikasi untuk memudahkan pencarian masjid dengan lokasi terdekat yang dimaksudkan untuk menghemat waktu perjalanan. 1.3
Pembatasan Masalah Supaya pembahasan tidak menyimpang, maka ditentukan pembatasan masalah pada Tugas Akhir ini sebagai berikut : 1. Aplikasi dirancang menggunakan bahasa pemograman Java dengan IDE Eclipse 4.2.0 (Juno), basisdata menggunakan SQLite. 2. Aplikasi dirancang untuk dapat dijalankan pada perangkat Android dengan target API minimal level 8. 3. Aplikasi dirancang untuk dapat berjalan pada sistem operasi Android minimal versi 2.2 (Froyo)
1 1)
2)
Mahasiswa Teknik Elektro UNDIP Dosen Teknik Elektro UNDIP
2
4.
5.
6. 7. 8.
dengan Google APIs API level 8 dan diujikan pada perangkat Android versi 2.3.6 (Gingerbread) yang berjalan pada telepon cerdas Samsung Gio GT-S5660 dengan GPS. Aplikasi dirancang supaya dapat ditampilkan pada perangkat Android dengan standar layar HVGA (Half-size Video Graphics Array) yaitu 480x320 pixels dengan aspect ratio 3:2. Aplikasi dirancang untuk dipergunakan di tempat terbuka tanpa penghalang dengan satelit mengingat keterbatasan GPS (Global Positioning System) untuk melakukan navigasi dalam ruangan tertutup, semisalkan gedung beton. Tidak membahas sistem satelit GPS dan jaringan selular. Tidak membahas keamanan pada saat mengakses Google Maps API. Basisdata masjid hanya mencakup wilayah sekitar kampus Universitas Diponegoro, Tembalang, Semarang.
II. 2.1
LANDASAN TEORI Global Positioning System (GPS) Global Positioning System (GPS) merupakan sebuah sistem navigasi satelit yang mampu memberikan data lokasi dan waktu terkini dalam segala kondisi cuaca di bumi, selama tidak terdapat penghalang dengan satelit GPS [11]. GPS dapat diakses dengan bebas oleh siapa saja asalkan mempunyai sebuah alat penerima GPS. Data lokasi yang dimaksudkan di sini adalah berupa posisi geografis, yaitu latitude (lintang), longitude (bujur), dan altitude (ketinggian). GPS dapat menghitung koordinat lintang dan bujur suatu titik dengan mengunci minimal 3 sinyal satelit yang berbeda [6]. 2.2
Google Maps API Google Maps merupakan sebuah layanan peta dunia virtual berbasis web yang disediakan oleh Google Inc. Google Maps dapat dilekatkan sebagai elemen dalam tata letak antarmuka pengguna yang dirancang oleh pemrogram. Untuk menghubungkan aplikasi perangkat lunak dengan Google Maps diperlukan sebuah kunci yang diistilahkan sebagai API Key. Pustaka eksternal yang ditawarkan oleh Google untuk menghubungkan aplikasi Android dengan Google Maps adalah com.google.android.maps. Untuk memanfaatkan pustaka ini, diperlukan Google API’s add-on sehingga dapat dibuat aplikasi berbasis Google Maps pada Android SDK dengan akses terhadap data Google Maps. Pustaka Google Maps API terdiri atas beberapa kelas. Berikut merupakan kelas-kelas tersebut [10].
2.2.1 MapView MapView merupakan kelas berupa tampilan yang digunakan untuk menampilkan peta dunia digital, yang mana data-datanya didapatkan dari layanan Google Maps. Tampilan ini dapat menangkap touch gesture sehingga dapat dilakukan penggeseran dan perbesaran pada peta tersebut. Tampilan peta dapat diubah-ubah ke dalam tiga mode tampilan, yaitu tampilan Street View, Satellite View, dan Traffic View. 2.2.2 MapActivity MapActivity merupakan kelas abstrak yang digunakan untuk menampilkan sebuah MapView. Dalam pemrograman Android, untuk bisa membuat aplikasi yang mengakses layanan Google Maps, harus dilakukan pembuatan kelas yang merupakan kelas anak dari MapActivity. Di dalam kelas itu nantinya baru dilakukan pengkodean untuk menampilkan MapView dan melakukan pengaturan-pengaturan yang berkaitan. 2.2.3 ItemizedOverlay
- extends OverlayItem Kelas ini merupakan kelas abstrak yang digunakan sebagai kelas dasar bagi sebuah Overlay yang terdiri atas daftar-daftar OverlayItems. Sesuai dengan namanya, kelas ini memungkinkan untuk mendaftarkan point of interest yang akan ditampilkan di peta [4]. Kelas ini menangani beberapa hal seperti proses penggambaran penanda (marker) untuk setiap titik dan menangani pula proses untuk menindaklanjuti adanya tap yang dilakukan pengguna terhadap item. 2.2.4 GeoPoint Kelas GeoPoint merupakan kelas yang merepresentasikan sepasang titik lokasi geografis yaitu lintang dan bujur. Titik tersebut disimpan sebagai angka integer dalam satuan mikroderajat. Konstruktor kelas ini adalah GeoPoint(int latitudeE6, int longitudeE6). 2.3 Android Location API 2.3.1 Geocoder Kelas Geocoder merupakan kelas yang dipergunakan untuk menangani geocoding dan reverse geocoding [9]. Geocoding sendiri merupakan proses konversi dari data geografis (misalnya alamat atau kode pos) menjadi koordinat geografis dalam bentuk lintang dan bujur (misalnya -7.057006, 110.432798). Sementara Reverse Geocoding sendiri merupakan kebalikan dari Geocoding. 2.3.2 Location Kelas Location merupakan kelas yang merepresentasikan lokasi geografis. Dalam kelas ini
3 terdapat method-method yang berguna yang berhubungan dengan lokasi. Untuk mencari jarak dapat digunakan method distanceTo(Location dest) dengan memberikan parameter lokasi tujuan. 2.3.3 LocationManager Kelas ini memberikan akses pada layanan lokasi sistem. Hal ini memungkinkan aplikasi untuk mendapatkan pembaharuan dari lokasi geografis perangkat Android. Pada kelas ini, terdapat atributatribut yang berguna dalam proses pembaharuan lokasi geografis perangkat. Dua di antaranya adalah GPS_PROVIDER dan NETWORK_PROVIDER. Kedua atribut tersebut bertipe String. Gambar 1 Diagram Use Case
2.3.4 LocationListener LocationListener merupakan antarmuka yang digunakan untuk menerima pemberitahuan dari LocationManager ketika lokasi perangkat Android berubah [8]. LocationListener dipanggil dari method
3.2
Perancangan Diagram Kelas Gambar 2 menunjukkan diagram kelas pada aplikasi pencari masjid.
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener) pada LocationManager.
2.4
Android Android merupakan sistem operasi yang berbasiskan Linux yang penggunaannya ditujukan untuk perangkat bergerak. Pada awalnya Android dikembangkan oleh sebuah perusahaan bernama Android Inc [8]. Saat itu Google Inc sudah memprediksi bahwa perangkat bergerak akan berkembang dengan pesat. Akhirnya Google mengakuisisi Android Inc pada tahun 2005. Setelahnya, Android dikembangkan oleh Google Inc dengan sifat open source. Google menyediakan kemudahan untuk pengembang perangkat lunak dengan adanya plugin Android Development Tool (ADT), Android Software Development Kit (SDK) untuk Eclipse dengan bahasa pemrograman Java. Android tidak menggunakan Java Virtual Machine (JVM) seperti aplikasi Java pada umumnya. Android mempunyai Virtual Machine sendiri yang disebut Dalvik Virtual Machine yang merupakan software stack. III. 3.1
PERANCANGAN SISTEM Perancangan Diagram Use Case Gambar 1 merupakan diagram Use Case yang menggambarkan interaksi antara pengguna dengan sistem yang dirancang beserta fungsionalitas yang diberikan oleh sistem.
Gambar 2 Diagram kelas
PENGUJIAN SISTEM Pengujian yang dilakukan meliputi pengujian variasi radius dan pengujian waktu akses GPS. Berikut merupakan hasil pengujian yang telah dilakukan.
IV.
4.1
Pengujian Variasi Radius Pengujian variasi radius dilakukan untuk mengetahui apakah aplikasi pencari masjid sudah dapat berfungsi dengan baik dalam proses menyaring data masjid yang hendak ditampilkan berdasarkan radiusnya dari lokasi pengguna. Pada pengujian ini, digunakan dua buah provider yaitu GPS dan Network. Pada setiap provider, pengujian dilakukan pada lima lokasi, dengan tiga variasi radius yaitu 250 m, 500 m, dan 750 m. Pada makalah ini hanya akan dijelaskan hasil pengujian variasi radius pada lokasi uji IV yang
4 memiliki alamat di Jl. Ngesrep Timur V, lebih tepatnya di halaman Kedai Bakmi Surabaya Cak Dul. Hasil pengujian variasi radius dengan provider GPS pada lokasi uji IV ditunjukkan oleh Gambar 3, Gambar 4, dan Gambar 5. Sedangkan hasil pengujian variasi radius dengan provider Network pada lokasi uji IV ditunjukkan oleh Gambar 6, Gambar 7, dan Gambar 8. Gambar 7 Hasil pengujian provider Network dengan radius 500 m pada lokasi uji IV
Gambar 3 Hasil pengujian provider GPS dengan radius 250 m pada lokasi uji IV Gambar 8 Hasil pengujian provider Network dengan radius 750 m pada lokasi uji IV
Gambar 4 Hasil pengujian provider GPS dengan radius 500 m pada lokasi uji IV
Tabel 1 menunjukkan daftar lengkap hasil pengujian variasi radius pada lokasi uji IV, baik dengan provider GPS maupun Network. Data yang tercatat oleh aplikasi pencari masjid antara lain lintang dan bujur pengguna, alamat pengguna terkini, nama masjid yang tercakup dalam radius yang diatur, dan jarak masjid dari pengguna. Tabel 1 Hasil pengujian variasi radius pada lokasi uji IV Provider
GPS
Radius (meter)
Lintang Terbaca
Bujur Terbaca
250
-7,050426
110,423611
500
-7,050427
110,423593
750
Gambar 5 Hasil pengujian provider GPS dengan radius 750 m pada lokasi uji IV
Network
Jl. Ngesrep Timur V Jl. Ngesrep Timur V
110,423596
Jl. Ngesrep Timur V
250
-7,051110
110,422579
Jl. Ngesrep Timur V
500
-7,051289
110,422698
Jl. Ngesrep Timur V
750
Gambar 6 Hasil pengujian provider Network dengan radius 250 m pada lokasi uji IV
-7,050430
Alamat Terbaca
-7,051937
110,423310
Jl. Ngesrep Timur V
Nama Masjid
Jarak Terbaca (meter)
-
-
Al Kautsar Babur Rohmah Al Kautsar At-Taqwa Babur Rohmah
279,2 320,1 279,34 634,54 320,53
Al Kautsar
154,92
Al Kautsar At-Taqwa Babur Rohmah Al Kautsar At-Taqwa Babur Rohmah
168,47 497,72 289,58 250,43 496,9 388,11
Dari Tabel 1, terlihat bahwa aplikasi dapat menampilkan masjid yang jaraknya dari lokasi pengguna kurang dari radius yang telah diatur, baik dengan menggunakan provider GPS maupun Network. Pada variasi pengaturan radius 250 meter dengan menggunakan provider GPS, tidak ada masjid yang ditampilkan. Hal ini dikarenakan memang tidak ada masjid yang berjarak kurang dari 250 meter dari lokasi pengguna. Pada penggunaan provider GPS, terdapat sedikit perbedaan lintang dan bujur pada setiap variasi
5 radius. Hal ini dikarenakan pada penggunaan GPS untuk sipil, tingkat akurasinya sekitar puluhan meter. Hal tersebut pula yang menyebabkan jarak masjid tertentu terhadap posisi pengguna sedikit bervariasi. Sebagai contoh Masjid Babur Rohmah pada pengaturan radius 500 m berjarak 320,1 m, sedangkan pada pengaturan radius 750 m berjarak 320,53 m. Sedikit perbedaan jarak tersebut dapat diabaikan karena masih masuk dalam batas toleransi yaitu di bawah puluhan meter. Pada penggunaan provider Network, aplikasi mendeteksi lokasi pengguna di tempat yang posisinya agak jauh dari posisi asli pengguna. Memang terlihat bahwa alamat pengguna yang terbaca dari proses Geocoding yang dilakukan oleh aplikasi sudah benar yaitu Jl. Ngesrep Timur V. Namun, jika dibandingkan dengan posisi pengguna pada penggunaan provider GPS, perbedaannya cukup jelas terlihat. Hal ini dapat diamati apabila Gambar 3, Gambar 4, Gambar 5, Gambar 6, Gambar 7, dan Gambar 8 dibandingkan. Perbedaan ini dikarenakan pada penggunaan provider Network, metode yang digunakan adalah Google’s Cell-Based Location. Akurasinya berkisar dari puluhan meter sampai ribuan meter, tergantung pada densitas dari BTS tersebut. Densitas BTS di lokasi ini kurang tinggi sehingga menyebabkan proses pendeteksian posisi pengguna menjadi kurang akurat. 4.2
Waktu Akses GPS Pengujian waktu akses GPS dilakukan untuk mengetahui berapa lama waktu yang diperlukan aplikasi untuk bisa mendapatkan posisi pengguna setelah GPS pada perangkat Android dihidupkan. Secara garis besar, pengujian dilakukan pada dua buah kondisi. Pada kondisi pertama, pengujian dilakukan pada lokasi yang bebas halangan terhadap langit (terbuka). Pada kondisi kedua, pengujian dilakukan pada lokasi yang atapnya menghalangi langit, namun ruangannya tidak tertutup penuh (semi terbuka). Tabel 2 memaparkan hasil pengujian waktu akses GPS yang telah dilakukan. Tabel 2 Hasil pengujian waktu akses GPS No.
Lintang
Bujur
Lokasi
1 2 3 4 5 6
-7,059882 -7,052286 -7,054754 -7,050426 -7,058711 -7,060266
110,442158 110,440108 110,435423 110,423611 110,427869 110,441894
Jl. Sipodang, Bulusan Halaman Gedung Soedarto Jl. Galang Sewu Raya Jl. Ngesrep Timur V Jl. Tirto Agung Warteg Citra Rasa, Bulusan
7
-7,049926
110,439255
Gedung A TE Undip
8
-7,054107
110,435055
9
-7,050531
110,423723
10
-7,058851
110,427988
Bank Jateng Cabang Polines Kedai Bakmi Goreng Surabaya Cak Dul Toko Buku Toga Mas
Kondisi Lokasi Terbuka Terbuka Terbuka Terbuka Terbuka Semi terbuka Semi terbuka Semi terbuka Semi terbuka Semi terbuka
Waktu (detik) 13,75 9,95 15,95 9,02 12,06 33,81 34,11
pada lokasi semi terbuka adalah 30,78 detik. Dengan begitu dapat diambil kesimpulan bahwa waktu akses GPS pada lokasi terbuka lebih singkat ketimbang waktu akses GPS pada lokasi tertutup. Hal ini dikarenakan untuk dapat bekerja secara maksimal, perangkat GPS harus diarahkan langsung ke langit dengan kondisi Line of Sight (LOS) sehingga sinyal tidak terhalang. Apabila terdapat penghalang, maka besar kemungkinan sinyal yang diterima perangkat GPS merupakan hasil pemantulan sehingga waktu akses GPS menjadi lebih lama. Akibat yang lebih parah adalah galat yang semakin besar sehingga mengurangi ketelitian posisi pengguna. V. 5.1
PENUTUP Kesimpulan Dari uraian dan proses pembuatan Tugas Akhir ini, penulis dapat menarik beberapa kesimpulan sebagai berikut. 1. Pada aplikasi pencari masjid ini, terdapat fitur untuk memilih provider yang digunakan dalam pendeteksian posisi pengguna. 2. GPS merupakan provider yang paling akurat, namun hanya dapat bekerja dengan maksimal apabila digunakan pada lokasi yang bebas halangan dari satelit. 3. Provider Network dapat digunakan pada berbagai kondisi lokasi, baik terbuka maupun tertutup, asalkan masih terjangkau oleh sinyal BTS. Namun, hasil deteksi posisi dengan provider ini kurang akurat jika dibandingkan dengan hasil deteksi posisi dengan GPS. 4. Aplikasi pencari masjid ini dapat mengubah nilai geolokasi yaitu lintang dan bujur menjadi alamat dengan menggunakan fitur Reverse Geocoding. 5. Radius masjid dari pengguna yang ditampilkan pada aplikasi merupakan jarak terdekat apabila ditarik garis lurus antara masjid dengan pengguna. 6. Aplikasi pencari masjid ini dapat bekerja dengan baik dalam lingkungan sesungguhnya, yaitu perangkat Android Samsung Galaxy Gio GTS5660. 7. Pada pengembangan aplikasi Android yang menggunakan Google Maps APIs, diperlukan sebuah API Key agar aplikasi dapat memanfaatkan data dari Google Maps. 8. Aplikasi Android yang dikembangkan dengan target API level tertentu, dapat dijalankan dengan baik pula pada API level di atasnya.
31,34 31,51 23,12
Dengan melihat Tabel 4.2, dapat dihitung bahwa rerata waktu akses GPS pada lokasi terbuka adalah 12,15 detik, sedangkan rerata waktu akses GPS
5.2
Saran Berdasarkan pengujian terhadap aplikasi pencari masjid, dapat diberikan beberapa saran untuk pengembangan di masa depan sebagai berikut. 1. Basisdata masjid dalam aplikasi pencari masjid ini baru mencakup wilayah sekitar kampus
6 Universitas Diponegoro, Tembalang. Pengembangan dapat dilakukan dengan penambahan basisdata masjid, baik masjid besar maupun masjid kecil, di seluruh kota Semarang. 2. Ada baiknya bila basisdata yang dipergunakan dapat diperbaharui dengan mengunduhnya dari server, sehingga akan lebih memudahkan untuk menjaga keterbaruan dari basisdata. 3. Aplikasi pencari masjid ini belum mendukung pencarian jarak terpendek. Pengembangan selanjutnya dapat dilakukan dengan menambahkan fitur tersebut.
BIODATA Pramuko Tri Prastowo, lahir di Banjarmasin pada tanggal 30 September 1989. Menempuh pendidikan di SD Negeri Sokanegara 2, Purwokerto, SMP N 1 Purwokerto, dan SMA N 1 Purwokerto. Dari tahun 2007 sampai saat ini masih menyelesaikan studi Strata-1 di Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro Semarang, konsentrasi Informatika dan Komputer.
DAFTAR PUSTAKA [1]. Hidayat, F., Android Kuasai 49 % Pasar Smartphone, http://www.beritasatu.com, Juli 2012. [2]. Kadir, A., Mudah Mempelajari Database MySQL, Penerbit Andi, Yogyakarta, 2010. [3]. Muis, S., Global Positioning System, Graha Ilmu, Yogyakarta, 2012. [4]. Murphy, M.L., Beginning Android, Apress, New York, 2009. [5]. Murphy, M.L., Beginning Android 2, Apress, New York, 2010. [6]. Radifan, R., Perancangan dan Pembuatan Sistem Informasi Lokasi Friend Finder Berbasis GPS pada Sistem Operasi Android, Skripsi S-1, Institut Teknologi Sepuluh November, Surabaya, 2011. [7]. Rogers, R., J. Lombardo, Z. Mednieks, and B. Meike, Android Application Development, O’Reilly, Sebastopol, 2009. [8]. Winarno, E. dan A. Zaki, Hacking & Programming dengan Android SDK untuk Advanced, PT Elex Media Komputindo, Jakarta, 2012. [9]. --, Dokumentasi Android, http://developer.android.com, Juni 2012. [10]. --, Dokumentasi Google Maps API, https://developers.google.com/maps/documentation/an droid/, Juli 2012. [11]. --, Global Positioning System, http://en.wikipedia.org/wiki/Global_Positioning_Syste m, Juli 2012. [12]. --, Laporan Tahunan Kehidupan Beragama di Indonesia Tahun 2008, Program Studi Agama dan Lintas Budaya Center for Religious and Cross-cultural Studies (CRCS) Universitas Gadjah Mada, Yogyakarta, 2008.
Menyetujui, Dosen Pembimbing I
Ir. Kodrat Iman Satoto, M.T. NIP. 196310281993031002
Dosen Pembimbing II
R. Rizal Isnanto, S.T., M.M., M.T. NIP. 197007272000121001