resep masakan

ubud villa

anjingdijual

mesin hotel di puncak
*

Author Topic: Penggunaan JSON untuk Pertukaran Data WEB  (Read 2475 times)

Offline venty

  • Jr. Member
  • **
  • Posts: 80
    • View Profile
    • FT UM
Penggunaan JSON untuk Pertukaran Data WEB
« on: January 21, 2010, 05:57:05 pm »
Penggunaan JSON untuk Pertukaran Data WEB

XML sudah lama dikenal sebagai format pertukaran data yang banyak digunakan dalam aplikasi web, tetapi bukan
berarti satu-satunya. Sekarang, JSON merupakan salah satu alternatif lainnya.

1. DEFINISI JSON

   Penggunaan XML memang membawa perubahan yang relatif cepat dan signi?kan, tetapi apakah masa kejayaan XML tengah
   menghadapi tantangan dengan munculnya format baru bernama JSON? JSON (dibaca seperti menyebut nama: Jason) merupakan
   singkatan dari JavaScript Object Notation. Seperti juga XML, JSON berupa text-based, dan memiliki format yang mudah dibaca.
   Mungkin tidak akan habisnya membandingkan teknologi lama dan baru karena selalu menimbulkan pro dan kontra. Di lain sisi
   teknologi terus melaju, termasuk dalam teknologi pertukaran data web. Selain JSON yang berorientasi JavaScript, juga telah
   dikenal YAML yang mengambil konsep dari berbagai bahasa (XML, C, Perl).
   
   Kehadiran sederet markup language/format pertukaran data ini merupakan salah satu cerminan wajah teknologi Internet saat ini,
   jika dulu bahasa pemrograman (ingat zaman Pascal, Turbo C, kemudian Delphi, Visual Basic) diarahkan untuk menciptakan aplikasi
   dari awal, maka sekarang bahasa-bahasa seperti XML, JSON lebih diarahkan untuk menjembatani aplikasi-aplikasi agar dapat saling
   berkomunikasi.

2. Kombinasi JSON dan HTML

   Kita akan langsung mengaplikasikan JSON dalam  coding, untuk itu sebaiknya Anda telah menguasai dasar-dasar HTML/JavaScript,
   yang tentunya akan mempermudah proses pemahaman.

   Untuk lebih mengenal bagaimana JSON menerangkan sebuah data, berikut adalah contoh penulisan JSON dalam sebuah file HTML:

   <html>

   <head>

   </head>
   
   <body>

   <script>

   // JSON

   var myObject = {“produk”: {

    “buah”:[

     {“nama”: “pisang”,

       “harga”: 1000

     },

     {“nama”: “apel”,

       “harga”: 7000

     }],

    “ATK”:[

     {“nama”: “pulpen”,

       “harga”: 500

     },
   
     {“nama”: “penggaris”,

       “harga”: 100

     }]

   }};

   document.writeln(myObject.produk.buah[1].nama);  // outputnya adalah apel

   document.writeln(myObject.produk.buah[1].harga); // outputnya adalah 7000

   </script>

   </body>

   </html>

     Contoh di atas mendeklarasikan data dengan JSON. Tampak seperti sebuah struktur data yang cukup mudah untuk dimengerti, bukan?
     Untuk mengakses dan menampilkannya, Anda dapat menggunakan perintah JavaScript document.writeln seperti yang tertulis juga pada
     kode program di atas. Melihat cara penulisan JSON, Anda tentu akan memaklumi mengapa JSON merupakan singkatan dari JavaScript Object
     Notation, karena JSON memang berbasiskan JavaScript.

     Tipe data dalam JSON dapat dikategorikan sebagai beri-kut:

   1). Number (berupa integer, real, atau ?oating point).
   2). String.
   3). Boolean (true dan false).
   4). Array.
   5). Object.
   6). null.


3. Kombinasi JSON dan AJAX

   JSON sering digunakan didalam aplikasi AJAX sebagai alternatif lain penggunaan XML. Pembahasan mengenai AJAX telah pernah
   dibahas dalam edisi terdahulu PC Media, tetapi sekadar mengingatkan kembali, secara garis besar AJAX merupakan teknik untuk
   menciptakan aplikasi web yang interaktif, tidak kalah dengan aplikasi desktop. Hal ini membuat garis perbedaan antara aplikasi
   web dan aplikasi desktop semakin tipis. Web interaktif, tentunya melibatkan pertukaran data antara server dan browser, format data
   yang dipergunakan sebaiknya bersifat universal, ringan, dan mudah diimplementasikan. Karena itulah XML sering digunakan dalam aplikasi AJAX.
   Tetapi sekarang, AJAX memiliki JSON sebagai alternatif pasangan baru. Walaupun XML seolah sudah mengikat AJAX melalui singkatan AJAX itu
   sendiri: Asynchronous JavaScript and XML, tapi apalah arti sebuah nama? Hal ini sah-sah saja, anggaplah AJAX juga tidak mau kalah dengan
   selebriti dalam hal gonta-ganti pasangan.

   Tapi yang kena getahnya kan programer? Karena harus mempelajari lagi pemrograman baru, cara baru, teknik baru, dan seterusnya? Kalau begitu,
   salahkan saja programer (yang membuat JSON dan teknologi lainnya), karena menciptakan semua hal baru tersebut. Sedikit pesan moral jika
   sebagai programer kita mengeluh karena mempelajari hal yang baru: pekerjaan programer dituntut untuk menciptakan hal yang baru,
   contohnya dari membuat aplikasi sederhana,  membuat sistem manual menjadi otomatis, atau bahkan membuat saingan JSON (mungkin saja, bukan?),
   di mana karya tersebut baru berarti jika ada yang menggunakan atau mempelajarinya, lalu apa alasan kita untuk mengeluh karena ada hal baru
   yang harus dipelajari?

   Walaupun demikian, selektif tetap menjadi kata kunci untuk mempelajari teknologi. Kembali pada pasangan JSON dan AJAX, berikut akan ditampilkan
   contoh sederhana kombinasi JSON dan AJAX. Kita akan membuat aplikasi web sederhana yang menampilkan secara acak sebuah lagu yang diambil dari
   kumpulan lagu dengan format data JSON.

   Siapkan sebuah file text sebagai data, beri nama ?le berikut dengan data.txt, yang berisi:

   {“playing”:[

      {“title”: “Bat Country”,

       “singer”: “Avenged Sevenfold”

     },

     {“title”: “Amazing”,

       “singer”: “Aerosmith”

     },

      {“title”: “Pull Me Under”,

       “singer”: “Dream Theater”

          }]

   }

     Contoh data di atas menyimpan tiga buah judul lagu beserta nama penyanyi/band yang membawakannya. Berikutnya kita akan membuat
     sebuah file HTML, beri nama dengan index.html, dan berisi kode sebagai berikut:

   <html>

   <head>

   <title> JSON - Ajax Demo </title>

   <script type=”text/javascript”>

   var url = “data.txt”;

   function handleHttpResponse() { 

     if (http.readyState == 4) {

        if(http.status==200) {       

      var results = eval(‘(‘   http.responseText   ‘)’);

 

      // random dari 0 s/d 2

      var rand_no = Math.random();

      rand_no = rand_no * 3;

      rand_no = Math.ceil(rand_no);

      rand_no = rand_no - 1;

 

           document.write(results.playing[rand_no].title);

      document.write(“ - oleh “);

     document.write(results.playing[rand_no].singer);

        }

     }

   }

     

   function requestInput() {     

     http.open(“GET”, url, true);

    http.onreadystatechange = handleHttpResponse;

    http.send(null);

   }

 

   function getHTTPObject() {

     var xmlhttp;

     if(window.XMLHttpRequest){

       xmlhttp = new XMLHttpRequest();

     }

     else if (window.ActiveXObject){

       xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);

       if (!xmlhttp){

           xmlhttp=new ActiveXObject(“Msxml2.XMLHTTP”);

     } 

   }
   
 
   
   return xmlhttp;
   
   }

   var http = getHTTPObject();

   </script>

   </head>

   <body>   

       <INPUT type=”button” id=button2 onclick=”requestInput()”

   value=”Sekarang Sedang Memutar Lagu...” />

   </body>

   </html>

   Jalankan index.html pada browser Anda melalui HTTP. Tampilan awal

   Jika Anda mengklik tombol “Sekarang Sedang MemutarLagu...”, maka akan tampil secara acak sebuah judul lagu beserta penyanyinya

    Contoh sengaja dibuat mendasar dan sederhana, karena setelah Anda memahami cara kerja program di atas, maka Anda akan dapat melakukan
    modifikasi lebih lanjut entah dengan menggunakan database, atau menggunakan bahasa pemrograman PHP, ASP/ASP.NET, dan seterusnya.

4. JSON dan RSS

    Anda sering mendengar RSS (Really Simple Syndication) atau-pun Atom, yang merupakan format web feed, saat ini telah banyak digunakan
    oleh pengguna Internet untuk dapat tetap mengikuti berita pada website favoritnya. JSON juga dapat digunakan sebagai format web feed,
    salah satunya dengan menggunakan Google Data APIs (atau biasa disingkat GData). GData sendiri merupakan     protokol untuk membaca dan menulis data pada web, yang dilakukan GData adalah melakukan konversi format XML feed menjadi format JSON.

    Tidak jauh berbeda, Yahoo! Pipes juga melakukan transformasi RSS feed dari format XML ke dalam format JSON, sehingga website Anda
    dapat langsung mengakses data RSS tanpa memerlukan script pada sisi server. Dengan dukungan dari dua raksasa Internet ini, penggunaan
    JSON nampak telah dan akan semakin meluas dengan cukup signi?kan (siapa yang tidak kenal Google dan Yahoo!), dan mau tidak mau, tentu
    saja juga mengundang perdebatan pro dan kontra mengenai mana yang lebih baik, JSON ataukah XML. Walaupun untuk saat ini, keberadaan XML
    dalam RSS jelas masih diperlukan karena format JSON merupakan konversi dari format XML yang telah ada. Tetapi, ibarat ada dua nahkoda
    dalam satu kapal, selalu tersedia ruang debat yang sulit berakhir.

5. XML vs JSON

   Pertanyaan menarik adalah, bagaimana jika JSON ditandingkan dengan XML. Walaupun mungkin hasilnya mirip dengan film horor Freddy vs Jason,
   dua tokoh horor yang saling bertempur. Jika Anda melihat akhir ?lm tersebut, bisa jadi menimbulkan perdebatan mengenai siapa yang lebih unggul.
   Beberapa hal yang dapat diperbandingkan antara XML vs JSON, antara lain:

   1). Format Penulisan.
     XML memiliki format yang sangat familiar bagi Anda yang telah mengenal HTML. Sementara JSON, seperti yang Anda lihat pada contoh kode
   di atas, juga memiliki format yangsederhana dan mudah dipahami. Lalu, pertanyaannya adalah lebih mudah yang mana?
   Ternyata menjawab pertanyaan sederhana ini pun tidak mudah, cukup banyak yang mengatakan JSON lebih mudah, dan juga sebaliknya.
   Bagi penulis pribadi, masing-masing ada keuntungan dan kerugian, penulisan JSON yang menggunakan simbol kurung siku dan kurung kurawal,
   juga tanda kutip, dapat mempersulit pembacaan manual, sehingga kesalahan ketik lebih sulit terdeteksi. Tetapi, untuk merepresentasikan
   sebuah struktur data yang rumit dan berbentuk hirarkis penulisan JSON relatif lebih terstruktur dan mudah.

   2). Ukuran.
   Jika dibandingkan secara umum, ukuran karakter yang dibutuhkan JSON lebih kecil dibandingkan XML untuk data yang sama. Hal ini tentu
   berpengaruh pula pada kecepatan pertukaran data, walaupun tidak signi?  kan untuk data yang kecil, namun cukup berarti jika Anda
   menggunakan koneksi yang relatif lambat untuk mengakses aplikasi web kaya ?tur yang memanfaatkan pertukaran data.
   Di sini JSON lebih unggul dibandingkan XML, kecuali jika data dikompresi terlebih dahulu sebelum dikirimkan, perbedaan JSON dan XML
   yang telah dikompresi tidaklah signifikan.

   3). Browser Parsing.
   Proses parsing merupakan proses pengenalan token atau bagian-bagian kecil dalam rangkaian dokumen XML/JSON. Contohnya, Anda memiliki data
   text dalam format JSON seperti contoh yang telah kita pelajari, data tersebut harus di-parsing terlebih dahulu sebelum dapat diakses dan       dima-nipulasi. Browser parsing berarti proses parsing yang terjadi pada sisi client/browser.
   Melakukan browser parsing pada JSON lebih sederhana dibandingkan pada XML, JSON menggunakan function JavaScript eval() untuk melakukan parsing.    Sementara dokumen XML di-parsing oleh XMLHttpRequest. Rata-rata survai menobatkan JSON sebagai pemenang jika diadu kecepatan parsingnya.

   4). Konversi Format.
   Memang cukup ironis, format data seperti XML dan JSON dibuat dengan tujuan agar bahasa/format pertukaran data yang digunakan dapat berlaku
   universal, tetapi karena banyaknya pilihan jenis format data yang dipergunakan, bisa jadi Anda harus melakukan konversi antarformat data yang    “universal” tersebut. Jadi, format data yang benar-benar sampai pada pengertian universal sampai saat ini mungkin belum ada, untungnya semuanya    berbasis teks, sehingga dimungkinkan konversi format yang relatif mudah.

    Jika dibandingkan, format XML lebih mudah untuk dikonversi ke format lain, seperti HTML, SVG, comma-delimited, dan juga JSON. Salah satunya adalah berkat     XSLT (Extensible Stylesheet Language Transformations), yang digunakanuntuk transformasi dokumen XML ke format dokumen lainnya, dukungan XSLT yang baik        pada sisi browser dan server semakin mempermudah proses secara umum. Pada JSON, prosesnya konversi ke format lain belum se-sederhana itu, karena belum      tersedia dukungan built-in sebagaimana XSLT untuk XML. Walaupun hal ini     mungkin hanya masalah waktu jika JSON semakin dapat diterima umum. Produk yang baik dan dapat diterima luas tentu akan mendapat banyak dukungan dan     menciptakan peluang bisnis yang saling menguntungkan.

   5). Keamanan.
   Seperti telah dikemukakan, fungsi eval() melakukan parsing JSON, menjadi objek JavaScript yang siap digunakan. Hal ini menimbulkan celah keamanan       karena memungkinkan masuknya kode-kode berupa  function executable yang tidak diinginkan, karena itu pastikan data JSON yang Anda gunakan berasal       dari sumber yang terpercaya. Untuk alasan keamanan tersebut, proses parsing JSON sering dilengkapi dengan keamanan tambahan, misalnya dengan    
   menambahkan regular expression. Website json.org menyediakan Library JavaScript yang dapat di-download di http://www.json.org/json2.js, di mana       library tersebut merekomendasikan penggunaan  function parse-nya sebagai pengganti function eval(). Karena isu keamanan tampak tidak ada habisnya,       jangan terpatok pada library versi tertentu, selalu periksa apakah ada update versi terbaru.

     Untuk XML, karena hanya menyimpan data (seharusnya tidak bisa disusupi function yang bisa dieksekusi), dalam hal ini memiliki tingkat keamanan yang       lebih baik.

6. Masa Depan JSON

   Saat ini, penggunaan JSON disokong penuh oleh Yahoo!, misalnya melalui Yahoo! Pipes yang mengizinkan Anda membuat aplikasi web yang diambil dari berbagai    sumber. Dauglas Crockford  yang mengenalkan JSON itu sendiri merupakan arsitek senior JavaScript di Yahoo!.

   Tidak hanya Yahoo!, bahasa pemrograman seperti PHP, Phyton, Delphi, ASP, dan lain-lain juga telah mendukung JSON (daftar lengkapnya dapat dilihat pada    website json.org).

   Selain itu, statistik pada Google Trends (http://www.google. com/trends?q=json) juga menunjukkan peningkatan kontinyu pencarian keyword JSON, sebagai    indikasi kepopularan JSON yang semakin dikenal luas.

   Apakah ini pertanda di masa depan yang mungkin tidak terlalu jauh, JSON akan menggeser XML? Ataukah XML masih mampu bertahan, ataukah akan ada format    pertukaran data lain yang akan lebih popular dari keduanya? Atau mungkin juga tidak akan ada satupun yang mendominasi secara signi?kan mengingat luasnya    kebutuhan pasar. Waktu juga yang akan menjawabnya.

LEBIH LANJUT

http://www.json.org/

http://en.wikipedia.org/wiki/JSON

http://en.wikipedia.org/wiki/Xml

http://www.pcmedia.co.id/

 

Welcome, Guest. Please login or register.
September 02, 2014, 06:12:10 am

Login with username, password and session length

Recomended