• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Child Tracker Berbasis Assisted-Global Positioning System (A-GPS) Dengan Platform Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Child Tracker Berbasis Assisted-Global Positioning System (A-GPS) Dengan Platform Android"

Copied!
69
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ANDI JUANSYAH

10110636

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)
(8)

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)

[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.

(10)

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.

(11)

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)

(12)

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 trackerchild pada anak dan child tracker parent pada orangtua.

3. Aplikasi child tracker - parent menampilkan tracking anak pada masing-masing orangtua.

(13)

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

(14)

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)

(15)

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.

(16)

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

(17)

tracking anak menggunakan pengujian black box dan pengujian untuk mengetahui apakah berhasil atau tidak tujuan yang telah dituliskan diatas.

BAB 5 KESIMPULAN DAN SARAN

(18)

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

(19)

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.

(20)

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)

(21)

: 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

(22)

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)

(23)

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)

(24)

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

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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

(30)

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>

(31)

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] .

(32)

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

(33)

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

(34)

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.

(35)

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

(36)

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.

(37)

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)

(38)

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

(39)

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.

(40)

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

(41)

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.

(42)

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

(43)

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.

(44)

35

Gambar 2.11. Contoh Sequence Diagram [20]

2.6.2.5. Class Diagram

(45)

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

(46)

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

(47)

5. Depedency

Hubungan antar-class dimana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.

6. Realization

(48)

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.

(49)
(50)

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

(51)
(52)
(53)

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

(54)

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

2

Edisi. 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

Gambar

Gambar 2.5 Google Direction API
Gambar 2.6 Contoh Google Geocoding dan Reverse Geocoding API
Gambar 2.7 Google maps
Gambar 2.8  Contoh Diagram UML [20]
+7

Referensi

Dokumen terkait

Pada tugas akhir ini dikembangkan aplikasi pelacak posisi, kecepatan, arah dengan menggunakan Global Positioning System (GPS), diharapkan pengguna yang menggunakan perangkat

Pesawat penerima GPS menggunakan sinyal satelit untuk melakukan triangulasi posisi yang hendak ditentukan dengan cara mengukur lama perjalanan waktu sinyal dikirimkan

Fungsi basis data dalam aplikasi ini adalah untuk memanggil suara informasi nama-nama jalan yang disimpan dalam aplikasi sekaligus untuk memperpendek koding if

Tugas akhir ini membahas perancangan antar muka dan pembuatan aplikasi pelacak posisi, kecepatan, arah dan menghasilkan output file Keyhole Markup Language (KML),

Adapun tujuan dari penulisan Tugas Pemrograman Khusus ini adalah membangun aplikasi penghitung kalori saat berolahraga sepeda, untuk membantu pengguna mengevaluasi

Tujuan dari terwujudnya aplikasi ini adalah pengguna dapat mengevaluasi kegiatan olahraga bersepeda mereka dengan mengetahui hasil aktivitasnya selama bersepeda,

2 Berdasarkan analisis tersebut, dalam Tugas Akhir ini penulis akan mengimplementasikan sebuah aplikasi penentu waktu shalat otomatis pada smartphone berbasis Android

Ada banyak metode yang dapat digunakan untuk menentukan arah Kiblat di suatu tempat, diantaranya dengan menggunakan kompas, menentukan Kiblat pada hari Rasydul