IMPLEMENTASI APLIKASI ANDROID UNTUK PENCARIAN LOKASI WIFI TERDEKAT DENGAN ALGORITME HAVERSINE DAN GREAT CIRCLE (STUDI KASUS: JARINGAN NIRKABEL IPB)
MUHAMMAD LINGGA PRAJA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Implementasi Aplikasi Android untuk Pencarian Lokasi WiFi Terdekat dengan Algoritme Haversine dan Great Circle (Studi Kasus: Jaringan Nirkabel IPB) adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, April 2015 Muhammad Lingga Praja NIM G64100077
ABSTRAK MUHAMMAD LINGGA PRAJA. Implementasi Aplikasi Android untuk Pencarian Lokasi WiFi Terdekat dengan Algoritme Haversine dan Great Circle (Studi Kasus: Jaringan Nirkabel IPB). Dibimbing oleh HERU SUKOCO. Teknologi wireless (WiFi) telah menjadi standar dalam dunia teknologi informasi. Pertukaran data melalui media transmisi udara dapat membantu manusia dalam bertukar informasi secara dinamis, fleksibel, dan cepat. Tujuan dari penelitian ini adalah untuk mengembangkan database dan aplikasi berbasis Android untuk mengelola perangkat WiFi. Tujuan tersebut memfasilitasi pengguna untuk memilih koneksi WiFi terbaik di sekitar Institut Pertanian Bogor (IPB). Jarak dan daya transmisi sinyal adalah parameter yang digunakan dalam memilih koneksi terbaik. Informasi jarak dan sistem navigasi menuju titik akses point WiFi dihitung dengan algoritma haversine dan great Circle. Android API menghitung nilai frekuensi dan kekuatan sinyal WiFi. Persentase rasio dari jarak antara haversine dan great circle adalah 61.84%. Pengguna menggunakan rasio tersebut untuk mempertimbangkan posisi terbaik ketika mencari titik akses WiFi. Semua fungsi dalam pengembangan sistem berjalan dengan baik. Kata kunci: Android, API, great circle, haversine, WiFi
ABSTRACT MUHAMMAD LINGGA PRAJA. Android Application Implementation for nearby IEEE 802.11 WiFi Standard Locations Search using Haversine and Great Circle Algorithms (Study Case: IPB Wireless Network). Supervised by HERU SUKOCO. Wireless technology has become a standard in the world of computer network technology. Data exchange occurs through the air transmission medium that can assist human beings in exchanging information dynamically, flexible, and fast. The purpose of this research is to develop a database and an Android-based application to manage WiFi devices. It facilitates users in choosing the best WiFi connection around the Bogor Agricultural University. Distance and signal transmission power are the parameters used in selecting the best connection. Distance information and navigation systems to the WiFi signal access point are calculated using haversine and great circle algorithms. The Android's API calculates the values of frequency and power of WiFi signals. The percentage ratio of the distance between haversine and great circle is 61.84%. The users utilize such information to consider the best WiFi access point position. The evaluation results indicate that all features in the system run satisfactorily. Keywords: Android, API, great circle, haversine, WiFi
IMPLEMENTASI APLIKASI ANDROID UNTUK PENCARIAN LOKASI WIFI TERDEKAT DENGAN ALGORITME HAVERSINE DAN GREAT CIRCLE (STUDI KASUS: JARINGAN NIRKABEL IPB)
MUHAMMAD LINGGA PRAJA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
Penguji: 1 Dr Ir Sri Wahjuni, MT 2 Vektor Dewanto, ST MEng
Judul Skripsi : Implementasi Aplikasi Android untuk Pencarian Lokasi WiFi Terdekat dengan Algoritme Haversine dan Great Circle (Studi Kasus: Jaringan Nirkabel IPB) Nama : Muhammad Lingga Praja NIM : G64100077
Disetujui oleh
DrEng Heru Sukoco, SSi MT Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa taβala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan November 2013 ini ialah Android, dengan judul Implementasi Aplikasi Android untuk Pencarian Lokasi WiFi Terdekat dengan Algoritme Haversine dan Great Circle (Studi Kasus: Jaringan Nirkabel IPB). Terima kasih penulis ucapkan kepada Bapak DrEng Heru Sukoco, SSi MT selaku pembimbing. Penghargaan penulis sampaikan kepada Bapak Hasan dan Bapak Mahfudin dari DIDSI IPB, yang telah memberi masukan dan saran dalam pengumpulan data. Ungkapan terima kasih juga disampaikan kepada ayah, ibu, seluruh keluarga, serta teman teman seperjuangan, atas segala doa dan kasih sayangnya. Semoga karya ilmiah ini bermanfaat.
Bogor, April 2015 Muhammad Lingga Praja
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN.
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
TINJAUAN PUSTAKA
3
METODE
8
Perencanaan
8
Kebutuhan
8
Analisis dan Desain
9
Implementasi
10
Pengujian dan Evaluasi
10
Penyebaran
10
HASIL DAN PEMBAHASAN
11
Kebutuhan
11
Analisis dan Desain
12
SIMPULAN DAN SARAN
16
Kesimpulan
16
Saran
16
DAFTAR PUSTAKA
18
LAMPIRAN
19
RIWAYAT HIDUP
24
DAFTAR TABEL 1 Fungsi Kebutuhan 2 Pengujian Fungsi
11 15
DAFTAR GAMBAR 1 Ilustrasi Haversine berbasis trigonometri (Rick 1999) 2 Cara kerja WiFi 3 Proses Trilateration (Lee 1999) 4 Iterative model (Basili 1975) 5 Rancangan Fisik ERD model ImWiFi 6 Use case diagram ImWiFi 7 Antarmuka perangkat lunak imWiFi 8 Hasil pengujian fungsi ke-3 9 Hasil pengujian fungsi ke-1 dan ke-2 10 Hasil pengujian fungsi ke-4 dan fungsi bantuan
4 6 7 8 9 12 13 15 15 16
DAFTAR LAMPIRAN 1 2 3 4 5 6 7 8
Activity diagram imWiFi Class diagram imWiFi Sequence diagram memilihDaftarWiFi Sequence diagram memilihPetaWiFi Sequence diagram memilihPindaiWiFi Sequence diagram memilihBantuan Sequence diagram memilihKeluar Data titik akses sinyal WiFi di SQLite
19 20 21 21 22 22 22 23
PENDAHULUAN Latar Belakang WiFi adalah singkatan dari wireless fidelity. Umumnya, WiFi mengacu pada banyak jenis wireless local area network (WLAN) IEEE 802.11. WiFi adalah standar industri untuk produk seperti yang didefinisikan oleh WiFi Alliance dan sesuai dengan standar IEEE 802.11. WLAN memperluas jangkauan local area network (LAN) dengan menyediakan konektivitas nirkabel. WLAN telah menjadi sangat popular dalam menyediakan konektivitas Internet protocol (IP) di perumahan, kantor, dan lingkungan kampus. WLAN telah mengalami pertumbuhan yang fenomenal dan sekarang menjadi bagian penting dari jaringan komputer (Varma 2012). Teknologi wireless merupakan teknologi yang tidak menggunakan kabel atau nirkabel. Teknologi ini menggunakan media transmisi udara, dan tetap ada batasan jarak tertentu seberapa jauh peralatan yang menggunakan teknologi wireless dapat saling berkomunikasi dalam melakukan pertukaran data, yaitu jarak jangkauan dari satu titik pemancar WiFi. Penggunaan teknologi nirkabel dengan kasus dan aplikasi yang berbeda akan menghasilkan bermacam-macam teknologi wireless yang berbeda-beda pula. Masing masing teknologi wireless akan memiliki karakteristik kinerja dan pengoptimalan untuk tugas dan konteks tertentu. Terdapat beberapa jenis teknologi wireless, di antaranya personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN). Pada saat ini implementasi teknologi wireless sudah banyak digunakan, beberapa diantaranya adalah WiFi, Bluetooth, ZigBee, NFC, WiMAX, LTE, HSPA, EV-DO, earlier 3G standards, satellite services, dan masih banyak lagi (Grigorik 2013). Penggunaan teknologi wireless sudah menjadi standar dalam dunia teknologi informasi, penggunaan peripheral komputer secara wireless juga sudah menjadi teknologi umum, seperti keyboard dan mouse wireless dengan menggunakan Infrared, Bluetooth, atau radio frequency (Witono 2006). Frambayu (2014) pernah melakukan penelitian mengenai pencarian jarak titik akses sinyal wireless fidelity (WiFi) dengan location based service (LBS). Penelitian tersebut melakukan pengujian pencarian jarak dengan rumus haversine dan diuji pada perangkat smartphone Android. Penelitian ini akan mengembangkan sebuah aplikasi berbasis mobile dengan menggunakan rumus great circle dan Android WiFi Manager Library. Global positioning system (GPS) atau assisted global positioning system (A-GPS) akan membantu dalam mengakuisisi komponen yang dibutuhkan aplikasi yang berbasis location based service (LBS) ini. Selain GPS atau A-GPS, base tranceiver station (BTS) juga akan membantu dalam penentuan posisi. A-GPS dan BTS akan berkolaborasi untuk menentukan titik posisi di Google Maps. Jaringan internet dari operator seluler yang digunakan akan disalurkan oleh BTS untuk memperbaiki koordinat atau posisi sehingga receiver GPS dapat memproses lebih cepat, akurat, dan efisien(Soyoung dan Yu 2011). WiFi Manager bekerja dalam menangkap sinyal WiFi dalam jarak jangkauan tertentu, fungsi calculateSignalLevel akan menghitung seberapa besar kekuatan pancar dari suatu titik WiFi. Selain itu, WiFi Manager dapat menampilkan SSID, WiFi capabilities, dan frekuensinya.
2 Perumusan Masalah Permasalahan yang akan dipecahkan berdasarkan pada latar belakang yang ada, yaitu perhitungan kekuatan pancaran jaringan WiFi yang dikelola resmi oleh Direktorat Integrasi Data Sistem Informasi (DIDSI) IPB. 1 Apakah pengelolaan dan manajemen terhadap perangkat-perangkat WiFi di IPB telah dilakukan? 2 Bagaimanakah model pengelolaannya selama ini untuk pemeliharaan dan jika ada perangkat yang bermasalah? 3 Bagaimanakah pengaturan yang telah dilakukan terhadap alat alat yang akan dipasang? 4 Bagaimanakan seorang pengguna terkoneksi ke perangkat-perangkat WiFi?
Tujuan Penelitian Membuat basis data untuk manajemen perangkat WiFi dan aplikasi Android untuk memudahkan pengguna memilih koneksi WiFi terbaik menurut jarak dan daya pancar sinyal. Selain itu, pengguna dapat melihat posisi dan letak perangkatperangkat WiFi yang tersedia melalui peta Google.
Manfaat Penelitian Manfaat dari penelitian ini adalah diharapkan pengguna dapat: 1 Memudahkan pengguna memilih koneksi WiFi di sekitarnya menurut jarak dan daya pancar sinyal. 2 Memudahkan perangkat-perangkat WiFi pemilik atau administrator mengelola. 3 Memudahkan pengguna dalam memilih akses sinyal WiFi dengan peta online yang berupa Google Maps.
Ruang Lingkup Penelitian Penelitian dilakukan pada jaringan WiFi Institut Pertanian Bogor (IPB) di kampus Dramaga yang dikelola resmi oleh Direktorat Integrasi Data dan Sistem Informasi (DIDSI). Smartphone berbasis Android akan digunakan dengan versi Android minimum 4.2 (API level 17) dan akan di targetkan ke Android versi 4.4 (API Level 19). Penelitian dibatasi oleh peta online dari Google Maps dan akurasi posisi A-GPS sebagai pendeteksi lokasi pengguna. Titik akses sinyal WiFi yang digunakan hanya ada dalam lingkup IPB Dramaga. Google Place API dan Google Direction menyediakan data akses sinyal WiFi dan informasi jarak terdekat titik WiFi. Ketinggian dan kedalaman titik WiFi diabaikan karena efek ellipsoidal tidak diperhatikan. Representasi data berupa data offline dan data online dengan memanfaatkan fasilitas library Google berupa penambahan akses pengguna internet.
3
TINJAUAN PUSTAKA Metode Pengembangan Perangkat Lunak Semua model proses perangkat lunak dapat mengkomodasi aktifitas kegiatan kerangkat kerja umum, tetapi masing-masing berlaku penekanan yang berbeda untuk masing-masing kegiatan dan mendefinisikan aliran proses yang memanggil setiap kegiatan kerangka kerja dalam cara yang berbeda (Pressman 2010). Metode pengembangan perangkat lunak iteratif merupakan proses pengembangan perangkat lunak untuk menanggapi kelemahan dari model waterfall. Kegiatan analisis, desain, implementasi dan pengujian dilakukan dengan cara yang lebih fleksibel dibandingkan model waterfall. Setiap iterasi metode iteratif mencakup beberapa atau sebagian besar disiplin ilmu pengembangan, yaitu kebutuhan, analisis, desain, implementasi, dan sebagainya. Setiap iterasi juga memiliki tujuan yang didefinisikan dan menghasilkan sebagian implementasi dari sistem akhir. Setiap iterasi yang berhasil dilakukan berdasarkan dari iterasi sebelumnya akan memperbaiki sistem hingga produk akhir selesai. Penekanan pada iterasi awal dilakukan pada tahap kebutuhan serta analisis dan desain. Penekanan pada tahap akhir dilakukan pada implementasi dan pengujian (Cockburn 2008). Layanan Berbasis Lokasi Location based service (LBS) adalah konsep yang menunjukkan aplikasi yang terintegrasi dengan lokasi geografis misalnya koordinat spasial dengan bantuan berbagai layanan. Layanan LBS digunakan terutama pada tiga area, yaitu area militer dan industri pemerintah, layanan darurat dan sector komersial (Schiller dan Voisard 2004). Terdapat lima kegiatan yang didasari kebutuhan pengguna terhadap informasi geografis, yaitu mengetahui di mana dia berada (locating), mencari seseorang, suatu objek, atau kejadian (searching), menanyakan arah untuk mencapai suatu lokasi (navigating), menanyakan properti dari suatu lokasi (identifying), dan mencari suatu kejadian pada atau sekitar suatu lokasi (checking). Rumus Haversine Rumus haversine adalah persamaan yang penting pada navigasi, memberikan jarak lingkaran besar antara dua titik pada permukaan bola (Bumi) berdasarkan bujur dan lintang. Rumus haversine mengabaikan efek ellipsoidal, ketinggian bukit dan kedalaman lembah di permukaan bumi. Rumus haversine cukup akurat untuk sebagian besar perhitungan (Ingole dan Nichat 2013). Berikut adalah rumus haversine pada Persamaan 1. a = sin2(
βπππ‘ππ‘π’ππ 2
)+cos (latitude1) cos (latitude2) sin2(
c = 2 Γ arctan (βπ β(1 β π)) d = R Γ c (km)
βππππππ‘π’ππ 2
)
2
(1)
4 dengan: R d Ξlatitude Ξlongitude
= radius bumi (rata rata radius = 6371 kilometer) = jarak antara 2 titik (km) = longitude2 β longitude1 ( Μ ) = longitude2 β longitude1 ( Μ )
Sebagian besar komputer memerlukan argumen dari fungsi trigonometri untuk menyatakan persamaan dalam bentuk radian. Nilai satuan latitude dan longitude adalah derajat, menit, dan detik. Satuan tersebut harus diubah ke radian untuk diolah oleh rumus haversine. Satuan latitude dan longitude akan diubah terlebih dahulu ke derajat decimal, lalu diubah ke radian dengan cara mengalikan nilai derajat dengan pi/180 = 0.017453293 radians/degree. Nilai a merupakan kuadrat dari setengah panjang antar dua titik. Nilai c merupakan jarak sudut dalam satuan radians. Rumus haversine digunakan pada penelitian ini untuk melakukan perhitungan jangkauan pencarian titik akses sinyal WiFi dengan posisi terdekat di sekitar sensor pengguna. Rumus ini juga digunakan untuk substitusi perhitungan jarak antara posisi titik akses sinyal WiFi dan posisi sensor pengguna jika perhitungan jarak menggunakan Google Maps API tidak dapat dilakukan. Ilustrasi cara kerja rumus haversine dapat dilihat pada Gambar 1.
Gambar 1 Ilustrasi haversine berbasis trigonometri (Rick 1999) Nilai titik AC adalah βa, sedangkan nilai OC adalah βOA2-AC2 dan disederhanakan menjadi β1-a. Nilai tan sudut AOC = arctan(
βπ β1βπ
βπ β1βπ
atau c = 2 β
) dengan c adalah sudut AOB. Rumus Great Circle
Rumus great circle atau orthodromic adalah persamaan yang penting dalam hal navigasi, yang memberikan jarak terpendek antara dua titik pada permukaan bola (bumi) berdasarkan latitude dan longitude dan dihitung sepanjang jalur permukaan tersebut. Bentuk bumi yang diasumsikan bulat atau sphere membuat geometri perhitungan jaraknya berbeda dengan geometri Euclidean. Pada geometri bola jarak antara dua titik menggunakan geodesics yang pada bidang bola adalah
5 lingkaran sempurna atau great circle. Perhitungan ini tidak memasukkan ketinggian (Carter 2002). Rumus haversine pada dasarnya mirip dengan rumus great circle, hanya saja jarak antara dua titik hanya berdasar garis lurus diantara dua titik dan mengabaikan ketinggian maupun kedalaman di permukaan bumi. Sudut pada rumus haversine menggunakan satuan radian untuk menggunakan fungsi trigonometri (Gintoro et al. 2010). Bentuk bumi sebenarnya hampir bulat, sehingga rumus jarak great circle memberikan nilai benar sebesar 0.5 % atau lebih untuk jarak antar titik pada permukaan bumi (Admiralty 1987). Berikut adalah rumus great circle pada Persamaan 2. ΞΟ d
= cos-1[cosΞ΄1 cosΞ΄2 (Ξ»1 β Ξ»2) + sinΞ΄1 sinΞ΄2] = R Γ ΞΟ
dengan: Ξ΄1 Ξ΄2 Ξ»1 Ξ»2 Ξ»1 - Ξ»2 ΞΟ R d
= latitude titik 1 = latitude titik 2 = longitude titik 1 = longitude titik 2 = perbedaan bujur = sudut pusat antara latitude dan longitude = Radius bumi (rata rata radius = 6371 kilometer) = jarak antara 2 titik
(2)
Rumus great circle digunakan dalam penelitian ini untuk menghitung jarak antara dua titik pada Google Maps yang memperhatikan geodesics, dikarenakan pada Google Maps penghitungan jarak bukan menggunakan Euclidean geometry yang hanya memperhatikan garis lurus antara dua titik. Android Android adalah sebuah sistem operasi untuk perangkat telepon pintar berbasis Linux yang dikeluarkan oleh Google pada bulan November 2007, bersifat open source sehingga para pengembang dapat membuat aplikasi sendiri untuk perangkat telepon pintar sesuai kebutuhan. Pemrograman perangkat ini menggunakan bahasa pemrograman extensible markup language (XML) dan Java yang dikhususkan untuk telepon pintar ini, sehingga aplikasi yang dibuat tidak dapat dijalankan pada perangkat telepon pintar yang lainnya seperti Symbian OS dan Blackberry OS yang juga mendukung aplikasi berbasis Java. Android memungkinkan pengguna menghamparkan data di peta khusus Google menggunakan Google Maps API. Pengguna dimungkinkan membuat aplikasi web atau seluler menarik dengan platform pemetaan canggih dari Google, termasuk basis data citra satelit serta petunjuk arah mengemudi. Android memiliki sebuah library pengembangan yang dinamakan android.net.wifi.WifiManager. WiFiManager merupakan salah satu class yang ada pada packages android.net.wifi.WifiManager yang dapat digunakan untuk mengetahui kekuatan pancaran WiFi yang ada di sekitar pengguna. Metode yang digunakan untuk menghitung kekuatan pancaran WiFi adalah calculateSignalLevel. Berikut ini adalah rumus perhitungan calculateSignalLevel.
6 public static int calculateSignalLevel(int rssi,int numLevels) { if (rssi β€ MIN_RSSI ) { return 0; } else if (rssiβ₯MAX_RSSI ){ return numLevels-1; } else { int partitionSize = (MAX_RSSI - MIN_RSSI ) - (numLevels- 1); return (rssi - MIN_RSSI ) / partitionSize; } }
RSSI adalah indikasi tingkat daya yang diterima oleh antena. Umumnya, semakin tinggi tingkat RSSI adalah semakin kuat sinyal, nilai kuat sinyal diukur dalam desibel dari 0 ke -120. Semakin dekat nilai sinyal ke 0, maka sinyal semakin kuat (Premachandran 2010). NumLevels adalah jumlah level yang perlu dipertimbangkan dalam level yang dihitung. NumLevels pada aplikasi ImWifi di representasikan pada rentang nilai MINRSSI yang bernilai -100 hingga MAXRSSI yang bernilai -55. Nilai kekuatan sinyal tidak akan dihitung oleh metode calculateSignalLevel apabila RSSI yang diperoleh diluar rentang NumLevels. Metode calculateSignalLevel menggunakan nilai RSSI dan NumLevels untuk menggambarkan kekuatan pancaran sinyal dari access point WiFi. Skema cara kerja smartphone dan wireless access point dapat dilihat pada Gambar 2.
Gambar 2 Cara kerja WiFi Versi Android yang digunakan pada pengembangan aplikasi imWiFi ini adalah 4.4 KitKat (API 19). Global Positioning System Global positioning system (GPS) merupakan suatu kumpulan satelit yang berjumlah 24 satelit membentuk ruas angkasa dan mengorbit sekitar 12000 mil di atas bumi dan terus bergerak membuat dua orbit lengkap dalam waktu kurang dari 24 jam. Sinyal berjalan pada media yang dapat terlihat, sinyal dapat melewati awan, gelas dan plastik, tetapi tidak akan bisa menembus benda padat seperti gedung dan pegunungan (Lee 1999). Setidaknya ada empat satelit GPS yang terlihat dimanapun posisi seseorang berada, masing masing mengirimkan informasi posisi dan waktu yang akurat secara kontinu. Sinyal tersebut memiliki kecepatan cahaya yang kemudian ditangkap oleh receiver GPS yang menghitung seberapa jauh masing masing satelit didasarkan pada berapa lama waktu untuk pesan tiba (Blewitt 1997).
7 Untuk mengetahui detail bagaimana GPS menentukan lokasi, berikut merupakan proses trilateration pada Gambar 3.
Gambar 3 Proses trilateration (Lee 1999) Bila mengetahui jarak posisi seseorang dari satelit A, maka seseorang tersebut berada di dalam lingkaran merah. Jika dilakukan hal yang sama dengan satelit B dan C maka akan diketahui posisi sesorang tersebut dengan melihat di mana lingkaran tersebut berpotongan. Semakin banyak satelit yang ada di atas cakrawala maka akan lebih akurat GPS menentukan lokasi seseorang tersebut berada. GPS memiliki suatu kelemahan, yaitu lemahnya chip penerima sinyal GPS dari satelit. Assisted global positioning system (A-GPS) menutupi kelemahan GPS dengan menggunakan bantuan menara BTS yang memiliki unit penerima GPS untuk mempercepat proses penentuan lokasi. Menara BTS secara kontinu mengunduh informasi satelit dan komputasi data. Informasi satelit dan komputasi data dari menara BTS akan diteruskan ke smartphone ketika diminta. Kondisi perkotaan yang padat dengan gedung dan bangunan tinggi lainnya menyebabkan sinyal GPS tidak dapat diterima dengan baik, penggunaan A-GPS dinilai cocok untuk kondisi perkotaan dikarenakan informasi satelit dapat diperoleh dari menara BTS tanpa harus mengambil informasi langsung dari satelit. XML Extensible Markup Language (XML) adalah bahasa markup untuk keperluan umum yang disarankan oleh World Wide Web Consumtion (W3C) untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam. XML merupakan kelanjutan hyper text markup language (HTML) yang merupakan bahasa standar untuk melacak internet. XML dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tetapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka (diawali dengan '<' dan diakhiri dengan '>'), tag penutup (diawali dengan ' 'diakhiri '>') dan atribut elemen (parameter yang dinyatakan dalam tag pembuka misalnya