Monday, 7 January 2013

Fungsi Serialize dan Unserialize

Pada kesempatan ini fungsi PHP yang akan saya coba bahas adalah Serialize dan Unserialize, fungsi ini adalah salah satu fungsi yang sering saya gunakan saat membuat aplikasi dengan bahasa PHP, karena fungsi ini sangat mudah penggunaannya dan besar manfaatnya.

Fungsi serialize akan mengubah bentuk suatu value menjadi bentuk lain tanpa mengubah type dan structur datanya. Dan untuk mengembalikan value ke bentuk semula dengan menggunakan fungsi unserialize.

Perhatikan contoh ini:

result:

//...array
a:3:{i:0;s:5:"sukma";i:1;s:6:"wijaya";i:2;s:7:"saputra";}

i:14000; //...int

s:20:"Sukma Wijaya Saputra"; //...string

Dari contoh dapat terlihat perubahan bentuk sebuah value ke bentuk lain dengan memanfaatkan fungsi serialize, hasil perubahan berupa text dengan beberapa kode huruf dan angka yang dipisahkan oleh tanda titik dua, setiap angka dan huruf ini memiliki arti atau sebagai indentitas dari sebuah value yang diubah.

Misal,

  • (int) 14000 diubah menjadi i:14000;, penjelasan dari huruf "i" didepan value "14000" berarti type value adalah integer.
  • (string) "Sukma Wijaya Saputra" diubah menjadi s:20:"Sukma Wijaya Saputra";, penjelasan dari huruf "s" adalah string lalu angka 20 adalah jumlah karakter dari value string tersebut.
  • array('sukma', 'wijaya', 'saputra') diubah menjadi a:3:{i:0;s:5:"sukma";i:1;s:6:"wijaya";i:2;s:7:"saputra";}, penjelasan dari huruf "a" adalah array dan angka 3 adalah jumlah index pada array, lalu setelah tanda kurung kurawal huruf "i" berarti index dengan diteruskan angka urutan dari index tersebut. Selanjutnya sama dengan penjelasan di poin 1 dan 2 dimana sesuai dengan type value.

Hasil dari generates fungsi serialize dapat diubah kembali dengan menggunakan fungsi unserialize, perhatikan contoh:

Cukup mudah bukan dalam penggunaannya, tapi sekarang pertanyaan yang muncul adalah "Bagaimana dalam implementasi/pemanfaatannya saat sedang development aplikasi?"

Pemanfaatan fungsi ini paling banyak adalah untuk penyimpanan data ke dalam database terutama data dengan type array(), dengan menggunakan fungsi serialize data array() dapat tersimpan ke dalam database pada satu field, sehingga kita tidap perlu memisahkan data array() menjadi field yang terpisah, dan mungkin akan membuat query kita lebih sederhana.

Demikian pembahasan salah satu fungsi di php yaitu serialize dan unserialize. Bila ada kekeliruan pada tulisan ini atau ingin menambahkan pembahasan saya, silakan koreksi dengan memberikan komen dibawah.

4 comments: