• Tidak ada hasil yang ditemukan

Pemanfaatan Teknologi GPS dan Kompas Dalam Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pemanfaatan Teknologi GPS dan Kompas Dalam Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform Android"

Copied!
141
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ALDIO FIRANDO

10110399

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)
(3)
(4)

Nama : Aldio Firando

Tempat Tanggal Lahir : Tuban, 21 Mei 1992

Jenis Kelamin : Laki Laki

Golongan Darah : B

Pekerjaan : Mahasiswa

Agama : Islam

Kewarganegaraan : Indonesia

Alamat Rumah : Cisitu Indah VI No. 194

Telepon : 085645921931

Email : aldio_91@yahoo.com

Status : Belum Menikah

Tinggi/Berat : 178cm/62kg

Hobi : Membaca, Web Design, Photo Editing

B. Pendidikan

No Pendidikan Jurusan Periode

1 Universitas Komputer Indonesia Teknik Informatika 2010-sekarang (smt.3)

2 SMA Negeri 1 Tuban IPA 2007-2010

3 SMP Negeri 1 Tuban - 2004-2007

4 SD Pusaka Tuban - 2001-2007

Saya menyatakan bahwa saya telah menulis rincian CV saya dengan benar dan lengkap.

Bandung: 8 Agustus 2014

(5)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xv

DAFTAR LAMPIRAN ... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pengembangan Perangkat Lunak ... 4

1.6 Sistematika penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

1.1 Pengenalan Android ... 7

1.1.1 Arsitektur Android ... 7

1.2 Google Maps ... 10

1.3 Location Based-Service (LBS) ... 11

(6)

vi

1.4.3.1 Latitude... 15

1.4.3.2 Longitude ... 15

1.5 Kompas ... 15

1.6 Basis data (Database) ... 16

1.7 Jaringan Internet ... 16

1.8 MySQL ... 16

1.9 Eclipse ... 18

1.9.1 Arsitektur Eclipse ... 19

1.10 Software Development Kit (SDK) ... 19

1.11 Java Development Kit (JDK) ... 20

1.12 Android Development Tool (ADT) ... 20

1.13 JSON ... 20

1.14 Java ... 22

1.14.1 Edisi Java ... 22

1.15 PHP ... 23

1.15.1 Kelebihan PHP Dari Bahasa Pemrograman Lain ... 24

1.16 Konsep Pemrograman Terstruktur... 24

1.17 Konsep Pemrograman Berorientasi Objek ... 24

1.17.1 Unified Modelling Language (UML) ... 25

1.17.1.1 Diagram Dalam UML ... 25

1.17.1.1.1 Usecase Diagram ... 26

(7)

vii

1.17.1.1.6 Activity Diagram ... 27

1.17.1.1.7 Component Diagram ... 27

1.17.1.1.8 Deployment Diagram ... 27

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29

1.1 Analisis Sistem ... 29

1.1.1 Analisis Masalah ... 29

1.1.2 Deskripsi Sistem ... 29

1.1.3 Alur Kerja Sistem ... 30

1.1.4 Analisis Kebutuhan non-Fungsional ... 33

1.1.4.1 Analisis Kebutuhan Perangkat Keras ... 33

1.1.4.2 Analisis Kebutuhan Perangkat Lunak... 33

1.1.4.3 Analisis Pengguna... 33

1.1.5 Analisis Kebutuhan Fungsional ... 33

1.1.5.1 Analisis Kebutuhan Fungsional Web Service ... 34

1.1.5.1.1 Diagram Konteks ... 34

1.1.5.1.2 DFD LVL 1 ... 35

1.1.5.1.3 DFD LVL 2 Proses 1 ... 36

1.1.5.1.4 DFD LVL 2 Proses 2 ... 36

1.1.5.1.5 DFD LVL 2 Proses 3 ... 37

1.1.5.1.6 Spesifikasi Proses LVL 1 ... 38

1.1.5.1.7 Kamus Data ... 42

(8)

viii

1.1.5.2.4 Usecase Skenario ... 46

1.1.5.2.5 Activity Diagram ... 64

1.1.5.2.6 Class Diagram ... 77

1.1.5.2.7 Sequence Diagram ... 79

1.2 Perancangan Sistem ... 93

1.2.1 Perancangan Struktur Menu ... 93

1.2.2 Perancangan Antarmuka ... 94

1.2.2.1 Perancangan Antarmuka Register ... 94

1.2.2.2 Perancangan Antarmuka Login ... 95

1.2.2.3 Perancangan Antarmuka Friend... 96

1.2.2.4 Perancangan Antarmuka Friend Detail... 97

1.2.2.5 Perancangan Antarmuka Add Friend ... 98

1.2.2.6 Perancangan Antarmuka Navigation ... 99

1.2.2.7 Perancangan Antarmuka Map ... 100

1.2.2.8 Perancangan Antarmuka Compass ... 101

1.2.3 Perancangan Pesan ... 102

1.2.3.1 Perancangan Antarmuka Message Box Friend Request ... 102

1.2.3.2 Perancangan Antarmuka Message Box Pending Request ... 102

1.2.3.3 Perancangan Antarmuka Message Box Add as Friend ... 103

1.2.4 Diagram Semantik ... 103

1.2.5 Perancangan Metode... 104

(9)

ix

4.1.1 Implementasi Perangkat Lunak ... 111

4.1.2 Implementasi Perangkat Keras ... 111

4.1.3 Implementasi Basis Data ... 112

4.1.4 Implementasi Class ... 113

4.1.5 Implementasi Antarmuka ... 113

4.2 Pengujian Sistem ... 114

4.2.1 Rencana Pengujian Blackbox ... 115

4.2.2 Rencana Pengujian Betha ... 118

4.2.3 Pengujian dan Hasil Pengujian Blackbox ... 119

4.2.4 Pengujian dan Hasil Pengujian Betha ... 122

BAB 5 Kesimpulan dan Saran... 129

5.1 Kesimpulan ... 129

5.2 Saran ... 129

(10)

131

[2] gpstracker. [Online]. http://www.gpstracker.co.id/

[3] Android Developer. [Online].

http://developer.android.com/guide/topics/sensors/sensors_overview.html

[4] N. Safaat, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika, 2011.

[5] Whisnu, GPS Pada Android. Jakarta: Jasakom, 2012.

[6] O. Media. (2014, Jan.) www.obengplus.com. [Online].

http://obengplus.com/artikel/articles/161/1/Membaca-Koordinat-GPS-dengan-Latitude-dan-Longitude#.U1xqPPmSy3I

[7] (2014, May) w3school. [Online]. www.w3school.com

[8] S. Wina Noviani Fatimah. (2011, Feb.) Pengenalan Eclipse.

[9] A. Sucista, "PEMBANGUNAN SISTEM APLIKASI LAYANAN BERBASIS LOKASI PENCARIAN ATM DAN POM BENSIN TERDEKAT BERBASIS ANDROID," AMIKOM Naskah Publikasi Skripsi, 2012.

[10] JSON website. [Online]. http://www.json.org/json-id.html

[11] S. Noviyanto. (2012, Mar.) Pengenalan Bahasa Pemrograman Java . PDF Document.

[12] Y. Ferdianto. (2013, Apr.) PHP.

[13] Institute Teknologi Sepuluh Nopember. (2013, Sep.) Laboratorium Rekayasa Perangkat Lunak Teknik Informatika ITS. [Online].

http://rpl.if.its.ac.id/perbedaan-pemrograman-terstruktur-dan-pemrograman-berorientasi-objek/

(11)

iii

KATA PENGANTAR

Asalammualaikum Wr. Wb

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat serta hidayah-Nya. Shalawat dan salam penulis panjatkan kepada Nabi Muhammad SAW.

Atas segala rahmat dan karunia-Nya lah penulisan laporan skripsi yang berjudul

Pemanfaatan Teknologi Gps Dan Kompas Dalam Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform Android” dapat diselesaikan

sesuai waktu yang dihrapkan.

Dalam menyusun skripsi ini, penulis banyak memperoleh bantuan serta bimbingan dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan ucapan terimakasih kepada

1. Keluarga besar penulis terutama kedua orang tua yang telah memberikan dukungan yang sangat besar kepada penulis.

2. Bapak Dr. Ir. Eddy Soeryanto Soegoto, M.Sc. selaku Rektor UNIKOM. 3. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas

Teknik dan Ilmu Komputer.

4. Bapak Irawan Afrianto, S.T., M.T. Selaku Ketua Program Studi Teknik Informatika.

5. Ibu Sufa’atin, S.T.,M.Kom selaku dosen wali IF-9.

6. Bapak Eko Budi Setiawan, S.Kom., M.T selaku dosen pembimbing yang telah sabar membimbing untuk menyelesaikan laporan skripsi ini.

7. Bapak Adam Mukharil Bachtiar, S.Kom., M.T selaku dosen reviewer yang banyak sekali memberikan masukan dan kritikan yang membangun dan membuat penulisan laporan skripsi ini menjadi lebih baik.

(12)

iv

9. Adik penulis Elvira Tanaya Firando yang ikut membantu mencari data dan melakukan pengujian.

10.Sheba Qintadali Suciayuwastika yang telah memberikan dukungan lebihnya disetiap progress penulisan laporan skripsi ini.

11.Rahayu Dwi Permatasari sebagai tempat sharing apabila menemui masalah dalam pembuatan laporan skripsi ini.

12.Teman-teman pemain game DotA di Tuban yang membantu melakukan testing aplikasi.

13.Teman-teman pemain game Dragon Nest yang selalu memberikan masukan dan ide-ide yang cemerlang.

14.Teman-teman seperjuangan skripsi IF-9 yang saling mendukung satu sama lain agar dapat lulus bersama.

15.Teman-teman IF-9 angkatan 2010 yang selalu mendukung teman-temannya yang sedang skripsi.

16.Seluruh pihak-pihak yang terlibat dan tidak bisa penulis sebutkan satu per satu.

Penulis telah berupaya dengan maksimal dalam penulisan laporan skripsi ini, namun penulis menyadari masih banyak kekurangan baik isi maupun penulisan laporan skripsi. Untuk itu penulis mengharapkan kritik yang membangun dan saran agar dapat menyempurnakan laporan skripsi ini.

Semoga laporan skripsi ini dapat bermanfaat bagi pembaca maupun peneliti yang ingin mengembangkan kembali penelitian ini dan menjadikan laporan ini sebagai referensi bagi peneliti yang tertarik meneliti hal yang sama.

Wassalamualaikum Wr.Wb.

Bandung, 8 Agustus 2014

(13)

1

Telepon seluler sekarang ini telah menyediakan fitur-fitur yang sangat membantu. Telepon selular yang sebelumnya hanya digunakan untuk alat komunikasi suara (telepon) dan alat pengirim pesan (Short Message Service) saja sekarang dengan semakin bertambahnya kebutuhan akan fitur baru maka para vendor telepon seluler mulai menanamkan teknologi-teknologi baru berupa sensor-sensor pada Smartphone. Dalam hal penunjuk arah biasa digunakan GPS dan Kompas.

Dalam kehidupan sehari-hari kita harus menemui seseorang di suatu tempat yang belum kita ketahui lokasinya. Aplikasi umum yang dipakai oleh masyarakat untuk mencari lokasi adalah Google Maps atau navigasi yang disediakan oleh beberapa Smartphone untuk menuju lokasi tersebut. Namun berdasarkan penelitian awal yang diperoleh dengan melakukan kuisioner sebesar 78,79% responden mengatakan fasilitas Google Maps dan Navigasi tidak bisa membantu untuk menemukan lokai yang lebih spesifik atau kurang dikenal. Bahkan pada banyak kasus masih menggunakan telepon untuk saling bertanya dan harus memberikan banyak informasi agar lokasi dapat ditemukan. Lokasi yang lebih spesifik dimana seseorang berada bisa didapatkan dari koordinat Latitude dan Longitude telepon selulernya. Akan tetapi lokasi tersebut tidak dapat digunakan pengguna umum sebagai dasar pencarian lokasi yang lebih detail.

(14)

Kompas adalah sebuah alat navigasi yang fungsinya untuk menunjukkan arah (mata angin). Pada perkembangan saat ini telepon seluler (Smartphone) sudah menanamkan beberapa sensor seperti sensor gerak, sensor lingkungan, dan sensor posisi [3]. Disini kompas termasuk ke dalam kategori sensor posisi. Dengan menggunakan sensor ini maka Smartphone dapat digunakan sebagai penunjuk arah sebagaimana fungsi dari kompas.

Dengan mengkombinasikan lokasi yang didapatkan dari GPS dan kompas yang diubah orientasinya berdasarkan perbedaan derajat bearing sebuah lokasi maka dapat dibuat sebuah aplikasi pencarian teman dengan mengarahkannya ke tempat tujuan. Namun nilai akurasi untuk penggunaannya dalam aplikasi masih belum diteliti.

Berdasarkan uraian latar belakang masalah diperlukan penelitian eksperimen untuk mengetahui seberapa besar akurasi dari penggunaan GPS dan kompas dalam menemukan lokasi teman. Oleh karena itu didapatkan sebuah judul penelitian yaitu “Pemanfaatan Teknologi GPS Dan Kompas Dalam Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform Android”.

1.2 Perumusan Masalah

Rumusan masalah untuk penelitian ini adalah bagaimana memanfaatkan teknologi gps dan kompas dalam pembangunan aplikasi Friend Finder berbasis mobile pada platform Android.

1.3 Maksud dan Tujuan

Dari latar belakang masalah yang telah diuraikan, maksud dari penulisan skripsi ini adalah melakukan pemanfaatan teknologi GPS dan kompas dalam pembangunan aplikasi Friend Finder berbasis mobile pada platform Android.

Tujuan yang ingin dicapai dari penelitian ini adalah:

1. Mengetahui berapa besar jarak dan simpangan ketidaktepatan akurasi penggunaan GPS dan kompas dalam pencarian lokasi teman.

(15)

1.4 Batasan Masalah

Batasan masalah dalam Pemanfaatan Teknologi GPS Dan Kompas Dalam Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform Android ini adalah:

1. Hanya bisa digunakan untuk lokasi pada ketinggian sama. Tidak bisa menentukan perbedaan lantai pada gedung bertingkat (Keterbatasan GPS).

2. Kecepatan dan akurasi untuk mendapatkan lokasi didasarkan dari tempat dan jenis perangkat yang digunakan.

3. Untuk pengujian menggunakan device Samsung Galaxy Ace 3 (GT-S7270) dan device Samsung Galaxy Wonder (GT-l8150).

4. Pendekatan analisis kebutuhan pada pembangunan perangkat lunak ini digunakan permodelan berorientasi objek pada aplikasi mobile dan permodelan terstruktur pada web service.

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah penelitian eksperimen, yaitu sebuah penelitian yang dilakukan dengan memberikan sebuah kondisi yang dikontrol untuk mengetahui perubahan yang terjadi.

Metode penelitian merupakan tahapan-tahapan yang dilalui dalam pembangunan sistem, mulai dari perumusan masalah hingga penarikan kesimpulan, yang membentuk suatu alur yang sistematis. Metode penelitian digunakan sebagai pedoman dalam pelaksanaan penelitian, agar hasil yang dicapai sesuai dengan tujuan dari pembangunan sistem. Ada dua buah metode penelitian yang digunakan dalam penelitian ini yaitu metode pengumpulan data dan metode pengembangan perangkat lunak.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah: a. Studi Literatur

(16)

b. Kuisioner

Pengumpulan data yang dilakukan dengan melemparkan pertanyaan kepada masyarakat umum untuk memperoleh fakta yang ada di masyarakat.

1.5.2 Metode Pengembangan Perangkat Lunak

Metode yang diterapkan dalam pembangunan perangkat lunak Friend Finder ini, ialah waterfall yang diutarakan oleh Ian Sommerville, yang meliputi beberapa proses yaitu :

Gambar 1.1 Model Waterfall

a. Requirements definition

Pada proses ini dilakukan pengumpulan data dengan studi literatur yaitu pengumpulan data yang bersumber dari buku, jurnal, paper serta situs internet. Kemudian metode pengumpulan data kedua adalah kuisioner yaitu dengan penyebaran ke beberapa responden umum secara acak untuk mengetahui kebutuhan apa saja yang dibutuhkan oleh pengguna.

b. System and software design

(17)

menentukan kebutuhan dan merancang hal-hal apa saja yang harus dibuat dalam perangkat lunak yang akan dibangun. Sehingga fungsional dari perangkat lunak yang dibangun dapat mencakup dari kebutuhan pengguna.

c. Implementation and unit testing

Implementation and unit testing diterapkan hasil dari proses System and software design yang telah menjadi sebuah perancangan perangkat lunak menjadi sebuah aplikasi dengan menerjemahkannya ke dalam suatu bahasa pemrograman tertentu. Disini peneliti menggunakan bahasa pemrograman Java.

d. Integration and system testing

Tahap Integration and system testing dilakukan pengujian perangkat lunak yang telah dibangun terhadap seluruh komponen.Setiap bagian dari perangkat lunak peneliti melakukan testing guna mengetahui dimana letak dari kekurangan perangkat lunak yang dibangun sehingga dapat dikoreksi dan diperbaiki.

e. Operation and maintenance

Operation and maintenance merupakan tahap akhir dari pembangunan perangkat lunak dan disini mulai mengaplikasikan perangkat lunak ke pengguna umum dan dengan berjalannya waktu sesuai kebutuhan yang terus bertambah maka disini juga dilakukan perubahan-perubahan pada perangkat lunak.

1.6 Sistematika penulisan

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

BAB I PENDAHULUAN

(18)

batasan-batasan masalah yang mencakup perangkat lunak yang akan dibangun, metodologi penelitian yang dilakukan untuk membangun perangkat lunak, serta sistematika penulisan tugas akhir.

BAB II LANDASAN TEORI

Pada bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan untuk mendukung analisis dan perancangan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi pemaparan analisis masalah, analisis sistem yang sedang berjalan, analisis kebutuhan data, analisis basis data, analisis jaringan, analisis kebutuhan fungsional, dan analisis kebutuhan non fungsional. Hasil dari analisis tersebut digunakan untuk melakukan perancangan perangkat lunak.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menjelaskan tentang implementasi dan pengujian dari perangkat lunak yang dibangun berdasarkan analisis dan perancangan perangkat lunak yang telah dilakukan. Hasil dari implementasi kemudian dilakukan pengujian perangkat lunak menggunakan metode blackbox sehingga perangkat lunak yang dibangun sesuai dengan analisis dan perancangan yang telah dilakukan.

BAB V KESIMPULAN DAN SARAN

(19)

7

BAB 2

LANDASAN TEORI

1.1 Pengenalan Android

Android merupakan sistem operasi mobile yang tumbuh di tengah sistem operasi lainnya yang berkembang dewasa ini. Sistem operasi lainnya seperti Windows Mobile, i-Phone OS, Symbian dan masih banyak lagi juga menawarkan kekayaan isi dan keoptimalan berjalan di atas perangkat hardware yang ada. Akan tetapi, sistem operasi yang ada ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga. Oleh karena itu, adanya keterbatasan distribusi aplikasi pihak ketiga untuk platform mereka [4].

Android menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang sama. Android tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. Application Programming Interface (API) yang disediakan menawarkan akses ke hardware, maupun data-data ponsel sekalipun, atau data sistem sendiri. Bahkan pengguna dapat menghapus aplikasi inti dan menggantikannya dengan aplikasi pihak ketiga [4].

1.1.1 Arsitektur Android

Arsitektur Android dapat digambarkan seperti pada gambar 1 dan secara garis besar Arsitektur Android dapat dijelaskan sebagai berikut:

a. Application dan Widgets

(20)

Gambar 2.1 Arsitektur Android

b. Application Frameworks

Android adalah “Open Development Platform”yaitu Android

menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resource, menjalankan service background, mengatur alarm, dan menambah status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse). Sehingga bisa kita simpulkan Application Frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content providers yang berupa sms dan panggilan telepon [4]. Komponen-komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut:

1. Views

(21)

c. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas Kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc SSL, serta:

a. Libraries media untuk pemutaran media audio dan video b. Libraries untuk manajemen tampilan

c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D

d. Libraries SQLite untuk dukungan database

e. Libraries SSL dan WebKit terintegrasi dengan web browser dan security

f. Libraries LiveWebcore mencakup modern web browser dengan engine embedded webview

g. Libraries 3D yang mencakup implementasi OpenGL ES1.0 API’s. [4]

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu:

a. Core Libraries: Aplikasi Android dibangun dalam bahasa Java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah libraries yangberfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries. b. Dalvik Virtual Machine: Virtual mesin berbasis register yang

(22)

e. Linux Kernel

Linux Kernel adalah layer dimana inti dari system operasi Android itu berada. Berisi file-file system yang mengatur sistem processing, memory, resource, drivers, dan sistem-sistem operasi Android lainnya. Linux Kernel yang digunakan Android adalah Linux Kernel release 2.6 [4].

1.2 Google Maps

GoogleMaps adalah peta online atau membuka peta secara online, dapat dilakukan secara mudah melalui layanan gratis dari Google. Bahkan layanan ini menyediakan API (Application Programming Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini di aplikasi buatannya. Tampilan GoogleMaps pun dapat dipilih, berdasarkan foto asli atau peta gambar rute saja.

GoogleMaps adalah layanan gratis yang diberikan oleh Google dan sangat popular. GoogleMaps adalah suatu peta dunia yang dapat kita gunakan untuk melihat suatu daerah seperti pada gambar 2. Dengan kata lain, GoogleMaps merupakan suatu peta yang dapat dilihat dengan menggunakan suatu browser. Kita dapat menambahkan fitur GoogleMaps dalam web yang telah kita buat atau pada blog kita yang berbayar maupun gratis sekalipun dengan GoogleMaps API. GoogleMaps API adalah suatu library yang berbentuk JavaScript.

(23)

Gambar 2.2 Google Maps

Pada GoogleMaps API terdapat 4 jenis pilihan model peta yang disediakan oleh Google, diantaranya adalah:

a. ROADMAP, untuk menampilkan peta biasa 2 dimensi. b. SATELLITE, untuk menampilkan foto satelit.

c. TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan menunjukkan seberapa tingginya suatu lokasi, contohnya akan menunjukkan gunung dan sungai.

d. HYBRID, akan menunjukkan foto satelit yang diatasnya tergambar pula apa yang tampil pada ROADMAP (jalan dan nama kota). [5]

1.3 Location Based-Service (LBS)

Salah satu ciri mobile phone atau tablet pc adalah portabilitas, sehingga tidak mengherankan bahwa beberapa fitur Android sangat menarik seperti layanan yang memungkinkan anda menemukan, mencari serta menvisualisasikan posisi kita ke dalam peta lokasi fisik seperti GoogleMaps. Kita dapat membuat peta berbasis GoogleMaps dan menjadikannya sebagai element dalam layout User Interface (UI) yang kita rancang. Kita dapat melakukan akses penuh ke peta GoogleMaps, dan memungkinkan kita untuk mengontrol pengaturan tampilan, mengubah tampilan zoom lokasi, dan memindahkan lokasi tampilan. [5]

(24)

location. Map dan layanan berbasis lokasi menggunakan lintang dan bujur untuk menentukan lokasi geografis, namun sebagai user kita membutuhkan alamat atau posisi realtime kita bukan nilai lintang dan bujur. Android menyediakan geocoder yang mendukung forward dan reverse geocoding. Menggunakan geocoder, anda dapat mengkonversi nilai lintang bujur menjadi alamat dunia nyata atau sebaliknya. [5]

Location based service atau layanan berbasis lokasi adalah istilah umum yang digunakan untuk menggambarkan teknologi yang digunakan untuk menemukan lokasi perangkat yang kita gunakan. Dua unsur utama LBS adalah:

a. Location Manager (API Maps)

Menyediakan tools/resource untuk LBS, Application Programming Interface (API) Maps menyediakan fasilitas untuk menampilkan, memanipulasi maps/peta beserta feature-feature lainnya seperti tampilan satelit, street (jalan), maupun gabungannya. Paket ini berada pada com.google.android.maps. [5]

b. Location Providers (API Location)

Menyediakan teknologi pencarian lokasi yang digunakan oleh device/perangkat. API Location berhubungan dengan data GPS dan data lokasi realtime. API Location berada pada paket Android yaitu dalam paket android.location. Dengan Location Manager, kita dapat menentukan lokasi kita saat ini, Track gerakan/perpindahan, serta kedekatan dengan lokasi tertentu dengan mendeteksi perpindahan. [5]

1.4 Global Positioning System (GPS)

(25)

a. Waktu. GPS receiver menerima informasi waktu dari jam atom yang mempunyai keakurasian sangat tinggi.

b. Lokasi. GPS memberikan informasi lokasi dalam tiga dimensi: 1. Latitude

2. Longitude 3. Elevasi

c. Kecepatan. Ketika berpindah tempat, GPS dapat menunjukkan informasi kecepatan berpindah tersebut.

d. Arah perjalanan. GPS dapat menunjukkan arah tujuan.

e. Simpan lokasi. Tempat-tempat yang sudah pernah atau ingin dikunjungi bisa disimpan oleh GPS receiver.

f. 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. [5]

1.4.1 Akurasi GPS

Posisi yang ditunjukkan oleh suatu GPS mempunyai faktor kesalahan atau juga disebut tingkat akurasi. Sebagai contoh suatu alat GPS menunjukkan titik koordinat dengan tingkat akurasi 5 meter, itu berarti posisi pengguna bisa berada dalam range radius 5 meter dari titik yang ditunjukkan tersebut. [5]

Mengapa tingkat akurasi yang terlihat bisa berubah-ubah? Kadang terlihat 10 meter, 15 meter, atau 5 meter. Ada beberapa hal yang mempengaruhi tingkat akurasi tersebut, antara lain:

a. Kesalahan Ephemeris. Terjadi jika satelit tidak dapat mentransmisikan posisinya di orbit dengan tepat.

(26)

c. Keadaan Troposphere. Troposphere adalah bagian terendah dari atmosfer sampai dengan ketinggian sekitar 11 mil dari permukaan tanah. Variasi pada temperatur, tekanan, dan kelembaban bisa menyebabkan perbedaan kecepatan penerimaan gelombang radio.

d. Kesalahan Waktu. Karena penempatan jam atom pada setiap GPS receiver tidak berjalan sebagaimana mestinya. Kesalahan waktu dari GPS receiver yang tidak presisi dapat menimbulkan ketidakakurasian.

e. Kesalahan Multipath. Terjadi karena sinyal satelit membentur permukaan keras (seperti bangunan atau tebing) sebelum mencapai GPS receiver. Hal tersebut bisa menyebabkan terjadinya delay sehingga perhitungan jarak menjadi tidak akurat.

f. Buruknya Sinyal Satelit. Keadaan langit yang terhalang akan menyebabkan GPS sulit menerima data satelit. Sebuah sinyal satelit yang pada hari tertentu diterima dengan sangat bagus belum tentu pada hari lain bisa diterima dengan kualitas yang sama walaupun user berdiri pada tempat yang sama. Hal tersebut dikarenakan posisi dari satelit yang terus bergerak atau bisa juga disebabkan faktor penghalang lain seperti pohon, gedung bertingkat, dan sebagainya. [5]

1.4.2 Android Dan GPS

Dewasa ini, teknologi berkembang dengan pesat. Dulu ponsel hanya sekedar digunakan untuk menelpon dan SMS saja. Sekarang ponsel sudah menjelma menjadi kotak kecil ajaib yang serba bisa. Salah satunya adalah ponsel dengan sistem operasi Android. [5]

Dengan standarisasi fitur dan hardware yang dimiliki, menjadikan ponsel Android ponsel canggih yang disukai banyak orang. Tidak lagi canggih karena adanya fitur MMS, radio, atau internet berkecepatan tinggi tapi juga karena ditanamkannya fitur teknologi satelit di dalamnya. Ya, perangkat GPS receiver

yang dulu besar dan eksklusif, sekarang sudah bisa dimiliki dengan “hanya”

membeli sebuah ponsel. [5]

(27)

foto/video yang sudah dilengkapi dengan data koordinat? Ingin tahu jalur olahraga bersepeda yang sudah pernah user lalui? Atau ingin tahu dimana posisi ponsel yang hilang dicuri orang? Semua itu bisa dilakukan dengan ponsel Android yang memiliki fitur GPS. [5]

Tidak hanya itu, user juga dapat pergi ke tempat wisata tertentu dengan dipandu gambar dan suara dari sebuah ponsel! Bahkan lebih jauh lagi, GPS dapat digunakan untuk membantu memberikan peringatan dini terhadap terjadinya bencana alam. [5]

Sekarang ini banyak sekali pengembangpengembang aplikasi untuk sistem operasi Android termasuk aplikasi GPS. Yang menyenangkan aplikasi-aplikasi tersebut jenisnya beragam dan jumlahnya pun banyak. [5]

1.4.3 Latitude dan Longitude

Latitude dan longitude adalah sebuah koordinat yang ada di bumi dan digunakan untuk menentukan kedudukan kita di atas bumi.

1.4.3.1 Latitude

Longitude adalah garis lintang. Angka dari sudut bundar bumi horisontal. Titik diawali dari 0 ke 180 derajat, dan - ke arah sebaliknya. Titik 0 dimulai dari garis negara Inggris. Mengarah ke Indonesia akan menjadi angka positif. Kebalikannya koordinat Longitude minus adalah arah kebalikan. [6]

1.5 Kompas

(28)

ysama seperti kompas pada umumnya dan menggunakan sensor posisi yang sudah ditanamkan pada perangkat itu sendiri.

1.6 Basis data (Database)

Basis data atau database adalah kumpulan data yang salaing berelasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil (Query) basis data disebut Database Management System (DBMS), dan sistem basis data yang dipelajari disebut sistem informasi.

Konsep dasar dari basis data adalah kumpulan dari catatan – catatan, atau potongan dan pengetahuan. Sebuah basis data memiliki penjelasan yang tersimpan di dalamnya yang di sebut skema. Skema menggambarkan objek yang dimiliki oleh suatu basis data dan relasi(hubungan) diantaranya. Cara untuk mengorganisasikan skema di sebut Model Basis Data. Ada beberapa Model yang digunakan, akan tetapi yang umum digunakan sekarang adalah Model Relasional.

1.7 Jaringan Internet

Internet adalah suatu jaringan computer global yang terbentuk dari jaringan-jaringan computer local dan regional yang memungkinkan komunikasi data antar computer yang terhubung ke jaringan tersebut. Internet awalnya merupakan suatu rencana dari Departemen Pertahanan Amerika Serikat (US Department of Defense) pada sekitar tahun 1960. Dimulai dari suatu proyek yang dinamakan ARPANET atau Advanced Research Project Agency Network. Beberapa universitas di Amerika Serikat diantaranya UCLA, Stanford, UC Santa Barbara dan University of Utah, diminta bantuan dalam mengerjakan proyek ini dan awalnya telah berhasil menghubungkan empat computer di lokasi universitas berbeda tersebut.

1.8 MySQL

(29)

database server untuk menyimpan data lokasi yang dikirim oleh masing-masing telepon seluler.

MySQL adalah aplikasi database yang mudah digunakan karena telah banyak digunakan di berbagai aplikasi dan websites. Pada Web Hosting juga sudah banyak yang meneyediakan database ini.

Dalam MYSQL ada beberapa operasi dasar yang lebih dikenal dengan operasi CRUD yaitu:

1. Create

Create adalah operasi penambahan data baru kedalam table. Terdapat 2 Query untuk menambah data, yang pertama adalah penambahan yang tidak menspesifikasikan nama kolom yang akan ditambahkan dan hanya memberikan isi dari tabelnya. Querynya adalah sebagai berikut:

INSERT INTOtable_name

VALUES (value1,value2,value3,...); [7]

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,...); [7]

2. Read

Read adalah operasi untuk menampilkan semua atau sebagian data yang berada di dalam database. Querynya adalah sebagai berikut:

SELECTcolumn_name,column_name

FROMtable_name; [7]

3. Update

(30)

UPDATEtable_name

SETcolumn1=value1,column2=value2,...

WHEREsome_column=some_value; [7]

4. Delete

Delete adalah operasi untuk menghapus data yang ada di dalam table. Querynya adalah sebagai berikut:

DELETE FROMtable_name

WHEREsome_column=some_value; [7]

1.9 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

(31)

1.9.1 Arsitektur Eclipse

Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:

a. Core platform b. OSGi

d. SWT (Standard Widget Toolkit) e. JFace

f. Eclipse Workbench

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java. [8]

Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project. [8]

1.10 Software Development Kit (SDK)

(32)

pemrograman java, mempunyai SDK yang berisi suatu library yang dapat digunakan untuk membuat suatu aplikasi berbasis java. [4]

1.11 Java Development Kit (JDK)

Java Development Kit (JDK) adalah sekumpulan perangkat lunak yang dapat digunakan untuk mengembangkan perangkat lunak yang berbasis Java, Sedangkan JRE adalah sebuah implementasi dari Java Virtual Machine yang benar-benar digunakan untuk menjalankan program java.Biasanya, setiap JDK berisi satu atau lebih JRE dan berbagai alat pengembangan lain seperti sumber kompiler java, bundling, debuggers, development libraries dan lain sebagainya. Perbedaan JDK dengan SDK (Software Development Kit) yaitu JDK adalah sebuah SDK tetapi sebuah SDK tidak harus menjadi sebuah JDK [4]

1.12 Android Development Tool (ADT)

Android Development Tools (ADT) adalah plugin untuk Eclipse Intergrated Development Environment (IDE) yang dirancang untuk memberikan lingkungan yang terpadu di mana untuk membangun aplikasi Android. ADT memperluas kemampuan Eclipse untuk membiarkan para developer lebih cepat dalam membuat proyek baru Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk mendistribusikan aplikasi. Mengembangkan aplikasi di Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai membuat aplikasi android, karena banyak kemudahan-kemudahan sebagai tools yang terintegrasi seperti, custom XML editor, dan debug panel ouput. Selain itu ADT memberikan dorongan luar biasa dalam mengembangkan aplikasi Android. [9]

1.13 JSON

(33)

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

JSON terbuat dari dua struktur:

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

2. 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. JSON menggunakan bentuk sebagai berikut:

1. Objek

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

3. Larik

(34)

4. Nilai

Nilai (value) 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.

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

6. Angka

Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. [10]

1.14 Java

Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa pemrograman, Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++. Java merupakan bahasa pemrograman berorientasi objek yang merupakan paradigma pemrograman masa depan. Sebagai bahasa pemrograman Java dirancang menjadi handal dan aman. Java juga dirancang agar dapat dijalankan di semua platform. Dan juga dirancang untuk menghasilkan aplikasi – aplikasi dengan performansi yang terbaik, seperti aplikasi database Oracle 8i/9i yang core-nya dibangun menggunakan bahasa pemrograman Java. Sedangkan Java bersifat neutral architecture, karena Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitekture perangkat keras yang disebut sebagai Java Bytecode. [11]

1.14.1 Edisi Java

(35)

platform apapun. Java platform tersedia dalam 3 edisi untuk keperluan berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa Java, java dipaketkan dalam edis – edisi berikut :

1. Java 2 Standard Edition ( J2SE ) 2. Java 2 Enterprise dition ( J2EE ) 3. Java 2 Micro Edition ( J2ME )

Masing – masing edisi berisi Java 2 Software Development Kit ( J2SDK ) untuk mengembangkan aplikasi dan Java 2 Runtime Environent ( J2RE ) untuk menjalankan aplikasi. [11]

1.15 PHP

PHP Kepanjangan dari PHP adalah "Hypertext Preprocessor" (ini merupakan singkatan rekursif). Jadi, Apa itu PHP? PHP adalah bahasa scripting web HTML-embedded. Ini berarti kode PHP dapat disisipkan ke dalam HTML halaman Web. Ketika sebuah halaman PHP diakses, kode PHP dibaca atau "diurai" oleh server. Output dari fungsi PHP pada halaman biasanya dikembalikan sebagai kode HTML, yang dapat dibaca oleh browser. Karena kode PHP diubah menjadi HTML sebelum halaman dibuka, pengguna tidak dapat melihat kode PHP pada halaman. Ini membuat halaman PHP cukup aman untuk mengakses database dan informasi aman lainnya. [12]

(36)

1.15.1 Kelebihan PHP Dari Bahasa Pemrograman Lain

Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:

 Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan

sebuah kompilasi dalam penggunaanya.

 Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai

apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.

 Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan

developer yang siap membantu dalam pengembangan.

 Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah

karena memiliki referensi yang banyak.

 PHP adalah bahasa open source yang dapat digunakan di berbagai mesin

(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. [12]

1.16 Konsep Pemrograman Terstruktur

Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Pemrograman Terstruktur juga dapat diartikan sebagai suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop). [13]

1.17 Konsep Pemrograman Berorientasi Objek

(37)

mengimplementasikan objek-objek tersebut dan menghubungkan antar objek tersebut. [14]

1.17.1 Unified Modelling Language (UML)

UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi object dan design berorientasi object (O OA&D) yang dimunculkansekitar akhir tahun 80-an dan awal tahun 90-an.

UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahanpengembangan UML dilakukan standarisasi proses dengan OMG (ObjectManagement Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.

UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain.

UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak. [14]

1.17.1.1 Diagram Dalam UML

(38)

1.17.1.1.1Usecase Diagram

Menggambarkan sejumlah external actors dan hubungannya ke use case yang diberikan oleh sistem. Use case adalah deskripsi fungsi yang disediakan oleh system dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga dilakukan dalam activity diagrams. Use case digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan sistem yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam sistem. [14]

1.17.1.1.2Class Diagram

Menggambarkan struktur statis class di dalam sistem. Class merepresentasikan sesuatu yang ditangani oleh sistem. Class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (grup bersama sebagai satu unit). Sebuah sistem biasanya mempunyai beberapa class diagram. [14]

1.17.1.1.3Sequence Diagram

Menggambarkan kolaborasi dinamis antara sejumlah object. Kegunaanya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem. [14]

1.17.1.1.4Collaboration Diagram

Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram. [14]

1.17.1.1.5State Chart Diagram

(39)

object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda. [14]

1.17.1.1.6Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi. [14]

1.17.1.1.7Component Diagram

Menggambarkan struktur fisik kode dari komponent. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view. [14]

1.17.1.1.8Deployment Diagram

(40)
(41)

29

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

1.1 Analisis Sistem

Dalam analisis sistem dilakukan penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan sehingga ditemukan kelemahan dan hambatan yang terjadi serta kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya. Tahap analisis sistem dilakukan setelah tahap perencanaan sistem dan sebelum tahap perencanaan sistem, tahap analisis merupakan tahap yang paling kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabkan juga di tahap selanjutnya

1.1.1 Analisis Masalah

Sulitnya menemukan seseorang untuk bertemu disuatu tempat. Apalagi tempat tersebut merupakan tempat yang belum dikenal dan berada di tempat keramaian. Ini semua dikarenakan aplikasi-aplikasi yang ada belum menangani masalah untuk menemukan lokasi seseorang secara detail seperti berdasarkan telepon selulernya, yang ada hanyalah untuk mencari sebuah tempat. Dan selama ini untuk menangani masalah tersebut masih harus menelpon atau SMS secara terus menerus sampai keduanya saling bertemu. Tentu saja cara tersebut kurang efektif karena selain memakan waktu juga memakan biaya.

Untuk itu dibutuhkan sebuah system yang dapat mengatasi masalah tersebut dengan menemukan lokasi berdasarkan telepon seluler dan dapat menemukan lokasi tersebut secara detail.

1.1.2 Deskripsi Sistem

(42)

Setiap aplikasi yang di install di telepon seluler ini harus mendaftarkan diri terlebih dahulu agar memiliki ID yaitu nama lengkap sebagai tanda pengenal. Untuk mengetahui dimana letak dari telepon seluler tersebut dibutuhkan nama lengkap sebagai penanda.

Proses apabila akan melakukan pencarian adalah sebagai berikut: perangkat pertama yang akan melakukan pencarian akan memasukan nama lengkap target setelah itu sistem akan mencari user tersebut ada atau tidak. Setelah ditemukan maka lokasi target akan dimunculkan dalam peta. Perangkat pertama bisa memilih apakah memilih fasilitas direction yaitu memberikan arahan jalur mana yang harus ditempuh untuk mencapai ke lokasi perangkat target atau bisa juga melalui fasilitas compass yaitu memberikan lokasi target dengan memberikan arah berupa kompas yang bisa memberikan lokasi target lebih detail.

1.1.3 Alur Kerja Sistem

Berikut ini adalah alur kerja system dari aplikasi Friend Finder untuk pengambilan data lokasi:

(43)

a. Aplikasi Mobile

Aplikasi mobile disini dibangun di atas platform android. Tugas dari aplikasi ini mengambil data lokasi dari satelit GPS kemudian mengirimkan ke web service. Data-data yang berada di web service juga dapat di akses melalui aplikasi mobile.

b. Web Service

Web service disini berperan untuk menjembatani antara database service dengan aplikasi mobile. Disini dilakukan query-query untuk mendapatkan data dan memanipulasi data yang akan ditulis dalam respon JSON agar dapat dibaca pada aplikasi mobile yang berjalan di atas platform Android.

Aplikasi yang sedang online akan mengirimkan data lokasi yang di dapatkan dari satelit GPS secara berkala ke database service melalui web service. Maka tersimpanlah data lokasi user. Jika user lain ingin mengetahui lokasi kita maka data lokasi kita akan dikirimkan ke user lain melalui web service yang kemudian dengan JSON akan diparsing dan menghasilkan data lokasi. Setelah data lokasi didapatkan maka aplikasi mobile ini menampilkannya ke dalam peta sehingga dapat diketahui secara pasti lokasi kita.

(44)

Gambar 3.2 Alur Kerja Sistem Kompas

Pada kompas secara normal arah utara yang ditunjukkan merupakan sebuah sudut yang diperoleh dari nilai Azimuth. Azimuth adalah sudut antara arah utara kompas dengan arah sebuah titik tertentu. Jadi sudut acuan untuk mengarahkan kompas kearah utara adalah nilai Azimuth.

Bearing merupakan sebuah sudut antara arah utara dengan garis yang di buat dari dua buah titik lokasi, sehingga jika kita menggantikan nilai Azimuth dengan nilai Bearing sebuah kompas tidak lagi menunjukkan arah utara, namun menunjukkan arah titik lokasi kedua seperti gambar di atas.

(45)

1.1.4 Analisis Kebutuhan non-Fungsional

Analisis kebutuhan non fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem. Spesifikasi kebutuhan melibatkan analisis perangkat keras/hardware, analisis perangkat lunak/software,analisis pengguna/user.

1.1.4.1 Analisis Kebutuhan Perangkat Keras

Perangkat keras yang dibutuhkan berdasarkan kebutuhan minimal yang harus terpenuhi adalah sebagai berikut:

a. Memory 160 MB

1.1.4.2 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dibutuhkan berdasarkan kebutuhan minimal yang harus terpenuhi adalah sebagai berikut:

a. Android 3.0 (Honeycomb).

1.1.4.3 Analisis Pengguna

Analisis pengguna bertujuan untuk mengetahui pengguna yang berinteraksi dengan aplikasi ini. Pada aplikasi ini hanya ada satu pengguna yaitu Pengguna umum yang telah mendaftarkan diri pada aplikasi.

Pengguna memiliki hak akses untuk mengakses semua menu di aplikasi dan tingkat pendidikan minimal SMP serta keterampilan minimal bisa menggunakan aplikasi pada mobile Android.

1.1.5 Analisis Kebutuhan Fungsional

(46)

1.1.5.1 Analisis Kebutuhan Fungsional Web Service

Analisis ini digunakan untuk menganalisis kebutuhan fungsional pada sub sistem web service

1.1.5.1.1 Diagram Konteks

Berikut ini adalah diagram konteks dari web service

(47)

1.1.5.1.2 DFD LVL 1

Berikut ini adalah DFD lvl 1:

(48)

1.1.5.1.3 DFD LVL 2 Proses 1

Berikut ini adalah DFD lvl 2 Proses 1:

Gambar 3.5 DFD LVL 2 Proses 1

1.1.5.1.4 DFD LVL 2 Proses 2

Berikut ini adalah DFD lvl 2 Proses 2:

(49)

1.1.5.1.5 DFD LVL 2 Proses 3

Berikut ini adalah DFD lvl 2 Proses 3:

(50)

1.1.5.1.6 Spesifikasi Proses LVL 1

Tabel 3.1 Spesifikasi Proses LVL 1

No Proses Keterangan

1 No. Proses 1.1

Nama Proses Penyediaan data user Source (entitas terkait) Android

Input Data permintaan register, Data register

Output Data respon register

Destination (tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data user ke sistem web service

2. Sub sistem web service menyimpan data user kemudian mencatat respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

2 No. Proses 1.2

Nama Proses Penyediaan data login Source (entitas terkait) Android

Input Data permintaan login, Data login

Output Data respon login

Destination (tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data login ke sub sistem web service 2. Sub sistem web service memeriksa

kecocokan dengan data di database

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android apakah login berhasi atau tidak

3 No. Proses 2.1

Nama Proses Penyediaan data update lokasi Source (entitas terkait) Android

(51)

No Proses Keterangan

Output Data respon lokasi

Destination (tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data lokasi ke sub sistem web service 2. Sub sistem web service mengupdate data

lokasi sesuai dengan yang dikirimkan aplikasi android

3. Sub sistem web service mengembalikan nilai respon ke system aplikasi android yang berisi keberhasilan update lokasi

4 No. Proses 2.2

Nama Proses Penyediaan data lokasi Source (entitas terkait) Android

Input Data permintaan lokasi, Data lokasi

Output Data respon lokasi

Destination(tujuan) android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data user ke sub sistem web service

2. Sub sistem web service mencari data lokasi ke dalam database sesuai dengan user yang diminta dan menyimpan data lokasi ke dalam array

3. Data lokasi kembali dikirimkan ke system aplikasi android

5 No. Proses 3.1

Nama Proses Penyediaan data tambah teman Source (entitas terkait) Android

Input Data permintaan tambah teman, Data teman

Output Data respon teman

(52)

No Proses Keterangan

Logika Proses 1. Sub sistem aplikasi android mengirimkan data teman ke sub sistem web service 2. Sub sistem web service menambahkan data

teman sebagai request dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

6 No. Proses 3.2

Nama Proses Penyediaan data terima invite teman Source (entitas terkait) Android

Input Data permintaan terima invite pertemanan, Data teman

Output Data respon teman

Destination(tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data request terima invite teman ke sub sistem web service

2. Sub sistem web service menambah teman berdasarkan teman yang dikirim dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

7 No. Proses 3.3

Nama Proses Penyediaan data tolak invite teman Source (entitas terkait) Android

Input Data permintaan tolak invite pertemanan, Data teman

Output Data teman

(53)

No Proses Keterangan

Logika Proses 1. Sub sistem aplikasi android mengirimkan data request tolak invite teman ke sub sistem web service

2. Sub sistem web service menghapus teman berdasarkan teman yang dikirim dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

8 No. Proses 3.4

Nama Proses Penyediaan data batal invite teman Source (entitas terkait) Android

Input Data permintaan batal invite pertemanan, Data teman

Output Data teman

Destination(tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data request batal invite teman ke sub sistem web service

2. Sub sistem web service menghapus teman berdasarkan teman yang dikirim dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

9 No. Proses 3.5

Nama Proses Penyediaan data hapus invite teman Source (entitas terkait) Android

Input Data permintaan hapus invite pertemanan, Data teman

Output Data teman

(54)

No Proses Keterangan

Logika Proses 1. Sub sistem aplikasi android mengirimkan data request tolak invite teman ke sub sistem web service

2. Sub sistem web service menghapus teman berdasarkan teman yang dikirim dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

10 No. Proses 3.6

Nama Proses Penyediaan data teman Source (entitas terkait) Android

Input Data permintaan data teman, Data teman

Output Data teman

Destination(tujuan) Android

Logika Proses 1. Sub sistem aplikasi android mengirimkan data request data teman ke sub sistem web service

2. Sub sistem web service menghapus teman berdasarkan teman yang dikirim dan memyimpan respon ke dalam array

3. Sub sistem web service mengirimkan data respon kembali ke sub sistem aplikasi android

1.1.5.1.7 Kamus Data

Berikut ini merupakan kamus data user: Tabel 3.2 Kamus Data User

Nama arus data user

Where used/how used Penyediaan data user – Proses 1

Penyediaan data login – Proses 2

Penyediaan data update lokasi – Proses 3 Penyediaan data lokas – Proses 4

Deskripsi Data ini berisikan data user yang berkaitan dengan identitas dan lokasi

(55)

1. imei_id

Berikut ini merupakan kamus data friendship:

Tabel 3.3 Kamus Data Friendship

Nama arus data friendship

Where used/how used Penyediaan data tambah teman – Proses 5

Penyediaan data terima invite teman – Proses 6 Penyediaan data tolak invite teman – Proses 7 Penyediaan data batal invite teman – Proses 8 Penyediaan data hapus invite teman– Proses 9 Penyediaan data teman– Proses 10

Deskripsi Data ini berisikan data friendship yang berkaitan dengan pertemanan

Struktur data group_name + imei_id + status imei_id

1.1.5.2 Analisis Kebutuhan Fungsional Mobile

(56)

1.1.5.2.1 Model Usecase Sistem Friend Finder

Berikut ini adalah usecase diagram sistem Friend Finder:

Gambar 3.8 Usecase Diagram Aplikasi Friend Finder

1.1.5.2.2 Definisi Aktor

Definisi Aktor menjelaskan daftar aktor dan deskripsi role untuk actor tersebut. Deskripsi role menjelaskan wewenang pada role tersebut dalam perangkat lunak. Berikut tabel definisi aktor.

Tabel 3.4 Tabel deskripsi aktor

No Aktor Deskripsi

1 User Aktor dengan role ini mempunyai wewenang untuk melakukan login, register, melakukan pencarian teman, menambahkan teman, dan membuat group.

(57)

3 Web Service Aktor dengan role ini merupakan penyedia data yang disimpan pada database service.

1.1.5.2.3 Definisi Usecase

Berikut adalah definisi Model Usecase: Tabel 3.5 Definisi usecase

No Use Case Deskripsi

1 Register Sistem menampilkan form pendaftaran. 2 Login Sistem menampilkan halaman login. 3 Pencarian Rute Lokasi

Teman

Sistem menampilkan rute menuju lokasi teman

4 Pencarian Arah Lokasi Teman

Sistem menampilkan penunjuk kearah lokasi teman

5 Cari Lokasi Sistem melakukan pencarian lokasi seorang teman.

6 Kirim Lokasi Sistem mengirimkan lokasi terbaru ke web service

7 Tambah Teman Sistem memberikan fasilitas tambah teman. 8 Terima Invite Pertemanan Sistem memberikan fasilitas untuk menerima

pertemanan.

9 Tolak Invite Pertemanan Sistem memberikan fasilitas untuk menolak pertemanan.

10 Batal Invite Pertemanan Sistem memberikan fasilitas untuk membatalkan pertemanan.

11 Hapus teman Sistem memberikan fasilitas hapus teman. 12 Penyajian Daftar Teman Sistem menampilkan halaman pertemanan. 13 Request data register Sistem mengirimkan data register ke web

service dan web service mengembalikan data respon register

14 Request data login Sistem mengirimkan data login ke web service dan web service mengembalikan data respon data login

15 Request data lokasi Sistem mengirimkan data lokasi ke web service dan web service mengembalikan data respon lokasi

(58)

No Use Case Deskripsi

17 Request tambah data teman

Sistem mengirimkan request tambah data teman ke web service dan web service mengembalikan data respon tambah data teman

18 Request terima invite Sistem mengirimkan request terima invite teman ke web service dan web service mengembalikan data respon status teman 19 Request tolak invite Sistem mengirimkan request tolak invite

teman ke web service dan web service mengembalikan data respon status teman 20 Request batal invite Sistem mengirimkan request batal invite

teman ke web service dan web service mengembalikan data respon status teman 21 Request hapus teman Sistem mengirimkan request hapus teman ke

web service dan web service mengembalikan data respon hapus teman

22 Request data teman Sistem mengirimkan data teman ke web service dan web service mengembalikan data respon teman

1.1.5.2.4 Usecase Skenario

Usecase skenario merupakan penjelasan tentang usecase yang secara rinci menggambarkan interaksi yang terjadi antara aksi user dengan reaksi sistem dan kondisi yang akan dicapai. Usecase skenario dari usecase yang telah di sampaikan adalah sebagai berikut:

Tabel 3.6 Usecase Skenario Register

Identifikasi

Nama Register

Use Case Terkait Request data register

Tujuan Mendaftarkan diri ke dalam sistem Kondisi Awal

Kondisi Akhir (Jika Berhasil)

Data user baru berhasil ditambahkan

Kondisi Akhir (Jika Gagal) Data user baru gagal ditambahkan

(59)

Skenario Utama Langkah Aksi

1 User meminta sistem menampilkan halaman registrasi 2 User memasukkan detail data user

3 Detail data user baru diperiksa kebenarannya 4 Data berhasil ditambahkan ke database user Skenario Alternatif

Langkah Aksi

3.1 Sistem menolak data user baru 3.2 Data user baru gagal ditambahkan

Tabel 3.7 Usecase Skenario Login

Identifikasi

Nama Login

Use Case Terkait Request data register

Tujuan User masuk ke dalam sistem

Kondisi Awal

Kondisi Akhir (Jika Berhasil)

User berhasil masuk ke dalam sistem

Kondisi Akhir (Jika Gagal) User gagal masuk ke dalam sistem

Aktor User

Skenario Utama Langkah Aksi

1 User meminta halaman login

2 User memberikan fullname beserta password ke dalam sistem melalui form login

3 Sistem memverifikasi data login dengan database user 4 User berhasil masuk ke dalam sistem

(60)

3.1 Sistem menolak data yang dimasukkan oleh user karena ketidak cocokan data

3.2 User dipersilahkan mengisi form login kembali

Tabel 3.8 Usecase Skenario Pencarian Rute Lokasi Teman

Identifikasi

Nama Pencarian Rute Lokasi Teman

Use Case Terkait Kirim Lokasi, cari lokasi, Penyajian daftar Teman, Tambah Teman

Tujuan User menemukan lokasi dari telepon seluler berdasarkan ID yang dimasukkan

Kondisi Awal

Kondisi Akhir (Jika Berhasil)

Lokasi tujuan ditemukan.

Kondisi Akhir (Jika Gagal) Lokasi tujuan tidak ditemukan

Aktor User

Skenario Utama Langkah Aksi

1 Sistem menampilkan form pencarian telepon seluler target 2 User memilih akan mencari bukan berdasarkan teman 3 User memasukkan fullname target

4 User memilih tombol map

5 Sistem memeriksa apakah target adalah user dan memeriksa lokasi target

6 Sistem menampilkan lokasi target ke dalam peta Skenario Alternatif

Langkah Aksi

2.1 User memilih akan mencari berdasarkan teman 2.2 Sistem memeriksa keberadan target

Gambar

Gambar 3.1 Alur Kerja Sistem Pengambilan Data Lokasi
Gambar 3.2 Alur Kerja Sistem Kompas
Gambar 3.4 DFD LVL 1
Gambar 3.5 DFD LVL 2 Proses 1
+7

Referensi

Dokumen terkait

• Berdasarkan data pada kuisioner penumpang, persentase jawaban terbesar adalah jenis kelamin perempuan, tujuan perjalanan meninggalkan pusat kota, jumlah penumpang rute

Semangat memperjuangkan kebenaran itulah yang tak kunjung padam dari jiwa penganutnya sehingga kebenaran itu terwujud dalam pikiran, kata-kata dan perbuatan, semangat

Lombok Tengah 10.000.000 181 Panitia Pembangunan Masjid Nurul Huda Lengkok Dalam Selong Belanak Praya Barat

Hal ini disampaikan juga oleh Daldjoeni (1978 : 13) menyatakan bahwa : “Kebanyakan fakta geografis itu atau kelompok fakta geografis bertalian dengan letak, iklim, daratan,

“Siapakah yang dapat menduga bahwa saya begitu cepat jatuh setelah menerima sekian banyak anugerah dari Tuhan, setelah Yang Mahakuasa mulai memberikan kepada saya

Berdasarkan kesimpulan dan pembahasan hasil penelitian, berkaitan dengan penerapan metode drill untuk meningkatkan keterampilan memainkan alat musik pianika pada siswa kelas V

Tujuan penelitian ini untuk mengetahui pengaruh air rebusan cacing tanah ( Lumbricus rubellus ) dalam menghambat pertumbuhan bakteri Escherichia coli..

Hasil analisis bivariat menunjukkan bahwa pengetahuan (p=0,247), sikap (p=0,548), lingkungan (p=0,016) sehingga tidak ada hubungan antara pengetahuan dan sikap dengan