BAB I PENDAHULUAN
1.1 Latar Belakang Teknologi yang semakin pesat berkembang dengan mobilitas yang cukup cepat menjadikan masyarakat cenderung menggunakan alat elektronik mobile dalam kehidupan sehari-hari, tak dapat dipungkiri keberadaan alat elektronik mobile dalam bidang komunikasi telah menjadi kebutuhan bagi masyarakat saat ini. Smartphone sebagai alat elektronik mobile di bidang komunikasi menjadi alat yang tak lagi dikatakan mewah, semua kalangan masyarakat telah menikmati fasilitas smartphone, keberadaan peta berbentuk fisik berbahan kertas yang sering kita gunakan untuk pelajaran geografi sewaktu di sekolah dahulu maupun peta kertas untuk navigasi sudah perlahan ditinggalkan dan perlahan-lahan tidak lagi digunakan yang kemudian tergantikan oleh kecanggihan smartphone. Bukan hanya itu, dalam kasus lain banyak para pelancong atau musafir pada umumnya pergi ke luar daerah yang belum tentu mereka mengetahui kondisi daerah yang mereka singgahi, para pelancong atau musafir akan kebingungan dimana letak masjid di sekitar posisinya, dalam pembuatan aplikasi ini disisipkan google maps dengan memanfaatkan fitur GPS (Global Positioning System) untuk mendeteksi koordinat atau posisi masjid di sekitar posisi pengguna aplikasi ini. Oleh karena itu dalam upaya untuk mengembalikan urgensi peta sebagai petunjuk atau navigasi bagi masyarakat khususnya dalam pendeteksian masjid maka dirancanglah “Aplikasi Masjid Detector berbasis Android” untuk menggantikan peta dari bahan kertas kedalam tampilan grafis dalam smartphone sehingga dapat tervirtualisasi dengan baik dan efisien. Diharapkan aplikasi ini dapat dibangun dan diaplikasikan secara nyata dalam kehidupan sehari-hari.
1
2
1.2 Rumusan Masalah Adapun yang menjadi rumusan masalah dalam pembuatan aplikasi ini berdasar dari latar belakang yang telah disampaikan diatas adalah sebagai berikut : 1. Bagaimana aplikasi masjid detector ini dapat dirancang dan dibuat untuk kemudian dapat dimanfaatkan oleh masyarakat sebagai media pembantu untuk mendeteksi masjid sekitar. 2. Bagaimana aplikasi ini diintegrasikan dengan google maps. 3. Bagaimana aplikasi ini dapat menampilkan masjid sekitar dengan radius sampai 5 KM.
1.3 Tujuan Tujuan dari dikerjakannya Proyek Akhir ini adalah sebagai berikut :
Umum Sebagai salah satu syarat kelulusan serta syarat mendapat Gelar A.Ma di Politeknik Elektronika Negeri Surabaya.
Khusus Tujuan khusus pembuatan aplikasi ini adalah untuk memudahkan masyarakat mendeteksi masjid sekitar dengan menggunakan fungsi GPS dan google maps yang terintegrasi dengan aplikasi ini sehingga tidak lagi menggunakan metode konvensional.
1.4 Batasan Masalah Agar pembahasan dari pembuatan aplikasi ini tidak meluas maka diberilah batasan masalah sebagai berikut : 1) Aplikasi ini Memerlukan Koneksi Internet. 2) Menggunakan OS android minimal versi 4.1 yang mendukung fitur GPS. 3) Radius pendeteksian masjid terbatas yaitu hanya sampai 5 KM. 4) Tidak dapat melakukan routing ke masjid yang ditampilkan. 5) Menampilkan data hanya dari google maps.
3
1.5 Kontribusi Proyek Akhir Aplikasi ini diharapkan dapat diimplementasikan, antara lain : 1) Untuk sarana bagi seluruh masyarakat pada umumnya dan umat muslim secara khusus untuk mepermudah dalam mencari masjid 2) Sebagai alternatif bagi masyarakat untuk mengganti map/peta konvensional sehingga lebih praktis.
4
BAB II TINJAUAN PUSTAKA
2.1 Masjid Dari segi bahasa kata ‘masjid’ berasal dari kata benda bahasa Arab, yang artinya ‘tempat bersujud’. Kata sujud sudah menjadi kosakata bahasa Indonesia yang berasal dari kata kerja bahasa Arab, sajada, yang berarti ‘meletakkan kening diatas permukaan bumi untuk beribadah kepada Allah SWT. Masjid menduduki posisi sentral dalam Islam dan kehidupan kaum Muslimin, tidak hanya dalam ibadah (solat), tetapi dalam berbagai aspek kehidupan kaum muslimin. Tetapi fungsi pokok sebuah masjid adalah untuk melakukan ibadah solat. Walaupun solat dapat dilakukan di mana saja (karena seluruh tempat di muka bumi Allah ini adalah mesjid yang artinya tempat bersujud), tetapi mesjid sebagai bangunan rumah ibadah tetap sangat diperlukan karena mesjid juga berperan sebagai salah satu simbol eksistensi keberadaan Islam.
2.2 Google Maps Google Maps mapping service adalah sebuah online tool yang memberikan user berbagai fitur-fitur map seperti tampilan street maps, arahan kemudi point-to-point, dan jalur-jalur untuk mencari lokasi bisnis di berbagai kota. Dengan tambahan street map dan terrain view, satellite atau aerial views dapat memberikan tampilan yang mudah dipahami user dan dapat diakses siapa saja melalui online connection (Frazel, 2009:39).
(Gambar 2.1 Tampilan Google Maps) 5
6
2.3 GPS (Global Positioning System) GPS (Global Positioning System) adalah sebuah sistem navigasi berbasiskan satelit yang dibangun dari sebuah jaringan yang terdiri dari 24 satelit yang diletakkan dalam orbit. GPS bekerja pada berbagai kondisi cuaca, di manapun posisi di dunia, dan 24 jam satu hari (Alde, Lange, Kadam, 2011:1). GPS (Global Positioning System) adalah sistem satelit navigasi dan penentuan posisi yang dimiliki dan dikelola oleh Amerika Serikat. Sistem ini didesain untuk memberikan posisi dan kecepatan tiga dimensi serta informasi mengenai waktu. GPS terdiri dari 3 segmen yaitu segmen angkasa, kontrol/pengendali, dan pengguna. Segmen angkasa terdiri dari 24 satelit yang beroperasi dalam 6 orbit pada ketinggian 20.200 km dengan periode 12 jam (satelit akan kembali ke titik yang sama dalam 12 jam). Segmen Kontrol/Pengendali terdapat pusat pengendali utama yang terdapat di Colorodo Springs, dan 5 stasiun pemantau lainnya dan 3 antena yang tersebar di bumi ini. Pada sisi pengguna dibutuhkan penerima GPS yang biasanya terdiri dari penerima, prosesor, dan antena. (Budiawan, Santoso, Zahra). Sebuah GPS receiver harus terkunci dengan sinyal dari setidaknya 3 satelit untuk menghitung posisi 2D (latitude dan longitude) dan pergerakan track. Dengan 4 atau lebih satelit, receiver dapat menentukan posisi 3D user (latitude, longitude, dan altitude). Begitu posisi user sudah ditentukan, unit GPS dapat menghitung informasi lain, seperti kecepatan, pelacakan, jarak tempuh, jarak tujuan, waktu matahari terbit dan terbenam, dan sebagainya (Alde, Lange, Kadam, 2011:1).
(Gambar 2.2 GPS)
7
2.4 A-GPS A-GPS adalah sebuah teknologi yang menintegrasi handphone dengan GPS untuk memberikan ketepatan pelacakan lokasi sekitar 5 sampai 10 meter. Sistem integrasi ini memperbaiki posisi setiap detiknya, memiliki area jangkauan yang lebih baik, terkadang bisa dijalankan dalam bangunan, memerlukan konsumsi daya yang lebih sedikit, dan memerlukan satelit yang lebih sedikit dibanding dengan biasanya. A-GPS mendapatkan dan menyimpan informasi lokasi satelit melalui base station terdekat sehingga informasi tidak perlu didownload via satelit. A-GPS menggunakan perkiraan ke tower terdekat untuk melakukan kalkulasi saat signal GPS tidak tersedia (Singhal, Shukla, 2012:238).
(Gambar 2.3 A-GPS)
8
2.5 Android Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri agar bisa digunakan di berbagai macam piranti bergerak. Setiap versi Android memiliki nama dan nomor versi. Google menggunakan nama-nama dessert dengan susuan secara alfabetis. Secara teknis, versi Android dibedakan dengan kode nomor yang disebut API level. API level terdiri dimulai dari API level 1 ke atas. Setiap ada perubahan di API Android, nomornya akan dinaikkan. Setiap versi Android memiliki nama, nomor versi, dan API level. Berikut ini adalah table yang menunjukkan versi Android yang telah dirilis sejauh ini. Jika diamati akan ada versi yang hilang seperti Android 2.0. Itu adalah versi yang diupdate ke Android 2.1 sedemikian cepatnya sehingga tidak ada device yang menggunakannya lagi, karena itu tidak dicantumkan di list versi Android (Lehtimaki, 2013:52). Tabel 2.1 Versi Android Versi Android Android 1.5 Android 1.6 Android 2.1 Android 2.2 Android 2.3 – 2.3.2 Android 2.3.3 – 2.3.7 Android 3.0 Android 3.1 Android 3.2 Android 4.0 – 4.0.2 Android 4.0.3 Android 4.1 – 4.1.1 Android 4.2.2 Android 5.0
Nama Cupcake Donut Éclair Frozen Yogurt Gingerbread Gingerbread Honeycomb Honeycomb Honeycomb Ice Cream Sandwich Ice Cream Sandwich Jelly Bean Kit Kat Lolipop
API Level 3 4 7 8 9 10 11 12 13 14 15 16 19 21
9
2.6 HTML HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan untuk menampilkan informasi dalam format ASCII yang sederhana agar dapat ditampilkan ke web. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
2.7 Location Based Service Ide menggunakan mobile phone adalah untuk memberikan layanan lain yang juga berguna selain layanan komunikasi dasar dan telah dimulai sejak 1990 semenjak adanya Internet pada Voice Telephony. Location based service (LBS) mengacu pada kumpulan aplikasi yang memberdayakan pengetahuan posisi geografis mobile device untuk memberikan layanan-layanan. Location based service banyak memberikan keuntungan pada client, seperti:
Untuk menentukan lokasi bisnis atau layanan terdekat seperti Bank atau Hotel. Memperoleh peringatan, misalnya notifikasi Sale pada Shopping Mall atau berita dari area kemacetan terdekat. Pencari teman atau pencari lokasi phone yang tercuri.
Lokasi dapat ditentukan dari terminology spasial ataupun dalam deskripsi teks. Lokasi spasial dapat direpresentasikan pada penggunaan sistem kordinat latitude-longitude-altitude. Latitude didefinisikan sebagai 0-90 derajat utara atau selatan ekuator. Longitude sebagai 0-180 derajat barat atau timur dari meridian utama yang melewati Greenwich, Inggris. Altitude direpresentasikan sebagai satuan meter di atas permukaan laut. Deksripsi teks didefinisikan sebagai lokasi jalan, yang mengandung nama kota, kode pin, dan sebagainya (Singhal, Shukla, 2012:238).
10
2.8 Java Java merupakan bahasa pemrograman yang dapat dijalankan di berbagai platform, dari mulai PC sampai perangkat mobile. Bahasa pemrograman ini awalnya dikembangkan pada The Green Project pada tahun 1991 oleh Sun Microsystem yang kemudian dilepas pada Oracle. Nama Java sendiri dipilih karena salah seorang pendiri Java, James Gosling, sangat menyukai kopi murni yang langsung digiling dari mesin giling (kopi tubruk) dimana kopi jenis ini berasal dari pulau Jawa di Indonesia. Java menjadi salah satu bahasa pemrograman terpopuler bukan karena tanpa alasan, bahasa pemrograman ini memiliki beberapa kelebihan seperti misalnya bisa berjalan di sistem operasi yang berbeda-beda, kemudian bahasa pemrograman ini termasuk kedalam pemrograman OOP (pemrograman orientasi objek) sehingga programmer lebih mudah dalam menyusun program menggunakan bahasa ini, selain itu bahasa ini juga memiliki library yang lengkap sehingga akan sangat memudahkan programer. Dan saat ini merupakan era dimana smartphone Android sangat banyak digunakan. Aplikasi dalam smartphone Android dibangun menggunakan bahasa Java, sehingga banyak juga programerprogramer yang menggunakan bahasa ini karena memang sedang banyak dibutuhkan.
2.9 Eclipse Eclipse merupakan salah satu IDE (Integrated Development Environment -pen) favorit yang digunakan untuk melakukan pemrograman, termasuk ketika membuat apliaksi Android. Disamping bersifat gratis serta opensource sehingga setiap orang bisa melihat kode pemrogramannya, Eclipse juga menyediakan beragam plug-in yang mampu dikembangkan oleh penggunanya untuk menghasilkan sebuah aplikasi. Basic Java tools yang ada di Eclipse dapat digunakan untuk formatting, building, debugging, dan integration menggunakan Ant. Ada banyak sekali plug-in yang sifatnya free ataupun komersial yang ada di Eclipse (Hemrajani, 2006:16).
11
2.10 API Key Application Programming Interface Key (API Key) adalah kode yang disahkan oleh program komputer yang memanggil API (Application Programming Interface) untuk mengidentifikasi program pemanggil, pengembang, atau pengguna untuk situs Web. API Key digunakan untuk melacak dan mengontrol bagaimana API yang digunakan, misalnya untuk mencegah penggunaan sembarangan atau penyalahgunaan API (seperti yang didefinisikan mungkin dengan persyaratan layanan).
2.11 JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman 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: Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence). Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.
12 JSON menggunakan bentuk sebagai berikut: Objek 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 2.4 Object) 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.5 Array)
(Gambar 2.6 Value)
13 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.
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam 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 2.7 String) Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
14
(Gambar 2.8 Number) Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa pemprograman yang bersangkutan.
2.12 Reverse Geocoding Geocoding adalah sebuah proses konversi alamat (misalnya "1600 Amphitheatre Parkway, Mountain View, CA") ke dalam kordinat geografis (misalnya latitude 37.423021 dan longitude 122.083739), di mana dapat digunakan untuk menempatkan marker atau posisi pada map. Reverse Geocoding kebalikannya, yaitu adalah prose konversi dari kordinat geografis ke alamat yang mudah dimengerti. Geocoding dimaksudkan untuk para pengembang baik website ataupun mobile yang ingin menggunakan data geocoding di map yang disediakan oleh salah satu Google Maps API.
15
2.13 Rumus Haversine Rumus Haversine digunakan untuk menghitung jarak greatcircle antara dua point, yaitu jarak terdekat, terhadap permukaan bumi. Formula Haversine masih dianggap baik untuk perhitungan numeris, bahkan untuk permukaan yang kecil.Rumus Haversine dipublikasikan oleh Roger Sinnott pada majalah Sky & Telescope pada tahun 1984 (“Virtues of the Haversine”). Haversine Formula : (
(
)
(√ √(
)
(
)
(
)
))
Dimana :
(
)
2.14 Bootstrap Bootstrap merupakan sebuah toolkit yang dikembangkan oleh Twitter untuk mempermudah web developer dalam mendesain tampilan aplikasi. Platform ini awalnya dikembangkan pada ajang Hackweek, sebuah perhelatan developer yang diadakan Twitter. Standarisasi platform tersebut sudah disempurnakan sejak saat itu. Kini, disebutkan Twitter memiliki kerangka kerja yang konsisten untuk mengembangkan aplikasi. Di Bootstrap sudah tersedia CSS, HTML, JQuery Plugin dan memiliki fitur 12- cloumn grid system dimana developer tidak perlu menghitung setiap ukuran kolom. Bootstrap pertama kali dirilis pada Agustus 2012.
16
(Gambar 2.9 Struktur Bootstrap) Penjelasan : 1. Yang di dalam folder css Bootstrap-responsive.css : file ini digunakan untuk mensetting layout halaman website dan keunggulannya file ini dapat menyesuaikan sendiri ukuran website pada device yang digunakan seperti desktop, I-phone, tablet, dan lainnya. Bootstrap.css : file ini digunakan untuk mensetting keseluruhan style css didalam bootstrap tersebut. Bootstrap-responsive.min.css dan bootstrap.min.css : merupakan file hasil compress sehingga ukuran file lebih diperkecil, fungsi tetap sama dengan hasilnya. 2. Yang di dalam folder img File pertama merupakan image icon yang digunakan untuk icon – icon di bootstrap kedua sama dengan yang sebelumnya, namun background yang digunakan berwarna putih sedangkan yang sebelumya menggunakan background hitam.
17 3.
Yang di dalam folder js Bootstrap.js : merupakan file – file pengaturan javascript yang mengatur semua event di dalam bootstrap. .min.js : merupakan file – file hasil compress dari Bootstrap.js Jquery.js : file ini digunakan untuk memberikan sumber daya script di dalam Bootstrap.js
18
BAB III PERANCANGAN SISTEM
3.1 Use Case Diagram Use Case Diagram digunakan untuk pemodelan suatu objek atau entitas yang disediakan oleh sistem, berikut adalah aktivitas user terhadap sistem dalam bentuk Diagram Use Case. System Menekan tombol General Map
Menekan Tombol Deteksi Masjid
Menekan tombol About User Menekan Tombol Bantuan
Menekan Tombol Exit
(Gambar 3.1 Use Case Diagram) Pada Gambar 3.1 ditunjukkan bahwa user memiliki 5 (Lima) aktivitas atau interaksi pada sistem antara lain : Menekan tombol General Map, Menekan tombol Deteksi Masjid, Menekan tombol About, Menekan tombol Bantuan dan yang terakhir menekan tombol Exit.
19
20
3.2 Flowchart Flowchart digunakan untuk menunjukkan alur dari sitem yang dibuat, mulai dari start dan diakhiri oleh end. Alur proses pada aplikasi yang akan dibuat digambarkan dengan Flowchart berikut : Start
Splash Screen Loading
Tombol General Map
Tombol Deteksi Masjid
Apakah Terkoneksi Internet ?
Apakah Terkoneksi Internet ?
Tombol About
Tombol Bantuan
Tombol Exit
Tampilan About
Tampilan Bantuan
Apakah Anda Hendak Keluar ?
Tidak
Tidak
Ya
Ya
Tampilan Posisi Anda pada Map
Apakah Terjangkau Radius ?
Tidak
Ya
Tidak Ya Tampilan Marker Lokasi Masjid pada Map
End
(Gambar 3.2 Flowchart) Ketika user pertama kali membuka aplikasi ini maka akan dihadapkan dengan Spalsh Screen Activity yaitu activity untuk loading, setelah itu user akan melihat 5 tombol pada menu utama terdiri dari General Map, Deteksi Masjid, About, Bantuan dan Exit. Setelah di menu utama apakah akan menekan Tombol General Map ? jika Ya maka akan dicek apakah terkoneksi internet ? jika tidak maka langsung End jika Ya maka akan Tampil Posisi Anda di Map, Kemudian apakah akan menekan Tombol Deteksi Masjid ? jika Ya maka akan diseleksi Apakah terkoneksi Internet ? jika tidak maka Error jika Ya maka akan diseleksi lagi Apakah terjangkau Radius ? jika tidak maka End jika Ya maka akan tampil marker masjid disekitar, ketika tidak memilih
21 deteksi masjid apakah menekan Tombol About ? jika Ya maka keluar tampilan About jika tidak apakah menekan Tombol Bantuan ? jika Ya akan keluar tampilan bantuan jika tidak apakah akan menekan Tombol Exit ? jika Ya akan diseleksi apakah hendak keluar ? jika Ya maka End jika tidak maka pilih lagi tombol menu yang akan digunakan.
3.3 Integrasi Dengan Google Maps Untuk dapat terintegrasi ke google maps pada proyek ini memerlukan API Key dan JSON Parse untuk menginterpretasikan data menjadi tampilan marker pada map.
3.3.1 API Key Untuk mendapatkan API Key dan Browser Key perlu didaftarkan terlebih dahulu pada google console, dengan masuk ke link https://console.developers.google.com/project/ Langkah setelah masuk ke Link adalah sebagai berikut : Sebelum melakukan pendaftaran ambil terlebih dahulu kode SHA-1 dengan membuka cmd sebagai administrator kemudian posisikan di root setelah itu ketikkan cd \Program Files\Java\
\bin, setelah berada di posisi bin ketikkan keytool.exe -list alias androiddebugkey –keystore C:\users\\.android\debug.keystore Tekan ENTER lihat tampilannya sebagai berikut :
(Gambar 3.3 SHA-1)
22 Di dalam web google console pilih Buat Proyek, kemudian beri Nama Proyek setelah itu Buat Kredensial pilih Kunci Android selanjutnya isi Nama, Nama Paket dan kode SHA-1 tekan Buat.
(Gambar 3.4 Halaman google console)
(Gambar 3.5 Nama Proyek google console) Beri nama proyek yang kita inginkan seperti tampak Pada Gambar 3.5.
23 Klik kredensial (Gambar 3.6) untuk membuat kunci API, dalam hal ini buat kunci Android terlebih dahulu.
(Gambar 3.6 Kredensial)
(Gambar 3.7 Form Isi Data Kunci Android) Setelah membuat kunci API android selanjutnya membuat Kunci Browser, kunci ini berguna untuk menampilkan maps pada aplikasi yang sedang dibuat.
24 Buat Kredensial baru di proyek yang sama kemudian klik Kunci Browser, isi Nama dan klik Buat.
(Gambar 3.8 Halaman Pengelola API)
(Gambar 3.9 Kunci Browser) Klik pada button Kunci Browser untuk membuat Browser key (Gambar 3.9).
25 Setelah menekan tombol Kunci Browser kemudian isi informasi yang dibutuhkan untuk membuat Kunci Browser (Gambar 3.10).
(Gambar 3.10 Form Isi Data Kunci Browser) Selanjutnya mengaktifkan service yang diperlukan untuk mengakses map antara lain seperti Google Places API for Android, Google Maps Android API, Google Maps Geolocation API dan Google Maps Geocoding.
(Gambar 3.11 Ringkasan)
26
3.3.2 JSON Parse JSON Parse berfungsi sebagai pengurai object sehingga menjadi list yang akan diinterpretasikan menjadi marker pada setiap masjid yang terdeteksi, konsepnya sebagai berikut :
(Gambar 3.12 Konsep JSON Parse) Device mengakses google maps dengan perantara parsing dari JSON dan membawa API Key, Android Key serta Browser Key sebagai tindakan sah untuk mengakses google maps yang kemudian mengurai list ke dalam object sehingga nanti setelah dikirim kembali kepada device maka akan diurai lagi dari object menjadi list yang akan ditampilkan sebagai marker posisi masjid.
BAB IV UJI COBA DAN ANALISA SISTEM
4.1 Uji Coba Aplikasi Pengujian aplikasi dilakukan untuk mengukur apakah aplikasi yang telah dibuat sesuai dengan apa yang direncanakan.
4.2.1 Splash Screen Splash Screen digunakan untuk membuat efek loading saat aplikasi dibuka, waktu diset 5 detik. Script waktu: private static int SPLASH_TIME_OUT = 5000;
(Gambar 4.1 Splash Screen) Pada Activity splash screen ini terdapat image view yang disetel sebagai background (nomor 1) dan icon (nomor 2) serta text view (nomor 3) yang menggunakan type face Alhambra.
27
28
4.2.2 Home Di tampilan home terdapat 5 tombol yang terdiri dari General Map, Deteksi Masjid, About, Bantuan dan Exit. Tampilan Main Menu atau Home ini sudah dapat disesuaikan dengan screen portrait dan juga landscape, juga dapat di scroll apabila layar yang digunakan lebih kecil dari list atau pilihan yang ada.
(Gambar 4.2 Home) Pada tampilan (Gambar 4.2 Home) ini menggunakan action bar yang dibuat sendiri, pada petunjuk nomor 1 diatas, bar dibuat berwarna hijau dengan nama MyActionBar, kemudian tombol-tombol diatas menggunakan Imagebutton pada petunjuk nomor 2.
29
4.2.3 General Map Di dalam tampilan General Map kita bisa tau dimana posisi kita sedang berada, menampilkan map secara umum dan menunjukkan current position user secara realtime.
(Gambar 4.3 General Map) Dari gambar diatas pada posisi action bar berfungsi sebagai tombol back yang berguna untuk mengembalikan activity ke awal atau ke MainActivity, Kemudian textview yang berfungsi sebagai penampil latitude dan longitude sebagai informasi koordinat current position, kemudian fragment map untuk menampilkan maps secara keseluruhan dan posisi dimana user sedang berada. Namun sebelum itu semua, pengguna harus memastikan bahwa koneksi internet telah tersambung dan konfigurasi GPS telah diaktifkan.
30 Dari Gambar 4.4 Dapat dilihat bahwa GPS telah diaktifkan dan koneksi internet dengan data seluler ataupun Wifi juga harus diaktifkan. Koneksi internet hanya bisa menggunakan satu pilihan saja. Contoh, jika menggunakan koneksi Wifi maka koneksi internet data seluler tidak perlu diaktifkan, begitu pula sebaliknya. Koneksi internet dibutuhkan agar sistem dapat mendownload data dari google maps, sebagian pengaturan GPS juga mendapat data dari koneksi internet yang tersedia, sehingga ketepatan dalam menentukan lokasi lebih tinggi.
(Gambar 4.4 Require Setting) Konfigurasi lanjutan pada GPS diperlukan agar maps yang ditampilkan dapat lebih akurat, pengaturan Jaringan Wifi atau Seluler untuk mengakses lokasi dan pengaturan AGPS (Assisted GPS) menjadi sangat berperan untuk lebih mengoptimalkan posisi atau koordinat yang akan dideteksi. Pengaturan tersebut dapat dilihat dari langkah-langkah berikut ini :
31
(Gambar 4.5 Pengaturan Akses Lokasi)
(Gambar 4.6 Setting Satelit GPS)
32
(Gambar 4.7 Pengaturan AGPS) Pengaturan GPS sangat diperlukan untuk keakuratan koordinat lokasi user seperti pada Gambar 4.5 untuk tidak mencentang Lokasi Jaringan Wi-Fi & Seluler kemudian buka pengaturan GPS lalu centang A-GPS selanjutnya buka Pengaturan AGPS seperti Gambar 4.6 dan centang Permintaan Jaringan terlihat pada Gambar 4.7. Dengan beberapa pengaturan diatas maka akan membantu keakuratan pendeteksian lokasi keberadaan user secara realtime. Pengaturan diatas telah dicoba pada perangkat smartphone Android Oppo Joy R1001 OS Kitkat Android versi 4.2.2 dengan menggunakan Nova Launcher, beberapa tampilan pengaturan dapat berbeda dengan menggunakan device, OS dan Launcher yang berbeda.
33
4.2.4 Deteksi Masjid Dalam Menu ini sistem akan mecari posisi anda dan mencari lokasi masjid sekitar dari posisi anda dengan radius 5 KM.
(Gambar 4.8 Deteksi Masjid) Gambar 4.8 Menampilkan masjid dengan radius sampai 5 KM dari posisi user, hal itu terjadi karena pada skrip memang telah diatur radiusnya menjadi 5 KM yaitu seperti berikut : StringBuilder sb = new StringBuilder("https://maps.googleapis.com/m aps/api/place/nearbysearch/json?"); sb.append("location="+mLatitude+","+mLongitu de); sb.append("&radius=5000"); sb.append("&types="+type); sb.append("&sensor=true"); sb.append("&key=AIzaSyAYGZ8gYTx8VegqrjPJqHN5 Cmeuu_6yqv4");
34
4.2.5 About Pada tampilan about user akan melihat informasi tentang aplikasi ini dan melihat data pembuatnya, penulis menggunakan webview html dengan bootstrap untuk menghasilkan gambar seperti diatas.
(Gambar 4.9 About) Script java dari tampilan diatas : public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.about); String content = "file:///android_asset/about.html"; WebView wBrowser =(WebView)findViewById(R.id.wBrowser4); wBrowser.getSettings().setJavaScriptEnabled( true); wBrowser.loadUrl(content); ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); }
35
4.2.6 Bantuan Disini user bisa melihat beberapa petunjuk atau bantuan pengoperasian dari aplikasi ini, tampilan berikut menggunakan html dan bootstrap serta menggunakan fungsi collapse dengan bentuk accordion.
(Gambar 4.10 Bantuan) Script java dari tampilan diatas : public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bantuan); String content = "file:///android_asset/bantuan.html"; WebView wBrowser =(WebView)findViewById(R.id.wBrowser5); wBrowser.getSettings().setJavaScriptEnabled( true); wBrowser.loadUrl(content); ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); }
36
4.2.7 Exit Pada tampilan ini user akan diberikan Prompt Dialog untuk mengkonfirmasi apakah yakin akan keluar atau tidak.
(Gambar 4.11 Exit) Setelah user selesai mengoperasikan aplikasi ini dan ingin keluar maka tinggal menekan tombol Exit yang akan menghasilkan prompt dialog untuk mengkonfirmasi apakah user akan keluar atau tidak dengan skrip sebagai berikut : exit = (ImageButton) findViewById(R.id.exit); exit.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { // TODO Auto-generated method stub close(); } }); }
37 public boolean onCreateOptionMenu(Menu menu) { getMenuInflater().inflate(R.id.exit, menu); return true; } public void close(){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Apakah Anda hendak keluar ?").setCancelable(false).setPositiveButton(" Ya",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id) { MainActivity.this.finish(); } }).setNegativeButton("Tidak",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { dialog.cancel(); } }).show(); }
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { close(); } return super.onKeyDown(keyCode, event); }
38
4.2 Menambah Masjid Ke Google Maps Menambahkan masjid baru sangat mungkin bisa dilakukan oleh user, akan tetapi penambahan ini bersifat terkonfirmasi oleh google, artinya google akan meninjau dan memverifikasi valid atau tidak masjid yang user tambahkan ke google maps. Penambahan lokasi masjid sangat diperluakan untuk pembaharuan lokasi untuk marker yang akan ditampilkan, user dapat menambahkannya secara manual ke google maps. User harus login terlebih dahulu ke dalam akun Gmail, ini berfungsi sebagai notifikasi untuk penambahan masjid, google akan mengirimkan pemberitahuan apakah masjid telah ditambahkan atau tidak. Setelah itu user hanya perlu mengakses alamat dari gooogle maps yaitu http://www.google.co.id/maps.
(Gambar 4.12 Halaman Google Maps) Pada posisi search disisi kiri terdapat gambar menu lalu klik menu tersebut maka kemudian akan muncul menu seperti gambar berikut :
39
(Gambar 4.13 Menu Tambah Tempat) Setelah menekan menu tersebut maka akan muncul form data yang harus diisi, form tersebut berisi antara lain Nama, Alamat, Kategori, Telepon, Situs Web dan Jam. Isikan nama dengan nama masjid dan kategorinya adalah masjid, masukkan alamat dengan mudah dengan cara drag marker ke tempat tujuan masjid baru anda seperti gambar berikut :
(Gambar 4.14 Form Isi Data Tempat Baru)
40 Setelah mengisi data masjid baru maka user akan mendapat email pemberitahuan dari google bahwa proses peninjauan masjid yang baru ditambahkan telah dilakukan.
(Gambar 4.15 Notifikasi Peninjauan Lokasi Masjid Baru) Beberapa saat kemudian user akan menerima konfirmasi penambahan masjid baru pada google, ini bergantung pada valid atau tidaknya data yang user isi pada pengisian data masjid baru sebelumnya.
(Gambar 4.16 Konfirmasi Masjid telah Ditambahkan)
41
4.3 Tabel Analisa Tabel analisa menunjukkan seberapa jauh tingkat keberhasilan pengujian yang telah dilakukan dan sebagai data analisa sistem. Tabel 4.1 Analisa Pengujian No. 1.
Nama Pengujian Mencoba Perpindahan Activity
2.
Mencoba Maps
3.
Mencoba Exit
4.
Menambah Masjid
Metode Pengujian Mengklik Menu Mengklik Menu General Map dan Deteksi Masjid Mengklik tombol Exit Mendaftar Pada Google Maps
Hasil Berhasil
Berhasil Berhasil Berhasil dalam Konfirmasi Google
42
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan Setelah dilakukan perencanaan, pembuatan dan pengujian aplikasi yang ditunjang oleh teori-teori dan data-data yang ada maka penulis menyimpulkan mengenai perancangan serta pembuatan aplikasi sebagai berikut : 1.
2. 3.
Agar data dari google maps dapat hanya menginterpretasikan marker pada masjid sekitar maka perlu diparsing oleh JSON Parser. Akurasi posisi dipengaruhi oleh perangkat dan konfigurasi smatphone yang digunakan. Integrasi dengan google maps dapat dilakukan dengan menyematkan API Key yaitu Android Key dan Browser key.
5.2 Saran Pengerjaan Proyek Akhir ini penulis akui memang memiliki kekurangan dan kelemahan pada sistemnya, untuk memperbaiki hal tersebut maka perlu melakukan hal berikut : 1.
2.
Ketika menggunakan aplikasi ini pengguna harus menggunakan koneksi internet, baik itu koneksi data seluler maupun Wifi dan memastikan bahwa perangkat yang digunakan mendukung fitur GPS. Data yang ditampilkan bergantung terhadap kebijakan penggunaan oleh google maps sehingga tidak dapat terlalu sering digunakan.
Akhir kata penulis sampaikan agar aplikasi Masjid Detector ini dapat dikembangkan dan dimutakhirkan agar dapat lebih membantu user mengoperasikan aplikasi ini.
43
44