skripsi emergency security caller berbasis android untuk situasi perampokan di wilayah yogyakarta

134
RANCANG BANGUN EMERGENCY SECURITY CALLER BERBASIS ANDROID UNTUK SITUASI PERAMPOKAN Skripsi untuk memenuhi sebagian persyaratan mencapai derajat Sarjana S-1 Program Studi Teknik Informatika disusun oleh Yusuf Mufti 09650038 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2013

Upload: yusuf-mufti

Post on 08-Jul-2015

556 views

Category:

Education


12 download

DESCRIPTION

Skripsi tentang penerapan konsep client server dan real time information. Source code https://github.com/yusufmufti/Emergency-Security-Caller-Android-2012

TRANSCRIPT

Page 1: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

RANCANG BANGUN EMERGENCY SECURITY CALLER

BERBASIS ANDROID UNTUK SITUASI PERAMPOKAN

Skripsi

untuk memenuhi sebagian persyaratan

mencapai derajat Sarjana S-1

Program Studi Teknik Informatika

disusun oleh

Yusuf Mufti

09650038

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA

YOGYAKARTA

2013

Page 2: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

ii

Page 3: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

iii

Page 4: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

iv

Page 5: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

v

KATA PENGANTAR

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan

hidayah-NYA kepada kita, sehingga kita masih dapat merasakan segala nikmat dan

anugerah yang diberikan dalam penyelesaian skripsi yang berjudul "Rancang

Bangun Emergency Security Caller Berbasis Android untuk Situasi Perampokan".

Sholawat serta salam semoga senantiasa tercurahkan kepada Nabi Muhammad

SAW.

Skripsi ini disusun untuk memenuhi sebagian persyaratan guna

mendapatkan gelar Sarjana Teknik Informatika pada Program Studi Teknik

Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Kalijaga

Yogyakarta.

Dalam kesempatan ini penulis menyampaikan terima kasih yang sebesar-

besarnya kepada:

1. Bapak Prof. Dr. H. Musa Asy’arie, M.A., selaku Rektor UIN Sunan Kalijaga

Yogyakarta.

2. Bapak Prof. Drs. H. Akh. Minhaji, M.A, Ph.D., selaku Dekan Fakultas Sains dan

Teknologi UIN Sunan Kalijaga Yogyakarta.

3. Bapak Agus Mulyanto, M.Kom. selaku selaku Ketua Program Studi Teknik

Informatika Fakultas Sains dan Teknologi UIN Sunan Kalijaga Yogyakarta.

4. Bapak Nurochman, M.Kom. selaku Dosen Pembimbing yang telah memberikan

ilmu, bimbingan, dan semangat dengan penuh kesabaran.

Page 6: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

vi

5. Bapak Agung Fatwanto, S.Si., M.Kom., Ph.D., selaku Dosen Pembimbing

Akademik Teknik Informatika angkatan 2009.

6. Bapak dan Ibu dosen Program Studi Teknik Informatika Fakultas Sains dan

Teknologi yang telah memberikan banyak ilmu dan pengalaman.

7. Ibu Anita, M.Si., Bapak Bejo, M.Hum dan Bapak Budhi, M.Hum. selaku

pembimbing lapangan di Polda DI. Yogyakarta yang telah membimbing dan

mendampingi selama penelitian.

8. Teman-teman mahasiswa Teknik Informatika angkatan 2009 yang selalu

memberikan doa, motivasi, dan masukan dalam penyelesaian skripsi ini.

9. Teman-teman mahasiswa Teknik Informatika angkatan 2006, 2007, 2008, 2010,

dan 2011 yang telah memberikan dorongannya.

10. Semua pihak yang telah membantu terselesaikannya penyusunan skripsi dari

awal hingga akhir.

Penulis menyadari bahwa dalam penyusunan skripsi ini masih jauh dari

sempurna, maka penulis menerima segala saran dan kritik yang sifatnya

membangun dari semua pihak demi kesempurnaan di masa mendatang. Semoga

skripsi ini dapat bermanfaat bagi pembaca khususnya teman-teman, adik-adik, dan

pihak-pihak yang bersangkutan.

Yogyakarta, 15 Januari 2013

Penyusun

Yusuf Mufti

NIM. 09650038

Page 7: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

vii

MOTTO

“Sesungguhnya ibadahku, hidupku, dan matiku hanya untuk Allah SWT”

“Man Jadda Wajada, Siapa yang bersungguh-sungguh, Pasti akan Berhasil”

“Selalu Semangat , Yakin, Doa, dan Positive Thinking, Pasti Bisa”

Page 8: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

viii

PERSEMBAHAN

Puji Syukur kehadirat Alloh SWT, Tuhan pemilik jiwa dan semesta alam. Sholawat

serta salam semoga senantiasa tercurahkan kepada Nabi Muhammad SAW.

Kupersembahkan karya ini untuk

Bapak H. Ahmad Muzammil dan ibu Hj. Umi Zuhripah, S.Pd, orang tua

terbaik yang selalu memberikan do’a dan kepercayaan.

Mas Jazim dan mba Ni’mah yang selalu memberikan motivasi untuk tetap

bisa meraih cita-cita.

Siti Fatimah yang senantiasa saran dan motivasi konstruktif.

Aufa yang selalu membuat lilik gembira.

Keluarga besar di Kebumen dan Langen terima kasih atas doanya.

Sahabat-sahabat terbaikku, Ahdi, Saladin, Fadli, Hafidh, Anik, Kichi, Ian,

Icha, dan Joko, terima kasih atas dukungan dan semangatnya.

Senior yang banyak berbagi ilmu, mba Ema, mba Lala, dan mas Fathan

Hidayatullah,

Teman-teman, Pengurus, dan Ustadz di Pondok Pesantren Nurul Ummah

Kotagede, terima kasih atas kebersamaan dan ketulusan yang diberikan.

Khususnya, teman-teman kamar C1, Bahrudin, Basith, Fauzin, Taqin,

Syarif, Yasin, Baini, Eko, Rohman, Farid, Heru, Surur, yang super kocak

dan menyenangkan.

Teman-teman organisasi di Majalah Tilawah, PPK Saintek, ESC Saintek,

Infinity Saintek, KSL UINSUKA, SPBA, EOC 2009, terima kasih atas

kebersamaan dan pengalaman yang diberikan.

Teman-teman Teknik Informatika angkatan 2009, terima kasih atas

persahabatan, kebersamaan, dan kekompakannya.

Almamaterku Teknik Informatika UIN Sunan Kalijaga beserta Segenap

angkatan.

Teman-teman KKN 77 Bausasran RW 7, Jundan, Arman, Fajar, Aim, Tika,

Winda, Febi, Ririn, dan Yanti, semoga silaturahim kita terjaga.

Segenap rekan-rekan yang telah memberikan do’a dan dukungan.

Page 9: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

ix

Rancang Bangun Emergency security Caller Berbasis Android

untuk Situasi Perampokan

Yusuf Mufti

NIM. 09650038

INTISARI

Pada tahun 2012 media massa cukup sering memberitakan adanya

perampokan di berbagai wilayah di Yogyakarta. Seperti kasus perampokan di

kampus Akademi Teknologi Kulit (ATK) Yogyakarta, jalan Lingkar Selatan

Panggungharjo Sewon Bantul, pada hari Senin (16/7) dini hari dan kasus

perampokan warnet Euro Net yang berada di depan Kampus UKDW, Jalan Dr

Wahidin, Klitren, Gondokusuman, Yogyakarta pada Rabu (25/7) dini hari

pukul 03.30 WIB. Perampokan tersebut terjadi dalam situasi yang mencekam,

sehingga para pemilik warnet atau petugas kampus tidak sempat menghubungi

aparat keamanan dengan cara konvensional. Kasus perampokan di DI

Yogyakarta sebanyak 222 laporan dari kasus kriminal yang terjadi sampai

dengan akhir November tahun 2012. Kasus perampokan di instansi sebanyak 39

kasus.

Sistem ini menerapkan konsep klien server yang memanfaatkan fitur

internet dan GPS. Adapun pengembangan sistem ini menggunakan IDE Eclipse,

Notepad++, dan XAMPP. Metode pengembangan sistem yang digunakan dalam

pembuatan sistem ini adalah metode Software Develpoment Life Cycle (SDLC).

Metode tersebut terdapat lima tahap, yaitu analisis kebutuhan sistem,

perancangan antarmuka sistem, implementasi sistem, pengujian sistem dan

pemeliharaan sistem.

Sistem ini mampu mengirimkan data lokasi kejadian perampokan ke web

server polisi via internet dan ke nomor seluler polisi via SMS dengan menekan

shortcut aplikasi. Berdasarkan hasil kuisioner pengujian atas aspek

fungsionalitas dan interface, sistem klien menunjukkan tingkat keberhasilan

sebesar 95,23%. Hasil pengujian atas aspek fungsionalitas dan interface sistem

server menunjukkan tingkat keberhasilan sebesar 100%. Adapun hasil kuisioner

pengujian kemanfaatan atas sistem klien dan server menunjukkan bahwa tingkat

keberhasilan sebesar 98,14 %.

Kata kunci : Android, web, SDLC, GPS, perampokan.

Page 10: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

x

Rancang Bangun Emergency security Caller Berbasis Android

untuk Situasi Perampokan

Yusuf Mufti

NIM. 09650038

ABSTRACT

In 2012 the media quite often preach a robbery in different areas in

Yogyakarta. As the robbery on the campus of the Akademi Teknologi Kulit (ATK)

Yogyakarta, the South Rim Panggungharjo Sewon Bantul, on Monday (16/7)

morning and robbery Euro Net cafe in front UKDW Campus, Jalan Dr. Wahidin,

Klitren, Gondokusuman , Yogyakarta on Wednesday (25/7) morning at 03.30 hrs.

The robbery took place in a tense situation, so that the owner of the cafe or

university officials had not contacted the security forces in a conventional manner.

Robbery in Yogyakarta as many as 222 reports of criminal cases that occurred until

the end of November 2012. Institution robberies in as many as 39 cases.

The system implements the concept of client server that utilizes the internet

and GPS features. The development of this system using the Eclipse IDE, Notepad

+ +, and XAMPP. System development methods are used in the manufacture of this

system is a method Develpoment Software Life Cycle (SDLC). Such methods are

five stages, namely the analysis of system requirements, system interface design,

system implementation, system testing and system maintenance.

The system is capable of transmitting data to the robbery scene police web

server via internet and mobile number to the police via SMS by pressing the

shortcut application. Based on the results of testing the questionnaire on aspects of

functionality and interface, the client system show a success rate of 95.23%. The

results of testing the functionality and interface aspects of the server system show a

success rate of 100%. The results of the questionnaire testing the usefulness of

client and server systems showed that the success rate of 98.14%.

Keyword : Android, web, SDLC, GPS, the robbery.

Page 11: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xi

DAFTAR ISI

HALAMAN JUDUL ................................................................................................. i

HALAMAN PERSETUJUAN ................................................................................ ii

HALAMAN PENGESAHAN ................................................................................. iii

HALAMAN PERNYATAAN ................................................................................. iv

KATA PENGANTAR .............................................................................................. v

MOTTO ................................................................................................................... vi

PERSEMBAHAN .................................................................................................. viii

INTISARI ................................................................................................................ ix

ABSTRACT ............................................................................................................... x

DAFTAR ISI ............................................................................................................ xi

DAFTAR TABEL ................................................................................................. xiv

DAFTAR GAMBAR .............................................................................................. xv

DAFTAR LAMPIRAN ........................................................................................ xvii

BAB I PENDAHULUAN ........................................................................................ 1

1.1 Latar Belakang Masalah ......................................................................... 1

1.2 Rumusan Masalah .................................................................................. 2

1.3 Batasan Masalah ..................................................................................... 2

1.4 Tujuan Penelitian ................................................................................... 2

1.5 Manfaat Penelitian ................................................................................. 3

1.6 Keaslian Penelitian ................................................................................ 3

Page 12: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xii

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI .............................. 5

2.1 Tinjauan Pustaka .................................................................................... 5

2.2 Landasan Teori ....................................................................................... 7

2.2.1 Sistem Operasi Android ................................................................ 7

2.2.2 Eclipse .................................................................................... 15

2.2.3 Location Based Services (LBS) ................................................... 16

2.2.4 Global Positioning System (GPS) .............................................. 16

2.2.5 Google Maps ................................................................................. 17

2.2.6 PHP ................................................................................................ 18

2.2.7 DBMS (Database Management System) .................................... 20

2.2.8 AJAX (Asynchronous JavaScript & XML) ............................... 23

2.2.9 UML (Unified Modelling Language) ........................................ 25

BAB III METODE PENGEMBANGAN SISTEM ........................................... 33

3.1 Pendahuluan ......................................................................................... 33

3.2 Pengembangan Sistem ................................................................................. 36

3.2.1 Identifikasi kebutuhan sistem ..................................................... 36

3.2.2 Inisiasi dan perencanaan proyek .................................................. 36

3.2.3 Desain sistem ................................................................................ 36

3.2.4 Implementasi sistem ..................................................................... 37

3.2.5 Pemeliharaan Sistem .................................................................... 37

BAB IV ANALISIS DAN PERANCANGAN SISTEM ..................................... 38

4.1 Analisis Masalah .......................................................................................... 38

4.2 Analisis Kebutuhan Sistem ......................................................................... 38

Page 13: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xiii

4.3 Analisis Kebutuhan Fungsional dan Non Fungsional ............................ 39

4.4 Perancangan Sistem .................................................................................... 41

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM .................................. 59

5.1 Implementasi ........................................................................................ 59

5.1.1 Implementasi Server .............................................................. 59

5.1.2 Implementasi Klien ................................................................. 66

5.2 Pengujian ............................................................................................. 69

5.2.1 Pengujian Alpha ..................................................................... 69

5.2.2 Pengujian Beta ........................................................................ 70

BAB VI HASIL DAN PEMBAHASAN .............................................................. 72

6.1 Proses Pengujian Sistem ....................................................................... 72

6.2 Hasil dan Pembahasan Pengujian Alpha .............................................. 73

6.3 Hasil dan Pembahasan Pengujian Beta ................................................ 73

6.4 Kendala Pengujian ................................................................................ 77

BAB VII PENUTUP .............................................................................................. 79

7.1 Kesimpulan ........................................................................................... 79

7.2 Saran ..................................................................................................... 80

DAFTAR PUSTAKA ........................................................................................... 81

LAMPIRAN-LAMPIRAN .................................................................................. 84

Page 14: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xiv

DAFTAR TABEL

Tabel 2.1 Daftar Perbandingan Penelitian ................................................................ 6

Tabel 4.1 Aktor ....................................................................................................... 44

Tabel 4.2 Use case .................................................................................................. 45

Tabel 4.3 Admin ...................................................................................................... 51

Tabel 4.4 Panggilan ................................................................................................. 52

Tabel 4.5 Polsek ...................................................................................................... 52

Tabel 4.6 User ......................................................................................................... 53

Tabel 5.1 Rencana Pengujian Alpha Sistem Server ................................................ 69

Tabel 5.2 Rencana Pengujian Alpha Sistem Klien ................................................. 69

Tabel 5.3 Tabel Pengujian Fungsional Aplikasi Klien ........................................... 70

Tabel 5.4 Tabel Pengujian Fungsional Sistem Server ............................................ 70

Tabel 5.5 Tabel Pengujian Interface Aplikasi Klien ............................................... 71

Tabel 5.6 Tabel Pengujian Interface Web Server ................................................... 71

Tabel 5.7 Tabel Pengujian Kemanfaatan Sistem .................................................... 71

Tabel 6.1 Tabel Daftar Penguji ............................................................................... 72

Tabel 6.2 Daftar Penguji Server .............................................................................. 73

Tabel 6.3 Tabel Hasil Pengujian Fungsional Aplikasi Klien .................................. 73

Tabel 6.4 Tabel Hasil Pengujian Fungsional Sistem Server ................................... 74

Tabel 6.5 Tabel Hasil Pengujian Interface Aplikasi Klien ..................................... 74

Tabel 6.6 Tabel Hasil Pengujian Interface Web Server .......................................... 74

Tabel 6.7 Tabel Hasil Pengujian Kemanfaatan Sistem ........................................... 75

Tabel 6.7. Klasifikasi skor angket kemanfaatan ………………………………...76

Page 15: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xv

DAFTAR GAMBAR

Gambar 2.1 Struktur Android .................................................................................. 13

Gambar 2.2 Siklus Activity ....................................................................................... 13

Gambar 2.3 Use Case Diagram .............................................................................. 27

Gambar 2.4 Komponen Activity Diagram .............................................................. 27

Gambar 2.5 Penggambaran Sequence Diagram ...................................................... 28

Gambar 2.6 Collaboration Diagram ....................................................................... 29

Gambar 2.7 Pembuatan Class Diagram .................................................................. 31

Gambar 2.8 Contoh pembuatan Statechart Diagram .............................................. 31

Gambar 2.9 Penggambaran diagram komponen ..................................................... 32

Gambar 2.10 Contoh penggambaran Deployment Diagram ................................... 33

Gambar 4.1 Diagram Blok Sistem Emergency Security Caller .............................. 42

Gambar 4.2 Use case Sistem Emergency Security Caller ........................................ 44

Gambar 4.3 Activity Login Server ........................................................................... 46

Gambar 4.4 Activity pengolahan data user .............................................................. 47

Gambar 4.5 Activity pada pengolahan data polsek .................................................. 48

Gambar 4.6 Class diagram sistem Emergency Security Caller .............................. 49

Gambar 4.7 Desain antarmuka home website ......................................................... 54

Gambar 4.8 Desain antarmuka halaman panggilan ................................................. 55

Gambar 4.9 Desain antarmuka daftar polsek .......................................................... 55

Gambar 4.10 Desain antarmuka daftar user ............................................................ 56

Gambar 4.11 Desain antarmuka utama ................................................................... 56

Page 16: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xvi

Gambar 4.12 Desain antarmuka panggil kantor polisi ............................................ 57

Gambar 4.13 Desain antarmuka set PIN ................................................................. 57

Gambar 4.14 Desain antarmuka menu petunjuk ..................................................... 58

Gambar 4.15 Desain antarmuka menu informasi .................................................... 58

Gambar 5.1.a Database Sistem ............................................................................... 60

Gambar 5.1.b Tabel Admin ..................................................................................... 60

Gambar 5.1.c Tabel Panggilan ................................................................................ 61

Gambar 5.1.d Tabel Polsek ..................................................................................... 61

Gambar 5.1.e Tabel User ........................................................................................ 61

Gambar 5.2 Halaman utama web server ESC of DIY ............................................ 62

Gambar 5.3 Halaman daftar kantor polsek ............................................................. 63

Gambar 5.4 Halaman daftar panggilan ................................................................... 63

Gambar 5.5 Daftar user terdaftar ............................................................................ 64

Gambar 5.6 Halaman login admin .......................................................................... 64

Gambar 5.7 Halaman olah data kantor polsek ........................................................ 65

Gambar 5.8 Halaman olah data user ....................................................................... 65

Gambar 5.9 Halaman utama aplikasi ...................................................................... 66

Gambar 5.10 Menu Set PIN .................................................................................... 67

Gambar 5.11 Daftar polsek ..................................................................................... 67

Gambar 5.12 Menu Bantuan ................................................................................... 68

Gambar 5.13 Menu Informasi Umum ..................................................................... 68

Page 17: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

xvii

DAFTAR LAMPIRAN

Lampiran 1 Kode Program Server ........................................................................... 84

Lampiran 2 Kode Program Klien ............................................................................ 99

Lampiran 3 Kuisioner Pengujian Klien Emergency Security Caller of DIY ....... 114

Lampiran 4 Kuisioner Pengujian Server Emergency Security Caller of DIY ...... 115

Lampiran 5 Informasi Umum Aplikasi ESC of DIY ............................................ 117

Page 18: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan sistem operasi handphone telah mengalami kemajuan.

Sebagaimana kita kenal saat ini ada iOs, PalmOs, Symbian, Java, dan

Android. Adapun sistem yang sedang dikembangkan oleh Google adalah

Android , yang saat ini sangat populer di masyarakat dan mendukung fitur

touch screen beserta fitur canggih lainnya.

Menurut hasil survei dari Gartner, sebuah perusahaan riset dan

konsultan Teknologi Informasi (TI) ternama, terlihat adanya peningkatan

pangsa pasar Android lebih dari 700 % dalam tahun 2010 yang memiliki

nominal smartphone terjual sebanyak 67.224.500. Hal ini menunjukkan

besarnya potensi Android di masa depan.

Pada tahun 2012 media massa cukup sering memberitakan adanya

perampokan di berbagai tempat di wilayah Yogyakarta. Misalnya kasus

perampokan di Kampus Akademi Teknologi Kulit (ATK) Yogyakarta, Jalan

Lingkar Selatan Panggungharjo Sewon Bantul, pada hari Senin (16/7) dini

hari dan kasus perampokan warnet Euro Net yang berada di depan Kampus

UKDW, Jalan Dr Wahidin, Klitren, Gondokusuman, Yogyakarta pada Rabu

(25/7) dini hari pukul 03.30 WIB. Perampokan tersebut terjadi dalam situasi

yang mencekam, sehingga para pemilik warnet atau petugas kampus tidak

sempat menghubungi aparat keamanan dengan cara konvensional.

Page 19: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

2

Oleh karena itu, dibutuhkanlah suatu aplikasi emergency yang mampu

menghubungi polisi tanpa diketahui oleh para penjahat yang tengah beraksi.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas maka rumusan masalah dalam

penelitian ini adalah korban perampokan di suatu gedung yang berada dalam

situasi terancam keselamatannya terkendala dalam hal pelaporan kepada

pihak kepolisian. Hal tersebut mengakibatkan transfer informasi tentang

terjadinya perampokan tersebut tidak tersampaikan dengan cepat dan

penanganan kasus perampokan itu pun menjadi kurang efisien.

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini disebutkan sebagai berikut.

a. Kebutuhan masyarakat DI. Yogyakarta terhadap media pengiriman

informasi kejadian perampokan yang mempercepat transfer informasi

kepada pihak kepolisian.

b. Informasi yang diterima pihak kepolisian untuk ditindaklanjuti dengan

penanganan perampokan secara cepat membutuhkan data yang valid atau

dapat dipertanggungjawabkan.

c. Obyek penelitian ini dikhususkan untuk wilayah DI. Yogyakarta.

1.4 Tujuan Penelitian

Penelitian ini memiliki tujuan merancang sistem berbasis klien server dengan

media smartphone berbasis Android untuk pelaporan dan pemanggilan

kepada pihak kepolisian untuk mendapatkan penanganan tindak perampokan

yang terjadi di wilayah DI. Yogyakarta.

Page 20: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

3

1.5 Manfaat Penelitian

Penelitian Emergency Security Caller untuk situasi perampokan ini

memiliki beberapa manfaat, yaitu

a. Untuk pihak kepolisian, manfaat yang diperoleh adalah penerimaan

informasi yang berisi PIN korban dan lokasi terjadinya kriminalitas

perampokan akan lebih cepat dan akurat, sehingga memudahkan pihak

kepolisian dalam memaksimalkan penanganan kasus perampokan.

b. Untuk korban tindakan perampokan dapat menghubungi pihak kepolisian

tanpa resiko dicurigai pihak perampok dan mendapatkan penanganan yang

maksimal atas kejadian kriminal yang dialami.

c. Untuk masyarakat dapat menggunakan aplikasi ini untuk memberikan

informasi tindak kriminal tanpa harus datang langsung ke kepolisian atau

digunakan menelepon kantor polisi se-DIY secara efektif.

d. Sebagai bahan rujukan bagi peneliti lain dalam mengembangkan aplikasi

yang berorientasi pada manfaat untuk masyarakat.

1.6 Keaslian Penelitian

Penelitian yang berhubungan dengan Rancang Bangun Emergency

Security Caller Berbasis Android untuk Situasi Perampokan di Fakultas Sains

dan Teknologi Universitas Islam Negeri Sunan Kalijaga Yogyakarta belum

pernah dilakukan. Selain itu sistem yang menjadi media pemanggilan pihak

kepolisian dalam situasi perampokan belum pernah ditemukan oleh peneliti.

Page 21: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

4

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1. Tinjauan Pustaka

Penelitian Didik Heru Purnomo, Mahasiswa UGM, membahas tentang

Aplikasi Pencarian Toko berbasis Java Mobile Phone via GPRS tahun 2007.

Penelitian ini membuat aplikasi pencarian toko berbasis Java Mobile Phone

via GPRS yang bertujuan untuk memberikan pelayanan akses informasi suatu

toko dengan menggunakan sarana handphone sebagai mobile device. Terbagi

atas dua, yakni klien dan server. Klien menggunakan bahasa J2ME,

sedangkan server menggunakan PHP.

Penelitian Christian Wisnu Purnaadi, Mahasiswa UGM, tentang

Aplikasi Peta Mobile untuk Pencarian Jalur Terpendek Pada Sistem Operasi

Android ( Mobile Map Application For The Shortest Path Searching On

Android Operating System) tahun 2010. Penilitian ini membuat Aplikasi

untuk mencari jalur terpendek para pengguna Android menggunakan metode

Djikstra

Penelitian Ignatius Dimas Nugroho, Mahasiswa UGM, tentang

Pengembangan Aplikasi Pencarian Lokasi Fasilitas Umum Berbasis

Foursquare APIv2 pada Sistem Operasi Android tahun 2012. Penelitian ini

mengembangkan aplikasi yang dapat melakukan pencarian lokasi fasilitas

umum di sekitar pengguna memanfaatkan teknologi LBS. Aplikasi ini

menggunakan data dari Foursquare dimana data tersebut akan terus

Page 22: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

5

berkembang seiring berjalannya waktu. Dalam pengembangan aplikasi ini

dibuat 2 buah fitur yaitu filter terhadap data dari Forsquare dan sistem auto

check in. Adapun yang membedakan antara penelitian yang dilakukan dengan

penelitian-penelitian sebelumnya dapat dilihat pada tabel 2.1.

Tabel 2.1. Daftar Perbandingan Penelitian

Purnomo

(2007)

Purnaadi

(2010)

Nugroho

(2012)

Mufti

(2013)

Penelitian

Aplikasi

Pencarian

Toko

berbasis Java

Mobile

Phone Via

GPRS

Aplikasi Peta

Mobile untuk

Pencarian

Jalur

Terpendek

Pada Sistem

Operasi

Android

Pengembangan

Aplikasi

Pencarian

Lokasi Fasilitas

Umum Berbasis

Foursquare

APIv2 pada

Sistem Operasi

Android

Pemanggilan

kepada Polisi

pada situasi

perampokan

Tool J2ME, PHP,

MySQL Eclipse Eclipse

Eclipse,

MySQL,

PHP

Metode Klien Server Djikstra LBS LBS

Hasil

memberikan

pelayanan

akses

informasi

suatu toko

dengan

menggunaka

n sarana

handphone

sebagai

mobile

device

mencari jalur

terpendek para

pengguna

Android di

Yogyakarta

melakukan

pencarian lokasi

fasilitas umum

di sekitar

pengguna

memanfaatkan

teknologi LBS.

Aplikasi ini

menggunakan

data dari

Foursquare

pengiriman

data lokasi

kejadian

perkara ke

server Polisi

Page 23: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

6

2.2. Landasan Teori

2.2.1. Sistem Operasi Android

1. Pengenalan Sistem Operasi Android

Android dalam buku karya Andry (2011) adalah sistem operasi untuk

telepon seluler yang merupakan hasil modifikasi Linux. Sejauh ini Android

termasuk sistem operasi yang cepat sekali memperbarui software mereka.

Android menyediakan kesempatan terbuka bagi para pengembang (developer)

untuk menciptakan aplikasi kreasi sendiri untuk ditanamkan pada sistem

operasi ini.

Awalnya, Google Inc. membeli perusahaan Android Inc., perusahaan

start up yang saat itu tengah fokus membuat peranti lunak untuk ponsel.

Kemudian untuk mengembangkan Android, dibentuklah Open Handset

Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan

telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-

Mobile, dan Nvidia.

Pada saat konferensi perdana terkait Android, 5 November 2007,

Android bersama Open Handset Alliance menyatakan mendukung

pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google

merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat

lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis

distributor sistem operasi Android. Pertama yang mendapat dukungan penuh

dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar

Page 24: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

7

– benar bebas distribusinya tanpa dukungan langsung Google atau dikenal

sebagai Open Handset Distribution (OHD).

2. Sejarah Sistem Operasi Android

Dalam bukunya, Andry menjelaskan Android pada mulanya perusahaan

kecil yang berada di Palo Alto. Pada Juli 2000, Google bekerjasama dengan

Android Inc., perusahaan yang berada di Palo Alto, California Amerika

Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy

Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang

menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada

telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki

pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin

bertugas mengembangkan program perangkat seluler yang didukung oleh

kernel Linux. Hal ini menunjukkan indikasi bahwa Google mulai melirik

untuk terjun dalam persaingan pasar telepon seluler. Perkembangan Android

terbagi menjadi beberapa versi hingga saat ini. Beberapa versi Android

tersebut antara lain:

a) Android versi 1.1

Google merilis Android versi 1.1, pada 9 Maret 2009. Android

versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm,

pencarian suara, pengiriman pesan dengan gmail, dan pemberitahuan

email.

Page 25: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

8

b) Android versi 1.5 (Cupcake)

Google merilis telepon seluler dengan menggunakan Android dan

SDK (Software Development Kit) pada pertengahan Mei 2009, yaitu

versi 1.5 (Cupcake). Pada versi ini ada beberapa tambahan dan

pembaruan fitur yaitu kemampuan merekam dan menonton video dengan

modus kamera, mengunggah video ke Youtube dan gambar ke Picasa

langsung dari telepon, dukungan Bluetooth A2DP, kemampuan

terhubung secara otomatis ke headset Bluetooth, animasi layar, dan

keyboard pada layar yang dapat disesuaikan dengan sistem.

c) Android versi 1.6 (Donut)

Google merilis Donut (versi 1.6) pada September dengan

menampilkan proses pencarian yang lebih baik dibanding sebelumnya,

penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya

adalah galeri yang memungkinkan pengguna untuk memilih foto yang

akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA

/ EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine;

kemampuan dial kontak; teknologi text to change speech (tidak tersedia

pada semua ponsel; pengadaan resolusi VWGA.

d) Android versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android

dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah

pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI

Page 26: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

9

dengan browser baru dan dukungan HTML 5, daftar kontak yang baru,

support kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.

e) Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.

Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara

lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai

5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google

Chrome yang mempercepat kemampuan rendering pada browser,

pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot

portabel, dan kemampuan auto update dalam aplikasi Android Market.

f) Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread)

diluncurkan. Perubahan-perubahan umum yang didapat dari Android

versi ini antara lain peningkatan kemampuan permainan (gaming),

peningkatan fungsi copy paste, layar antarmuka (User Interface) didesain

ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb,

equalization, headphone virtualization, dan bass boost), dukungan

kemampuan Near Field Communication (NFC), dan dukungan jumlah

kamera yang lebih dari satu.

g) Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi

ini mendukung ukuran layar yang lebih besar. User interface pada

Honeycomb juga berbeda karena sudah didesain untuk tablet.

Page 27: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

10

Honeycomb juga mendukung multi prosesor dan juga akselerasi

perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat

dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat

tablet dengan platform Android 3.0 akan segera hadir di Indonesia.

Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus.

Rencana masuk pasar Indonesia pada Mei 2011.

h) Android versi 4.0 (ICS :Ice Cream Sandwich)

Diumumkan pada tanggal 19 Oktober 2011, membawa fitur

Honeycomb untuk smartphone dan menambahkan fitur baru termasuk

membuka kunci dengan pengenalan wajah, jaringan data pemantauan

penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat

tambahan fotografi, mencari email secara offline, dan berbagi informasi

dengan menggunakan NFC.

3. Sistem Android

Dalam buku 24 Jam Pintar Pemrograman Android #1 dijelaskan

Platform Android adalah kernel Linux versi 2.6 yang cukup responsible

untuk berbagai driver device, sumber daya akses, manajemen daya, dan tugas

lainnya. Driver perangkat yang disediakan meliputi display, kamera, keypad,

WiFi, kartu memori, audio, dan IPC (interprocess comunication). Meskipun

inti dari Android adalah Linux, namun tidak semuanya, contohnya seperti T-

Mobile G1 yang dikembangkan menggunakan bahasa Java dan dijalankan

melalui VM Dalvik.

Page 28: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

11

Sejumlah C/C++ librari berada di tingkat berikutnya, yakni di atas

kernel seperti OpenGL, WebKit, FreeType, Secure Socket Layer (SSL), C

runtime library (libc), SQLite, dan Media. Librari Sistem C berdasarkan

Berkeley Software Distribution (BSD) disetel (untuk kira-kira setengah

ukuran aslinya) untuk tertanam berbasis Linux perangkat. Media librari

berdasarkan pada OpenCORE PacketVideo itu. Librari ini mampu untuk

merekam dan pemutaran format audio dan video.

Perangkat berbasis android hanya mempunyai satu layar foreground.

Normalnya saat menghidupkan android, yang pertama terlihat adalah home.

Kemudian bila menjalankan sebuah aplikasi, misalnya catur, User

Interfacenya (UI) akan menumpuk di atas layar sebelumnya (home).

Kemudian bila melihat help-nya catur, maka UI help akan menimpa UI

sebelumnya (catur), begitu seterusnya. Semua proses diatas direkam di

application stack oleh sistem Activity manager. Menekan tombol back hanya

kembali ke halaman sebelumnya. Analoginya mirip dengan browser dimana

ketika meng-klik tombol back browser akan kembali menampilkan halaman

sebelumnya.

Setiap User Interface diwakili oleh kelas Activity (Activity class).

Setiap activity mempunyai siklus, dapat dilihat di gambar 2.2. Sebuah aplikasi

dapat terdiri dari satu atau lebih activity yang diproses dalam Linux.

Page 29: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

12

Gambar 2.1. Gambar struktur Android

Gambar 2.2. Siklus Activity

Page 30: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

13

a. Activity

Normalnya setiap activity menampilkan satu buah user

interface kepada pengguna. Misalnya sebuah activity menampilkan

daftar menu minuman, kemudian pengguna dapat memilih satu

jenis minuman. Contoh lainnya pada aplikasi sms, dimana satu

activity digunakan untuk menulis pesan, activity berikutnya untuk

menampilkan nomor kontak tujuan, atau activity lainnya digunakan

untuk menampilkan pesan-pesan lama. Meskipun activity-activity

diatas terdapat dalam satu aplikasi sms, namun masing-masing

activity berdiri sendiri. Untuk pindah dari satu activity ke activity

lainnya dapat melakukan suatu even misalnya tombol diklik atau

melalui trigger tertentu.

b. Service

Service tidak memiliki user interface, namun berjalan di

belakang layar. Misalnya music player, sebuah activity digunakan

untuk memilih lagu kemudian di-play. Agar music player bisa

berjalan di belakang aplikasi lain maka harus menggunakan service.

c. Intens

Intens adalah mekanisme untuk menggambarkan sebuah

action secara detail seperti bagaimana cara mengambil sebuah foto.

d. Content Providers

Menyediakan cara untuk mengakses data yang dibutuhkan

oleh suatu activity, misalnya kita menggunakan aplikasi berbasis

peta (MAP). Activity membutuhkan cara untuk mengakses data

kontak untuk prosedur navigasi. Di sinilah peran content providers.

Page 31: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

14

e. Resource

Resource digunakan untuk menyimpan file-file non-coding

yang diperlukan pada sebuah aplikasi misalnya file icon, file

gambar, file audio, file video atau yang lain. Gambar berformat JPG

atu PNG sebuah aplikasi biasanya disimpan dalam folder

res/drawable, icon applikasi disimpan dalam res/drawable-ldpi dan

file audio disimpan dalam folder res/raw. File XML untuk

membentuk sebuah user interface disimpan dalam folder res/layout.

2.2.2. Eclipse

Hal yang harus dimiliki sebelum mendevelop aplikasi di handphone

Android ada 3 buah file sebagaimana disebutkan di bawah ini.

1. Eclipse

2. ADT 16.0.1 Plugin

3. Android-SDK_r16

Eclipse merupakan sebuah editor, secara default editor ini

belum bisa dipakai untuk mendevelop android. Agar bisa digunakan

untuk membuat aplikasi android maka harus diinstal plugin ADT

(Android Development Tools). Setelah terinstal, maka Eclipse sudah

siap digunakan, namun belum dilengkapi library dan emulator. Untuk

memenuhinya, sehingga perlu diinstal SDK Android (StKamurt

Development Kit).

Page 32: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

15

2.2.3. Location Based Services (LBS)

LBS merupakan Layanan IP nirkabel yang menggunakan

informasi geografis untuk memberikan layanan informasi lokasi

kepada pengguna. Beberapa layanan aplikasi yang memberikan

petunjuk posisi/lokasi piranti mobile berada (Ardiansyah 2011).

Location Based Service (LBS) memberikan layanan personalisasi

kepada pengguna perangkat bergerak (mobile device) yang

disesuaikan dengan lokasi mereka saat ini.

LBS adalah layanan informasi yang dapat diakses melalui

mobile device dengan mengunakan mobile network, yang dilengkapi

kemampuan untuk memanfaatkan lokasi dari mobile device tersebut.

LBS memberikan kemungkinan komunikasi dan interaksi dua arah.

Oleh karena itu pengguna memberitahu penyedia layanan untuk

mendapatkan informasi yang dia butuhkan, dengan referensi posisi

pengguna tersebut.

2.2.4. Global Positioning System (GPS)

GPS adalah sistem radio navigasi dan penentuan posisi dengan

menggunakan satelit yang dimiliki dan dikelola oleh Departemen

Pertahanan Keamanan Amerika Serikat. Sistem ini didesain untuk

memberikan posisi dan kecepatan tiga dimensi dan informasi

mengenai waktu secara kontinu. GPS terdiri dari tiga segmen utama,

segmen angkasa (space segment) yang terdiri dari satelit-satelit GPS,

segemen sistem control (control segment) yang terdiri dari stasion-

Page 33: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

16

stasion pemonitor dan pengontrol satelit, dan segmen pemakai (user

segment) yang terdiri dari pemakai GPS termasuk alat-alat penerima

dan pengolah sinyal data GPS. Sistem GPS terdiri dari 24 satelit.

Konsep dasar pada penentuan posisi dengan GPS adalah reseksi

(pengikatan ke belakang) dengan jarak, yaitu dengan pengukuran jarak

secara simultan ke beberapa satelit GPS yang koordinatnya telah

diketahui. Pada pelaksanaan pengukuran penentuan posisi dengan

GPS, pada dasarnya ada dua jenis alat penerima sinyal satelit

(receiver) GPS yang dapat digunakan, yaitu:

1. Tipe navigasi digunakan untuk penentuan posisi yang tidak

menuntut ketelitian tinggi

2. Tipe geodetik digunakan untuk penentuan posisi yang menuntut

ketelitian tinggi.

2.2.5. Google Maps

Google Maps adalah sebuah jasa peta globe virtual gratis dan

online yang disediakan oleh Google dan dapat ditemukan di

http://maps.google.com/. Google Map API merupakan aplikasi

interface yang dapat diakses menggunakan Javascript agar Google

Map dapat ditampilkan pada halaman web yang sedang kita bangun.

Untuk dapat mengakses Google Map, kita harus melakukan

pendaftaran API Key terlebih dahulu dengan data pendaftaran berupa

nama domain web yang kita bangun.

Page 34: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

17

2.2.6. PHP

1. Pengertian PHP

Dalam buku karya Andi Sunyoto (2007) dijelaskan PHP

adalah kependekan dari PHP:Hypertext Preprocessor. PHP

pertama kali dikembangkan pada tahun 1995 oleh Rasmus Lerdorf

yang didesain sebagai alat tracking pengunjung web site Lerdrof.

PHP memiliki kemampuan mengakses database dan diintegrasikan

dengan HTML. PHP bersifat open source dan mirip dengan bahasa

Perl dan C. PHP biasanya digunakan bersama dengan web server

Apache di beragam sistem operasi.

PHP merupakan program server-side, yaitu script yang

membuat dokumen hyper text markup language (html) secara on

the fly. Berikut ini adalah contoh penulisan kode PHP:

<html>

<head>

<title> contoh

</title>

</head>

<body>

<?php

echo ―ini contoh PHP yang disisipkan‖;

?>

</body>

</html>

Page 35: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

18

2. Script PHP

Setiap kode program PHP disebut dengan script. Script

berupa file teks, yang dapat dibuat dengan menggunakan program

editor file teks biasa. Ciri yang membedakan script PHP dengan

script lainnya yaitu: setiap baris perintah yang dituliskan harus

diakhiri dengan tanda titik koma (;) dan setiap perintah dituliskan

dalam satu baris. Menurut cara penulisannya, script PHP dibagi

menjadi dua, yaitu:

a. Embedded Script

Merupakan jenis script PHP yang cara penulisannya

disisipkan ke dalam script HTML. Script PHP digunakan

apabila isi dari suatu dokumen HTML diinginkan dari hasil

eksekusi suatu script PHP.

b. Non Embedded Script

Merupakan jenis script PHP yang penulisannya yang cara

penulisannya murni memakai tag-tag PHP. Untuk memulai

penulisan script PHP terdapat empat sintaks yang berbeda,

yaitu:

a) Cara I: <?echo(―script PHP‖);?>

b) Cara II: <?php echo(―script PHP‖);?>

c) Cara III: <%echo(―script PHP‖);%>

d) Cara IV: <%=$namaVariabel;%>

Page 36: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

19

3. Konsep Kerja PHP

Telah dijelaskan diatas bahwa PHP merupakan program

serverside, yaitu script yang membuat dokumen hyper text markup

language (html) secara on the fly. Dokumen HTML yang

dihasilkan dari suatu aplikasi bukan dokumen HTML, hal ini

disebabkan script PHP dapat dituliskan dalam dua cara yaitu secara

embedded dan nonembedded.

Pada dasarnya PHP digunakan untuk memanggil database

yang ada dalam pihak server dengan menggunakan script khusus

yang mirip dengan C++. Setelah data yang dipanggil ditampilkan,

maka script PHP tersebut akan berubah menjadi script HTML

murni dalam source code web brower yang digunakan.

Dalam pemanggilan data tersebut, PHP tidak berdiri sendiri

dan harus disokong oleh aplikasi lain, misalnya: HTML (sebagai

pengatur tampilan) dan MySQL (sebagai aplikasi database yang

terintegrasi dengan PHP).

Dari seorang client melakukan request ke web server untuk

dapat menjalankan dokumen *.php-nya menggunakan PHP Engine

untuk dijalankan sesuai dengan format dokumen, apakah *.html,

*.jpg, *.gif, *.png, *.pdf atau *.swf.

2.2.7. DBMS (Database Management System)

DBMS merupakan suatu perangkat lunak komputer yang

dirancang secara khusus untuk memudahkan dalam pengelolaan

Page 37: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

20

database (Kadir : 2003). DBMS (Database Management System)

merupakan perantara bagi pemakai dengan basis data dalam media

penyimpanan. Bahasa basis data dibagi menjadi dua bentuk, yaitu:

1. Data Definition Language (DDL)

Jenis bahasa ini menspesifikasikan struktur/skema data yang

menggambarkan/mewakili desain basis data secara keseluruhan.

Dengan bahasa ini kita dapat membuat tabel baru, membuat indeks,

mengubah tabel, dan lain-lain. Hasil kompilasi perintah DDL

adalah kumpulan tabel yang disimpan dalam file khusus yang

disebut kamus data. Kamus data adalah suatu metadata (superdata)

yaitu data yang mendeskripsikan data sesungguhnya.

2. Data Manipulation Language (DML)

Merupakan bentuk bahasa basis data yang berguna untuk

melakukan manipulasi dan pengambilan data pada suatu basis data.

Data Manipulation Languange (DML) merupakan bahasa yang

memudahkan pemakai dalam mengakses data yang dipresentasikan

oleh model data.

DML terdiri dari dua jenis, yaitu:

a) Prosedural

Jenis ini mensyaratkan agar pemakai menentukan data apa yang

diinginkan serta bagaimana cara mendapatkannya.

b) Non procedural

Jenis ini membuat pemakai dapat menentukan data apa yang

Page 38: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

21

diinginkan tanpa menyebutkan bagaimana cara

mendapatkannya.

3. Database Server dengan MySQL

MySQL dikembangkan oleh sebuah perusahaan Swedia

bernama MySQLAB, yang kala itu bernama TcX DataKonsult AB,

sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut

sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL

pada waktu itu juga memang untuk mengembangkan aplikasi web

untuk klien-TcX adalah perusahaan pengembang software dan

konsultan database. Kala itu Michael Widenius, atau ―Monty‖,

pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan

rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL

untuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL,

atau ―mini SQL‖. Barangkali mSQL adalah satu-satunya kode

database open source yang tersedia dan cukup sederhana saat itu,

meskipun sudah ada Postgre. Namun ternyata, menurut Monty,

mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama

mSQL bahkan tidak memiliki indeks. Setelah mencoba

menghubungi David Hughes, pembuat mSQL dan ternyata

mengetahui bahwa David tengah sibuk mengembangkan versi dua,

maka keputusan yang diambil Monty yaitu membuat sendiri mesin

SQL yang antar mukanya mirip dengan mSQL tapi memiliki

kemampuan yang lebih sesuai kebutuhan. Maka lahirlah MySQL.

Page 39: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

22

MySQL merupakan software DBMS yang sangat popular di

kalangan pemrograman web, khususnya yang berbasis open source.

Hal ini disebabkan karena kemudahannya untuk digunakan.

Disamping dukungannya ke dalam berbagai platform, kecepatan

aksesnya dapat diandalkan. MySQL mudah digunakan (easy-to-

use) sebagai sistem manajemen database relasional (RDBMS)

yang digunakan untuk database pada website. Selain itu,

kemudahannya dalam integrasi ke berbagai aplikasi web dapat

membantu dalam pengembangan sistem informasi online. MySQL

mempunyai dua lisensi, yaitu open source dibawah GNU General

Public License (GPL) dan commercial dibawah MySQLAB. Pada

awalnya MySQL hanya dapat dioperasikan pada satu platform saja.

Namun dalam perkembangannya, MySQL dapat dioperasikan

dalam berbagai platform seperti Windows, FreeBSD, ataupun Linux

(Sanjaya 2005).

2.2.8. AJAX (Asynchronous JavaScript & XML)

AJAX diperkenalkan pertama kali pada tahun 2005 oleh Jesse

Garret dari Adaptive Path. Aplikasi AJAX adalah aplikasi yang

bekerja secara asynchronously, yakni dalam proses pengiriman dan

penerimaan data dari user ke server tidak perlu me-reload kembali

seluruh halama, melainkan hanya melakukan penggantian pada bagian

web yang hendak diubah. Dalam penggunaanya, AJAX menggunakan

obyek XMLHttpRequest.

Page 40: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

23

Adapun keuntungan menggunakan AJAX dalam pengembangan

web site sebagai berikut.

1. High Interactivity, aplikasi AJAX lebih interaktif

dibandingkan aplikasi konvensional

2. High Usability, update data tidak me-reload keseluruhan

halaman.

3. High Speed, aplikasi AJAX lebih cepat dibandingkan dengan

aplikasi web konvensional.

Cara membuat obyek XMLHttpRequest yang merupakan

penerapan AJAX antara browser Internet Explorer dengan lainnya

berbeda.

Untuk browser Internet Explorer pembuatan XMLHttpRequest

dengan cara var xmlhttp=new

ActiveXObject(―Microsof.XMLHTTP‖).

Untuk browser Mozilla, Safari, Chrome pembuatan

XMLHttpRequest dengan cara var xmlhttp=new

XMLHttpRequest();

Obyek XMLHttpRequest memiliki properti sebagai berikut:

Onreadystatechange, untuk menangani even yang bekerja setiap

kali status berubah.

Readystate, untuk mengembalikan status obyek.

ResponseText, untuk mengembalikan response dalam bentuk

string

Page 41: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

24

ResponseXML, untuk mengembalikan response dalam bentuk

XML.

Status, mengembalikan status sebuah nomor.

StatusText, mengembalikan status sebagai string text.

2.2.9. UML (Unified Modelling Language)

Menurut Sholiq (2006) UML adalah salah satu tool

permodelan sistem berorientasi objek yang digunakan untuk

memperlihatkan banyak pandangan terhadap suatu sistem yang akan

dibangun. Beberapa diagram UML yang digunakan untuk

menunjukkan berbagai aspek dalam sistem yaitu :

Diagram use case

Diagram aktivitas

Diagram sekuensial

Diagram kolaborasi

Diagram kelas

Diagram statechart

Diagram komponen

Diagram deployment

Page 42: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

25

Adapun penjelasan masing-masing diagram UML akan dijelaskan

dengan rinci sebagai berikut.

1. Diagram Use Case (Use case Diagram)

Diagram use case terdiri atas tiga komponen, yaitu use case,

aktor, dan relasi, yang menunjukkan interaksi antara use case dan

aktor dalam suatu sistem.

Pengertian aktor di sini adalah seseorang atau apa saja yang

berhubungan dengan sistem yang sedang dibangun. Adapun use

case menggambarkan semua yang ada dalam ruang lingkup sistem

dan bagaimana seseorang menggunakan sistem. Aktor dan use

case dihubungkan dengan relasi.

Jenis relasi secara umum terbagi menjadi tiga, yakni

1. Relasi asosiasi, yakni relasi antara aktor dengan use case.

2. Relasi include, dan extend, yakni relasi antar use case.

3. Relasi generalisasi, yakni relasi antar aktor.

Penggambaran aktor, use case, dan relasi ditunjukkan pada

gambar 2.3. Adapun untuk relasi menggunakan tanda panah.

Page 43: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

26

Gambar 2.3. Use Case Diagram

2. Diagram Aktivitas (Activity Diagram)

Activity Diagram salah satu diagram UML yang

menggambarkan aliran kejadian dalam use case sistem. Adapun

penggambarannya ditunjukkan gambar 2.4 berikut ini.

Gambar 2.4. Komponen Activity Diagram

Page 44: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

27

3. Diagram Sekuensial (Sequence Diagram)

Sequence Diagram digunakan untuk menunjukkan aliran

fungsionalitas dalam use case. Sequence diagram termasuk dalam

kategori diagram interaksi yang lebih fokus menampilkan pusat

pengaturan. Ada tiga langkah dalam pembuatan diagram interaksi,

termasuk dalam hal ini sequence diagram.

a. Menemukan obyek-obyek.

b. Menemukan aktor.

c. Menambahkan beberapa pesan ke diagram.

Gambar 2.5. Penggambaran Sequence Diagram

Gambar 2.5 menunjukkan contoh pembuatan sequence

diagram yang menggunakan tiga obyek dan tiga class. Dalam

class tersebut dapat ditambahkan pula dengan beberapa pesan

untuk penjelasan.

4. Diagram Kolaborasi (Collaboration Diagram)

Diagram kolaborasi termasuk dalam kategori diagram

interaksi sebagaiamana sequence diagram, namun lebih fokus

Page 45: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

28

untuk menampilkan aliran data. Pembuatan diagram kolaborasi

sama dengan sequence diagram yakni menemukan aktor, obyek,

dan menambahkan pesan.

Gambar 2.6. Collaboration Diagram

Gambar 2.6 menunjukkan contoh pembuatan collaboration

diagram yang menggunakan dua obyek dan terdapat dua pesan

satu arah dari aktor menuju obyek 2.

5. Diagram Kelas (Class Diagram)

Class diagram digunakan untuk menampilkan kelas-kelas

atau paket-paket di dalam sistem dan relasi antar kelas tersebut.

Diagram ini membantu pengembangan mendapatkan struktur

sistem sebelum menuliskan kode program dan memastikan bahwa

sistem adalah rancangan terbaik.

Dalam class diagram terdapat empat hal yang perlu

ditampilkan, yaitu nama kelas, daftar atribut, daftar operasi, dan

daftar relasi. Nama kelas yaitu nama kelas yang memiliki atribut

dan operasi. Daftar atribut adalah informasi yang berhubungan

Page 46: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

29

dengan kelas dan merupakan variabel-variabel yang digunakan

oleh kelas tersebut. Adapun pengertian operasi di sini adalah

perilaku yang berhubungan dengan suatu kelas dan terkadang

merupakan fungsi tertentu. Penggambaran class diagram

ditunjukkan pada gambar 2.7.

Relasi dalam class diagram ada lima jenis sebagai berikut.

1. Assosiasi, yakni koneksi yang saling terkait antar kelas.

2. Depedensi, yakni menghubungkan dua buah kelas tetapi

dengan cara selalu searah (unidirectional) dan menunjukkan

suatu kelas tidak instanisasi (sebagai variabel instan) oleh

kelas lain.

3. Aggregasi, yakni relasi antara keseluruhan dengan bagian.

4. Realisasi, yakni relasi antara kelas dan interface-nya, paket

dan interface-nya, suatu komponen dengan interface-ya atau

antar sebuah use case dan use case realization.

5. Generalisasi, yakni relasi pewarisan antara dua elemen-

elemen model yang memungkinkan satu kelas mewarisi

atribut dan operasi yang didefinisikan secara publik.

Page 47: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

30

Gambar 2.7. Pembuatan class diagram

6. Diagram Statechart (Statechart Diagram)

Diagram statechart menunjukkan siklus hidup sebuah

obyek tunggal, dari saat dibuat sampai obyek tersebut dihapus.

Diagram ini lebih tepat digunakan untuk memodelkan perilaku

dinamis sebuah kelas.

Gambar 2.8. Contoh pembuatan statechart diagram

Gambar 2.8 menunjukkan contoh pembuatan statechart

diagram yang terdiri atas tiga aksi dalam satu kelas tertentu. Untuk

Page 48: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

31

membuat membuat statechart diagram diawali dengan initial state

dan diakhiri dengan final state.

7. Diagram Kompoen (Component Diagram)

Diagram komponen adalah diagram UML yang

menampilkan komponen dalam sistem dan hubungan antara

mereka. Seseorang yang bertanggung jawab untuk mengkompilasi

dan men-deploy sistem akan mengetahui source code mana yang

terlebih dahulu harus dikompilasi menggunakan diagram ini.

Diagram komponen akan menunjukkan adanya

ketergantungan suatu komponen dengan komponen lainnya, atau

diistilahkan dengan dependensi.

Gambar 2.9. Penggambaran Component Diagram

8. Diagram Deployment (Deployment Diagram)

Diagram deployment menampilkan semua titik (node) dalam

suatu jaringan, hubungan antar komponen, dan proses-proses yang

dijalankan pada masing-masing titik. Gambar 2.10 menunjukkan

contoh sebuah diagram deployment.

Page 49: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

32

Gambar 2.10. Contoh penggambaran Deployment Diagram

Page 50: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

33

BAB III

METODE PENGEMBANGAN SISTEM

3.1. Pendahuluan

Penelitian ini menggunakan metode pengembangan sistem.

Pengembangan sistem merupakan penyusunan suatu sistem yang baru untuk

menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem

yang telah ada. Tahap pengembangan sistem dapat didefinisikan sebagai

serangkaian aktivitas yang dilaksanakan oleh profesional dan pemakai sistem

informasi untuk mengembangkan dan mengimplementasikan sistem

informasi. (Widianti, 2009).

Penelitian ini terdiri atas tiga tahap pendahuluan, yakni ini tahap

pengumpulan data, olah data, dan analisis data. Tahap pengumpulan data

yang dilakukan peneliti ada tiga cara yaitu dengan melakukan studi literatur

atau kepustakaan, wawancara, dan observasi langsung terhadap obyek

penelitian.

a. Studi Literatur atau Kepustakaan

Metode pengumpulan data dilakukan melalui membaca dan

mempelajari referensi-referensi berupa makalah, jurnal ilmiah, skripsi,

atau buku. Fasilitas internet juga digunakan sebagai media untuk mencari

data atau informasi yang dipublikasikan di dunia maya yang berkaitan

dengan obyek penelitian. Teori yang berhubungan dengan penelitian ini

antara lain konsep aplikasi berbasis Location Based System, GPS, Google

Page 51: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

34

Maps, DBMS MySQL, PHP, Ajax, dan permodelan data berupa

UML(Unified Modelling Language).

b. Wawancara

Metode pengumpulan data dilakukan dengan tanya jawab yang

diajukan secara langsung kepada pihak yang menangani kasus perampokan

di Kepolisian Daerah DI. Yogyakarta. Wawancara dilakukan untuk

mendapatkan data atau informasi yang berkaitan dengan obyek penelitian.

Adapun hasil wawancara bersama Bapak Budi atas nama Bareskrim

Polda DI. Yogyakarta menghasilkan kesimpulan bahwa saat ini alur

penanganan kasus perampokan masih menggunakan perangkat

konvesional, yakni menggunakan melalui handytalkie (HT), telepon, dan

SMS. Adapun sistem monitoring kasus perampokan yang terintegrasi

secara digital belum diimplementasikan di kepolisian daerah DI.

Yogyakarta.

c. Observasi

Metode pengumpulan data dilakukan pula dengan melakukan

peninjauan atau pengamatan langsung terhadap sampel obyek penelitian.

Observasi ini memiliki dua macam obyek, yakni data laporan kasus

perampokan di DI. Yogyakarta selama tahun 2012 dan data laporan

pemberitaan kasus perampokan yang dirilis oleh media cetak.

Page 52: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

35

d. Olah data

Data-data yang telah dihimpun dari Bagian Reskrim dan Biro

Operasi Polda DI. Yogyakarta memberikan prosentase berapa besar data

yang memberikan informasi segala hal terkait laporan kasus perampokan.

e. Analisis

Setelah mencermati kumpulan data yang telah dihimpun dari studi

literatur, observasi, dan olah data maka dapat diambil beberapa

kesimpulan.

1). Kasus perampokan di DI Yogyakarta sebanyak 222 laporan dari kasus

kriminal yang terjadi sampai dengan akhir November tahun 2012.

Kasus perampokan di instansi sebanyak 39 kasus. Adapun jumlah

kasus yang telah tuntas dalam penanganan sebanyak 96 kasus.

2). Penanganan kasus perampokan dilakukan setelah ada laporan dari

korban. Tenggang waktu pelaporan dari waktu kejadian perampokan

bervariasi mulai dari sepuluh menit, tiga puluh menit, satu jam, hingga

beberapa jam.

3). Kronologi situasi perampokan berdasarkan keselamatan korban ada

dua macam, yakni korban dalam sangat terancam sehingga tidak bisa

melakukan perlawanan maupun pelaporan kepada polisi dan korban

kurang terancam sehingga masih dapat melawan atau pelaporan

kepada polisi.

Page 53: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

36

3.2. Pengembangan Sistem

Pengembangan sistem ini dilakukan dengan menggunakan metode

metode SDLC (Software Development Life Cycle) ( Al Fatta : 2007) yang

akan dirinci sebagai berikut.

3.2.1 Identifikasi kebutuhan sistem

Tahap identifikasi atau analisis kebutuhan dilakukan dengan

mengumpulkan data dan informasi yang berkaitan dengan penelitian.

Tahap ini juga bertujuan untuk mendapatkan informasi yang kompleks

mengenai definisi masalah dan memberikan kesimpulan tentang

tujuan yang ingin dicapai pada situasi kejadian perampokan.

3.2.2 Inisiasi dan perencanaan proyek

Tahapan ini menentukan secara detail rencana kerja, sumber

daya manusia, perangkat lunak, perangkat keras dan pelaksanaan

projek dilaksanakan. Tahap ini merupakan langkah yang menentukan

bagaimana proses berikutnya minim resiko dan memperkirakan

deadline sistem akan dapat diimplementasikan.

3.2.3 Desain sistem

Tahapan awal dalam perancangan sistem adalah membuat

desain dan rancangan sistem, yakni seperti rancangan use case, class

diagram, activity diagram, dan desain database. Tahap ini juga

merupakan tahap perancangan antarmuka (interface) sistem yang akan

dibuat dengan mengacu pada hasil analisis kebutuhan yang sudah

dilakukan pada tahap sebelumnya.

Page 54: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

37

3.2.4 Implementasi sistem

Tahap implementasi adalah tahap pengembangan dari

perancangan yang telah dibuat untuk diterjemahkan menjadi

kumpulan kode dan fungsi menggunakan bahasa pemrograman

tertentu sehingga tercipta aplikasi yang telah direncanakan. Adapun

tahap ini terdiri atas dua hal penting, yaitu :

a. Pengujian / Testing sistem

Tahap ini merupakan tahap uji coba terhadap sistem yang telah

dibuat dengan tujuan agar dapat diketahui kelemahan atau

kesalahan dari sistem tersebut. Hal ini dapat dijadikan sebagai

bahan evaluasi yang digunakan untuk memperbaiki perangkat

lunak yang sudah dibangun.

b. Instalasi

Setelah tahap testing sukses, maka tahap yang dilakukan

selanjutnya adalah memasang sistem pada perangkat sebenarnya,

baik itu di perusahaan maupun di lembaga pendidikan.

3.2.5 Pemeliharaan Sistem

Tahap ini merupakan tahap akhir dari pembangunan sebuah

perangkat lunak, di mana perangkat lunak yang dibangun dapat

mengalami perubahan atau penambahan sesuai dengan permintaan

pengguna.

Page 55: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

38

BAB IV

ANALISIS DAN PERANCANGAN SISTEM

4.1 Analisis Masalah

Tahap analisis masalah akan memberikan data dan opini atas

permasalahan yang dibidik dan dicarikan solusinya. Pada tahap ini kita

melibatkan beberapa stakeholder (pihak terkait) dalam menentukan tingkat

kompleksitas masalah.

Pada penelitian ini bidikan analisis masalah difokuskan pada proses

pelaporan tindak kriminal perampokan kepada pihak berwajib yang masih

terkendala oleh jarak dan sarana komunikasi. Aplikasi yang dibutuhkan adalah

memiliki fitur secara langsung mampu memberikan data lokasi tempat

kejadian perkara kepada pihak yang berwajib dengan kevalidan data yang

terakui dan langkah operasional yang simple.

4.2 Analisis Kebutuhan Sistem

Tahap analisis sistem merupakan salah satu usaha mengidentifikasi

kebutuhan dan spesifikasi sistem yang akan diciptakan. Di dalamnya akan

dijabarkan apa saja entitas yang dilibatkan, proses yang dijalankan, serta

output yang dihasilkan.

Berdasarkan hasil analisis masalah yang telah dijabarkan sebelumnya,

solusi yang ditawarkan adalah pembuatan aplikasi Emergency Security Caller

dengan spesifikasi sistem sebagai berikut :

1. Sistem terdiri atas server dan klien. Server bekerja berbasis web site,

Page 56: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

39

sedangkan untuk klien berbasis mobile dengan platform Android.

2. Sistem pada server dapat mengelola data polsek se-DI. Yogyakarta, data

user yang terdaftar, dan data laporan kejadian perkara dari user.

3. Sistem pada klien dapat menampilkan posisinya dalam peta Google Map,

posisi kantor polsek terdekat, serta mengirim data laporan kejadian perkara

kriminal ke server melalui internet dan sms ke nomor kepolisian secara

otomatis.

4. Sistem klien bekerja dengan fasilitas layanan internet dan GPS.

5. Sistem klien menyediakan fitur list kontak kantor polisi yang digunakan

untuk menelepon kantor polisi secara manual

4.3 Analisis Kebutuhan Fungsional dan Non Fungsional

1. Analisis Kebutuhan Fungsional

Mengidentifikasi apa saja (fasilitas dan aktivitas) yang seharusnya

dikerjakan oleh sistem server dan sistem klien. Adapun kebutuhan

fungsional sistem server dan klien dalam penelitian ini menghasilkan

rincian sebagai berikut.

a. Server

1. Fungsi login untuk admin

2. Fungsi pengolahan data user

3. Fungsi pengolahan data kantor polsek

4. Fungsi monitoring data panggilan

5. Fungsi melihat lokasi korban dalam peta

6. Fungsi melihat kantor polisi terdekat dengan lokasi

Page 57: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

40

b. Klien

1. Fungsi input PIN

2. Fungsi melihat informasi umu aplikasi

3. Fungsi melihat petunjuk penggunaan aplikasi

4. Fungsi menelepon kantor polsek secara manual

5. Fungsi mengirim informasi perampokan ( PIN user dan lokasi )

2. Analisa Kebutuhan Non Fungsional

Mengidentifikasi batasan dari fasilitas yang disediakan oleh sistem.

a. Response time

Server bekerja secara real time dalam menunjukkan data laporan

dari klien. Adapun aplikasi klien langsung dapat menjalankan

fungsinya ketika shortcut aplikasi ditekan.

b. Validitas data

Server harus menampilkan informasi yang valid dan dapat

dipertanggungjawabkan terkait pelaporan perampokan dari aplikasi

klien.

c. Security need

Server dan aplikasi klien harus memiliki tingkat keamanan,

sehingga sistem akan dapat berjalan dengan prosedurnya. Server

harus memiliki autentifikasi untuk menjaga pengolahan data oleh

pihak tidak berhak. Klien menggunakan fitur set PIN agar data

memiliki nilai kevalidan ketika dikirimkan ke server.

Page 58: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

41

d. Akses user

Pihak kepolisian dapat menggunakan fungsi login, fungsi

pengolahan data user, fungsi pengolahan data kantor polsek, dan

dapat mengakses laporan dari klien.

Pihak klien (korban) dapat menggunakan fungsi melihat

informasi aplikasi, melihat petunjuk, mengganti PIN, menelepon

kantor polsek secara manual melalui daftar kantor polsek, dan

mengirimkan informasi ( user dan lokasi) dengan menekan tombol

shortut aplikasi.

4.4 Perancangan Sistem

Perancangan sistem yang merupakan analisis kebutuhan fungsional ini

akan mencakup diagram blok sistem, UML, desain tabel, desain interface.

1. Diagram Blok Sistem

Berikut ini adalah diagram blok sistem yang menggambarkan garis

besar sistem Emergency Security Caller. Pada gambar 4.1 di bawah ini

ditunjukkan proses alur data dalam aplikasi Emergency Security Caller.

Page 59: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

42

Gambar 4.1. Diagram Blok Sistem Emergency Security Caller

Keterangan Diagram Blok Sistem Emergency Security Caller (ESC) :

a. Proses 1 merupakan proses mendapatkan data longitude dan

latitude menggunakan fitur GPS. Pada proses ini internet

diperlukan untuk menampilkan Map Google dan pengambilan data

alamat yang disesuaikan dengan longitude dan latitude yang

diterima.

b. Proses 2 merupakan proses pengiriman data yang berupa longitude,

latitude, PIN user, dan alamat kejadian ke web server ESC via

internet.

c. Proses 3 merupakan proses input data laporan dari user ke dalam

database web server ESC.

d. Proses 4 merupakan proses menampilkan data laporan yang telah

Page 60: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

43

diverifikasi PIN usernya melalui halaman web ESC.

e. Proses 5 merupakan proses pengiriman data yang berupa longitude,

latitude, dan PIN user ke nomor polisi via SMS yang ditransferkan

melalui BTS provider seluler.

f. Proses 6 merupakan proses pengiriman SMS data longitude,

latitude, dan PIN user ke nomor polisi yang telah ditentukan.

g. Proses 7 merupakan proses menelepon kantor polisi yang telah

disediakan dalam menu aplikasi. Fitur ini dapat menjadi solusi

apabila smartphone tidak berhasil mendapatkan data longitude,

latitude, dan data alamat dari internet.

2. Use Case

Use Case berguna sebagai langkah awal untuk memodelkan interaksi

tunggal antara pengguna dengan sistem. Suatu aspek yang mendasar dari

pendekatan use case adalah adanya proses interaktif dengan pengguna

akhir, yang harus mengarah pada spesifikasi kebutuhan diterima oleh para

pengguna. Penggambar persyaratan fungsional menggunakan diagram use

case tersebut, seperti yang didefinisikan oleh UML. Diagram use case

tersebut dimaksudkan sebagai model aktor utama dan komponen

fungsional dari sistem. Berikut ini merupakan gambaran dari desain sistem

Emergency Security Caller.

Page 61: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

44

Gambar 4.2. Use case Sistem Emergency Security Caller

a) Definisi aktor

Dalam use case diidentifikasi dua aktor utama sebagai pengguna

sistem. Definisi dari aktor tersebut dapat dilihat pada tabel 4.1.

Tabel 4.1. Aktor

No. Aktor Fungsionalitas

1. Admin Pihak yang mengoperasikan server

2. Pengguna Pihak korban perampokan yang menjadi klien

dan mengirimkan data ke server.

b) Definisi Use case

Beberapa definisi use case yang digambarkan dapat dilihat pada

tabel 4.2.

Page 62: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

45

Tabel 4.2. Use case

No. Nama Usecase Deskripsi

1. Olah data user

Admin mempunyai wewenang

manambah, mengubah, menghapus data

user pengguna sistem.

2. Olah data polsek

Admin mengolah data polsek baik

karena ada penambahan, pengubahan,

maupun penghapusan data.

3. Lihat panggilan

Admin memiliki kewenangan melihat

laporan dari user pengguna melalui situs

ESC dan nomor handphone ESC

4. Ganti user

User pengguna bisa mengisi atau

mengganti nama user yang terdaftar

dalam aplikasi tersebut.

5. Lihat posisi

User pengguna memiliki fasilitas

melihat lokasinya berada dengan

bantuan internet dan GPS.

6. Kirim laporan

User pengguna mengirimkan data

laporan kejadian kriminal yang berupa

longitude, latitude, PIN, dan alamat

melalui internet. Adapun pengiriman

laporan via SMS tidak menyertakan

alamat.

7. Panggil polisi User pengguna dapat menelepon secara

langsung kepada kantor polisi terdekat.

b. Activity Diagram

Activity diagram memodelkan alur kerja (workflow) sebuah

proses bisnis dan urutan aktifitas dalam suatu proses. Diagram ini

sangat mirip dengan sebuah flowchart karena dapat memodelkan

sebuah alur kerja dari suatu aktifitas ke aktifitas lainnya atau dari satu

aktifitas kedalam keadaan sesaat (state). Adapun beberapa diagram

aktifitas dari sistem ini adalah sebagai berikut:

Page 63: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

46

Gambar 4.3. Activity Login Server

a) Proses Login

Gambar 4.3 memperlihatkan aktivitas admin menginput

username dan password, kemudian sistem melakukan proses validasi

apakah username dan password sesuai. Jika sesuai, sistem akan

menampilkan menu dan admin akan melanjutkan dengan proses

yang diinginkan.

b) Proses pengolahan data user

Gambar 4.4 adalah beberapa proses pengolahan data pada tabel

user. Pengolahan data meliputi penambahan data, pengeditan data,

dan penghapusan data.

Page 64: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

47

Gambar 4.4. Activity pengolahan data user

c) Proses Pengolahan data Polsek

Gambar 4.5 adalah beberapa proses pengolahan data pada tabel

polsek. Pengolahan data meliputi penambahan data, pengeditan

data, dan penghapusan data.

Page 65: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

48

Gambar 4.5. Activity pada pengolahan data polsek

c. Class Diagram

Dalam proses analisis dan perancangan awal sampai dengan

tahap implementasi terdapat perubahan desain class diagram

disebabkan source code yang dapat digunakan terdapat revisi

dengan memperhatikan efektivitas kinerja aplikasi. Gambar 4.6a

menunjukkan class diagram sebelum terjadi perubahan analisis

source code.

Page 66: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

49

Gambar 4.6a Class diagram awal aplikasi Emergency Security

Caller

Adapun desain class diagram untuk aplikasi Emergency

Security Caller setelah mengalami perubahan analisis source code

ditunjukkan pada gambar 4.6b.

Gambar 4.6b. Class diagram akhir aplikasi Emergency Security

Caller

Page 67: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

50

Berdasarkan gambar 4.6b ada satu class utama dan delapan

class tambahan lainnya agar proses pada sistem sesuai dengan

planning, yaitu

a. tunjukLokasi.java,

b. about.java,

c. myItemizedOverlay.java,

d. lokasi.java,

e. EditTextPreference.java,

f. CustomHttpClient.java,

g. SplashActivty.java, dan

h. PolsekDialer.java.

Adapun untuk class diagram pada web server ditunjukkan

oleh gambar 4.6c.

Gambar 4.6c Class diagram server

Page 68: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

51

3. Desain Tabel

Aplikasi mobile phone Emergency Security Caller (ESC) berkaitan

langsung dengan web server pelaporan data kejadian perkara yang

menggunakan database server MySQL. Database tersebut berisi beberapa

tabel yang mendukung berjalannya layanan penerimaan pelaporan secara

real time dari aplikasi klien ESC. Adapun desain tabel pada database

server sebagai berikut.

a. Tabel Admin

Tabel ini berisi username dan password yang dapat bertindak

sebagai administrator dan digunakan sebagai database login admin.

Tabel admin ditunjukkan oleh tabel 4.3.

Tabel 4.3. Admin

No. Nama Kolom Tipe Data Contraint Keterangan

1. Id int (11) primary key id auto increment

2. Username varchar(15) untuk login

3. Password varchar (20) untuk login

4. Level varchar(5)

untuk identifikasi

admin atau super

admin

b. Tabel Panggilan

Tabel ini akan menampung laporan dari aplikasi klien setelah

memiliki data longitude dan latitude lokasi kejadian perampokan.

Apabila data tidak lengkap maka tidak tersimpan di dalam tabel

panggilan yang ditunjukkan pada oleh tabel 4.4.

Page 69: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

52

Tabel 4.4. Panggilan

No. Nama Kolom Tipe Data Contraint Keterangan

1. Id int (11) primary key id auto

increment

2. Username varchar(15) Reference tabel

user(username)

nama pelapor

3. Longitude varchar(13)

Digunakan

untuk sistem

GPS

4. Latitude varchar(13)

Digunakan

untuk sistem

GPS

5. Tkp text

Alamat yang

diambil dari

Google Map

dengan bantuan

GPS dan

internet

6. Tanggal varchar(30)

Waktu

masuknya

pelaporan

c. Tabel Polsek

Tabel ini akan menyimpan data kantor polsek di DI. Yogyakarta

dengan dilengkapi data longitude dan latitude serta nomor telepon yang

dapat dihubungi.

Tabel 4.5. Polsek

No. Nama Kolom Tipe Data Contraint Keterangan

1. Id int (11) primary

key

auto increment id

2. nama_polsek varchar(20) Nama kantor

polsek

3. alamat_polsek varchar(100) Alamat kantor

polsek

4. no_telp varchar(11) Nomor telepon

5. no_hp varchar(12) Nomor

handphone

6. Longitude varchar(20)

Alamat koordinat

lokasi kantor

berdasarkan

fasilitas GPS

Page 70: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

53

Lanjutan tabel 4.5

7. Latitude varchar(20)

Alamat koordinat

lokasi kantor

berdasarkan

fasilitas GPS

8. Kab vachar(15)

Id untuk

mengindukkan

kantor tersebut

kepada kabupaten

mana.

d. Tabel User

Tabel ini akan menampung daftar user yang telah terdaftar.

Fungsinya adalah sebagai filter atas pelaporan kriminalitas palsu yang

merepotkan pihak polisi. Tabel user ini akan menampilkan laporan

hanya dari user yang terdaftar dan tabel ini digambarkan pada tabel 4.6.

Tabel 4.6. User

No. Nama Kolom Tipe Data Contraint Keterangan

1. Username varchar(10) Primary

key

Sebagai identitas

user terdaftar dan

identitas

pelaporan

kejadian

2. Nama varchar(30) Nama lengkap

pelapor / korban

3. Alamat Text Alamat dari

pelapor/ korban

4. no_ktp varchar(20)

Nomor ktp korban

untuk kevalidan

data

5. no_hp varchar(12)

Nomor

handphone

korban untuk

memudahkan

transfer informasi

6. Email Varchar(20) Alamat email

korban/ pelapor.

Page 71: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

54

4. Desain Antarmuka

Antarmuka atau biasa disebut interface adalah tampilan aplikasi

maupun website yang bersentuhan langsung dengan pengguna dalam

menjalankan fungsi-fungsi yang dibutuhkan oleh pengguna.

a. Desain Antarmuka Sistem Server

1) Desain Antarmuka Home

Tampilan home berisi menu website beserta Google Map

dengan pusat kota Yogyakarta. Di sini juga tersedia fasilitas login

administrator untuk mencegah penggunaan oleh pihak yang tidak

berhak.

Gambar 4.7. Desain antarmuka home website

2) Desain Antarmuka Panggilan

Tampilan ini akan berisi daftar panggilan dari klien yang

diurutkan berdasarkan waktu terbaru. Selain itu ada fasilitas lihat

lokasi tempat kejadian perkara di peta. Desain antarmuka panggilan

ditunjukkan oleh gambar 4.8.

Page 72: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

55

Gambar 4.8. Desain antarmuka halaman panggilan

3) Desain Antarmuka Polsek

Gambar 4.9 adalah desain tampilan antarmuka polsek

digunakan untuk menampilkan data kantor polsek di DI. Yogyakarta.

Gambar 4.9. Desain antarmuka daftar polsek

4) Desain Antarmuka User

Gambar 4.10 memberikan desain tampilan pada halaman daftar

user yang terdaftar pada sistem.

Page 73: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

56

Gambar 4.10. Desain antarmuka daftar user

b. Desain Antarmuka Sistem Klien

1) Desain antarmuka menu utama

Desain antarmuka menu utama sistem klien akan diawali

dengan splash screen dan kemudian menampilkan peta lokasi

terjadinya perkara dan beberapa kantor polsek terdekat.

Gambar 4.11. Desain antarmuka utama

2) Desain Panggil Kantor Polisi

Desain antarmuka panggil kantor polisi digunakan untuk

merancang pemanggilan kantor polisi secara manual sesuai nama

kantor polisi yang diinginkan. Daftar kantor polisi yang ditampilkan

Page 74: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

57

menggunakan fitur list view yang mendukung scroll ke atas dan ke

bawah.

Gambar 4.12. Desain antarmuka panggil kantor polisi

Gambar 4.12 adalah desain dari panggil kantor polisi, yakni

pemanggilan nomor telepon polsek berdasarkan nama kantor polsek

yang diinginkan.

3) Desain Set PIN

Desain antarmuka Set PIN adalah untuk menyimpan PIN yang

didapatkan dari pendaftaran di kepolisian dan digunakan untuk

verifikasi laporan data yang akan dimunculkan di web server

ditunjukkan pada gambar 4.13.

Gambar 4.13. Desain antarmuka verifikasi akun

Page 75: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

58

4) Desain Menu Petunjuk

Desain antarmuka menu petunjuk adalah untuk memberikan

informasi dasar tentang cara penggunaan aplikasi ESC. Desain

antarmuka menu petunjuk yang menggunakan teks standar ini

diperlihatkan pada gambar 4.14.

Gambar 4.14. Desain antarmuka menu petunjuk

5) Desain Menu Informasi Umum

Desain antarmuka menu informasi umum adalah untuk

memberikan informasi umum tentang aplikasi ESC. Desain menu

informasi umum ini ditunjukkan pada gambar 4.15.

Gambar 4.15. Desain antarmuka menu informasi umum

Page 76: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

59

BAB V

IMPLEMENTASI DAN PENGUJIAN SISTEM

5.1 Implementasi

Implementasi merupakan salah satu tahap dalam pengembangan sebuah

perangkat lunak. Dalam SDLC implementasi merupakan tahapan kelima yang

memiliki dua hal yang harus dilakukan, yakni testing dan instalasi. Testing

adalah menguji hasil kode program yang telah dihasilkan dari tahapan desain

fisik. Tujuan pengujian adalah untuk menjamin bahwa kode yang dihasilkan

bebas dari kesalahan sintaks dan menguji kemampuan penyelesaian masalah

yang dimiliki klien. Selain itu pengujian bertujuan mengetahui apakah sistem

mudah dipahami dan digunakan atau tidak oleh pengguna akhir.

Adapun instalasi dalam implementasi dilaksanakan setelah tahap testing

(pengujian). Tahap instalasi dalam hal ini adalah pemasangan secara resmi

perangkat lunak yang telah lulus testing dan menggantikan sistem lama.

5.1.1. Implementasi Server

Server beserta databasenya telah dipasang secara online pada

domain http://seeyou.web.id/polisi/. Implementasi pada server dibagi

dua kategori. Pertama implementasi database menggunakan MySQL.

Kedua implementasi interface dengan menggunakan bahasa HTML

dan PHP.

Page 77: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

60

1. Implementasi Database

Pada sistem ini database memiliki nama MAP yang berisi

empat buah tabel ; tabel admin, tabel laporan, tabel polsek, dan

tabel user. Database MAP ini diakses melalui Phpmyadmin.

Adapun tabel-tabel yang digunakan dalam database ditunjukkan

oleh gambar 5.1a , gambar 5.1b, gambar 5.1c, gambar 5.1d, dan

gambar 5.1e.

Gambar 5.1a. Database System

Gambar 5.1b. Tabel Admin

Page 78: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

61

Gambar 5.1c. Tabel Panggilan

Gambar 5.1d. Tabel Polsek

Gambar 5.1e. Tabel User

Page 79: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

62

2. Implementasi Web Server

a. Implementasi koneksi PHP dan MySQL

Dalam mengolah data yang tersimpan dalam database

MySQL dibuatlah file konfigurasi untuk menghubungkan server

dengan tabel-tabel yang akan diolah datanya. File tersebut diberi

nama koneksi.php yang menggunakan fungsi PHP

mysql_connect() dan mysql_select_db(). Adapun source code

lengkap koneksi.php terlampir.

b. Implementasi Halaman Utama

Halaman utama pada server adalah menu-menu utama

yang disertai peta posisi keseluruhan kantor polsek se-DIY.

Gambar 5.2 menunjukkan tampilan halaman utama server.

Gambar 5.2. Halaman utama web server ESC of DIY

c. Implementasi Halaman Daftar Polsek se-DIY

Halaman daftar kantor polisi se-DIY menampilkan data

Page 80: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

63

kantor polisi beserta nomor telepon yang dapat dihubungi.

Interface halaman ini berbentuk tabel. Adapun halaman daftar

polsek se-DIY ditunjukkan oleh gambar 5.3.

Gambar 5.3. Halaman daftar kantor polsek.

d. Implementasi Halaman Laporan Perampokan

Halaman laporan perampokan yang ditunjukkan gambar

5.4 ini menampilkan daftar laporan dari user yang masuk server.

Data tersebut merupakan input secara online dengan

menggunakan fasilitas internet.

Gambar 5.4. Halaman daftar panggilan

Page 81: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

64

e. Implementasi Halaman Daftar User Terdaftar

Laporan kriminal yang ditampilkan adalah disesuaikan

dengan user yang terdaftar. Sehingga dapat disimpulkan hanya

laporan dari user yang terdaftarlah yang dapat diakses

laporannya. Halaman daftar user terdaftar ini ditunjukkan oleh

gambar 5.5.

f. Halaman login admin

Halaman login admin akan meminta username dan

password untuk autentifikasi user admin. Halaman login admin

dapat dilihat pada gambar 5.6.

Gambar 5.6. Halaman login admin

Gambar 5.5. Daftar user terdaftar

Page 82: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

65

g. Halaman Pengelolaan Daftar Polsek

Pengelolaan data pada tabel daftar polsek dapat dilakukan

pada halaman editing tabel daftar polsek sebagaimana

ditampilkan gambar 5.7.

Gambar 5.7. Halaman olah data kantor polsek

h. Halaman Pengelolaan Daftar User

Pengelolaan data pada tabel user dapat dilakukan pada

halaman editing user sebagaimana diperlihatkan gambar 5.8.

Gambar 5.8. Halaman olah data user

Page 83: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

66

5.1.2. Implementasi Klien

1. Implementasi Halaman Utama

Halaman utama sebagaimana ditunjukkan gambar 5.9 ini

memberikan tampilan aplikasi tentang lokasi kejadian perkara yang

menggunakan data longitude dan latitude. Adapun posisi kejadian

perampokan dilengkapi dengan alamat yang diambil dari Google

Map.

Gambar 5.9. Halaman utama aplikasi

2. Menu Set PIN

Menu Set PIN berfungsi untuk menambahkan data PIN yang

digunakan ketika pengiriman data ke web server. PIN user

merupakan PIN yang terdaftar di web server. Manfaat adanya PIN

user tersebut adalah untuk filtering data yang akan ditampilkan di

web server. Halaman menu set PIN ditunjukkan oleh gambar 5.10.

Page 84: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

67

Gambar 5.10. Menu Set PIN

3. Implementasi Menu Panggil Kantor Polisi

Menu daftar kantor polisi ini menampilkan kantor polisi se-

DIY. Menu ini akan membantu user menelepon kantor polisi yang

diinginkan. Halaman daftar kantor polisi dapat dilihat pada gambar

5.11.

Gambar 5.11. Daftar polsek

Page 85: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

68

4. Menu Petunjuk

Menu Bantuan akan menunjukkan langkah-langkah dasar

penggunaan aplikasi Emergency Security Caller agar dapat berjalan

dengan normal.

Gambar 5.12. Menu Bantuan

5. Menu Informasi Umum

Menu ini untuk memberikan informasi umum tentang

aplikasi Emerrgency Security Caller.Adapun tampilan menu ini

dapat dilihat pada gambar 5.13.

Gambar 5.13. Menu Informasi Umum

Page 86: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

69

5.2 Pengujian

Pengujian sistem merupakan tahapan terakhir pada penelitian ini, yang

menguji kemampuan keseluruhan yang disediakan sistem. Pada tahap ini,

pengujian sistem akan menggunakan metode black box. Teknik black box

merupakan metode pengujian dengan memfokuskan pada fungsional sistem

yang telah dibangun serta memperhatikan hasil dari sistem apakah telah

berjalan sesuai yang diharapkan.

5.2.1 Pengujian Alpha

Pengujian alpha adalah pengujian sistem yang dilakukan secara

langsung oleh pengembang sistem dengan cara uji coba data, yaitu

dengan memasukkan data yang benar dan data yang salah. Berikut

rencana pengujian Alpha yang akan dilakukan

Tabel 5.1. Rencana Pengujian Alpha Sistem Server

No. Item Uji Detail Pengujian

1. Proses Login Verifikasi Login

2. Proses Pengolahan Data Kantor Polsek Tambah, ubah, hapus

3. Proses Pengolahan Data User Tambah, ubah, hapus

4. Proses Pengolahan Data Panggilan Tambah, ubah, hapus

5. Proses Logout Verifikasi Logout

Tabel 5.2. Rencana Pengujian Alpha Sistem Klien

No. Item Uji Detail Pengujian

1. Proses Set PIN Edit, hapus

2. Proses Pemanggilan Kantor Polsek Mengoperasikan

3. Proses Pengiriman Data ke Server Mengoperasikan

Page 87: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

70

5.2.2 Pengujian Beta

Pengujian beta adalah pengujian sistem yang dilakukan secara

obyektif, yaitu pengujian langsung ke lapangan (masyarakat luas) untuk

mengetahui pendapat responden terhadap sistem yang dibangun.

Pengujian sistem dilakukan oleh 27 responden yang terdiri atas 20

responden untuk pengujian aplikasi klien dan 5 responden untuk

pengujian web server. kemudian hasil dari pengujian itu akan dituliskan

pada kuisoner yang telah diberikan. Pengujian dilakukan terhadap

fungsional, antarmuka, dan kemanfaatan sistem. Pengujian fungsional,

antarmuka, dan kemanfaatan sistem dapat dilihat pada tabel 5.2, dan

pengujian antarmuka dapat dilihat pada berikut ini.

Tabel 5.3. Tabel Pengujian Fungsional Aplikasi Klien

No Pernyataan Penilaian

Ya Tidak

1. Aplikasi ESC dapat mengirimkan laporan ke web polisi

2. Aplikasi ini dapat mengirim laporan kejadian perampokan

via SMS ke nomor polisi

3. Aplikasi ini dapat menampilkan posisi kejadian di peta

4. Aplikasi ini dapat menelepon kantor polsek secara manual

menggunakan fitur menu panggil polsek

Tabel 5.4. Tabel Pengujian Fungsional Sistem Server

No Pernyataan Penilaian

Ya Tidak

1. Web ESC dapat menerima data laporan dari korban

(pengguna aplikasi ESC) yang berupa longitude, latitude,

PIN user, dan alamat kejadian perampokan (pencurian

dengan kekerasan).

2. Sistem dapat menampilkan posisi kejadian perampokan di

peta.

3. Sistem dapat menampilkan laporan kejadian perampokan

dengan peringatan suara dan tanda warna untuk laporan yang

Page 88: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

71

belum dibaca.

4. Admin dapat mengolah (menambah, menghapus, mengubah)

data user terdaftar

5. Admin dapat mengolah (menambah, menghapus, mengubah)

data kantor polsek DIY

Tabel 5.5. Tabel Pengujian Interface Aplikasi Klien

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) aplikasi Emergency Security

Caller nyaman dilihat.

2. Cara penggunaan aplikasi ini beserta fitur tambahannya

mudah.

3. Bahasa dan petunjuk dalam aplikasi ini mudah dipahami

Tabel 5.6. Tabel Pengujian Interface Web Server

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) web Emergency Security

Caller nyaman dilihat.

2. Cara penggunaan web ini beserta fitur tambahannya mudah.

3. Bahasa dan petunjuk dalam web ESC ini mudah dipahami

Tabel 5.7. Tabel Pengujian Kemanfaatan Sistem

No Pernyataan Penilaian

SS S N TS STS

1. Aplikasi ESC ini sangat berguna di masyarakat.

2.

Aplikasi ini mempermudah korban perampokan

dalam melaporkan kejadian perampokan dalam

situasi ketika korban berada di dalam ruangan dan

disandera, namun tangan korban memungkinkan

untuk menggunakan handphone.

3. Polisi mendapatkan informasi kejadian

perampokan lebih cepat.

4. Aplikasi ini layak untuk digunakan di Polda DIY

Page 89: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

72

BAB VI

HASIL DAN PEMBAHASAN

6.1 Proses Pengujian Sistem

Tahap pengujian aplikasi Emergency Security Caller melibatkan 27

responden yang terdiri atas 6 penguji sistem server dan 21 penguji sistem klien.

Adapun daftar penguji sistem ini tercantum dalam tabel 6.1 dan tabel 6.2.

Untuk kuisioner hasil pengujian secara lengkap dapat dilihat pada lampiran.

Tabel 6.1. Tabel Daftar Penguji

No Nama Penguji Instansi Wilayah

1 Wiwit Retno Owner Toko A3 G. Kidul

2 Dwi Kuntari S. Owner Vino-Net G. Kidul

3 Susilowati Wiraswasta Warnet G. Kidul

4 Joko Yuono Account Officer Bank Swamitra G. Kidul

5 Yogi Yodaswara Marketing Efisiensi : Sleman

6 Jarodah Karyawan BPR Danagung Bakti Sleman

7 Dwi Gadang R. Karyawan Minimarket Danaz Sleman

8 Derry Apriyanto Karyawan Alfamart Balecatur Sleman

9 Rian Mandar Sari Karyawan BPR Profidana, Sedayu Bantul

10 Yudi Karyawan Minimarket Manggala Bantul

11 Eko Karyawan Alfamart Sedayu Bantul

12 Arif Wibowo Karyawan minimarket Ana Bantul

13 Utoyo Bagian Umum BPR : Kulonprogo

14 Budi Cahyono Security Bank Pasar Kulon Progo

15 Yudhi Pamungkas Karyawan BPR Nusamba, Temon Kulon Progo

16 Aprilia Karyawan Alfamart Kulon Progo

17 Suryono Karyawan Swasta Kulon Progo

18 Tia Operator warnet Clique Kota

19 Sudaryanto Karyawan Indomaret Kota

20 Afri Operator warnet Warney Kota

21 Lamda Hermino Manajer Hazel internet & Playstation Kota

Page 90: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

73

Tabel 6.2. Daftar Penguji Server

No Nama Penguji Server Jabatan

1 Imam S. Bamit Polda

2 Singgih Bamit Polda

3 Candra Banum Polda

4 Muryadi Bamit Polda

5 Hartono Bamit Polda

6 Donny Kamit Jatan Ras Polda DIY

6.2 Hasil dan Pembahasan Pengujian Alpha

Berdasarkan hasil pengujian alpha, secara keseluruhan sistem Emergency

Security Caller dapat dikatakan berhasil atau diterima, karena secara

fungsional sudah dapat bekerja dan menghasilkan output yang diharapkan.

Sistem server maupun sistem klien dapat bekerja dengan baik.

6.3 Hasil dan Pembahasan Pengujian Beta

Pengujian yang melibatkan 27 orang responden menilai aspek fungsional,

interface, dan kemanfaatan sistem server dan klien. Hasil pengujian fungsional

sistem dapat dilihat pada tabel 6.3 dan tabel 6.4. Hasil pengujian interface

sistem dapat dilihat pada tabel 6.5 dan tabel 6.6. Adapun tabel 6.7

menunjukkan hasil pengujian kemanfaatan sistem.

Tabel 6.3. Tabel Hasil Pengujian Fungsional Aplikasi Klien

No Pernyataan Penilaian

Ya Tidak

1. Aplikasi ESC dapat mengirimkan laporan ke web polisi 20 1

2. Aplikasi ini dapat mengirim laporan kejadian perampokan

via SMS ke nomor polisi 20 1

3. Aplikasi ini dapat menampilkan posisi kejadian di peta 20 1

4. Aplikasi ini dapat menelepon kantor polsek secara manual

menggunakan fitur menu panggil polsek 21 0

Page 91: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

74

Tabel 6.4. Tabel Hasil Pengujian Fungsional Sistem Server

No Pernyataan Penilaian

Ya Tidak

1.

Web ESC dapat menerima data laporan dari korban

(pengguna aplikasi ESC) yang berupa longitude, latitude,

PIN user, dan alamat kejadian perampokan (pencurian

dengan kekerasan).

6 0

2. Sistem dapat menampilkan posisi kejadian perampokan di

peta. 6 0

3.

Sistem dapat menampilkan laporan kejadian perampokan

dengan peringatan suara dan tanda warna untuk laporan yang

belum dibaca.

6 0

4. Admin dapat mengolah (menambah, menghapus, mengubah)

data user terdaftar 6 0

5. Admin dapat mengolah (menambah, menghapus, mengubah)

data kantor polsek DIY 6 0

Tabel 6.5. Tabel Hasil Pengujian Interface Aplikasi Klien

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) aplikasi Emergency Security

Caller nyaman dilihat. 19 2

2. Cara penggunaan aplikasi ini beserta fitur tambahannya

mudah. 20 1

3. Bahasa dan petunjuk dalam aplikasi ini mudah dipahami 20 1

Tabel 6.6. Tabel Hasil Pengujian Interface Web Server

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) web Emergency Security

Caller nyaman dilihat. 6 0

2. Cara penggunaan web ini beserta fitur tambahannya mudah. 6 0

3. Bahasa dan petunjuk dalam web ESC ini mudah dipahami 6 0

Page 92: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

75

Tabel 6.7. Tabel Hasil Pengujian Kemanfaatan Sistem

No Pernyataan Penilaian

SS S N TS STS

1. Aplikasi ESC ini sangat berguna di masyarakat.

2.

Aplikasi ini mempermudah korban perampokan

dalam melaporkan kejadian perampokan dalam

situasi ketika korban berada di dalam ruangan dan

disandera, namun tangan korban memungkinkan

untuk menggunakan handphone.

3. Polisi mendapatkan informasi kejadian

perampokan lebih cepat.

4. Aplikasi ini layak untuk digunakan di Polda DIY

Analisis Kuisioner Keberhasilan Pengujian dari Sistem Klien

skor kriterium = 147 (skor tertinggi x jumlah butir x jumlah responden)

skor tertinggi = 1

skor terendah = 0

Jadi, tingkat keberhasilan aplikasi ESC berdasarkan data kuisioner adalah =

𝑗𝑢𝑚𝑙𝑎 ℎ 𝑠𝑘𝑜𝑟 𝑦𝑎𝑛𝑔 𝑑𝑖𝑑𝑎𝑝𝑎𝑡𝑘𝑎𝑛

𝑠𝑘𝑜𝑟 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑢𝑚 x 100% =

140

147 x 100% = 95,23%

Analisis Kuisioner Keberhasilan Pengujian dari Sistem Server

skor kriterium = 48

skor tertinggi = 1

skor terendah = 0

Jadi, tingkat keberhasilan aplikasi ESC berdasarkan data kuisioner adalah =

𝑗𝑢𝑚𝑙𝑎 ℎ 𝑠𝑘𝑜𝑟 𝑦𝑎𝑛𝑔 𝑑𝑖𝑑𝑎𝑝𝑎𝑡𝑘𝑎𝑛

𝑠𝑘𝑜𝑟 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑢𝑚 x 100% =

48

48 x 100% = 100%

Page 93: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

76

Analisis Kuisioner Keberhasilan Pengujian dari Segi Kemanfaatan

Jumlah skor kriterium (bila setiap butir mendapat skor tertinggi)

= 5 x 4 x 20 penguji = 400.

Untuk skor tertinggi adalah 5, jumlah butir adalah 4, dan jumlah responden

adalah 20.

Jumlah skor terendah = 1 x 4 x 20 =80.

Jumlah skor hasil pengumpulan data = 352.

Jumlah kelas interval = (400-80)/5 = 64

Tabel 6.7. Klasifikasi skor angket kemanfaatan

Jumlah Skor Jawaban Klasifikasi Sikap

336 -400 SS

272-335 S

208-271 N

144-207 TS

80-143 STS

Kesimpulan : Jumlah skor yang diperoleh responden adalah termasuk

klasifikasi sangat setuju karena terletak antara 336-400.

Hasil kuisioner pengujian atas aspek fungsionalitas dan interface sistem

klien menunjukkan tingkat keberhasilan sebesar 95,23%. Hasil pengujian atas

aspek fungsionalitas dan interface sistem server menunjukkan tingkat

keberhasilan sebesar 100%. Adapun hasil kuisioner pengujian kemanfaatan

(advantagement) atas sistem klien dan server menunjukkan bahwa tingkat

keberhasilan sebesar 88 %.

Berdasarkan hasil pengujian tersebut, dapat disimpulkan bahwa sistem

Emergency Sistem Caller yang memanfaatkan device smartphone android

Page 94: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

77

layak digunakan di wilayah DI. Yogyakarta. Namun, untuk mendapatkan hasil

yang lebih optimal perlu adanya pengembangan sistem lebih lanjut.

6.4 Kendala Pengujian

Pelaksanaan pengujian beta sistem yang menggunakan sample di lima

wilayah di DI. Yogyakarta ini mendapatkan beberapa kendala dalam

pengujian.

1. Kendala birokrasi dalam pengurusan surat izin. Beberapa instansi unit

pada level desa dan kecamatan tidak berkenan berpartisipasi dalam

pengisian kuisioner meskipun sudah dijelaskan bahwa kuisioner tidak

membahas terkait instansi mereka sebelum ada izin dari instansi cabang

yang lokasinya ada di luar kota Yogyakarta.

2. Kendala sinyal GPS di warnet dengan fasilitas hotspot. Pada percobaan

penggunaan aplikasi klien di warnet Clique tanpa fasilitas hotspot yang

berjarak kurang lebih 300 meter dari warnet Hazel berjalan dengan baik.

Namun, aplikasi tidak dapat mendapatkan sinyal GPS ketika digunakan di

warnet Hazel di wilayah Kota Yogyakarta yang memiliki fasilitas hotspot.

Page 95: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

78

BAB VII

PENUTUP

7.1 Kesimpulan

Penelitian Rancang Bangun Emergency Security Caller Berbasis

Android untuk Situasi Perampokan telah berhasil menciptakan sistem

pelaporan dan pemanggilan pihak kepolisian menggunakan media

smartphone Android. Dalam praktek di lapangan cara menjalankan aplikasi

Emergency Security Caller (ESC) membutuhkan tiga langkah setelah fitu

GPS dan internet aktif, yakni menekan tombol menu, membuka kunci layar,

dan menekan shortcut aplikasi ESC.

Berdasarkan hasil pengujian di lapangan yang telah dilakukan

terhadap sistem ESC maka dapat diambil kesimpulan bahwa penelitian

rancang bangun sistem Emergency Security Caller (ESC) berbasis Android

dapat memberikan informasi kejadian perampokan cukup cepat, yakni dalam

rentang waktu kurang lebih tiga puluh detik hingga tiga menit. Informasi

yang ditampilkan di website ESC dapat dipercaya kevalidannya karena

adanya fitur filtering user terdaftar.

Page 96: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

79

7.2 Saran

Pengembangan sistem Emergency Security Caller masih terdapat

kekurangan, oleh karena itu perlu pengembangan lebih lanjut agar sistem ini

lebih bermanfaat. Adapun untuk penelitian selanjutnya ada beberapa hal

yang disarankan.

1. Sistem untuk server yang masih terpusat ini disarankan memiliki fitur

SMS sender yang saling terintegrasi sehingga informasi perampokan dapat

disebarkan lebih cepat.

2. Sistem untuk klien belum mampu dijalankan untuk kondisi korban masih

terancam. Oleh karena itu, disarankan untuk penelitian selanjutnya dapat

menggunakan trigger yang menjalankan sistem meskipun korban dalam

kondisi terancam.

Demikian hasil penelitian ini beserta pembahasannya. Semoga

penelitian ini dapat memberikan wawasan dan wacana untuk mendukung

perkembangan sistem-sistem lain yang dapat menjadi solusi dalam mengatasi

problematika masyarakat.

Page 97: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

80

DAFTAR PUSTAKA

Al Fatta, Hanif, 2007, Analisis dan Perancangan Sistem Informasi untuk

Keunggulan Bersaing Perusahaaan dan Organisasi Modern. Andi Offset

,Yogyakarta.

Andry, 2011, Android A sampai Z. PT Prima Infosarana Media, Jakarta.

Ardiansyah, Mengenal Location Based Service (LBS). April 4, 2011.

http://blog.uad.ac.id/ardi/2011/04/04/mengenal-location-based-service-lbs/

(diakses pada April 18, 2012).

Harnindito, Andreas, 2012, Aplikasi Peta Mobile Pada sistem Operasi Android

Untuk Pencarian Lokasi Wisata.Program Studi Ilmu Komputer. FMIPA

UGM, Yogyakarta.

Haryanto, Agus. Belajar Android – Pengenalan Google Map . Oktober 29, 2010.

http://agusharyanto.net/wordpress/?p=269 diakses pada tanggal 8 Agustus

2012.

—. Belajar Android – Pengenalan GPS. Oktober 24, 2010.

http://agusharyanto.net/wordpress/?p=258 diakses pada tanggal 8 Agustus

2012.

—. Tutorial Android Menampilkan Lokasi GPS pada Google Map. Mei 4, 2011.

http://agusharyanto.net/wordpress/?p=480 diakses pada tanggal 8 Agustus

2012.

Hashimi , Sayed Y. and Satya Komatineni, 2009, Pro Android. Appear, USA

Page 98: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

81

Huda, Arif Akbarul, 2012, 24 Jam!!! Pintar Pemrograman Android #1.ebook

diperoleh melalui http ://omayib.com

Kadir, A., 2003, Pemrogaman WEB : mencakup: HTML CSS Javascript dan

PHP. Penerbit Andi, Yogyakarta.

Madcoms, 2004, Aplikasi Program PHP dan MySQL untuk Membuat Website

Interaktif. Andi Offset, Yogyakarta.

Nugroho, Ignatius Dimas, 2012, Pengembangan Aplikasi Pencarian Lokasi

Fasilitas Umum Berbasis Foursquare APIv2 Pada Sistem Operasi Android.

Skripsi FMIPA UGM, Yogyakarta.

Purnaadi, Christian Wisnu, 2010, Aplikasi Peta Mobile untuk Pencarian Jalur

Terpendek Pada Sistem Operasi Android ( Mobile Map Application For The

Shortest Path Searching On Android Operating System). Skripsi Ilmu

Komputer FMIPA UGM, Yogyakarta.

Purnomo , Didik Heru, 2007, Aplikasi Pencarian Toko berbasis Java Mobile

Phone Via GPRS. Skripsi Ilmu Komputer FMIPA UGM, Yogyakarta.

Sanjaya, R., 2005, Pengolahan Database MSQL 5 dengan Java 2. Yogyakarta:

Penerbit Andi,.

Sholiq, 2006, Permodelan Sistem Informasi Berorientasi Obyek dengan UML,

Graha Ilmu, Yogyakarta.

Suntoyo, Andi, 2007, AJAX Membangun Web dengan Teknologi Asynchronouse

JavaScript dan XML, Penerbit Andi, Yogyakara.

Page 99: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

82

Widianti, Santi, 2009, Pengembangan Sistem. Diakses pada 16 Januari 2013

melalui ,

http://santiw.staff.gunadarma.ac.id/Downloads/files/7689/pengembangansiste

m.doc

http://www.jagoannews.com/blog/2012/07/17/kasus-perampokan-sepanjang-

2012-di-yogyakarta/ diakses pada 6 Agustus 2012 pukul 12.00 WIB

http://jogja.okezone.com/read/2012/07/30/510/670307/kawanan-perampok-

warnet-bercelurit-diringkus-polisi diakses pada 6 Agustus 2012 pukul 12.00

WIB

http://krjogja.com/read/135864/kasus-perampokan-kampus-atk-belum-ada-titik-

terang.kr diakses pada 6 Agustus 2012 pukul 12.00 WIB

Page 100: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

83

Lampiran 1

Kode Program Sistem Server

a. Olah data Polsek

<?php

$filename = 'database.class.php';

if (!file_exists($filename)){

echo "File Konfigurasi tidak ditemukan";

die();

}

include $filename;

$cn = new mySql();

if(!$cn->openKoneksi()){

echo "Tidak Bisa Konek";

die();

}

if (!isset($_REQUEST["mode"])){

$action = "simpan";

}else{

$id = $_POST["id"];

$nama_polsek = $_POST["nama_polsek"];

$alamat_polsek = $_POST["alamat_polsek"];

$no_telp = $_POST["no_telp"];

$no_hp = $_POST["no_hp"];

$longitude = $_POST["longitude"];

$latitude = $_POST["latitude"];

$kab = $_POST["kab"];

switch ($_REQUEST["mode"]) {

case "simpan":

$action = "simpan";

$values =

"'".$id."','".$nama_polsek."','".$alamat_polsek."','".$no_telp."',

'".$no_hp."','".$longitude."','".$latitude."','".$kab."

'";

$field =

"id,nama_polsek,alamat_polsek,no_telp,no_hp,longitude,

latitude,kab";

if($cn-

>insertRows('polsek',$field,$values)){

echo "Data Tersimpan";

}

break;

case "edit":

$action ="update";

$sql = "SELECT * FROM polsek WHERE

id='".$_REQUEST["id"]."'";

Page 101: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

84

$alamat_polsek = $row[2];

$no_telp = $row[3];

$no_hp = $row[4];

$longitude = $row[5];

$latitude = $row[6];

$kab = $row[7];

}

break;

case "update":

$action = "simpan";

$where = "id='".$id."'";

$field =

"nama_polsek='".$nama_polsek."',alamat_polsek='".$alamat_polsek."',

no_telp='".$no_telp."',no_hp='".$no_hp."',

longitude='".$longitude."',latitude='".$latitude."',kab='".$kab."',

foto='".$foto."'";

if($cn->updateRows('polsek',$field,$where)){

echo "Data Tersimpan";

}

$id = "";

$nama_polsek = "";

break;

case "hapus":

$action = "simpan";

$where = "id='".$_REQUEST["id"]."'";

$cn->deleteRows('polsek',$where);

break;

}

}

?>

<a href="<?php echo "index3.php";?>">REFRESH/HOME</a> || <a

href="<?php echo "../index.php";?>">KEMBALI</a>

<hr/>

<hr/>

<form method="POST" action="<?php echo $PHP_SELF;?>?mode=<?php echo

$action;?>">

<table>

<tr>

<td>Nama Polsek</td>

<td>:</td>

<td><input type="text" name="nama_polsek"

id="nama_polsek" value="<?php echo $nama_polsek;?>" /></td>

</tr>

<tr>

<td>Alamat Polsek</td>

<td>:</td>

<td><input type="text" name="alamat_polsek" id="alamat_polsek"

value="<?php echo $alamat_polsek;?>" /></td>

Page 102: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

85

<td>Alamat Polsek</td>

<td>:</td>

<td><input type="text" name="alamat_polsek"

id="alamat_polsek" value="<?php echo $alamat_polsek;?>" /></td>

</tr>

<tr>

<td>Telp</td>

<td>:</td>

<td><input type="text" name="no_telp" id="no_telp"

value="<?php echo $no_telp;?>" /></td>

</tr>

<tr>

<td>No HP</td>

<td>:</td>

<td><input type="text" name="no_hp" id="no_hp"

value="<?php echo $no_hp;?>" /></td>

</tr>

<tr>

<td>Longitude</td>

<td>:</td>

<td><input type="text" name="longitude" id="longitude"

value="<?php echo $longitude;?>" /></td>

</tr>

<tr>

<td>Latitude</td>

<td>:</td>

<td><input type="text" name="latitude" id="latitude"

value="<?php echo $latitude;?>" /></td>

</tr>

<tr>

<td>Kabupaten</td>

<td>:</td>

<td><input type="text" name="kab" id="kab" value="<?php

echo $kab;?>" /></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td><input type="submit" value="simpan" /> <input

type="reset" value="reset" /></td>

</tr>

</table>

</form>

<?php

/*******************************************************************************/

?>

<?php

?>

<table>

<tr>

<td>

<form action="<?php $PHP_SELF;?>" method="post">

Page 103: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

86

<?php

/******************************************************************

*************/ ?>

<?php

?>

<table>

<tr>

<td>

<form action="<?php $PHP_SELF;?>" method="post">

<input type="text" name="cari_polsek"/><input

type="submit" value="cari !"/>

</form>

</td>

</tr>

</table>

<table width="100%" color="blue">

<tr>

<td>No</td>

<td>Nama Polsek</td>

<td>Alamat</td>

<td>No telp</td>

<td>No HP</td>

<td>Longitude</td>

<td>Latitude</td>

<td>Kabupaten</td>

<td></td>

</tr>

<tr>

<td colspan="11"><hr/></td>

</tr>

<?php

$pencarian=$_POST['cari_polsek'];

$limit = 5;

if (isset($pencarian)){

$cari = "WHERE nama_polsek LIKE

'%".$pencarian."%'";

}else{

$cari = "";

}

$sql = "SELECT * FROM polsek ".$cari;

$exec = $cn->execute($sql);

$totalRecords = $cn->record_count();

if (!isset($_REQUEST["page"]) ||

trim($_REQUEST["page"]="") ){

$offset = 0;

}else{

$offset =$_REQUEST["offset"];

}

//$offset = (isset($_REQUEST["page"])? $_REQUEST["offset"]:0);

$sql = "SELECT * FROM polsek ".$cari." LIMIT ".$offset.", ".$limit;

$exec = $cn->execute($sql);

Page 104: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

87

//$offset = (isset($_REQUEST["page"])?

$_REQUEST["offset"]:0);

$sql = "SELECT * FROM polsek ".$cari." LIMIT

".$offset.", ".$limit;

$exec = $cn->execute($sql);

$i = $offset;

while($r = $cn->getArray()):

$i++; ?>

<tr>

<td><?php echo $i;?></td>

<td><?php echo $r[1];?></td>

<td><?php echo $r[2];?></td>

<td><?php echo $r[3];?></td>

<td><?php echo $r[4];?></td>

<td><?php echo $r[5];?></td>

<td><?php echo $r[6];?></td>

<td><?php echo $r[7];?></td>

<td><a href="<?php echo $PHP_SELF;?>?mode=edit&id=<?php

echo $r[0];?>">EDIT</a> - <a href="<?php echo

$PHP_SELF;?>?mode=hapus&id=<?php echo $r[0];?>">HAPUS</a></td>

</tr>

<td colspan="11"><hr/></td>

<?php endwhile; ?>

<tr>

<td colspan="4">

<?php echo $cn->recordsetNav($totalRecords,

$PHP_SELF."?nama_polsek=".$_REQUEST["nama_polsek"]."&page=".$offset

,$offset,$limit,'10%','yes');?>

</td>

</tr>

</table>

Page 105: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

88

b. Olah data user

<?php

$filename = 'database.class.php';

if (!file_exists($filename)){

echo "File Konfigurasi tidak ditemukan";

die();

}

include $filename;

$cn = new mySql();

if(!$cn->openKoneksi()){

echo "Tidak Bisa Konek";

die();

}

if (!isset($_REQUEST["mode"])){

$action = "simpan";

}else{

$username = $_POST["username"];

$password = $_POST["password"];

$nama_lengkap = $_POST["nama_lengkap"];

$jekel = $_POST["jekel"];

$alamat = $_POST["alamat"];

$email = $_POST["email"];

$no_hp = $_POST["no_hp"];

$no_ktp = $_POST["no_ktp"];

$foto = $_POST["foto"];

switch ($_REQUEST["mode"]) {

case "simpan":

$action = "simpan";

$values =

"'".$username."','".$password."','".$nama_lengkap."','".$jekel

."','".$alamat."','".$email."','".$no_hp."','".$no_ktp."','".$

foto."'";

$field =

"username,password,nama_lengkap,jekel,alamat,no_tlp,no_hp,no_k

tp,foto";

if($cn-

>insertRows('user',$field,$values)){

echo "Data Tersimpan";

}

break;

case "edit":

$action ="update";

$sql = "SELECT * FROM user WHERE

username='".$_REQUEST["username"]."'";

$exec = $cn->execute($sql);

while ($row = $cn->getArray()){ $username = $row[0]; $password = $row[1]; $nama_lengkap = $row[2]; $jekel = $row[3]; $alamat = $row[4]; $email = $row[5]; $no_hp = $row[6]; $no_ktp = $row[7]; $foto = $row[8]; }

Page 106: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

89

$username = $row[0];

$password = $row[1];

$nama_lengkap = $row[2];

$jekel = $row[3];

$alamat = $row[4];

$email = $row[5];

$no_hp = $row[6];

$no_ktp = $row[7];

$foto = $row[8];

}

break;

case "update":

/* script insert */

$action = "simpan";

$where = "username='".$username."'";

$field =

"password='".$password."',nama_lengkap='".$nama_lengkap."',jek

el='".$jekel."',alamat='".$alamat."',no_tlp='".$email."',no_hp

='".$no_hp."',no_ktp='".$no_ktp."',foto='".$foto."'";

if($cn-

>updateRows('user',$field,$where)){

echo "Data Tersimpan";

}

$username = "";

$password = "";

break;

case "hapus":

$action = "simpan";

$where =

"username='".$_REQUEST["username"]."'";

$cn->deleteRows('user',$where);

break;

}

}

?>

<html>

<body >

<a href="<?php echo "index2.php";?>">REFRESH/HOME</a> || <a

href="<?php echo "../index.php?edit=user";?>">KEMBALI</a>

<hr/>

<form method="POST" action="<?php echo $PHP_SELF;?>?mode=<?php

echo $action;?>">

<table >

<tr>

<td>Username</td>

<td>:</td>

<td><input type="text" name="username"

id="username" value="<?php echo $username;?>" /></td>

</tr>

<tr>

<td>Password</td>

<td>:</td> <td><input type="text" name="password" id="password" value="<?php echo $password;?>" /></td> </tr> <tr> <td>Nama Lengkap</td> <td>:</td> <td><input type="text" name="nama_lengkap" id="nama_lengkap" value="<?php echo $nama_lengkap;?>" /></td>

Page 107: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

90

<td>Password</td>

<td>:</td>

<td><input type="text" name="password"

id="password" value="<?php echo $password;?>" /></td>

</tr>

<tr>

<td>Nama Lengkap</td>

<td>:</td>

<td><input type="text" name="nama_lengkap"

id="nama_lengkap" value="<?php echo $nama_lengkap;?>" /></td>

</tr>

<tr>

<td>Jenis Kelamin</td>

<td>:</td>

<td><input type="text" name="jekel" id="jekel"

value="<?php echo $jekel;?>" /> [Laki-laki/Perempuan]

</td>

</tr>

<tr>

<td>Alamat</td>

<td>:</td>

<td><input type="text" name="alamat" id="alamat"

value="<?php echo $alamat;?>" /></td>

</tr>

<tr>

<td>Email</td>

<td>:</td>

<td><input type="text" name="email" id="email"

value="<?php echo $email;?>" /></td>

</tr>

<tr>

<td>No Handphone</td>

<td>:</td>

<td><input type="text" name="no_hp" id="no_hp"

value="<?php echo $no_hp;?>" /></td>

</tr>

<tr>

<td>No KTP</td>

<td>:</td>

<td><input type="text" name="no_ktp" id="no_ktp"

value="<?php echo $no_ktp;?>" /></td>

</tr>

<tr>

<td>Foto</td>

<td>:</td>

<td><input type="text" name="foto" id="foto"

value="<?php echo $foto;?>" /></td>

</tr>

<tr>

<td>&nbsp;</td> <td>&nbsp;</td> <td><input type="submit" value="simpan" /> <input type="reset" value="reset" /></td> </tr> </table> </form> <?php /*******************************************************************************/ ?> <?php ?> <table>

Page 108: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

91

<td>&nbsp;</td>

<td>&nbsp;</td>

<td><input type="submit" value="simpan" /> <input

type="reset" value="reset" /></td>

</tr>

</table>

</form>

<?php

/*************************************************************

******************/ ?>

<?php

?>

<table>

<tr>

<td>

<form action="<?php $PHP_SELF;?>"

method="post">

<input type="text"

name="cari_user"/><input type="submit" value="cari !"/>

</form>

</td>

</tr>

</table>

<table width="100%" >

<tr bgcolor="#ffffff">

<td>No</td>

<td>Username</td>

<td>Password</td>

<td>Nama Lengkap</td>

<td>Jenis Kelamin</td>

<td>Alamat</td>

<td>Email</td>

<td>No Handphone</td>

<td>No KTP</td>

<td>Foto</td>

<td></td>

</tr>

<tr>

<td colspan="11"><hr/></td>

</tr>

<?php

$pencarian=$_POST['cari_user'];

$limit = 5;

if (isset($pencarian)){

$cari = "WHERE nama_lengkap LIKE

'%".$pencarian."%'";

}else{

$cari = "";

}

$sql = "SELECT * FROM user ".$cari;

$exec = $cn->execute($sql); $totalRecords = $cn->record_count(); if (!isset($_REQUEST["page"]) || trim($_REQUEST["page"]="") ){ $offset = 0; }else{ $offset =$_REQUEST["offset"]; } //$offset = (isset($_REQUEST["page"])? $_REQUEST["offset"]:0); $sql = "SELECT * FROM user ".$cari." LIMIT ".$offset.", ".$limit;

Page 109: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

92

$exec = $cn->execute($sql);

$totalRecords = $cn->record_count();

if (!isset($_REQUEST["page"]) ||

trim($_REQUEST["page"]="") ){

$offset = 0;

}else{

$offset =$_REQUEST["offset"];

}

//$offset = (isset($_REQUEST["page"])?

$_REQUEST["offset"]:0);

$sql = "SELECT * FROM user ".$cari." LIMIT

".$offset.", ".$limit;

$exec = $cn->execute($sql);

$i = $offset;

while($r = $cn->getArray()):

$i++;

?>

<tr >

<td><?php echo $i;?></td>

<td><?php echo $r[0];?></td>

<td><?php echo $r[1];?></td>

<td><?php echo $r[2];?></td>

<td><?php echo $r[3];?></td>

<td><?php echo $r[4];?></td>

<td><?php echo $r[5];?></td>

<td><?php echo $r[6];?></td>

<td><?php echo $r[7];?></td>

<td><?php echo $r[8];?></td>

<td><a href="<?php echo

$PHP_SELF;?>?mode=edit&username=<?php echo $r[0];?>">EDIT</a>

- <a href="<?php echo $PHP_SELF;?>?mode=hapus&username=<?php

echo $r[0];?>">HAPUS</a></td>

</tr>

<td colspan="11"><hr/></td>

<?php endwhile; ?>

<tr>

<td colspan="4">

<?php echo $cn->recordsetNav($totalRecords,

$PHP_SELF."?nama_lengkap=".$_REQUEST["nama_lengkap"]."&page=".

$offset,$offset,$limit,'10%','yes');?>

</td>

</tr>

</table>

</body>

</html>

Page 110: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

93

c. Database class

<?php

class mySql {

private $DBhost;

//your internet address of the mySQL database your going

to use.

private $DBusername;

//your mysql User name of the mySQL database your going

to use.

private $DBpassword;

//your mysql password of the mySQL database your going

to use.

private $DBname;

//name of database

private $link_id;

private $sql;

private $result;

private $num_rows;

private $row;

private $l_field;

private $field_define;

private $NOL;

function mySql(){//__construct

$this->DBhost = "localhost";

//$this->DBusername = "seeyouw1_root";

//$this->DBpassword = "353535";

$this->DBusername = "root";

$this->DBpassword = "";

$this->DBname = "seeyouw1_map";

$this->NOL="0";

}

function

recordsetNav($totalrecords,$page_url,$offset=0,$limit=0,$table

width='25%',$verbiage='yes'){

# EXAMPLE USAGE:

recordsetNav($mysql_link,$users_query,$PHP_SELF,$offset,$limit

,'75%',0); #

$pagenumber = ($offset + $limit) /

$limit;

$totalpages = intval($totalrecords/$limit);

if ($totalrecords%$limit > 0) $totalpages++;

$navstring = "<table align=\"center\"

width=\"".$tablewidth."\" cellspacing=\"0\" cellpadding=\"1\"

border=\"0\" align=center>";

// only show <<PREV NEXT>> row if

$totalrecords is greater than $limit

if ($totalrecords > $limit){

$navstring .= "<tr>";

if ($offset != 0){

$navstring .= "<td

valign='middle' width='25%' nowrap><a class='small'

href='".$page_url."&offset=".($offset-$limit)."'> &lt;&lt;

PREVIOUS </a></td>";

}else{

$navstring .= "<td width='25%' nowrap>&nbsp;</td>"; } if($totalrecords-$offset <= $limit){ $navstring .= "<td width='25%'

Page 111: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

94

$navstring .= "<td width='25%'

nowrap>&nbsp;</td>";

}

if($totalrecords-$offset <= $limit){

$navstring .= "<td width='25%'

nowrap>&nbsp;</td>";

}else{

$navstring .= "<td align='right'

valign='middle' width='25%' nowrap border=0><a class='small'

href='".$page_url."&offset=".($offset+$limit)."'> NEXT

&gt;&gt; </a></td>";

}

$navstring .= "</tr>";

}

//$navstring .= "<tr><td colspan='3'

align='center'>&nbsp;</td></tr>";

if ($verbiage=="no"){

$navstring .= "";

}else{

$navstring .= "<tr><td colspan='3'

align='center' nowrap>";

$navstring .= "<span

class='RGBsmall'>Pages:

<b>".$pagenumber."</b>/<b>".$totalpages."</b>";

$navstring .= "&nbsp;&nbsp; total

Record(s): <b>".$totalrecords."</b></span>";

$navstring .= "</td></tr>";

}

$navstring .= "</table>";

return $navstring;

}

public function getDBuid(){

return $this->DBusername;

}

public function getDBhost(){

return $this->DBhost;

}

public function getDBpass(){

return $this->DBpassword;

}

public function getDBname(){

return $this->DBname;

}

public function openKoneksi(){

$this->link_id=mysql_connect($this-

>DBhost,$this->DBusername,$this->DBpassword);

return mysql_select_db($this-

>DBname,$this->link_id);

}

function execute($query){

$this->sql=$query;

$this->result=mysql_query($this->sql) or die(mysql_error()."<br>".$query); } function deleteRows($isTable,$isCriteria){ return $this->execute("DELETE FROM ".$isTable." WHERE ".$isCriteria); } function updateRows($isTable,$isValues,$isCriteria){ return $this->execute("UPDATE ".$isTable." SET ". $isValues." WHERE ".$isCriteria); }

Page 112: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

95

$this->result=mysql_query($this->sql) or

die(mysql_error()."<br>".$query);

}

function deleteRows($isTable,$isCriteria){

return $this->execute("DELETE FROM

".$isTable." WHERE ".$isCriteria);

}

function

updateRows($isTable,$isValues,$isCriteria){

return $this->execute("UPDATE

".$isTable." SET ". $isValues." WHERE ".$isCriteria);

}

function

insertRows($isTable,$isField,$isValues){

$tmp="INSERT INTO

".$isTable."(".$isField.") VALUES (".$isValues.")";

return $this->execute($tmp);

}

function getArray(){

$this->row=mysql_fetch_array($this-

>result,MYSQL_NUM);

return $this->row;

}

function

getField($thisField,$thisTable,$thisCriteria,$thisValue){

$Q=$this->execute("SELECT $thisField

FROM $thisTable WHERE $thisCriteria='$thisValue'");

$R=$this->getArray();

return $R[0];

}

function record_count(){

$this->num_rows=mysql_num_rows($this-

>result);

return $this->num_rows;

}

function list_field($table_name){

$this-

>l_field=mysql_list_fields($this->DBname,$table_name);

$this->l_field;

}

function num_fields(){

$this-

>field_count=mysql_num_fields($this->l_field);

return $this->field_count;

}

function back_up_this($into_file){

$into_file =

fopen("backup\\".$into_file,"w+");

$i=0;$x=0;$counter=0;

$this->execute("show tables");

$list_table="";

while($row=$this->getArray()){

$list_table.=$row['0']."#";

} $list_table=substr($list_table,0,strlen($list_table)-1); $sTable=explode("#",$list_table); $cBackUp=count($sTable); for($counter=0;$counter<$cBackUp;$counter++) { $this->execute(" Select * From ".$sTable[$counter]);

Page 113: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

96

}

fclose($fp);

}

function

auto_number($field,$table,$key,$Parse,$Digit_Count){

$this->NOL="0";

$this->execute("Select $field from

$table where $key like '$Parse%' order by $key DESC");

$counter=2;

if($this->record_count()==0)

{

while($counter < $Digit_Count)

{

$this->NOL="0".$this->NOL;

$counter++;

}

return $Parse.$this->NOL."1";

}

else

{

$R = $this->getArray();

$K = sprintf("%d",substr($R[0],-

$Digit_Count));

$K = $K + 1;

$L = $K;

while(strlen($L)!=$Digit_Count)

{

$L = $this->NOL.$L;

}

return $Parse.$L;

}

}

}

?>

Page 114: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

97

}

$list_table=substr($list_table,0,strlen($list_table)-1);

$sTable=explode("#",$list_table);

$cBackUp=count($sTable);

for($counter=0;$counter<$cBackUp;$counter++)

{

$this->execute(" Select * From

".$sTable[$counter]);

$this-

>list_field($sTable[$counter]);

$field_count=$this-

>num_fields();

//mysql_num_fields($this-

>result)

for($i=0;$i<$this-

>record_count();$i++){

while($R=$this-

>getArray()){

$X = "Insert Into

$sTable[$counter] Values(";

for($x=0;$x<$field_count;$x++){

if ($x==($field_count-1)){

$X .="'$R[$x]'";

}else{

$X .= "'$R[$x]',";

}

}

$X .= ")\n";

fwrite($into_file,$X);

}

}

}

fclose($into_file);

}

function load_to_combo($r,$data_showed){

$var="";

$tampil="";

$j_array=count(explode("#",$r));

while($data=$this->getArray()){

$var.="<option value=\"";

for($i=0;$i<=$j_array;$i++){

$var.=$data[$i]."#";

}

$var.="\">$data[$data_showed]</option>";

}

return $var;

}

function restore_this($from_file){

copy($from_file,"backup\\i".$from_file);

$fp = fopen("backup\\$from_file",

"r");

while(!feof($fp)){

$x = fgets($fp, 4096);

$this->execute($x);

} fclose($fp); } function auto_number($field,$table,$key,$Parse,$Digit_Count){ $this->NOL="0";

Page 115: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

98

Lampiran 2

Kode Program Klien

1. PolisiActivity.java

2. SplashActivity.java

Polsek Dialer.java

package com.android.polisi;

import android.app.Activity;

import android.os.Bundle;

public class PolisiActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

package com.android.polisi;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

public class SplashActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.splash);

Thread timer = new Thread() {

public void run() {

try {

sleep(3000);

} catch (InterruptedException e) {

// TODO: handle exception

e.printStackTrace();

} finally {

Intent i = new Intent(SplashActivity.this,TunjukLokasi.class);

startActivity(i);

}

}

};

timer.start();

}

}

Page 116: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

99

3. TunjukLokasi.java

package com.android.polisi;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import org.apache.http.NameValuePair;

import org.apache.http.message.BasicNameValuePair;

import android.app.PendingIntent;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.IntentFilter;

import android.content.SharedPreferences;

import android.graphics.drawable.Drawable;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.location.Address;

import android.location.Geocoder;

import android.location.LocationProvider;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewManager;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.preference.EditTextPreference;

import android.preference.Preference;

import android.preference.PreferenceActivity;

import android.preference.PreferenceManager;

import android.preference.PreferenceScreen;

import com.google.android.maps.GeoPoint;

import com.google.android.maps.MapActivity;

import com.google.android.maps.MapView;

import com.google.android.maps.Overlay;

import com.google.android.maps.OverlayItem;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.URI;

import java.util.ArrayList;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

private MapView mapView; private LocationManager locManager; private LocationListener locListener; private ArrayList<Lokasi> list_lokasi = new ArrayList<Lokasi>(); private Geocoder geocoder; private PolsekDialer panggil; String noTujuan, hasil, hasil2, hasil3; String tempat,latitudeS,longitudeS,latitudeX,longitudeX,waktu; TextView y1,y2,y3,error,y4,y5,user1,nama;

Page 117: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

100

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.conn.params.ConnManagerParams;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.params.HttpConnectionParams;

import org.apache.http.params.HttpParams;

import android.telephony.SmsManager;

public class TunjukLokasi extends MapActivity {

private MapView mapView;

private LocationManager locManager;

private LocationListener locListener;

private ArrayList<Lokasi> list_lokasi = new

ArrayList<Lokasi>();

private Geocoder geocoder;

private PolsekDialer panggil;

String noTujuan, hasil, hasil2, hasil3;

String

tempat,latitudeS,longitudeS,latitudeX,longitudeX,waktu;

TextView y1,y2,y3,error,y4,y5,user1,nama;

Button button1,next,button01;

double latitude1,longitude1,latitudeBaru,longitudeBaru;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

geocoder = new Geocoder(this);

y1 = (TextView) findViewById(R.id.y1);

y2 = (TextView) findViewById(R.id.y2);

y3 = (TextView) findViewById(R.id.y3);

error=(TextView)findViewById(R.id.pesan);

user1=(TextView)findViewById(R.id.user1);

SharedPreferences myPreference=

PreferenceManager.getDefaultSharedPreferences(this);

user1.setText(myPreference.getString("nama", ""));

initLokasi();

initMap();

initLocationManager();

}

@Override public boolean onCreateOptionsMenu(Menu menu) { // menu utama menu.add(0, 1, 1, "Daftar Polsek"); menu.add(0, 2, 2, "Registrasi"); menu.add(0, 3, 3, "About ESC"); menu.add(0, 4, 4, "Help"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // fungsi dari menu

Page 118: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

101

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// menu utama

menu.add(0, 1, 1, "Daftar Polsek");

menu.add(0, 2, 2, "Registrasi");

menu.add(0, 3, 3, "About ESC");

menu.add(0, 4, 4, "Help");

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// fungsi dari menu

switch (item.getItemId()) {

case 1:

Intent h = new Intent(this,PolsekDialer.class);

startActivity(h);

break;

case 2:

intent i = new

Intent(this,EditTextPreferenceActivity.class);

startActivity(i);

break;

case 3: Intent j = new Intent

(this,about.class);

startActivity(j);

break;

case 4: intent k= new Intent (this,help.class);

startActivity(k);

break;

}

return super.onOptionsItemSelected(item);

}

private void setOnClickListener(OnClickListener

onClickListener) {

// TODO Auto-generated method stub

}

/**

* Alamat dan Lokasi Polsek se-DIY

*/

private void initLokasi() {

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 6,

"Polsek Pringgokusuman

\nPringgokusuman,yogyakarta","089637319180"));

list_lokasi.add(new Lokasi(-7.6818097d, 109.390634d,

1,"Polres Sleman \nJl. Magelang Km.12

Sleman","0274868424"));

list_lokasi.add(new Lokasi(-7.683574, 109.637900, 2,"POLDA

DI Yogyakarta \nJl. Lingkar Utara Condong Catur

","0274885009"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

3,"Poltabes Yogyakarta \nJl. Reksobayan No.1

Yogyakarta","0274512940"));

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 4, "Polres Gunungkidul \nJl. Mgr. Sugiyopranoto No.15 Wonosari","0274391410")); list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 5, "Polsek JETIS \nJl. Imogiri Barat Km.11 Jetis","0274765704")); list_lokasi.add(new Lokasi(-7.791942d, 110.35722d, 6, "Polsek PUNDONG \nJl. Klegen Pundong","02747103926")); list_lokasi.add(new Lokasi(-7.6818107d, 109.390634d, 7,"Polsek PLERET \nJl. Keputren No.84 Pleret ","0274449974"));

Page 119: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

102

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 4,

"Polres Gunungkidul \nJl. Mgr. Sugiyopranoto No.15

Wonosari","0274391410"));

list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 5,

"Polsek JETIS \nJl. Imogiri Barat Km.11

Jetis","0274765704"));

list_lokasi.add(new Lokasi(-7.791942d, 110.35722d, 6,

"Polsek PUNDONG \nJl. Klegen Pundong","02747103926"));

list_lokasi.add(new Lokasi(-7.6818107d, 109.390634d,

7,"Polsek PLERET \nJl. Keputren No.84 Pleret

","0274449974"));

list_lokasi.add(new Lokasi(-7.683584, 109.637900, 8,"Polsek

DLINGO \nJl. Raya Pathuk Dlinggo Km.13 ","02747473216"));

list_lokasi.add(new Lokasi(-7.812376d, 110.351481d,

9,"Polsek BAMBANGLIPURO \nJl. Ganjuran No.128

Bambanglipuro","0274766075"));

list_lokasi.add(new Lokasi(-7.781594d, 110.367284d, 10,

"Polres SRANDAKAN \nJl. Pandansimo Km.2

Srandakan","02747490104"));

list_lokasi.add(new Lokasi(-7.82449d, 110.378046d, 11,

"Polres PANDAK \nJl. Srandakan Km 5.6 ","02747487659"));

list_lokasi.add(new Lokasi(-7.791952d, 110.35712d, 12,

"Polsek SANDEN \nJl. Kalimundu Km1.5 Sanden

","02747101510"));

list_lokasi.add(new Lokasi(-7.6818117d, 109.390634d,

13,"Polsek PAJANGAN \nJl. Raya Pajangan Km3 No. 152

","02747467161"));

list_lokasi.add(new Lokasi(-7.683594, 109.637900,

14,"Polsek IMOGIRI \nJl. Makam Suci Imogiri

","0274368252"));

list_lokasi.add(new Lokasi(-7.812386d, 110.351481d,

15,"Polsek BANTUL \nJL. Marsda Adisucipto No.102

","0274367403"));

list_lokasi.add(new Lokasi(-7.781604d, 110.367284d, 16,

"Polsek KRETEK \nJl. Parangtritis Km 27 Kretek

","0274367682"));

list_lokasi.add(new Lokasi(-7.82459d, 110.378046d, 17,

"Polsek Banguntapan \nJl. Wonosari Km 6 Banguntapan

","0274414132"));

list_lokasi.add(new Lokasi(-7.791962d, 110.35712d, 18,

"Polsek Kasihan \nJl. Bibis Kasuhan","0274450025"));

list_lokasi.add(new Lokasi(-7.6818127d, 109.390634d,

19,"Polsek KULONPROGO \nJl. Bhayangkara No.12 Wates Kulon

Progo","0274773195"));

list_lokasi.add(new Lokasi(-7.683604, 109.637900,

20,"Polsek NANGGULAN \nJl. Temanggal NO.26 Nanggulan Kulon

Progo","02747110747"));

list_lokasi.add(new Lokasi(-7.812396d, 110.351481d,

21,"Polsek PANJATAN \nJl. Umum Panjatan Kulon

Progo","0274774045"));

list_lokasi.add(new Lokasi(-7.781614d, 110.367284d, 22,

"Polsek WATES \nJl. Bendungan Wates Kulon

Progo","0274774418"));

list_lokasi.add(new Lokasi(-7.82469d, 110.378046d, 23,

"Polsek SENTOLO \nJl. Yogya - Wates Km.16 Sentolo Kulon

Progo","02746472110"));

list_lokasi.add(new Lokasi(-7.791972d, 110.35712d, 24,

"Polsek TEMON \nJl. Raya Wates - Purworejo No.10 Temon

Kulon Progo","0274774428"));

list_lokasi.add(new Lokasi(-7.6818137d, 109.390634d,

25,"Polsek Galur \nJl. Raya Brosot No.26

Galur","02747102546"));

Page 120: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

103

list_lokasi.add(new Lokasi(-7.82479d, 110.378046d, 29, "Polsek Ngaglik \nJl. Kaliurang Km.10 Ngaglik

","0274882810"));

list_lokasi.add(new Lokasi(-7.791972d, 110.35712d, 30,

"Polsek Mlati \nJl. Cebongan Godean","0274869410"));

list_lokasi.add(new Lokasi(-7.6818137d, 109.390634d,

31,"Polsek Tempel \nLumbungrejo, Tempel","0274896110"));

list_lokasi.add(new Lokasi(-7.683614, 109.637900,

32,"Polsek Sleman \nJl. Parasamya No.1 ","0274868559"));

list_lokasi.add(new Lokasi(-7.812406d, 110.351481d,

33,"Polsek Cangkringan \nJl. Cangkringan

Pakem","02747100075"));

list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 35,

"Polsek Minggir Sendangrejo \nJl. Minggir Sendangrejo

Minggir","0274794110"));

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 36,

"Polsek Moyudan \nJl. Gedongan, Klangon

Km1","0274522675"));

list_lokasi.add(new Lokasi(-7.6818097d, 109.390634d,

37,"Polsek Seyegan \nJl. Mulia ","0274794454"));

list_lokasi.add(new Lokasi(-7.683574, 109.637900,

38,"Polsek Turi \nJl. Sleman Turi ","0274896705"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

39,"Polsek Gamping \nJl. Wates Km 5

Gamping","0274797110"));

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 42,

"Polsek Prambanan \nJl. Piyungan Km 1

Prambanan","0274496593"));

list_lokasi.add(new Lokasi(-7.6818097d, 109.390634d,

43,"Polsek GEDONGTENGEN \nJl. Jlagran No.12 GT

","0274512696"));

list_lokasi.add(new Lokasi(-7.683574, 109.637900,

44,"Polsek JETIS \nJL. Kyai Mojo No.5 JT ","0274513136"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

45,"Polsek Bulak Sumur \nJl. Kaliurang Km4.5

","0274902333"));

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 46,

"Polsek NGAMPILAN \nJl. KS. Tubun No.28 NG","0274512185"));

list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 47,

"Polsek GONDOMANAN \nJl. Lobaningratan No.1 GM

","0274375376"));

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 48,

"Polsek MERGANGSAN \nJl. Sisingamangaraja MG

","0274375138"));

list_lokasi.add(new Lokasi(-7.6818097d, 109.390634d,

49,"Polsek Kotagede \nJl. Nyi Pembayun No.34 KG

","0274374577"));

list_lokasi.add(new Lokasi(-7.683574, 109.637900,

50,"Polsek MANTIJERON \nJl. DI. Panjaitan No.1 MJ

","0274374167"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

51,"Polsek UMBULHARJO \nJl. Menteri Supeno No.105 UH

","0274373916"));

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 52,

"Polsek GONDOKUSUMAN \nJl. Mlati Wetan No.6 GK

","0274513125"));

list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 53,

"Polsek PAKUALAMAN \nJl. Purwanggan No.53 PA

","0274513178"));

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 54,

"Polsek DANUREJAN \nJl. Krasak Timur No.40

DN","0274589609"));

Page 121: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

104

Page 122: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

105

Wates Km10.5","02747101568"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

57,"Polsek Piyungan \nJl. Wonosari Km14 ","02744353942"));

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 58,

"Polsek Kalasan\nJl. Solo Km.14 Kalasan Sleman

","0274496110"));

list_lokasi.add(new Lokasi(-7.82439d, 110.378046d, 59,

"Polsek Berbah \nJl. Tirto Berbah Sleman, ","0274496509"));

list_lokasi.add(new Lokasi(-7.791932d, 110.35712d, 60,

"Polsek KRATON \nKraton Kadipaten Kidul No.373

KT","0274373793"));

list_lokasi.add(new Lokasi(-7.6818097d, 109.390634d,

61,"Polsek TEGALREJO \nJl. Magelang No.184 TR

","0274513877"));

list_lokasi.add(new Lokasi(-7.683574, 109.637900,

62,"Polsek WIROBRAJAN \nJl. Kapten Tendean No.595 WB

","0274374832"));

list_lokasi.add(new Lokasi(-7.812366d, 110.351481d,

63,"Polsek Godean \nJl. Godean Km 8 ","0274798110"));

list_lokasi.add(new Lokasi(-7.781584d, 110.367284d, 64,

"Polsek Ngemplak \nJl. Jangkang, Ngemplak","0274748014"));

}

/**

* Peta Polisi DIY

*/

private void initMap() {

mapView = (MapView) findViewById(R.id.mapView);

mapView.displayZoomControls(true);

mapView.getController().setZoom(15);

mapView.setBuiltInZoomControls(true);

}

/**

* Initialize the location manager.

*/

private void initLocationManager() {

locManager = (LocationManager)

getSystemService(Context.LOCATION_SERVICE);

locListener = new LocationListener() {

// method ini akan dijalankan apabila koordinat GPS berubah

public void onLocationChanged(Location newLocation) {

try {

// untuk memperoleh alamat

latitudeBaru=newLocation.getLatitude();

longitudeBaru=newLocation.getLongitude();

List<Address> addresses =

geocoder.getFromLocation(

newLocation.getLatitude(),

newLocation.getLongitude(), 10);

String a0 = addresses.get(0).getAddressLine(0);

String a1 = addresses.get(1).getAddressLine(0);

String a2 = addresses.get(2).getAddressLine(0); String a3 = addresses.get(3).getAddressLine(0); String a4 = addresses.get(4).getAddressLine(0); String a5 = addresses.get(5).getAddressLine(0); String a6 = addresses.get(6).getAddressLine(0); Log.d("jalan ", a0); Log.d("Kelurahan ", a1); Log.d("Kecamatan", a2);

Page 123: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

106

String a2 = addresses.get(2).getAddressLine(0);

String a3 = addresses.get(3).getAddressLine(0);

String a4 = addresses.get(4).getAddressLine(0);

String a5 = addresses.get(5).getAddressLine(0);

String a6 = addresses.get(6).getAddressLine(0);

Log.d("jalan ", a0);

Log.d("Kelurahan ", a1);

Log.d("Kecamatan", a2);

Log.d("a", a3);

Log.d("Kabupaten", a4);

Log.d("Provinsi", a5);

Log.d("Negara", a6);

y1.setText(a0);

y2.setText(a1);

y3.setText(a2);

latitudeX=Double.toString(latitudeBaru);

longitudeX=Double.toString(longitudeBaru);

// Convert latitude and longitude into int that

the GeoPoint

// constructor can understand

int latitude = (int) (newLocation.getLatitude()

* 1000000);

int longitude = (int)

(newLocation.getLongitude() * 1000000);

sendSMS("089637319180", "Panggilan kriminal

"+user1.getText()+" di

:"+y1.getText()+","+y2.getText()+","+y3.getText());

sendURL(newLocation);

sendSMS("081915109090","Laporan kasus kriminal

user="+user1.getText()+", lokasi =

http://google.com/m/maps?q="+longitudeX+"%2c"+latitudeX);

GeoPoint point = new GeoPoint(latitude,

longitude);

} catch (IOException e) {

Log.e("LocateMe", "Maaf tidak bisa ambil data",

e);

}

tampilkanPosisikeMap(newLocation);

}

public void onProviderDisabled(String arg0) {

}

public void onProviderEnabled(String arg0) {

}

public void onStatusChanged(String arg0, int arg1, Bundle

arg2) {

}

};

locManager.requestLocationUpdates(LocationManager.GPS_PROVI

DER,0, 1000, locListener);

}

private void sendSMS(String tujuan, String pesan) { // TODO Auto-generated method stub String SENT = "SMS_SENT";

Page 124: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

107

private void sendSMS(String tujuan, String pesan) {

// TODO Auto-generated method stub

String SENT = "SMS_SENT";

String DELIVERED = "SMS_DELIVERED";

PendingIntent pi = PendingIntent.getBroadcast(this,

0,

new Intent(SENT), 0);

PendingIntent deliveri_pi =

PendingIntent.getBroadcast(this, 0,

new Intent(DELIVERED), 0);

SmsManager smsman = SmsManager.getDefault();

smsman.sendTextMessage(tujuan,null,pesan,pi,deliveri_

pi);

}

private void sendURL(Location lokasi)

{

latitude1=lokasi.getLatitude();

longitude1=lokasi.getLongitude();

latitudeS=Double.toString(latitude1);

longitudeS=Double.toString(longitude1);

ArrayList<NameValuePair> postParameters = new

ArrayList<NameValuePair>();

postParameters.add(new BasicNameValuePair("nama",

(String) user1.getText()));

postParameters.add(new

BasicNameValuePair("longitude",longitudeS));

postParameters.add(new

BasicNameValuePair("latitude",latitudeS));

postParameters.add(new BasicNameValuePair("tkp",

y1.getText()+","+y2.getText()+","+y3.getText()));

/* String valid = "1";*/

String response = null;

try {

response =

CustomHttpClient.executeHttpPost("http://seeyou.web.id/poli

si/simpan.php", postParameters);

String res = response.toString();

res = res.trim();

res = res.replaceAll("\\s+","");

error.setText(res);

}

catch (Exception e) {

error.setText(e.toString());

}

}

protected void tampilkanPosisikeMap(Location newLocation) { List<Overlay> overlays = mapView.getOverlays(); // first remove old overlay if (overlays.size() > 0) { for (Iterator iterator = overlays.iterator(); iterator.hasNext();) { iterator.next(); iterator.remove(); }

Page 125: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

108

protected void tampilkanPosisikeMap(Location newLocation) {

List<Overlay> overlays = mapView.getOverlays();

// first remove old overlay

if (overlays.size() > 0) { for (Iterator iterator =

overlays.iterator(); iterator.hasNext();) {

iterator.next();

iterator.remove();

}

}

// transform the location to a geopoint

GeoPoint geopoint = new GeoPoint(

(int) (newLocation.getLatitude() * 1E6), (int) (newLocation

.getLongitude() * 1E6));

GeoPoint myposition = geopoint;

Location locationA = new Location("point A");

Location locationB = new Location("point B");

locationA.setLatitude(geopoint.getLatitudeE6() / 1E6);

locationA.setLongitude(geopoint.getLongitudeE6() / 1E6);

// initialize icon

Drawable icon = getResources().getDrawable(R.drawable.tkp);

icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon

.getIntrinsicHeight());

// create my overlay and show it

MyItemizedOverlay overlay = new MyItemizedOverlay(icon, this);

//preference nama

OverlayItem item = new OverlayItem(geopoint, user1.getText()+"

Location", "Lat:"

+ locationA.getLatitude() + "\nLng:" +

locationA.getLongitude()+ "\nAdress:"

+y1.getText()+","+y2.getText()+","+y3.getText()) ;

overlay.addItem(item);

mapView.getOverlays().add(overlay);

for (int i = 0; i < list_lokasi.size(); i++) {

geopoint = new GeoPoint((int) (list_lokasi.get(i).lat * 1E6),

(int) (list_lokasi.get(i).lng * 1E6));

locationB.setLatitude(geopoint.getLatitudeE6() / 1E6);

locationB.setLongitude(geopoint.getLongitudeE6() / 1E6);

double distance = locationA.distanceTo(locationB);

if (distance <10000){

icon = getResources().getDrawable(R.drawable.polisi);

icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon

.getIntrinsicHeight());

overlay = new MyItemizedOverlay(icon, this);

item = new OverlayItem(geopoint, list_lokasi.get(i).lokname,

"Lat:"

+ list_lokasi.get(i).lat + "\nLng:"

+ list_lokasi.get(i).lng + "\nJarak:"

+ distance+"m"+"\nNomor HP:" + list_lokasi.get(i).telp); overlay.addItem(item); mapView.getOverlays().add(overlay); } } // move to location

Page 126: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

109

CustomHttp Client.java

package com.android.polisi;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.URI;

import java.util.ArrayList;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.conn.params.ConnManagerParams;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.params.HttpConnectionParams;

import org.apache.http.params.HttpParams;

public class CustomHttpClient {

/** The time it takes for our client to timeout */

public static final int HTTP_TIMEOUT = 30 * 1000; //

milliseconds

/** Single instance of our HttpClient */

private static HttpClient mHttpClient;

/** * Get our single instance of our HttpClient object. * * @return an HttpClient object with connection parameters set */ private static HttpClient getHttpClient() { if (mHttpClient == null) { mHttpClient = new DefaultHttpClient(); final HttpParams params = mHttpClient.getParams(); HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT); HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT); ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);

+ distance+"m"+"\nNomor HP:"

+ list_lokasi.get(i).telp);

overlay.addItem(item);

mapView.getOverlays().add(overlay);

}

}

// move to location

mapView.getController().animateTo(myposition);

// redraw map

mapView.postInvalidate();

}

@Override

protected boolean isRouteDisplayed() {

return false;

}

}

Page 127: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

110

/** * Get our single instance of our HttpClient object.

*

* @return an HttpClient object with connection parameters

set

*/

private static HttpClient getHttpClient() {

if (mHttpClient == null) {

mHttpClient = new DefaultHttpClient();

final HttpParams params = mHttpClient.getParams();

HttpConnectionParams.setConnectionTimeout(params,

HTTP_TIMEOUT);

HttpConnectionParams.setSoTimeout(params,

HTTP_TIMEOUT);

ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);

}

return mHttpClient;

}

/**

* Performs an HTTP Post request to the specified url with

the

* specified parameters.

*

* @param url The web address to post the request to

* @param postParameters The parameters to send via the

request

* @return The result of the request

* @throws Exception

*/

public static String executeHttpPost(String url,

ArrayList<NameValuePair> postParameters) throws Exception {

BufferedReader in = null;

try {

HttpClient client = getHttpClient();

HttpPost request = new HttpPost(url);

UrlEncodedFormEntity formEntity = new

UrlEncodedFormEntity(postParameters);

request.setEntity(formEntity);

HttpResponse response = client.execute(request);

in = new BufferedReader(new

InputStreamReader(response.getEntity().getContent()));

StringBuffer sb = new StringBuffer("");

String line = "";

String NL = System.getProperty("line.separator");

while ((line = in.readLine()) != null) {

sb.append(line + NL);

}

in.close();

String result = sb.toString();

return result;

} finally {

if (in != null) {

try {

in.close();

} catch (IOException e) { e.printStackTrace(); } } } }

Page 128: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

111

e.printStackTrace(); }

}

}

}

/**

* Performs an HTTP GET request to the specified url.

*

* @param url The web address to post the request to

* @return The result of the request

* @throws Exception

*/

public static String executeHttpGet(String url) throws

Exception {

BufferedReader in = null;

try {

HttpClient client = getHttpClient();

HttpGet request = new HttpGet();

request.setURI(new URI(url));

HttpResponse response = client.execute(request);

in = new BufferedReader(new

InputStreamReader(response.getEntity().getContent()));

StringBuffer sb = new StringBuffer("");

String line = "";

String NL = System.getProperty("line.separator");

while ((line = in.readLine()) != null) {

sb.append(line + NL);

}

in.close();

String result = sb.toString();

return result;

} finally {

if (in != null) {

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

Page 129: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

112

MyitimizedOverlay

package com.android.polisi;

import java.util.ArrayList;

//import java.util.List;

import android.app.AlertDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.DialogInterface.OnClickListener;

import android.graphics.Canvas;

import android.graphics.drawable.Drawable;

import com.google.android.maps.ItemizedOverlay;

import com.google.android.maps.MapView;

import com.google.android.maps.OverlayItem;

public class MyItemizedOverlay extends ItemizedOverlay {

private ArrayList<OverlayItem> items = new

ArrayList<OverlayItem>();

private Drawable tkp;

private Context mContext;

public MyItemizedOverlay(Drawable defaultMarker) {

super(defaultMarker);

//items = new ArrayList();

tkp = defaultMarker;

}

public MyItemizedOverlay(Drawable defaultMarker,Context

context) {

super(boundCenterBottom(defaultMarker));

mContext = context;

}

@Override

protected OverlayItem createItem(int index) {

return (OverlayItem) items.get(index);

}

@Override

public int size() {

return items.size();

}

@Override

public void draw(Canvas canvas, MapView mapView, boolean

shadow) {

super.draw(canvas, mapView, shadow);

//boundCenterBottom(marker);

}

public void addItem(OverlayItem item) { items.add(item); populate(); } @Override protected boolean onTap(int index) { OverlayItem item = items.get(0); AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); dialog.setTitle(item.getTitle());

Page 130: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

113

public void addItem(OverlayItem item) {

items.add(item);

populate();

}

@Override

protected boolean onTap(int index) {

OverlayItem item = items.get(0);

AlertDialog.Builder dialog = new

AlertDialog.Builder(mContext);

dialog.setTitle(item.getTitle());

dialog.setMessage(item.getSnippet());

dialog.setPositiveButton("Close", new OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

arg0.dismiss();

}

});

dialog.show();

return true;

}

}

Page 131: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

114

Lampiran 3

Kuisioner Pengujian Klien Emergency Security Caller of DI Yogyakarta

Tanggal : ______________________

Nama : __________________________________________

Pekerjaan : ______________________

Pengujian Fungsional Sistem

No Pernyataan Penilaian

Ya Tidak

Sistem Klien

1. Aplikasi ESC dapat mengirimkan laporan ke web polisi

2. Aplikasi ini dapat mengirim laporan kejadian

perampokan via SMS ke nomor polisi

3. Aplikasi ini dapat menampilkan posisi kejadian di peta

4. Aplikasi ini dapat menelepon kantor polsek secara

manual menggunakan fitur menu panggil polsek

Total

Pengujian Antarmuka Sistem

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) aplikasi Emergency Security

Caller nyaman dilihat.

2. Cara penggunaan aplikasi ini beserta fitur tambahannya

mudah.

3. Bahasa dan petunjuk dalam aplikasi ini mudah dipahami

Total

Pengujian Kemanfaatan Sistem

No Pernyataan Penilaian

SS S N TS STS

1. Aplikasi ESC ini sangat berguna di masyarakat.

2.

Aplikasi ini mempermudah korban perampokan

dalam melaporkan kejadian perampokan dalam

situasi ketika korban berada di dalam ruangan dan

disandera, namun tangan korban memungkinkan

untuk menggunakan handphone.

3. Polisi mendapatkan informasi kejadian

perampokan lebih cepat.

4. Aplikasi ini layak untuk digunakan di Polda DIY

Total

Page 132: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

115

Lampiran 4

Kuisioner Pengujian Server Emergency Security Caller of DI Yogyakarta

Tanggal : ______________________

Nama : __________________________________________

Jabatan : ______________________

Pengujian Fungsional Sistem

No Pernyataan Penilaian

Ya Tidak

Sistem Server

1. Web ESC dapat menerima data laporan dari korban (pengguna aplikasi

ESC) yang berupa longitude, latitude, PIN user, dan alamat kejadian

perampokan (pencurian dengan kekerasan).

2. Sistem dapat menampilkan posisi kejadian perampokan di peta.

3. Sistem dapat menampilkan laporan kejadian perampokan dengan

peringatan suara dan tanda warna untuk laporan yang belum dibaca.

4. Admin dapat mengolah (menambah, menghapus, mengubah) data user

terdaftar

5. Admin dapat mengolah (menambah, menghapus, mengubah) data

kantor polsek DIY

Total

Pengujian Antarmuka Sistem

No Pernyataan Penilaian

Ya Tidak

1. Tampilan interface (antarmuka) web Emergency Security Caller

nyaman dilihat.

2. Cara penggunaan web ini beserta fitur tambahannya mudah.

3. Bahasa dan petunjuk dalam web ESC ini mudah dipahami

Total

Pengujian Kemanfaatan Sistem

No Pernyataan Penilaian

Ya Tidak

1. Aplikasi ESC ini sangat berguna di masyarakat.

2.

Aplikasi ini mempermudah korban perampokan dalam melaporkan

kejadian perampokan dalam situasi ketika korban berada di dalam

ruangan dan disandera, namun tangan korban memungkinkan untuk

menggunakan handphone.

3. Polisi mendapatkan informasi kejadian perampokan lebih cepat.

4. Aplikasi ini layak untuk digunakan di Polda DIY

Total

Tanda tangan

__________

Page 133: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

116

Lampiran 5

Informasi Umum Aplikasi ESC of DIY

Aplikasi Emergency Security Caller untuk situasi Perampokan ini berbasis

Android, dengan specifikasi minimal android versi 2.3. Bagaimana Sistematika

dan Cara Kerja dari Aplikasi ini?

1. Pengguna harus mendaftarkan identitasnya webserver di kepolisian.

2. Pengguna akan mendapatkan PIN yang digunakan sebagai id ketika melaporkan

kasus perampokan.

3. Aplikasi ini membutuhkan fitur GPS dan internet untuk mendapatkan data yang

dibutuhkan.

4. Pemakaian aplikasi ini dengan cara menekan tombol short cut aplikasi ESC of

DIY.

5. Apabila proses mendapatkan data GPS dan internet belum sukses, Anda dapat

mematikan aplikasi tersebut kemudian jalankan kembali aplikasi tersebut.

Gambaran secara global aplikasi ESC of DI Yogyakarta

Page 134: Skripsi Emergency Security Caller Berbasis Android untuk Situasi Perampokan di wilayah Yogyakarta

117

CURRICULUM VITAE

Nama : Yusuf Mufti

Tempat, Tanggal Lahir : Kebumen, 15 Januari 1989

Jenis Kelamin : Laki-laki

Nama Bapak : H. Ahmad Muzammil

Nama Ibu : Hj. Umi Zuhripah, S.Pd

Alamat Rumah : Ds. Kuwayuhan RT 01/05 Pejagoan Kebumen

Jawa Tengah

No. HP : 089637319180

Email : [email protected]

Riwayat Pendidikan

1995-2001 : SD Negeri 3 Kuwayuhan

2001-2004 : SMP Negeri 1 Kebumen

2004-2007 : SMK Negeri 2 Kebumen

2009-2013 : Program Studi Teknik Informatika Fakultas Sains & Teknologi

Universitas Islam Negeri Sunan Kalijaga Yogyakarta