Bagaimana Cara Serialisasi dan Deserialisasi Objek di Java

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.
Selain itu, kelas yang mau di-serialization kan harus mengimplement interface java.io.Serializable.

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;

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 "";
	}
	
}

Langkah selanjutnya, adalah membuat kelas untuk proses mengubah objek karyawan menjadi byte stream. Anda bisa lihat contoh program di bawah ini.

Nama File : SerializationDemo.java

package com.nursalim.zone.java.serialization;

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();
		}

	}
}

Output.

Coba compile dan jalakan program SerializationDemo.java, kalau tidak error, maka akan membuat file karyawan.txt seperti gambar dibawah ini.

Serialization dan Deserialization di Java

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;

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();
		}  

	}
}

Output.

Coba anda compile dan jalankan program DeserializationDemo.java diatas, jika tidak ada error maka akan tampil output seperti gambar dibawah ini.

Serialisasi dan Deserialisasi Objek di Java


Sekian tutorial singkat tentang Bagaimana Cara Serialisasi dan Deserialisasi Objek di Java. Semoga bermanfaat & Happy Learning. :)

Bagaimana Cara Membuat File XML Menggunakan DOM Parser

Apa Itu XML?

XML adalah salah satu jenis dokumen yang digunakan untuk pertukaran data terutama dalam aplikasi Web Service.

Ketika sebuah request dikirim oleh client/browser ke web service, maka request tersebut harus diubah menjadi XML, begitu juga sebaliknya ketika sebuah response dikirim oleh web service ke client, maka response message juga harus dalam bentuk XML.

Untuk mengolah (membuat atau membaca) sebuah dokumen XML, diperlukan sebuah XML Parser. Salah satu XML Parser yang sangat simple dan sederhana adalah menggunakan DOM Parser.

Apa itu DOM Parser?

DOM (Document Object Model) Parser adalah salah satu metode untuk memanipulasi XML. Ada banyak metode lain selain DOM Parser, yaitu SAX dan JDOM. Insya Allah, kalau ada waktu kita akan bahas lebih dalam tentang metode-metode tersebut.

Contoh Program

Di bawah ini adalah contoh sederhana program Java untuk membuat file XML Menggunakan DOM Parser.

Nama File : WriteXMLDOMParserDemo.java

package com.nursalim.zone.java.xml;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class WriteXMLDOMParserDemo {
    public static void main(String[] args){
	try{
			
	   // Step 1 : Membuat objek dokumen builder
			
	   DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
	   DocumentBuilder documentBuilder = docBuilderFactory.newDocumentBuilder();
	 
	   // Step 2 : Membuat element root
	   Document document = documentBuilder.newDocument();
	   Element rootElement = document.createElement("karyawan");
	   document.appendChild(rootElement);
	 
	   // Step 3 : Membuat element Programmer
	   Element programmer = document.createElement("programmer");
	   rootElement.appendChild(programmer);
	 
			
	   // Step 4 : Membuat atribut NIK buat programmer
	   Attr attr = document.createAttribute("nik");
	   attr.setValue("20081090");
	   programmer.setAttributeNode(attr);
	 
	   // Step 5 : Membuat element-element lainnya yg dibutuhkan 
	   // Membuat element Nama
	   Element nama = document.createElement("nama");
	   nama.appendChild(document.createTextNode("Nursalim"));
	   programmer.appendChild(nama);
	 
	   // Membuat element Jenis Kelamin
	   Element gender = document.createElement("gender");
	   gender.appendChild(document.createTextNode("Laki-Laki"));
	   programmer.appendChild(gender);
	 
	   // Membuat element Tempat Lahir
	   Element tempatLahir = document.createElement("alamat");
	   tempatLahir.appendChild(document.createTextNode("Brebes"));
	   programmer.appendChild(tempatLahir);
	 
	   // Membuat elemen keahlian
	   Element keahlian = document.createElement("keahlian");
	   keahlian.appendChild(document.createTextNode("Java"));
	   programmer.appendChild(keahlian);
	 
	   // Menulis isi atau konten ke file
	   TransformerFactory transformerFactory = TransformerFactory.newInstance();
	   Transformer transformer = transformerFactory.newTransformer();
	   DOMSource source = new DOMSource(document);
	   StreamResult result = new StreamResult(new File("D:\\xml\\programmer.xml"));
	 
	   // Jika output melalui konsole
	   // StreamResult result = new StreamResult(System.out);
	 
	   transformer.transform(source, result);
	 
	   System.out.println("File XML berhasil dibuat !");
	}catch(ParserConfigurationException ex){
	   ex.printStackTrace();
	}catch(TransformerException ex){
	   ex.printStackTrace();
	}
    }
}

Output

Coba anda jalankan program diatas, apabila tidak ada error, maka akan membuat sebuah file xml seperti gambar di bawah ini.

Membuat File XML Menggunakan DOM Parser

Membuat File XML Menggunakan DOM Parser

Sekian tutorial sederhana Bagaimana Cara Membuat File XML Menggunakan DOM Parser. Semoga bermanfaat & Happy Learning. :)

Bagaimana Cara Instalasi Apache Tomcat 6.x di Windows

Apache Tomcat adalah salah satu web server atau servlet container yang banyak digunakan sebagai web server untuk aplikasi Java berbasis web, misalkan JSP (Java Server Pages), Servlet, JSF (Java Server Faces), dan sebagainya.



Apache Tomcat dikembangkan oleh Apache Foundation. Apache Tomcat merupakan web server yang bersifat open source.

Di bawah ini step by step cara instalasi Apache Tomcat di Windows
  1. Instalasi JDK

    Sebelum proses instalasi Apache Tomcat dilakukan, hal pertama yang harus dilakukan adalah meng-install Java atau JDK di Windows. Untuk Apache Tomcat 6.x mengharuskan untuk meng-install JDK versi 5 atau yang lebih tinggi.

    Silahkan anda baca tutorial saya tentang Langkah-Langkah Instalasi Java di Windows.

  2. Download Apache Tomcat

    Langkah kedua adalah download software Apache Tomcat 6.x di situs resminya, yaitu http://tomcat.apache.org/download-60.cgi.

    Download sesuai dengan jenis OS Windows anda (32 bit atau 64 bit). Ada 2 versi yaitu versi Installer dan versi Zip (Extract). Silahkan anda pilih sesuai dengan keinginan anda.

  3. Instalasi Apache Tomcat

    Karena ada dua jenis installer, untuk yang versi zip, Anda cukup meng-ekstract Apache Tomcat di direktori Windows anda, misalkan di C:\apache\Tomcat6. Untuk yang versi Installer, silahkan anda double click file installer (.exe). Langkah selanjutnya, anda tinggal ikuti instruksi selanjutnya.

  4. Menjalankan Apache Tomcat

    Untuk menjalankan Apache Tomcat 6.x. Caranya mudah, anda tinggal buka Command Prompt (cmd) kemudian masuk ke directori tempat instalasi Apache Tomcat, misalkan di C:\apache-tomcat-6.0.37 > bin. Kemudian ketikkan startup.bat dan tekan enter.

    C:\apache-tomcat-6.0.37\bin>startup.bat
    

    Untuk membuktikan apakah Apache Tomcat sudah terinstall dengan benar, silahkan anda buka browser kesayangan anda, kemudian ketikkan http://localhost:8080 pada URL toolbar. Apabila berhasil, maka akan keluar tampilan seperti gambar di bawah ini.



Sekian tutorial tentang Langkah-Langkah Instalasi Apache Tomcat 6.x di Windows. Semoga bermanfaat & Happy Learning.

Cara Membuat Program Aplikasi Hello World Menggunakan Log4J

Tools


Tools yang digunakan untuk membuat Program Aplikasi Hello World Log4J, yaitu :
  • Editor Java (Disini saya menggunakan Eclipse)
  • Log4J Library (log4j-1.2.17.jar)

    Anda bisa mendownload libary Log4J pada situs resminya, yaitu di http://logging.apache.org/log4j/2.0/download.html.

    Setelah anda download dan ekstrak file hasil download, langkah selanjutnya adalah copy file log4j-xxx.jar ke folder lib di eclipse seperti gambar yang ada di Project Structure. Dan Jangan lupa configure build path agar file jar bisa dibaca/di import oleh program.

Project Structure

Buatlah project di Eclipse Editor, dengan struktur seperti dibawah ini.



Log4J.properties


Buatlah file konfigurasi Log4J yaitu log4j.properties di bawah src folder di Eclipse.

Nama File : log4j.properties.

# Root logger option
log4j.rootLogger=DEBUG, stdout, file
 
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\log4j\\application.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Program Java

Buatlah program Java untuk membuat aplikasi Hello World Log4J.

Nama File : HelloLog4JDemo.java

import org.apache.log4j.Logger;


public class HelloLog4JDemo {
	final static Logger logger = Logger.getLogger(HelloLog4JDemo.class);
	public static void main(String[] args){
		
		String helloWorld = "Hello World";
		
		if(logger.isDebugEnabled()){
			logger.debug("This is debug : " + helloWorld);
		}
 
		if(logger.isInfoEnabled()){
			logger.info("This is info : " + helloWorld);
		}
 
		logger.warn("This is warn : " + helloWorld);
		logger.error("This is error : " + helloWorld);
		logger.fatal("This is fatal : " + helloWorld);
	}
}


Running


Membuat Program Hello World Log4J


Sekian tutorial singkat tentang Cara Membuat Program Aplikasi HelloWorld Menggunakan Log4J. Semoga bermanfaat & Happy Coding.

Contoh Program Integrasi Hibernate ORM + Oracle 11g Menggunakan XML Mapping

Persiapan

Sebelum m emulai membuat program Integrasi Hibernate ORM dengan Oracle 11g, ada beberapa tools yang dipersiapkan, yaitu :
  • Oracle Database 11g
  • JDK (Java Development Kit)
  • Hibernate 4.xx or Higher
  • IDE for Java (Eclipse / NetBeans)
Program yang nanti kita buat yaitu aplikasi Insert Data di Oracle 11g menggunakan Hibernate.

Langkah-Langkah


Di bawah ini adalah langkah-langkah dalam membuat aplikasi Insert Data di Oracle database menggunakan hibernate
  • Instalasi Tools yang telah dipersiapkan, meliputi : Instalasi JDK, Instalasi Oracle Database 11g, dan IDE for Java. Untuk IDE, disini kita menggunakan Eclipse
  • Tambahkan library/jar yang dibutuhkan untuk membuat aplikasi ke dalam build path Eclipse.
  • Buat table di database Oracle 11g.
  • Membuat Project Baru di Eclipse
  • Membuat Kelas Model/POJO (Mahasiswa.java) dan Hibernate Mapping File (mahasiswa.hbm.xml)
  • Membuat File Hibernate Configuration File (hibernate.cfg.xml)
  • Membuat Kelas HibernateUtil.java
  • Membuat Program CRUD (MahasiswaCRUD.java)
  • Jalankan Program yang telah dibuat
Langkah-langkah diatas, akan kita bahas lebih detail seperti dibawah ini:

Instalasi JDK, Oracle, dan Eclipse

Silahkan anda install terlebih dahulu JDK, Oracle Database 11g, dan Eclipse IDE. Pada tahapan kali ini, saya tidak menguraikan secara detail tentang instalasi ini.

Tambahkan Library/JAR

Tambahkan library-libary di bawah ini, dan masukkan ke dalam Build Path di Eclipe.
  • antlr-2.7.7.jar
  • dom4j-1.6.1.jar
  • hibernate-commons-annotations-4.0.5.Final.jar
  • hibernate-core-4.3.6.Final.jar
  • hibernate-jpa-2.1-api-1.0.0.Final.jar
  • jandex-1.1.0.Final.jar
  • javassist-3.18.1-GA.jar
  • jboss-logging-3.1.3.GA.jar
  • jboss-logging-annotations-1.2.0.Beta1.jar
  • jboss-transaction-api_1.2_spec-1.0.0.Final.jar
  • ojdbc6.jar

Membuat Table Mahasiswa

Dibawah ini adalah script table Mahasiswa.sql untuk membuat table Mahasiswa di Oracle Database.

Nama file : tbl_mahasiswa.sql

CREATE TABLE AKADEMIK.mahasiswa
(
  npm            VARCHAR2(10),
  nama           VARCHAR2(50),
  alamat         VARCHAR2(100),
  gender         CHAR(1),
  tempat_lahir   VARCHAR2(50),
  tanggal_lahir  DATE,
  ipk            NUMBER(3,2)
)

ALTER TABLE AKADEMIK.mahasiswa ADD (
  CONSTRAINT mahasiswa_PK
  PRIMARY KEY
  (ipk)
  ENABLE VALIDATE);

Membuat Project Baru

Buat project baru di Eclipse kesayangan anda, klik File > New > Java Project. Isi nama project misalkan "HIBERNATE".

Integrasi Hibernate dengan Oracle 11g

Membuat Kelas Mahasiswa

Buatlah kelas POJO Mahasiswa.java dan tempatkan di package com.nursalim.zone.hibernate, seperti di bawah ini

File Name : Mahasiswa.java


package com.nursalim.zone.hibernate;

import java.util.Date;

public class Mahasiswa {
 
 private String npm;
 private String nama;
 private String alamat;
 private String gender;
 private Date tanggalLahir;
 private String tempatLahir;
 private double ipk;
 
 public String getNpm() {
  return npm;
 }
 public void setNpm(String npm) {
  this.npm = npm;
 }
 public String getNama() {
  return nama;
 }
 public void setNama(String nama) {
  this.nama = nama;
 }
 public String getAlamat() {
  return alamat;
 }
 public void setAlamat(String alamat) {
  this.alamat = alamat;
 }
 public String getGender() {
  return gender;
 }
 public void setGender(String gender) {
  this.gender = gender;
 }
 public Date getTanggalLahir() {
  return tanggalLahir;
 }
 public void setTanggalLahir(Date tanggalLahir) {
  this.tanggalLahir = tanggalLahir;
 }
 public String getTempatLahir() {
  return tempatLahir;
 }
 public void setTempatLahir(String tempatLahir) {
  this.tempatLahir = tempatLahir;
 }
 public double getIpk() {
  return ipk;
 }
 public void setIpk(double ipk) {
  this.ipk = ipk;
 }
  
}

Membuat File Hibernate Mapping (Mahasiswa.hbm.xml)

Buatlah file Hibernamet Mapping (Mahasiswa.hbm.xml) seperti gambar dibawah ini

Nama file : Mahasiswa.hbm.xml


Membuat File Hibernate Configuration (hibernate.cfg.xml)

Buatlah file hibernate configuration (hibernate.cfg.xml) seperti gambar dibawah ini:

Nama File : hibernate.cfg.xml



Membuat Program Insert Data

Nama File : HibernateInsertDataDemo.java

package com.nursalim.zone.hibernate;

import org.hibernate.Session;

public class HibernateInsertDataDemo {
 public static void main(String[] args){
  Session session = HibernateUtil.getSessionFactory().openSession();
 
  session.beginTransaction();
  Mahasiswa dono = new Mahasiswa();
  dono.setNpm("2014435701");
  dono.setNama("Dono Suhendri");
  dono.setGender("L");
  dono.setIpk(3.75);
  dono.setAlamat("Jakarta");
  dono.setTanggalLahir(new java.util.Date());
  dono.setTempatLahir("Bantul");
 
  session.save(dono);
  session.getTransaction().commit();
 }
}

Review Project Structure

Di bawah ini adalah Review Project Structure di Eclipse.


Running Program

Coba compile dan jalankan kelas HibernateInsertDataDemo.java diatas, apabila berhasil maka akan muncul tampilan seperti dibawah ini


Query Table mahasiswa

Untuk membuktikan apakah program diatas, benar-benar berhasil dan masuk ke table mahasiswa dapat dilakukan query ke table mahasiswa, seperti gambar dibawah ini.



Sekian Tutorial singkat Contoh Program Integrasi Hibernate ORM + Oracle 11g Menggunakan XML Mapping. Semoga bermanfaat & Happy Learning.



Contoh Program Koneksi ke Database Oracle 11g Menggunakan JDBC Driver

Pada tutorial kali ini, kita akan mencoba membuat program sederhana untuk mengakses Oracle Database 11g menggunakan JDBC (Java Data Base Connectivityy).

Tools yang digunakan pada tutorial kali ini, yaitu:
  • Eclipse Editor
  • Oracle Database 11g
  • Oracle JDBC Driver

Download Oracle JDBC Driver

Anda dapat men-download Oracle JDBC Driver (ojdbcxxx.jar) di situs resmi Oracle. Setelah di download, langkah selanjutnya adalah konfigurasi Build Path di Eclipse untuk menambahkan Driver tersebut.

Contoh Program

Di bawah ini adalah contoh program sederhana untuk koneksi ke database Oracle menggunakan JDBC.

Nama File : OracleJDBCDemo.java

package com.nursalim.zone.java.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleJDBCDemo {
    public static void main(String[] args) {
	System.out.println("****************************************************");
	System.out.println("     Contoh Program Koneksi ke Oracle via JDBC");
	System.out.println("****************************************************");

	try {

	    Class.forName("oracle.jdbc.driver.OracleDriver");

	} catch (ClassNotFoundException e) {

	    System.out.println("Oracle JDBC Drive tidak ditemukan");
	    e.printStackTrace();
	    return;

	}

	System.out.println("Oracle JDBC Driver sukses terdaftar");

	Connection connection = null;

	try {

	    connection = DriverManager.getConnection(
			    "jdbc:oracle:thin:@localhost:1521:orcl", "akademik",
			    "akademik");

	} catch (SQLException e) {

	    System.out.println("Gagal koneksi ke database Oracle");
		e.printStackTrace();
	    return;

	}

	if (connection != null) {
	   System.out.println("Selamat, anda berhasil terhubung ke database Oracle!");
	} else {
	   System.out.println("Gagal koneksi ke database Oracle!");
	}
   }
}

Output

Coba anda jalankan program diatas, kalau tidak ada error maka akan muncul tampilan sebagai berikut.



Sekian tutorial singkat Contoh Program Koneksi ke Database Oracle 11g Menggunakan JDBC Driver. Semoga bermanfat & Happy Learning :)

Menggunakan Operator Aritmetika di Java

Overview


Operator Aritmetika digunakan dalam proses perhitungan matematika di dalam program seperti penambahan, pengurangan, perkalian, dan pembagian.

Setiap bahasa pemrograman, baik itu bahasa pemrograman tingkat rendah, tingkat menengah sampai tingkat tinggi, termasuk bahasa Java menyediakan seperangkat Operator Aritmetika yang sangat membantu dalam proses perhitungan matematis.

Di bawah ini adalah table jenis-jenis operator aritmetika.
Menggunakan Operator Aritmetika di Java

Contoh Program

Di bawah ini adalah contoh penggunaan operator Aritmetika dalam program Java

Nama File : ArithmeticOperatorDemo.java

package com.nursalim.zone.java.operator;

public class ArithmeticOperatorDemo {
    public static void main(String[] args) {
 int a = 20;
 int b = 10;
 int c = 25;
 int d = 25;
 System.out.println("a + b = " + (a + b));
 System.out.println("a - b = " + (a - b));
 System.out.println("a * b = " + (a * b));
 System.out.println("b / a = " + (b / a));
 System.out.println("b % a = " + (b % a));
 System.out.println("c % a = " + (c % a));
 System.out.println("a++   = " + (a++));
 System.out.println("b--   = " + (a--));
 System.out.println("d++   = " + (d++));
 System.out.println("++d   = " + (++d));
    }
}

Output :

a + b = 30
a - b = 10
a * b = 200
b / a = 0
b % a = 10
c % a = 5
a++   = 20
b--   = 21
d++   = 25
++d   = 27


Sekian tutorial singkat Penggunaan Operator Aritmetika di Java. Semoga bermanfaat & Salam Happy Learning. :)

Membuat & Membaca File JSON Menggunakan JSON Simple

Apa itu JSON Simple?

Pada tutorial kali ini, kita akan mencoba untuk membuat dan membaca file JSON menggunakan library JSON Simple.

JSON adalah salah satu format data untuk pertukaran data. JSON merupakan salah satu yang terpopuler saat ini, karena simple dan ringan dibanding dengan format data lainnya (XML).

JSON Simple adalah salah satu library java untuk membuat dan menulis file JSON.

Persiapan


Untuk membuat program aplikasi untuk membuat dan membaca file JSON menggunakan library JSON Simple, dibutuhkan beberapa tools yaitu:
  • JDK (Java Development Kit)
  • Java Editor (Eclipse)
  • JSON Simple Library (json-simple.jar)

    Anda bisa men-download library json-simple.jar versi terbaru disini. Tambahkan pada Eclipse Build Path.

Membuat File JSON

Nama File : WriteJsonSimpleDemo.java

package com.nursalim.zone.java.json;
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
 
public class WriteJsonSimpleDemo {
    public static void main(String[] args) {
 
    JSONObject obj = new JSONObject();
    obj.put("nama", "Nursalim");
    obj.put("gender", "Laki-Laki");
    obj.put("umur", new Integer(20));
 
    JSONArray listHobbies = new JSONArray();
    listHobbies.add("Makan");
    listHobbies.add("Tidur");
    listHobbies.add("Jalan-Jalan");
 
    obj.put("hobi", listHobbies);
 
    try {
 
        FileWriter file = new FileWriter("d:\\json\\simplejson.json");
        file.write(obj.toJSONString());
        file.flush();
        file.close();
 
    } catch (IOException e) {
        e.printStackTrace();
    }
 
    System.out.print(obj);
 
     }
 
}

Coba anda jalankan program diatas, maka akan membuat file simplejson.json di folder d:\json.

Menggunakan JSON Simple

Membaca File JSON


Nama File : ReadJsonSimpleDemo.java

package com.nursalim.zone.java.json;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class ReadJsonSimpleDemo {
    public static void main(String[] args){
	JSONParser parser = new JSONParser();
		 
	try {
	 
	  Object obj = parser.parse(new FileReader("d:\\json\\simplejson.json"));
	 
	  JSONObject jsonObject = (JSONObject) obj;
	 
	  String nama = (String) jsonObject.get("nama");
	  System.out.println("Nama = "+nama);

	  String gender = (String) jsonObject.get("gender");
	  System.out.println("Jenis Kelamin = "+gender);

	 
	  long umur = (Long) jsonObject.get("umur");
	  System.out.println("Usia = "+umur);
	 
	  System.out.println("Hobi = ");
	  // looping array hoby
	  JSONArray hobbies = (JSONArray) jsonObject.get("hobi");
	  Iterator iterator = hobbies.iterator();
	  while (iterator.hasNext()) {
		System.out.println("\t - " + iterator.next());
	  }
	 
	} catch (FileNotFoundException ex) {
	   ex.printStackTrace();
	} catch (IOException ex) {
	   ex.printStackTrace();
	} catch (ParseException ex) {
	   ex.printStackTrace();
	}
    }
}


Coba anda jalankan program diatas, maka akan menghasilkan output seperti dibawah ini:

Menggunakan JSON Simple


Sekian tutorial singkat penggunaan library JSON Simple untuk membuat dan membaca file JSON. Semoga bermanfaat & Happy Learning :)

Penggunaan Access Modifier di Java

Apa itu Access Modifier?

Access Modifier / Pemberian hak akses adalah sesuatu hal yang paling penting diperhatikan oleh developer atau programmer Java dalam membuat sebuah program atau aplikasi.

Tujuan nya adalah agar Developer atau Programmer dapat memberikan access modifier yang sesuai, Apakah sebuah kelas, method, ataupun property bisa diakses atau tidak oleh kelas atau object lainnya.

Jenis-Jenis Access Modifier


Ada 4 jenis access modifier di Java, yaitu:
  • Public
  • Protected
  • Default / No Access Modifier
  • Protected
Keempat jenis access modifier diatas akan kita bahas lebih detail pada tutorial kali ini.

Public

Access Modifier Public merupakan access modifier yang paling terbuka, karena semua objek/class bisa mengakses bebas objek yang mempunyai access modifier tipe ini.

Hati-hati ketika menggunakan access modifier Public ini, karena setiap Developer atau Programmer lainnya bisa mengutak-atik source code nya.
 
Dibawah ini, adalah gambar contoh implementasi access modifier Public.


Keterangan:
  1. Nomor 1 : Implementasi pada Class
  2. Nomor 2 : Implementasi pada Property / Variable
  3. Nomor 3 : Implementasi Pada Method
  4. Nomor 4 : Implementasi pada Main Method

Protected


Access modifier jenis ini biasanya dipakai dalam Pewarisan / Inheritance.  Ketika sebuah class mempunyai access modifier tipe ini pada property dan method nya, secara otomatis dapat diakses atau diwarisi oleh kelas turunan/subclass nya.

Dibawah ini, adalah gambar contoh penggunaan access modifier Protected.

Keterangan:
  • Nomor 1 : Penggunaan Protected pada property.
  • Nomor 2 : Penggunaan Protected pada method.
  • Protected tidak bisa digunakan pada nama kelas.
  • Protected tidak bisa digunakan pada method main.

Default / No Access Modifier


Default access modifier menspesifikasikan kelas-kelas yang terdapat dalam satu paket (package) yang bisa mengakses modifier tipe ini.

Default access modifier tidak mempunyai keyword, sehingga apabila sebuah kelas, metod, atau property tidak menyebutkan keyword berari kelas, method, dan property tersebut mempunyai default access modifier.

Dibawah ini, adalah gambar contoh penggunaan access modifier Default.


Private


Access Modifier Private merupakan access modifier yang paling terbatas. Setiap object yang mempunyai access modifier private hanya bisa diakses oleh class itu sendiri. Class lain tidak boleh menggunakannya.

Dibawah ini, adalah gambar contoh penggunaan access modifier Private.

Keterangan :
  • Nomor 1 : Penggunaan Private access modifier pada property/variable
  • Nomor 2 : Penggunaan Private access modifier pada method.
  • Private access modifier tidak bisa digunakan pada nama kelas.
  • Private access modifier tidak bisa digunakan pada main Method. karena menyebabkan program tidak bisa dijalankan, karena tidak bisa diakses oleh JVM (Java Virtual Machine).


Sekian pembahasan mengenai Access Modifier di Java. Semoga bermanfaat & Happy Learning :)

Method di Java Bagian Pertama

What is Method?


Method adalah salah satu komponen OOP Java yang wajib diketahui oleh seorang yang mau belajar Java. Method kalah di dalam bahasa prosedural sama seperti fungsi atau prosedur.

Tujuan utama membuat method adalah agar sebuah program bisa dipecah/ diklasifikasikan secara detail menjadi bagian-bagian yang lebih kecil (subprogram) sehingga lebih mudah di maintenace.

Sebagai contoh, ketika kita berbicara tentang Object Mahasiswa, maka yang terlintas dalam pikiran kita bahwa Object Mahasiswa terlalu luas, sehingga perlu di pecah menjadi bagian-bagian yang lebih kecil.

Setiap Mahasiswa, pasti harus melakukan proses berikut ini:
  • Isi KRS (Kartu Rencana Studi)
  • Kuliah
  • Mengerjakan Tugas
  • Ujian, dll.

Nah, proses-proses diatas dikelompokkan menjadi beberapa method bagi kelas Mahasiswa agar lebih terstruktur.

Struktur Method


Secara umum, struktur pembuatan method dapat digambarkan seperti berikut :
Dari gambar diatas dapat dijelaskan, bahwa pembuatan method di Java terdiri dari:

  1. Access Modifier  (Mandatory)

    Access Modifier dapat berupa public, protected, private, dan default dari suatu method. Pembahasan lebih rinci tentang access modifier dapat anda baca di tutorial tentang Access Modifier di Java.

  2. Return Type / No Return Type  (Mandatory)

    Sebuah method bisa mempunyai return value Atau bisa juga tidak mempunyai return value (Void). Return value di method berupa tipe data, baik tipe data primitive maupun tipe data referensi.

    Baca Juga : Tipe Data di Java

  3. Method Name (Mandatory)

    Method Name/Nama Method, merupakan nama dari sebuah method. Penamaan method di Java sebenarnya bebas, tetapi alangkah lebih baik kalau kita mengikuti Naming Convention di Java. Silahkan anda baca lebih detail tentang aturan penamaan method di tutorial tentang Tata Cara Penulisan Code di Java.

  4. Method Parameter (Optional)

    Berisi parameter-parameter yang diperlukan oleh method tersebut.

  5. Method Body (Optional)

    Berisi statement atau perintah yang harus dijalankan oleh method tersebut. Bersifat optional karena sebuah method bisa saja tidak mempunyai statement (method kosong). Biasanya terdapat pada Interface dan Abstract Method.

Contoh Program


Di bawah ini adalah contoh program sederhana penerapan method di Java.

public class OperasiMatematika{
   
    public void setOperasi(String operasi){
       System.out.println(operasi);
    }

    public double tambah(double a, double b){
       return a + b;
    }

    public double kali(double a, double b){
       return a * b;
    }   
}

Sekian pembahasan tentang Method bagian Pertama. Kalau Anda sudah paham, Anda bisa langsung baca ke bagian kedua. Semoga bermanfaat & Happy Learning :)

Membatasi Panjang Karakter pada JTextField

Kadangkala ketika kita membuat sebuah aplikasi/program membutuhkan batasan panjang tertentu terhadap field inputan. Misalkan field "User ID" maksimal panjang karakter adalah 5 huruf.

Contoh Program


Di bawah ini adalah contoh program untuk membatasi panjang karakter pada JTextField.

Nama File : JTextFieldLengthLimitDemo.java

package com.nursalim.zone.java.swing;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class JTextFieldLengthLimitDemo extends JFrame {
 /**
  * 
  */
 private static final long serialVersionUID = -2557628370374830362L;
 private JTextField textField;
    private JLabel label;
    private JPanel panel;
    private Integer limit = 5; // Maksimal 5 Karakter
 
    public JTextFieldLengthLimitDemo() {
        initComponents();
        add(panel);
        textField.setDocument(new PlainDocument(){
            @Override
            public void insertString(int offset, String str, AttributeSet attributeSet) throws BadLocationException {
                if(getLength() + str.length() <= limit){
                    super.insertString(offset, str, attributeSet);
                }else{
                    label.setText("Panjang Maksimal User ID "+limit+" Huruf");
                }
            }
        });
    }
 
    private void initComponents(){
        textField = new JTextField(20);
        label = new JLabel("User ID");
        panel = new JPanel();
 
        panel.add(textField);
        panel.add(label);
 
        setTitle("JTextFild Limit");
        setSize(400, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);
    }
 
    public static void main (String[] arg){
        try{
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            new JTextFieldLengthLimitDemo().setVisible(true);
        }catch(Exception ex){
 
        }
    }
}


Compile & Running 


Coba compile dan jalankan program diatas, maka akan tampil gambar seperti dibawah ini :
Coba masukkan karakter/kata lebih, maka akan tampil message seperti dibawah ini :

 
Sekian tutorial singkat tentang "Membatasi Panjang Karakter pada JTextField". Semoga bermanfaat & Happy Learning :)

Membaca File Text di Java Menggunakan Kelas BufferedReader

BufferedReader adalah salah satu kelas Java I/O yang digunakan untuk membaca file text.  Untuk membaca file, digunakan method readLine().

Hal pertama yang harus disiapkan adalah menyiapkan file text yang akan dibaca, seperti gambar di bawah ini.


Untuk lebih jelasnya, di bawah ini adalah contoh program Java untuk membaca File text menggunakan kelas BufferedReader.

Contoh Program


Nama File : BufferedReaderDemo.java

package com.nursalim.zone.java.io;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderDemo {
 public static void main(String[] args) {

  BufferedReader bufferedReader = null;

  try {

   String text;
   
   // step 1 : Buat object dari kelas BufferedReader
   bufferedReader = new BufferedReader(new FileReader("C:\\demo.txt"));
   
   // step 2 : Baca setiap line dari file menggunakan method readLine()
   while ((text = bufferedReader.readLine()) != null) {
    System.out.println(text);
   }

  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   
   // Step 3 : close stream setiap habis baca/tulis
   try {
    if (bufferedReader != null) {
     bufferedReader.close();
    }
   } catch (IOException ex) {
    ex.printStackTrace();
   }
  }

 }
} 

Compile & Running

Compile & Jalankan program diatas, apabila berhasil maka akan muncul pesan seperti dibawah ini.

Download Program + File Pendukung


Sekian tutorial singkat tentang "Membaca File Text di Java Menggunakan Buffered Reader". Semoga bermanfaat & Happy Learning :)

Baca Juga :

Menulis File di Java Menggunakan BufferedWriter

Apa itu Kelas BufferedWriter?

BufferedWriter adalah salah satu kelas turunan dari kelas java.io.Writer di Java di bawah package java.io yang digunakan untuk menulis file text.

Constructor

Ada 2 macam konstruktor dari kelas BufferedWriter, yaitu :
  • BufferedWriter(Writer out)
  • BufferedWriter(Writer out, int size) 

Method Yang Sering Digunakan

Ada beberapa method yang sering dipakai oleh kelas BufferedWriter, yaitu:
  • void close()
  • void flush()
  • void newLine()
  • void write()

Pada tutorial kali ini, saya akan mencoba untuk sharing tutorial Java I/O tentang Bagaimana Cara Membuat File menggunakan kelas BufferedWriter.

Contoh Program


Dibawah ini adalah contoh program Java untuk menulis file menggunakan kelas BufferedWriter.

Nama File : BufferedWriterDemo.java

package com.nursalim.zone.java.io;
import java.io.BufferedWriter;

public class BufferedWriterDemo{
   public static void main(String[] args){
        // Step 1 : Tentukan file path
        File file = new File("C:\\demo.txt");
 
        // Step 2 : Siapkan content/isi file
        String text = "Selamat datang di Java";
 
        try {
            // Step 3 : Buat file kosong menggunakan method createNewFile
            if (file.createNewFile()) {
                System.out.println("File Berhasil dibuat");
            } else {
                System.out.println("File sudah pernah dibuat");
            }
 
            FileWriter fw = new FileWriter(file.getAbsoluteFile());
            BufferedWriter bf = new BufferedWriter(fw);
 
            // Step 4 : Gunakan method write untuk menulis text ke file
            bf.write(text);
            // Step 5 : Gunakan method close setiap selesai menulis file
            bf.close();
 
            System.out.println("Selesai");
 
        } catch (IOException ex) {
            System.err.println("Terjadi kesalahan menulis file");
            ex.printStackTrace();
        }

   }
}

Compile & Run


Coba Anda compile dan jalankan program diatas, apabila tidak ada error, maka akan tampil pesan seperti gambar dibawah ini.

Menulis File di Java Menggunakan BufferedWriter


Langkah selanjutnya, coba buka folder dimana file dibuat.

Sekian tutorial kali ini, semoga bermanfaat. Happy Learning :)

Baca Juga :


Referensi