PERANCANGAN DAN IMPLEMENTASI APLIKASI ANDROID UNTUK PEMETAAN DAN SISTEM INFORMASI PENERIMA ZAKAT (STUDI KASUS KECAMATAN DAYEUHKOLOT)
Design and Implementation of Android Application for Mapping and Information System of Zakat Recipients (Case Study Sub-District Dayeuhkolot)
TUGAS AKHIR Disusun sebagai syarat untuk untuk memperoleh gelar Sarjana Teknik pada Program Studi Sistem Komputer Universitas Telkom
Oleh:
GANANG DWI RATMOKO 1104091093
DEPARTEMEN ELEKTRO DAN KOMUNIKASI FAKULTAS TEKNIK UNIVERSITAS TELKOM BANDUNG 2014
UNIVERSITAS TELKOM
No. Dokumen
Jl. Telekomunikasi No.1 Ters. Buah Batu Bandung 40257
No. Revisi
FORMULIR LEMBAR PENGESAHAN
Berlaku efektif
ITT-AK-FEK-PTT-FM-004/001 00 02 Mei 2011
TUGAS AKHIR
LEMBAR PENGESAHAN TUGAS AKHIR PERANCANGAN DAN IMPLEMENTASI APLIKASI ANDROID UNTUK PEMETAAN DAN SISTEM INFORMASI PENERIMA ZAKAT (STUDI KASUS KECAMATAN DAYEUHKOLOT)
Design and Implementation of Android Application for Mapping and Information System of Zakat Recipients (Case Study Sub-District Dayeuhkolot)
Disusun oleh: Ganang Dwi Ratmoko 1104091093
Telah disetujui dan disahkan sebagai Tugas Akhir Program S1 Sistem Komputer Departemen Elektro dan Komunikasi Fakultas Teknik Universitas Telkom
Pembimbing I
Pembimbing II
R. Rumani M, IR, DRS, MSEE.
Asep Mulyana, S.T, M.T.
(NIK: 94470315-3 )
(NIK: 94570124-3 )
ii
UNIVERSITAS TELKOM
No. Dokumen
Jl. Telekomunikasi No.1 Ters. Buah Batu Bandung 40257
No. Revisi
FORMULIR LEMBAR PERNYATAAN
ITT-AK-FEK-PTT-FM-004/001 00
Berlaku efektif
02 Mei 2011
ORISINALITAS
LEMBAR PERNYATAAN ORISINALITAS Nama
: Ganang Dwi Ratmoko
NIM
: 1104091093
Alamat
: Jl. Sukabirus Gang Demang 1 no 142 Citeureup, Dayeuhkolot, Kab. Bandung Jawa Barat
No Tlp/HP
: 082216360513
Email
:
[email protected]
Menyatakan bahwa Tugas Akhir ini merupakan karya orisinal saya sendiri, dengan judul: PERANCANGAN DAN IMPLEMENTASI APLIKASI ANDROID UNTUK PEMETAAN DAN SISTEM INFORMASI PENERIMA ZAKAT (STUDI KASUS KECAMATAN DAYEUHKOLOT)
Design and Implementation of Android Application for Mapping and Information System of Zakat Recipients (Case Study Sub-District Dayeuhkolot)
Atas pernyataan ini, saya siap menanggung resiko / sanksi yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap kejujuran akademik atau etika keilmuan dalam karya ini, atau ditemukan bukti yang menunjukkan ketidak aslian karya ini.
Bandung, 30 Desember 2013
Ganang Dwi Ratmoko 1104091093
iii
ABSTRACT
Zakat is obligatory for every Muslim. The whole society from the self-employed, employees are required to pay zakat if they have met certain conditions . Many conveniences have done now in the distribution of zakat , including many zakat institutions tasked to manage and distribute zakat . Along with the development of information and technology especially in the mobile application, the users need more and more mobile applications to help their daily activities. Based on the user needs, the programmer took the initiative to create a mobile application that is closely related to the particular mapping application of the zakat recipients. The application is a mapping application that uses the android that aims to facilitate the user in finding the location of zakat recipients around the user , knowing the location of the nearest zakat recipient of the user , giving directions for the user with A – GPS features . This application is implemented in android as its operating system . And integrated with Google Maps as its map. This application will give the user the location of zakat recipients , recommendations of zakat recipients which are closest to the user , the search feature, and as well as information about the recipients of zakat in sub-district Dayeuhkolot . This final project is expected to facilitate community and zakat manager ( amil ) to find the location of zakat recipients around them.
Keywords : Android , Google Maps , mapping , information systems , zakat
iv
ABSTRAK
Zakat merupakan ibadah wajib bagi setiap muslim. Seluruh lapisan masyarakat mulai dari wiraswasta, pegawai hingga pimpinan wajib membayar zakat jika telah memenuhi syarat-syarat tertentu. Banyak kemudahan yang telah dilakukan sekarang dalam penyaluran zakat, termasuk di dalamnya banyak lembaga-lembaga zakat yang bertugas untuk mengelola serta menyalurkan zakat. Seiring dengan perkembangan informasi dan teknologi terutama di bidang mobile akan semakin banyak aplikasi yang dibutuhkan untuk memenuhi kebutuhan sehari-hari user. Berdasarkan pada kebutuhan user tersebut maka programmer berinisiatif untuk membuat sebuah aplikasi mobile yang berkaitan erat dengan pemetaan khususnya pemetaan lokasi penerima zakat. Aplikasi tersebut adalah aplikasi pemetaan yang menggunakan android yang bertujuan untuk memudahkan user dalam mencari lokasi penerima zakat di sekitar user, mengetahui lokasi penerima zakat terdekat dari user, memberi petunjuk jalan bagi user dengan fitur A-GPS. Aplikasi ini diimplementasikan pada android sebagai operating system-nya. Dan diintegrasikan dengan Google Maps sebagai petanya. Aplikasi ini akan memberikan user pemetaan lokasi, rekomendasi penerima zakat terdekat dengan user, fitur pencarian serta sistem informasi mengenai penerima zakat di Kecamatan Dayeuhkolot. Tugas akhir ini diharapkan dapat mempermudah masyarakat maupun penyalur zakat (amil) untuk mencari lokasi penerima-penerima zakat di sekitar mereka.
Kata kunci: Android, Google Maps, pemetaan, sistem informasi, zakat
v
KATA PENGANTAR
Bismillahirrahmanirrahim Puji syukur kehadirat Allah SWT atas rezeki-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul “Perancangan dan Implementasi Aplikasi Android Untuk Pemetaan Lokasi dan Sistem Informasi Penerima Zakat (Studi Kasus Kecamatan Dayeuh Kolot)” ini. Tugas akhir ini disusun sebagai salah satu syarat kelulusan pada Program Studi Sarjana Sistem Komputer Departemen Elektro dan Komunikasi Universitas Telkom. Keberhasilan penulisan buku ini tidak lepas dari bimbingan dan bantuan berbagai pihak. Oleh sebab itu, penulis mengucapkan terima kasih kepada seluruh pihak yang telah membantu, membimbing, dan memberikan semangat kepada penulis. Penulis menyadari bahwa masih banyak kekurangan yang terdapat dalam pengerjaan tugas akhir ini, oleh karena itu penulis mengharapkan kritik yang bersifat membangun serta saran demi kesempurnaan penulisan buku tugas akhir ini dari berbagai pihak. Penulis berharap semoga penulisan buku tugas akhir ini mempunyai manfaat bagi pembaca dan khususnya bagi penulis sendiri
Bandung, Desember 2013 Penulis
vi
LEMBAR PERSEMBAHAN Alhamdulillah, segala puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat meyelesaikan tugas akhir ini Dalam menjalani masa studi sampai menyelesaikan tugas akhir ini, penulis menerima banyak bantuan baik berupa dukungan, bimbingan, dan semangat dari berbagai pihak. Dalam kesempatan ini, penulis ingin mengucapkan terima kasih kepada:
1. Allah SWT 2. Orang tua, Karyawan Hari Susetyo dan Ning Handayani, yang selalu memberi teladan, nasehat, dukungan, kepercayaan penuh, serta doa yang terus menerus kepada penulis. 3. Kakak, Gandheswari Pujarani S.T.P., yang memberi contoh baik dan menjadi teladan bagi adiknya. 4. Adik, Gandhi Yusuf Qordhowi, yang selalu bikin kangen pengen pulang. 5. Dosen Wali, bu Dra. Indiwarti, M.Si yang selalu membimbing dengan sabar sekali. 6. Dosen Pembimbing I, R. Rumani M, Ir, Drs, MSEE. yang dengan sabar membimbing dan memberi arahan tentang banyak hal sehingga akhirnya tugas akhir ini bisa diselesaikan 7. Dosen Pembimbing II, Asep Mulyana, S.T, M.T. yang selalu siap membimbing dan mengerti hambatan yang dihadapi dalam pengerjaan tugas akhir ini. 8. Bayu Aji Septyawan, yang selalu membantu dalam kehidupan bermahasiswa. 9. Teman-teman keluarga mogu-mogu plus Andrew tanpa Dara, yang selalu memberikan hiburan dan brainstorming. 10. Teman-teman SK3302 yang selalu keren sekali mengisi masa-masa perkuliahan penulis 11. Teman-teman Masyarakat Jurnalistik yang dengan ikhlas meminjamkan sekrenya untuk bernaung. 12. Semua pihak yang telah berkontribusi dan banyak membantu yang tidak dapat penulis sebutkan satu per satu.
vii
DAFTAR ISI
HALAMAN JUDUL................................................................................................ i LEMBAR PENGESAHAN ..................................................................................... ii LEMBAR PERNYATAAN ORISINALITAS ...................................................... iii ABSTRACT ............................................................................................................. iv ABSTRAK ................................................................................................................ v KATA PENGANTAR ............................................................................................. vi LEMBAR PERSEMBAHAN ................................................................................. vii DAFTAR ISI ............................................................................................................ viii DAFTAR GAMBAR ............................................................................................... x DAFTAR TABEL .................................................................................................... xii BAB I PENDAHULUAN 1. 1. Latar Belakang................................................................... ........................ 1 1. 2. Rumusan Masalah....................................................... ............................... 2 1. 3. Tujuan....................................................... ................................................. 2 1. 4. Batasan Masalah......................................................................................... 2 1. 5. Metodologi Penelitian............... ................................................................. 3 1. 6. Sistematika Penulisan................................................................................. 4 BAB II DASAR TEORI......... ................................................................................. 5 2.1. Android......................... ............................................................................... 5 2.1.1. Pengenalan Android................... ......................................................... 5 2.1.2. Software Development Kit (SDK) Android........... .............................. 6 2.2. JSON........................ .................................................................................... 6 2.2.1. Pengenalan JSON............. ................................................................... 6 2.2.2. JSON Syntax........... ............................................................................ 6 2.3. GIS (Geographical Information System)........... .......................................... 7 2.3.1. Pengenalan GIS.......... ......................................................................... 7 2.3.2. Komponen GIS......... .......................................................................... 8 2.4. Google Maps........ ........................................................................................ 10 2.4.1. Pengenalan Google Maps.......... ......................................................... 10 2.5. A-GPS (Assisted Global Positioning System)............ .................................. 11 2.5.1. Pengenalan A-GPS............... .............................................................. 11 2.5.2. Kelebihan dan Kekurangan A-GPS................ .................................... 12 viii
BAB III PERANCANGAN DAN IMPLEMENTASI...... .................................... 13 3.1. Gambaran Umum Sistem.......... ................................................................... 13 3.2. Perangkat Kebutuhan........... ........................................................................ 13 3.3. Spesifikasi Perancangan...............................................................................15 3.4. Diagram Alir Aplikasi.................. ................................................................ 15 3.5. Perancangan Web Service............................................................................. 16 3.5.1. Perancangan Antarmuka Halaman Admin. .......................................... 17 3.6. Perancangan Aplikasi Mobile.......... ............................................................ 18 3.6.1. Use Case Diagram....................... ....................................................... 18 3.6.2. Activity Diagram.................................. ............................................... 20 3.6.3. Sequence Diagram............................. ................................................. 21 3.6.4. Perancangan Antarmuka Aplikasi Mobile................ .......................... 27 3.7. Implementasi Web Service............. .............................................................. 32 3.8. Implementasi Aplikasi............ ..................................................................... 32
BAB IV PENGUJIAN DAN ANALISIS.......... ..................................................... 33 4.1. Batasan Pengujian.................. ...................................................................... 33 4.2. Pengujian Alpha.................. ......................................................................... 33 4.2.1. Pengujian Blackbox............................................................................. 33 4.2.1.1. Pengujian Blackbox Web Service.......... ................................ 33 4.2.1.2. Pengujian Blackbox Aplikasi Mobile........... ......................... 35 4.2.2. Pengujian Whitebox.......... .................................................................. 40 4.3. Pengujian Performansi Aplikasi............. ...................................................... 40 4.3.1. Pengujian Penggunaan Memori............. ............................................. 40 4.4. Pengujian Beta................. ............................................................................ 42
BAB V KESIMPULAN DAN SARAN........................................ .......................... 47 5.1 Kesimpulan.......... ....................................................................................... 47 5.2 Saran..................... ....................................................................................... 47 DAFTAR PUSTAKA............................... ............................................................... 59 LAMPIRAN
ix
DAFTAR GAMBAR Gambar 2.1 Arsitektur Android................................................................................. 5 Gambar 2.2 Sistem informasi Geografis........ ........................................................... 8 Gambar 2.3 Google Maps............. ............................................................................ 10 Gambar 2.4 Google Maps pada smartphone Android............ ................................... 11 Gambar 3.1 Skema Umum Sistem.............. .............................................................. 13 Gambar 3.2 Diagram Alir Aplikasi.... ....................................................................... 16 Gambar 3.3 Entity Relationship Diagram........................................ ......................... 17 Gambar 3.4 Skema Relasi ......................................................................................... 17 Gambar 3.5 Halaman Login Admin ........................................................................... 18 Gambar 3.6 Halaman Beranda Admin ....................................................................... 18 Gambar 3.7 Halaman Tambah Data .......................................................................... 19 Gambar 3.8 Halaman Tambah Tempat ..................................................................... 19 Gambar 3.9 Halaman Daftar Data ............................................................................. 19 Gambar 3.10 Use Case Diagram..................... ......................................................... 20 Gambar 3.11 Activity Diagram...................................................... ........................... 21 Gambar 3.12 Sequence Diagram Memulai Aplikasi................................................. 22 Gambar 3.13 Sequence Diagram Menu Maps........................................................... 23 Gambar 3.14 Sequence Diagram View All.................. ............................................. 24 Gambar 3.15 Sequence Diagram Places ................................................................... 25 Gambar 3.16 Sequence Diagram Nearby ................................................................. 26 Gambar 3.17 Sequence Diagram Region .................................................................. 27 Gambar 3.18 Sequence Diagram Search .................................................................. 27 Gambar 3.19 Sequence Diagram Menu About .......................................................... 28 Gambar 3.20 Sequence Diagram Menu Exit ............................................................. 28 Gambar 3.21 Perancangan Antarmuka Memulai Aplikasi ........................................ 29 Gambar 3.22 Perancangan Antarmuka Menu Maps .................................................. 29 Gambar 3.23 Perancangan Antarmuka View All ....................................................... 30 Gambar 3.24Perancangan Antarmuka Places ........................................................... 30 Gambar 3.25 Perancangan Antarmuka Nearby ......................................................... 30 Gambar 3.26 Perancangan Antarmuka Region ......................................................... 31 Gambar 3.27 Perancangan Antarmuka Submenu Region (Desa Citeurep, Sukapura, Dayeuhkolot, Kel. Pasawahan) ................................................................................. 31 Gambar 3.28 Perancangan Antarmuka Search.......................................................... 31 x
Gambar 3.29 Perancangan Antarmuka Halaman informasi ...................................... 32 Gambar 3.30 Perancangan Antarmuka Get Direction............................................... 32 Gambar 3.31 Perancangan Antarmuka Menu About ................................................. 33 Gambar 3.32 Perancangan Antarmuka Menu Exit .................................................... 33 Gambar 4. 1 Hasil kuesioner no.1.............. ............................................................... 42 Gambar 4. 2 Hasil kuesioner no.2 ............................................................................. 42 Gambar 4. 3 Hasil kuesioner no.3 ............................................................................. 43 Gambar 4. 4 Hasil kuesioner no.1 ............................................................................. 43 Gambar 4. 5 Hasil kuesioner no.2 ............................................................................. 44 Gambar 4. 6 Hasil kuesioner no.3 ............................................................................. 44 Gambar 4. 7 Hasil kuesioner no.4 ............................................................................. 45
xi
DAFTAR TABEL Tabel 4.1 Pengujian API ............................................................................................ 35 Tabel 4.2 Pengujian Halaman Admin ........................................................................ 35 Tabel 4.3 Pengujian Splashscreen ............................................................................. 36 Tabel 4.4 Pengujian Main Menu ............................................................................... 36 Tabel 4.5 Pengujian Menu Maps ............................................................................... 36 Tabel 4.6 Pengujian View All .................................................................................... 36 Tabel 4.7 Pengujian Nearby ..................................................................................... 37 Tabel 4.8 Pengujian Places ....................................................................................... 37 Tabel 4.9 Pengujian Region....................................................................................... 38 Tabel 4.10 Pengujian Submenu Desa Citeureup ....................................................... 38 Tabel 4.11 Pengujian Submenu Desa Sukapura ........................................................ 39 Tabel 4.12 Pengujian Submenu Desa Dayeuhkolot................................................... 39 Tabel 4.13 Pengujian Submenu Kel. Pasawahan ....................................................... 40 Tabel 4.14 Pengujian Button Get Direction .............................................................. 40 Tabel 4.15 Pengujian Menu About ............................................................................ 40 Tabel 4.16 Pengujian Menu Exit ............................................................................... 41 Tabel 4.17 Pengujian Heap size ............................................................................... 42
xii
BAB I PENDAHULUAN
1.1. Latar Belakang Zakat merupakan ibadah wajib bagi setiap muslim. Seluruh lapisan masyarakat mulai dari wiraswasta, pegawai hingga pimpinan wajib membayar zakat jika telah memenuhi syarat-syarat tertentu. Banyak fasilitas dalam penyaluran zakat, termasuk di dalamnya banyak lembaga-lembaga zakat yang bertugas untuk mengelola serta menyalurkan zakat. Oleh karena itu untuk menambah fasilitas serta mempermudah user dalam memperoleh informasi mengenai penerima zakat, dibutuhkan suatu peta yang berisi informasi penerima zakat yang dapat digunakan user untuk menyalurkan zakatnya. Dunia telekomunikasi khususnya di bidang mobile sudah berkembang pesat. Banyak tuntutan-tuntutan dalam kemudahan yang bisa didapat dimana pun berada. Salah satunya adalah sistem operasi keluaran Google yaitu Android. Telepon pintar atau smartphone serta tablet PC terbaru saat ini mulai banyak yang menggunakan sistem operasi ini. Banyak pengembang aplikasi yang telah mengembangkan aplikasi berbasis Android ini dikarenakan sifat dari sistem operasi Android ini yang open source. Selain itu juga disebabkan oleh kebutuhan aplikasi yang meningkat bagi para pengguna baik aplikasi permainan, multimedia, komunikasi singkat, email, enterprise, security dan lainlain Melihat permasalahan di atas, kemudian timbul suatu gagasan untuk membuat sebuah aplikasi yang dapat memetakan lokasi serta menampilkan informasi dari para penerima zakat tersebut. Aplikasi ini dibuat untuk mempermudah pengguna dalam penyaluran zakat karena di dalam aplikasi ini sudah terdapat pemetaan, penunjuk jalan, pencarian, serta informasi mengenai penerima zakat. Aplikasi ini juga berguna bagi pengguna untuk mengetahui siapa saja yang berhak menerima zakat di sekitar user dan yang ingin menyalurkan zakatnya ke penerima zakat. Aplikasi ini sendiri akan dibangun dari dua bagian yaitu web server berbasis MySQL sebagai database, web service menggunakan bahasa pemrograman PHP, web application menggunakan JSON dan juga aplikasi mobile berbasis Android.
1
1.2 Rumusan Masalah Adapun rumusan masalah dalam tugas akhir ini : 1. Bagaimana cara mengimplementasikan aplikasi pemetaan dan sistem informasi penerima zakat pada smartphone berbasis Android? 2. Bagaimana membuat interkoneksi antara server dengan aplikasi pada client menggunakan web service? 3. Bagaimana mengimplementasikan fitur-fitur yang berhubungan dengan database pada aplikasi pemetaan dan sistem informasi penerima zakat ini?
1.3 Tujuan Tujuan dari tugas akhir ini adalah sebagai berikut : 1. Merancang, mengumpulkan data dan mengaplikasikan database untuk keperluan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot. 2. Mendesain dan mengimplementasikan web service untuk aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot. 3. Mendesain dan mengimplementasikan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot beserta fungsi-fungsi nya yang telah terintegrasi dengan database, web service dan A-GPS pada smartphone Android. 4. Melakukan pengujian dan menganalisa kelayakan aplikasi yang dibuat.
1.4 Batasan Masalah Untuk lebih memfokuskan penelitian Tugas Akhir ini, maka ditentukan beberapa batasan masalah sebagai berikut: 1. Aplikasi
pemetaan
lokasi
penerima zakat
dibangun
menggunakan
bahasa
pemrograman java yang dikhususkan untuk sistem operasi Android. 2. Aplikasi pemetaan lokasi penerima zakat yang dibangun hanya untuk smarphone yang menggunakan sistem operasi Android 2.3.6 (Gingerbread). 3. Database, dan web service dibuat dengan bahasa MySQL, PHP dan JSON dengan menggunakan server eksternal. 4. Peta yang digunakan adalah Google Maps API v2 untuk Android. 5. Database lokasi dan informasi mengenai penerima zakat diperoleh dari pencarian data ke lembaga pengelola zakat, Ketua RW dan Ketua RT. 6. Cakupan wilayah aplikasi hanya di sekitar kecamatan Dayeuh Kolot. 2
1.5 Metode Penelitian Metode penelitian yang akan digunakan dalam tugas akhir ini adalah sebagai berikut : 1. Tahap studi literatur Mengumpulkan literatur berupa jurnal dan referensi mengenai pemrograman java android, Geographic Information System, Google Map API v2 dan implementasinya. 2. Analisis masalah Setelah melakukan studi literatur, dilakukan perumusan dan pengidentifikasian masalah dengan mengacu pada berbagai literatur tersebut dan berdiskusi dengan dosen pembimbing. 3. Tahap pengumpulan data Merupakan proses pengumpulan data mengenai
lokasi dan informasi mengenai
penerima zakat yang diperoleh dari lembaga pengelola zakat, Ketua RW dan Ketua RT. 4. Tahap perancangan Pada tahap ini dilakukan perancangan fungsionalitas dan graphic user interface aplikasi. 5. Tahap implementasi Setelah melakukan perancangan, aplikasi dibangun sesuai dengan rancangan yang telah dibuat. 6. Tahap uji coba dan evaluasi Pada tahap ini dilakukan uji coba terhadap sistem berdasarkan tujuan dan perancangan pembuatan aplikasi. Pada tahap ini juga dilakukan evaluasi berdasarkan tujuan awal dan perancangan aplikasi.
1.6 Sistematika Penulisan BAB I: Pendahuluan Pada bab ini dijelaskan mengenai latar belakang, tujuan, rumusan masalah, batasan masalah, metodologi penelitian dan sistematika
penulisan.
BAB II:Dasar Teori Pada bab ini dijelaskan teori-teori yang mendukung dalam menyelesaikan Tugas Akhir ini.
3
BAB III: Perancangan dan Implementasi Pada bab ini dijelaskan mengenai perancangan sistem dengan menggunakan data dan informasi yang telah diperoleh sebelumnya. Serta melakukan implementasi aplikasi. BAB IV: Pengujian dan Analisis Pada bab ini dilakukan pengujian terhadap sistem dan melakukan analisis terhadap hasil yang diperoleh. BAB V: Kesimpulan dan Saran Bab ini berisi mengenai kesimpulan dari aplikasi yang telah dibangun serta saransaran penulis untuk mengembangkan tulisan ini.
4
Bab II Dasar Teori 2.1. Android 2.1.1. [ࢊ࢘ࢊ ܖ܉ܔ܉ܖ܍ܖ܍۾] Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat pirant lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia dengan tujuan membuat sebuah standar terbuka untuk perangkat bergerak (Mobile Device).
Gambar 2.1. Arsitektur Android
5
2.1.2. Android Software Development Kit (SDK) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai pengembangan aplikasi pada platform android menggunakan bahasa pemrograman Java. Dalam Android SDK terdapat Android Emulator yang merupakan emulator handset Android untuk menjalankan program yang dikerjakan dan Android Development Tools (ADT) yang merupakan plugin untuk Eclipse yang sangat berguna dalam membangun suatu aplikasi Android, selain itu Android SDK mempunyai berbagai
macam
fitur
kostumisasi
yang
akan
membantu
developer
dalam
mengembangkan aplikasi Android yang diinginkan dan juga mempunyai berbagai macam fitur untuk melakukan packaging, debugging, dan installing aplikasi ke dalam Android Emulator. 2.2. ࡶࢇ࢜ࢇࡿࢉ࢚࢘ ࡻ࢈ࢋࢉ࢚ ࡺ࢚ࢇ࢚ (۸[)ۼ۽܁]
2.2.1. Pengenalan JSON JSON adalah suatu format ringkas pertukaran data komputer. Format JSON berbasis teks dan mudah dibaca serta digunakan untuk merepresentasikan struktur data sederhana. Format JSON sering digunakan untuk mengirimkan data terstruktur melalui suatu koneksi jaringan. Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript dan umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman.
2.2.2. JSON Syntax a)
Aturan JSON Syntax JSON syntax adalah subset dari JavaScript object notation syntax. Berikut
ini aturan-aturan dalam penulisan JSON : • Data dituliskan dalam pasangan nama/nilai. • Data dipisahkan oleh tanda koma ”,”. • JSON object berada dalam tanda kurung keriting “{}” • JSON array berada dalam tanda kurun kotak “[]”. 6
b)
JSON Data Berikut ini contoh penulisan data dalam JSON :
"firstName" : "John"
c)
JSON Object Berikut ini contoh penulisan objek dalam JSON :
{ "firstName":"John", "lastName":"Doe" }
d) JSON Array Berikut ini contoh penulisan array dalam JSON : { "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
2.3. ࡳࢋࢍ࢘ࢇࢎࢉࢇ ࡵࢌ࢘ࢇ࢚ ࡿ࢙࢚࢟ࢋ (ࡳࡵࡿ)[] 2.3.1. Pengenalan GIS GIS adalah sebuah sistem informasi khusus yang digunakan untuk mengelola data dengan mengetengahkan lokasi geografis sebagai karateristik yang penting atau kritis untuk dianalisis. GIS memiliki kemampuan untuk membangun, menyimpan, mengelola dan menampilkan informasi yang diidentifikasi menurut lokasinya.
7
Teknologi GIS mengintegrasikan operasi pengolahan data berbasis database yang biasa digunakan saat ini, seperti pengambilan data berdasarkan kebutuhan serta analisis statistik dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mempu ditawarkan melalui analisis geografis melalui gambar- gambar petanya.
Contoh penggunaan teknologi GIS antara lain, untuk pengelolaan sumber daya, investigasi ilmiah, perencanaan pembangunan, kartografi, alat bantu tanggap bencana serta perencanaan rute.
Gambar 2.2. Sistem Informasi Geografis
2.3.2. Komponen GIS Berikut adalah komponen-komponen yang berintegrasi membentuk
suatu
GIS: 1. Perangkat Keras (Hardware) Perangkat keras GIS adalah perangkat-perangkat fisik yang merupakan bagian dari sistem komputer yang mendukung analisis goegrafi dan pemetaan. Perangkat keras GIS mempunyai kemampuan untuk menyajikan citra dengan resolusi dan kecepatan yang tinggi serta mendukung operasioperasi basis data dengan volume data yang besar secara cepat. Berdasarkan proses, perangkat keras GIS dibagi menjadi 3 bagian: •
Input Data: keyboard, mouse, scanner
•
Olah Data: prosesor, RAM, VGA 8
•
Output Data: monitor, printer
2. Perangkat Lunak (Software) Perangkat
lunak
digunakan
untuk
melakukan
proses
menyimpan,
menganalisa, memvisualkan data-data baik data spasial maupun non-spasial. Komponen yang harus terdapat dalam komponen software GIS adalah: a. Tool untuk melakukan input dan transformasi data geografis. b. Sistem Manajemen Basis Data (DDMS). c. Tool yang mendukung query geografis, analisa, dan visualisasi d. Geographical User Interface (GUI) untuk memudahkan akses pada tool geografi. Inti dari software GIS adalah software GIS itu sendiri yang mampu menyediakan fungsifungsi untuk penyimpanan, pengaturan, link, query, dan analisa data geografi.
3. Data Pada GIS ada dua jenis data, berikut penjelasannya: •
Data Spasial Data spasial adalah gambaran nyata suatu wilayah yang terdapat di permukaan bumi. Umumnya direpresentasikan berupa grafik, peta, gambar dengan format digital dan disimpan dalam bentuk koordinat x,y (vektor) atau dalam bentuk image (raster) yang memiliki nilai tertentu.
•
Data Aspasial (Atribut) Data aspasial (atribut) adalah gambaran data yang terdiri atas informasi yang relevan terhadap suatu lokasi, seperti kedalaman, ketinggian, lokasi penjualan dan lain-lain
4. Pengguna (User) User merupakan inti elemen dari GIS karena user adalah perencana dan pengguna dari GIS. User GIS mempunyai tingkatan seperti pada sistem informasi lainnya, mulai dari teknisi hingga pengguna untuk keperluan sehari-hari. Fungsi user sendiri berguna untuk memilih informasi yang diperlukan, membuat standar, update
9
data yang efisien, analisis output untuk hasil yang diinginkan serta merencanakan aplikasi.
5. Metode GIS yang baik memiliki keserasian antara rencana desain yang baik dan aturan dunia nyata, dimana metode, model dan implementasi akan berbeda untuk setiap permasalahan. 2.4. ࡳࢍࢋ ࡹࢇ࢙[] 2.4.1. Pengenalan Google Maps Google maps adalah suatu web mapping service milik Google yang berisi mengenai peta di seluruh dunia. Web service ini disediakan online dan bisa digunakan dengan gratis oleh pengguna internet dan dapat pula dikembangkan oleh pengembang aplikasi untuk membuat aplikasi mengenai pemetaan, navigasi, routing dan GIS.
Gambar 2.3 Google Maps
10
Gambar 2.4 Google Maps pada smartphone Android
2.5. − ࡳࡼࡿ (࢙࢙࢙࢚ࢋࢊ ࡳ࢈ࢇ ࡼ࢙࢚ࢍ ࡿ࢙࢚࢟ࢋ)[] 2.5.1. Pengenalan A-GPS A-GPS (Assisted Global Positioning System) adalah sebuah teknologi yang menggunakan sebuah server bantu untuk mempercepat waktu yang diperlukan dalam menentukan sebuah posisi menggunakan perangkat GPS. Peran A-GPS untuk memberitahu unit GPS, satelit mana saja yang sebaiknya layak untuk langsung didengarkan daripada harus mendeteksi seluruh satelit yang ada, sehingga sangat dapat mengurangi waktu yang dibutuhkan secara signifikan untuk menentukan posisi saat ini juga yang disebut sebagai Time to First Fix (TTFF). Biasanya waktu yang dibutuhkan (mendeteksi satelit) sekitar beberapa detik sampai hitungan menit untuk mendapatkan sinyal. Durasi waktu tersebut sangatlah bergantung pada lokasi kita, ada tidaknya gangguan sinyal. Sebagai ilustrasi, lokasi lebih cepat ditemukan di lapangan terbuka daripada daerah perkotaan dengan banyak gedung tinggi yang berpotensi mengganggu penerima satelit pada alat GPS. Oleh karena itu sebuah perangkat A-GPS dan server bantu dapat berbagi tugas, secara keseluruhan proses tersebut dilakukan jauh lebih cepat. Karena BTS yang kebanyakan dilengkapi dengan alat penerima GPS yang secara terus-menerus menarik informasi dari satelit dan memproses data. Data tersebut lalu dikirimkan ke ponsel kita (jika diminta) 11
dan cara kerjanya seperti dapat bocoran data terlebih dahulu karena lokasi kta sudah diidentifikasi terlebih dahulu dan seluruh perhitungan GPS-nya sudah dilakukan oleh komputer yang terdapat di BTS. Meskipun demikian, A-GPS menjadi sangat tergantung terhadap keberadaan cakupan (coverage) layanan jaringan selular.
2.5.2. Kelebihan dan Kekurangan A-GPS A-GPS memiliki beberapa kelebihan, antara lain: •
Keakurasian yang tinggi, A-GPS menawarkan solusi terakurat dan metodemetode yang telah ada sebelumnya. Lebih lanjut, A-GPS merupakan layanan yang menggabungkan sistem GPS dan layanan GSM (Global System for Mobile Communication).
•
Membutuhkan daya yang lebih kecil dalam melakukan proses komputasi, sehingga menjadikan handset lebih hemat daya.
•
A-GPS menjadikan proses akses informasi menggunakan satelit menjadi lebih mudah, cepat dan sangat cocok untuk lokasi perkotaan atau lokasi yang kurang optimal dalam menangkap sinyal satelit seperti dalam gedung.
Sedangkan kekurangan A-GPS terletak pada coverage jaringan operator, semakin kuat sinyal suatu jaringan broadband, maka semakin cepat pula kecepatan mengakses A-GPS ini. Kekurangan berikutnya adalah masalah biaya, pada saat mengunduh data, A-GPS melibatkan transmisi sejumlah data melalui jaringan service provider. Transmisi sejumlah data inilah yang memerlukan biaya, meskipun tidak begitu mahal karena hanya dibutuhkan untuk membantu GPS pada saat pertama diakifkan.
12
BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM 3.1 Gambaran Umum Sistem Berikut adalah skema umum dari Tugas Akhir ini :
Gambar 3. 1 Skema Umum Sistem
3.2 Perangkat Kebutuhan Dalam pembuatan tugas akhir ini dibutuhkan beberapa aspek pendukung dalam hal perangkat keras (hardware), perangkat lunak (software) dan juga pengguna (brainware). a)
Perangkat Keras Minimum (Hardware) Adapun perangkat keras yang digunakan dalam membuat program, untuk melakukan simulasi pada emulator dan juga bertindak sebagai server yang menyimpan web service dan database adalah sebagai berikut : 1. Desktop HP-Pavilion GZ717AA-AR6 g3233l 2. Intel(R) Pentium(R) Dual CPU E2140 @ 1.60GHz 3. RAM 4GB 4. Harddisk 500GB Selain itu, untuk implementasi program pada smartphone Android dibutuhkan spesifikasi minimum sebagai berikut : 1. 1GHz Qualcomm QSD8250 Snapdragon processor 13
2. Resolusi Layar 800x480 pixel 3. RAM 512 MB 4. Memiliki Wi-Fi 5. Memiliki A-GPS 6. Android OS 2.3.6 (Gingerbread) b)
Perangkat Lunak Minimum (Software) Pemodelan sistem, pembuatan program dan juga simulasi program membutuhkan perangkat lunak sebagai berikut : 1. Sistem Operasi Microsoft Windows 7 64-bit 2. Android Development Tools 22 3. Java Runtime Environment 7 4. Java Development Kit 7 5. Android SDK 2.3.6 (Gingerbread) 6. Microsoft Visio 2007 7. Notepad ++ 8. XAMPP
c)
Pengguna (Brainware) Berikut ini adalah hal-hal yang perlu diperhatikan sebagai kriteria user aplikasi : 1. Pengguna mengenal dan terbiasa menggunakan smartphone Android 2. Pengguna terbiasa menggunakan aplikasi pada smartphone Android 3. Pengguna dapat melakukan setting Wi-Fi dan A-GPS pada smartphone Android.
3.3 Spesifikasi Perancangan Adapun spesifikasi perancangan terdapat dalam aplikasi ini antara lain: 1. Aplikasi dapat menunjukkan lokasi penerima zakat. 2. Aplikasi dapat menunjukkan posisi pengguna. 3. Aplikasi dapat menunjukkan arah atau navigasi tempat yang dituju. 4. Aplikasi dapat menampilkan informasi dari setiap titik yang tehubung ke database. 5. Aplikasi dapat menampilkan hasil query pencarian informasi dari database.
14
3.4 Diagram Alir Aplikasi
Gambar 3.2 Diagram Alir Aplikasi
3.5 Perancangan Web Service Dalam perancangan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot ini dibutuhkan halaman admin untuk memasukkan data dan API (Application Program Interface) yang menjadi perantara antara aplikasi dan database di server. Berikut ini adalah entity relationship diagram dari database.
15
Gambar 3.3. Entity Relationship Diagram
Gambar 3.4 Skema Relasi
Gambar diatas menjelaskan struktur dari database aplikasi yang berada di server. Data-data tersebutlah yang akan diambil oleh aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot untuk kemudian ditampilkan di Android smartphone. Oleh karena itu dibutuhkan API web service untuk membantu mengambil data tersebut dari database. Berikut ini daftar API web service yang dibutuhkan oleh aplikasi. 1. API view all API ini akan diakses saat user meminta untuk menampilkan semua penerima zakat yang telah ada dalam database. 2. API places API ini akan diakses saat user meminta untuk menampilkan tempat-tempat tertentu yang juga berhak untuk menerima zakat ataupun sumbangan seperti panti asuhan dan lembaga zakat yang telah ada dalam database. 3. API citeureup API ini akan diakses saat user meminta untuk menampilkan semua penerima zakat yang ada di desa Citeureup saja.
16
4. API sukapura API ini akan diakses saat user meminta untuk menampilkan semua penerima zakat yang ada di desa Sukapura saja. 5. API dayeuhkolot API ini akan diakses saat user meminta untuk menampilkan semua penerima zakat yang ada di desa Dayeuhkolot saja. 6. API pasawahan API ini akan diakses saat user meminta untuk menampilkan semua penerima zakat yang ada di Kelurahan Pasawahan saja. 7. API search API ini akan diakses saat user memasukkan query pencarian berdasarkan nama, dan menampilkan data sesuai dengan kata kunci yang telah dimasukkan oleh user. 3.5.1 Perancangan Antarmuka Halaman Admin
Gambar 3.5 Halaman Login Admin
Gambar 3.6 Halaman Beranda Admin
Gambar 3.7 Halaman Tambah Data
17
Gambar 3.8 Halaman Tambah Tempat
Gambar 3.9 Halaman Daftar Data
3.6 Perancangan Aplikasi Mobile Perancangan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot ini menggunakan pemodelan Unified Model Language (UML). Adapun UML yang digunakan dalam pemodelan aplikasi ini adalah use case diagram, activity diagram dan sequence diagram dan Class diagram (terlampir).
3.6.1
Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan oleh sebuah sistem. Use case diagram aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot secara umum dapat dilihat pada gambar dibawah ini.
18
Gambar 3.10 Use Case Diagram
3.6.2
Activity Diagram Activity diagram digunakan untuk menggambarkan proses yang berjalan dalam sebuah sistem. Activity diagram aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot dapat dilihat pada gambar di bawah ini.
19
Gambar 3.11 Activity Diagram
20
3.6.3
Sequence Diagram Sequence diagram menggambarkan skenario interaksi ketika user menggunakan menggunakan aplikasi. 1. Memulai Aplikasi Ketika user memulai aplikasi, akan muncul Splashscreen selama 5 detik dan langsung diikuti oleh tampilan main menu aplikasi. Gambar berikut ini merupakan sequence diagram ketika user memulai aplikasi.
Gambar 3.12 Sequence Diagram Memulai Aplikasi
2. Menu Maps Gambar berikut ini merupakan sequence diagram dari proses menu maps. Ketika user memilih menu maps, maka aplikasi akan menampilkan menu view all, places, nearby, region dan search.
21
Gambar 3.13 Sequence Diagram Menu Maps
3. View All Gambar berikut ini merupakan sequence diagram dari proses view all. Ketika user memilih view all, maka aplikasi akan menampilkan semua data (marker) dan jika user memilih fitur get direction, maka aplikasi akan menampikan arah dari titik lokasi user berada menuju marker yang telah dipilih.
22
Gambar 3.14 Sequence Diagram Menu View All
4. Places Gambar berikut ini merupakan sequence diagram dari proses places. Ketika user memilih places, maka aplikasi akan menampilkan marker yang telah difilter sesuai dengan API places dan jika user memilih fitur get direction, maka aplikasi akan menampikan arah dari titik lokasi user berada menuju marker yang telah dipilih.
23
places
server
Tab info
Get direction
menampilkan maps()
Memilih tab places()
Query ke database()
memasukkan data ke dalam activity()
menampilkan data marker yang telah difilter()
memilih salah satu marker()
Query ke database()
memasukkan data ke dalam activity()
menampilkan pop-up info()
memilih get direction()
Query ke database()
memasukkan data ke dalam activity()
menampilkan direction()
Gambar 3.15 Sequence Diagram Places
5. Nearby Gambar dibawah ini merupakan sequence diagram dari proses nearby. Ketika user memilih nearby, maka aplikasi akan menampilkan marker terdekat terhadap posisi user (mengambil lokasi terlebih dahulu), dan jika user memilih fitur get direction, maka aplikasi akan menampikan arah dari titik lokasi user berada menuju marker yang telah dipilih.
24
Gambar 3.16 Sequence Diagram Nearby
6. Region Gambar berikut ini merupakan sequence diagram dari proses menu region. Region ini menampilkan marker per desa sesuai dengan desa yang dipilih.
25
Gambar 3.17 Sequence Diagram Region
7. Search Gambar berikut ini merupakan sequence diagram dari proses Search. Search menampilkan data sesuai dengan keyword “nama” yang dimasukkan oleh user.
Gambar 3.18 Sequence Diagram Search
8. Menu About Gambar berikut ini merupakan sequence diagram dari proses menu about.
26
Gambar 3.19 Sequence Diagram Menu About
9. Menu Exit Gambar berikut ini merupakan sequence diagram dari proses menu exit.
Gambar 3.20 Sequence Diagram Menu Exit
3.6.4
Perancangan Antarmuka Aplikasi Mobile Dalam perancangan aplikasi dibutuhkan desain antarmuka. Adapun antarmuka dari aplikasi pemetaan dan sistem informasi penerima zakat ini terdiri dari splashscreen, main menu, view all, places, nearby, region, submenu region, search, halaman info, get direction, menu about, menu exit.
a. Memulai aplikasi 27
Saat user menekan icon aplikasi pada perangkat android, aplikasi akan menampilkan splashscreen selama 5 detik kemudian menampilkan halaman main menu.
Gambar 3.21 Perancangan Antarmuka Memulai Aplikasi
b. Memilih Menu Maps Saat user memilih menu maps, maka akan memunculkan submenu view all, places, nearby, region dan search.
Gambar 3.22 Perancangan Antarmuka Menu Maps
c. Memilih View All Setelah user memilih menu view all maka akan muncul peta dan semua data yang ada di database dalam bentuk marker.
Gambar 3.23 Perancangan Antarmuka View All
28
d. Memilih Places setelah user memilih menu places, maka akan muncul peta dan data yang telah difilter sesuai dengan API places.
Gambar 3.24 Perancangan Antarmuka Places
e. Memilih Nearby Setelah user memilih menu nearby, maka aplikasi akan menampilkan google maps dengan nilai zoom 16 dari titik lokasi user berada.
Gambar 3.25 Perancangan Antarmuka Nearby
f. Memilih Region Setelah user memilih region, maka aplikasi akan memunculkan submenu desa.
Gambar 3.26 Perancangan Antarmuka Region
g. Memilih Submenu Region (Desa Citeurep, Sukapura, Dayeuhkolot, Kel. Pasawahan) ketika submenu dipilih akan memunculkan peta beserta marker sesuai dengan desa yang dipilih.
29
Gambar 3.27 Perancangan Antarmuka Submenu Region (Desa Citeurep, Sukapura, Dayeuhkolot, Kel. Pasawahan)
h. Memilih Search Ketika memilih search maka akan muncul tampilan sebagai berikut.
Gambar 3.28 Perancangan Antarmuka Search
i. Halaman Informasi Untuk menampilkan informasi mengenai marker (data), user hanya perlu mengklik marker sebanyak dua kali dan akan muncul keterangan dari marker yang dipilih dan tombol untuk get direction.
Gambar 3.29 Perancangan Antarmuka Halaman Informasi
j. Memilih get direction Setelah user memilih get direction, maka user akan diberikan arah dari lokasi user berada ke lokasi marker.
30
Gambar 3.30 Perancangan Antarmuka Get Direction
k. Memilih Menu About Setelah user memilih menu about, maka aplikasi akan menampilkan keterangan mengenai aplikasi ini.
Gambar 3.31 Perancangan Antarmuka Menu About
l. Memilih menu exit Setelah memilih menu exit, maka akan muncul pop-up window yes/no.
Gambar 3.32 Perancangan Antarmuka Menu Exit
3.7 Implementasi Web Service Seluruh implementasi web service terlampir. 31
3.8 Implementasi Antarmuka Aplikasi Desain antarmuka diimplementasikan pada Smartphone Samsung Galaxy W GT-I8150. Seluruh implementasi desain antarmuka aplikasi terlampir.
32
BAB IV PENGUJIAN DAN ANALISIS 4.1. Batasan Pengujian Pada aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot ini dilakukan beberapa pengujian yaitu pengujian alpha, beta dan pengujian performansi aplikasi. 4.2. Pengujian Alpha Pengujian alpha adalah pengujian yang dilakukan sebelum aplikasi/produk tertentu didistribusikan ke user. Pada aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot ini akan dilakukan pengujian blackbox dan pengujian whitebox. 4.2.1.
Pengujian Blackbox Pengujian ini bertujuan untuk mengetahui fungsi software telah berjalan sebagaimana mestinya, apakah input dan output telah sesuai dan apakah informasi/data yang disimpan secara eksternal selalu terjaga kemutakhirannya.
4.2.1.1. Pengujian Blackbox Web Service Tabel 4.1 Pengujian API
Kasus dan Hasil Uji Data Hasil yang Hasil Pengamatan masukan Diharapkan Mengakses menampilkan JSON JSON array tampil API view all array semua data Mengakses menampilkan JSON JSON array tampil API places array data dengan kategori places Mengakses API search Mengakses API citeureup Mengakses API sukapura Mengakses API dayeuhkolot
menampilkan JSON array data dengan query masukan “nama” menampilkan JSON array data dengan query desa “citeureup” menampilkan JSON array data Dengan query desa “sukapura” menampilkan JSON array data dengan query desa “dayeuhkolot”
Kesimpulan Berhasil
Berhasil
JSON Array tampil
diterima
JSON Array tampil
diterima
JSON Array tampil
diterima
JSON Array tampil
diterima
33
Mengakses API pasawahan
Menampilkan JSON array data Dengan query desa “pasawahan”
JSON Array tampil
diterima
Tabel 4.2 Pengujian Halaman Admin
Data masukan Login dengan username dan password benar Login dengan username dan password salah menambah data dengan mengisi form pada halaman tambah data menambah data tempat dengan mengisi form pada halaman tambah tempat mengakses halaman daftar data
mengklik opsi "edit"
mengklik opsi "simpan"
mengklik opsi "hapus"
mengklik "logout"
Kasus dan Hasil Uji Hasil yang Hasil pengamatan diharapkan Berhasil masuk Berhasil masuk ke halaman ke halaman admin admin gagal masuk gagal masuk ke halaman ke halaman admin admin data berhasil data berhasil ditambahkan ditambahkan
Kesimpulan Diterima
Diterima
Diterima
data tempat berhasil ditambahkan
data tempat berhasil ditambahkan
Diterima
menampilkan semua data yang tersimpan di database menampilkan halaman edit untuk mengubah informasi data informasi data yang diubah berhasil disimpan data berhasil dihapus dari database berhasil keluar dari halaman admin
menampilkan semua data yang tersimpan di database menampilkan halaman edit untuk mengubah informasi data informasi data yang diubah berhasil disimpan data berhasil dihapus dari database berhasil keluar dari halaman admin
Diterima
Diterima
Diterima
Diterima
Diterima
34
4.2.1.2. Pengujian Blackbox Aplikasi Mobile Tabel 4.3 Pengujian Splashscreen
Kasus dan Hasil Uji Data masukan Membuka aplikasi
Hasil yang Diharapkan Menampilkan halaman Splashscreen selama 5 detik membuka halaman main menu setelah 5 detik
Hasil Pengamatan Aplikasi menampilkan halaman Splashscreen selama 5 detik Aplikasi membuka halaman main menu
Kesimpulan diterima
diterima
Tabel 4.4 Pengujian Main Menu
Kasus dan Hasil Uji Data masukan
memilih menu menekan tombol back
Hasil yang Diharapkan Menampilkan halaman main menu membuka halaman baru sesuai pilihan menonaktifkan tombol
Hasil Pengamatan halaman main menu tampil tombol tombol menu aktif tombol back nonaktif
Kesimpulan diterima diterima
diterima back
Tabel 4.5 Pengujian Menu Maps
Kasus dan Hasil Uji Data masukan memilih menu maps memilih menu
Hasil yang Diharapkan
Hasil Pengamatan
menampilkan halaman
halaman menu maps
menu maps membuka halaman baru sesuai pilihan
tampil tombol-tombol menu aktif
Kesimpulan diterima
diterima
Tabel 4.6 Pengujian View All
Kasus dan Hasil Uji Data masukan memilih view all
Hasil yang Diharapkan menampilkan google maps mengunci lokasi user menampilkan semua data
Hasil Pengamatan googlemaps tampil pada layout lokasi user tampil pada layout marker-marker tampil
Kesimpulan diterima diterima diterima 35
men-tap marker men-tap keterangan singkat menekan tombol back
dalam bentuk marker menampilkan keterangan singkat apabila marker di tap menampilkan keterangan lengkap apabila keterangan singkat di-tap menutup class apabila
pada map keterangan singkat tampil dalam bentuk balloon keterangan lengkap tampil pada halaman info kembali ke class sebelumnya
diterima diterima
diterima
menekan tombol back
Tabel 4.7 Pengujian Nearby
Kasus dan Hasil Uji Data masukan memilih menu nearby
Hasil yang Diharapkan menampilkan google maps
mengunci lokasi user
men-tap marker men-tap keterangan singkat menekan tombol back
menampilkan marker-marker dengan zoom 16 menampilkan keterangan singkat apabila marker di tap menampilkan keterangan lengkap apabila keterangan singkat di-tap menutup class apabila
Hasil Pengamatan googlemaps tampil pada layout lokasi user tampil pada layout marker-marker dengan zoom 16 tampil pada map keterangan singkat tampil dalam bentuk balloon keterangan lengkap tampil pada halaman info kembali ke class sebelumnya
Kesimpulan diterima diterima diterima diterima diterima
diterima
menekan tombol back
Tabel 4.8 Pengujian Places
Kasus dan Hasil Uji Data masukan memilih places
Hasil yang Diharapkan menampilkan google maps mengunci lokasi user menampilkan marker-marker
men-tap marker men-tap
yang telah difilter sesuai dengan API places menampilkan keterangan singkat apabila marker di tap menampilkan keterangan
Hasil Pengamatan googlemaps tampil pada layout lokasi user tampil pada layout berhasil menampilkan marker sesuai dengan API places keterangan singkat tampil dalam bentuk balloon keterangan lengkap tampil
Kesimpulan diterima diterima
diterima
diterima diterima 36
keterangan singkat menekan tombol back
lengkap apabila keterangan singkat di-tap menutup class apabila
pada halaman info kembali ke class sebelumnya
diterima
menekan tombol back
Tabel 4.9 Pengujian Region
Kasus dan Hasil Uji Data masukan memilih region memilih Submenu region
Hasil yang Diharapkan menampilkan halaman region
Hasil Pengamatan halaman region tampil tombol-tombol submenu region aktif
membuka halaman baru sesuai pilihan
Kesimpulan diterima
diterima
Tabel 4.10 Pengujian Submenu Desa Citeureup
Kasus dan Hasil Uji Data masukan memilih submenu desa Citeureup
men-tap marker men-tap keterangan singkat menekan tombol back
Hasil yang Diharapkan menampilkan google maps
mengunci lokasi user menampilkan marker-marker yang telah difilter sesuai dengan API citeureup menampilkan keterangan singkat apabila marker di tap menampilkan keterangan lengkap apabila keterangan singkat di-tap menutup class apabila
Hasil Pengamatan googlemaps tampil pada layout lokasi user tampil pada layout berhasil menampilkan marker sesuai dengan API citeureup keterangan singkat tampil dalam bentuk balloon keterangan lengkap tampil pada halaman info kembali ke class sebelumnya
Kesimpulan diterima diterima
diterima
diterima diterima
diterima
menekan tombol back
37
Tabel 4.11 Pengujian Submenu Desa Sukapura
Kasus dan Hasil Uji Data masukan memilih submenu desa Sukapura
Hasil yang Diharapkan menampilkan google maps mengunci lokasi user menampilkan marker-marker
men-tap marker men-tap keterangan singkat menekan tombol back
yang telah difilter sesuai dengan API sukapura menampilkan keterangan singkat apabila marker di tap menampilkan keterangan lengkap apabila keterangan singkat di-tap menutup class apabila
Hasil Pengamatan googlemaps tampil pada layout lokasi user tampil pada layout berhasil menampilkan marker sesuai dengan API sukapura keterangan singkat tampil dalam bentuk balloon keterangan lengkap tampil pada halaman info kembali ke class sebelumnya
Kesimpulan diterima diterima
diterima
diterima diterima
diterima
menekan tombol back Tabel 4.12 Pengujian Submenu Desa Dayeuhkolot
Kasus dan Hasil Uji Data Hasil yang Diharapkan Hasil Pengamatan masukan memilih menampilkan google maps googlemaps tampil submenu pada layout desa lokasi user tampil pada Dayeuhkolot mengunci lokasi user layout menampilkan marker-marker berhasil menampilkan marker sesuai dengan API yang telah difilter sesuai dayeuhkolot dengan API dayeuhkolot men-tap menampilkan keterangan keterangan singkat tampil marker singkat apabila marker di tap dalam bentuk balloon men-tap menampilkan keterangan keterangan lengkap tampil keterangan lengkap apabila keterangan pada halaman info singkat singkat di-tap menekan menutup class apabila kembali ke class sebelumnya tombol back menekan tombol back
Kesimpulan diterima diterima
diterima
diterima diterima
diterima
38
Tabel 4.13 Pengujian Submenu Kel. Pasawahan
Kasus dan Hasil Uji Data Hasil yang Diharapkan Hasil Pengamatan masukan memilih menampilkan google maps googlemaps tampil submenu pada layout Kel. mengunci lokasi user lokasi user tampil pada Pasawahan layout menampilkan marker-marker berhasil menampilkan yang telah difilter sesuai marker sesuai dengan API dengan API pasawahan pasawahan men-tap menampilkan keterangan keterangan singkat tampil marker singkat apabila marker di tap dalam bentuk balloon men-tap menampilkan keterangan keterangan lengkap tampil keterangan lengkap apabila keterangan pada halaman info singkat singkat di-tap menekan menutup class apabila kembali ke class sebelumnya tombol back menekan tombol back
Kesimpulan diterima diterima
diterima
diterima diterima
diterima
Tabel 4.14 Pengujian Button Get Direction
Kasus dan Hasil Uji Data Hasil yang Diharapkan masukan memilih menampilkan google maps button get
Hasil Pengamatan googlemaps tampil
Kesimpulan diterima diterima
direction
menekan tombol back
mengunci lokasi user menampilkan marker yang dituju menampilkan garis rute dari lokasi user menuju lokasi marker menutup class apabila
lokasi user tampil pada layout marker yang dituju tampil garis rute tampil
kembali ke class sebelumnya
diterima
diterima
diterima
menekan tombol back
Tabel 4.15 Pengujian Menu About
Kasus dan Hasil Uji Data masukan memilih menu about
Hasil yang Diharapkan menampilkan keterangan mengenai aplikasi
Hasil Pengamatan halaman about tampil
Kesimpulan diterima
39
menekan tombol back
menutup class apabila
kembali ke class sebelumnya
diterima
menekan tombol back
Tabel 4.16 Pengujian Menu Exit
Kasus dan Hasil Uji Data masukan memilih menu exit memilih yes memilih no
Hasil yang Diharapkan
Hasil Pengamatan
Kesimpulan
menampilkan pop-up window apabila menekan menu exit
pop-up window tampil dengan pilihan "yes" dan "no"
diterima
menutup aplikasi apabila memilih yes
aplikasi ditutup
diterima
kembali ke main menu
kembali ke main menu
diterima
apabila memilih no
4.2.2. Pengujian Whitebox Pengujian whitebox terlampir.
4.3. Pengujian Performansi Aplikasi Pada pengujian performansi aplikasi dilakukan dengan menguji penggunaan memori oleh aplikasi. 4.3.1.
Pengujian Penggunaan Memori Pengujian ini adalah pengujian yang menghitung penggunaan sumber daya memori untuk pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot ini. Perangkat yang digunakan untuk menjalankan aplikasi seperti yang telah disebutkan pada bab sebelumnya. Pengukuran
penggunaan
sumber
daya
memori
oleh
aplikasi
ini
menggunakan DDMS (Dalvik Debug Monitor Server) yang terdapat pada Eclipse. Adapun ukuran besar aplikasi yaitu 780KB. Untuk skenario pengamatan dengan DDMS, aplikasi dijalankan kemudian membuka seluruh menu aplikasi dan mengukur total heap size dan allocated heap size yang terlihat. 40
Tabel 4. 17 Pengujian Heap size Percobaan
Heap size yang digunakan (MB)
1
13.758
9.173
2
11.445
6.719
3
13.32
8.305
4
15.07
9.451
5
15.258
10.712
6
16.57
11.751
7
14.695
10.267
8
15.008
10.229
9
15.258
10.6
10
14.383
9.002
11
17.07
12.338
12
16.445
10.793
13
15.07
10.239
14
16.133
11.781
15
14.002
9.383
16
11.719
6.445
17
17.6
10.258
18
16.781
11.133
19
16.338
11.32
20
15.663
11.321
21
16.57
12.593
22
16.882
11.702
23
15.758
9.849
24
16.695
12.063
25
16.195
11.517
26
16.883
12.209
27
15.445
10.402
28
16.508
12.333
29
20.758
15.975
30 Rata-rata
Heap Size yang disediakan (MB)
16.113
11.262
15.646
10.704
Pada pengujian diatas, dilakukan dengan menjalankan aplikasi pada device dengan terhubung langsung dengan eclipse kemudian user menjalankan semua menu-menu dan fungsi nya. Kemudian setelah itu dilihat perubahan total heap size dan allocated heap size pada DDMS di eclipse. Dari hasil pengujian diatas, didapatkan data yang bervariasi, nilai maksimum dari heap size yang disediakan adalah 20.758MB dan nilai minimumnya adalah 11.445MB sedangkan pada heap size yang digunakan didapatkan nilai maksimum 15.975MB dan nilai minimum 6.445MB.
41
Hasil pengujian tersebut diatas dapat kita tarik kesimpulan bahwa rata-rata penggunaan memori heap size aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot dari total memori heap size yang disediakan oleh device adalah 68,41%. Dengan ini dapat disimpulkan bahwa aplikasi ini tidak banyak menggunakan memori, sehingga masih baik jika dijalankan pada device.
4.4 Pengujian Beta Langkah pengujian selanjutnya adalah pengujian beta. Pengujian beta adalah pengujian yang dilakukan oleh pengguna langsung atau end user. Pengujian dibantu dengan kuesioner yang diberikan kepada amil zakat, ketua RW, ketua RT dan masyarakat. Tujuan dari pengujian ini adalah sebagai pengukur keberhasilan dari aplikasi serta komentar/feedback
untuk proses
pengembangan aplikasi selanjutnya. Data hasil kuesioner diolah sehingga didapatkan prosentase jawaban dari masing-masing jawaban. Rumus untuk mendapatkan prosentase tersebut yaitu, y = n/N * 100% dimana y adalah nilai prosentase, n adalah jumlah pilihan jawaban, dan N adalah jumlah responden. Tabel hasil kuesioner terlampir. Berikut adalah daftar pertanyaan yang diajukan pada kuesioner. 1. Apakah tipe handphone yang Anda miliki? 2. Apakah fungsi menu pada aplikasi dapat dimengerti dan berfungsi dengan baik? 3. Apakah menu-menu yang disediakan cukup lengkap (view all, nearby, places, dan region)? 4. Bagaimana tampilan antarmuka pada aplikasi ZakatGis ini? 5. Apakah aplikasi dapat membantu untuk memperoleh informasi penerima zakat di sekitar anda? 6. Apakah fitur-fitur (pemetaan, pencarian dan navigasi) yang terdapat pada aplikasi ini dapat membantu? 7. Bagaimana dengan fitur konfirmasi (perubahan warna flag) serta notifikasi yang terdapat pada aplikasi ini, apakah dapat membantu? 8. Apakah aplikasi ini bermanfaat jika diimplementasikan pada kehidupan sehari-hari?
Masing masing pertanyaan memiliki lima pilihan jawaban. Berurutan dari a sampai e, merupakan penilaian jawaban dengan nilai paling tinggi adalah lima dan nilai paling rendah adalah satu.
42
APLIKASI SECARA UMUM
1. Apakah tipe handphone
6.897%
17.241%
Dari gambar dapat disimpulkan bahwa memiliki penetrasi tertinggi
2. Apakah menu-menu pada aplikasi dapat dimengerti dan berfungsi dengan baik?
Dari gambar diatas dapat dilihat bahwa baik, 68.966% responden mengatakan pertanyaan bahwa menu karena itu dapat disimpulkan bahwa berfungsi dengan baik.
3. Apakah menu-menu menu yang disediakan cukup lengkap (view all, nearby, places, dan region)? 10.345% 17.241%
Sangat lengkap Lengkap Cukup
72.414%
Kurang lengkap Tidak lengkap
Gambar 4. 3 Hasil kuesioner no.3
Terlihat pada gambar diatas sebanyak 17.241% % responden mengatakan bahwa menumenu yang disediakan oleh aplikasi sangat lengkap, sebanyak 72.414% mengatakan lengkap dan 10.345% mengatakan cukup. Oleh karena itu dapat kita simpulkan bahwa menu- menu yang disediakan aplikasi ini lengkap.
4. Bagaimana tampilan antarmuka pada aplikasi ini?
17.241% 17.241%
Sangat menarik Menarik Cukup
65.517%
Kurang menarik Tidak menarik
Gambar 4. 4 Hasil kuesioner no.4
Dari gambar di atas dapat dilihat 17.241% responden mengatakan bahwa desain antarmuka sangat menarik, kemudian 65.517% yang mengatakan menarik dan 17.241% memilih cukup.. Oleh karena itu dapat disimpulkan bahwa desain antarmuka aplikasi ini menarik.
44
INFORMASI YANG DISEDIAKAN 1. Apakah aplikasi dapat membantu untuk memperoleh informasi penerima zakat di sekitar anda?
Sangat membantu 41.379% 58.621%
membantu Cukup Kurang membantu Tidak
Gambar 4.5 Hasil kuesioner no.5
Terlihat pada gambar diatas sebanyak 41.379% responden mengatakan bahwa aplikasi ini dapat sangat membantu, membantu, kemudian 58.621% responden mengatakan membantu. Oleh karena itu dapat disimpulkan bahwa aplikasi ini dapat membantu untuk memperoleh informasi penerima zakat di sekitar. 2. Apakah fitur-fitur fitur (pemetaan, pencarian dan navigasi)) yang terdapat pada aplikasi ini dapat membantu?
6.897% Sangat membantu 27.586%
Membantu 65.517%
Cukup Kurang membantu Tidak membantu
Gambar 4. 6 Hasil kuesioner no.6
Terlihat padaa gambar di atas sebanyak 65.517% 65.517% responden mengatakan bahwa fitur-fitur yang terdapat pada aplikasi ini (pemetaan, pencarian dan navigasi), sangat membantu.
45
3. Bagaimana dengan fitur konfirmasi (perubahan warna flag) serta notifikasi yang terdapat pada aplikasi ini, apakah dapat membantu?
Sangat membantu 37.931%
Membantu 62.069%
Cukup Kurang membantu Tidak membantu
Gambar 4.7 Hasil kuesioner no.7
Terlihat padaa gambar di atas sebanyak 62.069% 62.069% responden mengatakan bahwa fitur konfirmasi (perubahan warna flag) serta notifikasi, notifikasi sangat membantu. membantu
4. Apakah aplikasi ini bermanfaat jika diimplementasikan pada kehidupan sehari-hari?
13.793% Sangat bermanfaat Bermanfaat 86.207%
Cukup Kurang bermanfaat Tidak bermanfaat
Gambar 4. 8 Hasil kuesioner no.8
Terlihat padaa gambar di atas sebanyak 86.207% responden mengatakan bahwa aplikasi ini sangat bermanfaat dalam kehidupan sehari-hari.
46
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan implementasi dan pengujian yang telah dilakukan pada bab sebelumnya maka dapat ditarik kesimpulan sebagai berikut : 1. Berdasarkan pengujian blackbox dan whitebox terhadap web service (API dan halaman admin), ditarik kesimpulan bahwa pengaplikasian web service untuk keperluan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot berhasil diimplementasikan. 2. Berdasarkan pengujian blackbox dan whitebox terhadap aplikasi mobile, ditarik kesimpulan bahwa pengaplikasian aplikasi mobile untuk keperluan aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot berhasil diimplementasikan. 3. Berdasarkan pengujian beta terhadap user, ditarik kesimpulan bahwa aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot mempunyai menu yang dapat dimengerti dan berfungsi dengan baik (sangat baik = 24.138%, baik = 68.966%, cukup = 6.897%), menu yang lengkap (sangat lengkap = 17.241%, lengkap = 72.414%, cukup = 10.345%), desain antarmuka yang menarik (sangat menarik = 17.241%, menarik = 65.517%, cukup = 17.241%). 4. Berdasarkan pengujian beta terhadap user, dapat ditarik kesimpulan bahwa informasi yang disediakan aplikasi ini sangat membantu (sangat membantu = 41.379% , membantu = 58.621%), fitur-fitur (pemetaan, pencarian dan navigasi) aplikasi ini juga sangat membantu (sangat membantu = 65.517%, membantu = 27.586%, cukup = 6.89%), fitur konfirmasi (perubahan warna flag) serta notifikasi yang sangat dibutuhkan (sangat dibutuhkan = 62.069%%, dibutuhkan
= 37.931% dan sangat bermanfaat dalam
kehidupan sehari-hari (sangat bermanfaat = 86.207%, bermanfaat = 13.793%) . 5.2. Saran Adapun saran untuk pengembangan aplikasi ini ke depannya adalah : 1. Dilakukan multiplatform seperti, iOS (iPhone OS), Windows Phone dan lain-lain, sehingga aplikasi tidak hanya berjalan di operating system Android. 2. Pada sisi web service ditambahkan lagi halaman admin sendiri untuk pengelola zakat, serta organisasi-organisasi sosial lainnya, sehingga lembaga-lembaga zakat atau 47
organisasi-organisasi sosial yang ingin menggunakan aplikasi ini bisa mengupdate sendiri informasi dari penerima zakat tersebut. 3. Database dari penerima zakat perlu ditambah lagi, misalnya tidak hanya penerima zakat saja tetapi juga anak putus sekolah, anak jalanan dan lain-lain, serta wilayah cakupannya diperluas, agar data dapat tersebar merata.
48
DAFTAR PUSTAKA [1]. Ahkam, Fiqih. 8 Golongan Yang Berhak Menerima Zakat. http://www.dakwatuna.com/2008/09/1044/8-golongan-yang-berhak-menerima-zakat/ (diakses pada tanggal 3 November 2012) [2]. Eddy,Prahasta (2009).Sistem Informasi Geografis: Konsep-Konsep Dasar(Perspektif Geodesi & Geomatika). Bandung : Informatika. [3].ELCOM. 2010. Hebatnya Google maps +Pintarnya Google Street.Yogyakarta : Andi Publisher. [4]. Google Maps Android API V2. https://developers.google.com/maps/documentation/android (diakses pada 9 Juni 2013) [5]. Hariyanto, Bambang. 2010. Esensi-Esensi Bahasa Pemrograman Java Revisi Ketiga. Bandung : Informatika. [6]. JSON Parsing Tutorial http://sleepingtux.blogspot.com/2013/11/json-parsing-padapemrograman-android.html [7]. JSON Tutorial. http://www.w3schools.com/json/ (diakses pada tanggal 13 November 2012) [8]. Menampilkan Lokasi GPS pada GoogleMaps android V2. http://agusharyanto.net/wordpress/?p=988 (diakses pada tanggal 25 Mei 2013) [9]. Noname. Pengertian Zakat. http://www.zakatcenter.org/index.php/seputarzakat (diakses pada tanggal 3 November 2012) [10].Raharjo, Budi, Dkk,. 2007. Mudah Belajar Java. Bandung : Informatika. [11].Safaat, Nazruddin. 2011. Android . Bandung : Informatika. [12]. Siregar, Ivan dkk (2010). Mengembangkan Aplikasi Enterprise Berbasis Android. Bandung : Gava Media. [13]. The Google Direction API. https://developers.google.com/maps/documentation/directions/ (diakses pada tanggal 13 September 2013) [14]. Tutorial Android PHP dan MySQ.L http://agusharyanto.net/wordpress/?p=586 (diakses pada tanggal 3 November 2012) [15]. What Is GIS? www.esri.com/what-is-gis (diakses pada tanggal 23 Oktober 2013)
49
LAMPIRAN – A
Class Diagram
LAMPIRAN – B
1. Diagram Konteks
2. DAD Level 0
USER
Lat, lng
2 Pilih data
data
Data Data ADMIN
Data login
Login invalid
1 Login
- nama - alamat - desa - pekerjaan - keterangan - lat - lng
3 Kelola Data
Data
data
3. DAD Level 1 Proses 1.0 Login
4. DAD Level 1 Proses 2.0 Lihat Data
5. DAD level 1 Proses 3.0 Kelola Data
6. DAD level 1 Proses 4.0 Kelola Data Tempat
LAMPIRAN – C
Implementasi Web Service Aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot mempunyai database eksternal. Oleh karena itu dibutuhkan API (application program interface) atau yang biasa disebut web service dalam mengakses database tersebut. Berikut ini adalah web service yang digunakan dalam aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuhkolot. a)
API View All API ini akan diakses saat user aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot memilih menu “View All” pada aplikasi mobile.
Pada baris 5 adalah kode untuk memilih semua data dari tabel data_rec, kemudian pada baris 22 adalah kode untuk menampilkannya pada halaman API yang akan diakses oleh perangkat Android. b)
API Places API ini akan diakses saat user aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot memilih menu “Places” pada aplikasi mobile.
Pada baris 5 terlihat kode untuk memfilter semua data dari data_rec yang mempunyai yang berkategori places. Kemudian pada baris 22 adalah kode untuk menampilkannya pada halaman API yang akan diakses oleh perangkat Android.
c)
API Search API ini akan diakses saat user aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot memilih menu “Search” pada aplikasi mobile.
Terdapat variabel yang berisi nilai Http Get disini, variabel ini dibutuhkan untuk menyimpan keywords search yang dikirimkan oleh aplikasi android ini.
Implementasi Sistem a)
Splash screen Pada saat pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot dijalankan maka akan muncul halaman Splash screen selama 5 detik kemudian akan dilanjutkan ke halaman main menu. Berikut ini adalah potongan kode dari aplikasi ketika aplikasi baru dijalankan.
b)
Main Menu
Pada halaman ini berfungsi untuk menampilkan menu-menu utama dari aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot. Adapun menu-menu utama terdiri dari “maps”, “about” dan “exit”. Berikut ini potongan kode dari halaman main menu.
c)
Menu maps Pada saat user memilih menu maps, user akan dibawa ke halaman yang akan beberapa menu seperti view all, places, nearby, region dan search
d)
MapView Map view akan menampilkan map view beserta marker-marker yang menunjukan lokasi penerima zakat. Halaman ini akan mengakses data dari server kemudian merepresentasikannya pada layout aplikasi sesuai dengan API masing-masing. Berikut ini adalah potongan kode halaman map view.
e)
Menu Nearby Pada saat user memilih menu nearby, user akan dibawa ke halaman yang akan menampilkan halaman nearby. Halaman ini akan menampilkan marker terdekat dengan user. Berikut ini potongan kode halaman nearby .
f)
Menu Search Pada saat user memilih menu search, user akan dibawa ke halaman yang menampilkan halaman search. Berikut potongan kode halaman search.
g)
Selected Marker Pada aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot akan menampilkan keterangan marker yang dipilih jika marker tersebut diklik. Berikut ini potongan kode dari halaman selected marker.
h)
Info Tab Pada saat user mengklik keterangan marker, maka aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot akan menampilkan Info Tab dari marker tersebut. Berikut ini potongan kode Info Tab tersebut.
Implementasi info tab 2
i)
Get Direction Button Pada saat user memilih info tab, maka aplikasi akan menampilkan keterangan marker berserta get direction button untuk menampilkan direction dari lokasi user ke lokasi marker . Berikut ini potongan kode apabila user menekan get direction button.
j)
Menu About Pada saat user memilih menu about, maka aplikasi akan menampilkan informasi dan keterangan mengenai aplikasi ini. Berikut ini potongan kode apabila user memilih menu about.
k)
Menu Exit Pada saat user memilih menu exit, maka aplikasi akan menampilkan alert box yang berisi pertanyaan untuk keluar atau tidak. Berikut ini potongan kode apabila user memilih menu exit.
LAMPIRAN – D
IMPLEMENTASI ANTARMUKA Desain antarmuka diimplementasikan pada Smartphone Samsung Galaxy W GT I8150. a) Memulai Aplikasi Splashscreen akan ditampilkan selama 5 detik saat user membuka aplikasi pemetaan dan sistem informasi penerima zakat di sekitar Kecamatan Dayeuhkolot, kemudian user akan dibawa ke halaman main menu.
b) Main Menu Main menu tampil setelah splashscreen untuk menampilkan menu-menu utama dari aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot. Adapun menu-menu utama terdiri dari “maps”, “about” dan “exit”. Berikut implementasi antarmuka dari main menu
c) Menu Maps Pada saat user memilih menu maps, user akan dibawa ke halaman yang akan beberapa menu seperti view all, places, nearby, region dan search
d) Map View Pada saat user memilih menu view all, nearby, places, region user akan dibawa ke halaman yang akan menampilkan map view beserta marker-marker yang menunjukan lokasi
penerima zakat. Jumlah dan letak marker sesuai dengan API yang digunakan. Halaman ini akan mengakses data dari server kemudian merepresentasikannya pada layout aplikasi. Berikut implementasi antarmuka dari Map View.
e) Menu Nearby ada saat user memilih menu nearby, user akan dibawa ke halaman yang akan menampilkan halaman nearby. Halaman ini akan menampilkan marker terdekat dengan user. Berikut ini implementasi antarmuka halaman nearby .
f) Selected Marker Pada aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot akan menampilkan keterangan marker yang dipilih jika marker tersebut di tap. Berikut ini implementasi antarmuka selected marker.
g) Info Tab Pada saat user men tap keterangan marker, maka aplikasi pemetaan dan sistem informasi penerima zakat di sekitar kecamatan Dayeuh Kolot akan menampilkan Info Tab dari marker tersebut. Berikut ini implementasi antarmuka Info Tab tersebut.
h) Get Direction Button Pada saat user memilih info tab, maka aplikasi akan menampilkan keterangan marker berserta get direction button untuk menampilkan direction dari lokasi user ke lokasi marker . Berikut ini implementasi penggunaan get direction button.
h) Menu Region Pada saat user memilih menu region, user akan dibawa ke halaman yang menampilkan halaman menu region yang berisi pilihan desa di sekitar kecamatan Dayeuhkolot. Jika memilih salah satu desa, maka akan muncul marker dengan lokasi yang sesuai desa yang dipilih. Berikut implementasi menu region.
i) Menu Search Pada saat user memilih menu search, user akan dibawa ke halaman yang menampilkan halaman search. User dapat memasukkan keyword untuk mencari informasi penerima zakat yang telah tersimpan di database eksternal Berikut implementasi antarmuka halaman search.
j) Menu About Me Pada saat user memilih menu about me, maka aplikasi akan menampilkan informasi dan keterangan mengenai aplikasi ini. Berikut implementasi antarmuka apabila user memilih menu about.
k) Menu Exit Pada saat user memilih menu exit, maka aplikasi akan menampilkan alert box yang berisi pertanyaan untuk keluar atau tidak. Berikut ini implementasi antarmuka apabila user memilih menu exit.
LAMPIRAN – E
HASIL PENGUJIAN WHITEBOX
Aplikasi Mobile a) Memulai Aplikasi Pada saat aplikasi dibuka akan muncul halaman splashscreen public class Splashscreen extends Activity{ public static int WAKTU = 5000; public void onCreate(Bundle saveInstanceBundle) { super.onCreate(saveInstanceBundle); setContentView(R.layout.splashscreen); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(Splashscreen.this,Menu.class); Splashscreen.this.startActivity(intent); Splashscreen.this.finish(); } }, WAKTU); } }
b) Main Menu Menampilakn main menu public class Menu extends Activity implements OnClickListener{ public ImageView maps; private ImageView about; private ImageView close; public void onCreate(Bundle instanceBundle) { super.onCreate(instanceBundle); setContentView(R.layout.menu); maps = (ImageView) findViewById(R.id.maps); maps.setOnClickListener(this); about = (ImageView) findViewById(R.id.about); about.setOnClickListener(this); close = (ImageView) findViewById(R.id.close); close.setOnClickListener(this); } public void onClick(View view) { if(view == maps){ Intent intent = new Intent(this,Menu2.class); startActivity(intent); } else if(view == about){ Intent intent = new Intent(this,About.class); startActivity(intent); } else if(view == close){ close(); } }
c) Menu Maps Menampilkan menu jika menu maps dipilih public class Menu2 extends Activity implements OnClickListener{ public ImageView map1; public ImageView map2; public ImageView map3; public ImageView map4; public ImageView map5; public void onCreate(Bundle instanceBundle) { super.onCreate(instanceBundle); setContentView(R.layout.menu2); map1 = (ImageView) findViewById(R.id.map1); map1.setOnClickListener(this); map2 = (ImageView) findViewById(R.id.map2); map2.setOnClickListener(this); map3 = (ImageView) findViewById(R.id.map3); map3.setOnClickListener(this); map4 = (ImageView) findViewById(R.id.map4); map4.setOnClickListener(this); map5 = (ImageView) findViewById(R.id.map5); map5.setOnClickListener(this); } public void onClick(View view) { if(view == map1){ Intent intent = new Intent(this,Map.class); startActivity(intent); } else if(view == map2){ Intent intent = new Intent(this,Nearby.class); startActivity(intent); } else if(view == map3){ Intent intent = new Intent(this,Places.class); startActivity(intent); } else if(view == map4){ Intent intent = new Intent(this,Menu3.class); startActivity(intent); } else if(view == map5){ Intent intent = new Intent(this,Search.class); startActivity(intent); } }
}
d) Map View Mengakses API dan JSONHelper public class Map extends FragmentActivity implements OnInfoWindowClickListener { private GoogleMap map; private JSONHelper json; private ProgressDialog pDialog; private LatLng myLocation; private List
listTempatLokasi; private final String URL_API = "http://cobain2.1eko.com/viewall.php"; public static final String KEY_NAMA = "nama"; public static final String KEY_ALAMAT = "alamat"; public static final String KEY_LAT_TUJUAN = "lat_tujuan"; public static final String KEY_LNG_TUJUAN = "lng_tujuan"; public static final String KEY_LAT_ASAL = "lat_asal"; public static final String KEY_LNG_ASAL = "lng_asal"; Menampilkan Map @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); json = new JSONHelper(); private void setupMapIfNeeded() { if (map == null) { FragmentManager fragmentManager = getSupportFragmentManager(); SupportMapFragment supportMapFragment = (SupportMapFragment) fragmentManager .findFragmentById(R.id.maps); map = supportMapFragment.getMap(); if (map != null) { setupMap(); } } } Menampilkan Marker @Override public void run() { // TODO Auto-generated method stub for (int i = 0; i < listTempatLokasi.size(); i++) { map.addMarker(new MarkerOptions() .position( new LatLng(listTempatLokasi.get(i) .getLat(), listTempatLokasi.get( i).getLng())) .title(listTempatLokasi.get(i).getNama()) .snippet(listTempatLokasi.get(i).getAlamat())); }
e) Menu Nearby Aplikasi akan membuka peta. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_nearby);
Mengambil lokasi user dan men-zoom pada level zoom 16 private void moveToMyLocation() { LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false)); if (location != null) { map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng( location.getLatitude(), location.getLongitude()), 16)); }
}
f) Selected Marker Apabila marker di tap, maka akan muncul nama dan keterangan singkat @Override public void run() { // TODO Auto-generated method stub for (int i = 0; i < listTempatLokasi.size(); i++) { map.addMarker(new MarkerOptions() .position( new LatLng(listTempatLokasi.get(i) .getLat(), listTempatLokasi.get( i).getLng())) .title(listTempatLokasi.get(i).getNama()) .snippet(listTempatLokasi.get(i).getAlamat()));
g) Info Tab //Menampilkan info tab dan mengambil data protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_info_tempat_ap); initialize(); Bundle bundle = getIntent().getExtras(); if (bundle != null) { nama = bundle.getString(Map.KEY_NAMA); alamat = bundle.getString(Map.KEY_ALAMAT); lokasiTujuan = new LatLng(bundle.getDouble(Map.KEY_LAT_TUJUAN), bundle.getDouble(Map.KEY_LNG_TUJUAN)); lokasiAwal = new LatLng(bundle.getDouble(Map.KEY_LAT_ASAL), bundle.getDouble(Map.KEY_LNG_ASAL)); } setTeksView(); } //Menampilkan keterangan dan get direction button private void setTeksView() { tvNama.setText(nama); tvAlamat.setText(alamat); } private void initialize() { tvAlamat = (TextView) findViewById(R.id.alamat); tvNama = (TextView) findViewById(R.id.nama); btnGetDirection = (Button) findViewById(R.id.btnDirection); btnGetDirection.setOnClickListener(this); }
h) Get Direction Button //Menampilkan layout, JSONHelper dan menetapkan titik koordinat protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_direction); json = new JSONHelper(); setupMapIfNeeded(); Bundle b = getIntent().getExtras(); if (b != null) { start = new LatLng(b.getDouble(Map.KEY_LAT_ASAL), b.getDouble(Map.KEY_LNG_ASAL)); end = new LatLng(b.getDouble(Map.KEY_LAT_TUJUAN), b.getDouble(Map.KEY_LNG_TUJUAN)); nama = b.getString(Map.KEY_NAMA); } new AsyncTaskDirection().execute(); } private class AsyncTaskDirection extends AsyncTask { @Override protected Void doInBackground(Void... params) { String uri = URL + "origin=" + start.latitude + "," + start.longitude + "&destination=" + end.latitude + "," + end.longitude + "&sensor=true&units=metric"; JSONObject jObject = json.getJSONFromURL(uri); listDirections = json.getDirection(jObject); return null; } //Menampilkan polyline public void gambarDirection() {
PolylineOptions line = new PolylineOptions().width(3).color(Color.BLUE); for (int i = 0; i < listDirections.size(); i++) { line.add(listDirections.get(i)); } map.addPolyline(line); // tambah marker di posisi end map.addMarker(new MarkerOptions().position(end).title(nama)); }
h) Menu Region //Menampilkan menu region public void onCreate(Bundle instanceBundle) { super.onCreate(instanceBundle); setContentView(R.layout.menu3); citeureup = (ImageView) findViewById(R.id.citeureup); citeureup.setOnClickListener(this); sukapura = (ImageView) findViewById(R.id.sukapura); sukapura.setOnClickListener(this); dayeuhkolot = (ImageView) findViewById(R.id.dayeuhkolot); dayeuhkolot.setOnClickListener(this); pasawahan = (ImageView) findViewById(R.id.pasawahan); pasawahan.setOnClickListener(this); } public void onClick(View view) { if(view == citeureup){ Intent intent = new Intent(this,Citeureup.class); startActivity(intent); } else if(view == sukapura){ Intent intent = new Intent(this,Sukapura.class); startActivity(intent); } else if(view == dayeuhkolot){ Intent intent = new Intent(this,Dayeuhkolot.class); startActivity(intent); } else if(view == pasawahan){ Intent intent = new Intent(this,Pasawahan.class); startActivity(intent); } }
}
i) Menu Search //mengambil keyword dan dijadikan string private final String url = "http://cobain2.1eko.com/search.php?nama="; private static String urlget = ""; static boolean a = false; JSONArray tempatlokasi = null; private ProgressDialog pDialog; ArrayList> tempatlokasiList = new ArrayList>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search); } public void searchtoi(View view) { editSearch = (EditText) findViewById(R.id.edit1); // Mengambil keywords, dijadikan string String src = editSearch.getText().toString(); urlget = url + src; // Log.e("a",urlget); new JSONParse().execute(); } //Menampilkan data public void tampilkandata() { // membuat ListView dari data JSON yang ada ListAdapter adapter = new SimpleAdapter(this, tempatlokasiList, R.layout.list_view, new String[] { KEY_NAMA, KEY_LAT_TUJUAN, KEY_LNG_TUJUAN, KEY_ALAMAT }, new int[] { R.id.nama, R.id.lat, R.id.lng, R.id.alamat }); setListAdapter(adapter); // selecting single ListView item ListView lv = getListView(); // Memberikan Event Click Listener pada List View lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { // Mengambil nilai dari ListView yang di Click String nama = ((TextView) view.findViewById(R.id.nama)) .getText().toString(); String lat = ((TextView) view.findViewById(R.id.lat)).getText().toString(); String lng = ((TextView) view.findViewById(R.id.lng)).getText().toString(); String alamat = ((TextView) view.findViewById(R.id.alamat)).getText().toString(); // Membuat intent untuk menampilkan activity Detail // Selain itu Intent ini juga digunakan untuk mengirimkan suatu // data Intent i = new Intent(getApplicationContext(),InfoTempat.class); // Memasukkan data yang akan dikirimkan melalui intent i.putExtra(KEY_NAMA, nama); i.putExtra(KEY_LAT_TUJUAN, lat); i.putExtra(KEY_LNG_TUJUAN, lng); i.putExtra(KEY_ALAMAT, alamat); startActivity(i); } }); } }
j) Menu About Me //Menampilkan menu about me public class About extends Activity{ public void onCreate(Bundle bundleInstance) { super.onCreate(bundleInstance); setContentView(R.layout.about); } }
k) Menu exit Memberikan Alert box sebelum menutup aplikasi @SuppressWarnings("deprecation") public void close() { AlertDialog alert = new AlertDialog.Builder(this).create(); alert.setTitle("Close Application"); alert.setMessage("apakah anda yakin ?"); alert.setButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.exit(0); } }); alert.setButton2("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alert.show(); } @Override public void onBackPressed() { } }
Admin 1. Login Pada saat pertama kali mengakses web admin maka akan masuk ke halaman login, dengan mengakses database dan melakukan pengecekan user dan password.
} else header ("location:menu7.php"); ?>
2. Tambah data Pada tab tambah data akan menampilkan form untuk menambah data pada tabel data_rec di database
3. Tambah tempat Pada tab tambah tempat akan menampilkan form untuk menambah data tempat pada tabel places di database
4. Daftar Data Pada tab daftar data akan menampilkan tabel yang berisi data yang tersimpan di tabel data_rec pada database dan data tersebut dapat diedit dan dihapus
$nama = $data['nama']; $alamat= $data['alamat']; $desa = $data['desa']; $pekerjaan = $data['pekerjaan']; $keterangan = $data['keterangan']; $lat = $data['lat']; $lng = $data['lng']; $id = $data['id'];
$no++; ?>
| | | | | | | "> Edit | "> Hapus |
5. Daftar Tempat Pada tab daftar data akan menampilkan tabel yang berisi data yang tersimpan di tabel places pada database dan data tersebut dapat diedit dan dihapus
$nama = $data['nama']; $alamat= $data['alamat']; $keterangan = $data['keterangan']; $lat = $data['lat']; $lng = $data['lng']; $id = $data['id'];
$no++; ?> | | | | | "> Edit | "> Hapus |
6. logout menghapus session, sehingga untuk mengakses halaman admin harus login terlebih dahulu.
LAMPIRAN – F
Kuisioner Tugas Akhir ZakatGIS Nama: Pekerjaan: 1.
Apakah tipe handphone yang Anda miliki?
a) Android b) Blackberry c) Nokia 2.
d) iPhone
Apakah fungsi menu pada aplikasi dapat dimengerti dan berfungsi dengan baik?
a) Sangat baik b) Baik c) Cukup 3.
e) lainnya
d) Kurang baik e) Tidak baik
Apakah menu-menu yang disediakan cukup lengkap (view all, nearby, places, dan region)?
a) Sangat lengkap b) Lengkap c) Cukup
d) Kurang lengkap e) Tidak lengkap
4. a) b) c)
Bagaimana tampilan antarmuka pada aplikasi ZakatGis ini? Sangat menarik d) Kurang menarik Menarik e) Tidak menarik Cukup
5.
Apakah aplikasi dapat membantu untuk memperoleh informasi penerima zakat di sekitar anda?
a) Sangat membantu d) Kurang membantu b) Membantu e) Tidak membantu c) Cukup 6.
Apakah fitur-fitur (pemetaan, pencarian dan navigasi) yang terdapat pada aplikasi ini dapat
membantu? a) Sangat membantu b) Membantu c) Cukup 7.
d) Kurang membantu e) Tidak membantu
Bagaimana dengan fitur konfirmasi (perubahan warna flag) serta notifikasi yang terdapat
pada aplikasi ini, apakah dapat membantu? a) Sangat membantu b) Membantu c) Cukup 8.
d) Kurang membantu e) Tidak membantu
Apakah aplikasi ini cukup bermanfaat jika diimplementasikan pada kehidupan sehari-hari?
a) Sangat bermanfaat
d) Kurang bermanfaat
b) Bermanfaat c) Cukup
e) Tidak bermanfaat
Hasil Kuisioner Lembaga Amil Zakat Infaq Shodaqoh Masjid Syamsul Ulum no
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
Data Pengisi Kuisioner Nama N. Cucu Nurhayati Deni Irawan Fika S Joddie S Nurrida A Rifqi A W Anggit N Yolen Perdana Syahrul Iqbal Mawldi Muhsin A H Vito Abisena Yahsin K M Iqbal J Habiebi Fardan Anih Wariah Ibnu Hermawan Nurhayati H Nana Bana Bayu Aji S Yans A Dudi Kusnadi Ujang Setiawan H. Asep M Nur Agus M Dinar Lesmana M. Abdurrahmat K H Soesetyo
Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Amil Zakat Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur Donatur
Pertanyaan 1 a a a a b a a b a a a a a a a a a a b a d c a a b a c a b
2 b b b b a b a b b b b b b b b b a b b b b c a a a b b a c
3 b b b b b b b a b b a b b a b b a b b c c b b b a b c b b
4 b b b b b b b c c b c b b b c b b b a a b b a b a c b a b
5 b a b b a b a b a a b a a b b a b a a b b b b a b b b a b
6 b a a a a a a b b b a a a b a b b a a a c a a a b a c a a
7 a a a a a a a b a a a b a b a a b b a b a b b a a b b a b
8 b a a a a a a b b a b a a a a a a a a a a a a a a a a a a