Perancangan dan Pembuatan Sistem Informasi Lokasi Friend Finder Berbasis GPS pada Sistem Operasi Android Muchammad Husni1, Raka Radifan2 Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : [email protected], [email protected] 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 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 • • • Google,HTC, Intel, Motorola, Qualcomm, TMobile, 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) 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. 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. 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. 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. 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. 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. 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 Komponen-komponen high level dari facebook platform antara lain adalah: • Graph API • Authentication • Social Plugin 2 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 di dunia. Kita pun dapat memanfaatkannya untuk kebutuhan kita sendiri. koordinat yang diperoleh akan lebih terpercaya serta akurasinya lebih baik. 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. 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. 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. 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. 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). 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 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 3 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 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. 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.2 Komponen Komunikasi Jaringan 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 4 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 3.4 Komponen Server sebagai server. Uji coba dilakukan di lingkungan FTIF ITS Surabaya dan daerah rungkut Surabaya Menggunakan 2 unit telepon selular. 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 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) 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 5 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 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. Fungsi utama dari aplikasi ini yaitu berbagi lokasi dengan user lain seperti pada gambar 4.3 di bawah 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.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. Gambar 4.2 Tampilan Login Gambar 4.4 Dialog Box Status Facebook 6 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 2. Salah satu fitur dalam aplikasi ini yaitu melakukan pencarian lokasi user lain, tampilan aplikasi ketika mencari user lain seperti pada gambar 4.5berikut. Penambahan fungsi upload foto lokasi langsung ke facebook. 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. 7 RAKA RADIFAN – 5105100029 MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 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. 8 RAKA RADIFAN – 5105100029