Rancang Bangun Bus Tracking System Berbasis J2ME dan Web...

19
3 1. Pendahuluan Transportasi merupakan unsur penting dalam mendukung pertumbuhan ekonomi dan pemerataan pembangunan. Salah satu alat transportasi umum yang banyak diminati masyarakat adalah bus. Calon penumpang bus terkadang mengalami ketidakpastian kapan bus yang akan mereka tumpangi tiba. Ketidakpastian datangnya bus ini dapat dikarenakan berbagai macam faktor dijalan. Akibatnya, calon penumpang banyak membuang waktu untuk menunggu bus. Hal yang sama juga dialami oleh penjemput penumpang bus, yang perlu mengetahui informasi keberadaan bus untuk dapat memperkirakan waktu penjemputan. Disisi lain, pengelola bus juga perlu melakukan pemantauan terhadap lokasi busnya. Kemajuan teknologi semakin memudahkan manusia untuk berinteraksi satu sama lain tanpa adanya batasan jarak dan waktu. Salah satu teknologi yang berkembang pesat adalah teknologi komunikasi, contohnya mobile phone. Mobile phone yang beredar saat ini beraneka ragam, salah satunya dari segi sistem operasi. Sistem operasi pada mobile phone yang sekarang ini beredar antara lain, symbian, iOS, android, windows phone, bada, dan lain sebagainya. Data statistik menunjukkan hingga minggu ketiga bulan Februari tahun 2012, sistem operasi Symbian masih merupakan sistem operasi dengan pengguna terbanyak, yaitu sebesar 30%, disusul kemudian iOS dengan persentase pengguna 25,35%, dan android dengan persentase pengguna sebanyak 24,72%, sistem operasi lainnya hanya dibawah 10% dari pengguna [1]. Salah satu platform yang dapat berjalan di sistem operasi symbian adalah Java 2 Micro Edition atau J2ME. J2ME adalah sebuah pengembangan bahasa pemrograman berbasis Java yang berjalan dan diimplentasikan pada perangkat bergerak seperti mobile phone. Aplikasi yang dibuat dengan J2ME ukurannya relatif kecil, dan tidak banyak memakan sumber daya, sehingga tidak mengganggu kinerja mobile phone secara keseluruhan [2]. Selain mobile phone, teknologi Global Positioning System (GPS) juga tidak kalah berkembang. Kualitas ketelitian data GPS semakin meningkat, perangkat lunak pengolah data GPS pun semakin banyak dalam jumlah dan ragamnya. GPS receiver kini telah diperkecil ukurannya hingga sebesar IC, oleh karenanya menjadi sangat terjangkau. Sekarang ini banyak GPS yang telah built-in dalam mobile phone. Fitur ini dapat digunakan oleh user untuk menentukan lokasi keberadaan device. Dari permasalahan tersebut, maka dirancanglah suatu bus tracking system berbasis J2ME dan Web Server yang bertujuan memberikan informasi kepada pengguna maupun pengelola bus mengenai keberadaan bus. 2. Kajian Pustaka Salah satu penelitian yang membahas mengenai penerapan teknologi GPS adalah Monitoring Lokasi Anak Menggunakan Handphone ber-GPS. Penelitian tersebut ditujukan agar orang tua dapat memantau keberadaan anak. Aplikasi ini mencocokkan format SMS (Short Message Service) yang masuk, jika valid maka

Transcript of Rancang Bangun Bus Tracking System Berbasis J2ME dan Web...

Page 1: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

3

1. Pendahuluan

Transportasi merupakan unsur penting dalam mendukung pertumbuhan

ekonomi dan pemerataan pembangunan. Salah satu alat transportasi umum yang

banyak diminati masyarakat adalah bus. Calon penumpang bus terkadang

mengalami ketidakpastian kapan bus yang akan mereka tumpangi tiba.

Ketidakpastian datangnya bus ini dapat dikarenakan berbagai macam faktor

dijalan. Akibatnya, calon penumpang banyak membuang waktu untuk menunggu

bus. Hal yang sama juga dialami oleh penjemput penumpang bus, yang perlu

mengetahui informasi keberadaan bus untuk dapat memperkirakan waktu

penjemputan. Disisi lain, pengelola bus juga perlu melakukan pemantauan

terhadap lokasi busnya.

Kemajuan teknologi semakin memudahkan manusia untuk berinteraksi satu

sama lain tanpa adanya batasan jarak dan waktu. Salah satu teknologi yang

berkembang pesat adalah teknologi komunikasi, contohnya mobile phone. Mobile

phone yang beredar saat ini beraneka ragam, salah satunya dari segi sistem

operasi. Sistem operasi pada mobile phone yang sekarang ini beredar antara lain,

symbian, iOS, android, windows phone, bada, dan lain sebagainya. Data statistik

menunjukkan hingga minggu ketiga bulan Februari tahun 2012, sistem operasi

Symbian masih merupakan sistem operasi dengan pengguna terbanyak, yaitu

sebesar 30%, disusul kemudian iOS dengan persentase pengguna 25,35%, dan

android dengan persentase pengguna sebanyak 24,72%, sistem operasi lainnya

hanya dibawah 10% dari pengguna [1].

Salah satu platform yang dapat berjalan di sistem operasi symbian adalah

Java 2 Micro Edition atau J2ME. J2ME adalah sebuah pengembangan bahasa

pemrograman berbasis Java yang berjalan dan diimplentasikan pada perangkat

bergerak seperti mobile phone. Aplikasi yang dibuat dengan J2ME ukurannya

relatif kecil, dan tidak banyak memakan sumber daya, sehingga tidak

mengganggu kinerja mobile phone secara keseluruhan [2].

Selain mobile phone, teknologi Global Positioning System (GPS) juga tidak

kalah berkembang. Kualitas ketelitian data GPS semakin meningkat, perangkat

lunak pengolah data GPS pun semakin banyak dalam jumlah dan ragamnya. GPS

receiver kini telah diperkecil ukurannya hingga sebesar IC, oleh karenanya

menjadi sangat terjangkau. Sekarang ini banyak GPS yang telah built-in dalam

mobile phone. Fitur ini dapat digunakan oleh user untuk menentukan lokasi

keberadaan device.

Dari permasalahan tersebut, maka dirancanglah suatu bus tracking system

berbasis J2ME dan Web Server yang bertujuan memberikan informasi kepada

pengguna maupun pengelola bus mengenai keberadaan bus.

2. Kajian Pustaka

Salah satu penelitian yang membahas mengenai penerapan teknologi GPS

adalah Monitoring Lokasi Anak Menggunakan Handphone ber-GPS. Penelitian

tersebut ditujukan agar orang tua dapat memantau keberadaan anak. Aplikasi ini

mencocokkan format SMS (Short Message Service) yang masuk, jika valid maka

Page 2: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

4

aplikasi akan mengaktifkan GPS untuk mendapatkan koordinat latitude dan

longitude. Selanjutnya aplikasi mendapatkan link static Google Map dengan

koordinat tersebut dan mengirimkannya ke nomor handphone pengirim SMS. SMS

dari handphone anak akan diterima oleh handphone orang tua. Melalui link static

Google Map orang tua dapat melihat lokasi keberadaan anak. Setiap pengiriman

link static Google Map akan ditulis dalam log dengan FileLogger [3].

Penelitian lainnya adalah Sistem Pelacakan Posisi Bus Trans Jogja Berbasis

Mobile dan Web. Penelitian ini ditujukan untuk melakukan pelacakan terhadap

bus Trans Jogja. Sistem yang dibangun dibagi menjadi dua, yaitu aplikasi client

dan aplikasi server. Aplikasi client dibangun pada mobile phone berbasis J2ME,

sedangkan aplikasi server dibangun menggunakan PHP dan diakses

menggunakan komputer. Data yang akan dikirim atau diakses oleh client

dilakukan melalui koneksi via GPRS. Aplikasi client memiliki satu aktor yaitu

user yang dalam hal ini adalah pengendara bus (supir bus). User dapat melihat

informasi lokasi dengan tampilan map dan dapat mengakses informasi-informasi

yang dibutuhkan. Di sisi server, admin sebagai aktor dapat menambah data lokasi

atau jalur bus, mengubah data dan menghapus data yang semuanya kemudian

diolah ke database [4].

Perbedaan penelitian pertama dengan penelitian ini adalah aplikasi pada

penelitian pertama mengaktifkan GPS melalui SMS sedangkan dalam penelitian

ini GPS aktif setelah user sign in, dan akan terus aktif hingga user sign out.

Penelitian kedua digunakan untuk membantu supir bus Trans Jogja memperoleh

informasi yang dibutuhkan sekaligus dapat mengetahui posisinya dengan tampilan

dalam map, sedangkan penelitian ini dibangun untuk membantu calon penumpang

bus maupun orang yang ingin menjemput kerabatnya yang menggunakan jasa

transportasi bus. Dalam penelitian ini diharapkan pengguna dapat melihat

informasi lokasi keberadaan bus dengan tampilan map melalui mobile phone.

Java 2 Micro Edition (J2ME) adalah satu set spesifikasi dan teknologi

JAVA yang fokus kepada perangkat yang memiliki jumlah memori yang terbatas,

menghabiskan sedikit daya dari baterai, layar yang kecil dan bandwith jaringan

yang rendah. Program J2ME, seperti semua program JAVA adalah diterjemahkan

oleh Virtual Machine (VM). Program-program tersebut di-compile dan

diterjemahkan oleh Java Virtual Machine(JVM) ke dalam bytecode. Inti dari

J2ME terletak pada configuration dan profile-profile. Suatu configuration

menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia

menggambarkan core library, virtual machine, fitur keamanan dan jaringan.

Sebuah profile memberikan library tambahan untuk suatu kelas tertentu pada

sebuah perangkat. Profile-profile menyediakan user interface(UI) API,

persistence, messaging library, dan sebagainya [2].

Global Positioning System (GPS) adalah sebuah sistem navigasi radio yang

terbentuk dari gabungan 24 buah satelit berikut stasiun-stasiun penerimanya. GPS

menggunakan satelit tersebut sebagai titik acuan untuk memperkirakan

(menghitung) posisi secara akurat sampai dengan hitungan meter. Untuk

Page 3: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

5

mengetahui posisi, minimal diperlukan tiga buah satelit yang masing-masing

mengirimkan sinyal ke GPS Receiver [5].

Location API (JSR 179) dapat menghasilkan informasi posisi seperti halnya

perangkat penentu posisi lainnya, seperti GPS. Location API (JSR 179) dalam

J2ME masuk ke dalam optional package javax.microedition.location yang

memiliki kemampuan untuk menghasilkan informasi posisi sebuah peralatan. JSR

179 membutuhkan Connected Device Configuration (CDC) atau Connected

Limited Device Configuration (CLDC) versi 1.1 [6].

Google Static Maps API menyediakan fungsi untuk membuat sebuah

gambar peta Google Maps dalam halaman website tanpa membutuhkan

JavaScript atau halaman dinamis lainnya. Google Static Maps API

mengembalikan sebuah image (baik bertipe GIF, PNG atau JPEG) untuk

merespon HTTP request melalui sebuah URL [7].

3. Metode Perancangan Sistem

Metode perancangan sistem yang digunakan dalam penelitian ini adalah

metode prototyping. Prototyping model adalah proses untuk membangun sebuah

model suatu sistem, berdasarkan pada kebutuhan user yang tidak

mengidentifikasikan secara jelas detail input, proses ataupun output [8].

Gambar 1 Metode Prototyping [8]

1. Listen To Customer

Tahap pertama yang dilakukan pada metode prototyping adalah Listen To

Customer. Pada tahap ini dilakukan proses pengumpulan data kebutuhan user

(user requirement) dengan cara membagikan kuesioner kepada 30 responden yang

dianggap sebagai sample user. Hasil analisis kebutuhan user adalah sebagai

berikut, user perlu mengetahui keberadaannya, melihat posisi bus di map dalam

radius tertentu dari user, melihat posisi bus tertentu di map, dan melihat posisi bus

Page 4: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

6

dengan route tertentu di map. Hasil analisis kebutuhan admin adalah melihat

posisi bus di map dan dapat melakukan update data (edit, add dan delete).

2. Build/Revise Mock-up

Setelah proses pertama selesai dilakukan, maka pada tahap selanjutnya

adalah perancangan sistem. Pada tahap ini, sistem dirancang dengan

menggunakan Unified Model Language (UML) yang memanfaatkan tools

Rational Rose. Desain antarmuka aplikasi dibangun dengan memperhatikan daya

tarik aplikasi tanpa mengurangi sisi informasi yang diberikan. Kemudian

dibangunlah prototype bus tracking system yang didasarkan pada user

requirement yang di dapat pada tahap pertama.

3. Customer test drives mock-up

Setelah prototype dibangun, kemudian dilakukan proses evaluasi atau

pengujian untuk mengetahui apa saja yang masih menjadi kekurangan aplikasi

dan apa saja yang sudah sesuai dengan kebutuhan sistem. Evaluasi prototype

dilakukan sebanyak empat kali dengan tahapan sebagai berikut:

a. Evaluasi Tahap Pertama

Pada prototype pertama ini masih terdapat beberapa kekurangan,

diantaranya adalah tampilan aplikasi yang kurang menarik, dan perlunya

menu help dan about.

b. Evaluasi Tahap Kedua

Untuk memperbaiki prototype pertama, maka dibangunlah prototype

kedua dengan melengkapi beberapa kekurangan yang terdapat pada

prototype pertama. Setelah itu dilakukan evaluasi kembali. Hasil dari

evaluasi tahap kedua ini adalah perlunya pemberian proteksi jika user sign

in melalui dua atau lebih device. Hal ini diperlukan untuk menjaga

konsistensi lokasi. Disamping itu perlu ditambahkannya fungsi offline

online.

c. Evaluasi Tahap Ketiga

Prototype ketiga dibangun dengan melengkapi kekurangan pada

prototype kedua. Hasil dari evaluasi tahap ketiga adalah perlunya

penambahan perkiraan waktu kedatangan bus. Perkiraan waktu didapat dari

jarak bus dengan user dibagi dengan kecepatan bus yang dianggap konstan

yaitu 40km/jam.

d. Evaluasi Tahap Keempat

Pemberian perkiraan waktu pada prototype ketiga dirasa kurang

akurat, karena itu prototype dievaluasi kembali. Hasil dari evaluasi tahap

keempat adalah kecepatan bus dihitung dari kecepatan rata-rata bus selama

10 menit.

4. Desain Sistem

Desain sistem yang dibangun menggunakan bahasa pemodelan UML yang

terdiri dari beberapa diagram diantaranya use case diagram, activity diagram,

sequence diagram, class diagram dan deployment diagram.

Page 5: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

7

start

Memilih Menu

Start

Melihat Form

GPS

Menentukan

Mode Map

Melihat Map

end

Menampilkan

Menu Utama

Mendapatkan

latitude&longitude User

Mengirim Data

ke Server

Menampilkan

Form GPS

valid?

yes

Mengirim Data

ke Server

Mendapatkan

URL

Menampilkan

Image Map

valid?

no

Mengakses

Database

Mengolah Data

Menjadi Url

no Mengupdate

Data

yes

Menampilkan

Data

Mendapatkan

Image Map

Google MapDatabaseServ erAplikasiUser

Use Case Diagram pada sistem yang dibuat memiliki dua aktor, yaitu

admin dan user. Masing-masing aktor memiliki aplikasi yang berbeda sesuai

dengan hak akses yang dimiliki. Use case diagram user dan admin dari bus

tracking system yang dibangun dapat dilihat pada Gambar 2.

Gambar 2 Use Case Diagram User dan Admin

Activity Diagram merupakan state diagram khusus, dimana sebagian besar

state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing) [9]. Dalam sistem yang dibangun, terdapat

beberapa aktifitas yang dilakukan oleh admin maupun user. Gambar 3 merupakan

aktifitas yang dapat dilakukan oleh user, sedangkan Gambar 4 merupakan

aktifitas yang dilakukan oleh admin.

Gambar 3 Activity Diagram User Melihat Map

Insert Update Delete

Melihat Halaman About

Melihat Halaman Help

Melihat Map

Manage Data

Admin

<<extend>><<extend>> <<extend>>

GPS

Dalam Radius Tertentu By Specifik Bus By Route

Melihat Form Help

Melihat Form About

Mengetahui Posisi User

<<include>>

Melihat Map

<<extend>>

<<extend>><<extend>>

<<include>>

User

Page 6: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

8

start

Input Username

Dan Pasword

Logout

End

Menampilkan

Login

Menampilkan

Pesan salah

Menampilkan

Menu

Map

Add Edit Delete

HelpAbout Management

Data

Periksa Inputan

Username dan Password

Validasi

Tidak

Simpan

Perubahan

DBSistemAdmin

Gambar 3 merupakan activity diagram user melihat map. Diagram ini

menggambarkan aktifitas-aktifitas yang terjadi ketika user ingin melihat map.

Sebelum user dapat mengakses menu, terlebih dahulu user harus sign in ke dalam

aplikasi. Setelah sign in, aplikasi akan menampilkan menu utama. Kemudian

aktifitas pertama user untuk dapat melihat map adalah memilih menu start.

Setelah memilih menu start, aplikasi akan mendapatkan data lokasi user

dengan menggunakan Location API pada J2ME. Kemudian aplikasi mengirimkan

data tersebut ke server. Di server data yang dikirim divalidasi kembali, apakah

user sign in dari dua atau lebih device. Apabila user tidak sign in dari dua atau

lebih device maka database akan di update sesuai dengan data yang dikirim

aplikasi. Selanjutnya user memilih menu start, lalu aplikasi akan menampilkan

data GPS user. Setelah itu aplikasi akan mendapatkan data mode map yang dipilih

oleh user pada form mode map kemudian mengirimkannya ke server. Server

mengolah data tersebut sehingga menghasilkan url. Aplikasi kemudian

manangkap url tersebut dan me-request url tersebut sehingga mendapatkan map

yang berupa image dari Google Maps. Map lalu ditampilkan pada aplikasi

sehingga user mendapatkan informasi visual suatu bus.

Gambar 4 Activity Diagram Admin

Gambar 4 menggambarkan aktifitas-aktifitas yang dilakukan admin.

Sebelum menjalankan aktifitasnya, admin harus login terlebih dahulu ke dalam

sistem. Kemudian admin dapat melakukan empat aktifitas utama, yaitu melihat

halaman about, melihat halaman help, melihat map, dan masuk ke halaman

management data. Pada halaman management data, admin dapat manage data

seperti menambah user, mengedit data user, dan menghapus user. Data yang telah

diubah kemudian disimpan dalam database server. Untuk mengakhiri aktifitas ini

admin harus logout terlebih dahulu.

Page 7: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

9

Sequence Diagram digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event

untuk menghasilkan output tertentu. Diawali dari apa yang memicu aktifitas

tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output

apa saja yang dihasilkan [9].

: User : ViewAplication : Controller Application : Server : Database : Google Maps

Memilih Menu Start

Mengakses Data GPS

Mengirim Data

Mengupdate Data

Memilih Mode Map

Mendapat Data

Mengirim Data Ke Server

Mengakses Database

Merequest Image

Melihat Map

Request Done

Request Done

Menampiilkan Data GPS

Melihat Data GPS

Return Data

Return URL

Return Image

Menampilkan Map

Gambar 5 Sequence Diagram User Melihat Map

Gambar 5 menjelaskan urutan proses yang terjadi untuk menampilkan

informasi visual user dan bus dengan tampilan map. Sebelum user dapat

mengakses menu, user terlebih dahulu harus sign in ke dalam aplikasi. Setelah

sign in, aplikasi akan menampilkan menu utama. Kemudian yang dilakukan oleh

user untuk menampilkan map adalah memilih menu start.

Setelah memilih menu start, aplikasi akan mengakses data GPS

menggunakan Location API pada J2ME. Application controller kemudian

mengirimkan data tersebut ke server. Server menerima data lalu

memperbaharuinya ke dalam database. Selanjutnya aplikasi akan menampilkan

data tersebut, sehingga user dapat melihat data GPS. Kemudian user melanjutkan

ke tahap berikutnya, yaitu memilih mode map. Setelah aplikasi mendapatkan data

mode map yang dipilih oleh user, controller mengirimkan data tersebut ke server.

Server mengolah data yang diberikan aplikasi kemudian mengakses database

untuk mendapatkan latitude dan longitude user. Kemudian server akan

memberikan url yang kemudian ditangkap oleh application controller.

Application controller me-request url yang didapat dari server, sehingga

Page 8: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

10

didapatkan map yang berupa image dari Google Maps. Controller kemudian

menangkap map tersebut dan menampilkannya pada aplikasi.

Class Diagram dari sistem yang dibangun ditunjukkan Gambar 6. Class

MyBusTracker merupakan class utama pada class diagram yang dirancang.

Dalam class ini terdapat semua fungsi yang diperlukan untuk menjalankan

aplikasi, class yang lain hanya mengakses fungsi dari class utama tersebut.

Sehingga setiap class yang ada pada class diagram tersebut memiliki hubungan

dengan class MyBusTracker.

Gambar 6 Class Diagram Sistem

Deployment Diagram dari sistem yang dibangun ditunjukkan Gambar 7.

Terlihat bahwa terdapat beberapa perangkat yang digunakan saat deployment,

yaitu sebuah komputer yang bertugas sebagai server yang di dalamnya terdapat

database yang digunakan untuk menyimpan data-data, serta J2ME device untuk

client yang bertindak sebagai pengguna aplikasi.

Gambar 7 Deployment Diagram

Admin Web

User

Web Server DatabaseMonitor Komputer

J2ME Device

Page 9: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

11

5. Perancangan Tabel

Tabel Admin_Pwd berfungsi menampung attribute-atrtibute admin, yaitu

user_id dan password. Terdapat dua field dalam tabel Admin_pwd ini, yaitu uid

yang merupakan field bertipe varchar, berfungsi untuk menampung user_id

admin. Pass merupakan field bertipe varchar, berfungsi untuk menampung

password admin. Struktur tabel Admin_Pwd ditunjukkan pada Tabel 1.

Tabel 1 Struktur Data Tabel Admin_Pwd

Tabel All_Data berfungsi menampung semua data user. Dalam tabel ini

terdapat delapan field yaitu uid, pass, ses_id, type, route, lat, lon, cur_timestamp,

TotalDist, dan TotalTime. Uid merupakan field bertipe varchar, berfungsi untuk

menampung user id user. Field ini merupakan primary key dalam tabel. Pass yang

merupakan field bertipe varchar, berfungsi menyimpan password user. Ses_id

adalah field bertipe varchar, yang berfungsi menampung id yang diberikan saat

user sign in ke dalam sistem. Field ini berfungsi sebagai security untuk

memastikan user tidak sign in dari dua atau lebih device. Field berikutnya adalah

type, field ini berfungsi menampung data tipe user, apakah user adalah calon

penumpang atau bus. Field route berfungsi menampung data route bus, field ini

bertipe varchar. Field lat bertipe double berfungsi menyimpan data latitude user.

Field lon bertipe double berfungsi menyimpan data longitude user. Field

cur_timestamp bertipe timestamp, berfungsi menampung waktu terakhir user

meng-update data. Field TotalDist bertipe float, berfungsi menampung total jarak

yang telah ditempuh oleh bus. Field TotalTime bertipe float, berfungsi

menampung total waktu bus online. Struktur tabel AllData ditunjukkan pada

Tabel 2.

Tabel 2 Struktur Data Tabel All_Data

Field Type Length Keterangan

uid* Varchar 20 Primary key

pass Varchar 20 password

ses_id Varchar 50 id

type Varchar 5 Tipe user

route Varchar 50 Route bus

lat Double - latitude

lon Double - longitude

cur_timestamp Timestamp - Waktu terakhir

TotalDist Float - Total jarak

TotalTime Float - Total waktu

Field Type Length Keterangan

uid* varchar 20 Primary key

pass varchar 20 password

Page 10: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

12

6. Pembangunan Sistem

Arsitektur Sistem yang dibangun ditunjukkan pada Gambar 8. Client

terbagi menjadi dua yaitu, user dan admin. User mengirimkan request

(permintaan) kepada server menggunakan mobile phone berbasis J2ME dengan

konektivitas via GPRS melalui WAP Gateway operator telekomunikasi,

sedangkan admin mengirimkan request kepada server menggunakan komputer.

Server akan menerima request dari client dan menghubungkan ke database

server, kemudian memproses request tersebut, lalu mengirimkan response

(tanggapan) ke client.

Gambar 8 Arsitektur Sistem

Aplikasi Mobile merupakan client dari sistem yang dibangun. Pada saat

aplikasi dijalankan, akan tampil splashscreen dan selang beberapa saat muncul

tampilan utama yang berisikan dua pilihan yaitu, sign in dan create account.

Untuk dapat menggunakan aplikasi, pengguna harus memiliki account terlebih

dahulu. Pengguna dapat membuat account baru dengan memilih create account

pada tampilan utama, maka aplikasi akan menampilkan Form Create Account.

Setelah pengguna membuat account, baru kemudian pengguna dapat

menggunakan aplikasi dengan sign in ke dalam aplikasi. Untuk sign in ke dalam

aplikasi, pengguna dapat memilih sign in pada tampilan utama aplikasi. Gambar 9

menunjukkan tampilan utama aplikasi mobile.

Gambar 9 Tampilan Utama

Pada Form Create Account, pengguna diminta memasukkan username dan

password yang diinginkan, serta confirm password. Setelah itu, data yang

Page 11: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

13

dimasukkan pengguna akan dikirim ke server setelah melalui beberapa

pemeriksaan, yaitu pengguna sudah mengisi semua data yang diperlukan, dan

password yang dimasukkan sesuai dengan confirm password.

Kode Program 1 Create New Account

Baris pertama Kode Program 1 menunjukkan bahwa aplikasi mengirimkan

data username dan password ke server untuk kemudian diolah ke dalam database.

Kode Program 2 Insert User

Baris ke-3 dan ke-5 Kode Program 2 menunjukkan bahwa server me-

respond request dari client, dalam hal ini adalah mobile device. Respond dari

server ini kemudian ditangkap oleh aplikasi mobile lalu ditampilkan dalam bentuk

alert sebagai konfirmasi, apakah account berhasil dibuat atau tidak.

Mekanisme yang hampir sama juga dilakukan pada saat pengguna sign in ke

dalam aplikasi. Kemudian setelah aplikasi memastikan bahwa data tidak kosong,

aplikasi mengirimkan data yang dimasukkan pengguna ke server. Server akan me-

respond request dari client setelah mengecek ke dalam database apakah username

dan password yang dikirimkan cocok. Jika username atau password tidak cocok,

maka aplikasi akan menampilkan alert peringatan. Jika username dan password

yang dimasukkan cocok, maka aplikasi akan mendapatkan data lokasi user

(latitude dan longitude) menggunakan Location API pada J2ME. Potongan kode

program untuk mendapatkan lokasi user dapat dilihat pada Kode Program 3.

Kode Program 3 Mendapatkan Latitude dan Longitude

Aplikasi akan mendapatkan lokasi user setiap 30 detik kemudian

mengirimkan data tersebut ke server. Setelah proses tersebut, aplikasi akan

1. HttpConnection conn = (HttpConnection)

Connector.open("http://locator.16mb.com/SignIn.php?uid=" + uid + "&pass=" +

pass);

2. int code = conn.getResponseCode();

3. switch (code) {

4. case HttpConnection.HTTP_OK:

5. String content = readData(conn, code);

6. message = content;

7. }

8. conn.close();

1. GPSstatus = "Getting data ...";

2. provider = LocationProvider.getInstance(criteria);

3. Location location = provider.getLocation(60);

4. Coordinates coordinates = location.getQualifiedCoordinates();

5. if (coordinates != null) {

6. GPSstatus = "GPS active";

7. latitude = coordinates.getLatitude();

8. longitude = coordinates.getLongitude();

9. } else {

10. GPSstatus = "GPS inactive";}

1. $sqlInsert = "INSERT INTO alldata (uid, pass, type, cur_timestamp) VALUES

('".$_GET["uid"]."', '".$_GET["pass"]."', 'user', NOW())";

2. if (!mysql_query($sqlInsert,$con)) {

3. echo "The UserName already exist. Please Enter another UserName.";

4. } else {

5. echo "Success! Account Created!";

6. }

Page 12: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

14

menampilkan menu pada aplikasi mobile. Terdapat 3 pilihan yang terdapat dalam

menu, yaitu start, help, dan credits seperti ditunjukkan Gambar 10.

Gambar 10 Tampilan Menu Aplikasi Mobile

Menu about memberikan informasi mengenai pembangun bus tracking

system ini, dan menu help memberikan petunjuk mengenai jalannya aplikasi.

Menu utama dalam aplikasi ini adalah menu start. Saat user memilih menu start,

aplikasi akan menampilkan form GPS. Form GPS memberikan informasi

mengenai status GPS user, apakah active atau inactive. Form ini juga

menampilkan data lokasi user berupa latitude dan longitude seperti ditunjukkan

Gambar 11.

Gambar 11 Form GPS

Terdapat dua command dalam form ini, yaitu back dan next. Command back

tersedia untuk kembali ke menu sedangkan command next hanya tersedia jika

aplikasi berhasil mendapatkan latitude dan longitude user. Command next

digunakan untuk melanjutkan ke form berikutnya, yaitu form mode map. Pada

form mode map terdapat choice group yang berisi pilihan mode map yang

tersedia, yaitu regular, track by specific bus, dan track by route. Mode regular

menampilkan semua bus dan user online dalam radius tertentu dari user dengan

tampilan map. Mode track by specific bus menampilkan user dan bus online yang

dipilih dengan tampilan map. Mode track by route menampilkan user dan semua

bus online dengan route yang pilih dengan tampilan map.

Page 13: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

15

Gambar 12 Form Mode Map

Gambar 12 menunjukkan Form Mode Map. Data yang didapatkan pada

form ini akan dikirim ke server. Kode Program 4 menunjukkan penyaringan data

berdasarkan mode yang dilakukan oleh aplikasi untuk kemudian dikirim ke

server.

Kode Program 4 Penyaringan Data Mode Map Yang Ditentukan User

Di server data yang diterima akan diolah sehingga menghasilkan sebuah url

untuk mendapatkan map berupa image dari Google. Aplikasi kemudian membaca

url yang telah diolah oleh server tersebut, kemudian menembakkannya untuk

mendapatkan image Google map. Proses tersebut masukkan ke dalam sebuah

fungsi yang mengembalikan sebuah image map, seperti ditunjukkan Kode

Program 5.

Kode Program 5 Mendapatkan Image Map

1. if (useLegend == false) {

2. if (mode.equalsIgnoreCase("Regular")) {

3. urls = "http://locator.16mb.com/ShowAll.php?width=" + width +

"&height=" + height + "&me=" + uid + "&radius=" + radius;

4. }

5. if (mode.equalsIgnoreCase("Track Specifik Bus")) {

6. urls = "http://locator.16mb.com/ShowAll.php?width=" + width +

"&height=" + height + "&me=" + uid + "&track=" + plat;

7. }

8. if (mode.equalsIgnoreCase("Track By Route")) {

9. urls = "http://locator.16mb.com/ShowAll.php?width=" + width +

"&height=" + height + "&me=" + uid + "&route=" + route;

10. }

11. }

12. if (useLegend == true) {

13. if (mode.equalsIgnoreCase("Track By Route")) {

14. urls = "http://locator.16mb.com/ShowAll.php?width=" + width +

"&height=" + height + "&me=" + uid + "&route=" + route + "&legend=true";

15. }

16. if (mode.equalsIgnoreCase("Regular")) {

17. urls = "http://locator.16mb.com/ShowAll.php?width=" + width +

"&height=" + height + "&me=" + uid + "&radius=" + radius + "&legend=true";

18. }

19. }

1. connection = (HttpConnection) Connector.open(url);

2. connection.setRequestMethod(HttpConnection.GET);

3. inputStream = connection.openInputStream();

4. map = Image.createImage(inputStream);

5. return map;

Page 14: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

16

Berikutnya adalah penggambaran image map pada aplikasi. Image digambar

pada Canvas di J2ME, seperti ditunjukkan Kode Program 6.

Kode Program 6 Penggambaran Gambar Map Di Dalam Aplikasi Mobile

Tampilan map pada aplikasi mobile dengan mode-mode yang tersedia

ditunjukkan pada Tabel 3.

Tabel 3 Tampilan Map Dengan Beragam Mode

Mode Regular Mode Regular dan Use Legend

Mode Track By Specifik Bus

Mode Track By Route Mode Track By Route dan

Use Legend

1. Image map = getGoogleMap(this.url);

2. if (map != null) {

3. g.drawImage(map, 0, 0, Graphics.LEFT | Graphics.TOP);

4. } else {

5. g.setColor(255, 0, 0);

6. g.drawString("Getting Image..", 20, 20, 0);

7. }

Page 15: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

17

Pada tampilan map, terdapat command back dan show legend. Command

show legend hanya akan tampil apabila user menggunakan mode use legend.

Legend berisi keterangan label pada map, username, kecepatan bus dan estimated

time of arrival suatu bus (ETA). Pada legend terdapat pula keterangan apabila user

terdeteksi di dalam bus, dalam hal ini user berada sekitar 20 meter dari bus.

Tabel 4 Tampilan Legend Aplikasi Mobile

Legend User Is In The Bus Legend

Penghitungan ETA pada legend dilakukan dengan menggunakan rumus

seperti berikut :

v = kecepatan rata-rata (km/jam)

s = total jarak tempuh (km)

t = total waktu tempuh (jam)

Kecepatan rata-rata dihitung dengan cara membagi total jarak yang

ditempuh dengan total waktu yang ditempuh selama 10 menit atau pada 20 data.

Data tersebut diperoleh dari aplikasi yang melakukan update data setiap 30 detik,

ini berarti dalam 10 menit terdapat 20 data. Kemudian data ke-21 akan menjadi

data pertama. Sehingga dapat disimpulkan bahwa total jarak keseluruhan sama

dengan jarak rata-rata 19 data ditambah dengan 1 data terbaru yaitu data jarak ke-

21. Waktu keseluruhan sama dengan waktu rata-rata 19 data ditambah dengan

Page 16: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

18

satu data terbaru yaitu data waktu ke-21. Jarak rata-rata 19 data dapat diperoleh

dari 19/20*jarak keseluruhan, hal yang sama juga dilakukan pada perhitungan

waktu rata-rata. Untuk mempermudah perhitungan maka diberikan konstanta 0,95

yang merupakan hasil dari 19/20. Kode program 7 merupakan proses perhitungan

total jarak dan total waktu.

Kode Program 7 Penghitungan Total Jarak dan Total Waktu

Aplikasi Web digunakan oleh admin untuk melakukan pemantau bus dan

manage data. Untuk masuk ke dalam aplikasi, admin harus melakukan login

terlebih dahulu. Setelah berhasil login ke dalam aplikasi, maka sistem akan

menampilkan halaman dashboard. Pada halaman dashboard terdapat beberapa

menu seperti map, management data, about dan help. Dalam menu map, admin

dapat melihat posisi bus dengan tampilan map dari Google Maps. Admin juga

dapat mengetahui apakah suatu bus online ataupun offline. Bus dikatakan offline

jika sistem tidak mendapatkan lokasi bus dalam 15 menit. Bus offline ditandai

dengan marker berwarna abu-abu. Pada bagian bawah halaman ini terdapat

keterangan yang menujukkan label pada peta, warna, dan waktu terakhir

pengiriman data yang dilakukan. Keterangan yang dituliskan dengan warna abu-

abu juga menunjukkan bus yang offline, sesuai dengan marker pada map.

Halaman Map pada aplikasi Web seperti ditunjukkan Gambar 13.

Gambar 13 Halaman Map Aplikasi Web

1. $distance = $row['DISTANCE'];

2. $interval = $row['TIMEDIFF'];

3. $totalDistance = $row['TotalDist'];

4. $totalInterval = $row['TotalTime'];

5.

6. if ($interval > 0) {

7. $totalDistance = ($totalDistance * 0.95) + $distance;

8. $totalInterval = ($totalInterval * 0.95) + $interval;

9. }

Page 17: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

19

Menu berikutnya adalah management data, pada halaman ini admin dapat

melakukan tambah, ubah, dan hapus data. Apabila admin menambah data maka

data yang dimasukkan secara default akan bertipe bus. Tombol toogle type

digunakan untuk mengubah tipe dari data yang ada dari bus menjadi user dan

begitu pula sebaliknya. Saat admin memilih tombol edit, maka data yang

ditampilkan akan berubah menjadi textfield. Data kemudian dapat diubah oleh

admin. Menu berikutnya adalah menu about yang menampilkan informasi

mengenai pembangun sistem. Menu terakhir adalah menu help, menu ini berguna

untuk memudahkan admin dalam menggunakan aplikasi website. Halaman ini

berisi keterangan dan penjelasan lengkap mengenai penggunaan website.

Halaman Management Data pada aplikasi admin ditunjukkan Gambar 14.

Gambar 14 Halaman Management Data

7. Pengujian Sistem

Pengujian Alfa merupakan pengujian program yang dilakukan oleh

pembuat aplikasi ataupun orang-orang yang terlibat di dalamnya. Pengujian alfa

hanya untuk sirkulasi internal dan masalah (error) atau ketidaklengkapan pada

aplikasi yang dapat diduga sebelumnya [10]. Tabel 5 merupakan pengujian alfa

pada sistem yang dibangun.

Tabel 5 Pengujian Alfa

Pengujian Status

Sign In Valid

Create Account Valid

Mendapatkan GPS data Valid

Update GPS data setiap 30 detik Valid

Map tampil sesuai mode Valid

Map refresh setiap 30 detik Valid

Online/Offline Valid

Edit data user (insert, update, delete) Valid

Page 18: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

20

Pengujian Beta dilakukan dengan cara pembagian kuesioner kepada

sample user. Sample user berjumlah 30 responden yang berumur 17-30 tahun

yang rata-rata dalam sebulan menggunakan jasa transportasi bus sebanyak 1-4

kali. Responden berasal dari berbagai kalangan seperti guru, mahasiswa, siswa,

karyawan dan swasta. Kelompok pengujian beta tidak menyertakan orang-orang

yang terlibat dalam pembuatan aplikasi. Metode yang digunakan dengan cara

memberikan kuesioner yang berisi pertanyaan seputar aplikasi.

Dari hasil yang diperoleh dari jawaban para responden terhadap kuesioner,

maka dapat disimpulkan bahwa sebanyak 83,3% menjawab bahwa responden

belum pernah melihat aplikasi sejenis ini sebelumnya. Kemudian sebanyak 73%

menjawab bahwa aplikasi ini mudah digunakan, dan 83,3% menjawab bahwa

tampilan aplikasi menarik. Responden yang menjawab sistem dapat membantu

untuk menemukan lokasi bus yang ingin ditumpangi sebesar 80%. Jumlah

presentase dari responden yang menjawab aplikasi ini membantu dalam

melakukan koordinasi saat penjemputan penumpang sebesar 70%.

6. Simpulan

Simpulan dari penelitian ini adalah bus tracking system berbasis J2ME dan

Web Server menggunakan teknologi Global Positioning System dapat dirancang

dan dibangun dengan cara mobile phone mendapatkan data GPS berupa latitude

dan longitude menggunakan Location API pada J2ME. Data tersebut kemudian

dikirimkan ke server, server lalu meng-update data tersebut ke dalam database.

Setelah itu untuk menampilkan map, mobile phone melakukan request ke server.

Kemudian server menentukan data yang akan ditampilkan dari database ke dalam

map sesuai dengan request dalam bentuk url. Mobile phone lalu menangkap url

yang dikirimkan oleh server, kemudian me-request ke Google Map. Maka mobile

phone akan mendapatkan image map dari Google Maps dan menampilkannya ke

dalam aplikasi. Dari hasil pengujian didapatkan kesimpulan bahwa sistem yang

dibangun membantu dalam memberikan informasi bus yang dicari. Adapun saran

yang dapat dimanfaatkan bagi pengembangan dimasa mendatang yaitu sistem

yang dibangun dapat dikembangkan dengan menggunakan teknologi Cloud.

7. Daftar Pustaka

[1] Pingdom, 2012, Nokia and Symbian still on top of the mobile web, but for

how long, http://royal.pingdom.com/2012/02/22/nokia-and-symbian-still-

on-top-of-the-mobile-web-but-for-how-long/. Diakses tanggal 3 Maret 2012.

[2] Tim Pengembang JENI, 2007, Buku Pedoman JENI, Malang: Depdiknas.

[3] Hakim, 2011, Monitoring Lokasi Anak Menggunakan Handphone ber-GPS,

Institut Teknologi Sepuluh November.

[4] Kumara, Kadek, 2011, Sistem Pelacakan Posisi Bus Trans Jogja Berbasis

Mobile dan Web Server, Sekolah Tinggi Manajemen Informatika dan

Komputer Amikom Yogyakarta.

Page 19: Rancang Bangun Bus Tracking System Berbasis J2ME dan Web ...repository.uksw.edu/bitstream/123456789/2418/2/T1_672008323_Full... · Symbian masih merupakan sistem operasi dengan pengguna

21

[5] Tim Pengembang Timble,

http://ww2.trimble.com/GPS_tutorial/whatGPS.aspx. What is GPS. Diakses

tanggal 20 Mei 2012.

[6] Mahmoud, Qusay, 2004, J2ME and Location-Based Services,

http://developers.sun.com/mobility/apis/articles/location/. Diakses tanggal

20 Maret 2012.

[7] Tim Pengembang Google, Static Maps API V2 Developer Guide,

https://developers.google.com/maps/documentation/staticmaps/. Diakses

tanggal 20 Maret 2012.

[8] Pressman, Roger.S. 2001. Software Engineering : A Practioner’s Approach.

4th, Boston: McGrawHill.

[9] UML 1.3a lphaR S, Object ManagemenGroup Inc, March 1999.

[10] Vaughan, Tay, 2004, Multimedia: Making It Work, Edisi 6, Yogyakarta:

ANDI.