APLIKASI MOBILE PETA WISATA KOTA SALATIGA BERBASIS WEB SERVICES DENGAN MENGGUNAKAN SISTEM OPERASI ANDROID
Oleh
Ricko Lissia Nanda
NIM : 612006049
Skripsi
Untuk melengkapi syarat-syarat memperoleh
Ijasah Sarjana Teknik
Fakultas Teknik Elektronika dan Komputer
Program Studi Teknik Elektro
Universitas Kristen Satya Wacana
Salatiga
APLIKASI MOBILE PETA WISATA KOTA SALATIGA BERBASIS WEB SERVICES DENGAN MENGGUNAKAN SISTEM OPERASI ANDROID
Oleh
Ricko Lissia Nanda NIM : 612006049
Skripsi ini telah diterima dan disahkan Sebagai salah satu persyaratan guna mencapai
SARJANA TEKNIK Dalam
KONSENTRASI TEKNIK KOMPUTER
FAKULTAS TEKNIK ELEKTRONIKA DAN KOMPUTER UNIVERSITAS KRISTEN SATYA WACANA
SALATIGA
Disahkan oleh
Pembimbing I
Saptadi Nugroho,M.Sc. Tgl ...
Pembimbing II
i INTISARI
Kota Salatiga dan sekitarnya mempunyai berbagai daerah wisata alam maupun buatan yang menarik untuk dikunjungi, hanya saja kurangnya promosi dan informasi mengenai lokasi membuat tidak banyak wisatawan mengunjungi lokasi tersebut. Salah satu alternatif yang dapat dimanfaatkan yaitu penggunaan aplikasi peta wisata digital. Aplikasi peta wisata digital merupakan salah satu bentuk teknologi praktis yang dapat digunakan untuk mengetahui informasi dan lokasi daerah wisata.
Pada skripsi ini telah direalisasikan sebuah aplikasi mobile peta wisata kota Salatiga berbasis web service dengan menggunakan sistem operasi android. Aplikasi ini bekerja dengan menggunakan web service dengan mengakses data pada suatu web server dalam format Java Script Object Notation (JSON). JSON merupakan salah satu
alternatif media web service selain XML yang digunakan untuk pertukaran data. Peta digital yang digunakan antara lain Google Map, Open Street Map, Mapquest, Cyclemap, Cloudmade, Bing Map, dan Yahoo Map. Aplikasi dapat menampilkan posisi user dan
lokasi wisata pada gambar peta, dimana data lokasi tersebut diperoleh dari web server. Aplikasi juga dilengkapi fasilitas penunjuk jalan dari posisi user ke lokasi yang dituju.
Berdasarkan pengujian didapatkan hasil aplikasi dapat berjalan 100% baik dengan menggunakan pengujian unit maupun skenario. Format JSON mampu membawa data dengan besar lebih kecil dibandingkan XML dengan perbandingan 1:1,439. Aplikasi dapat mengakses data web service dengan menggunakan Wi-Fi, Network Location Provider, dan GPS dengan rata-rata mendapatkan lokasi tercepat adalah dengan
ii
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Esa untuk berkat kesehatan, kelancaran, dan keselamatan yang senantiasa diberikan-Nya sehingga penulis dapat menyelesaikan studi dan skripsi ini untuk mendapatkan gelar Sarjana Teknik.
Tak lupa penulis mengucapkan terima kasih kepada:
1. Pembimbing skripsi baik itu Pembimbing I Bapak Saptadi Nugroho, M.Sc. dan Pembimbing II Bapak Darmawan Utomo, M.Eng. untuk bimbingannya.
2. Untuk keluarga yang terkasih, Ayah Sulistyo PM, Ibu Argo Setyani, Adik Steffie Lissia Nanda, keluarga Sisbandi, dan keluarga besar yang lain. Mengucap syukur untuk semua kasih, nasehat, dukungan dan bahkan teguran yang senantiasa membangun.
3. Pacar yang terkasih, Retno Utaminingsih yang sudah menjadi teman bercerita, berdiskusi, membantu proses koreksi, dan memberi semangat untuk menyelesaikan skripsi ini dengan cepat.
4. Bapak Selso Vicente dan Dinas Pariwisata Kota Salatiga untuk informasi mengenai pariwisata kota Salatiga.
5. Bapak Handoko, M.Eng. selaku Dekan Fakultas Teknik Elektronika dan Komputer dan juga wali studi untuk bimbingan dan nasehat dalam menjalankan dan merencanakan studi.
6. Bapak F.Dalu Setiaji selaku Kaprogdi Teknik Elektro untuk bantuan penjelasan mengenai hal-hal yang belum dimengerti mengenai kurikulum Teknik Elektro. 7. Mbak Tin, Mbak Rista, Mas Wicak, dan pihak Tata Usaha yang telah membantu
dalam proses pengurusan administrasi skripsi dan perkuliahan.
8. Segenap panitia sidang skripsi yang telah menyusun jadwal sidang skripsi.
9. Para dosen, dan laboran yang telah mengajar, membantu, dan membimbing dalam perkuliahan, dan praktikum selama hampir enam tahun.
10. Keluarga besar jemaat Gereja Kristen Jawa Salatiga Timur, Persekutuan Menara Kasih, Bapak Pdt. Sari Frihono, para Majelis dan Penatua Gereja dan rekan-rekan persekutuan untuk bimbingan rohani yang saya terima.
iii
12. Dan untuk pihak-pihak yang belum tersebutkan yang telah membantu dalam proses penyelesaian skripsi ini.
Skripsi yang telah dikerjakan ini tentunya masih belum sempurna, mengingat keterbatasan waktu, sumber daya, dan pengetahuan yang dialami. Tetapi terlepas dari itu semua penulis bersyukur karena dapat menyelesaikan skripsi ini hingga tahap akhir dan berharap semoga skripsi ini dapat memperkaya pengetahuan kita semua. Skripsi ini tentunya masih dapat dikembangkan dengan teknologi yang lebih canggih, mengingat perkembangan teknologi yang senantiasa maju.
Akhir kata, semoga pengetahuan yang telah dipelajari senantiasa dipergunakan untuk kebaikan sesama dengan terus berpedoman pada prinsip Takut akan Tuhan adalah permulaan pengetahuan. Tuhan Memberkati Pelayanan kita.
Salatiga, Maret 2012
iv DAFTAR ISI
INTISARI i
KATA PENGANTAR ii
DAFTAR ISI iv
DAFTAR GAMBAR vi
DAFTAR TABEL vii
DAFTAR KODE ix
BAB I PENDAHULUAN 1
1.1. Tujuan 1
1.2. Latar Belakang Masalah 1
1.3. Gambaran Sistem 4
1.4. Batasan Masalah 5
1.5. Perincian Tugas 6
1.6. Sistematika Penulisan 6
BAB II DASAR TEORI 8
2.1. Android 8
2.2. PHP: Hypertext Preprocessor 15
2.3. Database 18
2.4. Web service 19
BAB III PERANCANGAN SISTEM 28
3.1. Gambaran Sistem 28
3.2. Desain Arsitektur Sistem 34
3.3. Perancangan Database 35
3.4. Perancangan Aplikasi Web Server 42
3.5. Perancangan Aplikasi Mobile 53
BAB IV PENGUJIAN DAN ANALISIS 70
4.1. Spesifikasi Alat 70
4.2. Pengujian Unit 70
4.3. Pengujian dengan Skenario 73
4.4. Pengujian Web service 74
v
BAB V KESIMPULAN DAN SARAN 91
5.1. Kesimpulan 91
5.2. Saran 92
DAFTAR PUSTAKA 93
LAMPIRAN
A. System Requirement Spesification 95
B. Functional Design And Implementation 105
C. Detail Design 145
D. Unit Testing Scenario 174
vi
DAFTAR GAMBAR
Gambar 1.1 Bagan Arsitektur Sistem 4
Gambar 2.1 Arsitektur Android 10
Gambar 2.2 Daur Hidup Activity 13
Gambar 2.3 Struktur MVC 16
Gambar 2.4 Proses Kerja Codeigniter 17
Gambar 2.5 Web service Arsitektur 20
Gambar 2.6 Mekanisme Web service dengan SOAP 21
Gambar 2.7 Mekanisme Web service dengan REST 22
Gambar 2.8 REST State Transfer 24
Gambar 2.9 Struktur Penggunaan Object pada JSON 25 Gambar 2.10 Struktur Penggunaan Array pada JSON 25 Gambar 2.11 Struktur Penggunaan Nilai pada JSON 25 Gambar 2.12 Struktur Penggunaan String pada JSON 26 Gambar 2.13 Struktur Penggunaan Bilangan pada JSON 26
Gambar 3.1 User Case Pengguna 28
Gambar 3.2 Gaftar Alir Aplikasi Mobile 29
Gambar 3.3 Use Case Administrator 30
Gambar 3.4 Gaftar Alir Aplikasi Web Server 32
Gambar 3.5 Bagan Arsitektur Sistem 34
Gambar 3.6 ERD Database Server 35
Gambar 3.7 ERD Database Mobile 39
Gambar 3.8 Arsitektur Aplikasi Web Server 42
Gambar 3.9 Arsitektur Aplikasi Mobile 53
Gambar 3.10 Aliran Activity Aplikasi Mobile 56
Gambar 3.11 Sumbu Sensor Orientasi 66
Gambar 4.1 Pengujian Unit Class gallery_helper AplikasiWebServer 71 Gambar 4.2 Pengujian Unit Class dbAdapter pada Aplikasi Mobile 72 Gambar 4.3 Grafik Perbandingan Besar Data JSON dengan XML 78
Gambar 4.2 Kecepatan Wi-Fi 79
Gambar 4.3 Kecepatan GSM Service Provider 79
vii
viii
DAFTAR TABEL
Tabel 1.1. Perbandingan Aplikasi Peta Digital 3
Tabel 2.1. Versi Platform Android 11
Tabel 2.2. Method Callback Daur Hidup Activity 14
Tabel 3.1. Tabel Atribut Database Server 36
Tabel 3.2. Tabel Atribut Database Mobile 40
Tabel 4.1. Hasil Pengujian Unit Aplikasi Web Server 71 Tabel 4.2. Hasil Pengujian Unit Aplikasi Mobile 73
Tabel 4.3. Hasil Pengujian dengan Skenario 74
Tabel 4.4. Perbandingan Besar Data JSON dan XML 77 Tabel 4.5. Hasil Pengujian Pembaharuan Data dengan Wi-Fi 80 Tabel 4.6. Hasil Pengujian Pembaharuan Data dengan GSM Service Provider 82 Tabel 4.7. Rute Lompatan GSM Service Provider dan Wi-Fi 84 Tabel 4.8. Hasil Pengujian Pencarian Posisi dengan Wi-Fi 86 Tabel 4.9. Hasil Percobaan Pengujian Posisi dengan Network Location Provide 86 Tabel 4.10. Hasil Pengujian Pencarian Posisi dengan GPS 87
Tabel 4.11. Pengujian Peta Digital 89
ix
DAFTAR KODE
Kode 2.1 Contoh JSON 27
Kode 3.1 Konfigurasi Database 43
Kode 3.2 Konfigurasi URL 44
Kode 3.3 Konfigurasi Route 44
Kode 3.4 Konfigurasi Format Web services 45
Kode 3.5 Autentikasi Admin 45
Kode 3.6 Fungasi validate() 46
Kode 3.7 Registrasi Admin 47
Kode 3.8 Fungsi create_member() 47
Kode 3.9 Pemeriksaan Session 48
Kode 3.10 Fungsi Peta Google Map 50
Kode 3.11 Class Service 51
Kode 3.12 JSON Update Data 53
Kode 3.13 Konfigurasi Permission dan Feature Aplikasi 54
Kode 3.14 Class DbAdapter 58
Kode 3.15 Fungsi onCreate Database 59
Kode 3.16 Fungsi Insert dan Select Database 60
Kode 3.17 Class MapActivity 61
Kode 3.18 Peta Google Map 62
Kode 3.19 Peta Yahoo Map 63
Kode 3.20 Mendapatkan Posisi Pengguna 64
Kode 3.21 Mendapatkan Arah Pengguna 65
Kode 3.22 Membuat Data JSON 67
Kode 3.23 Data JSONObject 67
Kode 3.24 Fungsi JSONSend 68
Kode 3.25 Parsing JSON 69
Kode 4.1 Data dalam Format JSON 75