Penentuan lokasi layanan kesehatan terdekat

advertisement
Google Static Maps API
Google Static Maps API mengembalikan
sebuah image (baik bertipe GIF, PNG atau
JPEG) untuk merespon HTTP request melalui
sebuah URL. Untuk setiap permintaan,
pengguna dapat menentukan lokasi dari peta,
ukuran gambar, tingkat zoom, jenis peta, dan
penanda sebuah lokasi dalam peta.
Format URL untuk google static maps API
mengikuti :
http://maps.google.co.id/maps/api/staticmap
?parameter
Euclidean kedua objek dapat dilihat pada
Rumus i (Ratnasari 2008) :
𝑑 𝑥, 𝑦 =
Jarak Euclidean
Metode
Euclidean
adalah
metode
pengukuran jarak antara dua objek berdasarkan
akar jumlah kuadrat jarak kedua objek. Metode
pengukuran jarak Euclidean menetapkan bahwa
jarak antara objek A ke objek B adalah sama
dengan jarak objek B ke objek A. Rumus umum
yang digunakan untuk menghitung jarak
Euclidean adalah sebagai berikut : Jika objek A
memiliki koordinat (x1,x2,…,xn) dan objek B
memiliki koordinat (y1,y2,…,yn), maka jarak
2
+⋯
(1)
METODE PENELITIAN
Penelitian ini dibagi dalam beberapa
tahapan, yaitu studi pustaka, analisis
permasalahan, perancangan, implementasi,
pengujian, analisis kinerja. Alur metode
penelitian dapat dilihat pada Gambar 4.
Parameter
yang
dikirim
untuk
mendefinisikan sebuah peta adalah sebagai
berikut:
1. Location Parameter
 Center : mendefinisikan pusat peta,
parameter ini mengambil sebuah lokasi
sebagai pasangan {latitude, longitude}
yang dipisahkan oleh sebuah koma.
 Zoom : mendefinisikan tingkat zoom dari
peta,
yang
menentukan
tingkat
perbesaran dari peta. Parameter ini
mengambil nilai numerik.
2. Map Parameter
 Size : mendefinisikan dimensi segi empat
dari gambar peta. Parameter ini
mengambil format horizontal pixel X
vertical pixel. Sebagai contoh, 500x400
yang berarti lebar 500 pixel dan tinggi
400 pixel.
3. Feature Parameter
 Markers : mendefinisikan satu atau lebih
penanda untuk melampirkan gambar
pada lokasi yang ditentukan. Parameter
ini membutuhkan definisi penanda
tunggal
dengan
parameter
yang
dipisahkan oleh sebuah karakter (|).
4. Report Parameter
 Sensor : menentukan apakah aplikasi
meminta peta statis menggunakan sensor
untuk menentukan lokasi pengguna.
𝑥1 − 𝑦1 2 + 𝑥1 − 𝑦1
+(𝑥𝑛 − 𝑦𝑛)2
Studi Pustaka
Analisis Permasalahan
Perancangan
Implementasi
Pengujian
Analisis Kinerja
Gambar 4 Metode Penelitian.
Studi Pustaka
Dalam tahap ini kegiatan yang dilakukan
adalah mengumpulkan literatur dan informasi
yang berhubungan dengan location based
services, cell identification dan j2me, yang
berupa buku, jurnal, ebook ataupun artikel.
Analisis Permasalahan
Perkembangan teknologi saat ini semakin
maju, salah satu teknologi yang sekarang
berkembang pesat adalah penentuan lokasi
dimana kita berada. Pada saat keadaan darurat
penentuan lokasi khususnya untuk di jalan akan
sangat bermanfaat, contohnya untuk mencari
lokasi layanan kesehatan terdekat dari lokasi
kita. Solusi yang terkenal digunakan adalah
Global Positioning System atau lebih dikenal
dengan GPS. GPS dapat menentukan lokasi
device berada dengan menggunakan teknologi
satelit.
4
Web Server
Client
Cell Id
Cell Id
GPRS
Lokasi
Data rumah sakit
Lokasi
Lokasi
Data rumah sakit
GPRS
Cell Id
Peta
Google Map Server
Database Server
Gambar 5 Arsitektur sistem.
Alternatif lain untuk menentukan lokasi
sebuah device khususnya untuk telepon selular
adalah
dengan
mengidentifikasi
base
transceiver station (BTS) yang terhubung
dengan telepon selular saat ini. Tetapi
kelemahan dari identifikasi BTS ini adalah
akurasinya yang lebih kecil dibandingkan
dengan GPS.
Perancangan
Tahap ini terdiri atas beberapa perancangan
yang dilakukan yaitu, perancangan arsitektur,
perancangan proses, perancangan database,
perancangan antarmuka.
1. Perancangan Arsitektur
Aplikasi ini dibuat mengikuti arsitektur
three tier yaitu terdiri atas sisi client, web
server, dan database server. Client berfungsi
sebagai presentation tier, web server berfungsi
sebagai application tier, dan database server
berfungsi sebagai data tier.
Komponen pertama adalah client yang
berupa telepon selular dimana aplikasi ini
berjalan. Client mendapatkan cell id dari BTS
yang melayani client saat itu.
Komponen kedua adalah server. Server
terdiri atas dua yaitu web server dan google
map server. Web server berfungsi sebagai
aplikasi untuk memproses data lokasi dan data
layanan kesehatan berdasarkan cell id yang
dikirimkan oleh client. Google map server
berfungsi sebagai API untuk mendapatkan peta
lokasi cell id berada. Koneksi client dengan
server terjadi melalui GPRS.
Komponen ketiga adalah database server.
Database server berfungsi untuk menyimpan
data cell id dan data layanan kesehatan.
Arsitektur sistem dapat dilihat pada Gambar 5.
2. Perancangan Proses
Proses
dimulai
ketika
aplikasi
mengidentifikasi cell id. Sebelum client
mengirim cell id ke web server, terjadi proses
httphandshake antara client dan web server.
Cell id dikirim sebagai parameter ke web server
untuk mendapatkan data lokasi, kemudian dari
data lokasi tersebut akan diperoleh data layanan
kesehatan yang berada di sekitar lokasi. Proses
mendapatkan data lokasi dan layanan kesehatan
dilakukan oleh web server dengan melakukan
kueri ke database server. Proses mendapatkan
data lokasi dan data layanan kesehatan
dilakukan sekaligus pada web server agar
koneksi client dengan web server hanya
dilakukan sekali pada awal aplikasi berjalan.
Selanjutnya web server mengirim kembali hasil
proses tersebut ke telepon selular client dengan
berupa format xml.
Client untuk mendapatkan data lokasi dan
data layanan kesehatan dari database server
harus melalui web server. Hal tersebut
dilakukan
karena
client
menggunakan
httprequest untuk mendapatkan sebuah data.
Jadi data dari database server diproses terlebih
dahulu oleh web server agar dapat digunakan
oleh client.
Proses ini dapat dilihat melalui sequence
diagram pada Gambar 6.
Proses kedua adalah menampilkan peta
(Gambar 7). Proses ini terjadi jika proses
pertama (Gambar 6) sudah selesai dilakukan
5
atau saat client sudah memiliki data lokasi yang
ingin dikirim. Aplikasi akan mengirimkan
request kepada google map server dengan
parameter lokasi cell id (latitude dan longitude)
untuk mendapatkan peta static yang akan
ditampilkan di telepon selular .
database server
web server
3. Perancangan database
Entitas dalam sistem ini terdiri atas dua
yaitu, cell id dan healthcare. Satu cell id bisa
terdapat lebih dari satu healthcare atau tidak
terdapat satupun health care yang berada
disekitar cell id tersebut. Di sisi lain, satu
healthcare harus berada di sekitar satu cell id.
Perancangan database dapat dilihat pada
Gambar 8.
client
cellId
latitude
longitude
httphandshake
LAC
tcphandshake
Cell id
teridentifikasi
Cell id
cellid
MNC
1
Terdapat
Lokasi cell id,
nama RS,alamat,
nomor telepon, latitude
dan longitude RS
N
healthcare
XML berisi
Lokasi cell id,
nama RS,alamat,
nomor telepon, latitude
dan longitude RS
Gambar 6 Sequence Diagram proses
identifikasi cellid
Google map server
client
httphandshake
Lokasi
(latitude,longitude,size,
zoom,markers)
Peta ukuran 260 x 240
pixel
Gambar 7 Sequence Diagram proses
menampilkan peta
Phone
Address
Name
longitude
latitude
Gambar 8 Perancangan database
Database digunakan untuk menyimpan data
cell id dan data layanan kesehatan. Database
yang digunakan terdiri atas 2 tabel, yaitu
tbl_cellid dan tbl_healthcare.
Tbl_cellid terdiri atas lima kolom, yaitu
kolom cellId, longitude, latitude, LAC, MNC.
Kolom cellId berisi nomor Id dari cell yang
berada di Indonesia. Kolom latitude dan
longitude berisi nilai koordinat peta dunia.
Kolom LAC berisi nilai Location Area Code
dari cell id. Kolom MNC berisi nilai Mobile
Network Code yang menunjukkan jaringan
provider yang digunakan. Data objek dari
tbl_cellid dapat dilihat pada Lampiran 2.
Tbl_healthcare terdiri atas lima kolom, yaitu
Name, Latitude, Longitude, Address, dan
Phone. Kolom Name berisi nama-nama layanan
kesehatan yang ada di bogor dari data penelitian
Kusumasari (2009). Kolom latitude dan
longitude berisi nilai koordinat peta dari
layanan kesehatan. Address berisi alamat dari
layanan kesehatan. Kolom phone berisi nomor
telepon dari layanan kesehatan. Data objek dari
tbl_healthcare dapat dilihat pada Lampiran 3.
6
4. Perancangan Antarmuka
Perancangan antarmuka pada penelitian ini
lebih difokuskan kepada antarmuka di sisi client
Antarmuka yang akan dibuat terdiri atas
beberapa halaman dan tiap halaman memliki
tiga bagian, yaitu bagian judul, bagian layar
utama, dan bagian menu.
Bagian judul akan berisi nama halaman yang
sedang kita lihat. Bagian layar utama berisi
informasi utama yang akan ditampilkan dari
tiap halaman. Terakhir, bagian menu terdiri
atas 2, yaitu menu 1 dan menu 2. Bagian menu
ini akan berisi perintah yang bisa dilakukan di
halaman tersebut. Perancangan antarmuka di
sisi client dapat dilihat pada Gambar 9
Judul
LAYAR
UTAMA
Menu
1
Menu
2
Gambar 9 Perancangan antarmuka
Implementasi
1. Implementasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan
dalam pengembangan aplikasi ini adalah :




Sistem Operasi : Windows 7 profesional.
Harddisk : 160 GB
Memory RAM : 2 GB
Processor : Intel (R) Pentium (R) Dual CPU
T3400 @ 2.16 GHz.
2. Implementasi Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan
untuk mengimplementasikan kode program
sebagai berikut :
 Aplikasi telepon selular :
- Bahasa pemrograman : Java
- Framework : Java 2 Micro Edition
- Editor : Netbeans 6.8.
- Emulator : Java(TM) Platform Micro
Edition SDK 3.0.
 Aplikasi Server :
- Bahasa Pemrograman : PHP 5.3.0
- DBMS : MySQL 5.0
-
Editor : Notepad ++
Server : Apache
3. Implementasi identifikasi lokasi
Modul
identifikasi
cell
id
di
implementasikan
menggunakan
fungsi
system.getProperty(“com.nokia.mi
d.cellid”) yang ada di j2ME.
Hasil dari identifikasi cell id ini disimpan ke
dalam variabel yang bertipe
data string.
Kemudian variabel ini dikirim sebagai
parameter ke web server menggunakan fungsi
httpconnection
untuk
mendapatkan
informasi lokasi dan data layanan kesehatan.
Cell id akan diproses oleh web server
sebagai kueri ke database server. Hasil kueri
cell id dari database server berupa latitude dan
longitude posisi cell id tersebut di peta. Latitude
dan longitude hasil kueri cell id digunakan
kembali sebagai kueri ke database server untuk
mendapatkan data layanan kesehatan yang
berada di sekitar posisi tersebut. Hasil kueri cell
id dan posisi disusun ke dalam bentuk XML
agar aplikasi client lebih mudah untuk
menggunakannya. Proses ini ditunjukkan oleh
Gambar 10 bagian 1, 2, dan 3.
4. Implementasi mendapatkan list layanan
kesehatan
Proses ini ditunjukkan oleh Gambar 10
bagian 3. Modul list layanan kesehatan
diimplementasikan pada web server. Setelah
lokasi cell id (dalam hal ini latitude dan
longitude) diperoleh maka akan dilakukan
perhitungan jarak antara latitude, longitude cell
id dengan semua latitude dan longitude layanan
kesehatan yang ada di database. Perhitungan
jarak yang digunakan adalah perhitungan jarak
Euclidean menggunakan persamaan (1) dengan
koordinat yang memiliki dua dimensi yaitu
objek A adalah (x1,x2) dan objek B adalah
(y1,y2). Dengan demikian persamaan menjadi
Jarak =
(𝑥1 − 𝑦1)2 + (𝑥2 − 𝑦2)2 ,
dengan,
-
𝑥1 = latitude cell id
𝑥2 = longitude cell id
𝑦1 = latitude layanan kesehatan
𝑦2 = longitude layanan kesehatan
Hasil dari perhitungan jarak tersebut difilter
dengan sebuah threshold. Hasil dengan nilai
kurang dari threshold akan dikeluarkan sebagai
hasil kueri. Threshold yang digunakan adalah
0.015 dengan pertimbangan jarak tersebut
7
masih dalam peta berukuran panjang 240 pixel
dan tinggi 260 pixel serta level zoom adalah 14.
1
1.
mulai
Telepon
Selular
Context
Discovery
Mendapatkan Cell Id
2
3
Dapatkan data layanan kesehatan
berdasarkan latitude dan longitude
Active
Context
4
Web
server
Dapatkan Latitude dan
longitude cell id
Context
Management
Web
server
Susun ke XML
Ya
Behaviour
Adaptation
Tidak
Pilih
Menu
Tampilkan
peta cell id
Lihat
list
Telepon
Selular
Lihat list
Tampilkan list
layanan
keseshatan
Dapatkan peta
Tampilkan info
Ya
Dapatkan Peta
Tampilkan peta
cell id dan RS
Tidak
2.
3.
4.
5.
lokasi berupa (latitude,longitude) cell
id,
size = 240x260 pixel,
zoom = 14,
marker dengan pusat sama dengan
lokasi cell id.
sensor = false
Peta
yang berupa
image
tersebut
ditampilkan ke layar telepon selular. Peta yang
dihasilkan adalah peta static. Ukuran 240 x 260
pixel digunakan karena sesuai dengan ukuran
layar pada emulator yang digunakan untuk
pembangunan sistem. Zoom 14 digunakan
dengan pertimbangan pada tingkat perbesaran
tersebut informasi jalan protokol yang
dihasilkan peta dapat terlihat jelas.
6. Implementasi database
Data
Null?
Lihat posisi
cell id
static map API adalah berupa image dengan tipe
PNG. Parameter yang digunakan adalah :
Keluar? Tidak
Database cell id dan layanan kesehatan
diimplementasikan dengan database MySQL.
Data
cell
id
diperoleh
dari
http://www.opencellid.org berupa file excel.
Data dari http://www.opencellid.org terdiri atas
12 kolom, yaitu id, lat, lon, mcc, mnc, lac,
cellid,
range,
nbSamples,
created_at,
updated_at. Sebelum data tersebut dimasukkan
ke dalam database, dilakukan praproses terlebih
dahulu, yaitu menghapus kolom yang tidak
diperlukan, kolom yang dihapus adalah id,
range, nbSamples, create_at, update_at, Range.
Kemudian file diubah menjadi CSV, dan
memuat file CSV tersebut ke MySQL dengan
kueri
“LOAD DATA INFILE
'/path/db_name.csv' into table
db_name FIELDS TERMINATED BY ','
ENCLOSED '"' LINES TERMINATED BY
'\n'; ”. Data posisi layanan kesehatan
diperoleh dari data penelitian Kusumasari
(2009). Contoh database cell id dan layanan
kesehatan dapat dilihat pada Lampiran 4 dan 5.
Contoh data cell id yang didapat dari
http://www.opencellid.org dapat dilihat pada
Lampiran 6.
7. Implementasi antarmuka
Ya
selesai
Gambar 10 Diagram alir sistem
5. Implementasi menampilkan peta
Proses ini ditunjukkan oleh Gambar 10
bagian
4.
Modul
menampilkan
peta
diimplementasikan menggunakan google static
maps API. Hasil yang dikembalikan oleh google
Implementasi antarmuka aplikasi client
menggunakan library Lightweight User
Interface Toolkit (LWUIT) (Knudsen 2008).
Aplikasi ini terdiri atas 4 form, yaitu main menu
form, map form, list form, dan info form.
Main menu form berisi Mobile Location di
bagian judul. Bagian layar utama berisi dua
buah tombol bergambar yang masing-masing
akan menampilkan map form dan list form jika
8
dipilih. Di bagian menu terdapat menu exit
untuk keluar dari aplikasi.
Antarmuka list form dapat dilihat pada
Gambar 13.
Antarmuka main menu form dapat dilihat
pada Gambar 11.
Gambar 13 Antarmuka list form
Gambar 11 Antarmuka main menu form
Map form di bagian judul berisi “MAP”.
Bagian layar utama berisi image peta yang
diperoleh dari google map. Pada bagian menu
terdapat menu exit dan menu show list.
Antarmuka map form dapat dilihat pada
Gambar 12.
Info form pada bagian judul berisi nama
layanan kesehatan yang dipilih. Bagian layar
utama berisi informasi alamat dan nomor
telepon dari layanan kesehatan yang dipilih
pada list form jika informasi itu tersedia pada
database. Bagian menu terdapat menu show
map yang akan menampilkan map form dengan
posisi cell id dan posisi layanan kesehatan jika
dipilih.
Antarmuka info form dapat dilihat pada
Gambar 14.
Gambar 12 Antarmuka map form
List form berisi “Health Care” di bagian
judul. Bagian layar utama berisi list layanan
kesehatan yang berada di sekitar cell id atau
BTS. Bagian ini dapat dipilih salah satu untuk
menampilkan info alamat dan no telepon dari
layanan kesehatan tersebut. Bagian menu terdiri
atas menu pilih untuk memilih layanan
kesehatan yang akan dilihat informasi
selanjutnya dan exit untuk keluar aplikasi.
Gambar 14 Antarmuka info form
Pengujian
Perangkat yang digunakan dalam pengujian
berupa telepon selular dengan spesifikasi :
 Sistem Operasi : Symbian OS v9.4, Series
60 rel. 5.
 CPU : ARM 11 434 MHz processor.
 Java : MIDP 2.1.
9
1. Parameter Pengujian
Pengujian yang dilakukan adalah pengujian
waktu dan ketersediaan.
Pengujian
waktu
dilakukan
untuk
mengetahui berapa lama respon aplikasi pada
telepon selular. Dilakukan 5 kali pengujian,
pengujian dimulai dari aplikasi dijalankan
sampai menampilkan halaman awal aplikasi.
Pengujian availabilitas dilakukan untuk
melihat apakah aplikasi dapat berjalan dengan
baik di lokasi jalan-jalan protokol di kota
Bogor.
2. Skenario Pengujian
Pengujian waktu dilakukan sebanyak 5 kali
di 5 lokasi, yaitu samping Plaza Jambu Dua,
depan IPB Gunung Gede, Depan STIE
Binaniaga Bogor, depan Gereja Katedral Bogor,
depan Museum Etnobotani. Hal tersebut
dilakukan karena tidak semua cell id yang
diperoleh terdapat dalam database dan posisi
tersebut yang cukup banyak terdapat layanan
kesehatan di sekitarnya.
Pengujian ketersediaan dilakukan sebanyak
3 kali pengulangan di sepanjang jalan protokol
Bogor. Jalan-jalan tempat dilakukannya
pengujian yaitu Jalan Pajajaran, Jalan Ir. H.
Juanda, Jalan Dokter Semeru, Jalan K. H. Soleh
Iskandar, Jalan Kapten Muslihat, Jalan Jalak
Harupat, dan Jalan Merdeka.
Analisis Kinerja
Analisis kinerja dilakukan untuk mengetahui
seberapa baik sistem bekerja yang dianalisis
berdasarkan hasil pengujian sesuai dengan
parameter dan skenario uji.
HASIL DAN PEMBAHASAN
Pengujian
Penulis
melakukan
pengidentifikasian
dengan menggunakan kartu Indosat, XL dan
Telkomsel, tetapi untuk Indosat dan Telkomsel
di semua jalan yang diujikan cell id yang
teridentifikasi tidak ada satu pun yang sesuai
dengan cell id yang terdapat dalam database.
Oleh karena itu, uji hasil waktu respon dan
ketersediaan hanya dilakukan pada kartu XL.
Pengambilan data untuk pengujian waktu
dilakukan di 5 lokasi cell id yang terdapat
dalam database sebanyak 5 kali percobaan.
Perhitungan
waktu
dilakukan
dengan
menggunakan stopwatch. Hasil dari pengujian
waktu dapat dilihat pada Tabel 2. L1 adalah
samping Plaza Jambu Dua, L2 adalah depan
IPB Gunung Gede, L3 adalah depan Gereja
Katedral, L4 adalah depan galeri Indosat, L5
adalah depan Museum Etnobotani Bogor. U1,
U2, U3, U4, dan U5 menyatakan pengujian
pertama sampai kelima untuk lebih jelas dapat
dilihat pada Tabel 1. Peta hasil pengujian di
lima lokasi ini dapat dilihat pada Lampiran 6.
Tabel 1 Keterangan Lokasi.
Kode
Lokasi
L1
Samping Plaza Jambu Dua
L2
Depan IPB Gunung Gede
L3
Depan Gereja Katedral Bogor
L4
Depan STIE Binaniaga Bogor
L5
Depan Museum Etnobotani Bogor
Tabel 2 Hasil uji waktu respon
U3
U4
U5
Ratarata
L1
8.85 7.48 7.68
7.52
7.56
7.82
L2
7.92 9.41 7.97
8.25
7.75
8.26
L3
8.34 7.48 9.38
7.71
8.06
8.19
L4
9.92 8.14 8.70
9.13
7.97
8.77
L5
7.69 9.81 7.73
7.93
7.45
8.12
Lokasi
U1
U2
Pengujian ketersediaan dilakukan dengan
cara mencatat semua cell id yang terdeteksi di
sepanjang jalan raya yang diujikan (N).
Aplikasi dikatakan berhasil jika dapat
menampilkan peta posisi cell id berada (n).
Batasan tiap-tiap jalan yang diuji adalah:
 Jalan Pajajaran : mulai perempatan Plaza
Jambu Dua sampai IPB Baranang Siang.
 Jalan Ir. H. Juanda : mulai Bogor Trade
Mall sampai SMPN 1 Bogor.
 Jalan Kapten Muslihat : mulai Gereja
Katedral Bogor sampai Plaza Jembatan
Merah
 Jalan H. Soleh Iskandar : mulai Perempatan
Jalan Baru sampai Rumah Sakit Ibu dan
Anak Hermina.
 Jalan Dokter Semeru : Pertigaan Jln Perintis
kemerdekaan sampai Rumah Sakit Karya
Bakti
 Jalan Jalak Harupat : mulai depan Plaza
Pangrango sampai Istana Bogor.
 Jalan Merdeka : Jalan Ciwaringin sampai
Jalan Kapten Muslihat.
10
Download