PENGEMBANGAN SISTEM PENGUMPULAN DATA MENGGUNAKAN APLIKASI MOBILE DAN WEB SERVICE
Victor Utomo Program Studi Teknik Informatika STMIK PROVISI, Semarang
[email protected] Abstract Nowadays, Information Technology is no longer about computer system. Information Technology is ranging from small compact cell phones into high performance server. This variety gives us a much flexible choice than the old times, but it also gives a bigger challenge. Various machines capabilities, operating system and platforms are among those varieties. Moreover, programming language and technology also develop rapidly. These kinds of things bring software developers to a new world, where some systems need to be developed on multiple platforms. Solution to this condition is web service. Web service provides a cross platform library over HTTP which is simple yet powerful. The transmitted data comes in XML format that is recognized by many programming language, so it brings compatibility between platforms. This article will give an example about a mobile application that all of its data will be populated to a single server to provide a report. Mobile application using java ME which is currently supported by wide range of cell phones, while web service using ASP.NET Web Service combined with SQL Server 2005 as database server. ASP.NET is chosen for a cause, to proof cross platform compatibility. Keywords: mobile application, web service, XML, Java ME, ASP.NET Web Service 1.
Pendahuluan
Tak dapat disangkal lagi kemajuan teknologi membuat perangkat untuk mengakses informasi berkembang pesat. Jika dahulu mengakses data identik dengan harus menggunakan komputer, kini hal itu tidak berlaku lagi. Kemajuan teknologi baik dalam bidang perakitan maupun pengembangan bahan, membuat perangkat keras semakin canggih dan murah. Jika dahulu hanya komputer yang memiliki prosesor, kini sebuah perangkat GPS receiver pun memiliki prosesor di dalamnya. Bahkan sebuah perangkat permainan dapat memiliki spesifikasi perangkat keras yang setara atau bahkan lebih baik dari sebuah komputer. Perkembangan pun tidak berhenti hanya pada sisi perangkat keras, perkembangan dari sisi infrastruktur pun bertambah. Informasi yang dulu cukup susah untuk dipindahkan dari satu komputer ke komputer lain, kini dapat dengan mudah dipindahkan dengan perantaraan internet. Dengan internet maka informasi dapat berpindah dengan cepat ke berbagai belahan dunia. Perpindahan data yang cepat ini, membuat orang mengatakan bahwa dunia ini semakin sempit. Perkembangan teknologi juga mempermudah akses internet. Akses internet kini dapat dilakukan melalui kabel telepon, baik dengan teknologi analog maupun DSL, melalui jaringan telepon seluler, baik GSM maupun CDMA juga dengan cara lain. Jika dahulu mengakses informasi identik dengan menggunakan komputer untuk keperluan pekerjaan, kini hal itu tidak berlaku lagi. Informasi tidak lagi identik dengan hal-hal yang bersifat serius.
Informasi yang dahulu tidak dianggap perlu seperti teman sekolah yang lama tidak bertemu, resep masakan kegemaran atau gosip artis terbaru, kini memenuhi jalur informasi di internet. Tidak hanya teks, tapi gambar, suara dan bahkan video dapat ditransmisikan. Di tengah-tengah kemajuan tersebut pada bidang bisnis terdapat kebutuhan untuk melakukan proses pengumpulan data dari bagian operasional yang berada pada ujung pelayanan untuk bagian pengambil kebijakan yang berada di pusat. Pada titik inilah teknologi aplikasi mobile dengan web service sangat cocok untuk masuk. Aplikasi mobile dapat berjalan pada perangkat mobile (tleepon seluler) yang secara umum tidak setangguh sebuah komputer. Telepon seluler menjadi pilihan karena telepon seluler adalah sebuah perangkat yang sangat dekat dengan kebanyakan lapisan masyarakat. Tidak hanya itu harga telepon seluler juga relatif tidak mahal sehingga pihak perusahaan dapat menyediakan dalam jumlah besar. Sementara web service berperan sebagai perantara aplikasi mobile dengan sistem utama yang berada di pusat. Web service menjadi pilihan karena sifatnya yang mampu melayani permintaaan dari berbagai platform. Artikel ini bertujuan untuk memberikan contoh bagaimana implementasi pengumpulan data tersebut dilakukan. Implementasi dilakukan dengan beberapa teknologi yang dipilih, sekalipun sebenarnya teknologi yang dapat digunakan tidak dibatasi.
45
Jurnal Teknologi Informasi dan Komunikasi, ISSN:2087-0868, Volume 1 Nomor 1 Agustus 2010 2.
Web Service
2.1 Pengenalan Web Service
-
World Wide Web Consortium (W3C), organisasi yang mengembangkan standar dalam dunia web, mendefinisikan web service sebagai perangkat lunak sistem yang dirancang untuk mendukung interaksi antara mesin dengan mesin melalui jaringan. Secara teknis web service adalah kumpulan dari fungsi atau method yang terdapat pada sebuah server yang dapat dipanggil oleh klien dari jarak jauh dengan menggunakan XML sebagai format pengiriman. Jadi web service sangat berbeda dengan web page. Perbedaan yang paling terlihat adalah web site dibuat untuk memiliki tampilan dan antar muka pengguna yang bagus, sedangkan web service tidak memiliki tampilan. Hal ini karena web service tidak dibuat untuk berinteraksi langsung dengan user. (Lucky, 2008)
-
2.2 Mengapa Web Service Konsep web service tidaklah baru. Sebelumnya telah terdapat teknologi komponen. Teknologi komponen adalah sebuah pengembangan dari prinsip object oriented di luar batasan bahasa tertentu. Teknologi berbasis komponen mengijinkan pengembang untuk secara mudah membagi obyek yang sudah terkompilasi pada aplikasi yang lain. Sayangnya, saat diimplementasi sebagai komponen terdistribusi, muncul kesulitan untuk diinstall pada jaringan. Pada era internet, dengan jaringan yang lebih buruk daripada jaringan lokal, performa dari aplikasi pun menjadi buruk. Belum lagi dengan adanya firewall yang mempersulit untuk mencapai komponen yang terdapat di belakang firewall. Web service mengatasi persoalan dengan mengembangkan obyek ke web. Pada dasarnya web service adalah sebuah application logic (komponen) yang dapat dipanggil dari jauh melalui internet. Untuk memastikan kompatibilitas antar platform, platform pengembangan aplikasi yang mungkin untuk menciptakan web service menggunakan standar XML yang sama. Hal ini dapat terjadi karena XML merupakan standar yang terbuka. 2.3 Keuntungan Web Service Berikut adalah keuntungan dari menggunakan web service - Web service sederhana. Kemudahan ini berarti dapat didukung oleh platform secara luas. - Web service tidak terikat. Web Service dapat menambah antar mukanya dan menambah method baru tanpa ada akibat
46
pada klien sepanjang masih menyediakan method dan parameter yang lama. Web service bersifat stateless. Klien membuat request ke web service, web service mengembalikan hasilnya dan koneksi ditutup. HTTP yang digunakan oleh web service juga stateless. Tentunya dimungkinkan untuk menggunakan state seperti halnya saat menggunakan teknologi server side untuk membuat page. Termasuk cookies dan session. Sekalipun demikian teknik ini tidak standar. Web service ‘ramah’ firewall. Firewall menjadi ‘musuh’ bagi teknologi distributed. Yang hampir selalu lolos firewall adalah traffic pada port 80 dan 443. Karena web service menggunakan HTTP maka dapat melewati firewall secara mudah.
Sementara kerugian dari menggunakan web service adalah sebagai berikut -
-
Tidak mendukung komunikasi dua arah. Artinya web service tidak dapat menghubungi aplikasi setelah koneksi tertutup. Kurang tangguh. Aplikasi terdistribusi mampu memberikan fungsionalitas yang lebih baik.
2.4 Standar pada Web Service Web service menggunakan beberapa standar sebagai berikut - Web Service Definition Languange (WSDL). Digunakan untuk menciptakan definisi antar muka untuk sebuah web service. Dokumen WSDL memberitahu klien, method apa yang tersedia pada sebuah web service, parameter dan return value dari setiap method dan bagaimana untuk berkomunikasi. - Simple Object Access Protocl (SOAP). Format pesan untuk menyandikan informasi saat berkomunikasi dengan web service. - Hyper Text Transfer Protocol (HTTP). Protokol yang digunakan web service untuk berkomunikasi. Sebagai contoh, pesan SOAP dikirim melalui protokol HTTP. - Discovery (DISCO). Digunakn untuk menciptakan dokumen pencarian yang menyediakan link ke berbagai web service. Standar ini khusus Microsoft dan akan diganti dengan nama standar yang serupa. - Universal Description Discovery and Integration (UDDI). Standar untuk menciptakan katalog perusahaan, web service yang disediakan dan URL untuk WSDL.
PENGEMBANGAN SISTEM PENGUMPULAN DATA MENGGUNAKAN APLIKASI MOBILE DAN WEB SERVICE 2.5 Cara Kerja Web Service -
-
Gambar 1. Cara Kerja Web Service (Moroney, 2006) Saat awal konsumer web service mencari web service, baik melalui URL web service secara langsung atau dengan dengan menggunakan server UDDI atau file DISCO. Pencarian perlu dilakukan terutama apabila menggunakan web service pihak ketiga yang belum diketahui. Selanjutnya klien mengambil dokumen WSDL dari web service, yang mendeskripsikan bagaimana untuk berinteraksi dengan web service. Kedua hal ini dilaksanakan pada saat melakukan desain. Saat aplikasi yang dibuat berinteraksi dengan web service, client mengirim pesan SOAP yang seusai untuk memicu web method. (Moroney, 2006) 3.
Aplikasi Mobile
3.1 Definisi Aplikasi Mobile Aplikasi mobile adalah aplikasi yang dikembangkan untuk perangkat handheld seperti personal digital assistant (PDA), enterprise digital assistant atau telepon seluler. Aplikasi mobile dapat sudah terinstall pada perangkat saat dijual, atau diunduh melalui took aplikasi dan jalur distribusi aplikasi lainnya. 3.2 Pengembangan Aplikasi Mobile Ada banyak platform yang dapat dipilih oleh pengembang untuk mengembangkan aplikasinya. Setiap platform sama tidak kompatibelnya satu sama lain. Biasanya setiap perangkat handheld hanya mendukung satu platform tertentu. Berikut adalah beberapa platform pengembangan yang didukung oleh banyak pabrikan - Java ME. Platform ini biasanya menghasilkan aplikasi portable, sekalipun terkadang pustaka perangkat tertentu membuatnya tidak portable lagi. Java ME sering kali digunakan untuk menghasilkan aplikasi pada telepon seluler low-end. Aplikasi termasuk data tidak boleh lebih besar dari 1 MB agar dapat dijalankan pada kebanyakan telepon seluler. Java ME dijalankan di atas Virtual Machine (JVM)
-
4.
yang mengijinkan akses terbatas pada telepon seluler. Symbian. Platform Symbian sejak awal didesain untuk perangkat mobile. Platform Symbian adalah sistem operasi yang multitasking yang dirancang untuk berjalan dengan baik pada sistem dengan sumber daya terbatas, memaksimalkan performa dan umur baterai dan meminimalkan penggunaan memori. Symbian Foundataion merawat kode untuk aplikasi open source berbasis platform Symbian. Android. Android adalah platform berbasis Linux yang berasal dari Open Handset Alliance, yang memiliki 34 anggota termasuk Google, HTC, Motorola, Qualcomm dan T-Mobile. Kernel Linux digunakan sebagai hardware abstraction layer (HAL). Pengembangan aplikasi dilakukan dengan Java. Java SDK khusus untuk Android dibutuhkan untuk keperluan pengembangan. .NET Compact Framework. Digunakan pada perangkat PocketPC atau Windows Mobile.
Pengembangan aplikasi
4.1 Pemilihan Teknologi Berikut adalah teknologi yang dipilih untuk mengembangkan sistem pengumpulan data 1. Transportasi: konektivitas ke server dilakukan dengan menggunakan akses GPRS . 2. Aplikasi Mobile: aplikasi dikembangkan dengan Java ME sebagai platform yang didukung oleh kebanyakan telepon seluler. Java ME juga dipilih karena kebutuhan perangkat keras yang cukup sederhana. 3. Web Service: web service dikembangkan dengan ASP.NET Web Service. Pemilihan ASP.NET karena ASP.NET Web Service adalah salah satu platform web service yang didukung secara luas. Selain itu juga untuk membuktikan kompatibilitas antar platform. 4. Database : data disimpan pada server database SQL Server 2005. Pemilihan SQL Server 2005 lebih dengan alasan kemudahan saja, karena masih satu keluarga dengan teknologi web service yang digunakan (ASP.NET Web Service). 4.2 Membuat ASP.NET Web Service Pada sistem pengumpulan data, ASP.NET Web Service berguna sebagai listener dari data yang akan dikirim dari unit-unit kerja yang tersebar pada berbagai wilayah. Yang dibutuhkan pada ASP.NET Web Service hanya sebuah method yang menerima parameter
47
Jurnal Teknologi Informasi dan Komunikasi, ISSN:2087-0868, Volume 1 Nomor 1 Agustus 2010 berupa data yang dikirim dari aplikasi mobile. Data yang diterima nanti dapat disimpan pada database SQL Server 2005. Sekalipun sederhana, ada beberapa hal yang perlu diperhatikan pada parameter yang digunakan. Yang pertama adalah bahwa karena bekerja pada platform dan bahasa pemrograman yang berbeda, tipe data yang digunakan dapat saja berbeda. Untuk mengatasinya selalu gunakan tipe data yang sederhana, seperti integer, double dan string. Hindari untuk menggunakan tipe data kompleks. Tapi jika penggunaan tipe data kompleks tidak dapat dihindari, maka sebenarnya tidak masalah karena data dikirim dalam format XML, sehingga tipe data yang kompleks tetap akan dapat diterima. Yang kedua adalah bahwa karena data dikirim satu kali, perlu dipertimbangkan juga besaran data. Pada ASP.NET Web Service memang hal ini tidak bermasalah, karena fungsinya yang sebagai penerima data. Pengiriman data memang lebih bermasalah pada sisi pengirim. Jika data terlalu besar maka dikhawatirkan akan terputus pada saat pengiriman. Yang ketiga adalah dengan menggunakan tipe data sederhana maka agak sulit untuk mengirimkan rangkaian data, seperti pada sistem pengumpulan data ini. Solusinya, data dapat dirangkai dalam bentuk CSV (Comma Separated Value) untuk menggabungkan record dan field yang ada. CSV dipilih karena .NET memiliki fasilitas yang memudahkan untuk ’membongkar’ CSV. Jika memang dianggap lebih masuk akal maka dapat digunakan metode encoding lainnya untuk merangkai data-data yang hendak dikirim. 4.3 Membuat Aplikasi Mobile dengan Java ME Java ME terbagi menjadi konfigurasi, profile dan optional API yang menyediakan informasi khusus tentang API dan jenis perangkat. Konfigurasi didesain untuk perangkat berdasarkan ukuran memori dan kemampuan prosesor. Konfigurasi memberikan spesifikasi pada JVM, yang dapat dengan mudah di-port pada perangkat yang mendukung konfigurasi berikut. Profile lebih spesifik daripada konfigurasi. Sebuah profile berdasarkan pada konfigurasi dan memberikan API tambahan, seperti antar muka pengguna, tempat penyimpanan dan lain-lain. Optional API memberikan fungsionalitas tambahan khusus yang dapat disertakan pada konfigurasi atau profil tertentu. (Sing dan Knudsen, 2005)
Gambar 2. Profile dan Konfigurasi Java ME (Sing dan Knudsen, 2005) Pada sistem ini, aplikasi mobile dikembangkan menggunakan profil Mobile Information Device Profile (MIDP) dan konfigurasi Connected, Limited Device Configuration (CLDC). Pemilihan MIDP bertujuan agar tidak membutuhkan perangkat telepon seluler dengan spesifikasi tinggi. Pada saat awal aplikasi mobile akan menyimpan terlebih dahulu pada perangkat, dalam hal ini telepon seluler. Hal ini dimaksudkan agar data tetap dapat disimpan sekalipun dalam kondisi tidak dapat terhubung ke internet. Untuk melakukan penyimpanan data pada telepon seluler digunakan fasilitas Record Management System (RMS). Record store adalah database sederhana yang digunakan MIDP sebagai media penyimpanan. MIDP tidak dapat mengatur dimana penyimpanan itu sendiri dilakukan, bisa pada memori internal telepon seluler, atau bisa juga pada kartu memori tambahan. Sekali pun, mengenali record, tidak seperti umumnya, RMS tidak mengenali field / kolom. RMS sebenarnya bukan satu-satunya media penyimpanan yang dikenal oleh MIDP, hanya saja RMS adalah media penyimpanan yang lebih sesuai dengan kondisi di lapangan, karena RMS didukung bahkan oleh telepon seluler kelas low-end sekalipun. Agar dapat mengakses web service, maka aplikasi mobile harus menambahkan referensi terhadap web service yang bersangkutan. Referensi terhadap pustaka tersebut dapat dilakukan secara manual, atau dapat juga melalui alat bantu Java Wireless Toolkit yang tersedia gratis. Berikutnya tinggal memberikan method untuk mengirim data yang sebelumnya sudah disimpan di record store kepada web service. 5.
Kesimpulan
Pengembangan sistem pengumpulan data dengan teknologi aplikasi mobile dan web service yang telah dijelaskan sebelumnya, dapat ditarik beberapa kesimpulan: 1. Sistem pengumpulan data dapat dilakukan dengan melalui perangkat telepon seluler lowend melalui koneksi internet dan web server.
48
PENGEMBANGAN SISTEM PENGUMPULAN DATA MENGGUNAKAN APLIKASI MOBILE DAN WEB SERVICE 2.
3.
4.
Sistem pengumpulan data dapat dilakukan pada jangkauan yang lebih luas dan cepat karena menggunakan perangkat telepon seluler yang sudah dikenal dan memasyarakat Sekalipun teknologi yang digunakan sudah ada selama beberapa waktu, tetapi implementasi secara nyata di Indonesia baru dapat dilakukan akhir-akhir ini mengingat prasarana yang kurang. Perusahaan tidak perlu terpaku pada satu platform tertentu untuk mengimplementasikan sistem pengumpulan data. Perusahaan dapat memilih platform yang dianggap lebih sesuai baik dari sisi teknologi maupun ekonomi.
Daftar Pustaka: Moroney , Laurence, 2006, Pro ASP.NET 2.0 in VB 2005, New York, Apress. Lucky, 2008, XML Web Service, Jakarta, Jasakom. Sing, Li dan Knudsen, Jonathan, 2005, Beginning J2ME: From Novice to Professional, New York, Apress.
49