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