Serialisasi: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Kenrick95Bot (bicara | kontrib)
k Bot: Penggantian teks otomatis (-detil +detail); kosmetik perubahan
InternetArchiveBot (bicara | kontrib)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8
 
(7 revisi perantara oleh 7 pengguna tidak ditampilkan)
Baris 1:
Dalam konteks penyimpanan dan transmisi data pada [[ilmu komputer]], '''serialisasi''' adalah proses pengubahan suatu [[objek (komputer)|objek]] menjadi urutan [[bit]] agar dapat disimpan pada media penyimpanan (seperti [[berkas komputer]], atau pada [[memori]]) atau ditransmisikan melalui saluran koneksi [[jaringan (komputer)|jaringan]].<ref>[http://www.parashift.com/c++-faq-lite/serialization.html What's this "serialization" thing all about?]</ref> Sewaktu rangkaian bit ini dibaca ulang sesuai dengan format serialisasinya, ia dapat digunakan untuk menciptakan [[klon]] identik [[semantis]] dari obyekobjek asalnya. Bagi banyak obyekobjek kompleks, misalnya obyekobjek yang banyak menggunakan rujukan, proses ini tidak dapat dilakukan begitu saja.
 
Proses serialisasi suatu obyekobjek ini dapat juga disebut pengempisan (''deflating'') atau penyusunan (''marshalling'') obyekobjek. Operasi kebalikannya, pembuatan [[struktur data]] dari rangkaian [[bita]], adalah deserialisasi, atau disebut juga penggembungan (''inflating'') atau pembongkaran (''unmarshalling'') obyekobjek.<ref>[http://support.microsoft.com/kb/301116/en-us How to marshal an object to a remote server by value by using Visual Basic 2005 or Visual Basic .NET]</ref>
 
== Penggunaan ==
Baris 10:
* 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 seringkalisering 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.
Baris 22:
== Pranala luar ==
Untuk platform ASP.NET:
* [http://www.studentacad.com/post/2009/12/31/JSON-Hijacking-and-How-ASPNET-AJAX-10-Avoids-these-Attacks.aspx Serialize Any ASP.NET Object to a JSON String]{{Pranala mati|date=Mei 2021 |bot=InternetArchiveBot |fix-attempted=yes }}
* [http://www.studentacad.com/post/2009/11/26/aspnet-Callback-technique-using-csharp.aspx aspnet Callback technique using csharp] {{Webarchive|url=https://web.archive.org/web/20091206070423/http://studentacad.com/post/2009/11/26/aspnet-Callback-technique-using-csharp.aspx |date=2009-12-06 }}
 
Bahasa pemrograman Java:
* [http://java.sun.com/j2se/1.4.2/docs/guide/serialization/index.html Java 1.4 Object Serialization documentation].
* [http://beginner-java-tutorial.com/object-serialization.html Java Object Serialization] {{Webarchive|url=https://web.archive.org/web/20071112193550/http://www.beginner-java-tutorial.com/object-serialization.html |date=2007-11-12 }}
* [http://www.macchiato.com/columns/Durable4.html Durable Java: Serialization] {{Webarchive|url=https://web.archive.org/web/20051125013312/http://www.macchiato.com/columns/Durable4.html |date=2005-11-25 }}
* [http://rpbourret.com/xml/XMLDataBinding.htm XML Data Binding Resources]
* [http://joafip.sourceforge.net/ JOAFIP serialization in file and more...]
* [http://dev.simantics.org/index.php/Org.simantics.databoard Databoard]
* [http://code.google.com/p/kryo/ Kryo]
 
Bahasa pemrograman C:
* [http://s11n.net/c11n/ c11n]
* [http://tpl.sourceforge.net/ tpl] {{Webarchive|url=https://web.archive.org/web/20110724080340/http://tpl.sourceforge.net/ |date=2011-07-24 }}
 
Bahasa pemrograman C++:
Baris 42:
* [http://www.boost.org/libs/serialization/doc/index.html Boost Serialization]
* [http://s11n.net/ s11n]
* [http://www.sweetsoftware.co.nz/persist_overview.php Sweet Persist] {{Webarchive|url=https://web.archive.org/web/20110724194412/http://www.sweetsoftware.co.nz/persist_overview.php |date=2011-07-24 }}
* [http://webebenezer.net C++ Middleware Writer]
 
Bahasa pemrograman PHP:
* [http://www.amcgowan.ca/blog/computer-science/object-serialization-in-php/ Object Serialization in PHP] {{Webarchive|url=https://web.archive.org/web/20100607081311/http://www.amcgowan.ca/blog/computer-science/object-serialization-in-php/ |date=2010-06-07 }}
* [http://www.unserialize.net/ Online serialize & unserialize tool with recovering capacities. Other resources about PHP serialization]
* [http://www.shauninman.com/archive/2008/01/08/recovering_truncated_php_serialized_arrays Recovering Truncated PHP Serialized Arrays]
Baris 57:
[[Kategori:Struktur data]]
[[Kategori:Format serialisasi data| ]]
 
[[als:Serialisierung]]
[[ca:Serialització]]
[[cs:Serializace]]
[[de:Serialisierung]]
[[en:Serialization]]
[[es:Serialización]]
[[fr:Sérialisation]]
[[gl:Serialización]]
[[it:Serializzazione]]
[[ja:シリアライズ]]
[[nl:Serialisatie]]
[[pl:Serializacja]]
[[pt:Serialização]]
[[ru:Сериализация]]
[[sk:Marshalling]]
[[uk:Серіалізація]]
[[zh:序列化]]