Pembangunan Aplikasi Monitouring Untuk Club Motor Dengan Pemanfaatan Location Base Service (LBS) Menggunakan Metode Advance Positioning Pada Platform Android

(1)

PADA PLATFORM ANDROID

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

INDRA PRAMANA

10110120

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2015


(2)

iii

Puji dan syukur penulis panjatkan kehadirat Allah Subhanahu Wa Ta‟ala yang telah melimpahkan rahmat, hidayah, dan inayah-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul “Pembangunan Aplikasi Monitouring Untuk Club Motor Dengan Pemanfaatan Location Base Service (LBS) Menggunakan Metode Advance Positioning Pada Platform Android” sebagai syarat untuk menyelesaikan program Strata I Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer di Universitas Komputer Indonesia. Shalawat dan salam semoga selalu terlimpah curahkan kepada baginda tercinta kita nabi Muhammad Shallallahu „alaihi Wasallam, keluarganya, sahabatnya, dan orang-orang yang mengikutinya hingga hari kiamat.

Penyusunan tugas akhir ini tidak akan terwujud tanpa mendapat dukungan, bantuan, dan masukan dari berbagai pihak. Untuk itu, penulis menyampaikan terimakasih yang sebesar-besarnya kepada:

1. Allah Subhanahu Wa Ta‟ala, atas segalanya.

2. Orang tua tercinta Ibunda Sutarsih Lediawati dan Ayahanda Dana Miharja, Adik tercinta Cici Lugina, serta seluruh keluarga yang selalu memberikan doa, bantuan baik moril atau pun materil, semangat, motivasi, dan kasih sayangnya kepada penulis.

3. Ibu Anna Dara Andriana, S.Kom., M.Kom. selaku dosen pembimbing dan penguji dua yang telah membimbing, memberikan perhatian serta memberikan pengarahan selama penelitian tugas akhir sehingga tugas akhir ini dapat menjadi sebuah karya ilmiah yang berkualitas dan bermanfaat. 4. Bapak Rangga Gelar Guntara, S.Kom., M.Kom. selaku reviewer seminar dan

penguji satu yang telah memberikan masukan dan arahan selama penelitian tugas akhir ini.

5. Bapak Andri Heryandi, S.T., M.T. selaku penguji tiga yang telah menguji kompetensi dan memberikan masukan untuk penelitian tugas akhir ini.


(3)

iv

Program Studi Teknik Informatika yang telah memberikan ilmu dan pengetahuannya.

8. Teman-teman kelas IF-17K angkatan 2010 yang telah berjuang bersama, saling mendukung satu sama lain agar tetap semangat, dan telah bersama-sama melewati masa-masa kuliah.

9. Teman-teman yang berjuang bersama dalam menempuh tugas akhir yang selalu memberi dukungan satu sama lain.

10. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara langsung maupun tidak langsung yang tidak dapat penulis sebutkan satu per satu.

Sangat disadari bahwa dalam pelaksanaan dan penyusunan laporan tugas akhir ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu, saran dan kritik yang membangun sangat diharapkan untuk pengembangan ke arah yang lebih baik.

Akhir kata, semoga tugas akhir ini dapat bermanfaat khususnya bagi penulis dan untuk seluruh pihak yang membutuhkan pada umumnya.

Bandung, 31 Januari 2016


(4)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xvii

DAFTAR LAMPIRAN ... xxi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ...1

1.2 Identifikasi Masalah ...2

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 Sistematika Penulisan ...6

BAB 2 TINJAUAN PUSTAKA ... 9

2.1 Touring ...9

2.1.1 Sejarah Touring di Indonesia ... 9

2.1.2 Klasifikasi Touring ... 9

2.2 Android ...10


(5)

vi

2.4 Assisted – Global Positioning System (A-GPS) ...14

2.5 Stuctured Analysis and Design (SAD) ...15

2.5.1 Pengenalan Stuctured Analysis and Design (SAD) ...16

2.5.2 Data Flow Diagram (DFD) ...16

2.6 Object Oriented Analysis and Design (OOAD) ...18

2.6.1 Pengenalan Object Oriented Analysis and Design (OOAD) ...18

2.6.2 Unified Modelling Language (UML) ...20

2.7 Web Service ...23

2.8 Java Script Object Notation (JSON) ...24

2.9 Basis Data ...25

2.9.1 Database Management System (DBMS) ... 26

2.9.2 MySQL ... 27

2.9.3 Model Entity-Relationship ... 28

2.9.4 Model Relasional ... 29

2.10 Pemrograman Web ...30

2.10.1 Hyper Text Markup Language (HTML) ... 30

2.10.2 PHP ... 30

2.10.3 Casecading Style Sheet (CSS) ... 31

2.10.4 JavaScript ... 31

2.11 Pemrograman Java ...32

2.11.1 Bahasa Pemrograman Java ... 32


(6)

vii

3.1 Analisis Sistem ...39

3.1.1 Analisis Masalah ... 39

3.1.2 Analisis Arsitektur Sistem ... 40

3.1.2.1 Analisis Arsitektur Sub Sistem Web ... 40

3.1.2.2 Analisis Arsitektur Sub Sistem Mobile ... 41

3.1.3 Spesifikasi Kebutuhan Perangkat Lunak ... 45

3.1.4 Analisis Kebutuhan Non Fungsional ... 47

3.1.4.1 Analisis Kebutuhan Perangkat Keras... 47

3.1.4.2 Analisis Kebutuhan Perangkat Lunak ... 48

3.1.4.3 Analisis Pengguna Sistem (User) ... 49

3.1.5 Analisis Data ... 50

3.1.6 Analisis Kebutuhan Fungsional ... 51

3.1.6.1 Analisis Kebutuhan Fungsional Sub Sistem Web ... 52

3.1.6.2 Analisis Kebutuhan Fungsional Sub Sistem Mobile ... 79

3.2 Perancangan Sistem ...111

3.2.1 Perancangan Data... 111

3.2.2 Perancangan Struktur Menu ... 115

3.2.2.1 Perancangan Struktur Menu Sub Sistem Web ... 115

3.2.2.2 Perancangan Struktur Menu Sub Sistem Mobile ... 116

3.2.3 Perancangan Antarmuka ... 116

3.2.3.1 Perancangan Antarmuka Sub Sistem Web ... 116


(7)

viii

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 141

4.1 Implementasi Sistem ...141

4.1.1 Lingkungan Implementasi ... 141

4.1.2 Implementasi Data ... 142

4.1.3 Implementasi Antarmuka ... 145

4.1.4 Implementasi Class ... 146

4.2 Pengujian Sistem ...147

4.2.1 Rencana Pengujian ... 147

4.2.2 Pengujian Alpha ... 147

4.2.2.1 Skenario Pengujian ... 147

4.2.2.2 Kasus dan Hasil Pengujian... 150

4.2.2.1 Kesimpulan Pengujian Alpha ... 164

4.2.3 Pengujian Beta ... 164

4.2.3.1 Kuesioner Pengujian... 164

4.2.4 Kesimpulan dari hasil Implementasi dan Pengujian ... 169

BAB 5 KESIMPULAN DAN SARAN... 171

5.1 Kesimpulan ...171

5.2 Saran ...171


(8)

173

Melaksanakan Penelitian dalam Kajian Media dan Budaya. Yogyakarta: BENTANG [2] http://www.beritateknologi.com/android-masih-rajai-smartphone-dengan-

prosentase-pengguna-mencapai-angka-81-persen [Accessed 9 September 2015] [3] Books, LLC. 2011. Software Development Process. General Books.

[4] I. Sommerville, Software Engineering, Jakarta: Erlangga, 2003.

[5] N. S. H, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Bandung: Informatika, 2012.

[6] JSON, "JSON," [Online]. Available: http://www.json.org/json-id.html. [Accessed 28 September 2015].

[7] B. Hariyanto, Rekayasa Sistem Berorientasi Objek, Bandung: Informatika, 2004. [8] M. Huda and B. Komputer, Membuat Aplikasi Database dengan Java, MySQL, dan

NetBeans, Jakarta: PT. Elex Media Komputindo, 2010.

[9] Ramadhan, Pemrograman Web Database dengan PHP dan MySQL, Jakarta: PT. Elex Media Komputindo, 2006.

[10] Ramadhan, Pemrograman Web Menggunakan HTML, CSS dan JavaScript, Jakarta: PT. Elex Media Komputindo, 2006.

[11] J. Simarmata, Perancangan Basis Data, Yogyakarta: Andi, 2007.

[12] R. McLeod and G. P. Schell, Sistem Informasi Manajemen, Jakarta: Salemba Empat, 2008.

[13] www.gilamotor.com [Accessed 30 Oktober 2015]

[14] xa.yimg.com/kq/groups/17366515/.../TIPS+&+TRIK+Touring.pdf [Accessed 30 Oktober 2015]

[15] http://www.windowscentral.com/gps-vs-agps-quick-tutorial [Accessed 3 Nobember 2015].


(9)

1 1.1 Latar Belakang Masalah

Touring adalah perjalanan ke suatu tempat yang dilakukan oleh sekelompok orang atau komunitas yang dilakukan berdasarkan tujuan yang sama. Istilah touring di Indonesia lebih sering digunakan oleh klub motor mengingat jumlahnya yang sangat banyak baik yang resmi terdaftar ataupun tidak. Touring yang sukses bisa terjadi apabila segala kegiatan yang mendukung aktivitas touring dapat diinformasikan dengan baik kepada seluruh anggota klub motor yang bersangkutan sehingga bisa meminimalisir resiko yang dapat terjadi seperti tersesat ataupun terpisah dalam perjalanan.

Di Amerika tepatnya California, kegiatan touring klub motor sudah menjadi hal yang lumrah. Location Base Service (LBS) / GPS menjadi hal yang wajib untuk digunakan dalam kegiatan touring. Teknologi LBS semakin populer digunakan di dunia termasuk Indonesia seiring dengan perkembangan teknologi smartphone khususnya Android yang menguasai pasar dunia sebanyak 81,3% (www.beritateknologi.com, 2013). Metode Advance Positioning yaitu

Assisted-Global Positioning System (A-GPS) yang dikembangkan oleh United States Federal

Communications Comission (US FCC) membuat teknologi LBS menjadi semakin akurat dalam menentukan lokasi yang tentunya dapat dimanfaatkan untuk kegiatan

touring klub motor.

Berdasarkan hasil kuisioner dengan 30 responden anggota klub motor Bandung FU Riders Community (BFRC), didapatkan data 86,6% anggota menggunakan Android akan tetapi hanya 6,6% anggota yang memanfaatkan aplikasi LBS pada saat

touring berlangsung. Njey (Leader BFRC) mengatakan bahwa untuk saat ini aplikasi LBS yang ada dirasa kurang efektif jika digunakan oleh seluruh anggota saat touring berlangsung karena rute yang ditampilkan berbeda sehingga resiko tersesat dan


(10)

terpisah sangat mungkin terjadi. Anggota lebih difokuskan menggunakan Grup Chat saja untuk berbagi informasi jika ada yang tersesat atau terpisah. Akan tetapi hal tersebut juga harus mengambil resiko berkendara dengan cepat bahkan menerobos lampu merah agar tidak terpisah dengan anggota lainnya. Opsi manapun yang dipilih bisa menyebabkan resiko yang besar. LBS penting digunakan untuk mencari rute dan penentuan lokasi saat touring. Grup Chat juga penting untuk memberikan informasi jika terjadi suatu masalah saat touring berlangsung. Masalah lainnya adalah saat ini

Grup Chat yang ada tidak bisa memantau informasi dan konfirmasi kegiatan touring sehingga tidak jarang ketua klub kesulitan untuk mengetahui siapa saja anggotanya yang mengikuti kegiatan touring. Pernyataan tersebut didukung dengan hasil kuisioner yang menyatakan bahwa 63,3% anggota tidak mengetahui rute touring, 56,6% anggota belum bisa mengetahui secara kesuluran konfirmasi dan informasi kegiatan touring , 93,3% anggota kusiltan untuk meminta bantuan saat terpisah atau tersesat ketika touring berlangsung.

Berdasarkan permasalahan di atas, penulis bermaksud membangun sebuah aplikasi yang bernama Monitouring dengan menggabungkan teknologi LBS dan deteksi rider berbasis mobile yang diharapkan bisa menjadi solusi untuk mengatasi

masalah tersebut. Oleh karena itu penulis mengambil topik “Pembangunan Aplikasi

Monitouring dengan Pemanfaatan Location Base Service (LBS) Menggunakan

Metode Advance Positioning pada Platform Android ”.

1.2 Identifikasi Masalah

Berdasarkan uraian latar belakang masalah di atas, maka dapat diidentifikasi masalahnya sebagai berikut :

1. Tidak semua anggota memanfaatkan LBS untuk mengetahui rute perjalanan karena rute yang didapat berbeda-beda.

2. Informasi dan konfirmasi kegiatan touring saat ini belum bisa disampaikan secara efektif.

3. Tidak bisa memantau anggota saat touring berlangsung sehingga jika ada yang terpisah maka sulit untuk diketahui.


(11)

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang ada, maksud dari penelitian ini adalah membangun sebuah perangkat lunak pada platform android yang bisa membantu meminimalisir resiko saat touring berlangsung sehingga tercapai tujuan sebagai berikut :

1. Membantu mendapatkan rute perjalanan berupa navigasi untuk meminimalisir resiko tersesat.

2. Membantu menyampaikan segala informasi penting dan konfirmasi kegiatan

touring.

3. Membantu memantau lokasi anggota klub untuk meminimalisir resiko terpisah saat perjalanan.

1.4 Batasan Masalah

Mengingat permasalahan yang dikaji cukup luas, maka penelitian ini dibatasi berbagai hal agar tidak menyimpang dari tujuannya. Batasan masalahnya adalah sebagai berikut :

1. Perangkat lunak ini berbahasa Indonesia dan diperuntukan khususnya untuk klub motor di Indonesia.

2. Perangkat lunak dibangun pada 2 sub sistem yaitu website (backend) dan aplikasi android (frontend).

3. Sub sistem backend dikelola oleh admin Monitouring dan admin klub motor. Admin Monitouring bertugas untuk mengelola dan mengontrol seluruh aktifitas perangkat lunak. Admin klub motor bertugas untuk mengelola dan mengontrol aktifitas perangkat lunak pada klub motornya.

4. Untuk membuat Klub harus menghubungi Admin Monitouring.

5. Pendekatan analisis dan perancangan dari pembangunan perangkat lunak dibuat dengan dua tipe. Untuk sub sistem website menggunakan SAD (Structure Analysis and Design), sedangkan sub sistem aplikasi Android menggunakan OOAD (Object-Oriented Analysis and Design) dengan UML (Unified Modelling Language).


(12)

1.5 Metodologi Penelitian

Metodologi yang digunakan pada penelitian ini adalah metode kuantitatif. Metode-metode kuantitatif merupakan metode metode yang didasarkan pada informasi numerik atau kuantitas-kuantitas dan biasanya diasosiasikan dengan analisis-analisis statistik[1]. Oleh karena itu penelitian ini memerlukan data-data yang berkaitan dengan penelitian untuk menemukan solusi dari permasalahan yang ada. 1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur

Studi literatur, yaitu metode pengumpulan data dengan dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan Touring, Location Base Service (LBS) dan metode Advance

Positioning serta pendukung yang digunakan untuk membangun aplikasi android seprti Android Studio.

b. Wawancara

Metode pengumpulan data ini dilakukan dengan cara bertanya secara langsung kepada sumber yang dianggap memeliki kekayaan intelektual tentang klub motor dan touring.

c. Kuisioner

Metode pengumpulan data ini dilakukan dengan memberikan beberapa pertanyaan berupa pilihan ganda kepada 30 responden tetap mulai dari awal penelitian sampai dengan akhir penelitian. Target responden berusia 17 s.d. 50 tahun.


(13)

1.5.2 Metode Pembangunan Perangkat Lunak

Tahap pengembangan perangkat lunak dalam pembangunan aplikasi ini adalah dengan menggunakan metode waterfall seperti pada Gambar 1.1 [3].

Gambar 1.1 Metode Waterfall

Langkah-langkah dalam pembangunan aplikasi Monitouring ini adalah sebagai berikut :

1. Analisa Kebutuhan

Tahap ini dimulai dengan merumuskan permasalahan mengenai touring klub motor, menentukan tujuan yang diharapkan, menentukan batasan masalah, hingga melakukan studi literatur yang berkaitan dengan touring klub motor, LBS metode Advance Positioning dan Android.

2. Desain Sistem

Pada tahap ini diberikan gambaran umum mengenai sistem yang akan dibangun dengan metode SAD (Structure Analysis and Design) untuk


(14)

3. Penulisan Kode Program

Tahap ini merupakan sebuah konversi rancangan sistem kedalam kode bahasa pemrograman Java, HTML, PHP, CSS dan JavaScript.

4. Pengujian Program

Pada tahap ini pengujian dilakukan untuk memastikan bahwa seluruh kebutuhan perangkat lunak sudah terpenuhi sesudah pengujian sistem diberikan kepada pengguna.

5. Penerapan Program dan Pemeliharaan

Penerapan program dilakukan dengan cara mengupload aplikasi ke Play Store agar bisa digunakan oleh masyarakat luas. Pemeliharaan dilakukan untuk pengembangan implementasi sistem.

1.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang kasus yang akan dipecahkan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB 2TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian.

BAB 3ANALISIS DAN PERANCANGAN SISTEM

Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti serta model matematis untuk analisisnya.


(15)

BAB 4IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas tentang implementasi dari hasil tahapan analisis dan perancangan aplikasi yang dibangun. Serta berisi uji coba dan hasil pengujian sistem.

BAB 5KESIMPULAN DAN SARAN

Berisi kesimpulan yang sudah diperoleh dari hasil pengujian sistem dan berisi saran untuk pengembangan selanjutnya


(16)

(17)

9

BAB 2

TINJAUAN PUSTAKA

2.1 Touring

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan kegiatan touring, diantaranya sejarah touring di Indonesia dan klasifikasi touring.

2.1.1 Sejarah Touring di Indonesia

Pengenalan Touring tidak terlepas dari pengenalan kendaraan bermotor pertama kali di Indonesia. Sepeda motor di Indonesia pertama kali dimiliki oleh seorang berkebangsaan Inggris bernama John C. Potter pada tahun 1893. J.C. Potter dikenal sebagai penjual mobil yang mendapat kepercayaan Sunan Solo untuk mengurusi pengiriman mobil pertamanya dari Eropa.

Seiring dengan pertambahan jumlah kendaraan bermotor yang terus bertambah, lahirlah klub-klub touring sepeda motor, yang anggotanya adalah pengusaha perkebunan dan petinggi pabrik gula.

Touring klub motor pertama kali di Indonesia memecahkan rekor perjalanan sejauh 850 Kilometer melintasi Batavia, Bandung, Semarang, Blora, Tjepu menuju Surabaya [13].

2.1.2 Klasifikasi Touring

Touring dapat dibagi menjadi beberapa jenis [14], yaitu : 1. Touring berdasarkan TEMPAT/WILAYAH

Domestik Tour, Overseas Tour, Countryside Tour, Intercity Tour dan

Intersland Tour.

2. Touring berdasarkan WAKTU

Halfday Tour, Fullday Tour, Overnight Tour dan Multipleday Tour. 3. Touring berdasarkan CARA PENYELENGGARAAN

Regular Tour dan Irregular Tour. 4. Touring berdasarkan TUJUAN


(18)

Educational Tour, Bussiness Tour, Cultural Tour dan Convention Tour. 5. Touring berdasarkan SARANA ANGKUTAN

Overland Tour, Sea Tour, Air Touring dan Combination. 6. Touring berdasarkan KELAS/TARIF

Deluxe Tour, First Class Tour, Standar Class Tour, Economy Class Tour dan

Budget Class Tour.

7. Touring berdasarkan JUMLAH PESERTA

Individual Tour, Grup Tour dan Mass Tour. 8. Touring berdasarkan MINAT

General Tour dan Special Interest Tour.

2.2 Android

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan sistem operasi Android, diantaranya pengenalan sistem operasi Android, arsitektur Android, dan Android SDK (Software Development Kit).

2.2.1 Sistem Operasi Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan

platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka [4]. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah OpenHandsetAlliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

Pada masa saat ini, sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis Android, vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smartphone di dunia yang memproduksi Android. Hal ini karena


(19)

Android itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun [4].

Tidak hanya menjadi sistem operasi di smartphone, saat ini Android menjadi pesaing utama dari Apple pada sistem operasi tablet PC. Pesatnya pertumbuhan Android selain faktor yang disebutkan di atas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, aplikasi dan tools pengembangan, market aplikasi Android, serta dukungan yang sangat tinggi dari komunitas OpenSource di dunia, sehingga Android terus berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang ada di dunia [4].

Android telah melalui cukup banyak pembaruan sejak pertama rilis. Tabel 2.1 menunjukkan berbagai versi Android beserta dengan tanggal rilis dan codename (nama kode).

Tabel 2.1 Sistem Operasi Android

2.2.2 Arsitetktur Android

Secara garis besar, arsitektur Android terdiri atas 5 bagian, diantaranya sebagai berikut [4]:

Versi Android Tanggal Rilis Nama Kode

1.0 23 September 2008 -

1.1 9 February 2009 -

1.5 30 April 2009 Cupcake

1.6 15 September 2009 Donut

2.0/2.1 26 Oktober 2009 Éclair

2.2 20 Mei 2010 Froyo

2.3 6 Desember 2010 Gingerbread

3.0/3.1/3.2 22 Februari 2011 Honeycomb

4.0 19 Oktober 2011 Ice Cream Sandwich

4.1/4.2/4.3 9 Juli 2012 Jelly Bean

4.4 31 Oktober 2013 KitKat


(20)

1. Application dan Widgets

Merupakan layer (lapis), dimana pengguna berhubungan dengan aplikasi saja. 2. ApplicationFrameworks

Merupakan Open Development Platform yang ditawarkan Android untuk dapat dikembangkan guna membangun aplikasi. Pengembang memiliki akses penuh menuju Application Programming Interface (API) Frameworks seperti yang di lakukan oleh aplikasi kategori inti. Komponen-komponen yang termasuk di dalam Applications Frameworks adalah Views, Content Provider,

Resource Manager, Notification Manager, dan Activity Manager.

3. Libraries

Merupakan layer, dimana fitur-fitur Android berada. 4. Android RunTime

Merupakan layer yang membuat aplikasi Android dapat dijalankan, dimana dalam prosesnya menggunakan implementasi Linux.

5. Linux Kernel

Merupakan layer inti dari sistem operasi Android berada.


(21)

2.2.3 Android SDK (Software Development Kit)

Android SDK adalah tools Application Programming Interface (API) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middeware dan aplikasi kunci yang dirilis oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi bawaan handphone/smartphone [4].

2.3 Location Base Service (LBS)

Location Based Service (LBS) atau layanan berbasis lokasi adalah service yang berfungsi untuk mencari dengan teknologi Global Positioning System (GPS) dan Google’s cell-based location [4]. Map dan layanan berbasis lokasi menggunakan lintang (latitude) dan bujur (longitude) untuk menentukan lokasi geografis, namun sebagai user dibutuhkan alamat atau posisi realtime, bukan nilai lintang dan bujur [4]. Android menyediakan geocoder yang mendukung forward dan reverse geocoding. Menggunakan geocoder, dapat dilakukan konversi nilai lintang bujur menjadi alamat dunia nyata atau sebaliknya.

LBS adalah istilah umum yang digunakan untuk menggambarkan teknologi yang digunakan untuk menemukan lokasi perangkat yang digunakan. Dua unsur utama dari LBS adalah:

1. Location Manager (API Maps)

Menyediakan tools atau source untuk LBS, Aplication Programming

Interface (API) Maps menyediakan fasilitas untuk menampilkan, memanipulasi maps atau peta beserta fitur-fitur lainnya seperti tampilan satelit, street ‘jalan’, maupun gabungannya. Paket ini berada pada


(22)

2. Location Providers

Menyediakan teknologi pencarian lokasi yang digunakan oleh device

‘perangkat’. API Location berhubungan dengan data GPS (Global Positioning

System) dan data lokasi real-time. API Location berada pada paket Android yaitu dalam paket android location. Dengan Location Manager, dapat ditentukan lokasi saat ini, track ‘gerakan/perpindahan’, serta kedekatan dengan lokasi tertentu dengan mendeteksi perpindahan [4].

2.4 Assisted Global Positioning System (A-GPS)

A-GPS merupakan teknologi yang menggunakan server bantuan untuk memotong waktu yang dibutuhkan untuk menentukan lokasi penggunaan GPS, sehingga tidak perlu lagi proses komputasi data waktu dari 3 satelit secara langsung di perangkat Handphone. Hal ini berguna di daerah perkotaan atau bahkan di dalam ruangan yang banyak penghalang. Teknologi A-GPS saat ini sudah dipasang di semua jenis smartphone khususnya android. Namun secara tidak sadar teknologi A-GPS masih disebut dengan A-GPS. A-GPS menjadi lebih umum disebut dengan layanan berbasis lokasi atau Location Based Service (LBS).

Server bantuan penyedia data informasi satelit yang dibutuhkan oleh system GPS biasanya di supply oleh Network operator SIM card karena sering kali menara jaringan selular memiliki unit penerima GPS dan unit penerima tersebut secara terus-menerus men-download informasi data satelit yang ada di angkasa dan memprosesnya.

Menurut Tanoe (2011), pada sistem A-GPS, telepon genggam akan menangkap sinyal satelit yang lalu dikirimkan ke server penyedia layanan telepon, hasil perhitungan lokasi yang dilakukan oleh server dikirimkan kembali ke telepon genggam. Peta juga dapat dikirimkan oleh server tersebut, atau sudah disimpan pada telepon genggam. Tentunya sistem ini hanya berfungsi bila jaringan telepon genggam mampu dan disediakan bagi pengguna. Oleh karena perhitungan-perhitungan dilakukan oleh server penyedia jaringan telepon, maka telepon genggam tidak memerlukan prosesor yang canggih.


(23)

Bantuan dari server juga memungkinkan telepon genggam untuk mengunci satelit lebih cepat pada saat dinyalakan (TTFF = time to first fix). Pada beberapa produk telepon genggam, fasilitas A-GPS ini dapat dimatikan dan digantikan oleh alat lain, misalnya bluetooth GPS. Sehingga tidak memerlukan transfer data dengan

serveroperator telepon.

Gambar 2.2 Cara Kerja A-GPS [15]

2.5 Structured Analysis and Design (SAD)

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan analisis dan perancangan terstruktur, diantaranya pengenalan Structured Analysis and Design (SAD) dan Data Flow Diagram (DFD).


(24)

2.5.1 Pengenalan Structured Analysis and Design (SAD)

Analisis terstruktur terfokus pada aliran data dan proses bisnis dan perangkat lunak. Analisis ini disebut process oriented. Analisis terstruktur sederhana dalam konsep. Para analisis menggambarkan serangkaian proses dalam bentuk diagram alir data (data flow diagram) yang menggambarkan proses yang ada atau yang di usulkan bersama-sama dengan input, output dan file mereka [6].

Setelah tahapan analisis selesai, maka usulan kebutuhan sistem harus diterjemahkan menjadi sistem informasi berbasis komputer. Proses mengubah usulan kebutuhan menjadi perangkat lunak bukan hal yang mudah, harus ada beberapa langkah yang digunakan untuk mempermudah dan menjamin perangkat lunak yang dihasilkan berkualitas. Langkah awal desain biasanya dimulai dengan pemodelan sistem. Model digunakan untuk menyederhanakan cara mengkomunikasikan proses-proses bisnis yang harus dilakukan sistem dengan cara yang formal antar pemain pengembangan sistem.

Pemodelan proses adalah cara formal untuk menggambarkan bagaimana bisnis beroperasi. Mengilustrasikan aktivitas-aktivitas yang dilakukan dan bagaimana data berpindah di antara aktivitas-aktivitas itu. Ada banyak cara untuk mempresentasikan proses model. Cara yang paling populer adalah dengan menggunakan Data Flow

Diagram (DFD) [6].

2.5.2 Data Flow Diagram (DFD)

Suatu diagram arus data atau Data Flow Diagram (DFD) adalah penyajian grafis dari sebuah sistem yang mempergunakan empat bentuk simbol untuk mengilustrasikan bagaimana data mengalir melalui proses-proses yang saling tersambung [6].

Ada empat elemen yang menyusun suatu DFD, yaitu: 1. Proses

Aktivitas atau fungsi yang dilakukan untuk alasan bisnis yang spesifik, biasa berupa manual maupun terkomputerisasi.


(25)

2. Data Flow

Satu data tunggal atau kumpulan logis suatu data, selalu diawali atau berakhir pada suatu proses.

3. Data Store

Kumpulan data yang disimpan dengan cara tertentu. Data yang mengalir disimpan dalam data store. Aliran data di-update atau ditambahkan ke data

store.

4. External Entity

Orang, organisasi, atau sistem yang berada di luar sistem tetapi berinteraksi dengan sistem.

DFD terdiri dari beberapa level, diantaranya sebagai berikut:

1. Context Diagram

Context Diagram (Diagram Konteks) merupakan DFD pertama dalam proses bisnis. Menunjukkan dimana proses bisnis berada. Menunjukkan semua proses bisnis dalam 1 proses tunggal (proses 0). Context diagram juga menunjukkan semua entitas luar yang menerima informasi dari atau memberikan informasi ke sistem.

2. Level 0 Diagram

Menunjukkan semua proses utama yang menyusun keseluruhan sistem. Level ini juga menunjukkan komponen internal dari proses 0 dan menunjukkan bagaimana proses-proses utama direlasikan menggunakan data flow. Pada

level ini juga ditunjukkan bagaimana proses-proses utama terhubung dengan entitas eksternal. Pada level ini juga dilakukan penambahan data store.

3. Level 1 Diagram

Umumnya diagram level 1 diciptakan dari setiap proses utama dari level 0.

Level ini menunjukkan proses-proses internal yang menyusun setiap proses-proses utama dalam level 0, sekaligus menunjukkan bagaimana informasi berpindah dari satu proses ke proses yang lainnya. Jika misalnya proses induk


(26)

dipecah, katakanlah menjadi 3 proses anak, maka 3 proses anak ini secara utuh menyusun proses induk.

4. Level 2 Diagram

Menunjukkan semua proses yang menyusun sebuah proses pada level 1. Bisa saja penyusunan DFD tidak mencapai level 2 ini. Atau mungkin harus dilanjutkan ke level berikutnya (level 3, level 4, dan seterusnya).

2.6 Object Oriented Analysis and Design (OOAD)

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan analisis dan perancangan berorientasi objek, diantaranya pengenalan Object-Oriented Analysis

and Design (OOAD) dan Unified Modelling Language (UML). 2.6.1 Pengenalan ObjectOriented Analysis and Design (OOAD)

Secara spesifik, pengertian berorientasi objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemrograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphism (polimorfisme), dan inheritance (pewarisan) [7].

Analisis dan desain berorientasi objek atau Object-Oriented Analysis and

Design (OOAD) adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Model berorientasi objek bermanfaat untuk memahami masalah, komunikasi dengan ahli aplikasi, pemodelan suatu organisasi, menyiapkan dokumentasi, serta perancangan program dan basis data. Pertama-tama, suatu model analisis dibuat untuk menggambarkan aspek dasar dari domain aplikasi, dimana model tersebut berisi objek yang terdapat dalam domain aplikasi termasuk deskripsi dari keterangan objek dan perilakunya [7].


(27)

Analisis Berorientasi Objek atau Object-Oriented Analysis (OOA) dimulai dengan menyatakan suatu masalah, analisis membuat model situasi dari dunia nyata, menggambarkan sifat yang penting. Dalam menganalisa suatu sistem, analisis harus bekerja dengan pihak yang membutuhkan sistem untuk memahami masalah tersebut dengan jelas. Model analisis adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi dan bukan merupakan implementasi komputer seperti struktur data. Model yang baik harus dipahami dan ditanggapi oleh ahli aplikasi. Empat kesulitan yang merupakan gangguan utama dalam pengembangan sistem adalah memahami problem domain, komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan reuse (penggunaan kembali) [7].

Desain Berorientasi Objek atau Object-Oriented Design (OOD) merupakan tahap lanjutan setelah Analisis Berorientasi Objek dimana tujuan sistem diorganisasi ke dalam sub-sistem berdasar struktur analisis dan arsitektur yang dibutuhkan. Desainer sistem (system designer) menentukan karakteristik penampilan secara optimal, menentukan strategi memecahkan masalah, dan menentukan pilihan alokasi sumber daya. Sebagai contoh, desainer sistem mungkin menentukan perubahan pada

screen untuk workstation yang memerlukan kecepatan serta resolusi lebih tinggi [7]. Desain model digunakan berdasarkan model analisis dengan dilengkapi rincian untuk implementasi. Fokus dari desain objek (object design) adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama [7].

Kelas, objek dan relasi dikembangkan dalam tahap pembuatan desain objek yang pada akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan implementasi perangkat keras. Hal yang penting dalam tahap implementasi adalah mengikuti penggunaan perangkat lunak yang baik [7].


(28)

2.6.2 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah bahasa grafis untuk mendokumentasi, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, serta didukung oleh kakas-kakas yang diintegrasikan lewat XML (XMI). Standar UML dikelola oleh OMG (Object Management Group) [7].

Tujuan utama perancangan UML adalah:

1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.

2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.

3. Mendukung spesifikasi independen bahasa pemrograman dan proses pengembangan tertentu.

4. Menyediakan basis formal untuk pemahaman bahasa pemodelan. 5. Mendorong pertumbuhan pasar kakas berorientasi objek.

6. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

UML menyediakan diagram-diagram yang sangat kaya dan dapat diperluas sesuai kebutuhan kita. Diagram adalah representasi secara grafis dari elemen-elemen tertentu beserta hubungan-hubungannya. Diagram penting karena diagram menyediakan representasi secara grafis dari sistem (atau bagiannya). Representasi grafis sangat memudahkan pemahaman terhadap sistem [7]. Diagram-diagram yang dikunakan pada UML dapat dilihat pada gambar 2.3 [17].


(29)

Gambar 2.3 Diagram UML

Diagram di dalam UML terbagi menjadi dua, diantaranya: 1. Diagram Struktur

Diagram ini memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari:

a. Diagram Kelas (Class Diagram)

Diagram ini menunjukkan sekumpulan kelas, interface, serta kolaborasi dan keterhubungannya. Diagram kelas ditujukan untuk pandangan statik terhadap sistem.


(30)

b. Diagram Objek (Object Diagram)

Diagram ini menunjukkan sekumpulan objek dan keterhubungannya. Diagram ini menunjukkan potongan statik dari instan-instan yang ada di diagram kelas. Diagram ini untuk memperlihatkan satu prototipe atau kasus tertentu yang mungkin terjadi.

c. Diagram Komponen (Component Diagram)

Diagram ini menunjukkan organisasi dan kebergantungan di antara sekumpulan komponen. Diagram ini merupakan pandangan statik terhadap implementasi sistem.

d. Diagram Deployment (Deployment Diagram)

Diagram ini menunjukan konfigurasi pemrosesan saat jalan dan komponen-komponen yang terdapat di dalamnya. Diagram ini merupakan pandangan statik dari arsitektur.

2. Diagram Perilaku

Diagram perilaku adalah diagram yang sifatnya dinamis (cenderung berubah). Terdapat beberapa jenis diagram yang termasuk kategori diagram perilaku, diantaranya:

a. Diagram Use Case (Use Case Diagram)

Diagram ini menunjukkan sekumpulan kasus fungsional dan aktor (jenis kelas khusus) dan keterhubungannya.

b. Diagram Sekuen (Sequence Diagram)

Diagram ini menunjukkan interaksi yang terjadi antar objek. Diagram ini merupakan pandangan dinamis terhadap sistem. Diagram ini menekankan pada basis keberurutan waktu dari pesan-pesan yang terjadi.

c. Diagram Kolaborasi (Collaboration Diagram)

Diagram ini merupakan diagram interaksi. Diagram ini menekankan pada organisasi struktur dari objek-objek yang mengirim dan menerima pesan.


(31)

d. Diagram Statechart (Statechart Diagram)

Diagram ini adalah state-machine diagram, berisi state, transisi, kejadian, dan aktivitas. Statechart merupakan pandangan dinamis dari sistem. Diagram ini penting dalam memodelkan perilaku antarmuka, kelas, kolaborasi, dan menekankan pada urutan kejadian. Penting untuk sistem reaktif yang dipicu kejadian di dunia nyata.

e. Diagram Aktivitas (Activity Diagram)

Diagram ini menunjukan aliran aktivitas di sistem. Diagram ini adalah pandangan dinamis terhadap sistem. Diagram ini penting untuk memodelkan fungsi sistem dan menekankan pada aliran kendali di antara objek-objek.

2.7 Web Services

Perangkat peranti lunak integrasi aplikasi perusahaan sifatnya spesifik terhadap suatu produk, artinya perangkat ini hanya dapat bekerja dengan bagian-bagian peranti lunak dan sistem operasi tertentu. Contoh, suatu perangkat EAI untuk menghubungkan bagian tertentu dari peranti lunak pencatatan penjualan untuk aplikasi produksi, pengangkutan, dan penagihan, tidak dapat bekerja dengan peranti lunak pencatatan penjualan dari vendor lainnya. Program middleware yang dikembangkan oleh sistem BEA, sebuah integrator yang besar, tidak dapat berhubungan dengan aplikasi middleware vendor lainnya yang dibeli pada tahun-tahun sebelumnya tanpa pengeluaran yang besar untuk pemrograman dan perancangan. Layanan web (web services) mencoba memberikan alternatif standar untuk menghadapi masalah-masalah integrasi seperti itu dengan menciptakan sebuah lingkungan komunikasi yang netral [4].

Layanan web (web services) adalah serangkaian komponen peranti lunak yang bertukar informasi antara satu sama lain dengan bebas menggunakan komunikasi web dan bahasa yang standar. Layanan web dapat bertukar informasi antara dua sistem yang berbeda, terlepas dari sistem operasi atau bahasa pemrograman sistem tersebut. Layanan web dapat dipadukan untuk membangun sistem penghubung aplikasi berbasis web standar terbuka dari dua organisasi yang berbeda, dan juga dapat


(32)

digunakan untuk membuat aplikasi yang menghubungkan sistem terpisah dalam satu perusahaan. Layanan web tidak terikat dengan sistem operasi atau bahasa pemrograman apa pun, dan aplikasi-aplikasi yang berbeda dapat digunakan untuk berkomunikasi satu sama lain dengan cara standar tanpa penulisan kode khusus yang menghabiskan waktu [4].

2.8 Java Script Object Notation (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 Java Script, 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, dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data [5].

JSON terbuat dari dua struktur, diantaranya sebagai berikut:

a. Kumpulan pasangan nama atau nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (structure), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative

array.

b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman modern 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 [5].


(33)

JSON menggunakan bentuk sebagai berikut: 1. Objek (Object)

Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

2. Larik (Array)

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

3. Nilai (value)

Nilai dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.

4. String

String adalah kumpulan dari nol atau lebih karakter unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.

5. Angka

Angka pada JSON sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

2.9 Basis Data

Kata basis data atau database biasa digunakan untuk menguraikan segala sesuatu dari sekumpulan data tunggal, seperti daftar telepon. Istilah basis data tidak termasuk aplikasi, yang terdiri dari form dan report dimana pengguna akan saling berhubungan. Basis data terdiri dari file-file fisik yang ditetapkan berdasarkan komputer saat menerapkan perangkat lunak basis data. Di sisi lain, suatu model basis


(34)

data lebih kepada konsep dibandingkan objek fisik dan digunakan untuk menciptakan tabel dalam basis data [12].

Basis data adalah suatu aplikasi terpisah yang menyimpan suatu koleksi data. Masing-masing basis data memiliki satu API atau lebih yang berbeda untuk menciptakan, mengakses, mengelola, mencari, dan mereplikasi data [12].

Sebuah basis data adalah tempat penyimpanan file data. Sebagai file data, suatu basis data tidak menyajikan informasi secara langsung kepada pengguna. Pengguna harus menjalankan aplikasi untuk mengakses data dari basis data dan menyajikannya dalam bentuk yang bisa dimengerti. Ketika bekerja dengan file-file data, suatu aplikasi harus dikodekan agar bekerja dengan struktur masing-masing file data. Biasanya, suatu basis data berisi suatu katalog yang menggunakan aplikasi untuk menentukan cara data diorganisir. Aplikasi basis data umum bisa menggunakan katalog tersebut untuk menampilkan data dengan pengguna dari basis data yang berbeda secara dinamis, tanpa terikat pada format data tertentu [12].

2.9.1 Database Management System (DBMS)

Database Management System (DBMS) atau sistem manajemen basis data adalah suatu sistem perangkat lunak kompleks yang mengatur permintaan dan penyimpanan data ke dan dari hard disk. DBMS menyediakan keamanan (security), privasi (privacy), integritas (integrity), dan kontrol konkurensi (concurrency

controls). DBMS mengelola transaksi pada multi user, lingkungan akses bersamaan, dan menyediakan tingkat independensi data yang mengisolasi pandangan (view) pengguna atau aplikasi dari perubahan yang berlangsung di tingkat internal dan konseptual [12].

DBMS adalah perangkat lunak yang disajikan oleh penjual basis data. Produk perangkat lunak seperti Microsoft Access, Oracle, Microsoft SQL Server, Sybase,

DB2, INGRES, dan MySQL adalah DBMS [12].

DBMS menyediakan semua layanan dasar yang diperlukan untuk mengorganisir dan memelihara basis data, termasuk layanan berikut [12]:


(35)

2. Mengelola akses data oleh berbagai pengguna secara bersamaan; mencakup ketentuan untuk mencegah peng-update-an secara bersamaan.

3. Mengelola transaksi sehingga perubahan transaksi basis data adalah semua atau tidak sama sekali. Dengan kata lain, jika transaksi berhasil, semua basis data yang dibuat berubah dan direkam di dalam basis data. Jika transaksi gagal, tidak satupun dari perubahan tersebut yang direkam oleh basis data.

4. Mendukung bahasa query (query language), yang mana suatu sistem perintah mempekerjakan pengguna basis data untuk mendapatkan data kembali dari basis data.

5. Ketentuan untuk mem-backup basis data dan pemulihan dari kegagalan. Mekanisme keamanan untuk mencegah perubahan dan akses data yang tidak sah.

2.9.2 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau yang dikenal dengan DBMS (Database Management System), database ini multi

thread dan multi user [10].

Kekuatan MySQL tidak ditopang oleh sebuah komunitas, seperti Apache, yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh pemilik masing-masing, tetapi MySQL didukung penuh oleh sebuah perusahaan profesional dan komersial, yakni MySQL AB dari Swedia [10].

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured

Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis [10].


(36)

Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan

database server lainnya, terutama dalam kecepatan. Berikut ini beberapa keistimewaan MySQL, antara lain [10]:

1. Probability

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Multi user

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

3. Security

MySQL memiliki beberapa lapisan sekuritas seperti levelsubnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.

4. Scalability dan limits

MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

2.9.3 Model Entity Relationship

Model Entity-Relationship (ER) mula-mula diusulkan oleh Peter Chen pada tahun 1976 sebagai cara untuk mempersatukan pandangan basis data jaringan dan relasional. Langkah sederhana dari model ER adalah model data dan konseptual yang memandang dunia nyata sebagai kesatuan (entities) dan hubungan (relationships). Komponen dasar model merupakan diagram entity-relationship yang digunakan untuk menyajikan objek data secara visual. Chen menulis bahwa model telah diperluas dan kini bisa digunakan untuk merancang basis data. Keunggulan model ER dalam perancangan tersebut adalah [12]:

1. Mampu memetakan model relasional dengan baik. Pembangunan yang digunakan di dalam model ER dengan mudah diubah ke dalam tabel relasional.


(37)

2. Sederhana dan mudah dipahami hanya dengan sedikit pelatihan. Oleh karena itu, model bisa digunakan oleh perancang basis data untuk mengkomunikasikan perancangan kepada pengguna akhir.

3. Sebagai tambahan, model bisa digunakan sebagai suatu rencana perancangan oleh pengembang basis data untuk menerapkan suatu model data dalam perangkat lunak manajemen basis data spesifik.

Perancangan basis data dengan menggunakan model entity-relationship adalah dengan menggunakan Entity Relationship Diagram (ERD). ERD mengilustrasikan struktur logis dari basis data.

2.9.4 Model Relasional

Model relasional secara formal diperkenalkan oleh Dr. E. F. Codd pada tahun 1970 dan berkembang sejak saat itu melalui serangkaian tulisan. Model relasional menyajikan data berbentuk tabel dua dimensi (two-dimension). Masing-masing tabel menyajikan beberapa orang, tempat, sesuatu hal, atau peristiwa sebagai informasi yang dikumpulkan. Suatu basis data relasional adalah suatu kumpulan tabel

two-dimensional [12].

Model relasional merupakan model data yang paling banyak digunakan saat ini. Tingkatan-tingkatan data yang menyusun database disebut skema, dimana setiap tingkatan menggambarkan sebuah data. Model relasional ini memfokuskan pada pembahasan hubungan (relasional) antar data. Skema relasi pada model relasional ditentukan oleh nama skema, nama, dan tipe field atau kolom. Model data relasional merepresentasikan datanya menggunakan bentuk tabel-tabel yang saling berelasi/berhubungan dengan suatu field kunci. Setiap tabel memiliki banyak kolom dengan nama yang unik untuk setiap kolomnya. Model relasi menempati level abstraksi yang lebih rendah daripada model ER, karena sifatnya langsung menunjukkan bentuk record yang akan disimpan dalam suatu file [12].


(38)

2.10 Pemrograman Web

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan pemrograman web, diantaranya Hyper Text Markup Language (HTML), PHP, CascadeStyleSheet (CSS) dan JavaScript.

2.10.1 Hyper Text Marup Language (HTML)

HTML adalah singkatan dari Hyper Text Markup Language. HTML digunakan untuk membuat halaman web. Sebuah file dokumen yang ditulis dalam format HTML akan dibaca dan diterjemahkan oleh web browser (misal Internet Explorer) untuk kemudian disajikan dalam bentuk web [11].

File-file yang ditulis dalam format HTML disimpan dengan ekstensi .htm atau .html. File-file tersebut dapat ditulis atau diketik menggunakan berbagai macam teks editor, misalkan Notepad, Wordpad, dan lain sebagainya [11].

HTML terdiri atas berbagai macam tag yang digunakan untuk menandai dan mengatur tampilan halaman web yang dibuat. Misalkan jika ingin membuat sebuah kalimat bercetak tebal di web, maka gunakan tag yang cocok untuk itu [11].

Tag biasanya dituliskan berpasangan di awal dan di akhir bagian file yang akan ditandai. Untuk tag yang diletakkan di awal bagian ditulis dengan tanda lebih kecil (<), nama tag, dan tanda lebih besar (>). Dan untuk tag yang diletakkan di akhir bagian ditulis dengan tanda lebih kecil (<), garis miring (/), nama tag, dan tanda lebih besar (>) [11].

2.10.2 PHP

PHP adalah singkatan dari PHP: Hypertext Preprocessor. PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting [10]. PHP memungkinkan untuk membuat halaman web yang bersifat dinamis.

PHP dapat dijalankan pada berbagai macam sistem operasi, misalnya Windows, Linux, dan Mac OS. Selain Apache, PHP juga mendukung beberapa web server lain, misalnya Microsoft IIS, Caudium, PWS, dan lain-lain [10].

PHP dapat memanfaatkan database untuk menghasilkan halaman web yang dinamis [10]. Sistem manajemen database yang sering digunakan bersama PHP


(39)

adalah MySQL. Namun, PHP juga mendukung sistem manajemen database Oracle, Microsoft Access, Interbase, dBase, PostgreSQL, dan lain-lain [10].

Hingga kini, PHP sudah berkembang hingga versi 5. PHP 5 mendukung penuh

Object-Oriented Programming (OOP), integrasi XML, mendukung semua ekstensi terbaru MySQL, pengembangan web services dengan SOAP dan REST, serta ratusan peningkatan lainnya dibandingkan versi sebelumnya. PHP juga bersifat open source sehingga setiap orang dapat menggunakannya secara gratis [10].

2.10.3 Cascading Style Sheet (CSS)

CSS (Cascading Style Sheet) adalah suatu teknologi yang digunakan untuk memperindah tampilan halaman website (situs). Singkatnya dengan menggunakan metode CSS ini dapat dengan mudah mengubah secara keseluruhan sekaligus memformat ulang situs. CSS dapat digunakan untuk menghindari pekerjaan berulang-ulang [11].

CSS mempunyai dua bagian utama yaitu selector dan deklarasi. Yang disebut

selector biasanya elemen html yang ingin di ubah, sedangkan deklarasi biasanya terdiri dari property dan nilai, property sendiri adalah atribut style yang ingin di ubah, dan setiap property memiliki nilai. Setiap syntax css selalu diakhiri dengan titik koma (;), dan kelompok deklarasi dikelilingi oleh kurung kurawal ({}) [11].

Ada dua cara untuk membuat aturan style, yaitu dengan menuliskannya langsung dalam dokumen HTML atau dengan memisahkannya dalam sebuah file khusus yang berekstensi .css. Cara yang pertama dapat dilakukan dengan menambahkan tag <STYLE> diantara tag <HEAD> dan </HEAD>. Kemudian tuliskan aturan style-nya di dalam tag <STYLE> tersebut. Cara pertama sudah jarang dilakukan. Saat ini, para pembuat web biasanya menggunakan cara yang kedua, yaitu membuat aturan style dalam file terpisah [11].

2.10.4 JavaScript

JavaScript merupakan bahasa scripting (bahasa pemrograman yang ringan) yang popular di Internet dan dapat bekerja di sebagian besar browser popular seperti


(40)

Internet Explorer (IE), MozillaFireFox, Netscape, GoogleChrome, dan Opera. Kode

JavaScript dapat disisipkan dalam halaman web menggunakan tag <SCRIPT> [11].

JavaScript adalah bahasa interpreter yang berarti skrip dieksekusi tanpa proses kompilasi [11]. JavaScript berisi baris kode yang dijalankan di komputer (web

browser). JavaScript didesain untuk menambah interaktif suatu web [11].

Ada beberapa cara untuk menuliskan JavaScript, yaitu di bagian <HEAD>, <BODY> atau external. JavaScript dalam sebuah halaman web akan dieksekusi saat halaman di-load oleh browser. Namun, hal ini kadang tidak sesuai dengan keinginan karena suatu saat akan mengeksekusi skrip saat halaman di-load, tetapi kadang

JavaScript dijalankan melalui trigger sebuah event [11]. 2.11 Pemrograman Java

Pada bagian ini dijelaskan hal-hal yang berkaitan dengan pemrograman java, diantaranya pengenalan bahasa pemrograman Java dan Android Studio.

2.11.1 Bahasa Pemrograman Java

Java merupakan bahasa pemrograman yang menanjak popularitasnya dewasa ini. Selain gratis, Java mudah didapatkan dan juga tangguh. Java sendiri lahir pada tahun 1991 yang diprakarsai oleh tim Sun Microsystems melalui proyek bernama

Green yang dipimpin oleh James Gosling [8].

Java menerapkan fitur-fitur dari bahasa pemrograman lain, dimana fitur itu dianggap merupakan siatu kelebihan oleh tim Sun [8]. Misalnya JVM/JRE yang merupakan mesin maya pada bahasa Pascal, Sintaks, dan Exception Handling diambil dari C/C++ dan lain sebagainya.

Java Virtual Machine (JVM) atau Java Runtime Environment (JRE) merupakan fitur Java yang membuatnya dapat berjalan pada semua platform sistem operasi. Apabila membuat Java pada Windows, dapat pula dijalankan pada sistem operasi Linux, Mac OS, dan lainnya [8].

Java memiliki beberapa keunggulan yang tidak dimiliki oleh bahasa lain [8]. Berdasarkan white paper resmi dari Sun Microsystems, Java memiliki karakteristik sebagai berikut[8]:


(41)

1. Sederhana

Bahasa pemrograman Java menggunakan sintaks mirip C++, namun pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

2. Berorientasi objek (object oriented)

Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali.

3. Dapat didistribusi dengan mudah

Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya

librariesnetworking yang terintegrasi pada Java. 4. Interpreter

Program Java dijalankan menggunakan intrepeter, yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

5. Robust

Java mempunyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

6. Aman

Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. 7. Architecture Neutral

Pemrograman Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.


(42)

8. Portabel

Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

9. Performance

Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti Inprise, Microsoft, ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

10. Multithread

Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11. Dinamis

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

2.11.2 Android Studio

Android studio merupakan sebuah Integrated Development Environment (IDE) untuk platform Android. Android Studio ini diumumkan pada tanggal 16 Mei 2013 pada Konferensi GoogleI/O oleh Produk Manajer Google, Ellie Powers. Android studio bersifat free dibawah Apache License 2.0. Android Studio awalnya dimulai dengan versi 0.1 pada bulan mei 2013, Kemudiandibuat versi beta 0.8 yang dirilis pada bulan juni 2014. Yang paling stabil dirilis pada bulan Desember 2014, dimulai dari versi 1.0. Berbasiskan JetBrainns’ IntelliJ IDEA, Studio didesain khusus untuk Android Development.

Berikut ini beberapa keunggulan yang terdapat pada Android Studio :

1. Live Layout : WYSIWYG Editor – Live Coding – Real time App Rendering 2. Developer Console : optimization tips, assistance for translation, referral

tracking,campaigning and promotions – Usage Metrics 3. Provision for beta releases and staged rollout


(43)

5. Android – specific refactoring and quick fixes

6. Lint tools to catch performance, usability, version compatibility and other problems

7. ProGuard and app-signing capabilities

8. Template-based wizards to create common Android designs and components 9. A rich layout editor that allows user to drag-and-drop UI components, option

to previewlayouts on multiple screen configurations 10.Support for building Android Wear apps

11.Built-in support for Google Cloud Platform, enabling integration with Google Cloud Messaging and App Engine.

2.12 Pengujian Black Box

Pengujian black box fokus pada keperluan penelusuran kesalahan fungsional dari software. Ujicoba black box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :

1. Fungsi-fungsi yang salah atau hilang. 2. Kesalahan interface.

3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan performa.

5. Kesalahan inisialisasi dan terminasi.

Teknik pengujian blackbox terdiri dari 10 jenis diantaranya Equivalence

Partitioning, Boundary Value Analysis/Limit Testing, Comparison Testing, Sample Testing, Robustness Testing, Behavior Testing, Requirement Testing, Performance Testing, Endurance Testing, Cause-Effect Relationship Testing. Salah satunya yang akan dibahas adalah Equivalence partitioning.

Equivalence partioning merupakan metode ujicoba black box yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya: kesalahan pemrosesan dari seluruh data karakter) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.


(44)

2.13 Pengujian Kuisioner

Kuesioner adalah sebuah daftar pernyataan yang harus diisi oleh orang yang akan dievaluasi (responden). Metode yang digunakan dalam kuesioner pada penelitian ini adalah skala Likert. Dalam skala likert, responden diminta untuk membaca dengan seksama setiap pernyataan yang disajikan, kemudian ia diminta untuk menilai pernyataan-pernyataan tersebut.

Derajat penilaian responden terhadap suatu pernyataan terbagi dalam 5 kategori yang tersusun secara bertingkat, mulai dari Sangat Tidak Setuju (STS), Tidak Setuju (TS), Ragu-Ragu (R), Setuju (S), dan Sangat Setuju (SS). Atau dapat pula sebaliknya. Pernyataan tiap kuesioner dibuat berdasarkan aspek-aspek yang diteliti. Bobot pemberian skor yang digunakan dapat dilihat pada Tabel 2.2.

Tabel 2.2 Pengolahan Kuisioner Jenis Pernyataan Bobot pendapat

SS S R TS STS

Positif 5 4 3 2 1

Negatif 1 2 3 4 5

Skor yang telah dihitung pada setiap pernyataan kemudian dikalikan dengan masing-masing bobot tersebut sesuai dengan skenario kuesioner yang telah dibuat. Setelah itu, totalkan seluruh bobot jawaban tersebut kemudian bagi dengan total responden yang nantinya menjadi nilai rata-rata. Nilai rata-rata inilah yang diambil sebagai acuan sikap dimana jika nilai rata-rata kurang dari 3, maka dapat diartikan responden bersikap negatif dan jika nilai rata-rata lebih dari sama dengan 3, maka dapat diartikan responden bersikap positif terhadap tujuan yang ingin dicapai. Untuk lebih jelasnya dapat dilihat pada rumus dibawah ini [16].


(45)

Dimana,

Keterangan:

= rata-rata

= jumlah seluruh nilai setelah dikalikan dengan bobot


(46)

(47)

141

Tahap implementasi dan pengujian sistem mendeskripsikan implementasi dan pengujian sistem terhadap perangkat lunak yang sudah dianalisis pada bab sebelumnya.

4.1 Implementasi Sistem

Tahap implementasi sistem merupakan tahap penterjemahan perancangan berdasarkan hasil analisis kedalam suatu bahasa pemrograman tertentu serta penerapan perangkat lunak yang dibangun pada lingkungan yang sesungguhnya.

4.1.1 Lingkungan Implementasi

Lingkungan implementasi menjelaskan kebutuhan sistem dalam lingkungan implementasi, kebutuhan ini terbagi menjadi dua, yaitu hardware dan

software. Berikut adalah lingkungan implementasi dari perangkat lunak Monitouring.

1. Spesifikasi Kebutuhan Hardware

Berikut adalah spesifikasi hardware yang dibutuhkan untuk menggunakan sistem.

Tabel 4.1 Kebutuhan Minimal Hardware No. Sub Sistem Web Sub Sistem Mobile

1. Harddisk 40 GB TFT LCD

2. Memory 1 GB Memory 384 MB

3. Processor 2.00 Ghz Proceccor 800 MHz

4. Mouse Jaringan GSM/CDMA

5. Keyboard Data Koneksi HSDPA/EVDO

6. Monitor A-GPS Support

7. Koneksi Internet Koneksi Internet

2. Spesifikasi Kebutuhan Software

Berikut adalah spesifikasi software yang dibutuhkan untuk menggunakan sistem.

Tabel 4.2 Kebutuhan Minimal Software

Sub Sistem Web Sub Sistem Mobile Sistem Operasi Windows XP. Sistem Operasi Android 4.0 ICS Web Browser Mozilla Firefox 20.0,


(48)

Google Chrome 30.0.1750.154 4.1.2 Implementasi Data

Implementasi data merupakan implementasi berdasarkan perancangan

database yang dibuat sebelumnya. Secara fisik implementasi database ini menggunakan MySql 5.5.40. Berikut adalah sintaks pembangun dari database yang digunakan.

1. Pembuatan Database

Berikut adalah sintaks untuk membuat database monitour_monitouring.

2. Tabel user

Berikut adalah sintaks yang mendeskripsikan tabel user.

CREATE DATABASE monitour_monitouring;

CREATE TABLE `user` (

`id_user` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,

`id_klub` int(10) unsigned zerofill NOT NULL, `username` varchar(20) NOT NULL,

`password` varchar(20) NOT NULL, `email` varchar(20) NOT NULL,

`namadepan` varchar(20) DEFAULT NULL, `namabelakang` varchar(15) NOT NULL, `alamat` varchar(50) NOT NULL,

`kontak` varchar(12) NOT NULL, `foto` varchar(20) NOT NULL, PRIMARY KEY (`id_user`),

FOREIGN KEY (id_klub) REFERENCES `klub` (id_klub) ON DELETE CASCADE ON UPDATE CASCADE,

UNIQUE KEY `UQ_username` (`username`) ) ENGINE=MyISAM;


(49)

3. Tabel klub

Berikut adalah sintaks yang mendeskripsikan tabel klub.

4. Tabel touring

Berikut adalah sintaks yang mendeskripsikan tabel touring.

CREATE TABLE `klub` (

`id_klub` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,

`id_user` int(10) unsigned zerofill NOT NULL, `id_kode` int(12) unsigned zerofill NOT NULL, `nama_klub` varchar(20) NOT NULL,

`lokasi` varchar(10) NOT NULL, `kuot` varchar(30) NOT NULL, `bio` varchar(200) NOT NULL, `foto` varchar(20) NOT NULL, PRIMARY KEY (`id_tim`),

FOREIGN KEY (id_user) REFERENCES `user` (id_user) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY (id_kode) REFERENCES `invite_kode` (id_kode) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=MyISAM;

CREATE TABLE `touring` (

`id_touring` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,

`id_klub` int(10) unsigned zerofill NOT NULL, `nama_kegiatan` varchar(30) DEFAULT NULL, `lokAwal` varchar(50) NOT NULL,

`lokAkhir` varchar(50) NOT NULL, `detail_awal` varchar(50) NOT NULL, `detail_akhir` varchar(50) NOT NULL, `lat_awal` decimal(10,8) DEFAULT NULL, `lng_awal` decimal(11,8) DEFAULT NULL, `lat_akhir` decimal(10,8) DEFAULT NULL, `lng_akhir` decimal(11,8) DEFAULT NULL, `tanggal` date NOT NULL,

`waktu` time NOT NULL,

`status_tour` varchar(1) NOT NULL, PRIMARY KEY (`id_touring`),

FOREIGN KEY (id_klub) REFERENCES `klub` (id_klub) ON DELETE CASCADE ON UPDATE CASCADE


(50)

5. Tabel detail_touring

Berikut adalah sintaks yang mendeskripsikan tabel detail_touring.

6. Tabel lokasi

Berikut adalah sintaks yang mendeskripsikan tabel lokasi.

7. Tabel cekpoin

Berikut adalah sintaks yang mendeskripsikan tabel cekpoin.

CREATE TABLE `cekpoin` (

`id_cekpoin` int(12) unsigned zerofill NOT NULL AUTO_INCREMENT,

`nama_cekpoin` varchar(30) NOT NULL, `detail_cekpoin` varchar(50) NOT NULL, `latitude ` decimal(10,8) DEFAULT NULL, `longitude ` decimal(11,8) DEFAULT NULL, PRIMARY KEY (`id_cekpoin`)

) ENGINE=MyISAM;

CREATE TABLE `detail_touring` (

`id_detail` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,

`id_touring` int(10) unsigned zerofill NOT NULL, `id_user` int(10) unsigned zerofill NOT NULL, `lat_user` decimal(10,8) DEFAULT NULL,

`lng_user` decimal(11,8) DEFAULT NULL, `status_touring_user` int(1) NOT NULL, PRIMARY KEY (`id_detail`),

FOREIGN KEY (id_touring) REFERENCES `touring` (id_touring) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY (id_user) REFERENCES `user` (id_user) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=MyISAM;

CREATE TABLE `lokasi` (

`id_lokasi` int(12) unsigned zerofill NOT NULL AUTO_INCREMENT,

`nama_lokasi` varchar(20) NOT NULL, `detail_lokasi` varchar(50) NOT NULL, `latitude ` decimal(10,8) DEFAULT NULL, `longitude ` decimal(11,8) DEFAULT NULL, PRIMARY KEY (`id_lokasi`)


(51)

8. Tabel komentar

Berikut adalah sintaks yang mendeskripsikan tabel komentar.

4.1.3 Implementasi Antarmuka

Implementasi antarmuka berisi pemaparan setiap tampilan perangkat lunak yang dibangun beserta file xml sebagai layout dari masing-masing antarmuka. Adapun implementasi antarmuka perangkat lunak yang dibangun terdiri dari nama antarmuka beserta class atau file yang mewakilinya.

1. Implementasi antarmuka sub sistem web perangkat lunak yang dibangun dapat dilihat pada Tabel 4.3.

Tabel 4.3 Implementasi Antarmuka Sub Sistem Web

No Nama Antarmuka Nama File

1 Login Admin login.php

2 Home index.php

3 Data User user.php

4 Lihat user lihatuser.php

5 Hapus User hapususer.php

6 Data Klub klub.php

7 Tambah Klub tambahklub.php

8 Edit Klub editklub.php

9 Lihat Klub lihatklub.php

10 Hapus Klub hapusklub.php

11 Data Touring touring.php

12 Lihat Touring lihattouring.php

13 Hapus Touring Hapustouring.php

14 Data Lokasi lokasi.php

15 Tambah Lokasi tambahlokasi.php

16 Edit Lokasi editlokasi.php

17 Lihat Lokasi lihatlokasi.php

18 Hapus Lokasi hapuslokasi.php

18 Data Cekpoin cekpoin.php

19 Tambah Cekpoin tambahcekpoin.php

20 Edit Cekpoin editcekpoin.php

21 Lihat Cekpoin lihatcekpoin.php

CREATE TABLE `komentar` (

`id_komentar` int(12) unsigned zerofill NOT NULL AUTO_INCREMENT,

`id_user` int(10) unsigned zerofill NOT NULL, `id_klub` int(10) unsigned zerofill NOT NULL, `komentar` varchar(30) NOT NULL,

PRIMARY KEY (`id_komentar`)

FOREIGN KEY (id_user) REFERENCES `user` (id_user) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY (id_klub) REFERENCES `klub` (id_klub) ON DELETE CASCADE ON UPDATE CASCADE


(52)

No Nama Antarmuka Nama File

22 Hapus Cekpoin hapuscekpoin.php

23 Data Komentar komentar.php

24 Lihat Komentar lihatkomentar.php

25 Hapus Komentar hapuskomentar.php

2. Implementasi antamuka sub sistem mobile perangkat lunak yang dibangun dapat dilihat pada Tabel 4.4.

Tabel 4.4 Implementasi Antarmuka Sub Sistem Mobile

No Nama Antarmuka Nama File

1 Get Started activity_get_started.xml

2 Menu Utama (Daftar atau Masuk) activity_register_or_login.xml

3 Mendaftar (Register) activity_register_or_login.xml

4 Masuk (Login) activity_login.xml

5 Home fragment_home.xml

6 Drawer (Menu Slide) activity_home.xml

7 My Club fragment_my_club.xml

8 Buat Club activity_buat_club.xml

9 Club fragment_club.xml

10 Gabung Club fragment_my_club_match_invitations.xml

11 My Tour fragment_my_tour.xml

12 Rencanakan Tour fragment_rencanakan_tour.xml

13 Mulai Tour activity_mulai_tour.xml

14 Rute Tour activity_tour_location.xml

4.1.4 Implementasi Class

Implementasi Class merupakan implementasi dari perancangan class

diagram yang terbentuk dari use case diagram kedalam bentuk file fisik dengan

ekstensi “.class”. implementasi class bisa dilihat pada tabel 4.5 Tabel 4.5 Implementasi Class

No Nama Antarmuka Nama File

1 Register Activity RegisterActivity.class

2 Login Activity LoginActivity.class

3 Maps Activity MapsActivity.class

4 Komentar Activity KomentarActivity.class

5 Home Fragment HomeFragment.class

6 Club Fragment ClubFragment.class

7 Tour Fragment TourFragment.class

8 AGPS Tracker AGPSTracker.class

9 JSON Parser JSONParser.class

10 Fragment Drawer Adapter FragmentDrawerAdapter.class

11 List Club Adapter ListCLubAdapter.class

12 ListUser Adapter ListUserAdapter.class

13 Edit Profil EditProfil.class

14 Club Fragment2 ClubFragment2.class


(53)

4.2 Pengujian Sistem

Pengujian sistem merupakan tahapan untuk menemukan kesalahan-kesalahan dan kekurangan-kekurangan pada perangkat lunak yang dibangun sehingga bisa diketahui apakah perangkat lunak tersebut telah memenuhi kriteria sesuai dengan tujuan atau tidak.

4.2.1 Rencana Pengujian

Pengujian sistem yang akan dilakukan terbagi menjadi dua tahapan. Tahap pertama yaitu pengujian alpha yang berfokus kepada fungsionalitas perangkat lunak yang dibangun dengan menggunakan metode pengujian black

box. Tahap kedua yaitu pengujian beta yang akan berfokus kepada penilaian pengguna terhadap perangkat lunak yang dibangun, metode pengumpulan data yang dilakukan adalah kuesioner yang akan diberikan kepada 30 early adopter perangkat lunak. Penyebaran kuesioner dilakukan dengan menggunakan cara konvensional yaitu dengan mendatangi calon pengguna secara langsung.

4.2.2 Pengujian Alpha

Pengujian alpha merupakan pengujian fungsional yang diadakan di lingkungan pembangun oleh sekumpulan pengguna yang akan menggunakan perangkat lunaknya. Pihak pembangun mendampingi serta mencatat kesalahan-kesalahan maupun permasalahan yang dirasakan oleh pengguna. Pengujian alpha yang dilakukan pada perangkat lunak dibagi menjadi tiga bagian, yaitu skenario pengujian, kasus dan hasil pengujian, serta kesimpulan pengujian.

4.2.2.1Skenario Pengujian

Skenario pengujian memaparkan urutan dan hal yang diuji pengujian yang dilakukan pada perangkat lunak monitouring. Adapun Skenario pengujian fungsional yang dilakukan adalah dengan menguji 2 buah sub sistem sebagaimana dijelaskan di bawah ini.

1. Skenario Pengujian Sub Sistem Web

Pada pengujian ini semua fitur pada perangkat lunak web yang dibangun akan diuji menggunakan metode black box. Berikut adalah Tabel 4.6 yang menerangkan fungsionalitas yang akan diuji.


(54)

Tabel 4.6 Skenario Pengujian Sub Sistem Web Kelas Uji Poin Pengujian Jenis

Pengujian Metode Pengujian Melakukan

Login

Input data login Black Box Equivalence Partitioning

Validasi login Black Box Equivalence Partitioning

Mengolah Data User

Melihat data user, menghapus data user dan mencari data user

Black Box Equivalence Partitioning Cari Data User Inputuser kata kunci data Black Box Equivalence Partitioning Lihat Data User Klik tombol Lihat Black Box Equivalence Partitioning

Hapus Data

User Klik tombol Hapus Black Box Equivalence Partitioning

Mengolah Data Klub

Melihat data klub, menghapus data klub, mencari data klub, tambah data klub, dan edit data klub

Black Box Equivalence Partitioning

Tambah Data Klub

Klik tombol Tambah Black Box Equivalence Partitioning

Edit Data Klub Klik tombol Edit Black Box Equivalence Partitioning

Cari Klub Input kata kunci data

club Black Box Equivalence Partitioning

Lihat Klub Klik tombol Lihat Black Box Equivalence Partitioning

Tambah Data Klub

Klik tombol Tambah Black Box Equivalence Partitioning

Edit Data Klub Klik Tombol Edit Black Box Equivalence Partitioning

Hapus Klub Klik tombol Hapus Black Box Equivalence Partitioning

Mengolah data Touring

Melihat data touring,

menghapus data

touring, dan mencari data touring

Black Box Equivalence Partitioning

Cari Touring InputTouring kata kunci data Black Box Equivalence Partitioning Lihat Touring Klik tombol Lihat Black Box Equivalence Partitioning

Hapus Touring Klik tombol Hapus Black Box Equivalence Partitioning

Mengolah Data Lokasi

Tambah data lokasi, edit data lokasi, cari data lokasi, lihat data lokasi, dan hapus data lokasi

Black Box Equivalence Partitioning

Tambah Data Lokasi

Klik tombol Tambah Black Box Equivalence Partitioning

Edit Data

Lokasi

Klik Tombol Edit Black Box Equivalence Partitioning

Cari Data

Lokasi

Input kata kunci data

lokasi Black Box Equivalence Partitioning

Lihat Data

Lokasi

Klik Tombol Lihat Black Box Equivalence Partitioning

Hapus Data

Lokasi

Klik Tombol Hapus Black Box Equivalence Partitioning

Mengolah Data Cekpoin

Tambah data cekpoin, edit data cekpoin, cari data cekpoin, lihat data


(1)

171

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil pengujian perangkat lunak monitouring pada platform Android maka diperoleh kesimpulan sebagai berikut:

1. Perangkat lunak yang dibangun dapat membantu klub motor mendapatkan rute perjalanan berupa navigasi untuk meminimalisir resiko tersesat.

2. Perangkat lunak yang dibangun dapat membantu klub motor menyampaikan segala informasi penting dan konfirmasi kegiatan touring.

3. Perangkat lunak yang dibangun dapat membantu memantau lokasi anggota klub untuk meminimalisir resiko terpisah saat perjalanan.

5.2 Saran

Perangkat lunak monitouring yang dibangun merupakan produk yang berfokus kepada monitouring, oleh karena itu ada beberapa saran yang dapat digunakan sebagai paduan pengembangan perangkat lunak kearah yang lebih baik guna mendukung pertumbuhan pengguna dan konten pada perangkat lunak ini. Adapun saran-saran terhadap pengembangan perangkat lunak yang dibangun adalah sebagai berikut:

1. User yang dideteksi agar bisa bergerak realtime. 2. Map, menggunakan map 3D.

3. Mengembangkan platform yang dapat didukung oleh perangkat lunak, mengingat saat ini hanya mendukung platform Android.


(2)

(3)

RIWAYAT HIDUP PENULIS

Nama : Indra Pramana

NIM : 10110120

Tempat Tanggal Lahir : Bandung, 23 Agustus 1993 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat : Kp. Peuntas RT.01/RW.03 Desa Tagog Apu, Kec. Padalarang, Kab. Bandung Barat.

Kota : Padalarang Kode POS : 40553

Telepon : 081322238338

Email : indra.pramana018@gmail.com

PENDIDIKAN

1. 1998 – 2004 : SDN Tagog Apu 1

2. 2004 – 2007 : SMP Krida Utama Padalarang 3. 2007 – 2010 : SMK T.I Pembangunan Cimahi

4. 2010 – 2016 : Program Studi S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer

Universitas Komputer Indonesia, Bandung

Dengan ini Penulis menyatakan bahwa semua informasi yang diberikan dalam dokumen ini adalah benar

Bandung, 27 Februari 2016 Penulis


(4)

(5)

(6)