Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 PENGEMBANGAN SISTEM INFORMASI KEPENDUDUKAN BERBASIS MOBILE DAN RESTFUL WEB SERVICE Rachel Kurniawati Kantor Sistem Informasi, Universitas Atma Jaya Yogyakarta Jl. Babarsari 43 Yogyakarta 55281 E-mail: [email protected] ABSTRAKS Sensus merupakan suatu kegiatan secara berkala yang dilakukan untuk mengetahui jumlah penduduk berdasarkan kategori tertentu. Sensus yang dilakukan menggunakan metode door-to-door kurang efektif dan efisien karena membutuhkan waktu, tenaga dan biaya yang sangat besar. Permasalahan tersebut dapat diselesaikan dengan mengintegrasikan RESTFul Web Service pada perangkat android. Tujuan pengembangan aplikasi berbasis android ini agar proses pengumpulan data lebih sistematik dan efisien. Hasil dari penelitian ini adalah aplikasi berbasis android yang mengimplementasikan RESTFul web service. ABSTRACT Census is a periodic activity that conducted to determine the number of population based on the specific categories. Census that conducted using door to door less more effective and efficient, because it takes more time, effort and enormous costs. Those problems can be solved by which integrate web service on android. The development of android-based applications aimed to collect data can be more systematic and efficient. Result from this study is android-based applications that implement RESTFul web service. Kata Kunci: SI Kependudukan, sensus, android, RESTFul web service, native app sekalipun integrasi data tetap dapat dilakukan dengan sambungan kabel USB. 1. PENDAHULUAN 1.1 Latar Belakang Sensus atau cacah jiwa umumnya dilakukan dalam rentang waktu atau periode tertentu (sekitar 5 atau 10 tahun) untuk mengetahui jumlah ketersebaran penduduk berdasarkan kriteria tertentu. Kegiatan sensus melibatkan petugas sensus yang akan mendatangi rumah-rumah penduduk untuk mengumpulkan informasi yang diperlukan dalam pelaporan atau pembuatan statistik. Keuskupan Ketapang juga melakukan sensus khusus untuk umat katolik, namun dengan lokasi geografis yang tersebar akan menyulitkan petugas sensus dalam melakukan pendataan, dibutuhkan banyak tenaga, biaya dan waktu. Sering terjadi juga ketika petugas datang ke rumah warga namun tidak ada orang yang dapat ditemui karena kesibukan. Bermula dari permasalahan tersebut dibutuhkan sebuah sistem berbasis android yang dapat mempermudah pengumpulan data sehingga proses dan hasil akan semakin cepat dan akurat. Petugas sensus atau akan lebih efektif bila kepala lingkungan dapat melakukan pengisian dan perubahan data kemudian diupload ke database pusat mengunakan web service untuk pertukaran data. Pemilihan android dibandingkan dengan aplikasi berbasis web karena android memiliki database lokal yaitu SQLite, sehingga dapat digunakan untuk menyimpan data secara offline meskipun tidak terhubung dengan jaringan internet. Dengan database lokal ini proses input tetap dapat dilaksanakan, setelah ada koneksi internet kemudian data-data dapat diupload. Meskipun ternyata tidak ada koneksi internet 1.2 Tujuan Penelitian Tujuan dari penelitian ini adalah membuat sebuah sistem informasi yang dapat menangani proses input, pengumpulan data hingga dihasilkan laporan dengan cepat, efektif dan efisien. 1.3 Metodologi Penelitian Metodologi yang digunakan dalam penelitian ini terdiri dari empat tahap utama yaitu: (a) Tahap analisis dan perancangan, pada tahap ini dilakukan analisa kebutuhan, input dan output data, usecase dan activity diagram untuk menggambarkan aktivitas apa saja yang dapat dilakukan oleh sistem. (b) Tahap perancangan, pada tahap ini akan dibuat rancangan arsitektur web service dan aplikasi. (c) Tahap implementasi, yaitu pembuatan kode program aplikasi android dan pembuatan PHP web service. (d) Tahap pengujian, pada tahap ini aplikasi akan diuji menggunakan variasi versi android dan menggunakan black box testing untuk mengetahui kinerja fungsionalitas yang ada pada aplikasi. 604 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 kesulitan dalam pemindahan data dari buku ke aplikasi karena data di buku besar yang sudah tidak valid. Pada tahun 2016 ini akan diadakan sensus maka akan ada tim khusus yang datang dari satu rumah ke rumah umat yang lain. Sensus ini menjadi momen yang tepat untuk memperoleh data yang real namun metode pengumpulan data dengan cara doorto-door ini juga kurang efektif dan membutuhkan banyak tenaga dan biaya mengingat letak geografis yang tersebar dan ada pedesaan yang benar-benar terisolasi. Dari permasalah ini dibutuhkan sebuah aplikasi yang dapat mengumpulkan data secara bersama yaitu menggunakan aplikasi android. Alasan kenapa tidak akses langsung ke aplikasi karena kondisi geografis dan jika aplikasi berbasis web akan sangat tergantung dengan koneksi internet. Android memiliki kelebihan pada database offline yaitu SQLite, sehingga lokasi yang dipedalaman dapat diinput meskipun tidak ada koneksi dengan internet. Petugas sensus dalam hal ini ketua lingkungan akan menginputkan data umat di perangkat android. Setelah data selesai diinput, kemudian data tersebut akan dikirim ke database yang ada di pusat. Untuk melakukan komunikasi antara android dengan database pusat maka akan dibuat web service berbasis PHP. Aplikasi android mengirimkan request ke web service kemudian web service akan memberi respon sukses atau tidak proses upload data. Arsitektur proses alur data dapat dilihat pada gambar 1. 1.4 Tinjauan Pustaka Penelitian ini menggunakan beberapa literatur yang berhubungan dengan pemanfaatan web service dan penerapannya pada aplikasi android. Penelitian dengan judul Implementasi Sistem Informasi Bergerak untuk penguatan Surveilans Gizi di Puskesmas Banguntapan II Kabupaten Bantul menjelaskan bahwa perangkat handphone semakin murah dan merupakan sarana yang mudah digunakan menjadi alternatif yang cukup baik untuk melakukan komunikasi, sudah banyak provider yang mendirikan BTS di desa-desa (Harnaningrum, dkk, 2014). Integrasi data adalah membuat menjadi satu kesatuan data yang utuh dengan cara mengumpulkan bagian-bagian yang tersebar (Tarigan, 2010) dan telah berhasil menerapkan web service. Web service merupakan teknik pemrograman yang memungkinkan client dan server dapat berkomunikasi dan melakukan pertukaran data atau komunikasi antar aplikasi dengan platform yang berbeda melalui protkol HTTP (HyperText Transfer Protocol) (S.Sujatha, 2011). Dengan kata lain Web service tidak terikat kepada bahasa pemrograman atau sistem operasi tertentu (Cerami, 2002). Perintah HTTP yang sepadan dengan perintah CRUD adalah fungsi GET, POST, PUT atau DELETE (Nugroho, 2012). Web service menggunakan format standar antara lain HTTP, XML, SSL, SMTP, SOAP dan JSON dalam melakukan pertukaran data (Dospinescu, dkk., 2013). Format standar yang lebih sering digunakan adalah JSON karena mudah dibaca dan ditulis oleh manusia, mudah diterjemahkan dan dibuat oleh komputer (Lee, 2015) dan JSON merepresentasikan struktur data yang sederhana (Christanto, 2015). Terdapat dua metode dalam mengimplementasikan web service yaitu dengan protokol SOAP dan arsitektur REST (Representational State Transfer), dan dalam penelitian dengan judul SOREST, A Novel Framework Combining SOAP dan REST for Impelentating Web service menghasilkan metode REST lebih baik dari SOAP (Sungkur & Daiboo, 2015). REST adalah gaya arsitektural yang dapat diakses melalui Uniform Resource Identifier (URI) dan memiliki aturan antarmuka yang seragam untuk memaksimalkan kinerja web service terutama performa, skalabilitas, dan kemudahan untuk dimodifikasi (Kurniawan, 2014). Berdasarkan kajian pustaka diatas, penulis akan mengembangkan aplikasi android dan menggunakan REST web service untuk diintegrasikan dengan aplikasi berbasis web. Request JSON Respon JSON Android Web Service PHP & MySQL Gambar 1. Proses Alur Data Pada Saat Sinkronisasi Proses yang dapat dilakukan oleh aplikasi android meliputi: a. Input data kepala keluarga. Kepala keluarga adalah umat yang tidak atau memiliki satu atau lebih anggota keluarga, alur proses penambahan data kepala keluarga dapat dilihat pada gambar 2. b. Input data anggota. Proses input anggota seperti ditunjukkan pada gambar 3. c. Sinkronisasi data 2. PEMBAHASAN 2.1 Analisis Keuskupan Ketapang sudah mengembangkan sistem informasi berbasis web yaitu menggunakan PHP dan MySQL untuk pendataan umat, namun ada 605 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 2.2 Perancangan Pada tahap perancangan ini akan membuat rancangan basis data pada SQLite seperti ditunjukkan gambar 4, untuk mempermudah struktur data akan dibuat sama dengan database di server. Pada saat instalasi aplikasi berbasis android akan menginisiasi data-data referensi yang dibutuhkan untuk ditanamkan pada database lokal SQLite. Data akan diparsing ke format JSON untuk dikirim ke web service kemudian diolah untuk disimpan ke database MySQL. Tambah Kepala Keluarga Pengguna ISSN: 2089-9815 Aplikasi Android kepala keluarga Tidak lengkap Ya tabel umat Tidak umat Berhasil? Ya List Anggota Gambar 2. Proses Input Data Kepala Keluarga PK id_lingkungan FK1 FK2 U2 id_mst_umat id_lingkungan no_ktp no_kk nama jns_kelamin tempat_lahir tgl_lahir alamat tgl_baptis nama_baptis tgl_krisma nama_baptis_krisma tgl_komuni status_upload FK1 id_stasi nama_lingkungan kepala_lingkungan username password tbl_stasi PK id_stasi FK1 id_paroki nama_stasi tbl_paroki PK id_paroki nama_paroki Tabel umat akan berelasi dengan dirinya sendiri, seorang umat (kepala keluarga) dapat memiliki satu atau lebih anggota. Field no_ktp dibuat menjadi UNIQUE agar tidak ada data yang rangkap, Sedangkan status_upload akan digunakan sebagai penanda sukses atau tidaknya proses upload data ke server. Tampilan daftar akan menggunakan status ini untuk memberi warna grid, jika berwarna pink berarti data belum dikirim atau gagal pada saat proses sinkronisasi data, dan latar berwarna putih jika berhasil. Aplikasi Android List Anggota Pilih kepala keluarga Lengkap? Anggota keluarga id_umat Gambar 4. Skema Basis Data Tambah Anggota Keluarga Pengguna tbl_lingkungan PK Ya 2.3 Implementasi (a) REST Web Service Pada tahap ini akan dibuat web service yang diletakkan pada server pusat untuk mengolah data JSON. Web service memiliki 3 method yaitu json_decode() untuk parsing data masukan, StoreData() dan json_encode parsing data keluaran. Parameter masukan dari database SQLite ke MySQL tampak pada gambar 5, akan diparsing ke dalam format Array. StoreData() sebagai fungsi yang berhubungan langsung dengan database dalam proses input, status gagal atau sukses akan disimpan dalam Array dan diolah lagi menjadi format JSON sebagai keluaran dari web service. Parameter keluaran dapat dilihat pada gambar 6. Tidak tabel umat Tidak Berhasil? Ya List Anggota Gambar 3. Proses Input Data Anggota Keluarga 606 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 Login sukses akan membawa id_lingkungan, sehingga ketika seorang kepala lingkungan menambahkan data, maka data tersebut akan tercantum pada lingkungan sesuai login kepala lingkungan. Gambar 8. Antarmuka Daftar Umat Penambahan umat dapat dilakukan dengan klik tombol “+” hingga muncul form isian tambah kepala keluarga seperti ditunjukkan pada gambar 9. Form isian ini panjang sehingga dibuat dengan ScrollView agar layar android dapat digeser turun. Dari daftar kepala keluarga dapat diklik akan menampilkan data untuk memungkinkan update data. Selain itu dari pemilihan menu dipojok kanan atas pada form dapat dipilih menu untuk menambahkan anggota dan melihat daftar anggota keluarga (gambar 10). Gambar 5. Parameter Input Data JSON Umat Dari Android Ke Web Service Gambar 6. Parameter Output (b) Aplikasi Android Antarmuka aplikasi android saat dijalankan akan muncul form login seperti pada gambar 7. Pengguna aplikasi yaitu kepala lingkungan memasukkan username dan password kemudian tekan tombol login. Apabila berhasil, akan muncul tampilan daftar umat yang dapat dilihat pada gambar 8. Gambar 9. Antarmuka Tambah Data Umat Form penambahan kepala keluarga dan anggota hampir sama, perbedaanya adalah ketika tambah kepala keluarga no kk dapat diisi. Tetapi untuk anggota no kk sudah default dari umat yang dipilih dari daftar kepala keluarga. Gambar 10. Antarmuka Daftar Anggota Gambar 7. Antarmuka Login 607 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 ISSN: 2089-9815 Pada web pendataan pilih menu kepala keluarga untuk melihat data yang diolah dari RESTFul web service ke table umat pada server MySQL dan sudah menunjukkan mapping anggota yang benar yaitu terdapat dua kepala keluarga seperti tampak pada gambar 14. 2.4 Pengujian Pengujian aplikasi terutama untuk mengetahui proses sinkronisasi pada saat mengirimkan data ke database server. Seperti dijelaskan diatas bahwa list akan berubah menjadi putih jika sukses upload data. Proses sinkronisasi dilakukan dengan menekan tombol Sync, akan muncul peringatan yang menandakan proses sinkronisasi data sedang dilakukan seperti ditunjukkan pada gambar 11. Setelah proses terlihat pada gambar 12 dimana warna dari daftar sudah berubah menjadi putih dapat disimpulkan bahwa data sudah terupload dengan sempurna. Gambar 14. Antramuka Daftar Kepala Keluarga berbasis Web Setiap kepala keluarga memiliki anggota masingmasing dan jika dipilih anggota dari Winangsit harus menampilkan dua anggota keluarga yaitu dirinya sendiri (Wiangsit) dan klarita pangaribuan seperti tampak pada gambar 15. Gambar 15. Antramuka Daftar Anggota Keluarga Gambar 11. Tampilan Proses Sinkronisasi Tujuan utama dari pengumpulan data adalah pembuatan statistik sesuai kebutuhan. Maka pengujian terakhir adalah memastikan kumpulan data dari android tersebut dapat diolah sesuai kebutuhan dan dapat terlihat melalui gambar 16 yang menunjukkan statistik jumlah umat berdasarkan jenis kelamin. Gambar 12. Antarmuka Daftar Anggota Setelah Sinkronisasi Data Untuk memastikan proses upload data sukses maka dapat dibuktikan dengan dua cara yaitu membuka table umat di database MySQL menggunakan tools seperti PhpMyAdmin tampak seperti gambar 13. Cara ke dua adalah akses ke aplikasi berbasis PHP. Gambar 16. Antramuka Statistik Berdasarkan Jenis Kelamin 3. KESIMPULAN Penelitian ini berhasil menerapka REST web service yang mengintegrasikan data dari database SQLite ke database server MySQL dan sangat membantu proses pengumpulan data umat. Akan sangat efektif dan efisien waktu dan biaya. Dapat menekan biaya cetak kertas yang disebar ke umat dan ongkos tenaga petugas sensus, ditambah lagi meskipun sangat minim koneksi internet proses sinkronisasi tetap dapat dilakukan. Gambar 13. Data Tabel Umat 608 Seminar Nasional Teknologi Informasi dan Komunikasi 2016 (SENTIKA 2016) Yogyakarta, 18-19 Maret 2016 Pemanfaatan web service melalui perangkat android ini memungkinkan update data yang real time ke server sehingga sensus atau laporan-laporan dapat dilakukan setiap saat. Karena dalam penelitian ini update data baru satu arah atau dari data SQLite ke MySQL, maka penelitian ini dapat dikembangkan lagi untuk komunikasi atau update data ke dua arah sekaligus sehingga data SQLite dan MySQL akan selalu sama dengan pengguna yang lebih spesifik yaitu umat yang bersangkutan. PUSTAKA Tarigan, I.Y.S, Soedjatmiko & Hartanto, R. 2010. Perancangan Basis Data dan Layanan Akses Berbasis Service Oriented Architecture (SOA) Untuk Dinas Kesehatan Kabupaten Sleman. Jurnal Buana Informatika, 1(1), 15-28. Cerami, E. 2002. Web Services Essential. O'Reilly. Lee, W.-M. 2012. Beginning Android 4 : Application Development. Indianapolis: John Wiley & Son, Inc. Nugroho, Adi., & Mustofa, Khabib. 2012. Perbandingan Antara “BIG” Web Service Dendan RESTFul Web Service Untuk Integrasi Data Berformat GML. Jurnal Informatika. 11(1), 8-16 Dospinescu, O., & Perca, M. 2013. Web Services in Mobile Applications. Informatica Economica, 17(2),17-26. Harnaningrum, L.N., Anggoro, Sigit., Prayitna, Adiyuda., Dewi, Syamsumin Kurnia 2014. Implementasi Sistem Informasi Bergerak Untuk Penguatan Surveilans Gizi di Puskesmas Banguntapan II Kabupaten Bantul. Jurnal Buana Informatika, 5(2), 75-84. S.Sujatha, N. B. 2011. Integrating SOA and Web Services. River Publishers. Kurniawan, Erick. 2014. Implementasi REST Web Service Untuk Sales Order Dan Sales Traking Berbasis Mobile. Jurnal EKSIS, 07(01), 1-12. Sungkur, Roopesh Kevin & Daiboo, Sachin. 2015. SOREST, A Novel Framework Combining SOAP dan REST for Impelentating Web Services. Proceedings of the Second International Conference on Data Mining, Internet Computing, and Big Data, Reduit, Mauritius. 22-34 Christanto, Ari Tunggul Sri. 2015. Penerapan Service Oriented Architecture (SOA) Menggunakan Web Service Pada Aplikasi Perpustakaan Berbasis Android di Perpustakaan UAJY. Jurnal Buana Informatika, 7(1), 75-82. 609 ISSN: 2089-9815