What is Serialization & Deserialization
Serialization adalah suatu proses mengubah objek menjadi byte stream, agar bisa disimpan dalam file, memori ataupun berguna dalam proses transmisi jaringan.Sedangkan Deserialization adalah kebalikan dari proses Serialization.
Dalam proses serialization dan deserialization di Java, ada dua kelas yang sangat berperan penting yaitu :
- kelas ObjectOutputStream.
- kelas ObjectInputStream.
Program Java Serialization
Untuk membuat program Java Serialization, hal pertama yang harus dilakukan adalah membuat kelas di Java yang mau di-serialization kan.Di bawah ini adalah kelas Karyawan yang mau di-serialization kan.
Ingat !. Kelas yang mau di-serialisasi haru mengimplements java.io.Serializable.
Nama File : Karyawan.java
package com.nursalim.zone.java.serialization;Langkah selanjutnya, adalah membuat kelas untuk proses mengubah objek karyawan menjadi byte stream. Anda bisa lihat contoh program di bawah ini.
import java.io.Serializable;
import java.util.Date;
public class Karyawan implements Serializable {
/**
*
*/
private static final long serialVersionUID = -5800843163467281306L;
private String nama;
private String gender;
private String tempatLahir;
private Date tanggalLahir;
public Karyawan(String nama, String gender, String tempatLahir, Date tanggalLahir){
this.nama = nama;
this.gender = gender;
this.tempatLahir = tempatLahir;
this.tanggalLahir = tanggalLahir;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getTempatLahir() {
return tempatLahir;
}
public void setTempatLahir(String tempatLahir) {
this.tempatLahir = tempatLahir;
}
public Date getTanggalLahir() {
return tanggalLahir;
}
public void setTanggalLahir(Date tanggalLahir) {
this.tanggalLahir = tanggalLahir;
}
public String toString(){
StringBuffer sb = new StringBuffer();
sb.append("Karyawan");
sb.append("{");
sb.append("nama=").append(nama);
sb.append(",gender=").append(gender);
sb.append(",tempatLahir=").append(tempatLahir);
sb.append(",tanggalLahir=").append(tanggalLahir);
sb.append("}");
return "";
}
}
Nama File : SerializationDemo.java
package com.nursalim.zone.java.serialization;Output.
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class SerializationDemo {
public static void main(String[] args) {
Karyawan karyawan = new Karyawan("Nursalim", "L", "Brebes",
new java.util.Date());
FileOutputStream fos;
try {
fos = new FileOutputStream("D:\\serialisasi\\karyawan.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(karyawan);
oos.flush();
System.out.println("success");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Coba compile dan jalakan program SerializationDemo.java, kalau tidak error, maka akan membuat file karyawan.txt seperti gambar dibawah ini.
Program Java Deserialization
Di bawah ini adalah program Java untuk men-deserialisasi file karyawan.txt menjadi objek karyawan.Nama File : DeserializationDemo.java
package com.nursalim.zone.java.serialization;Output.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
public class DeserializationDemo {
public static void main(String[] args) throws ClassNotFoundException{
ObjectInputStream in;
try {
in = new ObjectInputStream(new FileInputStream("D:\\serialisasi\\karyawan.txt"));
Karyawan karyawan=(Karyawan)in.readObject();
System.out.println(karyawan.getNama());
System.out.println(karyawan.getGender());
System.out.println(karyawan.getTempatLahir());
System.out.println(karyawan.getTanggalLahir());
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Coba anda compile dan jalankan program DeserializationDemo.java diatas, jika tidak ada error maka akan tampil output seperti gambar dibawah ini.
Sekian tutorial singkat tentang Bagaimana Cara Serialisasi dan Deserialisasi Objek di Java. Semoga bermanfaat & Happy Learning. :)
Tidak ada komentar:
Posting Komentar