- Source: Serialisasi
Dalam konteks penyimpanan dan transmisi data pada ilmu komputer, serialisasi adalah proses pengubahan suatu objek menjadi urutan bit agar dapat disimpan pada media penyimpanan (seperti berkas komputer, atau pada memori) atau ditransmisikan melalui saluran koneksi jaringan. Sewaktu rangkaian bit ini dibaca ulang sesuai dengan format serialisasinya, ia dapat digunakan untuk menciptakan klon identik semantis dari objek asalnya. Bagi banyak objek kompleks, misalnya objek yang banyak menggunakan rujukan, proses ini tidak dapat dilakukan begitu saja.
Proses serialisasi suatu objek ini dapat juga disebut pengempisan (deflating) atau penyusunan (marshalling) objek. Operasi kebalikannya, pembuatan struktur data dari rangkaian bita, adalah deserialisasi, atau disebut juga penggembungan (inflating) atau pembongkaran (unmarshalling) objek.
Penggunaan
Serialisasi digunakan sebagai:
Cara untuk melakukan penyimpanan objek yang lebih mudah dibandingkan menuliskan properti atas objek-objek tersebut ke dalam berkas teks, dan mengembalikannya sebagai objek.
Salah satu proses yang dilakukan dalam pemanggilan prosedur jarak jauh (remote procedure call), contoh, SOAP
Salah satu cara untuk mendistribusikan objek, khususnya dalam arsitektur berbasis komponen, contoh, COM, CORBA, dan lain-lain.
Salah satu cara untuk mendeteksi perubahan data dalam satu periode waktu tertentu.
Agar fungsi serialisasi dapat memberikan manfaat seperti tujuan awalnya, arsitektur perangkat lunak yang berdasar pada ketidakbergantungan harus senantiasa dikelola secara konsisten. Sebagai contoh, untuk mendapatkan kegunaan maksimum saat perangkat lunak didistribusikan, komputer yang berjalan pada sistem operasi yang berbeda harus dapat pula melakukan rekonstruksi data yang telah terserialisasi tersebut secara reliabel. Serialisasi struktur data dalam arsitektur yang independen ditujukan untuk memungkinkan data tersebut secara reliabel dibaca, direkonstruksi secara mudah pada platform-platform sistem operasi lain. Hal ini berarti data yang berasal dari prosedur konvensional yang sederhana, berunjuk kerja tinggi, yang secara langsung menyalin blok-blok memori komputer biasanya tidak akan dapat digunakan pada arsitektur yang lain.
Kerugian
Meskipun serialisasi memungkinkan pertukaran data antar platform secara reliabel, namun pada implementasinya serialisasi ini melanggar batasan-batasan tipe data abstrak, sehingga sangat mungkin menyertakan pula tipe-tipe data yang bersifat spesifik. Di sisi lain aspek kerugian ini sering kali dimanfaatkan oleh perusahaan pembuat perangkat lunak untuk melindungi produk perangkat lunak buatan mereka serta menghalangi kompetitor membuat produk sejenis yang kompatibel. Beberapa perusahaan bahkan menambahkan metode pengacakan atau bahkan enkripsi atas hasil data serialisasi ini.
Hanya saja interoperabilitas mensyaratkan semua aplikasi harus bisa melakukan deserialisasi atau sebaliknya melakukan serialisasi dengan dengan menggunakan format yang sama, karenanya arsitektural pemanggilan prosedur jarak jauh (remote procedure call) ataupun CORBA secara detail menyertakan spesifikasi atas format yang digunakan.
Rujukan
Pranala luar
Untuk platform ASP.NET:
Serialize Any ASP.NET Object to a JSON String
aspnet Callback technique using csharp Diarsipkan 2009-12-06 di Wayback Machine.
Bahasa pemrograman Java:
Java 1.4 Object Serialization documentation.
Java Object Serialization Diarsipkan 2007-11-12 di Wayback Machine.
Durable Java: Serialization Diarsipkan 2005-11-25 di Wayback Machine.
XML Data Binding Resources
JOAFIP serialization in file and more...
Databoard
Kryo
Bahasa pemrograman C:
c11n
tpl Diarsipkan 2011-07-24 di Wayback Machine.
Bahasa pemrograman C++:
Serialization and Unserialization
Boost Serialization
s11n
Sweet Persist Diarsipkan 2011-07-24 di Wayback Machine.
C++ Middleware Writer
Bahasa pemrograman PHP:
Object Serialization in PHP Diarsipkan 2010-06-07 di Wayback Machine.
Online serialize & unserialize tool with recovering capacities. Other resources about PHP serialization
Recovering Truncated PHP Serialized Arrays
Sistem serialisasi multi bahasa pemrograman:
Google Protocol Buffers Developer Guide (C++, Java, Python)
Apache Avro
Kata Kunci Pencarian:
- Serialisasi
- Blue Box
- Noragami
- Akame ga Kill!
- One-Punch Man
- Erased (manga)
- Bocchi the Rock!
- Solo Leveling
- Sono Bisque Doll wa Koi o Suru
- Ijiranaide, Nagatoro-san