Contoh Program Serialisasi pada Java dan Hasil Programnya
• Class GameCharacter
import java.io.*;public class GameCharacter implements Serializable
//merupakan kelas yang akan diserialisasi
{
int power;
//membuat variabel power dengan tipe data integer
String type;
//membuat variabel type dengan tipe data string
String[] weapons;
//membuat array weapns dengan tipe data string
public GameCharacter(int p, String t, String[] w)
//pengkapsulan method untuk mencegah crash jika terjadi kesalahan
{
power = p;
//Memasukkan nilai variabel p ke power
type = t;
//Memasukkan nilai variabel t ke type
weapons = w;
//Memasukkan nilai variabel w ke weapons
}
public int getPower(){
return power;
//mengembalikan nilai power agar dapat ditampilkan
}
public String getType(){
return type;
//mengembalikan nilai type agar dapat ditampilkan
}
public String getWeapons(){
String weaponList = "";
for(int i = 0; i < weapons.length; i++)
//perulangan yang dilakukan selama nilai i lebih kecil dari weapon.length
{
weaponList += weapons[i]+" ";
}
return weaponList;
//mengembalikan nilai weaponList
}
}
• Class SerializedWriter
import java.io.*;public class SerializedWriter
//kelas yang berfungsi penulis serialisasi
{
public static void main (String[]args){
GameCharacter one = new GameCharacter(50, "Elf", new String[] {"bow", "sword", "dust"});
//membuat instansiasi Game Character dengan objek one beserta isi konstruktornya
GameCharacter two = new GameCharacter(200, "Troll", new String[] {"bare hand", "big axe"});
//membuat instansiasi Game Character dengan objek two beserta isi konstruktornya
GameCharacter three = new GameCharacter(120, "Magician", new String[] {"spells", "invisibility"});
//membuat instansiasi Game Character dengan objek three beserta isi konstruktornya
try{
//pengkapsulan method untuk mencegah crash jika terjadi kesalahan
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("Game.ser"));
//membuat object output stream dengan nama os.
os.writeObject(one);
//menulis objek one pada game.ser
os.writeObject(two);
//menulis objek two pada game.ser
os.writeObject(three);
//menulis objek three pada game.ser
os.close();
//menutup objectoutputstream
}
catch(IOException ex){
ex.printStackTrace();
//hasil yang ditampilkan jika terjadi error
}
}
}
• Class SerializedReader
import java.io.*;public class SerializedReader
//kelas yang berfungsi sebagai pembaca kelas serialisasi
{
public static void main (String[] args){
try{
//pengkapsulan method untuk mencegah crash jika terjadi kesalahan
ObjectInputStream is = new ObjectInputStream(new FileInputStream("Game.ser"));
//membuat objek objectinputstream dengan nama is
GameCharacter oneRestore = (GameCharacter) is.readObject();
//membuat instasiasi objek oneRestore character untuk menampung objek pertama serialisasi
GameCharacter twoRestore = (GameCharacter) is.readObject();
//membuat instasiasi objek twoRestore character untuk menampung objek kedua serialisasi
GameCharacter threeRestore = (GameCharacter) is.readObject();
//membuat instasiasi objek oneRestore character untuk menampung objek ketiga serialisasi
System.out.println("One's type: " + oneRestore.getType());
//memanggil method gettype dari class GameCharacter
System.out.println("One's power: " + oneRestore.getPower());
//memanggil method getpower dari class GameCharacter
System.out.println("One's weapons: " + oneRestore.getWeapons());
//memanggil method getweapon dari class GameCharacter
System.out.println("two's type: " + twoRestore.getType());
//memanggil method gettype dari class GameCharacter
System.out.println("three's type: " + threeRestore.getType());
//memanggil method gettype dari class GameCharacter
}
catch (Exception ex){
ex.printStackTrace();
//hasil yang ditampilkan jika terjadi error
}
}
}
• class SerializedReaderCont
import java.io.*;public class SerializedReaderCont
//kelas yang berfungsi sebagai pembaca kelas serialisasi
{
public static void main (String[] args){
try{
//pengkapsulan method untuk mencegah crash jika terjadi kesalahan
ObjectInputStream is = new ObjectInputStream(new FileInputStream("Game.ser"));
//membuat objek objectinputstream dengan nama is
boolean check = true;
//membuat boolean check yang nilainya true
int cnt = 1;
//membuat variabel cnt yang bernilai 1
while(check){ //selama keadaan benar makan..
try{ //pengkapsulan method untuk mencegah crash jika terjadi kesalahan
GameCharacter obj = (GameCharacter)is.readObject();
//membuat objek obj untuk menampung hasil pembacaan object.
System.out.println("Character "+cnt);
//menampilkan nilai cnt pada layar
System.out.println("Character's type "+obj.getType());
//menampilkan nilai type pada layar
System.out.println("Character's power "+obj.getPower());
//menampilkan nilai power pada layar
System.out.println("Character's weapon "+obj.getWeapons());
//menampilkan nilai weapons pada layar
cnt = cnt +1;
}catch(EOFException ex){
check = false;
//hasil yang ditampilkan jika terjadi error
}
}
}
catch (Exception ex){
ex.printStackTrace();
//hasil yang ditampilkan jika terjadi error
}
}
}