Berbasis GPS pada Sistem Operasi Android
Muchammad Husni1, Raka Radifan2Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : 1husni@its-sby.edu, 2raka2112@gmail.com
Abstrak
Pada tugas akhir ini, akan dibangun sistem informasi lokasi pada suatu perangkat bergerak berbasis sistem operasi Android yang memungkinkan pengguna untuk mengetahui posisi keberadaannya berdasarkan informasi lokasi dari sebuah built-in GPS, lalu aplikasi ini juga memungkinkan pengguna untuk berbagi koordinat lokasinya dengan pengguna lain, selain itu aplikasi ini memungkinkan untuk mengetahui alamat aktual dari suatu koordinat lokasi, mengetahui posisi pengguna lain, mengetahui jarak dengan pengguna lain, dan menulis lokasi user pada status Facebook.
Dalam tugas akhir ini, hal-hal yang menjadi permasalahan adalah bagaimana mengambil lokasi user melalui GPS, bagaimana menampilkan peta lokasi dalam aplikasi, bagaimana berbagi lokasi dengan user lain, dan bagaimana mendapatkan data dari server.
Dengan adanya permasalahan di atas, maka akan dibangun suatu sistem informasi lokasi dengan memanfaatkan perangkat bergerak berbasis Android dan built-in GPS sehingga handphone android bisa menikmati layanan serupa.
Kata kunci: android, global positioning system
1. Pendahuluan
Perkembangan Teknologi Informasi yang begitu pesat pada abad ini telah mempengaruhi pola hidup masyarakat dalam menyelesaikan masalah dimana kecepatan dalam mendapatkan informasi menjadi prioritas yang tidak bisa dianggap kecil. Dengan tuntutan yang seperti itu, diperlukan suatu perangkat yang bisa digunakan untuk mengakses informasi dengan mudah dan cepat. Handphone merupakan suatu perangkat yang menjawab tantangan tersebut.
Keberadaan sebuah handphone tidak bisa dipandang sebelah mata. Pada dewasa ini,
handphone telah menjadi semacam kebutuhan
pokok dari masyarakat. Perkembangan teknologi dan kesiapan dari penyedia layanan seluler telah mengubah fungsi handphone yang sebelumnya hanya sebagai alat komunikasi menjadi alat komputasi yang memiliki sistem operasi layaknya sebuah komputer.
Android merupakan salah satu sistem operasi yang terdapat pada handphone. Sedangkan java merupakan salah satu bahasa pemrograman yang bisa digunakan untuk mengembangkan suatu aplikasi yang bisa digunakan pada handphone berbasis android. Keberadaan sistem operasi akan memudahkan pengguna dalam mengatur file dan menginstall aplikasi sehingga memberikan fungsi lebih pada perangkat handphone tersebut.
Sistem informasi lokasi adalah suatu aplikasi yang bertujuan menunjukkan keberadaan seseorang. Pada umumnya teknologi yang digunakan adalah Global Positioning System atau yang biasa disingkat GPS. GPS bisa berupa piranti tambahan atau bisa juga piranti terintegrasi pada
handphone. Dengan memanfaatkan Android SDK
dan sebuah GPS receiver, sistem informasi lokasi bisa dikembangkan pada handphone berbasis sistem operasi Android.
2. Dasar Teori
Bagian ini akan menjelaskan dengan singkat tentang teori-teori yang digunakan untuk menunjang tahap implementasi
2.1 Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk
Google,HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar– benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD)
Fitur dan spesifikasi terkini dari OS Android, anatara lain adalah framework aplikasi, dalvik
virtual machine, browser terintegrasi, grafik yang
dioptimasi, SQLLite, media support, telepon GSM,
Bluetooth, EDGE, 3G, WIFI, kamera ,GPS,
kompas, akselerometer dan lingkungan pengembangan yang sangat kaya.
2.2 Facebook Platform
Facebook Platform menyediakan satu set API dan tool yang memungkinkan developer pihak ke-3 untuk mengintegrasikan dengan "open graph" - apakah melalui aplikasi di Facebook.com atau situs web dan perangkat eksternal. Facebook Platform telah berkembang dari yang hanya memungkinkan pengembangan hanya di Facebook.com menjadi mendukung integrasi di web dan perangkat ekternal.
Facebook platform menyediakan framework untuk para software developer untuk membuat aplikasi yang berinteraksi dengan core/inti fitur dari facebook. Markup language yang disebut Facebook Markup Language dikenalkan secara bersamaan, digunakan untuk mengkustomisasi “look and feel” dari aplikasi yang dibuat developer. Menggunakan platform ini, facebook telah meluncurkan beberapa aplikasi baru; termasuk Gifts, yang mengijinkan user mengirimkanhadiah virtual kepada user lain; Marketplace, yang mengijinkan user untuk memposting iklan, event, memberi informasi kepada user lain tentang event-event yang akan diadakan, dan Video, yang mengijinkan user membagi homemade vide kepada user lain. Komponen-komponen high level dari facebook platform antara lain adalah:
• Graph API
• Authentication
• Social Plugin
• Open Graph Protocol
• Facebook Markup Language
• Facebook Connect
2.3 Google App Engine
Google App Engine adalah platform untuk mengembangkan aplikasi web dan hosting di pusat data yang dikelola Google. Ini pertama kali dirilis sebagai versi beta pada bulan April 2008.
Google App Engine adalah teknologi komputasi cloud. Ini virtualisasi aplikasi di beberapa server dan data center platform.
Platorm lain yang berbasis cloud seperti Amazon Web Services dan Microsoft's Azure Services Platform. App Engine berbeda dari layanan seperti Amazon Web Services, meskipun, dalam AWS adalah Infrastruktur sebagai service sedangkan Platform App Engine adalah platform sebagai service.
Google App Engine gratis sampai tingkat tertentu sumber daya yang digunakan. Biaya yang dikenakan untuk penyimpanan tambahan, bandwidth, atau siklus CPU yang dibutuhkan oleh aplikasi.
Saat ini, bahasa pemrograman yang didukung adalah Python dan Java (dan, dengan perluasan, lain JVM bahasa seperti Groovy, JRuby, Scala, Clojure, Jython, dan versi khusus Quercus) . Kerangka web Python yang berjalan di Google App Engine memasukkan kerangka kerja GAME, CherryPy, pylons, dan web2py, serta kerangka webapp kustom Google-written dan beberapa yang lain yang dirancang khusus untuk platform yang muncul sejak dirilis. Google mengatakan berencana untuk mendukung bahasa lebih banyak di masa depan, dan bahwa Google App Engine telah ditulis untuk menjadi bahasa mandiri. Setiap kerangka Python yang mendukung WSGI menggunakan CGI adapter dapat digunakan untuk membuat aplikasi;. framework dapat di-upload dengan aplikasi yang dikembangkan. Pihak ketiga library yang ditulis dengan Python murni mungkin juga upload.
2.4 Global Positioning System(GPS)
Global Positioning System (GPS) merupakan
sistem koordinat global yang dapat menentukan koordinat posisi benda dimana saja di bumi baik koordinat lintang, bujur, maupun ketinggiannya. Teknologi ini sudah menjadi standar untuk digunakan pada dunia pelayaran dan penerbangan
di dunia. Kita pun dapat memanfaatkannya untuk kebutuhan kita sendiri.
Sistem GPS dapat memberikan data koordinat global karena didukung oleh informasi dari 24 satelit yang ada pada ketinggian orbit sekitar 11.000 mil di atas bumi. Satelit-satelit tersebut terbagi atas 6 bidang orbit yang berbeda dengan masing-masing bidang orbit diisi oleh 4 satelit. Dengan konfigurasi seperti ini, maka setiap titik di bumi selalu akan dapat ditentukan koordinatnya oleh GPS setiap saat selama 24 jam penuh perhari. Teknologi GPS pada awalnya digunakan untuk keperluan militer. Penyedia satelit untuk sistem GPS untuk dunia adalah pemerintah Amerika Serikat. Selain Amerika, dulu pihak Rusia/Uni Soviet juga memiliki dan mengembangkan sistem seperti ini. Kini pihak Uni Eropa juga berkeinginan memiliki dan menyediakan sendiri sistem yang sejenis.
Teknologi GPS ini bebas dimanfaatkan oleh siapa saja di dunia secara gratis asal memiliki alat GPS
receiver. Alat GPS receiver ini adalah suatu alat
yang dapat menerima sinyal satelit-satelit GPS untuk kemudian melakukan perhitungan koordinat posisi dirinya berdasarkan data yang ada.
Setiap satelit GPS memancarkan sinyal-sinyal gelombang mikro. GPS receiver menggunakan sinyal satelit yang diterima untuk melakukan triangulasi posisi dengan cara mengukur lama perjalanan waktu sinyal dikirimkan dari satelit, kemudian mengalikannya dengan kecepatan cahaya untuk menentukan secara tepat berapa jauh dirinya dari satelit.
Dengan mengunci minimum 3 sinyal dari satelit yang berbeda, maka GPS receiver dapat menghitung posisi tetap sebuah titik yaitu koordinat posisi lintang dan bujur (Latitude dan
Longitude). Penguncian sinyal satelit yang ke-4
membuat pesawat penerima GPS dapat menghitung posisi ketinggian titik tersebut terhadap muka laut (Altitude).
GPS receiver akan terus menjaga dan mengunci sinyal satelit yang diperlukan untuk melakukan triangulasi secara bersama dan paralel. Dengan sistem ini, informasi navigasi yang diterima akan selalu up to date. GPS receiver juga akan terus mencari sinyal satelit sehingga mendapat 10 sampai 12 sinyal satelit sekaligus. Tambahan channel sinyal satelit ini dapat diolah sehingga data
koordinat yang diperoleh akan lebih terpercaya serta akurasinya lebih baik.
Gambar 2.Error! No text of specified style in
document..1 Ilustrasi Prinsip Kerja GPS
3. Arsitektur Sistem
Bagian ini akan menjelaskan tentang deskripsi umum sistem, arsitekur, perancangan prototipe.
3.1 Deskripsi Umum Sistem
Pada paper ini akan dikembangkan suatu sistem informasi lokasi untuk geo-location sharing pada handphone berbasis Android dalam hal ini yang digunakan adalah Motorola Droid dengan memanfaatkan gps built in. Dengan adanya aplikasi ini, pengguna bisa mengetahui posisi keberadaannya pada saat itu, melihat posisi pengguna lain yang telah berbagi lokasi, berbagi lokasi dengan pengguna lain, mengetahui alamat aktual baik posisi pengguna sendiri maupun posisi dari pengguna lain yang telah dicari sebelumnya, mengetahui arah dari posisi pengguna ke posisi pengguna lain yang telah dicari sebelumnya, mengetahui jarak dengan posisi pengguna lain yang telah dicari sebelumnya.
Ketika GPS receiver sudah terhubung ke satelit, maka handphone akan mengambil data lokasi dengan format yang telah ditetapkan, pada tugas akhir ini akan menggunakan format GPGGA (Global Positioning System Fixed Data). Data yang akan dimanfaatkan adalah data lintang(latitude) dan bujur(longitude), sedangkan data lainnya diabaikan. Untuk map, akan diunduh dari Google Maps dengan memaanfaatkan teknologi GPRS. Sedangkan untuk mengetahui lokasi user lain yang berbagi lokasinya di database, handphone akan menghubungi server dengan memanfaatkan HTTP GET request ke server dengan mengirimkan
parameter berupa nama user yang dicari. Ketika ada request dari client, server akan memberikan
response dengan mengirim data lokasi dari
pengguna yang dicari yang diambil dari database. Sedangkan untuk fungsi lainnya untuk mengetahui alamat aktual, arah, jarak didapatkan dari data XML dari Google yang kemudian diparsing oleh webserver yang mengambil data dari user facebook yang kemudian hasil parsing tersebut dikirim ke client tuntuk diolah.
3.2 Arsitekur
Implementasi pada Sistem Informasi Lokasi Berbasiskan Android ini akan dikembangkan dengan menggunakan bahasa pemrograman java dan menggunakan Google Maps API dan Facebook API yang telah memiliki banyak module sehingga lebih memudahkan dalam pengembangan aplikasi ini. Disamping itu, karena berbasiskan java, maka Android tentunya memiliki semua kelebihan yang dimiliki oleh bahasa pemrograman java.
Gambar 3.1 Arsitektur Sistem
Dalam pembuatan aplikasi ini, Server yang digunakan adalah Google Application Engine yang juga sekaligus sebuah web hosting. Dalam hal ini, server bertugas untuk menyimpan database lokasi
user dan memberikan data sesuai request dari user. User bisa mengirimkan request menggunakan
fungsi cari posisi user lain.
3.3 Komponen Komunikasi Jaringan
Komponen ini yang yang terlihat pada gambar 3.2 mengatur bagaimana user dapat menjalankan aplikasi tersebut dalam hal komunikasi jaringannya, diantaranya adalah user dapat melihat posisinya di map, user dapat mendownload map
yang ada di server, user dapat berbagi lokasi, dan user dapat mencari lokasi suatu tempat yang diinginkan sesuai dengan data yang terdapat di server. Teknologi GPS untuk mendapatkan posisi user, sedangkan teknologi GPRS menjadi penghubung antara handphone dengan server untuk mengambil data lokasi suatu tempat.
3.4 Komponen Server
Komponen ini mengatur bagaimana user dapat berinteraksi dengan web server untuk berbagi lokasi, mencari lokasi user lain,dll. Request dikirim dengan memanfaatkan protokol HTTP. Dalam hal ini, metode yang digunakan adalah POST. Server yang digunakan dalam tugas akhir ini adalah Google App Engine.
Teknologi GPRS akan menjadi media komunikasi antara aplikasi client dan server. Dengan adanya GPRS, client bisa mengirim request ke server sebaliknya server bisa memberikan response sesuai
request dari client. Digambarkan seperti pada
gambar 3.3
Gambar 3.Error! No text of specified style in
document..3 Komponen Server
4. Uji Coba dan Evaluasi
Pada bab ini akan dibahas mengenai uji coba dan evaluasi perangkat lunak. Perangkat lunak ini diuji coba dari segi fungsionalitas dan performa dalam lingkungan uji coba. Di akhir bab diberikan evaluasi terhadap hasil uji coba yang telah dilakukan.
4.1 Lingkungan Uji Coba
Uji coba untuk aplikasi ini dilakukan dengan menggunakan telepon selular yang berperan sebagai client dan web hosting yang berperan
sebagai server. Uji coba dilakukan di lingkungan FTIF ITS Surabaya dan daerah rungkut Surabaya Menggunakan 2 unit telepon selular.
Gambar 4.1 Arsitektur pada Lingkungan Uji Coba
1. Web hosting (server)
a. Spesifikasi software:
i. Google App Engine
2. Telepon Selular Motorola Droid
a. Spesifikasi hardware:
i. ARM 11 600 MHz prosessor
ii. CDMA1X 800/1900
iii. EVDO rev A
iv. GPS support
v. MicroSD 8 GB
b. Spesifikasi software:
i. Android OS 2.2(Froyo)
3. Telepon Seluler LG Optimus One
a. Spesifikasi hardware:
i. 600 MHz prosesor
ii. GSM 850/900/1800/1900
iii. HSDPA
iv. GPS support
v. MicroSD 2 GB
b. Spesifikasi software:
i. Android OS 2.2(Froyo)
4.2 Uji Coba Fungsionalitas
Uji coba ini dilakukan untuk melihat apakah fungsi –fungsi dasar dari perangkat lunak ini berjalan sebagai mana mestinya atau tidak. Hasil ujicoba ditunjukkan dengan gambar –gambar Graphical
User Interface pada perangkat lunak ini.
Uji coba fungsionalitas meliputi : login, lihat posisi user, lihat posisi user lain, berbagi lokasi, cari user lain, mengetahui alamat aktual, share posisi di facebook, dan fungsi zoom, dll.
Pada aplikasi ini, pertama-tama dilakukan dengan melakukan login dengan akun dari Facebook. Akan tampil di screen halaman login seperti login di facebook pada umumnya. User akan memasukkan username dan password dari akun facebooknya dan kemudian aplikasi akan melakukan otentifikasi. Lalu Facebook akan meminta permission untuk menjalankan aplikasi dari server. Seperti gambar 4.2.
Gambar 4.2 Tampilan Login
Fungsi utama dari aplikasi ini yaitu berbagi lokasi dengan user lain seperti pada gambar 4.3 di bawah ini.
Gambar 4.3 Tampilan Berbagi Lokasi
Aplikasi ini juga memiliki fitur untuk berbagi lokasi dengan mengupdate status di facebook seperti pada gambar 4.4 di bawah ini.
Salah satu fitur dalam aplikasi ini yaitu melakukan pencarian lokasi user lain, tampilan aplikasi ketika mencari user lain seperti pada gambar 4.5berikut.
Gambar 4.5 Tampilan Mencari User lain
5. Kesimpulan dan Saran 5.1 Kesimpulan
Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, dapat diambil kesimpulan sebagai berikut:
- Perangkat lunak yang diimplementasikan telah berfungsi dengan baik.
- Dengan adanya OS Android dan teknologi GPS maka dengan aplikasi ini user dapat dengan mudah membagi lokasinya dan mengetahui keberadaan user-user lain pada map. Hal ini memudahkan dalam pencarian user-user lain.
5.2 Saran
Saran-saran yang bisa diberikan untuk pengembangan lebih lanjut mengenai sistem informasi lokasi untuk geo-location sharing berbasiskan Android antara lain :
1. Penambahan fungsi navigasi untuk menuju lokasi user lain.
2. Penambahan fungsi upload foto lokasi langsung ke facebook.
6. Daftar Pustaka
Google. (2007, april). Retrieved november 2010, from Android Developer: http://developer.android.com
Facebook. (2007, Mei). Retrieved November 2010, from Facebook Developer: http://developers.facebook.com/ Google. (n.d.). Retrieved november 2010, from
Google App Engine:
http://code.google.com/appengine/docs/ Burnette, E. (2010). Hello, Android Intoducing
Google's Mobile Development Platform Third Edition. Pragmatic Bookself.
Wahono, R. S. (2003). ilmukomputer.com. Retrieved october 2010 from ilmukomputer.com:
http://www.ilmukomputer.com
Team of Android.com. (n.d.). Android.com. Retrieved october 2010 from
Android.com: http://www.android.com Raharjo, B., Heryanto, I., & Haryono, A. (2009).
Mudah Belajar Java. Bandung:
Informatika.
Darcey, L., & Conder, S. Sams Teach Yourself
Android Application Development.
Indianapolis: Sams.
Murphy, M. L. (2010). Beginning Android 2. New York: Apress.