Serialisasi: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Luckas-bot (bicara | kontrib)
k r2.7.1) (bot Menambah: uk:Серіалізація
Jazle (bicara | kontrib)
pengembangan
Baris 1:
Dalam konteks penyimpanan dan transmisi data pada [[ilmu komputer]], '''serialisasi''' adalah proses pengubahan suatu [[obyek (komputer)|obyek]] menjadi urutan [[bit]] agar dapat bertahandisimpan pada [[media penyimpanan]] (seperti [[berkas komputer]], atau [[penyangga data]]) atau ditransmisikan melalui saluran koneksi [[jaringan (komputer)|jaringan]]. Sewaktu rangkaian bit ini dibaca ulang sesuai dengan format serialisasinya, ia dapat digunakan untuk menciptakan [[klona]] identik [[semantis]] dari obyek asalnya. Bagi banyak obyek kompleks, misalnya obyek yang banyak menggunakan rujukan, proses ini tidak dapat dilakukan begitu saja.
 
Proses serialisasi suatu obyek ini dapat juga disebut pengempisan (''deflating'') atau penyusunan (''marshalling'') obyek. Operasi kebalikannya, pembuatan [[struktur data]] dari rangkaian [[bita]], adalah deserialisasi, atau disebut juga penggembungan (''inflating'') atau pembongkaran (''unmarshalling'') obyek.
 
==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, [[Component Object Model|COM]], [[CORBA]], dan lain-lain.
* Salah satu cara untuk mendeteksi perubahan data dalam satu periode waktu tertentu.
 
Agar fitur serialisasi ini 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 arsitektur perangkat keras yang berbeda harus dapat melakukan rekonstruksi data yang telah terserialisasi secara reliabel. Hal ini berarti, prosedur yang sederhana dan berunjuk kerja tinggi yang secara langsung menyalin blok-blok memori komputer tidak akan dapat berjalan secara reliabel pada arsitektur yang lain. Serialisasi struktur data dalam arsitektur yang independen ditujukan untuk memungkinkan data tersebut secara reliabel dibaca, direkonstruksi secara mudah pada platform-platform sistem operasi yang didukung.
 
<!-- next chapter to be translated
Inherent to any serialization scheme is that, because the encoding of the data is by definition serial, extracting one part of the serialized data structure requires that the entire object be read from start to end, and reconstructed. In many applications this linearity is an asset, because it enables simple, common I/O interfaces to be utilized to hold and pass on the state of an object. In applications where higher performance is an issue, it can make sense to expend more effort to deal with a more complex, non-linear storage organization.
 
Even on a single machine, primitive [[Pointer (computing)|pointer]] objects are too fragile to save, because the objects to which they point may be reloaded to a different location in memory. To deal with this, the serialization process includes a step called ''[[unswizzling]]'' or ''pointer unswizzling'' and the deserialization process includes a step called ''[[pointer swizzling]]''.
 
Since both serializing and deserializing can be driven from common code, (for example, the ''Serialize'' function in [[Microsoft Foundation Classes]]) it is possible for the common code to do both at the same time, and thus 1) detect differences between the objects being serialized and their prior copies, and 2) provide the input for the next such detection. It is not necessary to actually build the prior copy, since differences can be detected "on the fly". This is a way to understand the technique called [[differential execution]]. It is useful in the programming of user interfaces whose contents are time-varying&nbsp;— graphical objects can be created, removed, altered, or made to handle input events without necessarily having to write separate code to do those things.
-------------- !>
 
{{komputer-stub}}