Tuesday, June 4, 2013

Apa itu JSON ?

Apa itu JSON ? – Saat kita berbicara tentang dunia per-website-an, kita akan merujuk kepada bahasa pemrograman web. Bahasa pemrograman yang membentuk sebuah website dikategorikan menjadi dua jenis,server scripting- dengan deretan contohnya seperti PHP, ASP, Ruby, dsb- dan juga client scripting- dengan contoh yang familier dan standar yaitu X/HTML, CSS dan juga Javascript.

JSON adalah struktur data yang universal, dalam artian bisa digunakan dalam berbagai bahasa pemrograman. Hampir semua bahasa pemrograman mendukung penuh JSON dalam berbagai format. Hal ini memungkinkan format data yang dapat dipertukarkan menggunakan bahasa pemrograman juga menggunakan dasar dari struktur JSON.

Format data JSON mempunyai aturan sebagai berikut :
Object adalah satu set nama/nilai yang tidak terurut. Penulisan objek dimulai dengan tanda { (left brace) dan diakhiri dengan tanda } (right brace). Setiap nama diikuti oleh tanda : (colon) dan pasangan nama/nilai dipisahkan dengan tanda , (comma).
Kenapa menggunakan JSON?
Jawabannya karena ukuran datanya lebih kecil di banding dengan XML , sifatnya 
"self-describing" dan mudah di mengerti.

Mengevaluasi objek javascript

format teks dari JSON =
 sintak/kode yang identik dengan kode untuk membuat objek JavaScript, memiliki kesamaan dengan JS alias Java Script ,hanya JSON lebih simpel .

JSON memiliki tipe :

·         Objek adalah kumpulan pasangan dengan nama/ nilai yang tidak urut,nama dengan nilai nya di pisah dengan tanda  " : " (titik dua). sedangkan parameter di pisah dengan tanda ","(koma).
·          Array adalah koleksi nilai ter urut,di kumpulkan dengan tanda "[ ]" 
suatu nilai bisa berupa : String, angka, true, fals, null ,kalau menggunakan String di tandai dengan tanda " " (petik ganda).

{
"employees": [
{ "firstName":"Agus" , "lastName":"picek" },
 
{ "firstName":"uchu" , "lastName":"kelik" },
 
{ "firstName":"Boby" , "lastName":"bongak" }
]
}
 


- JSON data ditulis sebagai pasangan nama / nilai nya.
Sepasang nama / nilai terdiri dari nama field (dalam tanda kutip ganda), diikuti oleh titik dua, diikuti dengan nilai:
contoh :
"firstName" : "Agus"
Hal ini mudah dimengerti, dan sama dengan pernyataan JavaScript:
firstName = "Bongak"

- Objek JSON ditulis di dalam kurung keriting,
Objek dapat berisi beberapa nama / pasangan nilai:
{ "firstName":"Jin" , "lastName":"picek" }
Ini juga mudah dimengerti, dan sama dengan laporan JavaScript:
firstName = "Jin"
lastName = "picek"


- JSON array ditulis dalam tanda ''[ ]" (kurung persegi).
Array dapat berisi beberapa objek:
{
"employees": [
{ "firstName":"Agus" , "lastName":"picek" },
 
{ "firstName":"Boby" , "lastName":"bongak" },
 
{ "firstName":"uchu" , "lastName":"kelik" }
]
}
pada  contoh di atas, objek bernama "karyawan/employees" adalah array yang berisi tiga obyek. Setiap objek adalah catatan seseorang (dengan nama pertama dan nama terakhir).


Berikut adalah JSON yang sama dengan XML dan yang beda dengan XML :

Like as XML :

·         teks biasa
·         "self-describing" (mudah di baca manusia)
·         Hirarkis (nilai-nilai dalam nilai-nilai)
·         bisa di uraikan oleh Java Script juga
·         data dari JSON dapat di angkut atau di gunakan di AJAX
            Unlike as XML :

·         tidak ada tag penutup
·         simple dan singkat
·          lebih cepat untuk membaca dan menulis
·         bisa di uraikan dengan built-in JavaScript eval()
·         menggunakan array
·         tidak ada kata di cadangkan
         
  Aturan dalam JSON :

·         Data dalam pasangan nama / nilai
·         Data dipisahkan dengan koma
·         Keriting kurung memegang benda
·         Persegi kurung memegang array

Harga pada JSON :
nilai-nilai JSON dapat berupa , 
·         Sejumlah (titik integer atau floating)
·         Sebuah string (dalam tanda kutip ganda)
·         Sebuah Boolean (true atau false)
·         Sebuah array (dalam kurung persegi)
·         Sebuah objek (dalam kurung keriting) 
·         nol


Siapa penemu dan kapan terciptanya JSON?

JSON diciptakan oleh Douglas Crockford pada tahun 2001, dan ditetapkan dalam RFC 4627 dengan IETF (Internet Engineering Task Force) Per spesifikasi, JSON itu IANA (Internet Assigned Numbers Authority) jenis media adalah application / json, dan jenis file json .

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:
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 berikut:
1. Number (berupa integer, real, atau floating point).
2. String.
3. Boolean (true dan false).
4. Array.
5. Object.
6. null.
Kombinasi JSON dan AJAX
JSON sering digunakan didalam aplikasi AJAX sebagai alternatif lain penggunaan XML(extended Markup Language) adalah bahasa markup yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung dengan tools tertentu (seperti editor, dbms, compiler, dsb). 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.



Proses Kerja JSON Simple & Fast
Karena kesederhanaan penulisan JSON, ukuran file yang dihasilkanpun menjadi lebih ramping dibandingkan XML (karena terus mengulangi kata yang sama dalam tag-tag yang digunakan). Hal ini berimbas pada kecepatan loading transfer data, pertukaran data JSON lebih cepat jika dibandingkan dengan XML.
Oleh karena itu banyak situs-situs besar yang menggunakan JSON sebagai format pertukaran data. Sebagai contoh, twitter menyediakan API untuk digunakan pada situs pihak ketiga atau aplikasi pihak ketiga misalnya twitter client (tweetdeck dll).

Ukuran File

Banyaknya karakter yang digunakan dalam sebuah file akan mempengaruhi besarnya file yang dihasilkan. Karena XML adalah Markup language, pastinya terdapat kata-kata yang sama pada setiap tag yang digunakan. Berbeda dengan JSON yang hanya menggunakan tanda kurung kurawal sebagai pembeda data-datanya sehingga ukuran file JSON lebih kecil dibandingkan XML. Namun jika keduanya telah dicompress sebelum dikirimkan ukurannya tidak jauh berbeda.

Kecepatan Parsing

Parsing adalah proses pengenalan bagian-bagian terkecil dari suatu dokumen XML/JSON dan Proses parsing ini berlangsung didalam browser. Proses parsing dokumen JSON lebih sederhana, yakni dengan menggunakan fungsi javascript eva() sementara XML menggunakan XMLHttpRequest. Berdasarkan survey JSON lebih unggul dalam proses parsing ini.

Kesimpulan


Keberadaan JSON sebagai format pertukaran data baru tidak serta merta menghapus keberadaan XML yang sudah menjadi pendahulunya. Keduanya memiliki kelebihan dan kekurangan. Namun kini JSON telah didukung oleh berbagai bahasa pemrograman (proses parsing) sehingga memungkinkan penggunaan JSON lebih ramai dibandingkan dengan XML kedepannya. Pada akhirnya programmer sendirilah yang menentukan, apakah pakai JSON atau XML?

No comments:

Post a Comment