Download - Tutorial JSON.pdf

Transcript
Page 1: Tutorial JSON.pdf

Tutorial JSON Menggunakan Bahasa Pemrogaman PHP

Pengenalan JSONJSON (Javascript Object Notation) adalah salah satu format data yang sering digunakan untuk pertukaran data antar aplikasi. Format ini populerkarena sederhana dan mudah dibaca. Format ini pertama kali digunakan oleh bahasa pemrogaman Javascript.

Semua data dalam JSON adalah sebuah object yang merupakan pasangan key dan value . Contoh object sederhana

{'key':'value'}

Object dalam JSON selalu diawali { dan diakhiri } ;

Beberapa tipe data yang didukung oleh JSON

1. String2. Number (Double Precision)3. Boolean4. Array ( ditandai dengan [ dan ]

Contoh pemodelan data manusia menggunakan JSON

{ "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": 10021 }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ]}

Perhatikan pada bagian phoneNumbers . Object phoneNumbers merupakan array yang berisi 2 data lain.

Skenario TutorialDalam sebuah layanan web terdapat 2 komponen utama yaitu Server dan Client . Server bertugas memberikan data pada Client . Data dariServer nantinya adalah data mahasiswa sederhana (pada level produksi datanya ditarik dari database). Kemudian Client bertugas untukmenampilkan data dari Server . Pertukaran data dilakukan menggunakan format JSON.

Ilustrasi :

Page 2: Tutorial JSON.pdf

Tutorial 1 : Mengubah data menjadi JSON (mahasiswa_to_json.php)Dalam tutorial pertama ini kita akan mencoba mengubah data tabular (anggap data tabular ini dari database) menjadi sebuah data JSON. Fungsiyang akan kita gunakan untuk mengubah data menjadi data JSON adalah json_encode

Setiap kali kita mendapat data dari database, data tersebut dapat berupa object atau berupa array. Untuk dapat memnggunakan metodejson_encode data tersebut harus dirubah menjadi array terlebih dahulu.

Bentuk array dari baris pertama data tersebut adalah :

//Baris pertama$mahasiswa[0] = array('nama'=>'Todi','NIM'=>'923324','jenis_kelamin'=>'Laki');

Perhatikan bahwa kita memerlukan associative array yang memetakan nama kolom dan valuenya. ( 'nama'=>'Todi' ). Kode lengkap untukmerubah data tabular menjadi array adalah :

//definisikan dahulu array mahasiswa$mahasiswa = array();

//Baris pertama$mahasiswa[0] = array('nama'=>'Todi','NIM'=>'923324','jenis_kelamin'=>'Laki');

//Baris kedua$mahasiswa[1] = array('nama'=>'Ney','NIM'=>'923455','jenis_kelamin'=>'Perempuan');

Harap diingat untuk tiap baris data kita perlu menambah index pada array mahasiswa .

Setelah kita selesai mengubah data tabular tadi menjadi array maka untuk merubah data tersebut menjadi json kita cukup memanggil :

echo json_encode($mahasiswa);

Contoh hasil eksekusi kode diatas adalah :

[{"nama":"Todi","NIM":"923324","jenis_kelamin":"Laki"},{"nama":"Ney","NIM":"923455","jenis_kelamin":"Perempuan"}]

Tutorial 2 : Mengubah data kompleks menjadi JSON (mahasiswa_to_json_2.php)Jika satu mahasiswa mempunyai beberapa keahlian, maka tabel pada tutorial pertama tersebut akan berubah menjadi :

Page 3: Tutorial JSON.pdf

Kolom keahlian merupakan data array, sehingga dapat kita tulis menjadi :

$mahasiswa[0] = array('nama'=>'Todi', 'NIM'=>'923324', 'jenis_kelamin'=>'Laki', 'keahlian'=> array('PHP','Java','CSS') );

Perhatikan bahwa pada key keahlian isinya juga berupa array.

Kode lengkap dapat dilihat di file mahasiswa_to_json_2.php . File ini akan menjadi file Server dalam tutorial 3.

hasil akhir yang diharapkan adalah :

[{"nama":"Todi","NIM":"923324","jenis_kelamin":"Laki","keahlian":["PHP","Java","CSS"]},{"nama":"Ney","NIM":"923455","jenis_kelamin":"Perempuan","keahlian":["CSS","HTML5"]}]

Tutorial 3 : Mengakes data Server dari client. (simple_server.php)Jika diasumsikan file mahasiswa_to_json_2.php terletak pada url http://127.0.0.1/json_sample/ maka alamat penuh file tersebut adalahhttp://127.0.0.1/json_sample/mahasiswa_to_json_2.php . Pada tutorial ke-3 ini kita akan mengakses file tersebut dan men-parse data json yangada kembali menjadi array php.

Pustaka CURL dapat di-inisiasi dengan syntax berikut ini :

//ubahlah url sesuai dengan kebutuhan$url = "http://127.0.0.1/json_sample/php_to_json_2.php";

//Format Header$options = array( "http" => array( "method" => "GET" ) );$result = file_get_contents($url, false, stream_context_create($options));

Jika kita perhatikan pada potongan kode diatas. Kita dapat mengatur parameter-parameter penting dalam variabel options. Misalnya :

1. Method, jenis request HTTP yang di-inginkan (GET, POST, PUT ,DELETE)2. Content ( Parameter data yang akan dikirim)

Ingat data dari server pada url http://127.0.0.1/json_sample/mahasiswa_to_json_2.php menggunakan format JSON.Sehingga kita perlu mengkovert data pada variabel $result tersebut menjadi array PHP.

Perintah ini dapat dilakukan dengan syntax berikut :

$php_array = json_decode($result);

Hasil akhir dari tutorial ini adalah :

Page 4: Tutorial JSON.pdf

Tutorial 4 : Mengakses data server dengan parameter tambahan.File tutorial :1. server_parameter.php2. client_parameter.php

Dalam sebuah layanan adakalanya web data yang diminta ke server disertai dengan parameter tertentu. Misalnya bagaimana jika kita inginmengambil data mahasiswa tetapi hanya yang memiliki id = 1 ?

Hal ini dapat dilakukan dengan mengatur parameter data yang ada pada request header. Jika kita tulis dalam bentuk url maka kira-kira bentuknyaakan seperti ini : http://127.0.0.1/json_sample/server_parameter.php?id=1 .

Amatilah bagaimana parameter id=1 disisipkan dalam request.

Pada file server_parameter.php yang merupakan turunan dari simple_server.php kita cukup mengubah url yang ada menjadi :http://127.0.0.1/json_sample/server_parameter.php?id=1 .

//ubahlah url sesuai dengan kebutuhan$url = "http://127.0.0.1/json_sample/client_parameter.php?id=1";

//Format Header$options = array( "http" => array( "method" => "GET" ) );$result = file_get_contents($url, false, stream_context_create($options));

Bagian client_parameter.php adalah pengembangan dari file php_to_json_2.php . Hal yang perlu dilakukan pada file ini adalah membuat limitasiterhadap data yang ditampilkan.

Karena server mengirimkan parameter $_GET['id'] maka kita dapat memfilter data array dengan cara seperti ini :

echo json_encode($mahasiswa[$_GET['id']]);

Sehingga jika kita mengirimkan request http://127.0.0.1/json_sample/server_parameter.php?id=1 maka hanya akan tampil mahasiswa denganindex = 1 , yaitu :

{"nama":"Ney","NIM":"923455","jenis_kelamin":"Perempuan","keahlian":["CSS","HTML5"]}

Page 5: Tutorial JSON.pdf

Top Related