Pembangunan Aplikasi Child Tracker Berbasis Assisted-Global Positioning System (A-GPS) Dengan Platform Android
PEMBANGUNAN APLIKASI CHILD TRACKER
BERBASIS ASSISTED - GLOBAL POSITIONING SYSTEM (A-GPS)
DENGAN PLATFORM ANDROID
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ANDI JUANSYAH
10110636
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2015
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadiran Allah SWT atas rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul
“PEMBANGUNAN APLIKASI CHILD TRACKER BERBASIS ASSISTED –
GLOBAL POSITIONING SYSTEM (A-GPS) DENGAN PLATFORM
ANDROID ”.Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan terimakasih yang sebesar-besarnya kepada : 1.
Ayah dan ibu tercinta Jaja Sujaya dan Kanyi Sumartini yang memberi dukungan materi, moril, rohani, dan semua yang dibutuhkan oleh penulis selama penulisan skripsi ini berlangsung. Dan tidak ketinggalan kepada seluruh keluarga besar penulis yang selalu memberikan masukan, dan terimakasih atas segala doa beserta dorongan dan motivasinya, sehingga dapat terselesaikan tugas akhir ini.
2. Bapak Eko Budi Setiawan, S.Kom., M.T selaku dosen pembimbing yang selama ini telah banyak memberikan pengarahan serta masukan yang berharga, kritik, dan pengalaman berkesan selama masa bimbingan sehingga skripsi ini dapat terselesaikan dengan baik.
3. Andri Heryandi, S.T., M.T selaku dosen reviewer seminar yang selama ini telah banyak memberikan pengarahan serta masukan yang berharga.
4. Irawan Afrianto, S.T., M.T. Selaku Ketua Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia Bandung.
5. Nelly Indriani W, S.Si., M.T. Selaku Dosen Wali yang telah mengarahkan saya selama mengikuti akademik dikampus ini.
6. Bapak ibu dosen yang selama ini membimbing dalam menempuh berbagai mata kuliah yang penulis dapatkan di program studi Teknik Informatika.
8. Almarhum Reni Kurnia Utami, karena janji penulis kepadanya.
9. Sahabat terbaik, Poji Muhammad yang selalu memberikan dukungan baik dalam suka maupun duka serta banyak memberikan bantuan dalam menyelesaikan tugas akhir ini.
10. Teman-teman seperjuangan di IF15 serta teman-teman satu program studi lainnya.
11. Serta pihak lain yang telah membantu dalam menyelesaikan tugas akhir ini. Akhir kata, semoga skripsi ini dapat bermanfaat bagi para pembaca.
Bandung, Agustus 2015 Penulis
DAFTAR ISI
ABSTRAK ............................................................................................................... i ABSTRACT ............................................................................................................ ii KATA PENGANTAR ........................................................................................... iii DAFTAR ISI ........................................................................................................... v DAFTAR GAMBAR ............................................................................................. ix DAFTAR TABEL ................................................................................................. xii DAFTAR SIMBOL............................................................................................... xv DAFTAR LAMPIRAN ...................................................................................... xviii
BAB 1 PENDAHULAN ......................................................................................... 1
1.1 Latar Belakang Masalah ........................................................................... 1
1.2 Identifikasi Masalah ................................................................................. 3
1.3 Maksud dan Tujuan .................................................................................. 3
1.4 Batasan Masalah ....................................................................................... 3
1.5 Metodologi Penelitian .............................................................................. 4
1.5.1 Metode Pengumpulan Data ............................................................... 4
1.5.2 Metode Pembangunan Perangkat Lunak ........................................... 5
1.6 Sistematik Penulisan................................................................................. 7
BAB 2 TINJAUAN PUSTAKA ............................................................................. 9
2.1 Tracking.................................................................................................... 9
2.2 Aplikasi .................................................................................................... 9
2.3.2 Location Base Service (LBS) .......................................................... 11
2.5.8 Google Cloud Messaging API ........................................................ 22
3.1.1 Analisis masalah ............................................................................. 40
3.1 Analisis Sistem ....................................................................................... 39
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ........................................ 39
2.6.2 Unified Model Language (UML) .................................................... 30
2.6.1 Konsep Dasar Berorientasi Objek ................................................... 27
2.6 Pemrograman Berorientasi Objek .......................................................... 26
2.5.11 Google Maps API............................................................................ 24
2.5.10 Google Geocoding API ................................................................... 24
2.5.9 Google Direction API ..................................................................... 23
2.5.7 Java Script Object Nonation (JSON) .............................................. 20
2.4 Pengenalan Sistem Operasi Android ...................................................... 12
2.5.6 Web Service .................................................................................... 19
2.5.5 Software Development Kit (SDK) .................................................. 19
2.5.4 Java Development Kit (JDK) .......................................................... 19
2.5.3 MySQL............................................................................................ 16
2.5.2 PHP ................................................................................................. 16
2.5.1 Android Studio ................................................................................ 15
2.5 Perangkat Lunak Pendukung .................................................................. 15
2.4.2 Versi android ................................................................................... 13
2.4.1 Sejarah Android .............................................................................. 12
3.1.2 Analisis Aplikasi Sejenis Yang Sudah Ada .................................... 40
3.1.5 Analisis A-GPS ............................................................................... 48
BAB 4 PERANCANGAN SISTEM DAN IMPLEMENTASI........................... 109
4.2.2 Pengujian Alpha ............................................................................ 116
4.2.1 Rencana Pengujian ........................................................................ 116
4.2 Pengujian Sistem .................................................................................. 115
4.1.5 Implementasi Antarmuka .............................................................. 114
4.1.4 Implementasi Class ....................................................................... 112
4.1.3 Implementasi Basis Data ............................................................... 110
4.1.2 Implementasi Perangkat Lunak ..................................................... 110
4.1.1 Implementasi Perangkat Keras ...................................................... 109
4.1 Implementasi Sistem ............................................................................ 109
3.3.3 Jaringan Semantik ......................................................................... 106
3.1.6 Analisis Web Service ...................................................................... 50
3.3.2 Perancangan antarmuka sistem ....................................................... 98
3.3.1 Perancangan Basis data ................................................................... 96
3.3 Perancangan Sistem ................................................................................ 96
3.2.5 Analisis Kebutuhan Fungsional ...................................................... 56
3.2.4 Analisis Kebutuhan Pengguna (User) ............................................. 55
3.2.3 Spesifikasi kebutuhan perangkat lunak ........................................... 53
3.2.2 Analisis Kebutuhan Perangkat Lunak ............................................. 53
3.2.1 Analisis Kebutuhan Perangkat Keras .............................................. 52
3.2 Analisis kebutuhan Non Fungsional ...................................................... 52
4.2.3 Pengujian Beta .............................................................................. 126
5.2 Saran ..................................................................................................... 137 DAFTAR PUSTAKA ......................................................................................... 139
DAFTAR PUSTAKA
[1] T. N. Ismailian, "Detik News," Detik.com, 02 10 2013. [Online]. Available: http://metro.sindonews.com/read/789989/31/izin-renang-siswi-smpn-di- tangsel-hilang-1380708459. [Accessed 16 02 2015]. [2]
D. Muhammad, N. M. A., ST., MT. and T. A. W., ST., MT., "Analisis
Performansi Mobile Tracking Berbasis Sistem Seluler dengan Metode A- GPS," p. 11, 2012. [3] R. K. Nistanto, "kompas.com," 04 06 2014. [Online]. Available: http://tekno.kompas.com/read/2014/06/04/1025003/2015.pengguna.mobil e.lampaui.jumlah.penduduk.dunia. [Accessed 17 03 2015]. [4]
F. Y. Kristo, "Detik.com," 04 02 2015. [Online]. Available: http://inet.detik.com/read/2015/02/04/171611/2823681/317/ini-alasan- indonesia-jadi-sasaran-ponsel-murah-android-one. [Accessed 01 04 2015]. [5] R. S. Pressman, Rekayasa Perangkat Lunak Jilid 1 Edisi 7, Yogyakarta: Andi, 2012.
[6]
I. P. D. Sandana, J. Wibowo and V. M. Taufik, "Rancang Bangun Aplikasi
Mobile Tracking Dengan Menggunakan Sms Gateway untuk Meningkatkan Keamanan Pada PT. Artiduta Aneka Usaha," Jurnal Sistem
Informasi dan Komputerisasi Akuntansi (JSIKA), vol. I, no. 2, 2012.
[7] KBBI, "Kamus Besar Bahasa Indonesia," Departemen Pendidikan Nasional Republik Indonesia, [Online]. Available: http://badanbahasa.kemdikbud.go.id/kbbi/. [Accessed 10 04 2015].
[8] W. GPS pada Android, Jakarta: Jasakom, 2012. [9] J. Imaniar, A. ST. MT and A. S. Khalilullah, "Aplikasi Location Based
[10] N. S. H, android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android Revisi Kedua, Bandung: Informatika Bandung, 2014. [11] , Android Developer;, "Android Studio," Android Developer, [Online].
Available: http://developer.android.com/sdk/. [Accessed 01 04 2015]. [12] B. Nugroho, Aplikasi pemrograman Web Dinamis dengan PHP dan MySQL, Yogyakarta: Gava Media, 2004.
[13] B. Nugroho and I. Indriyana, Membuat Aplikasi Database SQL server dengan Visual Basic 6.0, Yogyakarta: Gava Media, 2007. [14] A. W. Mahastama, "Web Service," [Online]. Available: http://lecturer.ukdw.ac.id/~mahas/dossier/ati_04.pdf. [Accessed 10 04
2015]. [15] "Pengenalan JSON," JSON, [Online]. Available: www.json.org/json- id.html. [Accessed 05 04 2015].
[16] "Google Cloud messaging," [Online]. Available: http://developer.android.com/google/gcm/. [Accessed 2 April 2015]. [17] "The Google Direction API," [Online]. Available: https://developers.google.com/maps/documentation/directions/. [Accessed
26 04 2015]. [18] "The Google Geocoding API," Google Developer, [Online]. Available: https://developers.google.com/maps/documentation/geocoding/.
[Accessed 01 06 2015]. [19] B. H. Sirenden and E. L. Dachi, Buat Sendiri Aplikasi Petamu
Menggunakan CodeIgniter dan Google Maps API, Yogyakarta: ANDI offset, 2012. [20] R. A.S and M. Shalahuddin, Rekayasa Perangkat Lunak, Bandung: Informatika Bandung, 2013.
BAB 1 PENDAHULAN
1.1 Latar Belakang Masalah
Orangtua sudah seharusnya memberikan yang terbaik untuk anaknya, mulai dari kebutuhan makanan yang sehat, pendidikan, bahkan rasa aman. Bimbingan dan pemantauan orangtua adalah salah satu faktor utama, semakin tumbuh besarnya anak semakin luas pergaulan dan kesibukan anak menjadi tidak terpantau sepenuhnya oleh orangtua, hal ini menjadi pusat kekhawatiran orangtua dimana belakangan ini banyaknya berita anak hilang yang diculik, diperkosa, bahkan tidak segan-segan dibunuh. Seperti berita kehilangan anak yang bernama Rimma Naomi berumur 14 tahun, yang hilang saat pergi untuk mengikuti eksul renang di SMPN 9 Tangerang Selatan. [1].
Berdasarkan hasil wawancara dengan 15 orangtua, didapatkan 11 orangtua dengan persentase 73.33% yang menyatakan bahwa orangtua memiliki kesibukan masing-masing serta hanya ada sedikit waktu untuk bersama dengan anak, hal ini menyebabkan pengawasan orangtua kepada anak berkurang, tak banyak orangtua yang mengetahui aktifikas anak, seperti keluar untuk bermain, pergi berwisata maupun aktifikas study yang sudah pasti tanpa pengawasan orangtua dan tak jarang juga anak berbohong ketika pergi ke suatu tempat.
Berdasarkan hasil wawancara kepada 15 anak, didapatkan 9 anak dengan persentase 80% yang menyatakan anak membutuhkan waktu lama dalam menghubungi orangtua pada saat keadaan darurat dan juga anak tidak memungkinkan secara cepat untuk memberitahu lokasi kepada orangtua disaat keadaan darurat. Permasalahan ini menjadi faktor yang harus di perhatikan oleh setiap orangtua, dimana pegawasan orangtua harus lebih ditingkatkan. Hal ini dapat di minimalisir dengan kemajuan teknologi yaitu menggunakan teknologi A-GPS. hanya mengandalkan sinyal dari satelit gps, tetapi mendapatkan assist dari sebuah server data yaitu operator selular. Bantuan berupa data posisi yang diambil berdasarkan LBS (Location Based Service), ialah suatu sistem penentu lokasi berdasrkan BTS (Base Transceiver System). Data lokasi yang tidak hanya dikirim menggunakan satelit dibantu juga data dari server yang di sampaikan ke A-GPS melalui koneksi data via GPRS atau 3G, sehingga penentuan posisi lebih cepat atau disebut juga Time To First Fix (TTFF) dan lebih akurat berkat bantuan server data operator [2]. Data lokasi akan ditampilkan dengan media dari google yaitu google
maps api.
Saat ini setidaknya ada sekitar 7 miliar pengguna mobile di seluruh dunia. Sementara itu, jumlah pengguna layanan mobile selama ini tumbuh 7 persen tiap tahunnya. Pada kuartal pertama 2014 lalu saja penambahan pengguna mobile baru mencapai 120 juta, dengan laju pertumbuhan seperti itu, maka tahun 2015 nanti jumlah pengguna mobile diprediksi akan melampaui jumlah penduduk dunia yang saat ini mencapai kurang lebih 7,2 miliar [3]. Perangkat yang sekarang ini sedang populernya di Indonesia yaitu Android. Saat ini, lebih dari 1 miliar orang di dunia menggunakan perangkat Android secara aktif. Jumlah pengguna Android mengalami kenaikan sekitar dua kali lipat dari tahun ke tahun, mulai dari 80 juta, lalu naik menjadi 200 juta, kemudia 500 juta, hingga jumlah yang ada saat ini. Di Indonesia jumah pengguna Android juga mengalami pertumbuhan yang sangat pesat, dengan peningkatan sebesar 150% dari tahun 2014 ke 2015 [4].
Berdasarkan masalah diatas, maka dibutuhkan suatu aplikasi yang dapat membantu para orangtua dalam mengetahui keberadaan anak secara jarak jauh dan meningkatkan rasa aman kepada anak dengan menggunakan perangkat mobile android adalah :
“PEMBANGUNAN APLIKASI CHILD TRACKER
BERBASIS ASSISTED
- – GLOBAL POSITIONING SYSTEM (A-GPS)
DENGAN PLATFORM ANDROID ”.
1.2 Identifikasi Masalah
Berdasarkan latar belakang masalah yang ada di atas, maka penelitian ini dapat diidentifikasi sebagai berikut :
1. Sulitnya orangtua mengetahui keberadaan anak.
2. Anak membutuhkan waktu lama saat menghubungi orangtua dan tidak memungkinkan secara cepat memberi tahu keberadaan pada saat keadaan darurat.
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang ada, maka maksud dari penelitian ini adalah untuk membangun sebuah aplikasi child tracker berbasis assisted
- – global positioning system (A-GPS) dengan platform android.
Tujuan yang ingin dicapai dalam penelitian ini adalah: 1.
Mempermudah orangtua mengetahui keberadaan anak dengan menggunakan mobile android.
2. Membantu anak menghubungi orangtua lebih cepat pada saat situasi darurat dan memberikan lokasi terakhir kepada orangtua.
1.4 Batasan Masalah
4. Aplikasi ini digunakan oleh orangtua dengan maksimal umur 65 tahun
3. Aplikasi child tracker - parent menampilkan tracking anak pada masing-masing orangtua.
2. Aplikasi terbagi menjadi 2 yaitu aplikasi child tracker – child pada anak dan child tracker
Batasan masalah ini dimaksud agar pembahasan dan penyusunan laporan dapat dilakukan secara terarah dan tidak menyimpang serta sesuai dengan apa yang diharapkan. Adapun batasan-batasan masalah tersebut adalah sebagai berikut: 1.
Studi kasus untuk penelitian ini hanya untuk tracking anak.
- – parent pada orangtua.
5. Pembangunan aplikasi ini mencangkup pengolahan diantaranya ialah data anak, data orangtua, data lokasi.
6. Minimal pengguna bisa mengoperasikan smartphone android.
7. Aplikasi Child Tracker berbasis Android dengan minimal sistem operasi android versi 4.0 ice cream sandwich atau lebih.
8. Smartphone harus terkoneksi ke internet.
9. Memiliki pulsa untuk dapat menggunakan fitur SOS,yaitu pada saat melakukan panggilan ke orangtua.
10. Smartphone yang digunakan mendukung fitur A-GPS.
11. Perancangan database menggunakan MySQL.
12. Maps menggunakan Google Maps v3.
13. Tools pembangunan aplikasi android menggunakan Android Studio.
14. Untuk memodelkan perangkat lunak menggunakan Unifield Modeling Language (UML).
15. Pendekatan analisis kebutuhan pada pembangunan perangkat lunak ini digunakan permodelan beriorentasi objek pada aplikasi mobile.
1.5 Metodologi Penelitian
Metode penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data-data untuk mendukung terlaksananya suatu penelitian. Metode penelitian ini memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengumpulan perangkat lunak.
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data digunakan untuk memperoleh data-data yang dibutuhkan dalam penelitian adalah sebagai berikut:
1. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan guna mendapatkan informasi tentang mobile android dengan judul penelitian agar aplikasi yang dibangun sesuai dengan harapan penguna.
2. Observasi Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.
3. Wawancara Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung dan tidak langsung kepada beberapa orangtua dan anak yang ada kaitannya dengan topik yang diambil. Sebagai narasumber adalah : a.
Orangtua b.
Anak
1.5.2 Metode Pembangunan Perangkat Lunak
Metode yang digunakan untuk pembangunan perangkat lunak dalam penelitian ini menggunakan waterfall model. Model ini adalah model yang memberikan pendekatan
- – pendekatan sistematis dan berurutan bagi pengembang piranti lunak menurut Roger S. Pressman [5] adalah : 1.
Komunikasi (Communication) Proses ini dimulai dengan komunikasi dengan narasumber terkait yaitu orangtua dan anak, untuk mendapatkan data lengkap dalam pembangunan sistem agar kebutuhan untuk analisis program yang akan di bangun.
2. Perencanaan (Planning)
Setelah proses komunikasi telah berjalan maka pada proses selanjutnya proses perencanaan mengenai pembangunan aplikasi child tracker. Proses ini dimulai dari proses estimasi waktu yang akan digunakan, merencanakan aktivitas kerangka telah kerja yang menetapkan suatu rencana untuk rekayasa perangkat lunak yang menggambarkan tugas-tugas yang akan di lakukan, resiko yang mungkin terjadi, sumber daya yang akan dibutuhkan,
3. Pemodelan sistem (Modeling) Pada proses ini, kebutuhan system diubah menjadi representasi ke dalam b entuk “blueprint” software sebelum coding dimulai dengan menggunakan
Unified Model Language (UML). UML yang digunakan adalah use case
diagram, activity diagram, class diagram, dan sequence diagram. Desain ini dibuat untuk mengetahui gambaran proses kerja aplikasi child tracker yang kita buat sehingga dapat dijadikan acuan saat proses implementasi sistem ke dalam bentuk code.
4. Kontruksi (Construction) Proses ini menggabungkan kegiatan penulis kode program (coding) dan pengujian (testing) yang diperlukan untuk mengungkap kesalahan dalam
code. Penulisan code program adalah proses yang dilakukan agar mesin
dalam hal ini perangkat mobile dapat menjalankan aplikasi child tracker yang telah dibangun. Setelah proses penulisan code program selesai, dilakukan pengujian aplikasi child tracker yang sudah dibangun. Semua fungsi-fungsi aplikasi child tracker harus di uji cobakan, agar aplikasi child
tracker bebas dari kesalahan, dan hasilnya benar-benar sesuai dengan kebutuhan yang sudah di definisikan sebelumnya.
5. Penyerahan sistem (Deployment) Aplikasi (sebagai bagian yang telah selesai) dikirim kepada pengguna yaitu orangtua dan anak untuk di evaluasi dan mendapatkan umpan balik berupa saran dan kritik berdasarkan evaluasi.
Gambar 1.1 Waterfall Model [5]1.6 Sistematik Penulisan
Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB 1 PENDAHULUAN Bab ini berisi tentang latar belakang masalah, identifikasi masalah,
maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematik penulisan tugas akhir.
BAB 2 TINJAUAN PUSTAKA Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan
dengan Pembangunan Aplikasi Child Tracker, konsep dasar dan teori- teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses pembangunan aplikasi Child Tracker Berbasis Assisted
- – Global Positioning System (A-GPS) dengan Platform Android.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi pemaparan analisis masalah yang bersangkutan dengan
aplikasi Child Tracker yang akan di bangun, analisis kebutuhan data orangtua dan anak, analisis basis data, analisis jaringan, analisis kebutuhan fungsional, dan analisis kebutuhan non fungsional. Hasil dari analisis tersebut digunakan untuk melakukan perancangan perangkat lunak.
BAB 4 IMPLEMENTASI DAN PENGUJIAN Bab ini berisi hasil implementasi dari hasil analisis dan perancangan
sistem yang telah dibuat disertai juga hasil pengujian sistem yang di lakukan oleh orangtua,anak dan penguji sistem sehingga diketahui
tracking anak menggunakan pengujian black box dan pengujian untuk
mengetahui apakah berhasil atau tidak tujuan yang telah dituliskan diatas.
BAB 5 KESIMPULAN DAN SARAN Bab ini berisi tentang penarikan kesimpulan yang diperoleh dari bab-bab
sebelumnya terutama keterkaitan antara masalah yang dihadapi dengan tujuan dari penulisan tugas akhir ini serta saran-saran yang bersifat membangun dari semua pihak yang terkait agar dapat memperbaiki kekurangan-kekurangan dalam penulisan tugas akhir ini.
BAB 2 TINJAUAN PUSTAKA
2.1 Tracking Tracking secara harifah memiliki arti mengikuti jalan, atau dalam arti
bebasnya adalah suatu kegiatan untuk mengikuti jejak suatu obyek. Pengertian
tracking atau pemantauan dalam hal ini adalah kegiatan untuk memantau
keberadaan anak berdasarkan posisi yang di dapatkan dari smartphone [6].2.2 Aplikasi
Secara istilah pengertian aplikasi adalah suatu program yang siap untuk digunakan yang dibuat untuk melaksanankan suatu fungsi bagi pengguna jasa aplikasi serta penggunaan aplikasi lain yang dapat digunakan oleh suatu sasaran yang akan dituju. Menurut kamus computer eksekutif, aplikasi mempunyai arti yaitu pemecahan masalah yang menggunakan salah satu tehnik pemrosesan data aplikasi yang biasanya berpacu pada sebuah komputansi yang diinginkan atau diharapkan maupun pemrosesan data yang di harapkan.
Pengertian aplikasi menurut Kamus Besar Bahasa Indonesia, “Aplikasi adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu” [7].
2.3 Assisted – Global Positioning System (A-GPS) Assisted Global Positioning System (A-GPS) merupakan pengembangan
dari sistem GPS biasa sebagai penentu posisi. A-GPS memperbaiki performansi GPS biasa dengan menyediakan informasi lewat kanal komunikasi alternative yang terhubung ke suatu server pembantu, dimana A-GPS receiver akan mendapatkan beberapa informasi yang biasanya diterima dari satelit melalui server tersebut. Inilah yang membedakan antara A-GPS dengan GPS, yaitu penambahan elemen benar lebih mudah dan dapat mengurangi waktu serta jumlah informasi yang dibutuhkan dari satelit. Lebih lanjut, karena A-GPS receiver didesain untuk bisa mengetahui terlebih dalam penentuan posisinya, maka A-GPS receiver dapat meningkatkan jumlah energy yang diterima dari frekuensi-frekuensi tertentu saja. Hal ini meningkatkan sensitivitas dari A-GPS receiver dan memungkinkan untuk melakukan penentuan posisi user walaupun memperoleh sinyal GPS pada kekuatan sinyal yang lebih rendah [2].
Gambar 2.1 Contoh A-GPS ( assisted Global Positioning System) Berikut adalah gambaran Sistem Tracker pada aplikasi Child Tracker.2.3.1 Global Positioning System (GPS)
GPS adalah singkatan dari Global Positioning System, yang merupakan sistem navigasi dengan menggunakan teknologi satelit yang dapat menerima sinyal dari satelit. Sistem ini menggunakan 24 satelit yang mengirimkan sinyal gelombang mikro ke bumi. Sinyal ini diterima oleh alat penerima (receiver) di permukaan, dimana GPS receiver ini akan mengumpulkan informasi dari satelit GPS, seperti [8] : 1.
Waktu. GPS receiver menerima informasi waktu dari jam atom yang mempunyai keakurasian sangat tinggi.
2. Lokasi. GPS memberikan informasi dalam tiga dimensi : a.
Latitude b.
Longitude c. Elevasi 3. Kecepatan ketika berpindah tempat, GPS dapat menunjukan informasi kecepatan berpindah tersebut.
4. Arah perjalanan. GPS dapat menunjukan arah tujuan.
5. Simpan lokasi. Tempat-tempat yang sudah pernah atau ingin dikunjungi bisa disimpan oleh GPS receiver.
6. Komulasi data. GPS receiver dapat menyimpan informasi track, seperti total perjalanan yang sudah pernah dilakukan, kecepatan rata-rata, kecepatan paling tinggi, kecepatan paling rendah, waktu/jam sampai tujuan dan sebagainya.
2.3.2 Location Base Service (LBS)
Layanan berbasis lokasi adalah layanana informasi yang dapat diakses melalui mobile device dengan menggunakan mobile network, yang dilengkapi kemampuan untuk memanfaatkan lokasi dari mobile device tersebut. LBS memberikan kemungkinan komunikasi dan interaksi dua arah. Oleh karena itu pengguna memberitahu penyedia layanan untuk mendapatkan informasi yang dia
: Geographic Information System, Internet Service, dan Mobile Devices, hal ini dapat dilihat pada gambar LBS adalah pertemuan dari tiga teknologi [9].
Gambar 2.3 LBS sebagai tiga teknologiSecara garis besar jenis layanan berbasis lokasi juga dapat dibagi menjadi dua, yaitu :
1. Pull Service : layanan diberikan berdasarkan permintaan dari pelanggan akan kebutuhan suatu informasi. Jenis layanan ini dapat dianalogikan seperti mengakses suatu web pada jaringan internet.
2. Push Service : Layanan ini diberikan langsung oleh Service Provider tanpa menunggu permintaan dari pelanggan. Tentu saja informasi yang diberikan tetap berkaitan dengan kebutuhan pelanggan.
2.4 Pengenalan Sistem Operasi Android
Android merupakan sistem operasi yang sekarang sedang terkenal di pasaran smartphone saat ini. Berikut adalah pengenalan android :
2.4.1 Sejarah Android
Android adalah sebuah sistem operasi perangkat mobile berbasis linux yang Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel atau 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. [10]
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan open source pada
perangkat mobile. Di lain pihak, Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.
2.4.2 Versi android
Adapun versi android yang pernah dirilis adalah sebagai berikut [10]: 1.
Android versi 1.1
Pada 9 maret 2009, Google merilis android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, ja, alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.
2. Android versi 1.5 (Cupcake)
Pada pertengahan mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit). Terdapat banyak pembaharuan yakni mampu merekan dan menonton video denga n modus kamera, megupload video ke youtube dan gambar ke picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung otomatis ke headset Bluetooth.
3. Android versi 1.6 (Donut)
Dirilis pada September dengan menampilkan proses pencarian yang lebih baik disbanding sebelumnya, penggunaan baterai indicator dan control applet VPN. Fitur lainnya adalah kamera, camcorder, VPN, Gestures, CDMA/EVDO, Text-to- Speech engine, resolusi VWGA.
4. Android versi 2.0/2.1 (Eclair) browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan kamera flash, dan Bluetooth 2.1.
5. Android versi 2.2 (Froyo : Frozen Yoghurt)
Pada bulan mei 2010 Android versi 2.2 diluncurkan. Android yg lebih complex dengan penambahan fitur fitur terbaru seperti Global Positioning System (GPS), kompas, kamera, dan Accelerometer.
6. Android versi 2.3 (Gingerbread)
Diluncurkan Desember 2010. Hal-hal yang direvisi dari versi sebelumnya adalah kemampuan seperti berikut :
1. SIP-based VoIP 2.
Near Field Communication (NCF) 3. Gyroscope dan sensor 4. Multiple cameras support 5. Mixable audio effects 6. Download manager 7.
Android versi 3.0 (Honeycomb)
Dirilis februari 2011 sebagai android 3.0 yang terdapat fitur baru setelah versi sebelumnya.
8. Android versi 4.0 ( Ice Cream Sandwich)
Dirilis pada 19 Oktober 2011, petinggi Goolge, Gabe Cohen menyatakan bahwa android 4.0 secara teoritis kompatibel dengan perangkat android 2.3x yang diproduksi pada saat itu.
9. Android versi 4.1 (Jelly Bean)
Google mengumumkan Android 4.1 dalam konferensi Google I/O pada tanggal 27 juni 2012, jelly bean adalah pembaharuan penting yang bertujuan meningkatkan fungsi dan kinerja antarmuka pengguna (UI).
10. Android versi 4.4 (Kitkat)
Google mengumumkan Android 4.4 Kitkat dinamai dengan izin dari Nestle
11. Android versi 5.0 (Lollipop)
Versi terbaru saat ini dengan tampilan UI yang lebih menarik, dengan meningkatkan daya hidup baterai 30% lebih tahan lama.
2.5 Perangkat Lunak Pendukung
Berikut adalah perangkat lunak pendukung dalam penunjang pembangunan aplikasi yang akan di bangun :
2.5.1 Android Studio
Android studio adalah IDE (Integrated Development Environment) resmi untuk pengembangan aplikasi Android dan bersifat open source atau gratis. Peluncuran Android Studio ini diumumkan oleh Google pada 16 mei 2013 pada event Google I/O Conference untuk tahun 2013. Sejak saat itu, Android Studio mengantikan Eclipse sebagai IDE resmi untuk mengembangkan aplikasi Android [11].
Gambar 2.4 Android StudioAndroid studio sendiri dikembangkan berdasarkan IntelliJ IDEA yang mirip dengan Eclipse disertai dengan ADT plugin (Android Development Tools). Android studio memiliki fitur : a.
Projek berbasis pada Gradle Build b. Refactory dan pembenahan bug yang cepat d.
Mendukung Proguard And App-signing untuk keamanan.
e.
Memiliki GUI aplikasi android lebih mudah f. Didukung oleh Google Cloud Platfrom untuk setiap aplikasi yang dikembangkan.
2.5.2 PHP
PHP (Hypertext Preprocessor) yang digunakan sebagai bahasa siscript
server-side dalam pengembangan web yang disipkan pada dokumen HTML.
Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien [12].Contoh script PHP : <html> <head> <title> Contoh Halaman PHP </title> </head> <body> <p> <?php print ("Selamat datang di halaman depan!"); ?> </body> </html> Tag php yang di proses untuk di tampilkan : <?php print ("Selamat datang di halamn depan!"); ?> Maka yang akan muncul pada halaman web ialah : “selamat datang di halaman depan!”
2.5.3 MySQL cukup stabil untuk digunakan sebagai media penyimpanan data. Sebagai sebuah database server yang mampu untuk memanajemen database dengan baik, MySQL terhitung merupakan database yang paling digemari dan paling banyak digunakan dibandingkan database lainnya [12].
2.5.3.1. Create Read Update Delete (CRUD)
Pada mySQL terdapat operasi dasar yang lebih dikenal dengan operasi CRUD yaitu : 1.
Create
Create adalah operasi penambahan data baru ke dalam tabel. Terdapat 2 Query untuk menambah data, yang pertama adalah penambahan yang tidak
menspesifikasikan nama kolom yang ditambahkan dan hanya memberikan isi dari tabelnya. Querynya adalah sebagai berikut :
INSERT INTO table_name
VALUES (value1,value2,value3,…); Untuk yang kedua adalah menginputkan data dengan mencantumkan nama kolom yang akan diisikan dengan isi di dalamnya. Querynya adalah sebagai berikut:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...); 2. Read
Read adalah operasi untuk menampilkan semua atau sebagian data yang berada di dalam database. Querynya adalah sebagai berikut: SELECT column_name,column_name FROM table_name; UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; 4.
Delete
c.
d.
UPDATE : memodifikasi data ke basis data.
c.
SELECT : mengambil data ke basis data.
b.
INSERT : menambah data ke basis data.
Data Manipulation Language (DML) DML adalah perintah-perintah SQL yang digunakan untuk mengoperasikan isi basis data. Perintah-perintah yang termasuk DML adalah : a.
DROP : menghapus atau menciptakan objek basis data 2.
ALTER : mengubah atau menciptakan objek basis data.
Delete adalah operasi untuk menghapus data yang ada di dalam table. Querynya adalah sebagai berikut: DELETE FROM table_name WHERE some_column=some_value; 2.5.3.2.
b.
CREATE : membuat atau menciptakan objek basis data.
SQL yang termasuk DDL adalah : a.
Data Definition Language (DDL) DDL adalah perintah-perintah SQL yang digunakan untuk menjelaskan objek basis data. Objek basis data terdiri dari database, table, index, dan view. Perintah
basis data relasional. Perintah SQL dapat dikelompokan menjadi 5 yaitu [13]: 1.
Language) merupakan bahasa query standart yang digunakan untuk mengakses
Menurut bunafit Nguroho dan Indah Indriyana, SQL (Structured Query
Perintah SQL
DELETE : menghapus data ke basis data. keamanan data. Perintah SQL yang termasuk security antara lain : a. : memberi hak akses pada user.
GRANT b. : mencabut hak akses pada user.
REVOKE 4. Integrity
Integrity adalah perintah-perintah SQL yang digunakan untuk menjaga
kesatuan data. Perintah SQL yang termasuk integrity adalah: RECOVER TABLE : memperbaiki tabel pada basis data.
5. Auxiliary
Auxiliary adalah perintah-perintah pelengkap, antara lain : a.
UNLOAD b.
RENAME
2.5.4 Java Development Kit (JDK)
Java Development Kit (JDK) adalah sekumpulan perangkat lunak yang dapat kamu gunakan untuk mengembangkan perangkat lunak yang berbasis Java, sedangkan JRE adalah sebuah implementasi dari Java Virtual Machine yang benar- benar digunakan untuk menjalankan program java. Baisanya, setiap JDK berisi satu atau lebih JRE dan berbagai alat pengembangan lain seperti sumber compiler java, bundling, debuggers, development libraries dan lain sebagainya [11].
2.5.5 Software Development Kit (SDK)
Software Development Kit (SDK) adalah suatu kit atau library dari bahasa perograman untuk pengembangan atau pembangunan suatu perangkat lunak dan biasanya SDK terdiri dari kumpulan tools yang dibutuhkan. Misalnya bahasa pemrograman java, mempunyai SDK yang berisi suatu library yang dapat digunakan untuk membuat suatu aplikasi berbasis java [11].
2.5.6 Web Service internet sehingga dapat diakses menggunakan protocol HTTP dan SOAP (Simple
Object Access Protocl). Dalam penggunaanya, web service dapat digunakan hanya
untuk memeriksa data user yang login ke sebuah website ataupun untuk digunakan pada transaksi perbankan online yang rumit.
Tujuan dari teknologi ini adalah untuk memudahkan beberapa aplikasi komponenya untuk saling terhubung dengan aplikasi lain dalam sebuah organisasi maupun diluar organisasi menggunakan standar yang tidak terikat platform (platform-neutral) dan tidak terikat akan bahasa pemrograman yang digunakan. Hal tersebut dapat terjadi karena XML standar yang didukung oleh banyak perusahaan besar didunia, yang digunakan untuk bertukar data. Selain daripada itu, penggunaan SOAP menjadi metode-metode dari objek-objek yang ada dalam sebuah web
service dapat di akses dari aplikasi lain seperti halnya aplikasi tersebut mengakses
metode local [14].2.5.7 Java Script Object Nonation (JSON)
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data [JSON] [15].
JSON terbuat dari dua struktur:
a) Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array. b) Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya,
semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang
sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah
dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada
struktur data ini.Contoh JSON pada halaman website :
<html> <head> <title>JSON testing - adiputra</title> <script type='text/javascript'> var JSON_adi = {nama:’adiputra’}; document.write (JSON_adi.nama); </script> </head> <body> </body> </html>
JSON_adi adalah nama variable pada javascript yang menunjukan bahwa variable tersebut berbentuk Object JSON karena terdapat kurung kurawal *{} *. Di dalam kurung kurawal terdapat atribut * nama * dengan value * adiputra *. * nama
- adalah atribut, sedangkan * adiputra * adalah value dari atribut * nama * dan keduanya dipisahkan dengan titik dua * : *. Lalu untuk memanggil valuenya kita dapat panggil dengan code.
<html> <head> <title>JSON testing - adiputra</title> <script type='text/javascript'> var JSON_adi = { nama:'adiputra', umur:21, status_nikah:false, hobi:['coding','main game','ngetik'] }; var nikah; if(JSON_adi.status_nikah){ nikah = "sudah nikah"; }else{ nikah = "belum nikah"; }
document.write (JSON_adi.nama +" berumur "+JSON_adi.umur+" suka