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.[1] 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.[2]

Penggunaan

sunting

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

sunting

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

sunting

Pranala luar

sunting

Untuk platform ASP.NET:

Bahasa pemrograman Java:

Bahasa pemrograman C:

Bahasa pemrograman C++:

Bahasa pemrograman PHP:

Sistem serialisasi multi bahasa pemrograman:

📚 Artikel Terkait di Wikipedia

Komputasi terdistribusi

portal Remote procedure call — This high-level communication mechanism allows processes on different machines to communicate using procedure calls even

Daemon

adalah init (PPID=1). Daemon, pada umumnya menggunakan protokol Remote Procedure Call (RPC) untuk membuka koneksi dengan klien. Dalam keluarga Windows

Windows service

service yang terdapat di dalam Windows NT telah mendukung protokol Remote Procedure Call (RPC) dan dapat dipanggil dari komputer jarak jauh melalui jaringan

Sistem informasi jaringan

dapat berkomunikasi dengan NIS Server dengan menggunakan protokol Remote Procedure Call yang berjalan di atas protokol lapisan transport User Datagram Protocol

Paket protokol internet

system komputer yang sama dan ada pula yang menggunakan sistem Remote Procedure Call (RPC), yang memungkinkan program untuk memanggil subrutin yang akan

Sistem berkas jaringan

berkas remote tersebut merupakan sistem berkas yang dimiliki oleh klien secara lokal. NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang

REST

prinsip-prinsip REST, tetapi sebaliknya mengikuti model dari RPC (remote procedure call). Perbedaan penggunaan istilah REST ini cukup menyebabkan permasalahan

Server Message Block

beberapa transaksi dalam lingkungan aplikasi terdistribusi. Protokol Remote Procedure Call (RPC) dapat digunakan melalui SMB dan SMB juga mendukung beberapa