SAMPUL
APLIKASI PMI BERBASIS ANDROID DENGAN SINKRONISASI MENGGUNAKAN XML-RPC WEB SERVICE DI PMI DIY
NASKAH PUBLIKASI
diajukan oleh Rakhmad Ikhsanudin 10.11.3550
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
NASKAH PU BLIKASI
RSETUJUAN
NASKAH PUBLIKASI
APLIKASI PMI BERBASIS ANDROID DENGAN SINKRONISASI MENGGUNAKAN XML-RPC WEB SERVICE DI PMI DIY
disusun oleh
Rakhmad Ikhsanudin 10.11.3550
Dosen Pembimbing
Kusrini, Dr., M.Kom NIK. 190302106
Tanggal, 4 Desember 2013
Ketua Jurusan Teknik Informatika
Sudarmawan, M.T NIK. 190302035
ANDROID APPLICATION FOR PMI WITH SYNCHRONIZATION USING XML-RPC WEB SERVICE AT PMI DIY APLIKASI PMI BERBASIS ANDROID DENGAN SINKRONISASI MENGGUNAKAN XML-RPC WEB SERVICE DI PMI DIY
Rakhmad Ikhsanudin Kusrini Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT All people need information. Information will be more valuable when have accuracy and a high level of truth. The Value of benefits will increase when can be obtained on time. PMI is a humanitarian organization. They provide blood supply for those in need. It will be very helpful when PMI can also provide information about the blood supply they have quickly and accurately. We need a method to make the information about PMI can be accessed easily. The method is to create a web service in the form of XML. It will make the information will be easily accessible by many media. Information will be packaged into a simple form. This simplicity is what will be the advantages of this method. Almost all online media information are able to access XML web service form. The application to be developed is the Androidbased applications. Android is open source and has been widely circulated in the community. This application will be able to display information about the PMI. We will be able to get information about the blood supply, important news, the location of blood transfusion and other information about the PMI. Keywords : Web Service, Android, XML-RPC, Programming
LEM BAR PENGESAHAN
Pendahuluan PMI DIY sebagai badan sosial yang bergerak pada penanganan stok darah di daerah Provinsi Yogyakarta. Memiliki peran penting untuk menginformasikan jumlah stok darah yang ada di provinsi DIY agar dapat diketahui oleh orang yang membutuhkan darah. Disamping itu teknologi semakin berkembang. Cara penyajian informasi juga harus disesuaikan dengan teknologi yang sedang banyak digunakan. Aplikasi PMI Mobile adalah aplikasi berbasis android yang menyajikan informasi PMI. Dengan aplikasi ini, pengguna android dapat memperoleh informasi PMI secara mudah dan cepat. Dengan device Android yang mereka miliki.
Landasan Teori Konsep Dasar Aplikasi Mobile 2.1.1
Definisi Aplikasi Aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan
kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media. 1
2.1.2
Definisi Aplikasi Mobile Mobile dapat diartikan sebagai perpindahan yang mudah dari satu tempat ke tempat
yang lain, misalnya telepon mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari satu tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi. Aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun pengguna berpindah dengan mudah dari satu tempat ketempat lain lain tanpa terjadi pemutusan atau terputusnya komunikasi. Aplikasi ini dapat diakses melalui perangkat nirkabel seperti pager, seperti telepon seluler, PDA, serta Smartphone . Adapun karakteristik perangkat mobile yaitu : a. Ukuran yang kecil : Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
1
Verdy Yasin,S.Kom.,M.Kom, Rekayasa Perangkat Lunak Berorientasi Objek, Hal 259
b. Memory yang terbatas : Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary (disk). c.
Daya proses yang terbatas : Sistem mobile tidaklah setangguh rekan mereka yaitu desktop.
d. Mengkonsumsi daya yang rendah : Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. e. Kuat dan dapat diandalkan : Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk menghadapi benturan-benturan, gerakan, dan sesekali tetesan-tetesan air. f.
Konektivitas yang terbatas : Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung.2
Konsep Dasar Aplikasi Android Aplikasi Android ditulis dalam bahasa permrograman java 3 . Kode java dikompilasi bersama dengan data file yang dibutuhkan menjadi bentuk package oleh apt tools sehingga menghasilkan file berekstensi apk4. File apk itu adalah file aplikasi android yang bisa di install di perangkat mobile dengan sistem operasi Android5. Aplikasi android sendiri memiliki beberapa komponen sebagai berikut 6: a. Activities Suatu activity akan menyajikan user interface (UI) kepada pengguna, sehingga pengguna dapat melakukan interaksi. Secara hirarki sebuah windows activity dinyatakan dengan method Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki. b. Service Service tidak memiliki Graphic User Interface (GUI), tetapi sevice berjalan secara background, sehingga aplikasi bisa tetap berjalan walau kita menjalankan aplikasi lain. Service dijalankan pada thread utama dari proses aplikasi. c.
2
Broadcast Receiver
ibid Nazruddin Safaat H, Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, hal 9 4 Ibid, hal 9 5 Ibid, hal 9 6 Ibid, hal 9-10 3
Broadcast
Receiver
berfungsi
menerima
dan
bereaksi
untuk
menyampaikan notifikasi. Broadcast Receiver tidak memiliki user interface (UI), tetapi memiliki sebuah activity untuk merespon informasi yang mereka terima atau mungkin menggunakan Notification Manager untuk memberitahu kepada pengguna. d. Content Provider Content Provider membuat kumpulan aplikasi data secara spesifikasi sehigga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity7. Konsep Dasar Web Service Menurut Kreger web service diartikan sebagai sebuah antar muka (inteface) yang menggambarkan sekumpulan operasi-operasi yangdapatdiakses melalui jaringan, misalnya internet, dalam bentuk pesan XML. Sedangkan menurut Manes(2001), web service diartikan sebagai sepotong atau sebagian informasi atau proses yang dapat diakses oleh siapa saja, tidak terikat dengan sistem operasi atau bahasa pemrograman yang digunakan. 8 Web
service
merupakan
middleware
dalam
suatu
jaringan
internet
yang
memungkinkan suatu sistem dapat saling berkomunikasi pada platform yang berbeda. Webservice menggunakan antarmuka berupa XML, yang dapat digunakanuntuk membawa operasi-operasi dan data untuk berkomunikasi antar sistem.9
2.3.1
XML-RPC XML-RPC adalah salah satu model web service yang bekerja pada protokol RPC
dalam suatu jaringan internet. Sebuah message XML-RPC adalah HTTP-POST request berbasis HTTP 1.0 dan HTTP 1.1.10 XML-RPC menggunakan XML sebagai standarisasi pesan yang dikirim Dengan menggunalan format tersebut, maka platform client dan server tidak dibatasi lagi oleh suatu bahasa pemrograman tertentu.11 7
Ibid, hal 9-10 Arif Dwi Laksito, “Sinkronisasi Jadwal Perkuliahan pada Aplikasi android menggunakanTeknologi XML-RPC”, 15 Juni 2013 :2 9 Ibid 10 Ibid 11 Ibid 8
Tujuan utama penggunaan XML-RPC adalah kemudahan dalam implementasi dan adaptasi di lingkungan pemrogramanyang berbeda atau sistem operasi yangerbeda,
Gambar 2-1. Konsep Dasar XML-RPC XML-RPC digunakan untuk mencari cara yang efektif dan simple dalam hal permintaan dan penerimaan informasi.
2.3.2
XML Menurut Walsh, XML merupakan sebuah Markup Language untuk dokumentasi
terstruktur. Dokumen-dokumen terstruktur adalah dokumen-dokumen yang mempunyai isi/content (kata,gambar) serta indikasi yang menyatakan makna dari content tersebut. 12 Sebuah objek data dapat dikatakan sebagai dokumen XML jika memenuhi kriteria wellperformed, Adapun kriteria well-performed adalah sebagai berikut: a. Satu dan hanya ada satu root element yang ada dalam suatu dokumen. b. Setiap elemen harus memiliki start-tag dan end-tag. c.
Setiap elemen harus properly nested.
d. Karakter pertama dari nama atribut harus berupa huruf alfabet atau underscore. e. Suatu nama atribut hanya boleh munculsatu kali pada start-tag yang sama.13
12 13
Ibid Ibid
Analisis dan Perancangan Sistem Analisis Sistem Menganalisa sistem bertujuan untuk menguraikan konsep kerja sistem yang akan dibuat dan manfaatnya. Pengembangan sistem informasi berbasis komputer menjadi tugas yang membutuhkan sumber daya untuk menyelesaikannya. Siklus hidup suatu sistem (system life cycle) suatu metode pengembangan sistem yang dapat memecahkan permasalahan, hambatan yang timbul, sehingga terjadi
peningkatan kinerja seluruh elemen organisasi.
Tahapan dalam siklus hidup suatu sistem (system life cycle) terdiri dari perencanaan sistem (system planning), analisis sistem (system anal ysis), desain sistem (system design), seleksi sistem (system selection), implementasi sistem (system implementation) dan perawatan sistem (system maintenance)
3.1.1
Analisis SWOT Analisis SWOT merupakan metode perencanaan strategis yang digunakan untuk
melakukan pendekatan bisnis dengan lebih mudah dalam suatu proyek. Analisis tersebut dapat dilakukan dengan cara mengevaluasi kekuatan (strength), kelemahan (weakness), kesempatan (oportunity), dan ancaman (threats) dari system yang sedang berjalan.
Kekuatan (Strength) Kekuatan yang dimiliki system yang sebelumnya adalah: a. Informasi yang didapat oleh seseorang yang membutuhkan darah adalah akurat. Karena dilakukan dengan menghubungi PMI untuk mengetahui stok darah yang ada. b. Meminimalisir oknum – oknum jahat yang sering mencari darah gratis untuk dijual kepada orang yang membutuhkan darah.
Kelemahan (Weakness) Sistem yang lama juga memiliki kelemahan. Sistem lama tidak praktis. Sebab harus menghubungi PMI untuk mengetahui jumlah stok darah.
Kesempatan (Opportunity) Dari kelemahan tersebut, dapat dibuat sebuah aplikasi yang memudahkan seorang yang membutuhkan darah untuk mendapatkan darah yang sesuai dengan yang dia butuhkan.
Ancaman (Threats) Masalah akan muncul ketika seorang yang membutuhkan darah ingin mengetahui stok darah di PMI namun stok kosong. Maka orang tersebut perlu mencari pendonor.
3.1.2
Analisis Kebutuhan Sistem Dalam perancangan sistem peneliti mendefinisikan kebutuhan sistem dan proses apa
saja yang akan dilakukan oleh sistem. Kebutuhan sistem sendiri terbagi menjadi dua yaitu kebutuhan functional dan kebutuhan nonfunctional14.
Perancangan Sistem Perancangan sistem merupakan bagian yang penting dalam membuat suatu sistem ataupun aplikasi, perancangan sistem ini dimaksudkan untuk memberikan gambaran umum tentang aplikasi yang akan dibuat.
3.2.1
Perancangan UML Untuk lebih memperjelas tentang gambaran sistem maka penulis membuat UML
(Unified Modeling Language ) dengan beberapa tipe yaitu Use case diagram, Activity diagram, Sequence diagram, dan Class diagram.
Usecase Diagram Use Case Diagram (UCD) menjelaskan apa yang akan dilakukan oleh sistem yang akan dibangun dan siapa yang berinteraksi dengan sistem. Sekumpulan use case menggambarkan sebuah sistem dalam syarat-syarat pada apa yang dilakukan user pada sistem. Komponen utama Use Case Modelling ini adalah Actor dan Use Case itu sendiri.
Activity Diagram Activity diagram
menggambarkan rangkaian aliran dari atifitas, digunakan untuk
mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi15.
14
Hanif Al Fatta , Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan dan Organisasi Modern, hal 62 15 Verdi Yasin, REKAYASA PERANGKAT LUNAK BERORIENTASI OBJEK Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design), hal 270
Sequence Diagram Sequence Diagram menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk menunjukan rangkaian pesan yang dikirim antar objek juga interaksi antar objek, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem . Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu .
Class Diagram Class diagram menggambarkan struktur dan deskripsi class, package, dan objek berserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain-lain16. Class diagram berfungsi untuk menjelaskan tipe dari objek sistem dan hubungannya dengan objek lain17. Objek adalah nilai tertentu dari setiap atribut kelas entity18.
Implementasi dan Pembahasan Implementasi Tahap implementasi sistem adalah tahap meletakkan sistem supaya siap dioperasikan. Tahap ini dilakukan setelah melakukan perancangan sistem yaitu pembuatan program. Pengujian Pengujian dilakukan untuk mengetahui langkah dan alur aplikasi sudah berjalan dengan baik sesuai dengan rancangan yang diharapkan. Maksud dari pengujian adalah untuk mengetahui masih adakah kesalahan sehingga sistem tidak dapat berjalan sesuai dengan keinginan. Terdapat 3 jenis kesalahan dalam tes program, yaitu : a. Kesalahan Penulisan Syntax b. Kesalahan Sewaktu Proses (run time error) c. Kesalahan Logika
4.2.1
Pengujian Sistem Pengujian sistem ini bertujuan untuk menguji apakah sistem dapat berjalan sesuai
dengan fungsinya atau tidak. Berikut adalah tabel hasil pengujian sistem yang telah dilakukan :
16
Ibid, hal 273 Ibid, hal 273 18 Ibid, hal 273 17
Table 4-1. Tes Login No 1
Skenario Memasukkan username dan password dengan benar Memasukkan password atau password salah
Hasil Masuk dalam aplikasi
Muncul Pemberitahuan bahwa username atau password yang dimasukkan salah.
Sukses
4
Menekan proses sebelum semua input terisi
Muncul Pemberitahuan bahwa input harus di isi.
Sukses
5
Melakukan login tanpa koneksi internet.
Muncul pemberitahuan bahwa tidak terkoneksi dengan internet.
Sukses
2
Status Sukses
Table 4-2. Test Register No 1
Skenario Tidak semua field terisi
Hasil Konfirmasi field harus diisi semua
Status Sukses
2
Memasukkan username yang sudah terdaftar.
Username tidak tersed
Sukses
3
Melakukan proses login tanpa koneksi internet.
Muncul pemberitahuan bahwa tidak terkoneksi dengan internet.
Sukses
Table 4-3. Test Sinkronisasi Stok Darah No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Keluar konfirmasi sinkronisasi berhasil. Keluar konfirmasi gagal membaharui data stok darah.
Status Sukses Sukses
Table 4-4. Tes Sinkronisasi Broadcast No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Keluar konfirmasi sinkronisasi berhasil. Keluar konfirmasi gagal sinkron.
Status Sukses Sukses
Table 4-5. Tes Kirim Broadcast No 1 2
3
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Keluar konfirmasi kirim broadcast berhasil. Keluar konfirmasi error network.
Tidak memiliki session login
Akan diarahkan ke activity login
Status Sukses Sukses
Sukses
Table 4-6. Test SInkronisasi Berita No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Keluar konfirmasi sinkronisasi berhasil. Keluar konfirmasi gagal sinkron.
Status Sukses Sukses
Table 4-7. Test Sinkronisasi UDD No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Keluar konfirmasi sinkronisasi berhasil. Keluar konfirmasi gagal sinkron.
Status Sukses Sukses
Table 4-8. Tes Load Map dan Direction tiap UDD No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Tampil map dan direction dari posisi kita sekarang ke UDD. Keluar konfirmasi gagal load direction.
Status Sukses Sukses
Table 4-9. Test Ubah Photo Profile No 1 2
Skenario Terkoneksi dengan internet Tidak terkoneksi dengan internet
Hasil Photo profile terbaru diupload ke server. Keluar konfirmasi gagal ganti photo profile.
Status Sukses Sukses
Pembahasan Aplikasi Pada Aplikasi ini terdapat main class yang merupakan class utama pada aplikasi ini dan service class yang merupakan background proses dari main class.
4.3.1
Menu Utama Saat pertama user membuka PMI Mobile, maka akan tampil Main Activity. Main
Activity membuat fitur – fitur yang ada di PMI mobile saling terhubung dan menjadi satu aplikasi. Di menu utama terdapat 4 tab: 1. Tab stok darah 2. Tab broadcast 3. Tab berita 4. Tab udd
Gambar 4-1. Main Activity
4.3.2
Login Activity ini digunakan oleh user yang telah terdaftar sebagai member. Agar dapat
menggunakan fiur kirim broadcast di aplikasi PMI Mobile.
Gambar 4-2. Login Activity 4.3.3
Register Digunakan untuk user yang belum terdaftar sebagai member untuk mendaftarkan diri
sebagai member PMI Mobile. User yang melakukan pendaftaran wajib mengisi semua field yang ada di Activity Register.
Gambar 4-3. Register Activity
4.3.4
Stok Darah PMI Mobile memiliki fitur untuk melihat stok darah di UDD yang ada di tiap kabupaten
di DIY.
Gambar 4-5. Tab Stok Darah 4.3.5
Gambar 4-4. Detail Stok Darah
Broadcast Disini user bias melihat broadcast pesan dari user lain yang terdaftar di aplikasi PMI
Mobile. Fitur ini berfungsi untuk membroadcast kebutuhan darah user. Sehingga akan dapat dilihat oleh user lain yang menggunakan aplikasi PMI Mobile. User yang telah melakukan login di aplikasi PMI Mobile bisa melakukan kirim broadcast.
Gambar 4-6. Tab Broadcast Penutup Kesimpulan Berdasarkan uraian-uraian yang telah penulis jelaskan dalam bab-bab sebelumnya dan pembuatan aplikasi, maka dapat diambil kesimpuan sebagai berikut : 1. Dengan mengemasnya ke dalam versi mobile, informasi PMI semakin mudah digunakan. Karena dapat diakses dari mana saja. 2. Dengan fotur broadcast, PMI mobile dapat membantu orang untuk menemukan pendonor. 3. PMI Mobile melakukan pengecekan ke twitter PMI DIY apakah informasi yang dimiliki adalah informasi terbaru. Jika tidak, server dari PMI Mobile akan melakukan parsing ke twitter PMI DIY? Saran Pada penulisan Skripsi ini tentu masih banyak kekurangan , dan mungkin dapat disempurnakan oleh penelitian-penelitian berikutnya. Untuk lebih menyempurnakan program ini penulis memberikan beberapa saran diantaranya : 1. Pengunaan service pada aplikasi ini akan membuat aplikasi ini berjalan terus sehingga akan memakan daya dan bandwidth walau pun oleh penulis sudah
dibuat seminimal mungkin namun dapat di perbaiki oleh pengembang berikutnya dengan menggunakan push notification sehingga dari server yang akan memberikan pesan ke ponsel. 2. Sistem ini mengambil informasi stok darah dari twitter. Sebab belum ada sistem yang mencatat stok darah di PMI seluruh DIY maupun seluruh Indonesia. Hal ini bisa dijadikan sebagai objek untuk penelitian. 3. Penyusun menyadari dalam pembuatan sistem informasi ini, masih banyak kekurangan, dari segi penulisan, pembuatan sistem, dan desain yang dibuat,oleh karena itu diharapkan kritik dan saran.
DAFTAR PUSTAKA Fatta, H. A. 2007. Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan dan Organisasi Modern. Yogyakarta: Andi. Hermawan, B. 2007. Menguasai JAVA 2 & Object Oriented Programming. Yogyakarta: Andi. Kusrini. (2006). Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta: Andi. Owens, M. 2006. The Definitive Guide to SQLite . United States of America: Apress. Raharjo, B. 2011. Belajar Otodidak Membuat Database Menggunakan MySQL. Bandung: Informatika. Safaat, N. 2012. Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika. Sakur, S. B. 2011. Pemrograman Berorientasi Objek-Konsep & Implementasi. Yogyakarta: Andi. Setiaji, B. 2012. Pemanfaatan Bahasa Alami Sebagai Antar Muka Aplikasi NL-Faraid. Jurnal Teknologi Informasi Respati Volume VII Bulan NoVEMBER 2012, Universitas Respati Yogyakarta. Shalahuddin, M. , A.S. Rosa. 2006. Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile. Bandung: Informatika. Sunardi, Hari Murti, Hersatoto Listiyono. 2009. Aplikasi SMS Gateway. Jurnal Teknologi Informasi DINAMIK Volume XIV, No.1, Januari 2009 :, 30-34. Wiharto, Y. 2011. Sistem Informasi Akademik Berbasis SMS Gateway. JURNAL TEKNOLOGI DAN INFORMATIKA (TEKNOMATIKA) VOL.1 NO.1. Yasin, V. 2012. REKAYASA PERANGKAT LUNAK BERORIENTASI OBJEK Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design) tahun. Jakarta: Mitra Wasana Media.