Vol 1, No 2, Juli 2016

## ANALISIS KOMUNIKASI DATA DENGAN XML DAN JSON PADA WEBSERVICE

## Sudirman
STMIK & AMIK Logika Jl. K.L. Yos Sudarso No. 374-D Medan sudirmanart@gmail.com
Abstrak — Ukuran data pada proses komunikasi data menggunakan web service dalam jaringan akan sangat memengaruhi kecepatan proses transfer. XML dan JSON merupakan format data yang digunakan pada saat komunikasi data pada web service. JSON akan menghasilkan ukuran data yang lebih kecil jika dibandingkan dengan format XML.
Keywords— komunikasi data, web service, XML, JSON.

## I. PENDAHULUAN

## A. Format Penulisan
Dalam komunikasi data digital antara dua perangkat atau lebih yang berbasis web service, kecepatan menjadi hal yang sangat diperhatikan. Pada saat membangun sebuah applikasi yang menggunakan web service, kita  akan dihadapkan pada pemilihan format data yang akan kita gunakan pada proses transfer file dari server ke applikasi client. Tentunya pada saat menentukan format yang akan kita gunakan kita harus memperhatikan environment dari applikasi. Misalnya spesifikasi server applikasi, banyaknya client yang akan mengakses service applikasi, serta environment client yang akan mengakses service applikasi. Jika applikasi kita akan diakses menggunakan smartphones tentu kita tidak dapat menyamakan kecepatan proses smartphones dengan sebuah perangkat komputer..

## B. Rumusan Masalah
Dari latar belakang tersebut, penulis merumuskan permasalahan dalam penelitian ini : “Format data apa yang tepat pada saat pengembangan applikasi yang mempunyai web service?”

## C. Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk menentukan format file yang tepat pada saat membangun sebuah aplikasi berbasis web service.

## II. LANDASAN TEORI

## A. Komunikasi Data
Komunikasi data adalah pertukaran data antara dua perangkat atau lebih melalui media transmisi misalnya seperti kabel. Untuk bisa terjadinya komunikasi data, perangkat harus saling berkomunikasi atau terhubung menjadi sebuah bagian dari sistem komunikasi, yang terdiri atas kombinasi dari peralatan fisik atau keras (hardware) dan perangkat aplikasi atau program (software)[1].
Dalam proses komunikasi data terdapat komponen- komponen yang saling terkait. Adapun komponen- komponen tersebut adalah :
1. Paket atau pesan
Paket atau pesan adalah informasi yang di pertukarkan.
2.  Pengirim
Pengirim adalah perngakat yang menjadi sumber data atau paket yang dipertukarkan. Pengirim dapat berupa komputer, smartphone, dan lain-lain.
3.  Penerima
Penerima adalah perangkat yang menjadi tujuan dari data atau paket yang dikirimkan. Sama seperti pengirim, perangkat penerima  dapat berupa komputer, smartphone, dan lain-lain.
4.  Media Transmisi Media transmisi adalah media yang menghubungkan antara pengirim dan penerima data atau paket.
5.  Protokol Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua perangkat atau lebih.

## B. Web Services
Web services merupakan suatu komponen software yang merupakan selfcontaining , aplikasi modular self- describing yang  dapat dipublikasikan, dialokasikan, dan dilaksanakan pada web [2].
Web service adalah teknologi yang mengubah kemampuan internet dengan menambahkan kemampuan transactional web , yaitu kemampuan web untuk saling berkomunikasi dengan pola program-to- program . Fokus web selama ini didominasi oleh komunikasi program-to-user dengan interaksi business-to-consumer , sedangkan transactional web akan didominasi oleh program-toprogram dengan interaksi business-to-business [3].
Komponen web service yang mana menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang merupakan layer arsitektur web service [4].
Vol 1, No 2, Juli 2016
1. Layer 1 : Protokol internet standar yang digunakan sebagai sarana transportasi adalah HTTP dan TCP/IP.
2. Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML dan digunakan untuk pertukaran informasi antar sekelompok layanan.
3. Layer 3 : Web Service Definition Language (WSDL) digunakan untuk mendiskripsikan attribute layanan.
4. Layer 4 : Universal Description, Discovery and Integration, yang mana merupakan direktori pusat untuk deskripsi layanan.
Gbr.1 Arsitektur Web Services
C. Extensible Markup Language (XML)
XML merupakan dasar terbentuknya web service yang digunakan untuk mendeskripsikan data. Pada level paling detail web service secara keseluruhan dibentuk diatas XML. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
XML adalah bahasa markup yang menggunakan tag sebagai penanda untuk mengkategorikan, menjelaskan data lebih spesifik.
Pada XML terdapat tag pembuka <tag> dan tag penutup </tag> . Tag pembuka dan tag penutup hanya mempunyai perbedaan karakter / pada tag penutup.
Agar lebih memahami XML, berikut adalah contoh data dalam format XML.
< students > < nim >147038052</ nim > < nama >Sudirman</ nama >
< prodi >Magister</ prodi > < jur >Teknik Informatika</ jur > </ students > D. JavaScript Object Notation (JSON) JSON ( JavaScript Object Notation ) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis
oleh manusia, serta mudah diterjemahkan dan dibuat ( generate ) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999 (http://www.json.org).
JSON adalah salah satu bahasa markup yang dapat melakukan pertukaran data dimana JSON ini dibuat berdasarkan javascript dan pastinya sintaknya lebih ke javascript. Dengan membuat sebuah JSON sama halnya dengan kita membuat sebuah object pada javascript itu sendiri. Di dalam membuat JSON pasti kita bakal berkenalan dengan yang namanya array pada javascript sehingga memudahkan bagi para deveploper/programmer.
Struktur dari JSON adalah sebagai berikut : 1. Object
Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
Gbr.2 Struktur Object dari JSON

## 2. Array
Array adalah kumpulan nilai yang terurutkan.
Array dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

## Gbr.3 Struktur Array dari JSON

## 3. Value
Value dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah Array . Struktur-struktur tersebut dapat disusun bertingkat.
Gbr.4 Struktur Value dari JSON

## 4. Number
Angka sangat mirip dengan angka di C atau Java, kecuali  format oktal dan heksadesimal tidak digunakan.
Gbr.5 Struktur Number dari JSON

## 5. String
Merupakan  kumpulan dari nol atau lebih karakter Unicode , yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string.  String sangat mirip dengan string C atau Java.
Gbr.6 Struktur String dari JSON
Berikut adalah contoh data dalam format JSON. Contoh struktur object dari JSON
{ "nim" : "147038052" , "nama" : "Sudirman" , "prodi" : "Magister" , "jur" : "Teknik Informatika" , }

## Contoh struktur array dari JSON
{" students ": [ { "nim" : "147038052" , "nama" : "Sudirman" , "prodi" : "Magister" , "jur" : "Teknik Informatika" , } { "nim" : "147038052" , "nama" : "Abdul R. Hakim" , "prodi" : "Magister" , "jur" : "Teknik Informatika" , } ] }

## III. PEMBAHASAN
Ukuran data pada proses pertukaran data atau komunikasi akan memengaruhi kecepatan dari proses tersebut. Semakin besar ukuran data yang dipertukarkan akan semakin lambat proses pertukaran data itu berlangsung.
Untuk mengetahui ukuran file yang dihasilkan dari format XML dan JSON maka dilakukan simulasi terhadap 10 row data dummy dari sebuah tabel database yang mempunyai 4 field atau kolom. Berikut adalah contoh data yang akan diubah ke format XML dan JSON untuk melihat ukuran file pada komputer.

## TABEL I

## CONTOH DATA MAHASISWA MAGISTER TI
Nim Nama Prodi Jurusan 147038052  Sudirman Magister Teknik Informatika 147038053 Abdul R. Hakim Magister Teknik Informatika 147038054 Zulfansyuri Siambaton Magister Teknik Informatika 147038055 Terri Noviar Magister Teknik Informatika 147038056 Olo Sihombing Magister Teknik Informatika 147038057 Rizki Muliono Magister Teknik Informatika
Vol 1, No 2, Juli 2016
147038058 Zikrul Alim Magister Teknik Informatika 147038059  Sudarto Magister Teknik Informatika 147038060 Mustasar Usman Magister Teknik Informatika 147038061 Jonathan Laia Magister Teknik Informatika
Data pada Tabel I akan dirubah kedalam format XML dan JSON. Jika data dirubah dalam format XML akan menghasilkan data seperti pada dibawah ini :
<students> <student> <nim> 147038052 </nim>
<nama> Sudirman </nama>
<prodi> Magister </prodi>
<jur> Teknik Informatika </jur> </student> <student> <nim> 147038053 </nim> <nama> Abdul R. Hakim </nama> <prodi> Magister </prodi>
<jur> Teknik Informatika </jur>
</student> <student>
<nim> 147038054 </nim> <nama> Zulfansyuri Siambaton </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur>
</student>
<student> <nim> 147038055 </nim> <nama> Terri Noviar </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur>
</student>
<student> <nim> 147038056 </nim> <nama> Olo Sihombing </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur>
</student>
<student>
<nim> 147038057 </nim> <nama> Rizki Muliono </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur> </student> <student> <nim> 147038058 </nim> <nama> Zikrul Alim </nama>
<prodi> Magister </prodi>
<jur> Teknik Informatika </jur> </student> <student> <nim> 147038059 </nim> <nama> Sudarto </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur> </student> <student> <nim> 147038060 </nim> <nama> Mutasar Usman </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur> </student> <student> <nim> 147038061 </nim> <nama> Jonathan Laia </nama> <prodi> Magister </prodi> <jur> Teknik Informatika </jur> </student> </students>
Jika data dirubah dalam format JSON akan menghasilkan data seperti pada dibawah ini :
{ "students" : [ { "nim" : "147038052" , "nama" : "Sudirman" , "jenjang" : "Magister", "jur" : "Teknik Informatika" }, { "nim" : "147038053" , "nama" : "Abdul R. Hakim" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038054" , "nama" : "Zulfansyuri Siambaton" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038055" , "nama" : "Terri Noviar" , "jenjang" : "Magister" , "jur" : "Teknik Informatika"} , { "nim" : "147038056" , "nama" : "Olo Sihombing" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038057" , "nama" : "Rizki Muliono" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038058" ,
Vol 1, No 2, Juli 2016
e-ISSN :2502-714x
"nama" : "Zikrul Alim" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038059" , "nama" : "Sudarto" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038060" , "nama" : "Mutasar Usman" , "jenjang" : "Magister" , "jur" : "Teknik Informatika" }, { "nim" : "147038061" , "nama" : "Jonathan Laia" , "jenjang" : "Magister", "jur" : "Teknik Informatika" }, ] }
Berikut ini adalah struktur data JSON yang ditampilkan dengan JSON Viewer .

## Gbr.7 Struktur Data JSON
Setelah data pada Tabel I  dikonversi ke format XML dan  JSON, masing-masing data hasil konversi disimpan kedalam sebuah file . Gambar 8 dan Gambar 9  menampilkan perbedaan ukuran file antara format JSON dan XML.
Gbr.8 Ukuran file dalam format XML
Gbr.9 Ukuran file dalam format JSON
Pada  Gambar 8  ukuran file XML  adalah sebesar 1.352 bytes dan pada Gambar 9  ukuran file JSON adalah sebesar 1.098 bytes . Dengan ukuran file yang lebih kecil, web service dengan menggunakan format JSON pada saat pertukaran data maka bandwidth yang dibutuhkan relatife lebih kecil jika dibandingkan dengan menggunakan format  XML. Dan tentunya akan memengaruhi kecepatan proses transfer data. Dimisalkan ada internet dengan kecepatan transfer datanya adalah 64  Kbps ( Kilobytes per second), jika kondisi internet diatas digunakan untuk mentransfer file JSON dan file XML diatas, maka dapat dikalkulasikan waktu yang digunakan untuk mentransfer kedua file tersebut adalah :
Vol 1, No 2, Juli 2016
e-ISSN :2502-714x
XML  = 1.352 Bytes (1.32 Kb) = 1.32 Kb / 64 Kbps = 0,020625 Second JSON  = 1.098 Bytes (1.07 Kb) = 1.07 Kb / 64 Kbps = 0,016718 Second
Dari hasil perhitungan diatas, data dengan format XML akan membutuhkan waktu transfer 0,020625 detik, sedangkan data dengan format JSON membutuhkan waktu transfer 0,016718 detik. Dapat disimpulkan dari perhitungan diatas bahwa file dengan format JSON lebih cepat 0,003907 detik dibandingkan dengan file dengan format XML. Pada pengembangan applikasi yang mempunyai web service dan client yang mengakses  adalah perangkat smartphone sebaiknya menggunakan format JSON untuk format data yang dipertukarkan. Karena pada umumnya koneksi internet smartphone hanya memanfaatkan paket data dari provider yang tersedia. Dimana kecepatan internetnya relatife lebih lambat.
IV. KESIMPULAN
Komunikasi data atau pertukaran data pada web service dapat menggunakan format yaitu :
- Extensible Markup Language (XML).
- JavaScript Object Notation (JSON).
Format data dengan menggunakan XML akan menghasilkan ukuran file yang lebih besar dari pada JSON. Jika dilihat dari ukuran data, maka proses pengiriman atau pertukaran data dari data source ke penerima akan lebih cepat menggunakan format JSON jika dibadingkan proses pengiriman data dengan format XML. Penyebab ukuran data mejadi lebih besar pada XML daripada JSON adalah penggunaan kata yang berulang pada tag pembuka dan tag penutup. Pengembangan applikasi dengan web service dengan client dari applikasi adalah smartphone sebaiknya menggunakan format data JSON.

## R EFERENSI
[1] Definisi Atau Pengertian Komunikasi Data Lengkap. http://www.pengertianku.net/2014/09/definisi-atau-pengertian komunikasi-data-lengkap.html. Diakses 19 Agustus 2016.
[2] Wahli, U., Burroughs, O., Cline, O., Tung, L. 2006. Service Handbook for WebSphere Application Server
6.1 . http://www.redbooks.ibm.com/redbooks/pdfs/sg247257.p df. Diakses 19 Agustus 2016.
[3] Gottshchalk, Petter .2002. A Stages of Growth Model for
Knowledge Management Technology in Law Firms. Jurnal Of Information, Law and Technology (JILT) 2002 .
[1] [4]  Dykes, Lucinda. Tittel. Ed. 2005 . XML for Dummies. 4th
Edition . Wiley Publishing, Inc. Canada.
[5]    JSON. https://id.wikipedia.org/wiki/JSON. Diakses 19 Agustus 2016.
[6]    Pengenalan JSON, http://www.json.org/json-id.html.  Diakses 19 Agustus 2016.
[7] Nurseitov, N., Paulson, M., Reynolds,  R., Izurieta, C. 2009. Comparison of JSON and XML Data Interchange Formats: A Case Study. Department of Computer Science, Montana State University. Bozeman, USA .