Pembuatan aplikasi history perjalanan Gps tracker berbasis web pada handphone menggunakan J2ME

(1)

Skripsi

Oleh:

RIKARO RAMADI 105091002886

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(2)

ii SKRIPSI

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh : Rikaro Ramadi 105091002886

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA


(3)

(4)

(5)

v TEJA SUKMANA PhD. dan ARINI MT.

Saat ini Global Positioning System (GPS) merupakan sistem satelit navigasi yang sedang populer dan banyak diaplikasikan di dunia, baik di darat, di laut, di udara, maupun di angkasa. Saat ini, beberapa handphone tertentu sudah di sertai fasilitas Gps. Dengan adanya Gps pada handphone banyak sekali manfaat yang kita dapatkan, salah satunya adalah mengetahui posisi kita saat ini. Pekerjaan yang kita miliki sering kali menyita waktu kita sehingga kita tidak dapat mengawasi keluarga dan anak-anak kita. Diharapkan dengan adanya aplikasi ini kita dapat mengetahui posisi terakhir seseorang jika terjadi penculikan atau hal-hal yang kita tidak inginkan pada keluarga kita. Dengan adanya aplikasi ini kita dapat dengan mudah melacak posisi terakhir seseorang. Skripsi ini bertujuan membuat aplikasi yang mampu melacak keberadaan seseorang dengan memanfaatkan fasilitas Gps yang terdapat pada handphone. Metode yang di gunakan pada skripsi ini adalah model proses extreme programming karena aplikasi yang akan dibuat tidak membutuhkan waktu yang lama. Bahasa pemrogramannnya menggunakan J2ME pada handphone dan ASP.NET/C# pada webnya dengan SQLServer sebagai databasenya. Inti dari skripsi ini yaitu terletak pada data-data latitude dan longitude yang dikirimkan oleh handphone ke server. Data dan informasi yang ditampilkan pada aplikasi ini diharapkan dapat menjawab masalah bagi orang tua untuk mengetahui posisi anak atau keluarganya berada.

Kata kunci : Gps, Hadphone, extreme programming, J2ME, ASP.NET, C#, SQLServer


(6)

vi

1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan memperoleh gelar strata 1 di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan sesuai dengan ketentuan yang berlaku di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau merupakan hasil jiplakan dari karya orang lain, maka saya bersedia menerima sanksi yang berlaku di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Jakarta, November 2011

Rikaro Ramadi 105091002886


(7)

vii

KATA PENGANTAR

Bismillahirrahmanirrahim,

Alhamdulillah, puji syukur penulis panjatkan kepada Allah Subhanahu Wa Ta’ala atas seluruh rahmat dan karunia-Nya yang diberikan kepada penulis sehingga penulis dapat melaksanakan penelitian skripsi ini dan menyelesaikan penulisannya dengan baik. Shalawat serta salam selalu tersampaikan kepada Rasulullah Shalallahu ‘Alaihi Wasallam, keluarganya, sahabatnya, serta pengikutnya yang setia hingga akhir zaman.

Skripsi ini berjudul “Pembuatan Aplikasi History Perjalanan GPS Tracker Berbasis Web Pada Handphone Menggunakan J2ME”, yang disusun untuk memenuhi salah satu syarat dalam menyelesaikan program Strata 1 pada Program Studi Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Harapan bahwa skripsi ini dapat bermanfaat bagi semua pihak yang berkepentingan, merupakan kebahagiaan tersendiri bagi penulis walaupun disadari bahwa “tiada gading yang tak retak” tidak ada sesuatu pun yang sempurna melainkan Allah SWT Sang Maha Penguasa Alam Semesta.

Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih kepada pihak-pihak yang telah mendukung terselesaikannya skripsi ini. Karena tanpa dukungan dari mereka, penulis tidak akan mampu menyelesaikan skripsi ini dengan baik. Mereka yang telah mendukung penulis adalah :


(8)

viii

1. Bapak DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Bapak Yusuf Durrachman, M.Sc, MIT sebagai Ketua Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

3. Ibu Viva Arifin, MMSI sebagai Sekretaris Ketua Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

4. Bapak Husni Teja Sukmana, PhD, selaku dosen pembimbing I yang telah memberi banyak masukan bagi penulis dalam menyelesaikan skripsi ini. 5. Ibu Arini, MT, selaku dosen pembimbing II penulis yang selalu

menyemangati anak didiknya dan juga telah memberikan banyak bantuan bagi penulis dalam menyelesaikan skripsi ini.

6. Ayah dan Ibu tercinta yang selalu mengiringi do’a dalam setiap langkah, juga adik penulis Riska Pianah, yang selalu memberikan semangat kepada penulis untuk terus berkarya dan menjadi orang yang lebih baik di kemudian hari. 7. Anastasia Arifyani, SKM, yang tak henti-hentinya memberikan semangat,

waktu dan do’a untuk menyelesaikan skripsi ini, memberikan motivasi di saat penulis mulai jenuh dengan skripsi ini.

8. Saudara-saudaraku seperjuangan di Teknik Informatika yang sudah menemani penulis dalam menyelesaikan skripsi ini, terutama sahabat-sahabatku semua di TI C angkatan 2005. Terima kasih.


(9)

ix

9. Teman-teman saya di BataviaSoft terimakasih semangat dan sarannya, terutama bapak Ismail Hamzah yang tak bosan-bosannya mendorong saya untuk menyelesaikan skripsi ini.

10.Seluruh Dosen dan staf karyawan Fakultas Sains dan Teknologi, khususnya Program Studi Teknik Informatika, yang telah membimbing penulis selama menuntut ilmu di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

11.Semua pihak yang sudah membantu dan tidak dapat disebutkan satu-persatu. Penulis mengharapkan kritik serta saran yang membangun dari pembaca untuk penulisan laporan yang lebih baik lagi. Kritik dan saran serta pertanyaan dapat disampaikan ke penulis melalui email rikaro.ramadi@gmail.com. Semoga skripsi ini dengan izin Allah SWT dapat bermanfaat bagi semua pembaca. Amin.

Jakarta, November 2011 Penulis


(10)

x

Halaman Judul ... i

Halaman Sampul ... ii

Lembar Pengesahan ... iii

Lembar Persetujuan ... iv

Abstrak ... v

Lembar Pernyataan ... vi

Kata Pengantar ... vii

Daftar Isi ... x

Daftar Tabel ... xiii

Daftar Gambar ... xix

Daftar Lampiran ... xvii

BAB 1 PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Perumusan Permasalah ... 2

1.3 Pembatasan Masalah ... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

1.6 Metodologi Penelitian ... 4

1.6.1 Metodologi Pegumpulan Data ... 4

1.6.2 Metodologi Perancangan Sistem ... 5

1.7 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI 2.1 Pembuatan ... 7

2.2 Aplikasi (Application) ... 7

2.3 GPS Tarcker ... 7

2.3.1 Cara Kerja Pesawat Penerima GPS ... 8


(11)

xi

2.4 Berbasis Web ... 12

2.5 Handphone ... 13

2.6 JAVA2 Micro Edition (J2ME) ... 14

2.7 Google Maps ... 17

2.8 Agile Software Development ... 18

2.9 Extreme Programming Model (XP) ... 20

2.10 Active Server Pages (ASP) ... 22

2.11 .Net ... 22

2.12 C# (C Sharp) ... 23

2.13 SQL SERVER ... 25

BAB 3 METODOLOGI PENELITIAN 3.1 Metode Pengumpulan Data ... 26

3.1.1 Studi Pustaka ... 26

3.1.2 Sudi Literatur ... 26

3.1.3 Wawancara ... 33

3.2 Metode Pengembangan Sistem ... 34

3.2.1 Planning ... 34

3.2.2 Design ... 35

3.2.3 Coding ... 37

3.2.4 Testing ... 37

BAB 4 ANALISI DAN IMPLEMENTASI 4.1 Planning ... 39

4.1.1 Visi Aplikasi ... 39

4.1.2 Fitur Kunci ... 40

4.1.3 Tujuan Aplikasi ... 41

4.1.4 Pengguna Aplikasi ... 41

4.1.5 Informasi Yang Dibutuhkan ... 42

4.1.6 Kebutuhan Aplikasi ... 42


(12)

xii

4.2 Design ... 45

4.2.1 Design CRC Card ... 46

4.2.2 Design GUI ... 50

4.2.3 Design Database ... 59

4.3 Coding ... 63

4.4 Testing ... 64

4.4.1 Black Box Testing... 64

4.4.1.1 Bukti Pengujian Dengan Unit Testing ... 66

4.4.2 Implementation Testing ... 81

4.4.1.1 Bukti Pengujian Implementasi ... 84

4.4.3 Evaluasi Sistem ... 95

BAB 5 PENUTUP 5.1 Kesimpulan ... 97

5.2 Saran ... 98

Daftar Pustaka ... 99


(13)

xiii

Tabel 3.1 Perbandingan Literatur Sejenis ... 28

Tabel 3.2 Perbadingan Literatue Aplikasi Sejenis ... 30

Tabel 4.1 CRC Card Class GetData ... 45

Tabel 4.2 CRC Card Class Maps ... 45

Tabel 4.3 CRC Card Class Register ... 46

Tabel 4.4 CRC Card Class GPS ... 47

Tabel 4.5 CRC Card Class Manager ... 47

Tabel 4.6 Tabel User ... 57

Tabel 4.7 Tabel GpsDevice ... 58

Tabel 4.8 Tabel GpsTracking ... 59

Tabel 4.9 Hasil Pengujian Dengan Unit Testing ... 62


(14)

xiv

Gambar 2.1 Skema GPS Tracker Secara Global ... 11

Gambar 3.1 Tampilan Website Pada Literatur Sejenis ... 32

Gambar 3.2 Tampilan Mobile Pada Literatur Sejenis ... 32

Gambar 3.3 Tampilan Website Pada Aplikasi Yang Akan Dibuat ... 33

Gambar 3.4 Tampilan Mobile Pada Aplikasi Yang Akan Dibuat ... 33

Gambar 4.1 Use Case untuk Aplikasi GPS Tracker ... 45

Gambar 4.2 Rancangan tampilan halaman Registrasi 1 ... 51

Gambar 4.3 Rancangan tampilan halaman Registrasi 2 ... 51

Gambar 4.4 Rancangan tampilan halaman Login Pengguna ... 52

Gambar 4.5 Rancangan tampilan halaman Directions ... 52

Gambar 4.6 Rancangan tampilan halaman Current ... 53

Gambar 4.7 Rancangan tampilan halaman Real Time ... 53

Gambar 4.8 Rancangan tampilan halaman History ... 54

Gambar 4.9 Rancangan tampilan halaman Setting ... 54

Gambar 4.10 Rancangan tampilan halaman Manager ... 55

Gambar 4.11 Rancangan tampilan halaman Home ... 55

Gambar 4.12 Rancangan tampilan halaman Tracker ... 56

Gambar 4.13 Rancangan tampilan halaman Location ... 56

Gambar 4.14 Rancangan tampilan halaman Search ... 57

Gambar 4.15 Rancangan tampilan halaman Weather ... 57

Gambar 4.16 Rancangan tampilan halaman Settings ... 58

Gambar 4.17 Rancangan tampilan halaman Help ... 58

Gambar 4.18 Rancangan tampilan halaman About ... 59

Gambar 4.19 Rancangan Database ... 59

Gambar 4.20 Tampilan Form Registration ... 67

Gambar 4.21 Hasil Pengujian Registration ... 67

Gambar 4.22 Tampilan Form Registration 2 atau GPS ID Generation ... 68

Gambar 4.23 Hasil Pengujian GPS ID Generation ... 68

Gambar 4.24 Hasil Pengujian Login ... 69


(15)

xv

Gambar 4.27 Hasil Pengujian Directions View Maps ... 71

Gambar 4.28 Hasil Pengujian Directions Rute Jalan ... 72

Gambar 4.29 Tampilan Pengujian Current ... 72

Gambar 4.30 Hasil Pengujian Current ... 73

Gambar 4.31 Tampilan Pengujian Realtime ... 74

Gambar 4.32 Hasil Pengujian Realtime ... 74

Gambar 4.33 Tampilan Pengujian History... 75

Gambar 4.34 Hasil Pengujian History ... 76

Gambar 4.35 Tampilan Pengujian Setting ... 76

Gambar 4.36 Hasil Pengujian Setting ... 77

Gambar 4.37 Hasil Pengujian Manager ... 77

Gambar 4.38 Hasil Pengujian Tracker ... 78

Gambar 4.39 Hasil Pengujian Location ... 78

Gambar 4.40 Hasil Pengujian Search ... 79

Gambar 4.41 Hasil Pengujian Weather ... 80

Gambar 4.42 Hasil Pengujian Setting ... 81

Gambar 4.43 Tampilan Form Registration ... 84

Gambar 4.44 Hasil Pengujian Registration ... 84

Gambar 4.45 Tampilan Form Registration 2 atau GPS ID Generation ... 84

Gambar 4.46 Hasil Pengujian GPS ID Generation ... 85

Gambar 4.47 Hasil Pengujian Login ... 85

Gambar 4.48 Tampilan Setelah Login ... 85

Gambar 4.49 Tampilan Pengujian Directions ... 86

Gambar 4.50 Hasil Pengujian Directions View Maps ... 86

Gambar 4.51 Hasil Pengujian Directions Rute Jalan ... 87

Gambar 4.52 Tampilan Pengujian Current ... 87

Gambar 4.53 Hasil Pengujian Current ... 88

Gambar 4.54 Tampilan Pengujian Realtime ... 88

Gambar 4.55 Hasil Pengujian Realtime ... 89


(16)

xvi

Gambar 4.58 Tampilan Pengujian Setting ... 90

Gambar 4.59 Hasil Pengujian Setting ... 90

Gambar 4.60 Hasil Pengujian Manager ... 91

Gambar 4.61 Hasil Pengujian Tracker ... 91

Gambar 4.62 Hasil Pengujian Location ... 92

Gambar 4.63 Hasil Pengujian Search ... 93

Gambar 4.64 Hasil Pengujian Weather ... 94


(17)

xvii

DAFTAR LAMPIRAN

Lampiran I Hasil Wawancara ……… 93 Lampiran II Source Code ……… 96


(18)

BAB I PENDAHULUAN

1.1 Latar Belakang

Saat ini GPS merupakan sistem satelit navigasi yang sedang populer dan banyak diaplikasikan di dunia, baik di darat, laut, udara, maupun di angkasa. Saat ini, banyak handphone telah disertai GPS. Dengan adanya GPS tersebut banyak sekali manfaat yang kita dapatkan. Salah satunya untuk mengetahui lokasi kita berada saat ini. Namun aplikasi GPS bawaan yang terdapat pada handphone cenderung hanya memberikan informasi posisi pemilik dan belum dapat memberikan informasi posisi orang lain yang kita inginkan, sebut saja keluarga kita. Sedangkan pekerjaan yang kita miliki sering kali menyita waktu kita sehingga kita tidak dapat mengawasi keluarga dan anak-anak kita. Aplikasi GPS ini dapat mengetahui posisi terakhir seseorang jika terjadi penculikan dan sebagainya. Dengan demikian kita dapat dengan mudah melacak posisi orang tersebut.

Pada tugas akhir ini penulis membuat aplikasi yang dapat melacak posisi orang lain misalnya keluarga kita yaitu dengan cara melacak posisi handphone yang digunakan. Aplikasi ini lebih murah karena memanfaatkan handphone GPS yang dapat digunakan sebagai alat komunikasi


(19)

dibandingkan dengan GPS Personal yang banyak di tawarkan di internet. Selain itu, aplikasi ini dapat di kembangkan sesuai dengan kebutuhan.

Berdasarkan latar belakang permasalah tersebut, maka penulis menyusun tugas akhir dengan judul “Pembuatan Aplikasi History Perjalanan GPS Tracker Berbasis Web Pada Handphone Menggunakan J2me.

1.2 Perumusan Permasalahan

Berdasarkan latar belakang di atas maka dapat dirumuskan sebagai berikut:

1. Bagaimana membuat aplikasi yang mampu membantu pengguna aplikasi mengetahui posisi dimana dia berada melalui satelit GPS?

2. Bagaimana membuat aplikasi yang mampu menyimpan history perjalanan dan dapat di tampilkan kembali saat di butuhkan?

1.3 Pembatasan Masalah

Berdasarkan masalah di atas maka ruang lingkup penelitian dibatasi pada:

1. Pembuatan aplikasi ini hanya pada aplikasi GPS Tracker dengan memanfaatkan GPS yang terdapat pada handphone.

2. Aplikasi ini bisa digunakan di semua coverage area jaringan GPS dan tidak di dalam ruangan yang terbuat dari beton.


(20)

3. Aplikasi ini hanya mampu mengirim data lokasi melalui handphone dan menampilkannya di handphone atau web browser.

4. Aplikasi yang digunakan adalah aplikasi berbasis web (web-base application) dan java mobile (j2me) dengan memanfaatkan google maps sebagai petanya.

5. Handphone yang di gunakan adalah handphone yang memiliki fitur GPS dan dapat menjalankan aplikasi java, pada penelitian ini penulis menggunakan hanphone Nokia E71 dan Sony Ericesson C702i sebagai testernya.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah:

1. Membuat aplikasi yang mampu menunjukan lokasi dimana pengguna aplikasi berada melalui satelit GPS.

2. Membuat aplikasi yang mampu menyimpan history perjalanan pengguna lalu menampilkan kembali saat di butuhkan.

3. Memonitoring perjalanan pemakai untuk mengetahui penyimpangan rute.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah:

1. Sebagai aplikasi yang membantu user untuk mengetahui lokasi dengan pemanfaatan GPS yang terdapat pada handphone.


(21)

2. Mempermudah user untuk melihat history perjalanan atau tempat-tempat yang pernah dia kunjungi atau dilalui.

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penulisan skripsi ini terdiri dari:

1.6.1 Metodologi Pengumpulan Data

Didalam menyusun skripsi ini, penulis berusaha mendapatkan serta mengumpulkan data yang lengkap guna menyusun karya ilmiah ini. Adapun metode yang penulis gunakan untuk mendapatkan data-data tersebut yaitu:

a. Studi Pustaka

Pengumpulan data dan informasi dengan cara membaca buku-buku dan referensi dari internet yang dapat dijadikan acuan pembahasan dalam penelitian skripsi ini.

b. Studi Literatur

Menggunakan data penelitian yang telah dilakukan sebelumnya yang berkaitan dengan GPS Tracker dan aplikasi yang diperlukan untuk menjalankan GPSTracker. Metode ini dimaksudkan untuk membuat suatu inovasi dari penelitian terdahulu.


(22)

c. Wawancara

Dalam melakukan pengumpulan data, penulis juga melakukan wawancara langsung kepada calon pengguna yang nantinya akan menggunakan aplikasi Gps ini serta untuk mengetahui kebutuhan aplikasi yang di inginkan.

1.6.2 Metodologi Perancangan Sistem

Metode pengembangan sistem yang akan digunakan dalam penelitian ini adalah Agile Software Development dan proses model menggunakan Extreme Programming. Tahapan dari proses model Extreme Programming (Pressman, 2005:110-113), yaitu: Planning - Design - Coding - Testing.

1.7 Sistematika Penulisan

Skripsi ini terdiri dari lima bab yang disusun sedemikian rupa dengan materi pembahasan yang saling berhubungan dengan sistematika sebagai berikut:

BAB I PENDAHULUAN

Dalam Bab ini membahas latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi penelitian, dan sistematika penulisan.


(23)

BAB II LANDASAN TEORI

Dalam bab ini dijelaskan mengenai landasan teori yang relevan dengan permasalahan yang ada. Diantanyanya mengenai GPS Tracker, Hanphone, J2ME, ASP, SQL SERVER, dan beberapa teori pendukung lainnya.

BAB III METODOLOGI PENELITIAN

Dalam Bab ini membahas metodologi penelitian yang digunakan yaitu metodologi pengumpulan data dan metodologi pengembangan sistem. BAB IV HASIL DAN PEMBAHASAN

Dalam Bab ini membahas hasil dan pembahasan berdasarkan penelitian yang telah dilakukan serta sesuai dengan metodologi yang digunakan.

BAB V PENUTUP

Bab ini meliputi kesimpulan dan saran-saran yang penulis angkat berdasarkan pembahasan pada bab-bab sebelumnya.


(24)

BAB II

LANDASAN TEORI

2.1 Pembuatan

Pembuatan berasal dari kata dasar buat yang berarti kerjakan, lakukan, bikin. Sedangkan kata pembuatan berarti proses, cara, perbuatan membuat (Kamus Besar Bahasa Indonesia, 2002: 168).

2.2 Aplikasi (Application)

Pengertian tentang Aplikasi berasal dari bahasa inggris, yaitu “To applicate” yang artinya menerapkan atau terapan. Namun pengertian mengenai aplikasi secara umum adalah suatu paket program yang sudah jadi dan dapat digunakan. Sedangkan arti Aplikasi adalah:

“program komputer yang dibuat untuk menolong manusia dalam melaksanakan tugas tertentu ”. (Nugroho, 2004:56)

2.3 GPS Tracker

Global Positioning System (GPS) adalah satu-satunya sistem navigasi satelit yang berfungsi dengan baik. Sistem ini menggunakan 24 satelit yang mengirimkan sinyal gelombang mikro ke bumi. Sinyal ini diterima oleh alat penerima di permukaan dan digunakan untuk menentukan posisi, kecepatan, arah, dan waktu. Sistem yang serupa dengan GPS antara


(25)

lain GLONASS Rusia, Galileo Uni Eropa, IRNSS India. Sistem ini dikembangkan oleh Departemen Pertahanan Amerika Serikat, dengan nama lengkapnya adalah NAVSTARGPS. Orang-orang sering menyebutkan bahwa NAVSTAR adalah singkatan, namun itu semua salah, NAVSTAR adalah nama yang diberikan oleh John Walsh, seorang penentu kebijakan penting dalam program GPS. Kumpulan satelit ini diurus oleh 50th Space WingAngkatan Udara Amerika Serikat. Biaya perawatan sistem ini sekitar US$750 juta per tahun, termasuk penggantian satelit lama, serta riset dan pengembangan.

GPS Tracker atau sering disebut dengan GPS Tracking adalah teknologi AVL (Automated Vehicle Locater) yang memungkinkan pengguna untuk melacak posisi kendaraan, armada ataupun mobil dalam keadaan Real-Time. GPS Tracking memanfaatkan kombinasi teknologi GSM dan GPS untuk menentukan koordinat sebuah obyek, lalu menerjemahkannya

dalam bentuk peta digital

(http://id.wikipedia.org/wiki/Global_Positioning_System, 2010). 2.3.1 Cara Kerja Pesawat Penerima GPS

Satelit GPS secara umum memancarkan dua macam sinyal gelombang micro yaitu L1 dan L2. L1 dengan frekuensi 1575,42 Mhz yang membawa pesan navigasi dan sinyal kode SPS (Standard Positioning Service). L2 dengan frekuensi 1227.60 Mhz yang digunakan untuk mengukur keterlambatan pada lapisan ionosfir dengan menggunakan penerima PPS (Precise Positioning Service).


(26)

Tiga kode binary digunakan untuk mengeser free sinyal L1 dan L2 yang di transmit oleh sebuah satelit GPS. Ketiga macam kode binary itu adalah sebagai berikut:

1. Modulasi kode C/A (Coarse Acquisition) pada fase LI. Kode C/A ini dikirim secara berulang setiap 1 Mhz PRN (Pseudo Random Noise). Kode C/A PRN ini berbeda untuk setiap satelit GPS yang merupakan identifikasi untuk satelit tersebut. Modulasi kode C/A ini yang digunakan sebagai dasar untuk penggunaan GPS pada masyarakat sipil.

2. Modulasi kode P (Pricise) pada kedua sinyal LI dan L2. Kode P ini sangat panjang sampai 7 hari pada 10 Mhz PRN. Pada penggunaan Anti-Spoofing (AS), kode P ini dienkripsi kedalam kode Y untuk setiap channel penerima dan digunakan untuk keperluan pemakai tertentu saja dengan cryptographic-key. Kode P(Y) ini menjadi dasar penggunaan pada PPS (Precise Positioning Service).

3. Pesan navigasi lainnya juga dimodulasikan dengan kode Ll C/A setiap 50 Mhz, termasuk mengenai orbit satelit, koreksi waktu, dan sistem parameter lainnya.

Pesawat penerima GPS menggunakan sinyal satelit untuk melakukan triangulasi posisi yang hendak ditentukan dengan cara mengukur lama perjalanan waktu sinyal ke satelit, kemudian mengalikannya dengan kecepatan cahaya untuk menentukan secara


(27)

tepat seberapa jauh pesawat penerima GPS dari setiap satelit. Dengan mengunci sinyal yang ditransmit oleh satelit minimum 3 sinyal dari satelit yang berbeda, pesawat penerima GPS dapat menghitung posisi tetap sebuah titik yaitu posisi Lintang dan Bujur bumi (Latitude & Longitude) atau sering disebut dengan 2D fix. Penguncian sinyal satelit yang keempat membuat pesawat penerima GPS dapat menghitung posisi ketinggian.

2.3.2 Arsitektur Sistem Secara Global

Sistem terdiri dari Tracker Devices yaitu alat yang secara periodik atau berdasarkan kondisi tertentu mengirimkan informasi posisinya pada saat itu. Informasi posisi diperoleh dari perhitungan data yang diterima dari satelit GPS yang senantiasa ada setiap saat. Handphone yang digunakan pada penelitian ini adalah Nokia E71 yang telah dilengkapi dengan GPS receiver built in, dan membuat program J2ME sehingga handphone dapat berfungsi sebagai GPS Tracker Device. Kriteria untuk handphone yang dapat digunakan yaitu tipe handphone yang telah dilengkapi dengan GPS receiver built in (with A-GPS support) dan versi JAVA MIDP 2.0.

Sistem GPSTracker secara global dapat digambarkan seperti di bawah.


(28)

Gambar 2.1

Skema GPS Tracker Secara Global

Data posisi tersebut dikirimkan oleh Nokia E71 ke Server GPSTracker melalui internet (disini kita menggunakan HTTP untuk mengirimkan data). Koneksi ke internet dilakukan melalui GPRS yang dimiliki oleh masing-masing operator GSM dan terhubung ke internet.

Di internet kita memiliki GPS Tracker Server yang diletakkan pada server hosting yang akan menampung data yang dikirimkan oleh Nokia E71 pada sebuah database (di sini kita menggunakan SQL SERVER). Server tersebut kita lengkapi dengan aplikasi pemantau (di sini kita buat dengan ASP.NET) sehingga dapat diakses oleh komputer pemantau melalui web browser.

2.3.3 Kelebihan Dan Kekurangan GPS Pada Handphone

Setelah penulis membandingkan antara GPS yang terdapat pada handphone dengan GPS yang terdapat pada kendaraan terdapat


(29)

beberapa kelebihan dan kekurangan masing-masing. Kelebihan GPS yang dimiliki pada handphone adalah dapat di jadikan alat komunikasi dan mudah dibawa kemana-mana. Sedangkan kekurangannya adalah keakuratannya masih kurang baik karena jarak melesetnya mencapai 5 meter sampai 10 meter, sedangkan GPS yang terdapat pada kendaraan bermobil hanya 1 meter sampai 3 meter saja.

2.4 Berbasis Web

World Wide Web (WWW atau singkatnya Web) adalah suatu ruang informasi yang dipakai oleh pengenal global yang disebut Uniform Resource Identifier (URI) untuk mengidentifikasi sumber-sumber daya yang berguna. Sedangkan web based adalah suatu aplikasi yang dapat berjalan sesuai aturan web, diantaranya berjalan hanya pada web browser dan dapat diakses oleh siapa saja asalkan terhubung dengan jaringan.

Hypertext dilihat dengan sebuah program bernama penjelajah web yang mengambil informasi (disebut "dokumen" atau "halaman web") dari server web dan menampilkannya, biasanya disebuah tampilan komputer. Selanjutnya kita dapat mengikuti pranala di setiap halaman untuk pindah ke dokumen lain atau bahkan mengirim informasi kembali kepada peladen untuk berinteraksi dengannya. Ini disebut "surfing" atau "berselancar". Dalam bahasa Indonesia, halaman web biasanya diatur dalam koleksi material yang berkaitan yang disebut "situs web" (http://id.wikipedia.org/wiki/Web, 2010).


(30)

Dalam rekayasa perangkat lunak, suatu aplikasi web (web application atau sering disingkat webapp) adalah suatu aplikasi yang diakses menggunakan browser melalui suatu jaringan seperti internet atau intranet. Ia juga merupakan suatu aplikasi perangkat lunak komputer yang dikodekan dalam bahasa yang didukung penjelajah web (seperti HTML, JAVAScript, AJAX, JAVA, dll) dan bergantung pada penjelajah tersebut untuk menampilkan aplikasi.

Aplikasi web menjadi populer karena mudah dan tersedianya aplikasi klien (browser) untuk mengaksesnya. Terkadang browser disebut sebagai suatu thin client (klien tipis). Kunci popularitasnya adalah kemampuan untuk memperbarui dan memelihara aplikasi web tanpa harus mendistribusikan dan menginstalasi perangkat lunak pada kemungkinan ribuan komputer klien. Aplikasi web yang umum misalnya webmail, took retail online, lelang online, wiki, papan diskusi, weblog, serta MMORPG (http://id.wikipedia.org/wiki/Aplikasi_web, 2010).

2.5 Handphone

Telepon genggam atau sering juga disebut handphone (HP) atau disebut pula sebagai telepon selular (ponsel) adalah perangkat telekomunikasi elektronik yang mempunyai kemampuan dasar yang sama dengan telepon konvensional saluran tetap, namun dapat dibawa kemana-mana (portabel, mobile) dan tidak perlu disambungkan dengan jaringan telepon menggunakan kabel (nirkabel; wireless). Saat ini Indonesia mempunyai dua jaringan telepon nirkabel yaitu sistem GSM (Global System


(31)

for Mobile Telecommunications) dan sistem CDMA (Code Division Multiple Access).

Selain berfungsi untuk melakukan dan menerima panggilan telepon, ponsel umumnya juga mempunyai fungsi pengiriman dan penerimaan pesan singkat (short message service, SMS). Ada pula penyedia jasa telepon genggam di beberapa negara yang menyediakan layanan generasi ketiga (3G) dengan menambahkan jasa videophone, sebagai alat pembayaran, maupun untuk televisionline di telepon genggam mereka. Sekarang, telepon genggam menjadi gadget yang multifungsi. Mengikuti perkembangan teknologi digital, kini ponsel juga dilengkapi dengan berbagai pilihan fitur, seperti bisa menangkap siaran radio dan televisi, perangkat lunak pemutar audio (MP3) dan video, kamera digital, game, dan layanan internet (WAP, GPRS, 3G). Selain fitur-fitur tersebut, ponsel sekarang sudah ditanamkan fitur komputer. Jadi di ponsel tersebut, orang bisa mengubah fungsi ponsel tersebut menjadi mini komputer. Di dunia bisnis, fitur ini sangat membantu bagi para pebisnis untuk melakukan semua pekerjaan di satu tempat dan membuat pekerjaan tersebut diselesaikan dalam waktu yang singkat (http://id.wikipedia.org/wiki/Handphone, 2010).

2.6 JAVA2 Micro Edition (J2ME)

JAVA2 Micro Edition atau (J2ME) adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik berserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi dengan baik pada sebuah perangkat maka belum tentu juga


(32)

berfungsi baik pada perangkat yang lain. J2ME membawa JAVA ke dunia informasi, komunikasi, dan perangkat komputasi yang lebih kecil dibandingkan dengan komputer desktop. J2ME biasa digunakan pada telepon selular, pager, PDA, dan sejenisnya.

Teknologi J2ME juga memiliki beberapa keterbatasan jika diaplikasikan pada ponsel. J2ME sangat bergantung pada device yang digunakan, bisa dari merk ponsel, kemampuan ponsel, ataupun dukungan terhadap teknologi J2ME. Contohnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.

Connected Limeted Device Configuration (CLDC) adalah perangkat dasar dari J2ME, spesifikasi dasar yang berupa library atau API yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager, dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal pada package, class, dan sebagian fungsi JAVA Virtual Machine yang dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat tersebut, JVM yang digunakan adalah KVM (Kilobyte Virtual Machine).

Mobile Information Device Profile (MIDP) adalah spesifikasi untuk sebuah profil J2ME. MIDP memiliki lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antar muka, jaringan, dan pemyimpanan


(33)

persisten. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan pada MIDP 2.0 dibandingkan MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukungan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI).

MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari class JAVAx micro edition midlet. MIDlet yang didefinisikan pada MIDP. MIDlet merupakan sebuah class abstrak yang merupakan subclass dari bentuk dasar aplikasi, sehingga antara aplikasi J2ME dan aplikasi manajemen pada perangkat bisa terbentuk. MIDlet terdiri dari beberapa method yang harus ada, yaitu contructor(), protected void startApp() throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp (Boolean unconditional) throws MIDletStateChangeException.

Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp, kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada startApp. Metode yang ada tersebut diimplementasikan sebagai protected hal ini dimaksudkan agar MIDlet lain tidak dapat memanggil method tersebut. Pada saat pemakai keluar dari MIDlet, maka method destroy app akan dijalankan sebelum MIDlet benar-benar tidak berjalan lagi. Method Notify Destroyed akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, Destroy App akan memanggil Notify Destroyed, dan Notify Destroyed akan memberi tahu platform untuk


(34)

menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet.

J2ME Wireless Toolkit adalah perkakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil. J2ME WTK berbasiskan pada CLDC dan MIDP. J2ME WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan di emulator juga berjalan pada ponsel yang sebenarnya, karena bergantung pada kemampuan dan kapasitas ponsel yang digunakan (M. Shalahuddin Rossa S.A, 2008 hal: 3-9).

2.7 Google Maps

Google Maps merupakan salah satu fasilitas dari Google yang bisa di fungsikan sebagai peta virtual. Fasilitas ini memudahkan Anda dalam pencarian peta di berbagai lokasi yang tersebar di seluruh dunia. Selain itu, Google Maps dapat digunakan untuk mengetahui lokasi pusat bisnis, kantor-kantor pemerintah, sekolah, universitas, tempat bersejarah dan lain sebagainya.

Peta virtual ini memiliki berbagai jenis tampilan yang dapat membantu Anda dalam mempelajari suatu lokasi. Tak hanya itu, Anda bahkan diajak berpetualang melalui satelit untuk melihat tata ruang suatu daerah dengan lebih jelas seolah-olah menyusuri daerah tersebut secara langsung. Anda bisa menyaksikan bentang alam di suatu daerah, seperti


(35)

gunung, sungai, danau, hingga sawah ladang yang menghijau melalui satelit yang di fasilitasi oleh Google Maps.

Google Maps akan sangat bermanfaat untuk membantu siswa-siswa dalam mempelajari ilmu bumi, kartografi, penginderaan jauh, serta sistem informasi geografi dengan cepat dan praktis. Siswa diharapkan dapat mencari dan mengetahui berbagai lokasi penting di atas bumi ini dengan mengklik Google Maps. Selain itu, perjalanan geografi akan semakin menyenangkan jika menggunakan kecangihan Google Maps dalam pemetaan wilayah beserta dengan informasi-informasi tambahan yang diberikan oleh situs tersebut (Jubilee Enterprise, 2010 hal:4).

2.8 Agile Software Development

Kata Agile berarti bersifat cepat, ringan, bebas bergerak dan waspada. Kata Agile diambil dari kata Agility. Menurut Steven Goldman et al., Agility adalah dinamis, konten yang spesifik, perubahan yang agresif, dan berorientasi pada pembangunan. Konsep Agile Software Development dicetuskan oleh Kent Beck dan 16 rekannya. Mereka tergabung dalam Agile Alliance, lalu mereka menandatangani “Manifesto for Agile Software Development” yang isinya:

1. Interaksi dan personel lebih penting dari pada proses dan alat.

2. Software yang berfungsi lebih penting daripada dokumentasi yang lengkap.


(36)

4. Sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana (Presman, 2005 hal 103).

Namun demikian, sama seperti model proses yang lain, Agile Software Development memiliki kelebihan dan tidak cocok untuk semua jenis proyek, produk, orang dan situasi. Agile Software Development memungkinkan proses model yang toleransi terhadap perubahan kebutuhan sehingga perubahan dapat cepat ditanggapi. Namun disisi lain menyebabkan produktifitas menurun.

Menurut Agile Alliance dalam Agile Manifesto (Pre, ada 12 prinsip bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:

1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus.

2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan. 3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai

dua bulan.

4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung.

5. Membangun proyek di lingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukung dan yang dipercaya untuk dapat menyelesaikan proyek.


(37)

6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien.

7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek. 8. Dukungan yang stabil dari sponsor, pengembang, dan pengguna

diperlukan untuk menjaga perkembangan yang berkesinambungan. 9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan

sifat agile.

10.Kesederhanaan adalah penting.

11.Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur dirinya sendiri.

12.Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya (Presman, 2005 hal 105-206).

2.9 Extreme Programming Model (XP)

Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Extreme Programming (XP) adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. Walaupun menggunakan kata programming, XP tidak hanya terfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak.

Menurut Kent Beck, XP ringan, efisien, resiko rendah, mudah disesuaikan, dapat diprediksi, ilmiah dan mudah dikembangkan. Suatu


(38)

model yang menekankan pada keterlibatan user secara langsung, pengujian dan pay-as-you-go design.

Gambar 2.2 Skema Model XP

Sumber: Presman, 2005

Keterangan skema:

1. Planning, pengumpulan user stories dari klien yang klien tetapkan prioritasnya. Setiap story ditetapkan harga dan lama pembangunan, jika terlalu besar, story dapat dipecah menjadi beberapa story yang lebih kecil. Periksa dan pertimbangkan resiko.

2. Design (berprinsip sederhana), memanfaatkan kartu CRC ( Class-Responsibility-Collaborator) untuk identifikasi dan mengatur class-class di konsep Object Oriented. Jika menemui kesulitan, prototype dibangun


(39)

(ini namanya spike solution). Lakukan refactoring, yaitu mengembangkan desain setelah pengkodean.

3. Coding, menyiapkan unit test sebelum pengkodean dipakai sebagai fokus pemrogram untuk membuat program. Pair programming dilakukan untuk real time program solving dan real time quality assurance.

4. Testing, menggunakan unit test yang dipersiapkan sebelum pengkodean. 2.10 Active Server Pages (ASP)

Active Server Pages (ASP) adalah script pemprograman server side yang bersifat Open Application Environment (lingkungan aplikasi terbuka). Teknologi ASP memungkinkan Anda untuk membuat halaman website yang dinamis, interaktif dan atraktif.

ASP bersifat Open Application Environment, maksudnya adalah dengan menggunakan ASP anda dapat menggabungkan kode-kode HTML, file teks, script pemprograman dan komponen ActiveX menjadi satu kesatuan di dalam aplikasi web yang Anda bangun (Wahidin, 2004 hal 1).

2.11 .Net

.Net adalah sebuah teknologi yang diciptakan oleh Microsoft untuk pengembangan program-program yang berorientasi objek. Keistimewaan teknologi ini adalah para developer tidak hanya dapat mengembangkan program-program apalikasi biasa, tetapi juga dapat mengembangkan


(40)

aplikasi-aplikasi internet. Kesimpulannya teknologi .Net ini memungkinkan para developer mengembangkan software yang berupa aplikasi Windows biasa maupun aplikasi internet yang sangat tangguh dan dapat dijalankan di semua jenis hardware dan semua sistem operasi yang memiliki .Net platform. Dulu pra developer VB 6 akan menyertakan runtime VB 6 sewaktu akan mendistribusikan programnya supaya program tetap dapat berjalan pada komputer yang tidak mempunyai VB 6. Hal itu tidak diperlukan lagi pada teknologi .Net karena program akan langsung dapat dijalankan pada komputer yang sudah memiliki .Net framework.

Teknologi .Net menyediakan berbagai macam library, modul-modul yang sangat memanjakan para developer karena dapat mempersingkat waktu pembuatan program. Dan modul-modul serta library yang tersedia di dalam teknologi. .Net ini tidak bergantung pada bahasa pemrograman yang digunakan. (Wahana, 2008 hal 2).

2.12 C# (C Sharp)

C# (C sharp atau see sharp) sering di anggap sebagai bahasa penerus C++ atau versi cangginh dari C++, karena ada anggapan bahwa tanda # adalah paduan dari 4 buah tanda tambah yang di susun sedemikian rupa sehingga membentuk tanda pagar. Akan tetapi terlepas dari benar tidaknya anggapan tersebut, C# adalah sebuah bahasa pemrograman yang sangat menjanjikan. C# adalah sebuah bahasa pemrograman yang berorientasi pada object yang dikembangkan oleh microsoft dan menjadi salah satu bahasa pemrograman yang mendukung .NET programming melalui Visual Studio.


(41)

C# didasarkan pada bahasa pemrograman C++, C# juga memiliki kemiripan dengan beberapa bahasa pemrograman seperti Visual Basic, Java, Delphi, dan tentu saja C++. C# memiliki kemudahan syntax (cara penulisan) sepeti Visual Basic dan tentu saja ketangguhan seperti java dan C++. Kemiripan-kemiripan ini tentunya memudahkan programer dari berbagai latar belakang bahasa pemrograman tidak perlu waktu yang lama untuk mengusainya, karena bagaimanapun juga C# lebih sederhana dibandingkan bahasa-bahasa pemrograman seperti C++ dan java.

C# didesain oleh program designer dari Microsoft, Anders Hajisberg. Sebelum bekerja pada Microsoft, Anders bekerja di Borland, tempat dia menulis Pascal compiler. Sebelum mengembangkan C# Anders pernah mengembangkan j++ untuk Microsoft. Setelah itu Anders mengembangkan C# dan Common Language Runtime yang merupakan mesin virtual dan runtime library yang merupakan salah satu tiang utama teknologi .Net. Anders mengetahui berbagai macam kekurangan pada bahasa C++, Delphi, Java, dan Smaltalk, karena itu Anders menciptakan bahasa C# yang lebih tangguh. Hal ini juga menjelaskan mengapa C# memiliki kemiripan dengan beberapa bahasa tersebut.

C# bergantung pada CLR yang juga merupakan sumber library dari program .Net lain. Semua program C# memerlukan CLR (berarti juga memerlukan .Net Framework) untuk dapat dijalankan. Sama halnya dengan Visual Basic 6 yang memerlukan runtime library tertentu untuk dapat dijalankan. Bahasa C# dapat digunakan untuk menciptakan aplikasi


(42)

Windows, console class yang dapat digunakan kembali, dan aplikasi web. (Wahana, 2008 hal 6-7).

2.13 SQL SERVER

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemprograman JAVA. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003 (http://id.wikipedia.org/wiki/Sql_server, 2010).


(43)

BAB III

METODOLOGI PENELITIAN

3.1 Metode Pengumpulan Data

Untuk mendapatkan bahan-bahan sebagai dasar penelitian, perancangan dan implementasi, dilakukan riset terlebih dahulu seperti yang terdapat dibawah ini:

3.1.1 Studi Pustaka

Pada tahapan ini dilakukan pengumpulan teori-teori yang dibutuhkan sebagai bahan untuk melengkapi penelitian ini. Sumber teori berasal dari jurnal, karya ilmiah, buku-buku ilmu komputer dan buku elektronik yang berstandar. Tahapan ini sudah dilakukan pada Bab II yang berusaha memaparkan teori yang ada secara lengkap dan jelas.

3.1.2 Studi Literatur A. Litelatur Skripsi

Studi literatur merupakan salah satu kegiatan penting dalam melakukan penelitian ilmiah.

Pada penelitian ini penulis menggunakan studi literatur sejenis yang akan digunakan sebagai acuan pembuatan aplikasi untuk membedakan hal-hal yang sudah dilakukan dan menentukan hal-hal yang perlu dilakukan. Literatur sejenis diambil dari dua (2) skripsi


(44)

dan satu (1) tesis dengan judul sebagai berikut:

1. Skripsi dengan judul : “Mobile Surveyor Sebagai Pengembangan Aplikasi Berbasis Lokasi” oleh Permata Nur M.R Institut Teknologi Bandung tahun 2007. Skripsi ini memanfaatkan LBS untuk mensurvey daerah-daerah terpencil di wilayah Indonesia. 2. Skripsi dengan judulu: “Bandung – ITB Guide Aplikasi Berbasis

Layanan Lokasi Menggunakan GPS DenganSistem Client-Server (pada sisi server)” oleh Ahasyweros Sibarani Institut Teknologi Bandung tahun 2009. Skripsi ini memanfaatkan GIS dan GPS untuk mengetahui suatu lokasi atau tempat di daerah bandung. 3. Tesis dengan judul: “Metode Penyatuan Peta Pendaftaran Tanah

dengan Bantuan Citra Quickbird Dan Gps” oleh Agus Indra Murti Institut Teknologi Bandung tahun 2008. Tesis ini bertujuan untuk menyatuan peta-peta menjadi satu peta yang standar bersistem koordinat proyeksi Transverse Mercator 3º (TM-3). Penyatuan ini dengan memanfaatkan perkembangan teknologi GPS, teknologi penginderaan jauh berupa citra satelit beresolusi tinggi QuickBird dan dukungan software pengolahan data.

Dari ketiga literatur sejenis tersebut penulis membandingkannya sebagai berikut:


(45)

Tabel 3.1. Perbandingan Literatur Sejenis

Nama Permata Nur M.R Ahasyweros Sibarani Agus Indra Murti

Judul

Mobile Surveyor Sebagai Pengembangan Aplikasi Berbasis Lokasi (Studi Kasus : Percetakan Paperindo Harsa)

Bandung – ITB Guide Aplikasi Berbasis Layanan Lokasi Menggunakan GPS DenganSistem Client-Server (pada sisi server)

Metode Penyatuan Peta Pendaftaran Tanah dengan Bantuan Citra Quickbird Dan Gps

Kelebihan

- Aplikasi mampu menjangkau daerah-daerah terpencil di Indonesia

- Alat bisa di pasang di sebuah kendaraan

- Dapat mengetahui nama tempat seperti rumah sakit, nama jalan, taman dan sebagainya

- Menyatukan peta-peta sesuai dengan titik koordinatnya sehingga peta yang di hasilnya

mendekati keadaan sebenarnya

Kekurangan

- Untuk konek ke server membutuhkan GPS receiver dan handphone di lengkapi Bluetooth dan wireless LAN - Karena proses untuk

mendapatkaan sebuah koordinat GPS receiver mengirimkan data ke hanphone melalui bluetooth baru ke server

-Keterbatasan pencarian nama tempat karna hanya di daerah bandung saja dan lokasi di input manual karna menggunakan MAPSERVER sebagai peta digitalnya

- Butuh banyak waktu untuk menyatukan peta-peta yang ada sekarang ini.


(46)

ada kemungkinan data tidak sampai

Setelah penulis pelajari terdapat sesuatu yang dapat dikembangkan dari ketiga literature sejenis, yaitu:

1. pengiriman paket data GPS tidak melalui bluetooth melainkan melalui koneksi gprs (internet) sehingga tidak memakan waktu, dengan demikian pengirimin paket data dari GPS dapat dilakukan secara real time.

2. Untuk menampilkan peta memanfaatkan google maps karna mencakup seluruh dunia dan lebih akurat di bandingkan membuat peta sendiri.

3. Mengetahui posisi orang yang ingin di ketahui dengan memanfaatkan GPS.

Hal inilah yang akan penulis lakukan dalam skripsi ini. B. Litelatur Aplikasi Sejenis

Berdasarkan data yang didapat dari situs http://www.google.com, maka penulis mendapatkan beberapa aplikasi sejenis diantaranya :

Google Map GPS Cell Phone Tracker Vendor : Nick


(47)

Lisensi : Open Source Jenis : Front End Hasil Pengamatan:

Google Map GPS Cell Phone Tracker merupakan perangkat lunak yang mampu mengirimkan data gps dari handphone ke server lalu di tampilkan kembali di web browser melalui PC. Namun menurut kami ada beberapa kekurangannya ya itu dari tampilan yang sangat seder hada pada hanphone dan webnya dan fitur-fitur yang di miliki sangat sederhana. Maka dari itu kami mencoba untuk membuat aplikasi yang lebih menarik dari sisi tampilan ataupun fitur-fitur yang lebih kaya lagi, dengan memanfaatkan beberapa source code yang di butuhkan pada aplikasi ini sebagai pondasi aplikasi yang akan di buat sehingga mempercepat dalam pembuatan aplikasi.

Adapun perbandingannya seperti berikut ini : Tabel 3.2. Perbandingan Literatur Aplikasi Sejenis

Aplikasi Literatur Sejeni Aplikasi Yang Akan Dibuat

- Pada aplikasi ini semua orang

bisa melihat lokasi kita sehingga tidak privasi.

- Fitur yang sangat minim pada

website dan mobile, pada

website hanya memiliki fitur delete zoom dan refresh dapat di lihat pada gambar 3.1 dan pada mobile hanya menampilkan text berupa informasi bahwa aplikasi

- Adanya fasilitas login sehingga

hanya pengguna yang dapat melihat lokasi pengguna.

- Kaya akan fitur dan tampilan

yang cukup menarik pada website dan mobile, pada

website pengguna dapat

melakukan registrasi, login, direction (pencarian rute jalan), Location (posisi terakhir saat


(48)

sedang di aktifkan dapat di lihat pada gambar 3.2

gps di aktifkan), realtime

(monitoring gps secara

realtime), history (melhat

perjalanan pengguna

sebelumnya), dan setting

(untuk melakukan CRUD

“Create Read Update Delete”) dapat di lihat pada gambar 3.2,

sedangkan pada mobile

memiliki fitur-fitur menarik

seperti Tracker (untuk

mengirim paket data ke server), Location (untuk mengetahui lokasi pengguna saat ini), Search (untuk mencari lokasi orang lain dengan memasukan

gpsid), Weather (untuk

mengetahui perkiraan cuaca dilokasi pengguna) dan Setting

(untuk menyeting aplikasi

mobile agar di kenali oleh server) dapat di lihat pada gambar 3.4.


(49)

Gambar 3.1

Tampilan Website Pada Literatur Sejenis

Gambar 3.2


(50)

Gambar 3.3

Tampilan Website Pada Aplikasi Yang Akan Dibuat

Gambar 3.4

Tampilan Website Pada Aplikasi Yang Akan Dibuat

3.1.3 Wawancara

Berdasarkan hasil wawancara peneliti terhadap calon pengguna aplikasi, ternyata aplikasi yang akan di buat oleh peneliti cukup dibutuhkan, mengingat aplikasi yang sudah ada sebelumnya masih banyak kekurangan baik dari sisi fitur, keamanan, dan


(51)

kemudahan dalam penggunaan aplikasi. Hasil wawancara dapat dilihat pada lampiran 1.

3.2 Metode Pengembangan Sistem

Metode pengembangan sistem yang akan digunakan yaitu metode yang mengikuti kaidah berbasis objek (object oriented/OO). Pada kasus ini menggunakan Agile Software Development dan proses model menggunakan Extreme Programming (XP). Pemilihan metode ini dikarenakan aplikasi yang akan dibuat tidak terlalu kompleks dan tergolong perangkat lunak kecil dan juga hanya membutuhkan waktu pengerjaan yang singkat.

XP mencakup beberapa aturan dan praktek yang terdiri atas planning, design, coding dan test. Berikut penjelasan dari masing-masing tahapan yang akan dilakukan pada pembuatan aplikasi ini.

3.2.1 Planning

Pada tahapan ini perencanaan terhadap software yang diinginkan mengacu pada user stories. User stories menggambarkan fitur dan fungsi yang dibutuhkan terhadap software tersebut. Ketika semua user stories telah ditentukan, developer akan menentukan lama pengerjaan untuk tiap-tiap user stories.

Adapun beberapa fungsi dan kebutuhan dari aplikasi adalah sebagai berikut:

a. Menentukan visi aplikasi b. Menentukan fitur kunci c. Menentukan tujuan aplikasi


(52)

d. Menentukan pengguna aplikasi

e. Menentukan informasi yang dibutuhkan

f. Mengidentifikasi dan menganalisis kebutuhan aplikasi g. Membuat Use Case sebagai gambaran umum

h. Membuat User Stories sebagai inti perencanaan dari XP 3.2.2 Design

Proses desain pada XP mengikuti prinsip KIS (Keep It Simple). Desain akan berisikan semua implementasi dari stories tanpa ada pengurangan maupun penambahan. Desain yang memiliki fungsi tambahan tidak disarankan.

XP menggunakan CRC (Class-Responsibility-Collaborator) cards untuk mengidentifikasi dan mengorganisasikan kelas berorientasi objek yang berkaitan dengan proses pengembangan software.

Jika terdapat kesulitan untuk melakukan desain terhadap stories, XP menyarankan untuk membuat prototype dari desain tersebut. Hal ini disebut sebagai spike solution, prototype nantinya akan diimplementasikan dan dievaluasi.

XP menyarankan refactoring, sebuah teknik pengembangan yang juga teknik desain. Fowler mendeskripsikan refactoring sebagai berikut:

“Refactoring adalah proses perubahan sebuah system


(53)

eksternal dari kode yang meningkatkan struktur internal. Hal ini adalah cara untuk membersihkan kode dan memodifikasi ataupun menyederhanakan desain internal yang meminimalisasi peluang munculnya bug. Pada dasarnya, ketika melakukan refactor kita meningkatkan desain dari kode setelah tertulis”.

Perubahan desain dapat terjadi walaupun sudah memasuki tahap coding/implementasi. Hal tersebut dilakukan untuk mendapat desain yang baik dan kode yang bersih.

Pada desain, perancangan aplikasi terdiri dari beberapa bagian diantaranya sebagai berikut:

a. Perancangan class yang dibutuhkan dengan CRC

Tujuan tahap ini yaitu mengelompokkan fungsi-fungsi yang ada dalam system dan membaginya kedalam kelas. CRC card juga dibutuhkan sebagai panduan membuat fungsi atau method dalam pengkodean.

b. Perancangan Design GUI

Merancang tampilan secara grafis dengan tujuan untuk memudahkan user dalam menjalankan aplikasi dan dapat dengan mudah memahami informasi yang ditampilkan pada aplikasi tersebut. Dalam tahap ini digunakan prinsip-prinsip dari bidang ilmu Interaksi Manusia dan Komputer seperti pemilihan warna, tata letak, pemilihan jenis huruf, dan lain-lain.


(54)

3.2.3 Coding

Pada tahap ini, proses pengembangan tidak langsung melakukan implementasi terhadap desain yang telah dibuat. Pembuatan unit test untuk tiap-tiap stories yang nantinya akan diimplementasikan. Saat unit test selesai dibuat, pengembang lebih baik fokus terhadap apa yang akan diimplementasikan untuk melewati unit test.

Tahap ini akan mengacu pada desain sebelumnya. Karena pembuatan unit test dilakukan terlebih dahulu. Maka implementasi desain sebaiknya dibuat untuk melewati unit test yang dibuat. Aplikasi akan dibuat menggunakan NetBeans IDE 6.8 dan Visual Studio 2008 sebagai GUI.

3.2.4 Testing

Tahap ini akan menggunakan unit test yang sebelumnya telah dibuat. Karena pembuatan dari unit test adalah pendekatan utama dari XP. Unit test yang dibuat sebaiknya diimplementasikan dengan penggunaan simulator untuk otomatisasi.

Testing akan dilakukan dengan unit test yang sebelumnya telah dibuat. Wireless Toolkit akan digunakan sebagai simulator untuk melakukan testing terhadap aplikasi yang akan di lakukan menggunakan Black box Testing dengan cara Unit Testing, dan setelah itu akan melakukan Implementation Testing dengan cara mencobanya pada handphone yang memiliki fitur gps.


(55)

Bagan 3.1

Ilustrasi Metodologi Penelitian Pembuatan Aplikasi History Perjalanan GPS Tracker Berbasis Web Menggunakan J2ME Pada Handphone

Pengumpulan Data Studi Pustaka dan Studi Literatur

Extreme Programing

 Visi Aplikasi  Fitur Kunci  Tujuan Aplikasi  Pengguna Aplikasi

 Informasi yang ditampilkan  Kebutuhan Aplikasi

Use Cases User Stories

Planning

Design  Perancangan class yang

dibutuhkan dengan CRC  Perancangan Desain GUI  Perancangan Desain Database

Coding

Implementasi planning dan design ke dalam kode pemprograman

Testing Black Box Testing Implementation testing

Penarikan kesimpulan dari sistem Release


(56)

BAB IV

ANALISIS DAN IMPLEMENTASI

Pada bab ini, akan dibahas secara detail dan terperinci mengenai sistem yang akan penulis implementasikan dengan menerapkan metode pengembangan sistem yaitu metode Agile Software Development dengan Extreme Programming (XP) sebagai proses modelnya. Metode ini menekankan suatu pendekatan interaktif dari proses pengembangan perangkat lunak yang dimaksud untuk mengurangi resiko pada aplikasi dan memaksimalkan hasil akhir dari sebuah aplikasi.

Optimalisasi juga dilakukan pada bagian teknologi perangkat lunak pendukung dengan cara menggunakan API (Application Programming Interface) dan Framework open source sehingga penulis bisa lebih fokus pada ide dan konsep bisnis proses. Fokus pada ide dan konsep bisnis proses memberikan ruang lebih banyak pada penulis untuk mencurahkan gagasan-gagasan baru dan kemudian dapat menghasilkan API, module dan teknik-teknik baru sehingga bisa terbebas dari paradigma reinvent the wheel. API dan Framework diperoleh dari www.codeplex.com yang merupakan repository hasil komunitas pengguna teknologi berbasis Microsoft.

Adapun tahapan yang dilakukan mengacu pada bagan 3.1 yang akan dijelaskan sebagai berikut:


(57)

4.1 Planning

Tahapan planning pada XP merupakan tahapan awal dari semua proses pengembangan sistem. Tahapan ini merupakan gabungan dari tahap analisis dan planning pada metode pengembangan klasik. Tahap planning pada agile dibuat sesederhana mungkin agar tidak banyak dokumentasi namun programmer dapat mengerti apa yang harus dikodekan. Pada tahapan planning dapat diketahui gambaran besar dari aplikasi yang hendak di kembangkan dan teknologi-teknologi pendukung yang akan digunakan.

4.1.1 Visi Aplikasi

Gps tracker adalah sebuah system GPS yang akan memberikan Location Based Services (LBS). Antar muka system ini memiliki dua pendekatan teknologi yaitu teknologi berbasis mobile dan teknologi berbasis web yang terintegrasi. Antar muka yang berbasis mobile dapat memberikan informasi latitude dan longitude terkini. Sedangkan antar muka yang berbasis web akan memberikan reporting yang lebih kaya informasi meliputi lokasi terkini, realtime latitude/longitude dan historical tracking dalam rentang waktu tertentu, dimana rentang waktunya dapat ditentukan secara dinamis. Tampilan latitude dan longitude menggunakan aplikasi peta dari google yaitu google maps. Teknologi google dipilih dikarenakan superioritas google dalam teknologi ini dan juga kemudahan penggunaan API yang disediakan oleh google.


(58)

Komunitas pengguna teknologi Microsoft di codeplex telah membuat wrapper pada API google maps sehingga API dapat lebih mudah lagi digunakan terutama oleh aplikasi yang hendak dikembangkan diatas teknologi Microsoft. Kemudahan yang didapat diantaranya adalah merubah paradigma client-side dari google API menjadi paradigma server-side yang akan memberikan kemudahan dalam pengembangan terutama pada saat de-bugging dan koneksi data ke database beck-end. Dengan teknologi update panel dari AJAX maka paradigma server-side bisa terlihat seolah-olah seperti client-side.

4.1.2 Fitur Kunci

Adapun fitur kunci dari aplikasi GPS Tracker yang akan dirancang ini adalah:

1. Sistem yang mudah untuk diinstal dan dioperasikan.

2. Multiplatform dengan penggunaan dua buah antarmuka yaitu mobilebased dan webbased.

3. Low budget, menggunakan teknologi GPRS untuk komunikasi data GPS.

4. Realtime information, data latitude dan longitude langsung dikirim ke database dan selanjutnya bisa langsung ditampilkan.


(59)

5. Interaktif, data latitude dan longitude bisa langsung ditampilkan dan disinkronkan dengan google map.

4.1.3 Tujuan Aplikasi

Tujuan pembuatan sistem ini diantaranya, yaitu: 1. Memberikan data realtime dari latitude dan longitude. 2. Menampilkan history dari latitude dan longitude. 3. Menampilkan manajemen user pengguna.

4. Menyediakan framework untuk pengembangan aplikasi Location Based Services (LBS) lebih lanjut.

4.1.4 Pengguna Aplikasi

Pihak yang akan menggunakan sistem ini, yaitu:

1. Administrator

Administrator adalah pihak pengelola aplikasi webbased dan mobilebased. Fungsi dari administrator untuk melakukan manajemen user dan manajemen GPS.

2. User

User adalah pihak pengguna layanan GPS. User di bagi menjadi dua bagian yaitu:


(60)

a. User Member

User member adalah user yang telah mendaftarkan diri di website gps tracker. User ini memiliki username dan password untuk melakukan login.

b. User Member Aplikasi Handphone

User member aplikasi handphone adalah user yang di daftarkan oleh user member, dimana user ini memiliki id gps sebagai tanda pengenal saat menirimpak paket data ke server.

4.1.5 Informasi Yang Dibutuhkan

Informasi yang akan ditampilkan adalah informasi latitude dan longitude. Informasi lokasi tersebut akan ditampilkan dan disinkronkan dengan google map sebagai map viewernya. Informasi lokasi dapat berupa current location, historical location dan realtime location.

4.1.6 Kebutuhan Aplikasi

Sistem Gpstracker membutuhkan beberapa teknologi pendukung baik dari sisi perangkat keras maupun dari sisi perangkat lunak. Berikut adalah penjelasannya:


(61)

1. Perangkat Keras

a. PC Hardware dengan minimum 512 RAM dan Space minimum 10 GB

b. Handphone dengan chip GPS

2. Perangkat Lunak

a. Microsoft Windows Server 2003/Windows Server 2008 b. Microsoft .NET Framework 2.0 / 3.5 / 4.0

c. Microsoft IIS 6 / IIS 7

d. Microsfoft SQL Server 2005/2008

e. DotNetNuke Web Application Framework f. google map API/ subgurim framework

Perangkat keras dan perangkat lunak yang digunakan oleh penulis dalam mengembangkan aplikasi GPS Tracker ini diperoleh melalui erudeye shared hosting. Erudeye adalah sebuah perusahaan hosting dan cloud computing yang memberikan layanan virtualisasi Microsoft server environment dengan harga terjangkau.

4.1.7 Use Case

Dari analisis kebutuhan di atas dapat kita buat use cases-nya sebagai berikut:


(62)

Gambar 4.1 Use Case untuk Aplikasi GPS Tracker

4.1.8 User Stories

Dari penjabaran analisis pada uses case di atas, penulis dapat menyimpulkan melalui user stories sebagai berikut:

1. User Administrator dan UserKlien dapat login dan logout. 2. User Administrator mempunyai username dan password. 3. User Administrator dapat melakukan managemen user. 4. User Administrator dapat melakukan managemen GPS.


(63)

5. User member mempunyai username, password untuk melalukan login.

6. Usermember dapat melihat currentlatitude dan longitude. 7. Usermember dapat melihat historicallatitude dan longitude. 8. Usermember dapat melihat realtimelatitude dan longitude. 9. Usermember dapat melihat directionslatitude dan longitude. 10.User member aplikasi handphone dapat menyeting gps id pada

handphone.

11.User member aplikasi handphone dapat melakukan tracker pada handphone.

12.User member aplikasi handphone dapat melihat posisi saat ini pada handphone.

13.Usermember aplikasi handphone dapat mencari posisi orang lain pada handphone.

14.User member aplikasi handphone dapat melihat perkiraan cuaca sesuai posisi pada handphone.

4.2 Design

Dalam mendesain aplikasi ini penulis menggunakan pendekatan yaitu membuat class design dan GUI design. Maksudnya adalah untuk


(64)

mempermudah dan mempercepat penyelesaian proses desain. Penulis juga berusaha membuatnya sangat detail supaya pada saat proses pengkodean lebih mudah karena gambaran fungsi-fungsinya sudah jelas.

4.2.1 Design CRC Card

Proses desain pada tahap ini yaitu menggunakan Class Responsibilities, and Collaboration (CRC) card. Penggunaan CRC card hanya dipakai jika pengembangan software berbasis objek. Setiap CRC card akan menjelaskan tiap objek yang dibutuhkan.

Mengacu pada user stories pada tahap planning maka dibuat lima Class diantaranya:

1. Class GetData

Class GetData merupakan inti dari pembuatan aplikasi ini. Di class ini pengguna aplikasi dapat berinteraksi dengan server. Di mana paket data yang di kirimkan melaui handphone akan di olah di dalam Class ini dan akan di simpan kedalam database.

Class ini memiliki fungsi diantaranya menyimpan paket data yang di kirimkan oleh user dan memberikan informasi yang di butuhkan pada handphone user.


(65)

Tabel 4.1

CRC Card Class GetData Class : GetData

Description : Menerangkan interaksi client server

Resposibilities Collaborators

- Menyimpan paket data yang di

kirimpak oleh user

- Memberikan informasi yangdi

butuhkan pada handphone

- GPS

2. Class Maps

Di class ini user dapat melihat data dan informasi yang pernah user kirimkan sebelumnya.

Class ini memiliki fungsi diantaranya melihat posisi terakhir user berada, melihat posisi user secara real time, dan melihat history perjalanan yang telah di lakukan user sebelumnya.

Tabel 4.2

CRC Card Class Maps Class : Maps

Description : Menerangkan view maps

Resposibilities Collaborators

- Menampilkan posisi terakhir

- Melihat data sebelumnya

- Menampilkan maps sesuai

informasi yang di butuhkan


(66)

3. Class Register

Di class ini user pertama kali mendaftarkan dirinya ssebagai member.

Class ini memiliki fungsi diantaranya mengecek aktifnya email yang dikirimkan oleh user, dimana untuk melakukan registrasiuser harus memasukan alamat email yang aktif, setelah itu user akan mendapatkan email konfirmasi berupa link untuk melanjutkan registrasi. Merandom GPSID, pada tahap kedua user di wajibkan mengisi data-data yang diperlukan seperti nama dan password, setelah itu user akan mendapatkan email konfirmasi kedua, dimana di dalam email tersebut terdapat informasi yang user butuhkan seperti username, password, dan GPSID.

Tabel 4.3

CRC Card Class Register Class : Register

Description : Menerangkan pendaftaran

Resposibilities Collaborators

- Menegecek aktif tidakanya

email user

- Merandom GPSID

- Menyimpan data user yang telah

di input

- Mengirim email


(67)

4. Class GPS

Class GPS berfungi untuk koneksi ke dalam database, setiap Class yang membutuhkan koneksi ke database akan melalui Class ini.

Tabel 4.4 CRC Card Class GPS Class : GPS

Description : Menerangkan koneksi ke database

Resposibilities Collaborators

- Sebagai jembatan untuk koneksi

kedatabase

- GetData

- Maps

- Register

- Manager

5. Class Manager

Class ini berfungsi untuk memanage user yang telah terdaftar. Fungsi-fungsi di dalam Class ini diantaranya adalah Create, Read, Update, dan Delete (CRUD).

Tabel 4.5

CRC Card Class Manager Class : Manager

Description : Menerangkan managemen user

Resposibilities Collaborators

- Menampilkan data-data user

yang sudah terdaftar

- Melakukan Create, Read,

Update dan Delete (CRUD)


(68)

4.2.2 Design GUI

Pada tahap ini, keseluruhan perancangan secara grafis aplikasi dilakukan. Dalam merancangnya digunakan prinsip-prinsip dari bidang ilmu Interaksi Manusia dan Komputer. Contohnya dalam hal pemilihan warna, besar huruf, kebiasaan pengguna dan lain sebagainya. Tahap ini dimaksudkan agar waktu pengerjaan lebih singkat dan tidak ada dokumentasi yang sia-sia.

1. Desain halaman Registrasi

Gambar 4.2

Rancangan tampilan halaman Registrasi 1

Gambar 4.3


(69)

2. Desain halaman Login

Gambar 4.4

Rancangan tampilan halaman Login pengguna

3. Desain halaman Directions

Gambar 4.5


(70)

4. Desain halaman Current

Gambar 4.6

Rancangan tampilan halaman Current

5. Desain halaman Real Time

Gambar 4.7


(71)

6. Design halaman History

Gambar 4.8

Rancangan tampilan halaman History

7. Design halaman Setting

Gambar 4.9


(72)

8. Design halaman Manager

Gambar 4.10

Rancangan tampilan halaman Manager

9. Design halaman Home pada Handphone Gambar 4.11


(73)

10.Design halaman Tracker pada Handphone Gambar 4.12

Rancangan tampilan halaman Tracker

11.Design halaman Location pada Handphone Gambar 4.13


(74)

12.Design halaman Search pada Handphone Gambar 4.14

Rancangan tampilan halaman Search

13.Design halaman Weather pada Handphone Gambar 4.15


(1)

if (UserCreateStatus.Success == UserController.CreateUser(ref oUser))

{

CreateRoles(oUser); CreateGpsID(oUser);

ltrInfo.Text = "Silahkan periksa email Anda."; ClearAll();

}

else if (UserCreateStatus.UsernameAlreadyExists == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = String.Format("User Name {0} Already Exists", UName);

}

else if (UserCreateStatus.UsernameAlreadyExists == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = "Username Already Exists"; }

else if (UserCreateStatus.UserRejected == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = "UserRejected"; }

else if (UserCreateStatus.DuplicateEmail == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = "Duplicate Email"; }

else if (UserCreateStatus.DuplicateProviderUserKey == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = "Duplicate Provider User Key"; }

else if (UserCreateStatus.DuplicateUserName == UserController.CreateUser(ref oUser))

{

ltrInfo.Text = "Duplicate User Name"; }

else {

ltrInfo.Text = "Ada Kesalahan"; }

}

catch (Exception ex) {

ltrInfo.Text = ex.ToString(); }

}

private void CreateRoles(UserInfo oUser) {

RoleController rc = new RoleController();

RoleInfo roleinfo = rc.GetRoleByName(PortalId, "GPS"); rc.AddUserRole(PortalId, oUser.UserID, roleinfo.RoleID, DateTime.Now, DateTime.MaxValue);


(2)

private void CreateGpsID(UserInfo oUser) {

int _gpsid = GpsID();

GPS.Entities.GpsDevice _device = new GPS.Entities.GpsDevice { GpsID = _gpsid, UserID = oUser.UserID };

DeviceCtrl = new GPS.Controller.GpsDevicesController(); DeviceCtrl.AddGpsDevice(_device);

SendEmailRegistrasi(_gpsid.ToString()); }

private void ClearAll() {

txtFName.Text = String.Empty; txtFName.Focus();

txtLName.Text = String.Empty; txtDName.Text = String.Empty; txtPassword.Text = String.Empty; }

private string SendEmailRegistrasi(string _gpsid) {

string message = "Terima kasih telah melengkapi data registrasi sebagai berikut<br/>";

message = String.Format("{0}UserName : {1}<br/>", message, Request.QueryString["email"]);

message = String.Format("{0}Password : {1}<br/>", message, txtPassword.Text);

message = String.Format("{0}GpsID : {1}<br/>", message, _gpsid);

message = message + "selanjutnya anda dapat melakukan login dengan username dan password sesuai dengan yang anda daftarkan";

Mailer mail = new Mailer(GetModuleSettings()); string bodyMsg = message;

string[] att = {

Server.MapPath(@"DesktopModules\GPS.Register\Attach\" + "GPSTracker2.0.jar") };

mail.Send(Request.QueryString["email"], att, bodyMsg, true); return message;

}

private static int GpsID() {

int _gpsid = 0;

for (int i = 1; i < 2; i++) {

_gpsid = RandomNumber(100000, 999999);

List<GPS.Entities.GpsDevice> listgpsid = new List<GPS.Entities.GpsDevice>();

gpsidCtrl = new GPS.Controller.GpsDevicesController(); listgpsid = gpsidCtrl.GetGpsDeviceByGpsID(_gpsid);


(3)

if (listgpsid.Count != 0) i=0;

else i=2; }

return _gpsid; }

private static int RandomNumber(int min, int max) {

Random random = new Random(); return random.Next(min, max); }

public Hashtable GetModuleSettings() {

moduleCtrl = new ModuleController();

return moduleCtrl.GetModuleSettings(ModuleId); }

} }

Class GPS

namespace GPS.Controller {

public class GpsDevicesController: Base {

private List<Entities.GpsDevice> Gdevice; public List<Entities.GpsDevice> GpsDevice() {

Gdevice = dataContext.GpsDevices.ToList(); return Gdevice;

}

private Entities.GpsDevice gpsdevice;

public Entities.GpsDevice GetGpsDeviceById(int val) {

gpsdevice = new GPS.Entities.GpsDevice();

gpsdevice = dataContext.GpsDevices.SingleOrDefault(x => x.GpsID == val);

return gpsdevice; }

public List<Entities.GpsDevice> GetGpsDeviceByGpsID(int val) {

return (from k in dataContext.GpsDevices where k.GpsID == val select k).ToList();

}


(4)

{

return (from k in dataContext.GpsDevices where k.UserID == val select k).ToList();

}

public void AddGpsDevice(Entities.GpsDevice val) {

dataContext.GpsDevices.InsertOnSubmit(val); dataContext.SubmitChanges();

}

public void UpdateGpsDevice(Entities.GpsDevice val) {

var data = dataContext.GpsDevices.First(x => x.GpsID == val.GpsID);

data.Imei = val.Imei; data.UserID = val.UserID; dataContext.SubmitChanges(); }

public void DeleteGpsDevice(Entities.GpsDevice val) {

var data = dataContext.GpsDevices.SingleOrDefault(x => x.GpsID == val.GpsID);

dataContext.GpsDevices.DeleteOnSubmit(data); dataContext.SubmitChanges();

} } }

Class Manager

namespace GPS.Manager {

public partial class Default : PortalModuleBase {

private GPS.Controller.GPSUserController GPSUserCtrl;

private GPS.Controller.GpsDevicesController GPSDevicesCtrl; protected void Page_Load(object sender, EventArgs e)

{

getdataradgridEvent(); }

private void getdataradgridEvent() {

GPSUserCtrl = new GPS.Controller.GPSUserController(); var invlist = GPSUserCtrl.GetGPSUser();

RadGridView.DataSource = invlist; RadGridView.DataBind();

}

protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e)


(5)

{

if (e.Exception != null) {

e.KeepInEditMode = true; e.ExceptionHandled = true;

DisplayMessage(true, "Employee " +

e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " cannot be updated. Reason: " + e.Exception.Message);

} else {

DisplayMessage(false, "Employee " +

e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " updated");

} }

protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)

{

if (e.Exception != null) {

e.ExceptionHandled = true; e.KeepInInsertMode = true;

DisplayMessage(true, "Employee cannot be inserted. Reason: " + e.Exception.Message);

} else {

DisplayMessage(false, "Employee inserted"); }

}

protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e)

{

if (e.Exception != null) {

e.ExceptionHandled = true;

DisplayMessage(true, "Employee " +

e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " cannot be deleted. Reason: " + e.Exception.Message);

} else {

DisplayMessage(false, "Employee " +

e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " deleted");

} }

private void DisplayMessage(bool isError, string text) {

this.Label1.Font.Bold = true; this.Label1.Visible = true; if (isError)


(6)

this.Label1.ForeColor = Color.Red; }

else {

this.Label1.ForeColor = Color.Green; }

this.Label1.Text = text; }

protected void RadGrid1_PreRender(object sender, System.EventArgs e) {

if (!this.IsPostBack) {

this.RadGrid1.MasterTableView.Items[1].Edit = true; this.RadGrid1.MasterTableView.Rebind();

} } } }