SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
SINKRONISASI DATABASE BERBASIS XML – RPC PADA STUDI KASUS KAMUS JAWA – INDONESIA
Rizky Septiandy Wicaksono1 , Ary Mazharuddin S., S.Kom, M. Comp. Sc.2 Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Email :
[email protected],
[email protected]
menjangkau masyarakat menengah ke bawah bila dibandingkan dengan smartphonesmartphone yang ada saat ini. Dengan adanya kamus ini, orang Indonesia bisa belajar bahasa Jawa dimanapun dan kapanpun. Hal ini dikarenakan data kamus disimpan pada handphone dengan database berbasis RMS (Record Management System).
Abstrak Perkembangan teknologi telepon genggam yang semakin pesat dan cenderung semakin murah telah memberikan inovasi dalam pelestarian bahasa daerah – khususnya dalam hal ini adalah bahasa Jawa – berupa aplikasi kamus bahasa Jawa berbasis J2ME. J2ME merupakan teknologi aplikasi Java pada handphone. Dengan adanya kamus ini, orang Indonesia bisa belajar bahasa Jawa dimanapun dan kapanpun. Hal ini dikarenakan data kamus disimpan pada handphone dengan database berbasis RMS (Record Management System). Dengan adanya teknologi web service, aplikasi mobile kini dapat melakukan sinkronisasi dengan server agar data bisa bisa ter-update. Sinkronisasi dapat dilakukan dengan cara client mengirim timestamp terakhir yang dimiliki untuk kemudian dilakukan pencarian data yang memiliki timestamp lebih baru pada server dan akhirnya data – data yang memiliki timestamp lebih baru tersebut akan dikirim server ke client dan dilakukan sinkronisasi lokal dalam database client. Sinkronisasi database melalui XML – RPC berdasarkan timestamp data ini berhasil diimplementasikan dalam lingkungan J2ME sebagai client dan PHP sebagai server. Dari hasil uji coba, faktor yang mempengaruhi kecepatan proses sinkronisasi ini tergantung pada jenis konektivitas client (GPRS, EDGE, atau 3G) dan sistem operasi mobile pada client. Semakin cepat jenis konektivitas, maka sinkronisasi juga semakin cepat. Dan sistem operasi mobile phone yang berbasis Java memiliki waktu pemrosesan sinkronisasi database yang lebih cepat jika dibandingkan sistem operasi lain. Kata Kunci : Kamus Jawa - Indonesia, XML – RPC , sinkronisasi, timestamp, Java ME.
Permasalahan terjadi ketika pengguna ingin meng-update atau mensinkronisasi data kamusnya dengan referensi terbaru atau jika ternyata ada kesalahan translasi. Secara umum, orang harus mengunduh secara manual aplikasi terbaru yang memiliki data terevisi. Padahal biasanya yang di-update hanya datanya, bukan aplikasinya. Dengan dilatar belakangi adanya permasalahan ini, maka muncul ide untuk memanfaatkan perkembangan teknologi internet pada handphone yang semakin berkembang sebagai penyedia layanan update data kamus. Database yang ada pada kamus Jawa – Indonesia mobile dapat kita sinkronisasikan dengan database yang ada pada server dengan menggunakan teknologi web service XML – RPC yang juga sudah didukung oleh J2ME. 2. XML – RPC XML adalah kependekan dari eXtensible Markup Language, adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam. XML didesain untuk mempu menyimpan data secara ringkas dan mudah diatur13. RPC atau Remote Procedure Call adalah sebuah protokol untuk meminta sebuah service dari sebuah program yang berada dalam remote computer melalui jaringan tanpa perlu mengetahui layer dalam teknologi jaringan. Dalam RPC ada dua proses, yaitu request dan response. Tiap pengiriman request disertai dengan parameter sesuai dengan prosedur yang dipanggil. dan reply message adalah hasil dari prosedur. Setelah reply message diterima, hasil dari prosedur tersebut akan diekstraksi dan eksekusi dari client akan dilanjutkan. Di sisi server, sebuah proses akan menunggu call message dan jika telah sampai, server akan mengekstrak parameter dari prosedur, melakukan komputasi, dan mengirim reply message11.
1.
Pendahuluan Perkembangan teknologi telepon genggam yang semakin pesat dan cenderung semakin murah telah memberikan inovasi dalam pelestarian bahasa daerah – khususnya dalam hal ini adalah bahasa Jawa – berupa aplikasi kamus bahasa Jawa berbasis J2ME. J2ME merupakan teknologi aplikasi pada handphone berbasis Java yang notabene memiliki harga cenderung lebih
1
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
Contoh dari sebuah XML-RPC request dapat dilihat pada Gambar 1:
1.
POST /RPC2 HTTP/1.0 User-Agent: Mozilla/4.0 Host: www.nira.se Content-Type: text/xml Content-length: 181 <methodCall> <methodName>example.echoPhrase <params><param>
<string>Hello World Gambar 1 Contoh XML – RPC Request
2.
3.
Untuk contoh sebuah XML Response yang berhasil mengembalikan value yang diinginkan dapat dilihat pada Gambar 2 :
Configuration Merupakan library minimum Java yang sesuai spesifikasi hardware perangkat mobile. Ada dua Configuration, yaitu Connected Limited Device Configuration (CLDC) untuk perangkat mobile biasa, dan Connected Device Configuration (CDC) untuk perangkat mobile canggih. Profile Profile membahas sesuatu yang spesifik pada perangkat mobile. Ada dua profile, yaitu Mobile Information Device Profile (MIDP) dan Foundation Profile. Optional Package Seperangkat teknologi API untuk Java ME.
3.1 Record Management System Sebuah key dari subsistem Mobile Information Device Profile (MIDP) adalah Record Management System (RMS), sebuah Application Programming Interface (API) yang memberikan data persistence lokal pada aplikasi MIDP applications local. Pada kebanyakan device berbasis MIDP, RMS adalah fasilitas satu – satunya untuk penyimpanan data local, hanya beberapa device saja yang mendukung file system konvensional9.
HTTP/1.1 200 OK Connection: close Content-Length: 158 Content-Type: text/xml Date: Mon, 13 Jan 2003 08:00:01 GMT Server: Tomcat Web Server <methodResponse> <params><param>
<string>Hello World Gambar 2 Contoh XML – RPC Response Sukses
Dari namanya, kita telah mengetahui RMS adalah sistem untuk mengatur records. Sebuah record adalah sebuah data item individual. RMS tidak membatasi apa yang ada di dalam record. Sebuah record bisa berisi sebuah angka, string, array, image, apapun yang bisa direpesentasikan oleh sequence of bytes. Jika kita bisa membuat sebuah binary encoding dari data kita – begitu juga dengan decoding – maka kita bisa menyimpannya dalam record.
Namun ada kalanya dari method yang dipanggil melalui RPC mengembalikan response gagal. Contoh body XML – RPC Response yang gagal dapat dilihat pada Gambar 3. <methodResponse>
<struct> <member> faultCode 4 <member> faultString <string>Too many parameters. Gambar 3 Contoh XML – RPC Response Gagal atau Fault
3.2 kXML – RPC XML – RPC memiliki “grammar” XML yang sangat ringan sehingga memungkinkan XML-RPC sebagai remote procedure-calling protocol yang ideal untuk service-oriented mobile computing, dimana ukuran aplikasi, memory, dan bandwidth adalah prioritas utama. Untuk Java developers, kXML-RPC, sebuah implementasi XML-RPC untuk Java Platform, Micro Edition (Java ME), memberikan mekanisme untuk memung-kinkan aplikasi mobile mereka untuk berkomunikasi dengan enterprise services.
3.
Java ME Java Platform, Micro Edition (Java ME) atau yang sebelumnya disebut J2ME adalah kumpulan dari teknologi dan spesifikasi untuk menciptakan sebuah platform yang sesuai dengan requirement untuk perangkat mobile seperti produk konsumen, embedded device, dan perangkat mobile yang canggih 2. Teknologi Java ME didasari atas tiga elemen, yaitu :
kXML-RPC memberikan kXML parser dan serializer untuk membuat messages yang akan dikirim dan memproses messages yang diterima. Class XmlRpcClient mendelegasikan serialization dan parsing kepada Class XmlRpcWriter dan XmlRpcParser. Pada Gambar
2
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
computer)1. Pada Arsitektur ini model konektivitas pada jaringan mengenal adanya server dan client. Dimana masing-masing memiliki fungsi yang berbeda antara yang satu dengan lainnya. Server adalah komputer yang dapat memberikan sevice ke server, sedangkan client adalah komputer yang mengakses beberapa service yang ada di client. Server dapat mensharing data, aplikasi dan peralatan lainnya seperti printer, modem, dan lain-lain. Sedangkan client akan mengirimkan permintaan ke server kemudian menunggu proses dan menerima hasil. Prinsip kerjanya adalah server menunggu permintaan dari client, memproses dan memberikan hasilnya kepada client. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server melalui jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirimkan balasan berupa service yang dibutuhkan.
4 diilustrasikan flow of control saat mengeksekusi method dari XmlRpcClient. Class XmlRpcWriter membuat XML-RPC message dan menggunakan HTTP POST request untuk mengirim message ke web service. Payload dari HTTP response kemudian diproses oleh XmlRpcParser, yang menghasilkan object yang dikembalikan dengan mengeksekusi method8. XmlRpc Client
execute (methodName,parameters)
returned object
CLIENT
XmlRpc Writer
<methodCall> …
HTTP Connector
HTTP Post methodCall
<methodResponse> …
XmlRpc Parser
HTTP OK methodResponse
SERVER
Xml Rpc Web Service
Gambar 4 Skema Kerja kXML – RPC
4.
PHP Menurut Erack Network6, PHP (akronim dari PHP Hypertext Preprocessor) ini bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang diberikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasiaplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
7.
GPRS GPRS (singkatan bahasa Inggris: General Packet Radio Service, GPRS) adalah suatu teknologi yang memungkinkan pengiriman dan penerimaan data lebih cepat dibandingkan dengan penggunaan teknologi Circuit Switch Data atau CSD. Penggabungan layanan telepon seluler dengan GPRS (General Packet Radio Service) menghasilkan generasi baru yang disebut 2.5G. Sistem GPRS dapat digunakan untuk transfer data (dalam bentuk paket data) yang berkaitan dengan e-mail, data gambar (MMS), Wireless Application Protocol (WAP), dan World Wide Web (WWW)6.
MySQL MySQL adalah suatu perangkat lunak database relasi (RDMBS atau Relational Database Management System) seperti halnya Oracle, Postgre, Ms SQL dan lainnya dengan sekitar 6 juta isntalasi di seluruh dunia. MySQL merupakan turunan dari SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah dan otomatis. Sebagai database server, MySQL termasuk unggul dibandingkan database server lainnya dalam query data. Hal ini dapat dibuktikan melalui kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
Komponen – komponen utama jaringan GPRS adalah:
6.
8.
5.
Client – Server Client – server adalah sebuah arsitektur dari jaringan komputer dimana banyak client (remote processors) melakukan request dan menerima service dari server terpusat (host
-
GGSN (Gateway GPRS Support Node): gerbang penghubung jaringan GPRS ke jaringan internet. Fungsi dari komponen ini adalah sebagai interface ke PDN (Public Data Network), information routing, network screening, user screening, address mapping.
-
SGSN (Serving GPRS Support Node): gerbang penghubung jaringan BSS/BTS ke jaringan GPRS. Komponen ini berfungsi untuk mengantarkan paket data ke MS, update pelanggan ke HLR, registrasi pelanggan baru.
-
PCU: komponen di level BSS yang menghubungkan terminal ke jaringan GPRS.
Desain Dan Implementasi Sistem Pada Tugas Akhir ini telah dikembangkan sebuah sistem client – server berupa kamus translasi bahasa Jawa – Indonesia mobile sebagai aplikasi client dan aplikasi server 3
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
berupa web database kamus yang menyediakan data yang siap di-update melalui teknologi web service XML – RPC. Tujuan dikembangkannya aplikasi adalah memanfaatkan teknologi aplikasi mobile untuk membantu melestarikan budaya bahasa Jawa dan juga sebagai sarana belajar bahasa Jawa yang praktis. Sistem ini dinamai Jawisia (Jawa – Indonesia).
Untuk dapat menggunakan aplikasi ini dengan baik, maka perangkat mobile yang dianjurkan memiliki spesifikasi sebagai berikut :
Sesuai dengan penjelasan sebelumnya, Jawisia dikembangkan di sisi client dan server. Client dalam hal ini adalah aplikasi mobile berbasis Java (J2ME) yang memiliki fitur secara umum :
Sedangkan untuk server, maka spesifikasi yang dibutuhkan agar bisa berjalan baik adalah : Hosting internet atau komputer / laptop yang memiliki IP Public dengan space minimal 10 MB untuk aplikasi web Webserver Apache, PHP 5, dan MySQL
1.
Mampu melakukan translasi Indonesia secara offline menggunakan database lokal.
Jawa – dengan
2.
Melakukan sinkronisasi database lokalnya dengan database server berdasarkan timestamp terakhir database lokal dengan menggunakan koneksi GPRS.
3.
Melakukan edit dan insert pada database lokal database server dengan koneksi GPRS
8.1 Arsitektur Sistem Pada Tugas Akhir Untuk membangun sistem ini dibutuhkan dua perangkat lunak yang menjadi pendukung kelengkapan dari sistem ini. Aplikasi tersebut diwujudkan dalam bentuk aplikasi client - server. 8.1.1
Server Perangkat lunak ini berbentuk web database berbasis PHP – MySQL dan berfungsi sebagai sumber database dari kamus Jawa – Indonesia serta menyediakan beberapa layanan untuk client melalui web service-nya. Layanan itu antara lain memberikan query data kamus, jumlah data kamus yang akan dikirim, dan hasil dari proses insert dan update database dari client.
Sedangkan untuk server dibangun dengan menggunakan teknologi PHP-MySQL dengan memiliki fitur secara umum : 1.
Melakukan proses Create, Read, Update dan Delete (CRUD) untuk data kamus dan data user yang bisa login.
2.
Menyediakan layanan melakukan query data kamus berdasarkan timestamp yang dikirim dan meng-update database dari luar website dengan menggunakan web service berbasis XML – RPC
Mendukung aplikasi Java. Spesifikasi minimal CLDC 1.0 dan MIDP 2.0. Mendukung koneksi via GPRS.
Pada proses pengiriman data kamus ke client, parameter yang dibutuhkan adalah timestamp dan range data yang akan dikirim. Gambar 6 menjelaskan alur proses pada server dari menerima request hingga mengirim respons ke client.
Aplikasi client – server memerlukan koneksi internet agar aplikasi client yang berupa aplikasi mobile bisa melakukan update database dari dan ke server. Untuk koneksi internet pada Tugas Akhir ini, yang digunakan adalah koneksi GPRS. Secara umum arsitektur client – server untuk keseluruhan sistem ditunjukkan pada Gambar 5 :
Mulai
Request masuk dalam format XML : timestamp, range data yang di-request (batas bawah dan batas atas)
Buat perintah query data yang memiliki timestamp lebih baru dari timestamp yang diterima dengan range batas bawah – batas atas
Proses perintah query pada database kamus
Client mengirim request : 1. Data terbaru berdasar timestamp terakhir pada database lokal 2. Data yang akan di-insert dan di-edit dari client
Server mengirim response : 1. Query data terbaru dengan berdasarkan parameter timestamp dari cient 2. Hasil dari proses insert/edit data dari client, berupa data yang telah di-insert/ di-edit dan disimpan + timestamp dan id data.
Terima hasil query dan ubah menjadi format XML
Kirim data berformat XML sebagai Response ke Client
Selesai
Gambar 5 Skema SistemAplikasi Client – Server Jawisia
Gambar 6 Flowchart Request Data Kamus Timestamp Terbaru pada Server
4
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
Untuk proses pengiriman jumlah data kamus ke client hampir sama dengan proses pengiriman data kamus, namun bedanya parameter yang dibutuhkan hanya timestamp. Gambar 7 menjelaskan alur proses pada server dari menerima request hingga mengirim respons berupa jumlah data ke client.
Mulai
Request masuk dalam format XML : id data yang diupdate, data kamus dalam bahasa Jawa dan Indonesia
Buat perintah query update dengan acuan id data dan data yang diubah adalah terjemahan Jawa Indonesia dari Client
Mulai
Update pada database kamus dengan parameter id data, Jawa, dan Indonesia
Request masuk dalam format XML : timestamp
Dapatkan timestamp dari hasil proses update dan ubah menjadi format XML
Buat perintah query jumlah data yang memiliki timestamp lebih baru dari timestamp yang diterima
Kirim data berformat XML sebagai Response ke Client
Proses perintah query pada database kamus
Selesai
Terima hasil query dan ubah menjadi format XML
Gambar 9 Flowchart Request Update Data Kamus dari Client pada Server
Kirim data berformat XML sebagai Response ke Client
8.2 Rancangan Antarmuka Untuk mempermudah penggunaan aplikasi tentunya haruslah dirancang antarmuka yang cukup dipahami oleh user, terutama untuk aplikasi client. Ada beberapa antarmuka yang digunakan untuk menjalankan beberapa operasi yang berbeda beda pula. Secara garis besar, perancangan antarmuka meliputi rancangan antarmuka sistem untuk aplikasi client dan server.
Selesai
Gambar 7 Flowchart Request Jumlah Data Kamus Terbaru pada Server
Service lain yang diberikan oleh server adalah proses insert dan update data dari client. Seperti telah dijelaskan sebelumnya, client memiliki database lokal dengan acuan timestamp dari server, sehingga proses insert dan update untuk database lokal harus melalui server dahulu. Skema proses insert yang masuk dari client dijelaskan pada Gambar 8.
8.2.1
Aplikasi Server Pada aplikasi Server, fungsi utamanya adalah untuk manajemen database kamus, karena itu antarmuka yang dirancang hanya meliputi insert, list atau view, edit, dan delete.
Mulai
Request masuk dalam format XML : data kamus dalam bahasa Jawa dan Indonesia
8.2.2
Aplikasi Client Pada aplikasi client ini terdapat rancangan antarmuka yang pertama muncul dan sebagai jembatan untuk antarmuka lain antara lain :
Dapatkan id data terakhir dari database
Insert pada database kamus dengan parameter id data, Jawa, dan Indonesia Dapatkan timestamp dari hasil proses insert dan ubah menjadi format XML
1. 2. 3.
Kirim data berformat XML sebagai Response ke Client
4.
Selesai
5.
Gambar 8 Flowchart Request Insert Data Kamus dari Client pada Server
6. 7.
Sedangkan untuk skema proses update yang masuk dari client untuk kemudian diproses di server dijelaskan pada Gambar 9.
5
Translasi dari Jawa ke Indonesia Translasi dari Indonesia ke Jawa Sinkronisasi dari Server (Mengirim request sinkronisasi data berdasarkan timestamp terakhir) Insert Data (Menambahkan data ke database lokal dan server) Edit Data (Mengedit data dalam database lokal kemudian di-update ke database server dan lokal) Setting (Untuk setting alamat server) Keluar
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
Untuk ujicoba sinkronisasi berikutnya, misal kita menambahkan data baru pada server sehingga data bertambah. Lalu jika kita masuk menu sinkronisasi lagi pada client, akan ditampilkan timestamp data terakhir yang ada dan jumlah data yang akan disinkronisasikan. Setelah kita pilih sinkronisasi, maka akan tampil notifikasi hasil sinkronisasinya seperti ditunjukkan Gambar 12.
9.
Uji Coba Uji coba yang dilakukan adalah uji coba fungionalitas dan performa dari aplikasi yang telah dibuat. 9.1 Uji Coba Fungsionalitas Uji coba fungsionalitas dilakukan dengan cara menjalankan aplikasi yang telah dibuat, dan melakukan pengujian terhadap fitur-fitur yang telah dibuat. Adapun uji fungsionalitas yang ditampilkan disini adalah uji coba fungsionalitas dari client saja dikarenakan pada server fungsi utamanya hanya melakukan proses insert, update, dan delete database. 9.1.1 Pengaturan Alamat Server Uji coba ini dilakukan dengan cara memilih menu setting pada antarmuka menu utama. Secara default, jika aplikasi belum memiliki database RMS Alamat, maka aplikasi akan membuat database RMS Alamat baru dan mengisi alamat server dengan alamat leonhart.its.ac.id. Setelah itu, aplikasi akan membaca alamat pada database RMS Alamat yang telah tersimpan dan menampilkan antarmuka untuk melakukan perubahan dan penyimpanan alamat seperti pada Gambar 10.
Gambar 12 Tampilan Notifikasi Sinkronisasi setelah Data di Server Ditambahkan
9.1.3 Translasi Data Ujicoba ini dilakukan untuk melakukan pencocokan kata yang dicari dengan hasil translasinya sesuai yang ada di database. Langkah yang dilakukan adalah melakukan input kata yang akan ditranslasi dan memilih menu “Cari” untuk melakukan pencarian. Gambar 13 menunjukkan keberhasilan proses translasi dari Indonesia ke Jawa, dan sebaliknya dari Jawa ke Indonesia.
Gambar 10 Tampilan Proses Edit dan Simpan Setting Alamat
9.1.2 Sinkronisasi Data Setelah memilih menu sinkronisasi pada menu utama, aplikasi akan meminta untuk melakukan koneksi GPRS dan akan menerima data dari server berupa data yang akan disinkronisasikan. Sinkronisasi disini meliputi data yang akan di-insert maupun di-update. Request jumlah data pun tergantung apakah database RMS masih kosong atau sudah ada. Pada Gambar 11 ditunjukkan data masih kosong dan dan notifikasi setelah proses sinkronisasi dilakukan.
Gambar 13 Tampilan Proses Translasi
9.1.4 Insert Database Skenario uji coba berikutnya adalah uji coba insert pada client. Pada antarmuka insert data, user akan melakukan input data translasi kemudian data akan dikirim dan ditambahkan ke server. Jika sukses, akan keluar notifikasi pada client bahwa proses insert berhasil seperti ditunjukkan Gambar 14.
Gambar 14 Tampilan Proses Translasi Gambar 11 Tampilan setelah Sinkronisasi saat Database Kosong
6
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
Data dalam Tabel 2 adalah jumlah data yang diterima client dan akan disinkronisasikan, Waktu Sinkronisasi adalah waktu transfer + waktu untuk insert/update ke database client dalam milisekon.
9.1.5 Edit Database Skenario uji coba berikutnya adalah uji coba edit data pada client. Sebelum masuk pada proses edit, user akan ditampilkan (view) dahulu data – data yang ada untuk kemudian dipilih dan diedit. Lalu kita lakukan ujicoba edit data pada salah satu data kemudian kita simpan, maka jika proses edit berhasil akan ditampilkan notifikasinya. Proses view, edit dan simpan ini dapat dilihat pada Gambar 15.
Tabel 2 Catatan Waktu Sinkronisasi Jumlah Data 2 4 6 6 7 7 8 10 10 12 17 23
Gambar 15 Tampilan View dan Edit
Tabel 3 Catatan Waktu Rata – Rata Sinkronisasi per Data Jumlah Data 2 4 6 6 7 7 8 10 10 12 17 23 Ratarata
Tabel 1 Daftar Device untuk Uji Coba Performa
1.
Kode Device D1
2.
D2
3.
D3
4.
D4
D4 4329 7034 11579 9312 10917 9161 23842 15694 13984 14797 23274 22985
Dari Tabel 2, kita bisa mendapatkan rata – rata sinkronisasi tiap satu data, dimana waktu rata – rata = waktu sinkronisasi / jumlah data. Hasil perhitungan rata – rata sinkronisasi per data ini dapat dilihat pada Tabel 3.
9.2 Uji Coba Performa Uji coba ini bertujuan untuk mengetahui performa dengan membandingkan waktu sinkronisasi data dan waktu translasi data pada beberapa kasus jumlah data yang ada pada client. Uji coba ini akan dilakukan pada 4 jenis handphone yang berbeda tipe seperti yang tertera pada Tabel 1. Kode Device pada tabel adalah singkatan dari jenis device yang akan dipakai pada tabel – tabel berikutnya untuk mempersingkat penulisan. No
D1 2634 3910 9450 4993 6785 7137 6610 10329 8039 10233 16690 34212
Waktu Pemrosesan (Milisekon) D2 D3 3965 10875 7833 20671 11257 45250 10053 30438 14755 36828 12415 38500 20847 40718 25514 48157 18424 51281 21467 60265 35040 82987 55408 144031
Keterangan Tipe : Nokia 3110 Classic OS : Java Data bearers : GRPS, EDGE Tipe : LG GW 300 OS : Java Data bearers : GPRS, EDGE Tipe : Nokia 6600 OS : Symbian OS v7.0s, Series 60 v2.0 UI Data bearers : GPRS Tipe : Nokia E63 OS : Symbian OS 9.2, Series 60 v3.1 UI Data bearers : GPRS, EDGE, 3G, WLAN IEEE 802.11 b/g
Rata – Rata Waktu Sinkronisasi (milisekon) D1 D2 D3 D4 1317 1982.5 5437.5 2164.5 977.5 1958.25 5167.75 1758.5 1575 1876.167 7541.667 1929.833 832.1667 1675.5 5073 1552 969.2857 2107.857 5261.143 1559.571 1019.571 1773.571 5500 1308.714 826.25 2605.875 5089.75 2980.25 1032.9 2551.4 4815.7 1569.4 803.9 1842.4 5128.1 1398.4 852.75 1788.917 5022.083 1233.083 981.7647 2061.176 4881.588 1369.059 1487.478 2409.043 6262.217 999.3478 1056.297
2052.721
5431.708
1651.888
9.2.2
Uji Waktu Insert Data Uji waktu ini digunakan untuk mengetahui berapa lama waktu yang dibutuhkan oleh suatu client melakukan insert data ke server dan insert data ke database-nya sendiri. Waktu ini diistilahkan sebagai waktu insert. Sedangkan waktu sinkronisasi adalah waktu device lain untuk melakukan sinkronisasi setelah dilakukan proses update. Hasil dari uji coba insert data ini dapat dilihat pada Tabel 4. Pada Tabel 4, device insert adalah device yang melakukan insert pada tahap tersebut. Sedangkan device lain pada tahap tersebut waktu yang ditampilkan adalah waktu sinkronisasi.
9.2.1 Uji Waktu Sinkronisasi dari Server Uji waktu ini digunakan untuk mengetahui berapa lama rata – rata waktu transfer data dan juga seberapa besar data yang mampu diterima oleh beberapa device. Hasil dari uji coba waktu sinkronisasi dapat dilihat pada Tabel 2. Jumlah
7
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011 50 57 61 64 71 79 Rata rata
Tabel 4 Catatan Waktu Insert Data Insert ke
Waktu Insert (Milisekon) D2 D3 1642 5875 2464 5062 2053 5468.5
D1 1957 2095 2026
1 2 Rata - rata
D4 3059 3522 3290.5
Uji Waktu Edit atau Update Data Hampir sama dengan uji insert data, uji edit data ini digunakan untuk mengetahui berapa lama waktu yang dibutuhkan oleh suatu client setelah melakukan editing dan mengirim update data ke server dan update data ke database-nya sendiri. Waktu ini diistilahkan sebagai waktu update. Sedangkan waktu sinkronisasi setelah dilakukan proses update adalah waktu device lain untuk melakukan sinkronisasi.Hasil dari uji coba edit data ini dapat dilihat pada Tabel 4.
D1 2090 5594 1925
1 2 3 Rata - rata
3203
1685.667
5609.333
D4 3240 3073 10293 5535.33
9.2.4
Uji Waktu Translasi Uji waktu ini digunakan untuk mengetahui berapa lama rata – rata waktu translasi kata dari bahasa Indonesia ke Jawa dan dari Jawa ke Indonesia pada kondisi jumlah database yang berbeda – beda. Hasil dari uji coba waktu translasi dapat dilihat pada untuk Indonesia ke Jawa dapat dilihat pada Tabel 5, sedangkan hasil untuk translasi Jawa ke Indonesia dapat dilihat pada Tabel 6.
17 27 50 57 61 64 71 79 Ratarata
D1
43 19 22 22 28 27 33 36
27.875
Indonesia ke Jawa (Milisekon) D2 D3 24 2171 28 515 79 344 55 531 60 500 73 359 78 641 83 688 56.25
668.25
D4 228 174 174 182 193 188 200 186
17 27
D1 49 21
Jawa ke Indonesia (Milisekon) D2 D3 24 2750 33 344
31.25
70
654.8333
187.75
1. Algoritma translasi dapat di-improve dengan algoritma lain yang lebih efisien dalam pencarian data agar program bisa berjalan lebih cepat. 2. Dapat diimplementasikan aplikasi translasi untuk bahasa daerah lain dan untuk device lain seperti Blackberry atau Android karena sama – sama berbasis Java sehingga dari sisi programming lebih memungkinkan. 3. Teknologi web service dan mobile akan terus berkembang, sehingga disarankan untuk web – web penyedia layanan data memberikan API sederhana dalam bentuk web service agar bisa diimplementasikan pula dalam aplikasi mobile.
164.5
Tabel 6 Catatan Waktu Translasi Jawa ke Indonesia Jumlah Data
153 166 168 158 168 154
11. Saran Berikut merupakan beberapa saran untuk pengembangan sistem di masa yang akan datang, berdasar pada hasil perancangan, implementasi, dan uji coba yang telah dilakukan.
Tabel 5 Catatan Waktu Translasi Indonesia ke Jawa Jumlah Data
313 328 313 360 453 485
1. Aplikasi server web database dengan layanan web service berbasis XML – RPC untuk melakukan akses database secara remote pada fungsi – fungsi yang disediakan berhasil diimplementasikan dengan teknologi PHP Framework dan database MySQL. 2. Sinkronisasi database dengan server dapat diimplementasikan pada client berbasis J2ME dengan menggunakan library kXML – RPC untuk berkomunikasi dengan client. 3. Sinkronisasi dapat dilakukan dengan cara membandingkan timestamp terakhir untuk kemudian melakukan request data yang memiliki timestamp lebih baru sehingga didapatkan data – data yang terbaru untuk disinkronisasikan. 4. Berdasarkan hasil pengujian performa, yang mempengaruhi waktu sinkronisasi adalah jenis konektivitas dengan urutan kecepatan dari rendah ke tinggi yaitu GPRS, EDGE, dan 3G dan sistem operasi device dimana sistem operasi mobile phone yang berbasis Java memiliki waktu pemrosesan sinkronisasi lebih cepat dibandingkan sistem operasi lain.
Tabel 4 Catatan Waktu Edit Data Waktu Edit (Milisekon) D2 D3 1628 5797 1873 5437 1556 5594
51 56 64 65 74 83
10. Kesimpulan Dari hasil pengamatan selama perancangan, implementasi, dan uji coba perangkat lunak, dapat diambil kesimpulan sebagai berikut :
9.2.3
Edit ke
21 24 24 26 28 30
D4 183 166
8
RIZKY SEPTIANDY W – 5107 100 103
SEMINAR TUGAS AKHIR PERIODE JANUARI 2011
[14]
12. Daftar Pustaka [1] Ensiklopedia Britannica. Client – Server Architecture. http://www.britannica.com/ EBchecked/topic/1366374/client-serverarchitecture, diakses terakhir pada 23 Januari 2011 pukul 16:46. [2] Anonim (2011). Java ME. http://java.sun.com/javame/ technology/index.jsp diakses terakhir pada 23 Januari 2011 pukul 16:46. [3] Anonim (2007).JSR 172 J2ME Web Services. http://downloadllnw.oracle.com/javame/config/cldc/optpkgs/api/ws/jsr172/overviewsummary.html diakses terakhir pada 12 Oktober 2010 pukul 14:18. [4] Anonim (2009). Model – View – Controller in PHP. http://php-html.net/tutorials/modelview-controller-in-php/ diakses terakhir pada 23 Januari 2011 pukul 17:46. [5] Anonim (2011) CodeIgniter User Guide Version 1.7.3 http://codeigniter.com/user_guide/ diakses terakhir pada 23 Januari 2011 pukul 17:46. [6] Erack Network. Tutorial – Learn PHP, http://www.tizag.com/phpT/. diakses terakhir pada 23 Januari 2011 pukul 15:55. [7] Fredy Purnomo, Denny Hendrawan, Felix, Fidel Hendry. 2010. Analisis dan Perancangan Sistem Mobile KRS Berbasis J2ME Menggunakan Jaringan GPRS. Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) Yogyakarta. [8] Gabhart,Kyle and David Johnson. kXMLRPC Enables Service-Oriented Mobile Computing. http://www.devx.com/Java/ Article/34963/0/page/1 diakses terakhir pada 23 Januari 2011 pukul 16:00. [9] Giguere, Eric. Databases and MIDP, Part 1: Understanding the Record Management System. http://developers.sun.com/ mobility/midp/articles/databaserms/ diakses terakhir pada 23 Januari 2011 pukul 16:00. [10] Keogh, James. (2003). The Complete Reference J2ME, McGraw-Hill/Osborne. [11] Srinivasan, R (1995). Remote Procedure Call Version 2. http://www.ietf.org/rfc/rfc1831.txt diakses terakhir pada 23 Januari 2011 pukul 15:50. [12] Suru Dissanaike, Pierre Wijkman, Mitra Wijkman. 2004. Utilizing XML-RPC or SOAP on an Embedded System. Proceedings of the 24th International Conference on Distributed Computing Systems Workshops (ICDCSW’04). [13] Walsh, Norman (1998). A Technical Introduction to XML. http://www.xml.com diakses terakhir pada 23 Januari 2011 pukul 15:55.
9
Winer, Dave (1999). XML-RPC Specifications. http://www.xmlrpc.com/spec diakses terakhir pada 12 Oktober 2010 pukul 14:09.
RIZKY SEPTIANDY W – 5107 100 103