Home > Others > iPhone: JSON over HTTP a.k.a web service

iPhone: JSON over HTTP a.k.a web service

OK, lanjut lagi tentang iPhone2an ini :). Sekarang kita akan membahas bagaimana membaca file JSON (JavaScript Object Notation) melalui iPhone, JSON belakangan banyak digunakan selain XML sebagai format pertukaran data, JSON dikenal dengan format nya yang simple dan lightweight.

OK, langsung saja, misalkan kita mempunyai aplikasi dengan bagan sebagai berikut:

Sebagai contoh, dalam database (saya pake MySQL) kita memiliki sebuah table dengan nama person, yang mempunyai field id, nama, hobby, alamat. Nah, nantinya data ini akan di-fetch melalui PHP yang akan menampilkan data tersebut dalam format JSON, dan akhirnya kita membaca JSON melalui iPhone dengan mengakses PHP script tersebut, tentunya script PHP ini harus bisa diakses lewat internet.

Database
Pertama-tama kita akan men-setup database. Silahkan buat database dengan format seperti di atas, atau Anda dapat meng-import dari sql file yang ada dalam archive di bawah.

PHP
Sekarang kita akan mengambil data yang ada di database dengan melakukan query  database seperti biasa.
Kurang lebih koding nya seperti ini:

Hehe, koding nya koq gambar yah :D, (belum nemu php syntax highlighting buat WordPress nih). Tapi, tenang-tenang, PHP file nya juga bisa diambil dalam archive di bawah.

Nah, kalo kita jalankan, maka script kira2 akan mengeluarkan output seperti ini:

Ini adalah data yang kita ambil dari database dan ditampilkan dalam format array biasa. Selanjutnya kita akan mengubah bentuk data tersebut dari array menjadi format JSON dengan fungsi json_encode. Anda tinggal meng-uncomment bagian json_encode (baris ke 24), dan comment baris ke 19-21.

Hasil dari script tersebut kurang lebih seperti ini:
[{"id":"1","nama":"Azhari Harahap","hobby":"Tidur","alamat":"Bogor"},{"id":"2","nama":"Olivia Jansen Lubis","hobby":"Shopping","alamat":"Jakarta"}]

Bisa juga dilihat di halaman berikut ini: http://back2arie.capungriders.com/iphone/json.php

iPhone
Nah, sekarang kita tinggal mengambil data JSON yang sudah disediakan oleh PHP script/web services yang telah dibuat di atas.
Untuk memparsing JSON ini, kita membutuhkan library JSON json-framework. Silahkan download terlebih dahulu.
Sebagai catatan, kita tidak akan menampilkan data JSON tersebut di layar/view, tapi hanya akan di tampilkan di console window.

  1. Jalankan Xcode, buat New Project, View-based Application, beri nama JSON.
  2. Import library json-framework yang telah di download (hanya folder JSON nya saja), Anda bisa langsung men drag ‘n drop folder dari Finder ke bagian Classes pada Xcode, atau dengan meng-klik kanan pada bagian Classes, lalu Add –> Existing Files...Jangan lupa centang opsi Copy items into destination group’s folder.
    .
  3. Selanjutnya buka JSONViewController.h dan tambahkan NSMutableData *responseData di dalam bagian @interface, responseData nantinya akan dipakai untuk menyimpan raw data (data JSON yg belum di parsing) dari script PHP melalui URL connection.
    .

    .
  4. Selanjutnya buka JSONViewController.m, pada bagian atas, import header JSON library yang terletak di JSON/JSON.h

    .
    Lalu pada fungsi viewDidLoad ubah menjadi seperti berikut

    .
    Disini terlihat kita melakukan koneksi melalui URL ke script PHP yang telah kita buat sebelumnya. Selanjutnya berturut-turut tambahkan fungsi2 berikut:


    .
    didReceiveResponse mengindikasikan koneksi telah mendapat response dari URL connection yg dibentuk, dalam hal ini kita men-set panjang dari responseData menjadi 0.
    didReceiveData menandakan koneksi telah mendapatkan sejumlah dari URL connection, pada fungsi ini kita meng-append responseData dengan data yang diterima.
    didFailWithError menandakan kita gagal melakukan koneksi.

    Terakhir, tambahkan fungsi connectionDidFinishLoading, yang merupakan callbacks jika koneksi berhasil dan selesai di load.


    .
    Dalam hal ini, kita melakukan looping untuk setiap item dalam JSON (dalam contoh terdapat 2 item) dengan bantuan enumerator, lalu menampilkan nya ke debugger console.

OK, that’s all. Kalau ada yang salah2 mohon koreksi nya yah, soalnya saya masih newbie nih 😀

Eits, kaya nya kalo ga ada screenshot kurang mantep :p

Oiya, hampir kelupaan, source code nya (sql, php, dan iphone) bisa di download disini.

Advertisements
Categories: Others Tags:
  1. Bayu Indrayana
    April 22, 2010 at 10:14 am

    waahh menarik sekali mas ari, kapan2 beli iphone’y juga yah… jangan minjem teruss…kekekkkk

    becanda bos, LANJUTKAN!!!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: