## Implementasi Rest Web Service Dengan Menggunakan Json Pada Aplikasi Mobile Enterprise Resource Planning
Didiek S. Wiyono 1) , Ardhi Wijayanto 2)
1) Jurusan Informatika, Universitas Sebelas Maret
2) Alumni Jurusan Informatika, Universitas Sebelas Maret Jl. Ir. Sutami 36A, Surakarta 57126, Indonesia

## Abstract
REST  web  service  mendukung  penggunaan  XML  maupun  JSON  sebagai  format  pertukaran  data. Penelitian  lain  yang  telah  dilakukan  sebelumnya  menunjukkan  bahwa  format  JSON  cocok  untuk digunakan  pada  REST  web  service  untuk  lingkungan  mobile  dilihat  dari  aspek  ukuran  pesan  dan waktu  eksekusi,  pada  penelitian  ini  digunakan  platform  mobile  yaitu  Google  Android  untuk implementasi  sistem  mobile  ERP.  Penelitian  ini  menambahkan  implementasi  arsitektur  REST  dan format  JSON  pada  implementasi  sistem  mobile  ERP.  Arsitektur  REST  dan  format  JSON diimplementasikan  pada  web  service  ERP  dengan  memanfaatkan  konfigurasi  framework  WCF. Analisis  dilakukan  untuk  mengukur  panjang  pesan  dan  waktu  eksekusi  pesan  web  service  dalam format  JSON  dan  XML  pada  REST  web  service  yang  digunakan  untuk  aplikasi  mobile  ERP. Didapatkan  hasil  format  JSON  lebih  efisien  dalam  hal  ukuran  pesan  dan  waktu  eksekusi,  hal  ini sesuai  dengan  hasil  penelitian  yang  telah  dilakukan  oleh  Nurzhan  Nurseitov,  Michael  Paulson, Randall Reynolds, dan Clemente Izurieta (2009).
Keywords :  Enterprise  Resource  Planning,  HTTPS,  JSON,  mobile  ERP,  .NET,  REST,  SOAP,  web service, Windows Communication Foundation, XML.

## 1. Pendahuluan
Sebuah  penelitian  mengenai  pembuatan  aplikasi Enterprise  Resource  Planning (ERP)  telah dilakukan  oleh  Bayu  Pratama  Rudy  Nugraha  (2011)  yang  ditujukan  untuk  membantu  pengelolaan sumber daya perusahaan mebel. Aplikasi ERP tersebut dibangun pada platform .NET yang dilengkapi dengan  protokol  HTTPS  untuk  keamanan  data  dan web  service berbasis framework Windows Communication  Foundation (WCF). Web  service yang  dibangun  pada  penelitian  tersebut menggunakan  arsitektur  SOAP  dan  format Extensible  Markup  Language (XML)  untuk  pertukaran data.  Dari  hasil  penelitian  tersebut,  dituliskan  saran-  saran  untuk  penelitian  selanjutnya,  salah  satu  di antaranya untuk meningkatkan dukungan web service aplikasi ERP terhadap kebutuhan platform lain, yaitu  dengan  mengimplementasikan  arsitektur  REST  dan  format JavaScript  Object  Notation (JSON) untuk  pertukaran  data.  Penggunaan  REST web  service dimaksudkan  untuk  mengakomodasi platform lain  yang  akan  mengakses web  service aplikasi  ERP  yang  belum  menyediakan  fitur  untuk  mengolah pesan SOAP.
REST web service mendukung penggunaan XML maupun JSON sebagai format pertukaran data. Penelitian  lain  yang  telah  dilakukan  sebelumnya  menunjukkan  bahwa  format  JSON  cocok  untuk digunakan  pada  REST web  service untuk  lingkungan mobile ,  pada  penelitian  ini  digunakan platform mobile yaitu  Google  Android  untuk  implementasi  sistem  mobile  ERP.  Nurzhan  Nurseitov,  Michael Paulson, Randall Reynolds, dan Clemente Izurieta (2009) telah melakukan penelitian untuk mengukur performa XML dan JSON sebagai format untuk pertukaran data. Hasilnya menunjukkan bahwa JSON lebih cepat dan membutuhkan lebih sedikit resource daripada XML.
Platform mobile  yang  dipilih  adalah  Google Android  dengan  pertimbangan  bahwa Android  saat
Correspondance : didiek_sw@yahoo.com
152 Performa (2012) Vol.11, No. 2
ini menguasai pasar sistem operasi untuk perangkat mobile . Menurut data Gartner (2011), pada kuartal kedua tahun 2011 Android  memimpin dalam hal penjualan smartphone di seluruh dunia yaitu dengan persentase  sebesar  43%.  Selain  itu  Android  juga  memiliki  keunggulan  yaitu  didesain  untuk mengoptimalkan  lingkungan  komputasi  perangkat mobile yang  terbatas  melalui  penggunaan  Dalvik Virtual Machine (Hashimi, Komatineni, & MacLean, 2010 : 5-9).

## 2. Tinjauan Pustaka

## 2.1 Enterprise
Definisi enterprise menurut rekomendasi European Commission (2003) adalah
“An enterprise is considered to be any entity engaged in an economic activity, irrespective of its legal form. This includes, in particular, self- employed persons and family businesses engaged in craft or  other  activities,  and  partnerships  or  associations  regularly  engaged  in  an  economic  activity” (Official Journal of the European Union, 2003 : L 124/39).
Mengacu kepada definisi tersebut, istilah enterprise digunakan untuk berbagai entitas yang terjun ke  dalam  aktivitas  ekonomi,  tanpa  mempertimbangkan  bentuk  badan  hukumnya.  Termasuk  di dalamnya  adalah  orang  yang  bekerja  sendiri,  perusahaan  keluarga,  perkumpulan,  dan  asosiasi  yang secara umum terlibat dalam aktivitas ekonomi.

## 2.2 Google Android
Google  Android  adalah  sistem  operasi  yang  ditujukan  untuk  penggunaan  pada  mobile  phone. Sistem  operasi  yang  dibesut  oleh  Google  ini  juga  merupakan  sebuah  platform  aplikasi  yang menawarkan pengalaman baru, fitur yang lengkap, dan tampilan yang menarik bagi penggunanya serta dukungan, dokumentasi yang lengkap, serta kemudahan bagi developer aplikasi mobile phone.
Android  didesain  untuk  memenuhi  kebutuhan  yang  unik  dari  suatu  aplikasi  mobile.  Android menyadari  resource  (memory  dan  baterai  sebagai  contohnya)  yang  terdapat  pada  sebagian  besar perangkat  mobile  sangat  terbatas,  sehingga  kemudian  disediakan  mekanisme  untuk  menghemat resource. Mekanisme tersebut dijelaskan pada Android Activity Lifecycle, yang menjelaskan state atau event  yang  dilalui  sebuah  activity  sejak  pertama  kali  dibuat  hingga  selesai  dijalankan  (Rogers, 2009:8).
Android  Activity  Lifecycle  ditunjukkan  pada  gambar  di  atas,  activity  pada  Android  akan memonitor  dan  memberikan  reaksi  dengan  menginisiasi  method  yang  meng-override  method  pada class Activity untuk setiap method berikut (Rogers, 2009:8-9):

## 2.2.1 onCreate
Method  onCreate  dipanggil  saat  pertama  kali  sebuah  activity  dibuat.  onCreate  digunakan untuk  membuat  view,  membuka  persistent  datafile  yang  digunakan  pada  suatu  activity,  dan  secara umum  untuk  menginisialisasi  activity.  Saat  memanggil  onCreate,  framework Android  akan  mengirim sebuah  object  Bundle  yang  berisi  state  yang  tersimpan  dari  suatu  activity  dari  suatu  waktu  ketika activity pernah dijalankan sebelumnya.

## 2.2.2 onRestart
Dipanggil  ketika  activity  dihentikan,  yang  kemudian  dimulai  kembali.  Selalu  diikuti  dengan onStart().

## 2.2.3 onStart
Method  onStart  dipanggil  sebelum  suatu  activity  terlihat  di  layar.  Setelah  onStart  komplit, yaitu  saat  activity  ditampilkan  di  layar,  kontrol  akan  diteruskan  ke  method  onResume.  Jika  activity gagal tampil di layar, kontrol akan diteruskan ke method onStop.

## 2.2.4 onResume
Dipanggil  setelah  onStart  selesai  dieksekusi,  yaitu  jika activity tampil  secara  foreground  di layar. Pada waktu ini, activity telah berjalan dan dapat berinteraksi dengan pengguna. onResume juga dipanggil jika suatu activity yang tampil di layar digantikan oleh tampilnya activity lain dan kemudian dipanggil  kembali  untuk  ditampilkan  di  layar.  Dengan  onResume  suatu activity dapat  melakukan update , misalnya mengupdate user interface yang  menunjukkan sebuah lokasi setelah sebuah activity dipanggil kembali.

## 2.2.5 onPause
onPause  dipanggil  ketika  Android  meresume  sebuah  activity  yang  berbeda  yang  kemudian menjadikan activity lain tersebut berjalan di foreground. Pada titik ini, activity tidak memiliki akses ke layar,  salah  satu  penyebabnya  karena  adanya  konsumsi  resource  yang  berlebihan.  Sebuah  activity dapat  memanfaatkan  method  onPause  ini  untuk  menyimpan  state  yang  akan  digunakan  kembali  saat activity sudah dapat ditampilkan kembali ke foreground. Namun tidak terdapat jaminan bahwa activity dapat  di-resume  kembali.  Setelah  method  onPause  ini  selesai  dieksekusi,  Android  dapat  mematikan activity tanpa mengembalikan kontrol kepada pengguna.

## 2.2.6 onStop
Dipanggil  ketika  activity  sudah  tidak  ditampilkan  lagi  karena  activity  lain  telah  mengambil alih foreground atau karena activity telah diakhiri.

## 2.2.7 onDestroy
Method  onDestroy  merupakan  kesempatan  terakhir  untuk  melakukan  suatu  proses  sebelum activity  berakhir.  onDestroy  dapat  terjadi  karena  activity  berakhir  (misalnya  karena  dipanggilnya method  finish(),  atau  karena  sistem  menghentikan  instance  dari  suatu  activity  untuk  sementara  guna menghemat resource) .

## 2.3 Enterprise Resource Planning (ERP) dan Mobile ERP
ERP  dapat  dideskripsikan  sebagai  sebuah  konsep  untuk  merencanakan  dan  mengelola  sumber daya organisasi agar dapat dimanfaatkan secara optimal untuk menghasilkan nilai tambah bagi seluruh pihak  yang  berkepentingan  atas  organisasi  tersebut.  (Dhewanto,  2007:  5).  Sudut  pandang  enterprise dalam ERP memandang keseluruhan organisasi sebagai sebuah sistem dan masing-masing departemen adalah  subsistemnya.  Informasi  mengenai  semua  aspek  organisasi  disimpan  dan  dikelola  secara terpusat  dan  dapat  diakses  oleh  departemen  lain  yang  membutuhkan.  Hasilnya  adalah  transparansi informasi  sehingga  masing-  masing  departemen  mengetahui  apa  yang  dikerjakan  departemen  lain, mengapa  hal  itu  dikerjakan,  dan  apa  yang  harus  dilakukan  untuk  mendukung  pekerjaan  tersebut sehingga dapat mencapai tujuan organisasi secara keseluruhan. (Dhewanto, 2007: 2-5)
Paket  sistem  ERP  biasanya  terdiri  atas  sekumpulan  modul-modul  yang  dapat  mendukung berbagai  fungsi  dan  proses  pada  perusahaan.  Alur  proses  bisnis  yang  terjadi  pada  perusahaan komersial  merupakan  satu  siklus  kontinu  mulai  dari  permintaan  konsumen,  pembuatan  produk, penyerahan  produk,  penagihan,  pembayaran,  serta  layanan  purna  jual.  Modul-modul  ERP  dirancang untuk  mendukung  proses  ini  dengan  cara  mengintegrasikan  data  pada  setiap  tahapan  proses  tersebut (Dhewanto, 2007: 47-48).
Menurut  Dospinescu  (Dospinescu,  Fotache,  Munteanu,  &  Hurbean,  2008  :  92)  mobile  ERP bukanlah  teknologi  yang  baru.  Mobilitas  pekerja  yang  tinggi  dan  dukungan  teknologi  informasi mendorong  perkembangan  mobile  ERP  yang  berusaha  memfasilitasi  pengguna  untuk  tetap  dapat menggunakan  ERP  tanpa  terikat  lokasi  dan  waktu.  Dalam  pendekatan  yang  sederhana,  mobile  ERP adalah  usaha  yang  mengijinkan  perangkat  mobile  untuk  terkoneksi  dengan  sistem  ERP  dari  sebuah organisasi melalui sebuah jaringan.
Satu  keuntungan  utama  yang  memotivasi  pengguna  untuk  memanfaatkan  mobile  ERP  adalah kemampuannya  untuk  melakukan  akses  secara real  time  untuk  sebuah  operasi  atau aplikasi  korporat ERP lainnya.

## 2.4 Web Service
Web Service menurut definisi The World Wide Web Consortium (W3C), 2004 adalah :
“A  Web  service  is  a  software  system  designed  to  support  interoperable  machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service  in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards”
Menurut  definisi  tersebut,  yang  dimaksud  dengan web  service adalah  sebuah  sistem  perangkat lunak yang dirancang untuk  mendukung operasi yang melibatkan interaksi antar mesin  dalam sebuah jaringan. Web service memiliki antarmuka yang ditulis dalam format yang dimengerti oleh mesin yaitu Web Service Definition Language (WSDL). Sistem lain berinteraksi dengan web service melalui pesan SOAP.
AlShahwan  dan  Moessner  (2010)  dan  HostBridge  Technology  (2009)  mengelompokkan web servic e  berdasarkan  arsitektur  yang  digunakan  dalam  implementasinya  yaitu  RESTful  dan  SOAP- based web service .
SOAP  merupakan  singkatan  dari Simple  Object  Access  Protocol ,  yaitu  protokol  standar  yang digunakan  untuk  pertukaran  pesan  berbasis  XML.  SOAP  menyediakan  spesifikasi  protokol  untuk pertukaran informasi terstruktur dalam implementasi web service .
Pesan SOAP menggunakan XML, namun dengan format yang berbeda. Pesan SOAP dibungkus dengan pasangan tag <SOAP-ENV: Envelope>  dan <SOAP-ENV: Body>. Sesuai  dengan spesifikasi SOAP,  pesan  SOAP  membungkus  isinya  ke  dalam  sebuah envelope dan  menggunakan body untuk mengidentifikasi isinya (HostBridge Technology, 2009).
Istilah  REST  yang  merupakan  singkatan  dari Representational  State  Transfer pertama  kali digunakan oleh Roy Thomas Fielding, salah seorang pelopor proyek web server Apache, pada disertasi doktornya yang berjudul Architectural Styles and the Design of Network-based Software Architectures di University of California pada tahun 2000.
Fielding (2000) mengidentifikasi empat prinsip ( constraints ) dalam REST, yaitu : 1) Identifikasi resources .
2) Manipulasi resources melalui representasi.
3) Pesan self-descriptive .
4) Menggunakan hypermedia sebagai engine dari application state .
Prinsip-prinsip  tersebut  menjelaskan  arsitektur  sistem  dan  interaksi  yang  membangun  web. Blok-blok  pembangun  web  disebut  sebagai resource .  Segala  sesuatu  yang  dapat  menjadi  target  dari hipertext (misal  file  dan  script)  adalah resource .  Dalam response dari  suatu request untuk  sebuah resource , client menerima  sebuah  representasi  dari resource tersebut  yang  mungkin  memiliki perbedaan  format  dengan resource yang  berada  di  server. Resource kemudian  dimanipulasi  melalui pesan  yang  memiliki  arti  standar,  pesan-pesan  tersebut  adalah  HTTP method .  Dalam  REST  setiap interaksi antara client dan server disimpan pada hypermedia yang dipertukarkan, misalnya melalui link atau URI. Setiap informasi state dikirim antara client dan server dalam masing- masing pesannya, hal ini menjadikan interaksi bersifat stateless .

## 2.5 JSON
JSON yang merupakam singkatan dari JavaScript Object Notation adalah standar berbasis teks untuk  pertukaran  data.  Format  JSON  dikenal  ringan  (berukuran  kecil),  mudah  untuk  dibaca,  ditulis, dan  dipahami  manusia  serta  mudah  untuk  diuraikan  dan  dibuat  oleh  mesin.  Format  ini  dibuat berdasarkan  bahasa  pemrograman  JavaScript,  standar  ECMA-262  edisi  ketiga  –  Desember  1999. JSON  bersifat language  independent namun  menggunakan  kaidah  penulisan  yang  dikenal  luas  oleh programmer dari  keluarga  bahasa  C  (C,  C++,  C#,  Java,  JavaScript,  Perl,  Python,  dll),  hal  tersebut menjadikan JSON sangat ideal sebagai bahasa dalam pengiriman data (JSON Team, www.json.org).

## 3. Analisis dan Perancangan Sistem
Sistem  dibangun  dalam  bentuk  aplikasi mobile yang  disesuaikan  dengan  jenis  penggunanya. Terdapat  6  aplikasi  untuk  6  pengguna  yang  disesuaikan  dengan  fungsinya  dalam  proses  bisnis perusahaan, keenam aplikasi tersebut adalah m-ERP Pemasaran, m-ERP Produksi, m-ERP Pembelian, m-ERP Supplier, m-ERP Manager, dan m-ERP Inventory.
Aplikasi m-ERP Android akan mengakses web service sistem ERP melalui protokol HTTPS. Di sisi server, web service dibangun dengan arsitektur REST, pesan web service dikirimkan dalam format JSON.

## 3.1 Proses Bisnis
Proses  bisnis  perusahaan  diuraikan  ke  dalam  bagian-bagian  yang  mewakili  peranan  fungsional perusahaan, dapat dijelaskan sebagai berikut

## 3.1.1 Pemasaran
Pemasaran  melakukan  pengelolaan  pesanan.  Untuk  setiap  pesanan  yang  masuk,  pemasaran akan mencatat datanya.
Data  pesanan  yang  telah  dicatat  kemudian  akan  diakses  oleh  bagian  Produksi  yang  akan menentukan  apakah  pesanan  disetujui  atau  tidak.  Apabila  stok  produk  mebel  yang  tersedia  masih mencukupi maka akan diambil produk mebel yang dipesan dari stok, namun bila stok tidak mencukupi maka bagian Produksi akan melakukan proses produksi produk mebel yang dipesan.
Apabila  kemampuan  produksi  perusahaan  dinilai  tidak  mampu  menangani  pesanan,
Pemasaran  memiliki  opsi  untuk  mengubah  data  pesanan  yang  meliputi  mengubah deadline pesanan dan mengubah jumlah produk mebel yang dipesan.

## 3.1.2 Produksi
Produksi  sangat  erat  kaitannya  dengan  pemasaran  karena  bagian  inilah  yang  akan mengeksekusi  pesanan  produk  mebel  yang  dicatat  oleh  pemasaran.  Eksekusi  pesanan  adalah  proses produksi  produk  mebel  untuk  memenuhi  pesanan,  eksekusi  pesanan  dilakukan  apabila  stok  produk mebel yang tersedia tidak mencukupi jumlah produk mebel yang dipesan.

## 3.1.3 Pembelian
Bagian pembelian memiliki wewenang untuk menyediakan bahan bagi proses produksi. Bahan dipasok  melalui  mekanisme  lelang bahan  oleh Supplier yang  menjadi  mitra kerja perusahaan. Bagian Pembelian  akan  melakukan  seleksi  terhadap  penawaran  lelang  yang  dikirimkan  Supplier  dan menentukan  Supplier  yang  menjadi  pemenang  lelang.  Hasil  seleksi  lelang  bahan  selanjutnya  akan disimpan  sebagai  berkas  order  bahan  yang  akan  direview  kembali  oleh  Manager.  Pembelian  juga mengelola penawaran bahan dari jalur non lelang yang dikirimkan Supplier .

## 3.1.4 Supplier
Supplier  merupakan  bagian  terpisah  dari  perusahaan,  Supplier  bertindak  sebagai  mitra perusahaan  dalam  menyediakan  bahan.  Penyediaan  bahan  diatur  dalam  sebuah  proses  lelang  yang dibuat  oleh  bagian  Pembelian  perusahaan. Supplier dapat  melihat  lelang  yang  sedang  berlangsung untuk  kemudian  mengirimkan  penawaran  lelangnya,  bagian  Pembelian  perusahaan  yang  kemudian akan  menyeleksi  penawaran  lelang  dan  menentukan Supplier yang  menjadi  pemenang  lelang.  Selain mengikuti lelang, Supplier juga dapat menawarkan bahan melalui penawaran non lelang.

## 3.1.5 Inventory
Bagian Inventory melakukan update stok bahan, alat, dan produk mebel.

## 3.1.6 Manager
Manager  berperan  sebagai  pengambil  kebijakan  untuk  menyetujui  atau  menolak  order  bahan yang merupakan hasil dari mekanisme lelang bahan .

## 3.2 Arsitektur Aplikasi
Aplikasi  m-ERP ditujukan untuk Android versi 2.3.3 (Gingerbread). Pada penelitian ini, sistem berjalan  pada  jaringan  lokal  ( localhost )  sebagai  sebuah prototyp e. Arsitektur  implementasi  sistem  m- ERP secara umum dapat digambarkan sebagai berikut:
Gambar 2. Arsitektur aplikasi
Sistem m-ERP menggunakan arsitektur 3- tier . Presentation tier adalah lapisan yang berada pada client ,  yaitu  aplikasi mobile ERP  yang  digunakan  oleh user .  Pada presentation  tier ini  informasi disajikan  dalam  bentuk  yang  dimengerti  oleh  pengguna  Kemudian  pada  lapisan  selanjutnya  adalah
Logic  tier yang  menyimpan  operasi-operasi  untuk  mengakses  informasi.  Pada Logic  tier terdapat REST web service yang  membungkus perintah-perintah business logic untuk  memanfaatkan resource di server ERP ke dalam method service yang dapat digunakan oleh client. Kemudian pada level paling dasar adalah Data tier yang berisi database ERP yang menyimpan semua data sistem ERP.
Aplikasi m-ERP dibuat untuk 6 pengguna yang berbeda sesuai dengan modul-modul yang dipilih dari  proses  bisnis  yang  ada  di  perusahaan  yaitu  Manager,  Pemasaran,  Produksi,  Pembelian, Supplier , dan Inventory .
Aplikasi  m-ERP  mengakses  REST web  service melalui  protokol  HTTPS  dengan  menggunakan format  pesan  JSON.  REST web  service ini  yang  kemudian  menghubungkan  aplikasi  m-ERP  dengan server ERP, juga melalui protokol HTTPS.

## 3.3 Layanan Web Service
Terdapat 49 operasi web service yang dibuat sebagai berikut ini:
Tabel 1. Daftar Operasi Web Service

## No.  Nama Service
1 LoginInventory
2 GetListMebelByName
3 GetListBahanByName
4 GetListAlatByName
5 IncreaseStockAlat
6 IncreaseStockBahan
7 IncreaseStockMebel
8 GetMebel
9 GetBahan
10 GetAlat
11 LoginManager
12 GetLelangById
13 GetOrderBahanById
14 TidakMenyetujuiOrderBahan
15 SetujuiOrderBahan
16 GetPegawaiById
17 GetDetailPesanan
18 GetMebelSet
19 GetSupplier
20 GetKeterlambatanByTahun
21 GetListJenisPegawai
22 GetPenjualanBiayaByTahun
23 GetListLelangByDate
24 GetListOrderBahan
25 GetListPegawaiBuName
26 GetListPesananByStatusDate
27 GetListMebelSetByName
28 GetListSupplierByName
29 CancelPesanan
30 ReschedulePesanan
31 UbahQtyPesanan
32 LoginPemasaran
33 LoginPembelian
34 DeleteLelang
35 GetListPenawaranSupplier
36 GetHasilLelangById
37 GetPenawaranNonLelang
38 DeletePenawaranNonLelang
39 GetPenawaranLelangById
40 SetPemenangLelang
41 GetListLelangByStatus
42 GetListPenawaranNonLelang
43 AddLelang
44 TidakMenyetujuiPesanan
45 LoginProduksi
46 LoginSupplier
47 SetPenawaranLelang
48 GetListHasilLelangByDate
49 SendPenawaranNonLelang
4. Hasil dan Pembahasan
Web service ERP  yang  digunakan  untuk  aplikasi mobile ERP  dikonfigurasi  dengan  menggunaka arsitektur  REST.     Implementasi      arsitektur      REST     memberikan  keuntungan  dalam  pembangunan aplikasi  m-ERP  karena web  service yang  dihasilkan  lebih  sederhana  dibandingkan  dengan  SOAP dalam  hal  penggunaan  WSDL  dan  penggunaan  protokol,  REST web  service tidak  menggunakan dokumen  WSDL  serta  tidak  memerlukan  protokol  khusus web  service ,  lain  hanya  pada  SOAP web
152 Performa (2012) Vol.11, No. 2
service yang menggunakan protokol SOAP.
REST web  service yang  diimplementasikan  dipadukan  dengan  format  pesan  JSON  untuk pertukaran data. 30 service telah diambil sebagai sampel untuk diukur panjang pesan web service ERP yang memuat perbandingan antara format pesan JSON dengan XML seperti yang dimuat pada tabel  4.3.  Dari  pengukuran  panjang  pesan web  service tersebut  didapatkan  hasil  bahwa  format  pesan JSON lebih kecil ukurannya dan waktu eksekusi pesan dalam format JSON secara umum lebih singkat dibandingkan dengan pesan yang sama yang ditulis dalam format XML.
Tabel 2 .  Perbandingan panjang pesan REST web service ERP dalam format JSON dan XML
No Nama Service Panjang Request Message (Bytes)  Selisih (%) Panjang Response Message (Bytes) Selisih (%) JSON XML JSON XML 1 LoginManager 214 296 27,70 253 356 28,93 2 GetListMebelByName 250 352 28,98 388 616 37,01 3 GetListBahanByName 240 342 29,98 450 729 38,27 4 GetListAlatByName 240 339 29,82 379 607 37,56 5 GetMebel 233 315 29,20 418 586 28,67 6 GetBahan 233 315 26,03 417 641 34,95 7 GetAlat 231 310 25,48 347 523 33,65 8 GetLelangById 244 335 27,16 525 753 30,28 9 GetOrderBahanById 247 345 28,41 581 845 31,24 10 GetPegawaiById 239 333 28,23 357 540 33,89 11 GetDetailPesanan 248 346 28,32 811 1.176 31,04 12 GetMebelSet 234 320 26,88 367 529 30,62 13 GetSupplier 237 326 27,30 434 648 33,02 14 GetKeterlambatanByTahun 240 348 31,03 598 1.156 48,27 15 GetListJenisPegawai 221 317 30,28 494 842 41,33 16 GetPenjualanBiayaByTahun 241 351 31,34 1.062 1.888 43,75 17 GetListLelangByDate 295 399 26,07 1.924 2.633 26,93 18 GetOrderBahan 219 315 30,48 893 1.306 31,62 19 GetListPegawaiByName 246 358 31,28 393 635 38,11 20 GetListPesananByStatusDate 326 452 27,88 3.054 4.372 30,15 21 GetListMebelSetByName 255 370 31,08 403 629 35,93 22 GetListSupplierByName 254 369 31,17 444 718 38,16 23 GetListPenawaranSupplier 258 373 30,83 1.075 1.595 32,60 24 GetHasilLelangById 253 358 29,33 517 761 32,06 25 GetPenawarabNonLelang 281 394 28,68 544 803 32,25 26 GetPenawaranLelangById 282 397 28,97 527 783 32,69 27 GetListLelangByStatus 252 367 31,34 1.651 2.279 27,56 28 GetListPenawaranNonLelang 231 343 32,65 584 919 36,45 29 GetListHasilLelangByDate 302 416 27,40 1.635 2.369 30,98 30 LoginSupplier 217 305 28,85 254 360 29,44 Rata-rata 248,77 350,20 28,96 725,97 1086,57 33,19
Tabel 3. Perbandingan waktu eksekusi pesan REST web service ERP dalam format JSON dan XML
No. Nama Service Waktu Eksekusi Pesan (detik) JSON XML 1 LoginManager 0,094 2,106 2 GetListMebelByName 0,265 1,310 3 GetListBahanByName 0,484 2,743 4 GetListAlatByName 0,328 0,336 5 GetMebel 0,162 0,224 6 GetBahan 0,234 0,261 7 GetAlat 0,248 0,328 8 GetLelangById 0,328 0,390 9 GetOrderBahanById 0,343 0,390 10 GetPegawaiById 0,265 0,281 11 GetDetailPesanan 0,562 0,702 12 GetMebelSet 0,203 0,218 13 GetSupplier 0,125 0,186 14 GetKeterlambatanByTahun 0,546 0,889 15 GetListJenisPegawai 0,125 0,172 16 GetPenjualanBiayaByTahun 1,732 1,778 17 GetListLelangByDate 0,265 0,530 18 GetOrderBahan 0,187 0,359 19 GetListPegawaiByName 0,156 2,964 20 GetListPesananByStatusDate 0,562 5,866 21 GetListMebelSetByName 0,172 4,994 22 GetListSupplierByName 0,140 2,832 23 GetListPenawaranSupplier 0,390 0,468 24 GetHasilLelangById 0,140 0,172 25 GetPenawarabNonLelang 0,281 0,312 26 GetPenawaranLelangById 0,125 0,172 27 GetListLelangByStatus 0,187 0,437 28 GetListPenawaranNonLelang 0,159 2,184 29 GetListHasilLelangByDate 0,151 0,374 30 LoginSupplier 0,250 3,167 Rata-rata 0,307 1,238 5. Kesimpulan dan Saran
5. 1 Kesimpulan
1. Pesan REST web service  yang digunakan untuk aplikasi mobile ERP dalam format JSON rata- rata  memiliki  ukuran  yang  lebih  kecil  serta  waktu  eksekusi  pesan  yang  lebih  pendek dibandingkan dengan pesan yang sama yang ditulis dalam format XML.
2. Implementasi REST web service dan format JSON dilakukan melalui konfigurasi yang tersedia pada  framework  WCF,  web  service  dibangun  ulang  untuk  memenuhi  kebutuhan  service  yang
152 Performa (2012) Vol.11, No. 2
digunakan  oleh  aplikasi  mobile  ERP.  Melalui  aplikasi  mobile  ERP,  sistem  ERP  yang  telah dibuat sebelumnya dapat diakses melalui platform Android.
5. 2 Saran
1. Aplikasi  m-ERP  dapat  diuji  lebih  lanjut  penggunaannya  pada  device  berbasis Android  seperti smartphone atau PC tablet .
2. Pengaksesan web  service ERP  oleh  aplikasi mobile ERP  dapat  ditingkatkan  agar  dilakukan secara real  time tanpa  harus  menunggu  adanya trigger dari  pengguna  agar  setiap update informasi yang terjadi di server diketahui pengguna aplikasi m-ERP dengan lebih cepat.
3. Koneksi  jaringan mobile yang  diperlukan  untuk  aplikasi mobile ERP  dapat  diteliti  lebih  lanjut untuk mengetahui ukuran kualitas jaringan mobile yang ideal untuk aplikasi m-ERP.

## Daftar Pustaka
Booth,  David  et  al.  2003. Web  Services  Architecture .  (Online),  (http://www.w3.org/TR/ws-arch/. Diakses pada tanggal 22 Februari 2011).
Cisco Systems,
Inc. 2007. HTTPS - HTTP Server and Client with SSL 3.0. (Online),(http://www.cisco.com/en/US/docs/ios/12_2t/12_2t15/feature/guide/ftsslsht.html, diakses 25 Juli 2011).
Dhewanto, W., dan Falahah. 2007. ERP : Menyelaraskan Teknologi Informasi dengan Strategi Bisnis . Bandung: Penerbit INFORMATIKA.European Commission. 2003.  COMMISSION RECOMMENDATION of 6 May 2003 concerning the definition of micro, small and medium- sized enterprises. Brussels : European Commission.
Esuropean Commission. 2003. The new SME definition : User guide and model declaration. Brussels : European Commission.
Feda  AlShahwan,  Klaus  Moessner.  2010  Fifth  International  Conference  on  Internet  and  Web Applications  and  Services.  Providing  SOAP  WebServices  and  RESTful  Web  Services  from Mobile Hosts.
Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures . Doctoral dissertation, University of California,Irvine, 2000.
Fielding,  Roy  Thomas  and  Richard  N.  Taylor.  2002. Principled  Design  of  the  Modern  Web Architecture .  ACM  Transactions  on  Internet  Technology  (ISSN:1533-5399),  Vol.  2,  No.  2, May 2002, Pages 115–150.
Gao,  J.  Z.  Et  al.  2006. Engineering  Wireless-Based  Software  Systems  and  Applications .  Norwood: Artech House.
Gartner  Newsroom.  2011. Gartner  Says  Sales  of  Mobile  Devices  in  Second  Quarter  of  2011  Grew 16.5 Percent Year-on-Year; Smartphone
Sales Grew 74 Percent (Online), http://www.gartner.com/it/page.jsp?id=1764714, diakses 21 Agustus 2011).
Hashimi, S. Y., MacLean and Satya Komatineni. 2009. Pro Android . Berkeley: Apress.
Hatem  Hamad,  Motaz  Saad,  dan  Ramzi  Abed.  2010. Performance  Evaluation  of  RESTful  Web Services for Mobile Devices . International Arab Journal of e-Technology (ISSN: 1997-6364), Vol. 1, No. 3, January 2010.
HostBridge  Technology.  2009. SOAP  and  REST  :  Choosing  formal  and  informal  Web  services  for CICS  integration.  JSON  team.  Intoducing  to  JSON .  (Online),  (http://www.json.org/,  diakses 10Agustus 2011).