Page 1
PEMBUATAN APLIKASI HISTORY PERJALANAN GPS TRACKER
BERBASIS WEB
PADA HANDPHONE MENGGUNAKAN J2ME
Skripsi
Oleh:
RIKARO RAMADI
105091002886
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2011
Page 2
ii
PEMBUATAN APLIKASI HISTORY PERJALANAN GPS TRACKER
BERBASIS WEB
PADA HANDPHONE MENGGUNAKAN J2ME
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
2011
Page 5
v
ABSTRAK
RIKARO RAMADI. Pembuatan Aplikasi History Perjalanan Gps Tracker
Berbasis Web Pada Handphone Menggunakan J2ME. Di bimbing oleh: HUSNI
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
Page 6
vi
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa:
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
Page 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 :
Page 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.
Page 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 [email protected] . Semoga skripsi ini
dengan izin Allah SWT dapat bermanfaat bagi semua pembaca. Amin.
Jakarta, November 2011
Penulis
Rikaro Ramadi
Page 10
x
DAFTAR ISI
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
2.3.2 Arsitektur Sistem Secara Global ............................................ 10
Page 11
xi
2.3.3 Kelebihan Dan Kekurangan GPS Pada Handphone .............. 11
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
4.1.7 Use Case ................................................................................. 43
Page 12
xii
4.1.8 User Stories ............................................................................ 44
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
Lampiran ..................................................................................................... 101
Page 13
xiii
DAFTAR TABEL
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
Tabel 4.10 Hasil Pengujian Implementasi .................................................... 79
Page 14
xiv
DAFTAR GAMBAR
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
Gambar 4.25 Tampilan Setelah Login .......................................................... 69
Page 15
xv
Gambar 4.26 Tampilan Pengujian Directions ............................................... 70
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
Gambar 4.56 Tampilan Pengujian History..................................................... 89
Page 16
xvi
Gambar 4.57 Hasil Pengujian History .......................................................... 90
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
Gambar 4.65 Hasil Pengujian Setting ........................................................... 95
Page 17
xvii
DAFTAR LAMPIRAN
Lampiran I Hasil Wawancara ………………………………………… 93
Lampiran II Source Code ……………………………………………… 96
Page 18
1
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
Page 19
2
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.
Page 20
3
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.
Page 21
4
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 GPS Tracker. Metode ini dimaksudkan untuk membuat
suatu inovasi dari penelitian terdahulu.
Page 22
5
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.
Page 23
6
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.
Page 24
7
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
Page 25
8
lain GLONASS Rusia, Galileo Uni Eropa, IRNSS India. Sistem ini
dikembangkan oleh Departemen Pertahanan Amerika Serikat, dengan nama
lengkapnya adalah NAVSTAR GPS. 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 Wing Angkatan
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).
Page 26
9
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 LlC/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
Page 27
10
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 GPS Tracker secara global dapat digambarkan seperti
di bawah.
Page 28
11
Gambar 2.1
Skema GPS Tracker Secara Global
Data posisi tersebut dikirimkan oleh Nokia E71 ke Server
GPS Tracker 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
Page 29
12
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).
Page 30
13
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
Page 31
14
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 televisi online 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
Page 32
15
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
Page 33
16
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
Page 34
17
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
Page 35
18
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.
3. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak.
Page 36
19
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.
Page 37
20
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
Page 38
21
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
Page 39
22
(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
Page 40
23
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.
Page 41
24
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
Page 42
25
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).
Page 43
26
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
Page 44
27
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:
Page 45
28
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.
Page 46
29
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
Website : http://www.websmithing.com
Page 47
30
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
Page 48
31
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.
Page 49
32
Gambar 3.1
Tampilan Website Pada Literatur Sejenis
Gambar 3.2
Tampilan Mobile Pada Literatur Sejenis
Page 50
33
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
Page 51
34
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
Page 52
35
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
software dengan satu cara yang tidak merubah behavior
Page 53
36
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.
Page 54
37
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.
Page 55
38
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
Page 56
39
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:
Page 57
40
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.
Page 58
41
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
mobile based dan web based.
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.
Page 59
42
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 web based dan
mobile based. 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:
Page 60
43
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:
Page 61
44
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:
Page 62
45
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 User Klien 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.
Page 63
46
5. User member mempunyai username, password untuk melalukan
login.
6. User member dapat melihat current latitude dan longitude.
7. User member dapat melihat historical latitude dan longitude.
8. User member dapat melihat realtime latitude dan longitude.
9. User member dapat melihat directions latitude 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. User member 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
Page 64
47
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.
Page 65
48
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
- GPS
Page 66
49
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
registrasi user 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
- GPS
Page 67
50
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)
- GPS
Page 68
51
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
Rancangan tampilan halaman Registrasi 2
Page 69
52
2. Desain halaman Login
Gambar 4.4
Rancangan tampilan halaman Login pengguna
3. Desain halaman Directions
Gambar 4.5
Rancangan tampilan halaman Directions
Page 70
53
4. Desain halaman Current
Gambar 4.6
Rancangan tampilan halaman Current
5. Desain halaman Real Time
Gambar 4.7
Rancangan tampilan halaman Real Time
Page 71
54
6. Design halaman History
Gambar 4.8
Rancangan tampilan halaman History
7. Design halaman Setting
Gambar 4.9
Rancangan tampilan halaman Real Time
Page 72
55
8. Design halaman Manager
Gambar 4.10
Rancangan tampilan halaman Manager
9. Design halaman Home pada Handphone
Gambar 4.11
Rancangan tampilan halaman Home
Page 73
56
10. Design halaman Tracker pada Handphone
Gambar 4.12
Rancangan tampilan halaman Tracker
11. Design halaman Location pada Handphone
Gambar 4.13
Rancangan tampilan halaman Location
Page 74
57
12. Design halaman Search pada Handphone
Gambar 4.14
Rancangan tampilan halaman Search
13. Design halaman Weather pada Handphone
Gambar 4.15
Rancangan tampilan halaman Weather
Page 75
58
14. Design halaman Settings pada Handphone
Gambar 4.16
Rancangan tampilan halaman Settings
15. Design halaman Help pada Handphone
Gambar 4.17
Rancangan tampilan halaman Help
Page 76
59
16. Design halaman About pada Handphone
Gambar 4.18
Rancangan tampilan halaman About
4.2.3 Desain Database
Pada tahap ini, keseluruhan perancangan database aplikasi
dilakukan.
Gambar 4.19
Rancangan Database
Page 77
60
Disini penulis membuat tiga tabel yaitu table User, tabel GpsDevice
dan table GpsTracking untuk penyimpanan datanya. Adapun
rancangan dati ketiga table tersebut adalah:
a. Tabel User
Nama Tabel : User
Keterangan : Berisi data pengguna aplikasi
Primary Key : UserID
Tabel 4.6 Tabel User
Nama Field Tipe Panjang Keterangan
UserID Int - Id pengguna
Username nvarchar 100 Nama pengguna
FirstName nvarchar 50 Nama depan
LastName nvarchar 50 Nama belakang
IsSuperUser Bit - Roles
AffiliateId Int - Penerimaan anggota
Email nvarchar 250 Email pengguna
DisplayName nvarchar 128 Nama yang di
tampilkan
UpdatePassword Bit - Perubahan Password
LastIPAddress nvarchar 50 IP Address saat login
IsDeleted Bit - Status user terhapus
CreatedByUserID Int - User di buat oleh siapa
CreatedOnDate datetime - Tanggal pembuatan
LastModifiedByUserID Int - Di update oleh siapa
LastModifiedOnDate datetime - Tanggal perubahan
Page 78
61
Pada tabel user berfungsi untuk menyimpan informasi data
pengguna aplikasi, di mana pengguna aplikasi harus mendaftarkan
diri di website www.ericeo.net yang penulis telah hosting
sebelumnya. Table ini bermanfaat untuk mendapatkan informasi
dari pengguna aplikasi.
b. Tabel GpsDevice
Nama Tabel : GpsDevice
Keterangan : Berisi data Gps
Primary Key : GpsID
Tabel 4.7 Tabel GpsDevice
Nama Field Tipe Panjang Keterangan
GpsID Int - Id Gps
UserID Int - Id pengguna
Imei nvarchar 20 Imei Handphone
Pada table GpsDevice berfungsi untuk menyimpan data Gps yang
pengguna miliki, di mana setiap pengguna dapat memiliki lebih
dari satu gps, dimana satu gps id memiliki satu imei dari
handphone yang di tanamkan aplikasi gps yang penulis buat.
c. Tabel GpsTracking
Nama Tabel : GpsTracking
Keterangan : Berisi paket data gps
Page 79
62
Primary Key : GpsTrackingID
Tabel 4.8 Tabel GpsTracking
Nama Field Tipe Panjang Keterangan
GpsTrackingID Int - Id Gps Traking
GpsID In - Id Gps
LastUpdate datetime - Waktu penerimaan
data
Latitude decimal - Posisi Latitude Gps
Longitude decimal - Posisi Longitude Gps
Speed Int - Kecepatan Gps
Direction int - Arah dari Gps
Distance int - Jarak tempuh Gps
GpsTime datetime - Waktu pada gps device
Accuracy int - Ketepan Gps
Pada tabel GpsTracking berfungsi untuk menyimpan
semuah data yang di kirimkan oleh aplikasi handphone kedalam
databasenya, di mana paket data akan masuk kedalan database
jika GpsID dan Imei sesuai dengan database, jika tidak sesuai
makan akan di abaikan atau tidak di masukkan kedalam databes,
selain itu tabel ini juga berfungsi untuk menarik data yang di
butuhkan oleh pengguna, sepeti posisi terakhir, realtime
monitoring dan history perjalanan.
Page 80
63
4.3 Coding
Pada tahap ini penulisan kode dilakukan. Tahap ini merupakan
tahapan yang paling utama dari model proses extreme programming. Tahap
ini dapat berulang kali dilakukan sesuai dengan kebutuhan fungsional yang
dapat berubah sewaktu-waktu.
Penulisan kode menggunakan pendekatan teknologi MSF (Microsoft
Solution Framework). Jadi bisa dikatakan bahwa MSF akan mengisi siklus
XP (Extreme Programming). Pendekatan MSF meliputi penggunaan .NET
Framework dan penerapan Application Layering yang umum dilakukan.
OOP (Object Oriented Programming) adalah teknik programming yang
digunakan, karena semua teknologi .NET Framework dikembangkan dengan
menggunakan OOP.
Beberapa fitur OOP yang digunakan adalah konsep class inheritance
dan properties. Dalam pengembangan aplikasi ini penulis membuat sebuah
base class yang akan berbagi properties yang umum digunakan seperti
properties Connection String yang akan berbagi akses ke Connection String.
Connection String adalah sebuah informasi kredensial MSSQL server
sehingga source code dapat membuka koneksi ke database dan kemudian
melakukan operasi CRUD (Create, Retrieve, Update, Delete).
Selain menggunakan .NET Framework sebagai teknologi dasar dari
aplikasi yang penulis kembangkan, penulis juga menggunakan DotNetNuke
yang merupakan sebuah WAF (Web Application Framework). DotNetNuke
Page 81
64
merupakan sebuah framework aplikasi yang sangat popular di kalangan
pengguna teknologi Microsoft. DotNetNuke menggunakan ASP.NET
Framework sebagai basis teknologinya. Model pengembangan aplikasi
menggunakan DotNetNuke web application framework yaitu menggunakan
konsep modular, aplikasi akan dikategorikan berdasarkan modul-modul
dengan fungsionalitas tertentu. Secara programming, module berisi
kumpulan web user control (.ascx) yang akan diload secara dinamis. Kode
program secara keseluruhan dapat dilihat pada lampiran 2.
4.4 Testing
Pada tahap ini dilakukan pengujian masing-masing modul (unit)
program apakah sesuai dengan tugasnya. Pengetesan ini dilakukan dengan
menggunakan metode black box testing yaitu pengetesan menggunakan
metoda pengujian logika program yaitu contoh perkasus atau masalah yang
diajukan. Pada tahap akhir akan diujikan pada kondisi sebenarnya yaitu
dengan implementation testing.
4.4.1 Black Box Testing
Karena kita menggunakan extreme programming sebagai
model prosesnya maka sebenarnya pengujian hanya dilakukan
dengan metode unit testing. Table di bawah merupakan hasil
pengujian dengan unit testing.
Page 82
65
Tabel 4.9
Hasil Pengujian Dengan Unit Testing
No. Modul Prasyarat Hasil yang
diharapkan
Hasil
Pengujian
1. Registration Akun email Link konfirmasi
keabsahan email.
OK
(Gambar 4.20)
dan
(Gambar 4.21)
2. GPS ID
generation
Link konfirmasi Email konfirmasi
yang berisi GPS ID,
username,
password.
OK
(Gambar 4.22)
dan
(Gambar 4.23)
3. Login Username dan
Password
Masuk ke aplikasi OK
(Gambar 4.24)
dan
(Gambar 4.25)
4. Directions Login. Start
Location dan
End Location
Menampilkan rute
perjalanan dari titik
A ke titik B di atas
peta
OK
(Gambar 4.26)
(Gambar 4.27)
dan
(Gambar 4.28)
5. Current Login. Google maps
menampilkan
informasi lokasi
terkini.
OK
(Gambar 4.29)
dan
(Gambar 4.30)
6. Realtime Login. Google maps
menampilkan
pergerakan lokasi
secara real time.
OK
(Gambar 4.31)
dan
(Gambar 4.32)
7. History Login. Data
latitude dan
longitude untuk
interval waktu
tertentu
Muncul path di
google map untuk
data interval waktu
tertentu.
OK
(Gambar 4.33)
dan
(Gambar 4.34)
8. Setting Login Memanage GPS ID OK
(Gambar 4.35)
dan
Page 83
66
(Gambar 4.36)
9. Manager Login Memanage user OK
(Gambar 4.37)
10. Tracker GPS ID. Data
latitude dan
longitude untuk
interval waktu
tertentu
Mengirim paket
data lokasi dari
handphone ke
server
OK
(Gambar 4.38)
11. Location GPS ID. Data
latitude dan
longitude
Menampilkan
informasi lokasi
saat ini
OK
(Gambar 4.39)
12. Search GPS ID Menampilkan
informasi lokasi
posisi orang yang
kita inginkan
OK
(Gambar 4.40)
13. Weather GPS ID Menampilkan Infor
masi cuaca
berdasarkan lokasi
OK
(Gambar 4.41)
14. Setting GPS ID Menyimpan
informasi GPS ID
dan interval
OK
(Gambar 4.42)
Dari hasil pengujian di atas hampir semua modul dapat
berjalan sesuai apa yang diharapkan.
4.4.1.1 Bukti Pengujian Dengan Unit Testing
1. Registration
Untuk melakukan pendaftaran/registrasi klik tombol
registrasi pada pojok kanan atas makan akan muncul
seperti gambar di bawah ini.
Page 84
67
Gambar 4.20
Tampilan Form Registration
Lalu masukan Email anda kedalam textbox Email
Address dan Confirm Email untuk memastikan email
yang anda masukan benar dan sama, setelah itu klik
tombol register. Sekarang buka email anda, anda akan
mendapatkan sebuah email konfirmasi yang berisikan link
untuk melanjutkan pendaftaran seperti gambar di bawah
ini.
Gambar 4.21
Hasil pengujian Registration
2. GPS ID generation
Setelah mendapatkan email konfirmasi pertama klik yang
terdapat pada email tersebut lalu akan muncul seperti
gambar di bawah ini.
Page 85
68
Gambar 4.22
Tampilan Form Registration 2 atau GPS ID generation
Lalu masukan informasi yang di butuhkan seperti Frist
Name, Last Name, Display Name dan Password. Setelah
itu klik tombol register. Sekarang buka email anda lagi,
anda akan mendapatkan sebuah email yang berisikan
Username, Password, GPS ID dan sebuah aplikasi untuk
handphone yang dapat anda download dan install di
hanphone anda.
Gambar 4.23
Hasil pengujian GPS ID generation
3. Login
Pada tahap ini pastikan anda sudah mendaftarkan diri
terlebih dahulu, setelah anda melalui proses pendaftaran
anda dapat melakukan login dengan username dan
Page 86
69
password yang terdapat pada email anda. Masukan
username dan password anda lalu klik tombol login
seperti gambar di bawah ini.
Gambar 4.24
Hasil pengujian Login
Setelah login berhasil anda akan menuju halaman
directions seperti gambar di bawah ini.
Gambar 4.25
Tampilan Setelah Login
Page 87
70
4. Directions
Pada menu Directions anda dapat mengetahui rute jalan,
misalkan anda ingin mengetahui rute jalan dati ciputat ke
depok, anda cukup memauskan Start Locacion dengan
ciputat dan End Location dengan depok, seperti gambar
di bawah ini.
Gambar 4.26
Tampilan Pengujian Directions
Setelah itu anda klik tombol go untuk mengetahui
rutenya, seperti terlihat pada gambar di bawah ini.
Page 88
71
Gambar 4.27
Hasil pengujian Directions view maps
Pada gambar di atas terlihat rute perjalanan dari ciputat
dengan icon hijau berhurupkan “A” dan depok dengan
icon hijau berhurupkan “B” membentuk sebuah garis
dengan warna biru. Selain itu kita dapat mengetahui nama
jalan yang kita lalui, kapan harus belok kiri dan kapan
harus belok kanan seperti gambar di bawah ini.
Page 89
72
Gambar 4.28
Hasil pengujian Directions rute jalan
2. Current
Pada menu Current anda dapat mengetahui posisi terakhir
seseorang dengan GPS ID orang tersebut, pilih GPS ID
yang akan di cari seperti gambari si bawah ini.
Gambar 4.29
Tampilan Pengujian Current
Page 90
73
Setelah memilih GPS ID yang akan anda cari lalu klik
GO! Untuk melakukan pencarian, dan hasilnya seperti
gambar di bawah ini.
Gambar 4.30
Hasil pengujian Current
Dari gambar di atas dapat kita ketahui bahwa GPS ID
10000 terakir aktif pada tanggal 10 juni 2010 jam 4:27:12
PM di jalan Tulung Agung.
3. Realtime
Pada menu Realtime anda dapat mengetahui posisi
seseorang sekaligus melihat pergerakan secara realtime.
Pilih GPS ID yang ingin anda pantau secara realtime
seperti gambar di bawah ini.
Page 91
74
Gambar 4.31
Tampilan Pengujian Realtime
Setelah memilih GPS ID yang akan anda pantau lalu klik
GO! Untuk melakukan pemantauan, dan hasilnya seperti
gambar di bawah ini.
Gambar 4.32
Hasil pengujian Realtime
Page 92
75
4. History
Pada menu history anda dapat nengetahui history
perjalanan seseorang. Pilih GPS ID yang ingin anda
ketahui history perjalanannya lalu masukkan tanggal yang
ingin anda ketahui sepeti gambar di bawah ini.
Gambar 4.33
Tampilan Pengujian History
Setelah itu klik tombol Tracking, maka akan muncul
history perjalannyanya seperti gambar di bawah ini.
Page 93
76
Gambar 4.34
Hasil pengujian History
5. Setting
Pada menu Setting anda dapat merubah settingan imei
yang di sesuaikan dengan gpsid dan dapat menambahkan
atau menghaspusnya, seperti gambar di bawah ini.
Gambar 4.35
Tampilan Pengujian Setting
Di bawah ini adalah tampilan saat melakukan pengeditan
Page 94
77
Gambar 4.36
Hasil Pengujian Setting
6. Manager
Pada menu Manager anda dapat merubah menambah atau
menghapus data user tampilannya dapat di lihat sepeti
gambar di bawah ini
Gambar 4.37
Hasil pengujian Manager
7. Tracker
Pada menu Tracker akan menampilkan latitude dan
longitude posisi ada berada sepeti gambar di bawah ini
Page 95
78
Gambar 4.38
Hasil pengujian Tracker
8. Location
Pada menu Location akan menampilkan informasi lokasi
anda saat ini sepeti gambar di bawah ini
Gambar 4.39
Hasil pengujian Location
Page 96
79
9. Search
Pada menu Search akan menampilkan informasi gpsid
yang ingin ada ketahui dengan memasukan gpsid yang
akan di cari lalu ckick menu search sepeti gambar di
bawah ini.
Gambar 4.40
Hasil pengujian Search
10. Weather
Pada menu Weather akan menampilkan informasi
perkiraan cuaca sesuai lokasi anda saat ini sepeti gambar
di bawah ini.
Page 97
80
Gambar 4.41
Hasil pengujian Weather
11. Setting
Pada menu Setting akan menampilkan informasi settingan
seperti gpsid ineterval pengiriman paket data ke server
dan imei handphone, disini anda harus menyeting gpsid
sesuai imei yang telah di daftarkan di website sepeti
gambar di bawah ini.
Page 98
81
Gambar 4.42
Hasil pengujian Setting
4.4.2 Implementation Testing
Pada tahap ini aplikasi akan diuji pada keadaan sebenarnya
yaitu kondisi pada saat sistem sudah berjalan. Server yang digunakan
adalah server dari perusahaan shared hosting erudeye.
Alat-alat yang digunakan pada pengujian ini diantaranya:
1. Satu buah netbook dan Modem 3G/HSDP dengan Indosat sebagai
providernya.
2. Sebuah handphone Nokia E71
3. Database dan Server Receiver
a. Memori 4 GB
Page 99
82
b. Sistem Operasi Windows Server 2008 R2
c. Database Server MSSQL 2008
d. .NET Framework 2.0 / 3.5 / 4.0
4. Komputer klien yang digunakan yaitu sebuah Laptop merk Sony
Vaio dengan system operasi Windows 7 Ultimate
Tabel 4.10
Hasil Pengujian Implementasi
No. Modul Prasyarat Hasil yang
diharapkan
Hasil
Pengujian
1. Registration Akun email Link konfirmasi
keabsahan email.
OK
(Gambar 4.43)
dan
(Gambar 4.44)
2. GPS ID
generation
Link konfirmasi Email konfirmasi
yang berisi GPS ID,
username,
password.
OK
(Gambar 4.45)
dan
(Gambar 4.46)
3. Login Username dan
Password
Masuk ke aplikasi OK
(Gambar 4.47)
dan
(Gambar 4.48)
4. Directions Login. Start
Location dan
End Location
Menampilkan rute
perjalanan dari titik
A ke titik B di atas
peta
OK
(Gambar 4.49)
(Gambar 4.50)
dan
(Gambar 4.51)
5. Current Login. Google maps
menampilkan
informasi lokasi
terkini.
OK
(Gambar 4.52)
dan
(Gambar 4.53)
Page 100
83
6. Realtime Login. Google maps
menampilkan
pergerakan lokasi
secara real time.
OK
(Gambar 4.54)
dan
(Gambar 4.55)
7. History Login. Data
latitude dan
longitude untuk
interval waktu
tertentu
Muncul path di
google map untuk
data interval waktu
tertentu.
OK
(Gambar 4.56)
dan
(Gambar 4.57)
8. Setting Login Memanage GPS ID OK
(Gambar 4.58)
dan
(Gambar 4.59)
9. Manager Login Memanage user OK
(Gambar 4.60)
10. Tracker GPS ID. Data
latitude dan
longitude untuk
interval waktu
tertentu
Mengirim paket
data lokasi dari
handphone ke
server
OK
(Gambar 4.61)
11. Location GPS ID. Data
latitude dan
longitude
Menampilkan
informasi lokasi
saat ini
OK
(Gambar 4.62)
12. Search GPS ID Menampilkan
informasi lokasi
posisi orang yang
kita inginkan
OK
(Gambar 4.63)
13. Weather GPS ID Menampilkan Infor
masi cuaca
berdasarkan lokasi
OK
(Gambar 4.64)
14. Setting GPS ID Menyimpan
informasi GPS ID
dan interval
OK
(Gambar 4.65)
Dari hasil pengujian di atas hampir semua modul dapat
berjalan sesuai apa yang diharapkan.
Page 101
84
4.4.2.1 Bukti Pengujian Implementasi
1. Registration
Gambar 4.43
Tampilan Form Registration
Gambar 4.44
Hasil pengujian Registration
2. GPS ID generation
Gambar 4.45
Tampilan Form Registration 2 atau GPS ID generation
Page 102
85
Gambar 4.46
Hasil pengujian GPS ID generation
3. Login
Gambar 4.47
Hasil pengujian Login
Gambar 4.48
Tampilan Setelah Login
Page 103
86
4. Directions
Gambar 4.49
Tampilan Pengujian Directions
Gambar 4.50
Hasil pengujian Direction view maps
Page 104
87
Gambar 4.51
Hasil pengujian Directions rute jalan
12. Current
Gambar 4.52
Tampilan Pengujian Current
Page 105
88
Gambar 4.53
Hasil pengujian Current
13. Realtime
Gambar 4.54
Tampilan Pengujian Realtime
Page 106
89
Gambar 4.55
Hasil pengujian Realtime
14. History
Gambar 4.56
Tampilan Pengujian History
Page 107
90
Gambar 4.57
Hasil pengujian History
15. Setting
Gambar 4.58
Tampilan Pengujian Setting
Gambar 4.59
Hasil Pengujian Setting
Page 108
91
16. Manager
Gambar 4.60
Hasil pengujian Manager
17. Tracker
Gambar 4.61
Hasil pengujian Tracker
Page 109
92
18. Location
Gambar 4.62
Hasil pengujian Location
Page 110
93
19. Search
Gambar 4.63
Hasil pengujian Search
Page 111
94
20. Weather
Gambar 4.64
Hasil pengujian Weather
Page 112
95
21. Setting
Gambar 4.65
Hasil pengujian Setting
4.4.3 Evaluasi Sistem
Sistem akan berjalan sempurna dan mulus jika beberapa hal
berikut ini di perhatikan:
1. Sinyal GPRS tidak terblok sehingga feed informasi latitude dan
longitude akan lancar.
Page 113
96
2. Untuk melihat pergerakan lokasi realtime secara halus maka
diperlukan koneksi internet yang cukup yaitu minimal 128 Kbps.
Page 114
97
BAB V
PENUTUP
Bab ini berisi kesimpulan terhadap masalah yang ada dan pemecahan
masalahnya serta saran kepada pihak yang ingin mengembangkan aplikasi ini
5.1 Kesimpulan
Berdasarkan analisis dan perancangan aplikasi Gps Tracker, maka dapat
disimpulkan beberapa hal sebagai berikut:
1. Aplikasi Gps Tracker ini dapat membantu user untuk mengetahui history
perjalanan user dan dapat di lihat saat di butuhkan, dapat di lihat pada
Gambar 4.32 dan Gambar 4.33.
2. Aplikasi Gps Tracker ini dapat membantu user untuk mengetahui posisi
dimana dia berada melalui satelit GPS dapat di lihat pada Gambar 4.38, dan
datap membantu user untuk megetahui posisi orang lain dapat di lihat pada
Gambar 4.39.
5.2 Saran
Berdasarkan kesimpulan-kesimpulan yang telah dikemukakan, dapat
diajukan beberapa saran untuk pengembangan lebih lanjut antara lain:
Page 115
98
1. Diharapkan aplikasi yang terdapat pada handphone dapat dikembangkan,
tidak hanya mengirimkan lokasi ke server, melainkan dapat menampilkan
dalam bentuk peta.
2. Ke depan aplikasi ini perlu dikembangkan dalam hal penujuk arah
perjalanan untuk user.
Page 116
100
99
DAFTAR PUSTAKA
Hariyanto, Bambang. 2007. Esensi-esensi Bahasa Pemrograman JAVA. Bandung:
Informatika Bandung
Jubilee Enterprise. 2010. Google Untuk Guru. : Elex Media Komputindo.
Kamus Besar Bahasa Indonesia
Nugroho, Bunafit. 2004. Aplikasi Pemrograman Web Dinamis dengan PHP dan MySQL.
Yogyakarta: Gava Media
Parkinson, B.W. 1996. Global Positioning System: Theory and Applications, chap. 1:
Introduction and Heritage of NAVSTAR, the Global Positioning System. Washington,
D.C: American Institute of Aeronautics and Astronautics.
Pressman, Roger S. 2005. Software Engineering- ixth Edition. New York: McGraw Hill.
Shalahuddin Rossa A.S. Muhammad. 2008. Pemrograman J2ME Belajar Cepat
Pemrograman Perangkat Telekomunikasi Mobile. Bandung: Informatika
Tanoe, Andre. 2009. GPS Bagi pemula, dasar-dasar pemakaian sehari hari. Jakarta
Wahana Komputer 2008. Belajar Pemrograman C#. Yogyakarta: Penerbit Andi.
Wahidin. 2004. ASP untuk Orang Awam. Palembang: Penerbit Maxikom.
http://id.wikipedia.org/wiki/Aplikasi_web di akses tahun 2010
http://id.wikipedia.org/wiki/Handphone di akses tahun 2010
http://id.wikipedia.org/wiki/Sql_server di akses tahun 2010
Page 117
100
99
http://id.wikipedia.org/wiki/Web di akses tahun 2010
http://kiosbukugema.wordpress.com/page/91/
http://www.clearleadinc.com/
http://www.websmithing.com
Page 118
101
101
LAMPIRAN 1
HASIL WAWANCARA
Waktu : Sabtu, 2 April 2011
Nama Responden : Winarko Saputro
Status : Alumni Tehnik Elektro UNAS
Tempat : sawnagan, depok
Pertanyaan :
1. Apakah anda mengetahui tentang gps tracker? jika ya, apakah anda sudah pernah
menggunakannya?
2. Apakah GPS Tracker ini perlu bagi sekitar anda?
3. Kendala apa yang anda temui pada saat anda menggunakan aplikasi tersebut?
4. Bagaimanakah menurut anda mengoperasikan gps tracker ini dengan fitur yang ada?
5. Menurut anda adakah yang kurang dari gps tracker saat ini?
Jawaban:
1. Ya, pernah.
2. Perlu, untuk mengetahui alternatif jalan saat berada dikemacetan.
3. Kendalanya pada saat di ruangan tertentu tidak mendapatkan sinyal GPS
4. Sudah cukup mudah dan mudah dibawa kemana saja.
5. Saya tidak bisa melacak posisi orang lain yang ingin saya ketahui.
Waktu : Sabtu, 2 April 2011
Nama Responden : Yuniza Amalia
Status : Alumni Akademi Perhotelan UNAS
Tempat : sawangan, depok
Pertanyaan :
1. Apakah anda mengetahui tentang gps tracker? jika ya, apakah anda sudah pernah
menggunakannya?
2. Apakah GPS Tracker ini perlu bagi sekitar anda?
3. Kendala apa yang anda temui pada saat anda menggunakan aplikasi tersebut?
Page 119
102
101
4. Bagaimanakah menurut anda mengoperasikan gps tracker ini dengan fitur yang ada?
5. Menurut anda adakah yang kurang dari gps tracker saat ini?
Jawaban:
1. Ya, pernah.
2. Perlu, untuk mengetehui dimana saya berada saat saya sedang tersesat.
3. Kendalanya saat pulsa habis tidak bisa di gunakan.
4. Cukup mudah digunakan dan fiturnya juga cukup lengkap.
5. Terkadang posisi meleset beberapa meter dari tempat sebanarmya.
Waktu : Sabtu, 29 Mei 2011
Nama Responden : Yudistira Septrianto
Status : Alumni Akademi Perhotelan UNAS
Tempat : sawangan, depok
Pertanyaan :
1. Apakah anda mengetahui tentang gps tracker? jika ya, apakah anda sudah pernah
menggunakannya?
2. Apakah GPS Tracker ini perlu bagi sekitar anda?
3. Kendala apa yang anda temui pada saat anda menggunakan aplikasi tersebut?
4. Bagaimanakah menurut anda mengoperasikan gps tracker ini dengan fitur yang ada?
5. Menurut anda adakah yang kurang dari gps tracker saat ini?
Jawaban:
1. Ya, pernah.
2. Perlu, untuk memberi petunjuk arah ke lokasi yang saya akan tuju.
3. Untuk saat ini saya belum menemui kendalan dalam penggunaan GPS.
4. Cukup mudah.
5. Mungkin kalau di tambahkan perkiraan cuaca lebih menarik.
Waktu : Minggu, 3 April 2011
Nama Responden : Mas mian
Status : Alumni mahasiswa Teknik Informatika
Page 120
103
101
Tempat : Jl. Sedap malam 3 pisangan ciputat.
Pertanyaan :
1. Apakah anda mengetahui tentang gps tracker? jika ya, apakah anda sudah pernah
menggunakannya?
2. Apakah GPS Tracker ini perlu bagi sekitar anda?
3. Kendala apa yang anda temui pada saat anda menggunakan aplikasi tersebut?
4. Bagaimanakah menurut anda mengoperasikan gps tracker ini dengan fitur yang ada?
5. Menurut anda adakah yang kurang dari gps tracker saat ini?
Jawaban:
1. Ya, saya pernah menggunakannya.
2. Perlu, karna gps tracker ini membantu saya dalam mengetahui letak sesuatu yang saya
ingin ketahui.
3. Pada saat saya melacak sesuatu terkadang sinyal gprsnya tidak ada.
4. Menurut saya sudah cukup mudah mengoperasikannya karna aplikasinya berbasis
mobile.
5. Saya tidak bisa mengetahui perjalanan saya yang sebelumnya.
Page 121
104
LAMPIRAN II
SOURCE CODE
Class GetData
namespace GPS.GetData
{
public partial class Default : PortalModuleBase
{
private MemoryStream stream;
private System.Drawing.Image image;
private const string url = "http://maps.google.com/staticmap";
private string gpsid;
private string sgpsid;
private string imei;
private string height;
private string width;
private string latitude;
private string longitude;
private string zoom;
private GPS.Controller.GpsDevicesController DeviceCtrl;
private GPS.Controller.GpsTrackingsControler GpsCtrl;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadControls();
}
}
private void sxml(string _sgpsid)
{
List<GPS.Entities.GpsTracking> listdgi = new
List<GPS.Entities.GpsTracking>();
GpsCtrl = new GPS.Controller.GpsTrackingsControler();
listdgi =
GpsCtrl.GetGpsTrackingByGpsID(Convert.ToInt32(_sgpsid));
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<ResultSet version=\"1.0\">" +
"<Result>" +
"<Latitude>" + listdgi[listdgi.Count -
1].Latitude.ToString() + "</Latitude>" +
"<Longitude>" + listdgi[listdgi.Count -
1].Longitude.ToString() + "</Longitude>" +
"<LastUpdate>" + listdgi[listdgi.Count -
1].LastUpdate.ToString() + "</LastUpdate>" +
Page 122
105
"</Result>" +
"</ResultSet>"
);
}
private void xml(string _sgpsid, String infoxml)
{
FileStream MyFileStream = null;
StreamWriter MyWriter = null;
String xmlname = Guid.NewGuid().ToString();
try
{
MyFileStream = new FileStream(Server.MapPath(".") + "\\xml\\"
+ xmlname + ".aspx", System.IO.FileMode.Create,
System.IO.FileAccess.Write);
MyWriter = new StreamWriter(MyFileStream);
MyWriter.WriteLine("<%@ Page Language=\"VB\"
AutoEventWireup=\"false\" CodeFile=\"xml.vb\" Inherits=\"xml\" %>");
MyWriter.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-
8\"?>");
MyWriter.WriteLine("<ResultSet version=\"1.0\">");
MyWriter.WriteLine("<Result>");
if (infoxml == "search")
{
List<GPS.Entities.GpsTracking> listdgi = new
List<GPS.Entities.GpsTracking>();
GpsCtrl = new GPS.Controller.GpsTrackingsControler();
listdgi =
GpsCtrl.GetGpsTrackingByGpsID(Convert.ToInt32(_sgpsid));
MyWriter.WriteLine("<Latitude>" + listdgi[listdgi.Count -
1].Latitude.ToString() + "</Latitude>");
MyWriter.WriteLine("<Longitude>" + listdgi[listdgi.Count
- 1].Longitude.ToString() + "</Longitude>");
MyWriter.WriteLine("<LastUpdate>" + listdgi[listdgi.Count
- 1].LastUpdate.ToString() + "</LastUpdate>");
}
else
{
MyWriter.WriteLine("<Error>" + infoxml + "</Error>");
}
MyWriter.WriteLine("</Result>");
MyWriter.WriteLine("</ResultSet>");
}
catch (Exception excep)
{
Debug.WriteLine("Error: " + excep.Message);
}
finally
{
MyWriter.Close();
MyFileStream.Close();
Page 123
106
Response.Redirect("http://" +
PortalAlias.HTTPAlias.ToString() + "/xml/" + xmlname + ".aspx/?xml=" +
xmlname);
}
}
private void LoadControls()
{
//GMap1.Visible = false;
gpsid = Request.QueryString["gid"];
sgpsid = Request.QueryString["sgid"];
imei = Request.QueryString["imei"];
height = Request.QueryString["h"];
width = Request.QueryString["w"];
latitude = Request.QueryString["lat"];
longitude = Request.QueryString["lng"];
zoom = Request.QueryString["zm"];
if (Request.QueryString["vm"] == "1")
{
//GMap1.Visible = true;
//ViewMaps();
}
else
{
CekGpsID();
}
}
private void CekGpsID()
{
if (gpsid != null && imei != null)
{
System.Collections.Generic.List<GPS.Entities.GpsDevice>
listdevice = new System.Collections.Generic.List<GPS.Entities.GpsDevice>();
DeviceCtrl = new GPS.Controller.GpsDevicesController();
listdevice =
DeviceCtrl.GetGpsDeviceByGpsID(Convert.ToInt32(gpsid));
var gpsiddevice =
DeviceCtrl.GetGpsDeviceById(Convert.ToInt32(gpsid));
if (listdevice.Count != 0)
{
if (gpsiddevice.GpsID == Convert.ToInt32(gpsid) &&
gpsiddevice.Imei == imei)
{
if (sgpsid == null)
{
SaveDB();
ViewImage();
}
else
{
//xml(sgpsid, "search");
sxml(sgpsid);
}
}
Page 124
107
}
}
else
{
ViewImage();
}
}
private void SaveDB()
{
try
{
string mph = Request.QueryString["mph"];
string direction = Request.QueryString["dir"];
string distance = Request.QueryString["dis"];
string accuracy = Request.QueryString["acc"];
string date = Server.UrlDecode(Request.QueryString["dt"]);
date = DateTime.Now.ToString();
GPS.Entities.GpsTracking location = new
GPS.Entities.GpsTracking
{
GpsID = Convert.ToInt32(gpsid),
LastUpdate = DateTime.Now,
Latitude = Convert.ToDecimal(latitude),
Longitude = Convert.ToDecimal(longitude),
Speed = Convert.ToInt32(mph),
Direction = Convert.ToInt32(direction),
Distance = Convert.ToInt32(distance),
GpsTime = Convert.ToDateTime(date),
Accuracy = Convert.ToInt32(accuracy)
};
GPS.Controller.GpsTrackingsControler locationCtrl = new
GPS.Controller.GpsTrackingsControler();
locationCtrl.AddGpsTracking(location);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
private void ViewImage()
{
try
{
string UpView = Request.QueryString["tv"];
if (zoom != null && height != null && width != null && UpView
!= "2")
{
image = getMap();
stream = new MemoryStream();
image.Save(stream, ImageFormat.Png);
Response.ContentType = "image/png";
stream.WriteTo(Response.OutputStream);
Page 125
108
Response.Flush();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
if (stream != null)
{
stream.Dispose();
}
if (image != null)
{
image.Dispose();
}
}
}
private System.Drawing.Image getMap()
{
try
{
StringBuilder sb = new StringBuilder(url);
sb.Append("?markers=");
sb.Append(latitude);
sb.Append(",");
sb.Append(longitude);
sb.Append(",blueu&zoom=");
sb.Append(zoom);
sb.Append("&size=");
sb.Append(width);
sb.Append("x");
sb.Append(height);
sb.Append("&maptype=mobile&key=");
sb.Append(GetGoogleMapKey());
HttpWebRequest WebReq =
(HttpWebRequest)WebRequest.Create(sb.ToString());
HttpWebResponse WebResp =
(HttpWebResponse)WebReq.GetResponse();
Stream stream = WebResp.GetResponseStream();
System.Drawing.Image image =
System.Drawing.Image.FromStream(stream);
stream.Close();
return image;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
Page 126
109
private static string getDateFromJavaDate(string date)
{
StringBuilder sb;
if (date.IndexOf("G") > 0) // GMT time
{
sb = new StringBuilder(date.Substring(0, date.IndexOf("G")));
}
else if (date.IndexOf("U") > 0) // UTC time
{
sb = new StringBuilder(date.Substring(0, date.IndexOf("U")));
}
else
{
sb = new StringBuilder(date);
}
sb.Append(date.Substring(date.Length - 4, 4));
DateTime dt = DateTime.ParseExact(sb.ToString(), "ddd MMM dd
HH:mm:ss yyyy",
System.Globalization.CultureInfo.InvariantCulture);
return dt.ToString();
}
private static string GetGoogleMapKey()
{
return ConfigurationManager.AppSettings["GoogleMapKey"];
}
}
}
Class Maps
namespace GPS.Maps.View
{
public partial class Realtime : PortalModuleBase
{
private GPS.Controller.GpsTrackingsControler GpsCtrl;
private GPS.Controller.GpsDevicesController DeviceCtrl;
protected void Timer1_Tick(object source, EventArgs e)
{
lblCount.Text = (Convert.ToInt32(lblCount.Text) + 1).ToString();
if (Convert.ToInt32(lblCount.Text) <
Convert.ToInt32(lblMax.Text))
{
DrawGpsByTimer(0, Convert.ToInt32(lblCount.Text));
}
else
{
lblCount.Text = "1";
Timer1.Enabled = false;
}
}
Page 127
110
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Timer1.Enabled = false;
InitialGMapLoading();
DeviceCtrl = new GPS.Controller.GpsDevicesController();
if ((PortalSecurity.IsInRoles("Administrators") == true) ||
(PortalSecurity.IsInRoles("Admin GPS") == true))
{
ddlGps.DataSource = DeviceCtrl.GpsDevice();
ddlGps.DataBind();
}
else
{
ddlGps.DataSource =
DeviceCtrl.GetGpsDeviceByUserID(UserId);
ddlGps.DataBind();
}
}
}
protected void btnShow_Click(object sender, EventArgs e)
{
Session["gpsid"] = ddlGps.SelectedValue.ToString();
Session["gspdate"] = DateTime.Now.ToString();
Timer1.Enabled = true;
}
protected void btnStop_Click(object sender, EventArgs e)
{
Session["gpsid"] = "";
Session["gpsdate"] = "";
Timer1.Enabled = false;
InitialGMapLoading();
}
private void InitialGMapLoading()
{
Session["_Zoom"] = "true";
GMap1.reset();
GMap1.addControl(new
GControl(GControl.preBuilt.LargeMapControl3D));
GMap1.addControl(new
GControl(GControl.preBuilt.GOverviewMapControl));
GMap1.addControl(new GControl(GControl.preBuilt.MapTypeControl));
GLatLng latlang = new GLatLng(-1.041446, 119.919433);
GMap1.setCenter(latlang, 4);
}
private void DrawGpsByTimer(int awal, int akhir)
{
GPolyline gp = GetPolyLineByTimer(akhir);
List<GLatLng> points = new List<GLatLng>();
GLatLng titikawal = new GLatLng();
Page 128
111
GLatLng titikakhir = new GLatLng();
points = gp.points;
if (points.Count > 0)
{
titikawal = points[awal];
titikakhir = points[akhir - 1];
GMap1.resetMarkers();
GMap1.resetPolylines();
GMap1.resetCenter();
GMarker marker = new GMarker(titikawal);
GMarker marker2 = new GMarker(titikakhir);
GMap1.addPolyline(gp);
GMap1.addGMarker(marker);
GMap1.addGMarker(marker2);
if (Session["_Zoom"] != "false")
{
GMap1.setCenter(titikakhir, 17);
Session["_Zoom"] = "false";
}
else
{
GMap1.setCenter(titikakhir);
}
}
}
private GPolyline GetPolyLineByTimer(int last)
{
List<GLatLng> points = new List<GLatLng>();
GpsCtrl = new GPS.Controller.GpsTrackingsControler();
var listdgi =
GpsCtrl.GetGpsTrackingByGpsID(Convert.ToInt32(Session["gpsid"]));
if (PortalSecurity.IsInRoles("Demo") != true)
{
listdgi =
GpsCtrl.GetGpsTrackingByHistory(Convert.ToInt32(Session["gpsid"]),
Convert.ToDateTime(Session["gpsdate"]), DateTime.Now);
}
lblMax.Text = listdgi.Count.ToString();
for (int i = 0; i < last; i++)
{
GLatLng point = new
GLatLng(Convert.ToDouble(listdgi[i].Latitude),
Convert.ToDouble(listdgi[i].Longitude));
points.Add(point);
}
GPolyline result = new GPolyline(points, "RED", 5);
Page 129
112
return result;
}
}
}
Class Register
namespace GPS.Register.View
{
public partial class Formulir : PortalModuleBase
{
private static GPS.Controller.GpsDevicesController gpsidCtrl;
private ModuleController moduleCtrl;
private GPS.Controller.GpsDevicesController DeviceCtrl;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ClearAll();
}
}
protected void btnRegister_Click(object sender, EventArgs e)
{
CreateUsers();
}
private void CreateUsers()
{
UserInfo oUser = new UserInfo();
string UName = Request.QueryString["email"];
oUser.PortalID = PortalId;
oUser.IsSuperUser = false;
oUser.FirstName = txtFName.Text;
oUser.LastName = txtLName.Text;
oUser.Email = UName;
oUser.Username = UName;
oUser.DisplayName = txtDName.Text;
oUser.Profile.PreferredLocale = PortalSettings.DefaultLanguage;
oUser.Profile.TimeZone = PortalSettings.TimeZoneOffset;
oUser.Profile.FirstName = oUser.FirstName;
oUser.Profile.LastName = oUser.LastName;
oUser.Membership.Approved = true;
oUser.Membership.CreatedDate = DateTime.Now;
oUser.Membership.IsOnLine = false;
oUser.Membership.Password = txtPassword.Text;
try
{
Page 130
113
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);
}
Page 131
114
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);
Page 132
115
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();
}
public List<Entities.GpsDevice> GetGpsDeviceByUserID(int val)
Page 133
116
{
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)
Page 134
117
{
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)
{
Page 135
118
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();
}
}
}
}