SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ANDI JUANSYAH
10110636
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
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. 7. Teman – teman kost 3 saudara yang telah memberikan dukungan dan
iv
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
v
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 Assisted – Global Positioning System (A-GPS) ... 9
vi
2.4.2 Versi android ... 13
2.5 Perangkat Lunak Pendukung ... 15
2.5.1 Android Studio ... 15
2.5.2 PHP ... 16
2.5.3 MySQL... 16
2.5.4 Java Development Kit (JDK) ... 19
2.5.5 Software Development Kit (SDK) ... 19
2.5.6 Web Service ... 19
2.5.7 Java Script Object Nonation (JSON) ... 20
2.5.8 Google Cloud Messaging API ... 22
2.5.9 Google Direction API ... 23
2.5.10 Google Geocoding API ... 24
2.5.11 Google Maps API... 24
2.6 Pemrograman Berorientasi Objek ... 26
2.6.1 Konsep Dasar Berorientasi Objek ... 27
2.6.2 Unified Model Language (UML) ... 30
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 39
3.1 Analisis Sistem ... 39
3.1.1 Analisis masalah ... 40
3.1.2 Analisis Aplikasi Sejenis Yang Sudah Ada ... 40
3.1.3 Analisis Arsitektur Sistem ... 45
vii
3.1.5 Analisis A-GPS ... 48
3.1.6 Analisis Web Service ... 50
3.2 Analisis kebutuhan Non Fungsional ... 52
3.2.1 Analisis Kebutuhan Perangkat Keras ... 52
3.2.2 Analisis Kebutuhan Perangkat Lunak ... 53
3.2.3 Spesifikasi kebutuhan perangkat lunak ... 53
3.2.4 Analisis Kebutuhan Pengguna (User) ... 55
3.2.5 Analisis Kebutuhan Fungsional ... 56
3.3 Perancangan Sistem ... 96
3.3.1 Perancangan Basis data ... 96
3.3.2 Perancangan antarmuka sistem ... 98
3.3.3 Jaringan Semantik ... 106
BAB 4 PERANCANGAN SISTEM DAN IMPLEMENTASI... 109
4.1 Implementasi Sistem ... 109
4.1.1 Implementasi Perangkat Keras ... 109
4.1.2 Implementasi Perangkat Lunak ... 110
4.1.3 Implementasi Basis Data ... 110
4.1.4 Implementasi Class ... 112
4.1.5 Implementasi Antarmuka ... 114
4.2 Pengujian Sistem ... 115
4.2.1 Rencana Pengujian ... 116
4.2.2 Pengujian Alpha ... 116
4.2.3 Pengujian Beta ... 126
BAB 5 KESIMPULAN DAN SARAN ... 137
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.
[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.
1
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)
3
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 berbasisassisted – 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
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.
2. Aplikasi terbagi menjadi 2 yaitu aplikasi child tracker–child pada anak dan child tracker –parent pada orangtua.
3. Aplikasi child tracker - parent menampilkan tracking anak pada masing-masing 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
5
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)
3. Pemodelan sistem (Modeling)
Pada proses ini, kebutuhan system diubah menjadi representasi ke dalam bentuk “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.
7
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 apakah sistem yang dibangun sudah memenuhi syarat sebagai aplikasi
tracking anak menggunakan pengujian black box dan pengujian untuk mengetahui apakah berhasil atau tidak tujuan yang telah dituliskan diatas.
BAB 5 KESIMPULAN DAN SARAN
9
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-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.
11
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)
: 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 teknologi
Secara 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 mencangkup sistem operasi, middleware dan aplikasi. Android menyediakan
13
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 FieldCommunication (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)
15
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 Studio
Android 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
17
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;
3. Update
Update adalah operasi untuk mengubah data yang ada di dalam database.
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
4. Delete
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. Perintah SQL
Menurut bunafit Nguroho dan Indah Indriyana, SQL (Structured Query Language) merupakan bahasa query standart yang digunakan untuk mengakses basis data relasional. Perintah SQL dapat dikelompokan menjadi 5 yaitu [13]:
1. 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 SQL yang termasuk DDL adalah :
a. CREATE : membuat atau menciptakan objek basis data. b. ALTER : mengubah atau menciptakan objek basis data. c. DROP : menghapus atau menciptakan objek basis data 2. Data Manipulation Language (DML)
DML adalah perintah-perintah SQL yang digunakan untuk mengoperasikan isi basis data. Perintah-perintah yang termasuk DML adalah :
a. INSERT : menambah data ke basis data. b. SELECT : mengambil data ke basis data. c. UPDATE : memodifikasi data ke basis data. d. DELETE : menghapus data ke basis data. 3. Security
19
keamanan data. Perintah SQL yang termasuk security antara lain : a. GRANT : memberi hak akses pada user.
b. REVOKE : mencabut hak akses pada user. 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
21
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>
document.write (JSON_adi.nama);
code tambahan ke 2 dengan menggunakan if. <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 "+JSON_adi.hobi[0]+ " dan "+nikah);
</script> </head> <body> </body> </html>
2.5.8 Google Cloud MessagingAPI
Google Cloud Messaging (GCM) untuk android adalah layanan yang membantu pengembang mengirim data dari server untuk aplikasi android mereka ke perangkat android lainnya. Ini bisa menjadi pesan singkat untuk memberitahu aplikasi android bahwa data baru yang akan diambil dari server (misalnya, film diunggah oleh seorang teman), atau bisa juga pesan yang berisi sampai dengan 4KB data payload (sehingga aplikasi seperti instant messaging dapat menerima pesan langsung) [16] .
23
notifikasi kepada seluruh client yang ada. Hanya membutuhkan sebuah account
Gmail maka akan langsung dapat menggunakan fasilitas GCM ini.
2.5.9 Google Direction API
Google Direction API adalah layanan dari google yang memudahkan kita (developer) untuk mencari rute dan navigasi dari satu tempat tertentu. Kita tinggal memasukkan latitude dan longitude posisi berangkat dan juga latitude longitude posisi tujuan [17].
Keungulan dari API ini adalah mudah digunakan, kita hanya tinggal melakukan HTTP request untuk memanggil Google Direction API. Selain mudah, juga menyediakan banyak moda transportasi, setiap moda transportasi bisa saja memiliki rute tersendiri dan waktu tempuh tersendiri.
Gambar 2.5 Google Direction API
Adapun fasilitas yang bisa digunakan secara gratis tetapi mempunyai batasan sebagai berikut :
a. 2500 request dalam 24 jam b. Mode transit dihitung 4 request
c. Bisa menggunakan sampai 8 waypoint dari setiap request
2.5.10 Google Geocoding API
Geocoding adalah proses konversi alamat ke dalam kordinat geografis seperti didapatkan sebuah alamat (1600 Amphiteatre Mountain View, CA) dan di konversikan menjadi kordinat latitude 37,423021 longitude – 122,083739, yang dapat digunakan untuk menempatkan penanda pada peta atau posisi peta.
Adapun reverse geocoding adalah kebalikan dari geocoding yaitu konversi kordinat menjadi sebuah alamat yang memungkinkan dapat menemukan sebuah alamat [18].
Gambar 2.6 Contoh Google Geocoding dan Reverse Geocoding API
2.5.11 Google Maps API
25
Gambar 2.7 Google maps
Meskipun pada awalnya hanya javascript API, API Maps sejak diperluas untuk menyertakan sebuah API untuk Adobe Flash aplikasi, layanan untuk mengambil gambar peta status, dan layanan web untuk melakukan geocoding, menghasilkan petunjuk arah mengemudi, dan mendapatkan profil elevasi.
Kelas kunci dalam perpustakaan Maps adalah MapView, sebuah subclass dari ViewGroup dalam standar perpustakaan Android. Sebuah MapView menampilkan peta dengan data yang diperoleh dari layanan Google Maps. Bila MapView memiliki focus, dapat menangkap tombol yang ditekan dan gerakan sentuh untuk pan dan zoom peta secara otomatis, termasuk penanganan permintaan jaringan untuk ubin peta tambah. Ini juga menyediakan semua elemen UI yang diperlukan bagi pengguna untuk mengendalikan peta. Aplikasi tersebut juga dapat menggunakan metode MapView kelas untuk mengontrol MapView secara terprogram dan menarik sejumlah jenis tampilan di atas peta.
2.6 Pemrograman Berorientasi Objek
Metodologi berorientasi objek adalah suatu strategi pembangunan peralngkan lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya . Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientas objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas [20].
Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekata terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini beragam dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Keuntungan dalam menggunakan metodologi berorientasi objek adalah sebagai berikut :
1. Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).
2. Kecepatan pengembangan
27
3. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.
4. Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.
5. Meningkatkan kualitas perangkat lunak
Karena pendekatan pengembangan lebih dekat dengan dunai nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.
2.6.1 Konsep Dasar Berorientasi Objek
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya) [20]. Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.
Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dihubungkus) menjadi suatu kesatuan.
Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancanggan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya, dan dapat berinteraksi satu sama lain.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:
1. Kelas (Class)
Kelas adalah sekumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (metode/operasi), hubungan (relationship)dan arti. Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru. Secara tekniks kelas adalah sebuah struktur dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek.
2. Objek (object)
Objek adalah abstraksi dari sesuatu yang mewakili dunia nyata benda, manusia, satua organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstra. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.
Secara teknis, sebuah kelas saat program dieksekusi makan akan dibuat sebuah objek. Objek dilihat darisegi teknis adalah elemen pada saat runtime yang akan diciptakan, dimanipulasi, dan dihancurkan saat eksekusi sehinga sebuah objek hanya ada saat sebuah program dieksekusi. Jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas.
3. Metode (method)
29
satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. Metode atau operasi dapat berasal dari event, aktifitas atau aksi keadaan, fungsi, atau kelakuan dunnia nyata. Contoh metode atau operasi misalnya Read, Write, Move, Copy, dan sebagainya.
4. Atribut (attribute)
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat beruoa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya.
5. Abstraksi (abstraction)
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
6. Enkapsulasi (encapsulation)
Pembungkusa atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya.
7. Pewarisan (inheritance)
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.
8. Antarmuka (interface)
Antarmuka sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface
dapat diimplementasikan oleh kelas lain. 9. Reusability
10.Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.
11.Komunikasi Antarobjek
Komunikasi antarobjek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.
12.Polimorfisme (polymorphism)
Kemampuan suatu objek digunakan di banyak tujuan yang berbeda dengan nama yang sehingga menghemat baris program.
13.Package
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda
2.6.2 Unified Model Language (UML)
Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan perangkat lunak. Seperti yang kita ketahui bahwa menyatukan banyak kepala untuk menceritakan sebuah ide dengan tujuan untuk memahami hal yang tidaklah mudah, oleh karena itu diperlukan sebuah bahasa pemodelan perangkat lunak yang dapat dimengerti oleh banyak orang. Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan banyak pihak adalah Data Flow Diagram (DFD) untuk memodelkan perangkat.
31
untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan voisual untu menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan digaram dan teks-teks pendukung.UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. Seperti yang kita ketahui di dunia sistem informasi yang tidak dapat dibakukan, semua tergantung kebutuhan, lingkunan dan konteksnya. Begitu juga dengan perkembangan penggunaan UML bergantung pada level abstraksi penggunaannya. Jadi, belum tentu pandangan yang perbeda dalam penggunaan UML adalah suatu yang salah, tapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin digambarkan. Secara analogi jika dengan bahasa yang digunakan sehari-hari, belum tentu penyampaian bahasa dengan puisi adalahhal yang salah. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang sistem informasi merupakan hal yang sangat wajar [20].
2.6.2.1. Diagram UML
Gambar 2.8 Contoh Diagram UML [20]
Berikut ini penjelasan singkat dari pembagian kategori tersebut : 1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
3. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem
2.6.2.2. Use Case Diagram
Use Case atau diagram Use Case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, Use Case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Syarat penamaan pada Use Case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada Use Case yaitu pendefinisian apa yang disebut aktor dan Use Case.
33
Gambar 2.9 Contoh Use case Diagram [20]
2.6.2.3. Activity Diagam
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut :
1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan 2. Urutan atau pengelompokan tampilan dari sistem/user interface dimana
setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan
Gambar 2.10 Contoh Activity Diagram [20]
2.6.2.4. Sequence Diagram
Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.
35
Gambar 2.11. Contoh Sequence Diagram [20]
2.6.2.5. Class Diagram
Gambar 2.12. Contoh Class Diagram [20]
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas ebaiknya memiliki jenis-jenis kelas berikut :
1) Kelas Main
Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan. 2) Kelas yang menangani tampilan sistem
Kelas yang mendefinisikan dan mengatur tampilan ke pemakai. 3) Kelas yang diambil dari pendefinisian use case
Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case.
4) Kelas yang diambil dari pendefinisian data
37
Jenis-jenis kelas diatas juga dapat digabungkan satu sama lain sesuai dengan pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas seperti koneksi ke basis data, membaca file teks, dan lain sebagainya sesuai kebutuhan.
Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar
choesion yang kuat dan kadar coupling yang lemah.
Dalam class diagram terdapat beberapa relasi (hubungan antar class) yaitu: 1. Generalization dan Inheritence
Diperlukan untuk memperlihatkan hubungan pewarisan (inheritance) antar unsur dalam diagram kelas. Pewarisan memungkinkan suatu kelas mewarisi semua atribut, operasi, relasi, dari kelas yang berada dalam hirarki pewarisannya.
2. Associations
Hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui ekstensi class lain. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).
3. Aggregation
Hubungan antar-class dimana class yang satu (part class) adalah bagian dari class lainnya (whole class).
4. Composition
5. Depedency
Hubungan antar-class dimana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.
6. Realization
137
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil pembahasan yang telah diuraikan pada bab-bab sebelumnya, maka penulis dapat menarik kesimpulan sebagai berikut :
1. Dengan adanya aplikasi Child Tracker pada platform android, orangtua dapat dengan mudah mengetahui keberadaan anak secara jarak jauh dengan hanya menggunakan mobile Android .
2. Dengan adanya aplikasi Child Tracker pada platform android membantu anak menghubungi orangtua dengan cepat melalui fitur sos yang pada saat digunakan dapat mengirim notifikasi sos ke smartphone orangtua, serta menghubungi no telpon orangtua yang sudah terdaftar pada aplikasi orangtua secara otomatis setelah beberapa detik tombol sos di gunakan.
5.2 Saran
Perangkat lunak Child Tracker yang dibangun merupakan produk yang berfokus kepada tracking dari smartphone ke smartphone, oleh karena itu ada beberapa saran yang dapat digunakan sebagai paduan pengembangan perangkat lunak kea rah yang lebih baik guna mendukung pertumbuhan pengguna dan konten pada perangkat lunak ini. Adapun saran – saran terhadap pengembangan perangkat lunak Child Tracker ini adalah sebagai berikut :
1. Menambah fitur lain saat penanganan jika aplikasi child tracker – child
sedang tidak ada internet tetapi tetap dapat mengirimkan lokasi kepada orangtua.
2. Memperbaiki tampilan aplikasi sehingga dapat lebih menarik.
DAFTAR RIWAYAT HIDUP
A. Data Pribadi
Nama : Andi Juansyah
Tempat Tanggal Lahir : Sukabumi, 02 Juni 1992
Jenis Kelamin : Laki Laki
Golongan Darah : AB
Pekerjaan : Mahasiswa
Agama : Islam
Kewarganegaraan : Indonesia
Alamat Rumah : Jl. Kenanggan AJ 26/17 Pondok Ungu, Bekasi Utara
Telepon : 085722676779
Email : standy301@gmail.com
Status : Belum Menikah
Tinggi/Berat : 175cm/65kg
Hobi : Guitar, Photography, Photo Editing, Web Design, Maintenance.
B. Pendidikan
No Pendidikan Jurusan Periode
1 Universitas Komputer Indonesia Teknik Informatika 2010-sekarang
2 SMA Taman Harapan Indah IPA 2007-2010
3 SMP Taman Harapan Indah - 2004-2007
4 SDN Bahagia 02 Babelan Bekasi - 2001-2007
C. Keahlian
Proggramming - Html - Css
Design
- Photoshop - Web design
Maintenance - PC
- OS, XP,WIN7 - Jaringan
BERBASIS ASSISTED
–
GLOBAL POSITIONING SYSTEM (A-GPS)
DENGAN PLATFORM ANDROID
Andi Juansyah
Teknik Informatika – Universitas Komputer Indonesia Jl. Dipatiukur 112-114 Bandung
Email : standy301@gmail.com
ABSTRAK
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 bersarnya anak semakin luas pergaulan dan kesibukan anak menjadi tidak terpantau sepenuhnya oleh orangtua, hal ini menjadi kekhawatiran orangtua dimana belakangan ini banyaknya berita anak hilang, dan dalam kondisi darurat anak mengalami kesulitan dalam menghubungi orangtua.
Berdasarkan hal tersebut, maka dapat disimpulkan perlunya membangun perangkat lunak yang dapat membantu permasalahan para orangtua dan anak yang sudah di paparkan sebelumnya. Child
Tracker adalah sebuah perangkat lunak yang berjalan
pada perangkat mobile sehingga mudah untuk diakses dan di bawa kemana saja. Child Tracker
menggunakan teknologi Assisted Global Positioning
System (A-GPS),penentu posisi pada GPS dengan
bantuan server pembantu dari BTS selluler.
Perangkat lunak yang dibangun menggunakan pemodelan berbasis objek. Child Tracker dibangun menjadi 2 aplikasi yaitu Child Tracker – Parent untuk pengguna orangtua dan Child Tracker – Child untuk pengguna anak.
Berdasarkan hasil pengujian menggunakan metode pengujian alpha dan beta dapat disimpulkan bahwa perangkat lunak Child Tracker telah membantu orangtua dalam memantau anak dengan menggunakan platform android, dan membantu anak dalam mengirim tanda bahaya dan menghubungi orangtua secara cepat dengan adanya fitur sos.. Kata kunci : Child Tracker,A-GPS, Pemantauan, SOS, Android.
1. PENDAHULUAN
Orangtua sudah seharusnya memberikan yang terbaik untuk anaknya, mulai dari kebutuhan makanan yang sehat, pendidikan,bah kan 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 di bunuh. Serperti berita kehilangan anak yang bernama Rimma Naomi berumur 14 tahun, yang hilang saat pergi untuk mengikuti eskul 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.
Assisted Global Positioning System (A-GPS)
merupakan pengembangan dari sistem gps biasa sebagai penentu posisi. yang dalam penentuan posisi tidak 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
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
2Edisi. 1 Volume. 1 Agustus 2015 ISSN : 2089-9033
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].
Tujuan yang akan dicapai dari penelitian ini adalah sebagai berikut:
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.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 [3].
1.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” [4].
1.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 assistance server atau juga disebut LBS (location Base Service). Dengan demikian, membantu proses penerimaan data untuk menentukan posisi user menjadi benar-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 1.1 Contoh (Assisted – Global Positioning
System) A-GPS
1.4 Pengenalan Sistem Operasi Android
Android merupakan sistem operasi yang sekarang sedang terkenal di pasaran smartphone saat ini. Berikut adalah pengenalan android :
1.4.1 Sejarah Android
Android adalah sebuah sistem operasi perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.
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.
1.5 Perangkat Lunak Pendukung
Berikut adalah perangkat lunak pendukung dalam penunjang pembangunan aplikasi yang akan di bangun.
1.5.1 Android Studio