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
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
ii
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 halhal 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
v
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
vi
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 :
vii
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.
viii
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
ix
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
x
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
xi
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
xii
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
xiii
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
xiv
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
xv
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
xvi
DAFTAR LAMPIRAN
Lampiran I
Hasil Wawancara ………………………………………… 93
Lampiran II
Source Code ……………………………………………… 96
xvii
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
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.
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.
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.
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.
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.
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
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).
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
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.
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
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
(http://id.wikipedia.org/wiki/Web, 2010).
disebut
"situs
web"
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 kemanamana (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
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
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
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 benarbenar 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
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, kantorkantor 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
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.
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.
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
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 (ClassResponsibility-Collaborator) untuk identifikasi dan mengatur class-class di konsep Object Oriented. Jika menemui kesulitan, prototype dibangun
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
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.
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
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).
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
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
membandingkannya sebagai berikut:
sejenis
tersebut
penulis
28
Tabel 3.1. Perbandingan Literatur Sejenis
Nama
Judul
Permata Nur M.R
Ahasyweros Sibarani
Agus Indra Murti
Bandung – ITB Guide
Metode Penyatuan
Mobile Surveyor Sebagai
Aplikasi Berbasis
Peta Pendaftaran
Pengembangan Aplikasi
Layanan Lokasi
Tanah dengan
Berbasis Lokasi (Studi
Menggunakan GPS
Bantuan Citra
Kasus : Percetakan
DenganSistem Client-
Quickbird Dan Gps
Paperindo Harsa)
Server (pada sisi server)
- Aplikasi mampu
Kelebihan
- Dapat mengetahui
- Menyatukan peta-
menjangkau daerah-
nama tempat seperti
peta sesuai dengan
daerah terpencil di
rumah sakit, nama
titik koordinatnya
Indonesia
jalan, taman dan
sehingga peta yang
sebagainya
di hasilnya
- Alat bisa di pasang di
mendekati keadaan
sebuah kendaraan
sebenarnya - Untuk konek ke server
- Keterbatasan
- Butuh banyak
membutuhkan GPS
pencarian nama
waktu untuk
receiver dan handphone
tempat karna hanya
menyatukan peta-
di lengkapi Bluetooth
di daerah bandung
peta yang ada
dan wireless LAN
saja dan lokasi di
sekarang ini.
Kekurangan - Karena proses untuk
input manual karna
mendapatkaan sebuah
menggunakan
koordinat GPS receiver
MAPSERVER
mengirimkan data ke
sebagai peta
hanphone melalui
digitalnya
bluetooth baru ke server
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 http://www.google.com,
data
yang
didapat
maka
penulis
mendapatkan
aplikasi sejenis diantaranya : Google Map GPS Cell Phone Tracker Vendor
: Nick
Website
: http://www.websmithing.com
dari
situs beberapa
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
Adanya fasilitas login sehingga
bisa melihat lokasi kita sehingga
hanya pengguna yang dapat
tidak privasi.
melihat lokasi pengguna.
Fitur yang sangat minim pada website
dan
mobile,
pada
-
Kaya akan fitur dan tampilan yang
cukup dan
menarik
pada
mobile,
pada
website hanya memiliki fitur
website
delete zoom dan refresh dapat di
website
lihat pada gambar 3.1 dan pada
melakukan
mobile hanya menampilkan text
direction (pencarian rute jalan),
berupa informasi bahwa aplikasi
Location (posisi terakhir saat
pengguna registrasi,
dapat login,
31
sedang di aktifkan dapat di lihat
gps
di
aktifkan),
pada gambar 3.2
(monitoring realtime),
realtime
gps
secara
history
(melhat
perjalanan
pengguna
sebelumnya), (untuk
dan
setting
melakukan
CRUD
“Create Read Update Delete”) dapat di lihat pada gambar 3.2, sedangkan
pada
memiliki
fitur-fitur
seperti
Tracker
mobile menarik (untuk
mengirim paket data ke server), Location (untuk mengetahui lokasi
pengguna
saat
ini),
Search (untuk mencari lokasi orang lain dengan memasukan gpsid),
Weather
mengetahui
perkiraan
(untuk cuaca
dilokasi pengguna) dan Setting (untuk
menyeting
aplikasi
mobile agar di kenali oleh server) dapat di lihat pada gambar 3.4.
32
Gambar 3.1 Tampilan Website Pada Literatur Sejenis
Gambar 3.2 Tampilan Mobile Pada Literatur Sejenis
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
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
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
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.
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.
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 Planning
Visi Aplikasi Fitur Kunci Tujuan Aplikasi Pengguna Aplikasi Informasi yang ditampilkan Kebutuhan Aplikasi Use Cases User Stories
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
Release Penarikan kesimpulan dari sistem
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:
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.
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.
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:
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:
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:
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.
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
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.
48
Tabel 4.1 CRC Card Class GetData Class : GetData Description : Menerangkan interaksi client server
2.
Resposibilities
Collaborators
- Menyimpan paket data yang di kirimpak oleh user - Memberikan informasi yangdi butuhkan pada handphone
- GPS
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
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
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
5.
Resposibilities
Collaborators
- Sebagai jembatan untuk koneksi kedatabase
-
GetData Maps Register Manager
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
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
52
2. Desain halaman Login Gambar 4.4 Rancangan tampilan halaman Login pengguna
3. Desain halaman Directions Gambar 4.5 Rancangan tampilan halaman Directions
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
54
6. Design halaman History Gambar 4.8 Rancangan tampilan halaman History
7. Design halaman Setting Gambar 4.9 Rancangan tampilan halaman Real Time
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
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
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
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
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
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
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
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.
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
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.
65
Tabel 4.9 Hasil Pengujian Dengan Unit Testing
Prasyarat
Hasil yang diharapkan
Hasil Pengujian
No.
Modul
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.
8.
Setting
Login
Memanage GPS ID
OK (Gambar 4.33) dan (Gambar 4.34) OK (Gambar 4.35) dan
66
(Gambar 4.36) 9.
Manager
Login
Memanage user
10.
Tracker
GPS ID. Data latitude dan longitude untuk interval waktu tertentu
Mengirim paket data lokasi dari handphone ke server
OK (Gambar 4.37)
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.
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.
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
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
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.
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.
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
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.
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
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.
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
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
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
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.
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.
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
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
Prasyarat
Hasil yang diharapkan
Hasil Pengujian
No.
Modul
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)
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.
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.56) dan (Gambar 4.57)
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.
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
85
Gambar 4.46 Hasil pengujian GPS ID generation
3. Login Gambar 4.47 Hasil pengujian Login
Gambar 4.48 Tampilan Setelah Login
86
4. Directions Gambar 4.49 Tampilan Pengujian Directions
Gambar 4.50 Hasil pengujian Direction view maps
87
Gambar 4.51 Hasil pengujian Directions rute jalan
12. Current Gambar 4.52 Tampilan Pengujian Current
88
Gambar 4.53 Hasil pengujian Current
13. Realtime Gambar 4.54 Tampilan Pengujian Realtime
89
Gambar 4.55 Hasil pengujian Realtime
14. History Gambar 4.56 Tampilan Pengujian History
90
Gambar 4.57 Hasil pengujian History
15. Setting Gambar 4.58 Tampilan Pengujian Setting
Gambar 4.59 Hasil Pengujian Setting
91
16. Manager Gambar 4.60 Hasil pengujian Manager
17. Tracker Gambar 4.61 Hasil pengujian Tracker
92
18. Location Gambar 4.62 Hasil pengujian Location
93
19. Search Gambar 4.63 Hasil pengujian Search
94
20. Weather Gambar 4.64 Hasil pengujian Weather
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.
96
2. Untuk melihat pergerakan lokasi realtime secara halus maka diperlukan koneksi internet yang cukup yaitu minimal 128 Kbps.
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:
97
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.
100 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
99
100 http://id.wikipedia.org/wiki/Web di akses tahun 2010 http://kiosbukugema.wordpress.com/page/91/ http://www.clearleadinc.com/ http://www.websmithing.com
99
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. 2. 3. 4. 5.
Ya, pernah. Perlu, untuk mengetahui alternatif jalan saat berada dikemacetan. Kendalanya pada saat di ruangan tertentu tidak mendapatkan sinyal GPS Sudah cukup mudah dan mudah dibawa kemana saja. 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? 101
102 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. 2. 3. 4. 5.
Ya, pernah. Perlu, untuk mengetehui dimana saya berada saat saya sedang tersesat. Kendalanya saat pulsa habis tidak bisa di gunakan. Cukup mudah digunakan dan fiturnya juga cukup lengkap. 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. 2. 3. 4. 5.
Ya, pernah. Perlu, untuk memberi petunjuk arah ke lokasi yang saya akan tuju. Untuk saat ini saya belum menemui kendalan dalam penggunaan GPS. Cukup mudah. Mungkin kalau di tambahkan perkiraan cuaca lebih menarik.
Waktu
: Minggu, 3 April 2011
Nama Responden
: Mas mian
Status
: Alumni mahasiswa Teknik Informatika
101
103 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.
101
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 private private private private private private private
string string string string string string string string
gpsid; sgpsid; imei; height; width; latitude; longitude; 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
listdgi = new List(); GpsCtrl = new GPS.Controller.GpsTrackingsControler(); listdgi = GpsCtrl.GetGpsTrackingByGpsID(Convert.ToInt32(_sgpsid)); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Write("" + "" + "" + "" + listdgi[listdgi.Count 1].Latitude.ToString() + "" + "" + listdgi[listdgi.Count 1].Longitude.ToString() + "" + "" + listdgi[listdgi.Count 1].LastUpdate.ToString() + "" +
105 "" + "" ); } 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(""); MyWriter.WriteLine(""); MyWriter.WriteLine(""); if (infoxml == "search") { List listdgi = new List(); GpsCtrl = new GPS.Controller.GpsTrackingsControler(); listdgi = GpsCtrl.GetGpsTrackingByGpsID(Convert.ToInt32(_sgpsid)); MyWriter.WriteLine("" + listdgi[listdgi.Count 1].Latitude.ToString() + ""); MyWriter.WriteLine("" + listdgi[listdgi.Count - 1].Longitude.ToString() + ""); MyWriter.WriteLine("" + listdgi[listdgi.Count - 1].LastUpdate.ToString() + ""); } else { MyWriter.WriteLine("<Error>" + infoxml + ""); } MyWriter.WriteLine(""); MyWriter.WriteLine(""); } catch (Exception excep) { Debug.WriteLine("Error: " + excep.Message); } finally { MyWriter.Close(); MyFileStream.Close();
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 listdevice = new System.Collections.Generic.List(); 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); } }
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);
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); } }
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; } }
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 points = new List(); GLatLng titikawal = new GLatLng();
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 points = new List(); 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);
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 {
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); }
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
"; message = String.Format("{0}UserName : {1}
", message, Request.QueryString["email"]); message = String.Format("{0}Password : {1}
", message, txtPassword.Text); message = String.Format("{0}GpsID : {1}
", 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 listgpsid = new List(); gpsidCtrl = new GPS.Controller.GpsDevicesController(); listgpsid = gpsidCtrl.GetGpsDeviceByGpsID(_gpsid);
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)
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)
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) {
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(); } } } }