Java JSON - Read/Write JSON Menggunakan JSON Simple

Selamat siang Java-Bae Lovers,

JSON adalah salah satu jenis file yang digunakan untuk pertukaran data. Sebelum ditemukannya JSON, pertukaran data biasanya menggunakan format XML. Alasan menggunakan JSON adalah bahwa JSON lebih simple, dan lebih ringan karena ukurannya lebih kecil dibandingkan dengan XML.

Pada tutorial kali ini, kita akan membahas lebih dalam tentang Parsing File JSON (JavaScript Object Notation) menggunakan Program Java. Sebenarnya banyak sekali library/API yang digunakan untuk parsing File JSON, diantara nya menggunakan JSON Simple.

Untuk API selain JSON Simple, insya allah akan kita bahas pada sesi berikutnya.

Pre-requisites

Sebelum membuat program Java, ada library/jar yang harus di download terlebih dahulu yaitu json-simple.jar. Silahkan anda download library tersebut di sini.

Write JSON File


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("npm", "201490100");
        obj.put("nama", "Nursalim");
	obj.put("usia", new Integer(100));
 
	JSONArray list = new JSONArray();
	list.add("Travelling");
	list.add("Menonton");
	list.add("Tidur");
 
	obj.put("hobies", list);
 
	try {
 
		FileWriter file = new FileWriter("c:\\test.json");
		file.write(obj.toJSONString());
		file.flush();
		file.close();
 
	} catch (IOException e) {
		e.printStackTrace();
	}
 
	System.out.print(obj);
 
     }
 
}

Read JSON File


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("c:\\test.json"));
 
		JSONObject jsonObject = (JSONObject) obj;
 
		String npm = (String) jsonObject.get("npm");
		System.out.println(npm);

                String nama = (String) jsonObject.get("nama");
		System.out.println(nama);
 
		long usia = (Long) jsonObject.get("usia");
		System.out.println(usia);
 
		// loop array
		JSONArray msg = (JSONArray) jsonObject.get("hobies");
		Iterator iterator = msg.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
 
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	} catch (ParseException e) {
		e.printStackTrace();
	}
 
     }
}

Demikian tutorial kali ini, semoga bermanfaat.

Oracle PL/SQL - Conditional Operator Pada PL/SQL

Ada 4 Macam Operator Kondisional pada PL/SQL, yaitu:
  1. IF THEN Statement
  2. IF THEN ELSE Statement
  3. IF THEN ELSIF Statement
  4. NESTED IF THEN ELSE Statement

IF THEN

Sintak dasar :
IF (kondisi) THEN
   statement;
END IF;

Contoh :
DECLARE
  nomor INT(3) := 2;
BEGIN
  IF (nomor = 2) THEN
    DBMS_OUTPUT.PUT_LINE('isi nomor adalah 2');
  END IF; 
END;
/

IF THEN ELSE

Sintak dasar:

IF (kondisi) THEN
   statement;
ELSE
   statement;
END IF;

Contoh :
DECLARE
  nomor INT(3) := 4;
BEGIN
  IF (nomor = 2) THEN
    DBMS_OUTPUT.PUT_LINE('nomor sama dengan 2');
  ELSE
    DBMS_OUTPUT.PUT_LINE('nomor tidak sama dengan 2')
  END IF; 
END;
/

IF THEN ELSIF

Sintak dasar:
IF (kondisi-1) THEN
   statement-1;
ELSIF(kondisi-2)
   statement-2;
ELSIF(kondisi-3)
   statement-3;
ELSE
   statement;
END IF;

Contoh:
DECLARE
  nomor INT(3) := 4;
BEGIN
  IF (nomor = 2) THEN
    DBMS_OUTPUT.PUT_LINE('nomor sama dengan 2');
  ELSIF(nomor = 3)
    DBMS_OUTPUT.PUT_LINE('nomor sama dengan 3');
  ELSEIF(nomor = 4)
    DBMS_OUTPUT.PUT_LINE('nomor sama dengan 4');
  ELSE
    DBMS_OUTPUT.PUT_LINE('nomor sama dengan 5');
  END IF; 
END;
/

Nested IF THEN ELSE

Sintak dasar:
IF(kondisi-1) THEN
   statement-1;
ELSE
   IF(kondisi-2) THEN
      statement-2;
   ELSIF(kondisi-3) THEN
      statement-3;
   ELSIF(kondisi-4) THEN
      statement-4;
   END IF;
END IF;

Contoh
DECLARE
  gender varchar2(20) := 'laki-laki';
  type varchar2(30) := 'macho';
BEGIN
  IF (gender = 'perempuan') THEN
     DBMS_OUTPUT.PUT_LINE('Jenis Kelamin Peremepuan');
  ELSE
     IF(type = 'culun') THEN
       DBMS_OUTPUT.PUT_LINE('Laki Laki Culun');
     ELSIF(type = 'macho') THEN
       DBMS_OUTPUT.PUT_LINE('Laki Laki Macho');
     ELSE
       DBMS_OUTPUT.PUT_LINE('Laki Laki Galau');
     END IF;
  END IF
END;
/

Sekian tutorial mengenai Conditional Operator Pada PL/SQL, semoga bermanfaat.

JDBC - Create Table Menggunakan Statement

Pada tutorial kali ini, kita akan melanjutkan materi JDBC yaitu "Bagaimana Cara Membuat Table Dengan Statement".

Silahkan anda ikuti langkah-langkah di bawah ini.

Langkah 1. Download Oracle JDBC Driver

Anda bisa men-download Oracle JDBC Driver disini.

Langkah 2. Buat Project baru di Eclipse

Pada Eclipse editor, buat project baru dengan cara :
  • Klik Menu File > New > Java Project.
  • Pada Project name, Isi dengan nama project misalkan "BLOG".
  • Buat folder lib untuk menyimpan library/jar dari Oracle JDBC Driver. Copy file yang telah di-download ke folder lib ini.
  • Daftarkan Oracle JDBC Driver yang telah di download dengan cara Klik kanan Project "BLOG" > Build Path > Configure Build Path.
    Configure Build Path
    Build Path
  • Pada Jendela Build Path, Klik tab Libraries, kemudian tekan tombol "Add JARs". Lalu masukkan file Jar yang ada di folder lib.
  • Untuk lebih jelas, anda bisa lihat gambar dibawah ini:

Langkah 2. Buat Program Java untuk Create Table di Oracle

package com.nursalim.javabasic.jdbc;
 
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
 
public class JDBCStatementCreateTableDemo {
 
 private static final String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
 private static final String DB_CONNECTION = "jdbc:oracle:thin:@localhost:1521:BLOG";
 private static final String DB_USER = "user";
 private static final String DB_PASSWORD = "password";
 
 public static void main(String[] args) {
 
    try {
        createMahasiswaTable();
 
    } catch (SQLException e) {
 
        System.out.println(e.getMessage());
 
    }
 
 }
 
 private static void createMahasiswaTable() throws SQLException {
 
  Connection connection = null;
  Statement statement = null;
 
  String sql = "CREATE TABLE MAHASISWA("
    + "NPM NUMBER(10) NOT NULL, "
    + "NAMA VARCHAR(50) NOT NULL, "
    + "ALAMAT VARCHAR(100) NOT NULL, "
    + "FAKULTAS VARCHAR2(20) NOT NULL, " 
    + "JURUSAN VARCHAR2(20) NOT NULL, " 
    + "PRIMARY KEY (NPM) "
    + ")";
 
  try {
   connection = getDatabaseConnection();
   statement = connection.createStatement();
 
   System.out.println(sql);
                        // execute the SQL stetement
   statement.execute(connection);
 
   System.out.println("Table \"MAHASISWA\" berhasil di buat!");
 
  } catch (SQLException e) {
 
   System.out.println(e.getMessage());
 
  } finally {
 
   if (statement != null) {
    statement.close();
   }
 
   if (connection != null) {
    connection.close();
   }
  }
 }
 
 private static Connection getDatabaseConnection() {
 
  Connection connection = null;
 
  try {
   Class.forName(DB_DRIVER);
  } catch (ClassNotFoundException e) {
   System.out.println(e.getMessage());
  }
 
  try {
   connection = DriverManager.getConnection(
     DB_CONNECTION, DB_USER,DB_PASSWORD);
   return connection;
  } catch (SQLException e) {
   System.out.println(e.getMessage());
  }
 
  return connection;
 }
 
}

Langkah 3. Running

Coba anda jalankan program Java di atas, maka akan terlihat hasil seperti di bawah ini:

Untuk memastikan bahwa table MAHASISWA berhasil dibuat, coba ketikkan perintah SQL di bawah ini pada SQL Editor kesayangan anda, misalkan Oracle SQL Developer ataupun TOAD.

SQL > DESC mahasiswa;

Download Tulisan & Source Code

  • Silahkan anda download tulisan disini
  • Silahkan anda download source code disini.

Sekian, tutorial kali ini. semoga bermanfaat.

Oracle SQL - Create Table & Dop Table

CREATE TABLE

Perintah CREATE TABLE digunakan untuk membuat table di database.

Ada beberapa aturan dalam membuat table di database:
  • Nama table harus unik
  • Nama kolom harus unik

Sintak Dasar


CREATE TABLE table_name (
   column_name_1 data_type NULL|NOT NULL,
   column_name_2 data_type NULL|NOT NULL,
   column_name_3 data_type NULL|NOT NULL,
   ...
   column_name_n data_type,
   PRIMARY KEY(column_name)
); 

Ada beberapa cara untuk membuat Table, yaitu:
  • Membuat Table dari awal
    Contoh:
    SQL > CREATE TABLE mahasiswa (
              npm VARCHAR2(10) NOT NULL,
              nama VARCHAR2(50) NOT NULL,
              alamat VARCHAR2(100),
              fakultas VARCHAR2(10),
              jurusan VARCHAR2(10)
           );   
    

  • Membuat Table Menggunakan Query Table cara ke-1 1
    Contoh:
    SQL > CREATE TABLE mahasiswa_baru 
          AS SELECT * FROM mahasiswa
          ); 
    Perintah diatas akan membuat table mahasiswa_baru yang struktur dan datanya diambil dari table mahasiswa.

  • Membuat Table Menggunakan Query Table cara ke-2
    Contoh:
    SQL > CREATE TABLE mahasiswa_baru
          AS SELECT * FROM mahasiswa
          WHERE 1 = 2;
    

    Perintah diatas akan membuat table mahasiswa_baru dari table mahasiswa, tetapi hanya struktur tablenya saja.

DROP TABLE


Perintah DROP TABLE digunakan untuk menghapus table dari database.

Sintak Dasar :

DROP TABLE nama_table;

Contoh:

SQL > DROP TABLE mahasiswa_baru;


Sekian tutorial kali ini, semoga bermanfaat

Java XML - Membaca File XML Menggunakan DOM Parser

Pada tutorial kali ini, Kita akan mempelajari bagaimana cara membaca file XML di Java menggunakan DOM XML Parser. Metode ini merupakan metode yang paling simpel dan sederhana, karena metode ini akan membaca seluruh dokumen XML di tiap-tiap node dan menyimpannya di memory.

Kelemahan dari metode ini adalah ketika kita membaca file XML yang memuat banyak data, maka proses pembacaan akan lambat dan memakan banyak memory.

Untuk mengatasi masalah ini, ada salah satu metode lagi yang lebih cepat dari metode DOM Parser yaitu metode SAX Parser. Metode SAX Parser ini akan kita bahas pada tutorial selanjutnya.

Langkah 1. Buat File XML

Buatlah file XML dengan nama mahasiswa.xml seperti dibawah ini:

Membaca FIle XML dengan DOM Parser
mahasiswa.xml
Simpan file mahasiswa.xml di folder yang telah ditentukan, misalnya di folder C:\xml


Langkah 2. Buat Program Java Untuk Membaca XML

Nama file : DOMReadXMLDemo.java

package com.nursalim.javabasic.xml.dom;
 
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
 
public class DOMReadXMLFileDemo {
 
  public static void main(String[] args) {
 
    try {
 
      File xmlFile = new File("C:\xml\mahasiswa.xml");
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
      Document doc = docBuilder.parse(xmlFile); 
	
      doc.getDocumentElement().normalize();
 
      System.out.println("Element Root : " + doc.getDocumentElement().getNodeName());
 
      NodeList nodeList = doc.getElementsByTagName("mahasiswa");
 
      System.out.println("=============================");
 
      for (int temp = 0; temp < nodeList.getLength(); temp++) {
 
	 Node node = nodeList.item(temp);
 
	 System.out.println("\nCurrent Element : " + node.getNodeName());
 
         if (node.getNodeType() == Node.ELEMENT_NODE) {
 
            Element element = (Element) node;
 
	    System.out.println("Mahasiswa NPM : " + element.getAttribute("npm"));
	    System.out.println("Nama : " + element.getElementsByTagName("nama").item(0).getTextContent());
            System.out.println("Alamat : " + element.getElementsByTagName("alamat").item(0).getTextContent());
	    System.out.println("Fakultas : " + element.getElementsByTagName("fakultas").item(0).getTextContent());
            System.out.println("Jurusan : " + element.getElementsByTagName("jurusan").item(0).getTextContent());
 
	}
      }
    } catch (Exception e) {
	e.printStackTrace();
    }
  }
 
}

Langkah 3. Hasil

Apabila di eksekusi, maka outputnya seperti di bawah ini:
Element Root : universitas
=============================
 
Current Element :mahasiswa
Mahasiswa NPM : 201450112
Nama : Nursalim
Alamat : Jakarta
Fakultas : Teknik
Jurusan : Teknik Informatika
 
Current Element :mahasiswa
Mahasiswa NPM : 201470001
Nama : 201450112
Alamat : Bandung
Fakultas : Bahasa & Sastra
Jurusan : Sastra Inggris

Current Element :mahasiswa
Mahasiswa NPM : 201480010
Nama : Dani Prasetyo
Alamat : Semarang
Fakultas : MIPA
Jurusan : Matematika

Download Tulisan & File Contoh

  • Silahkan download contoh tulisan disini.
  • Silahkan download File contoh disini.

Java - Membaca File Menggunakan Buffered Reader

Ada banyak cara untuk membaca File di Java, salah satunya yaitu menggunakan kelas BufferedReader. Menggunakan kelas BufferedReader merupakan salah satu cara yang sangat mudah dan paling banyak di gunakan.

Di bawah ini adalah contoh program Java untuk membaca file menggunakan kelas BufferedReader

package com.nursalim.javabasic.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 line;
 
   bufferedReader = new BufferedReader(new FileReader("C:\\testing.txt"));
 
   while ((line = bufferedReader.readLine()) != null) {
                                System.out.println("== Isi dari file ===");
    System.out.println(line);
   }
 
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   try {
    if (br != null)br.close();
   } catch (IOException ex) {
    ex.printStackTrace();
   }
  }
 }
}

Javascript - Deteksi Caps Lock

Ketika anda mendaftar/login ke sebuah halaman web, terutama ketika mengisi kolom/field password, maka sering kita jumpai halaman web yang membuat penjagaan tentang "Caps Lock".

Dibawah ini adalah kode Javascript untuk mendeteksi Caps Lock:

  
 function checkCapsLock( e ) {
    var myKeyCode = e.which ? e.which : ( e.keyCode ? e.keyCode : ( e.charCode ? e.charCode : 0 ) );
    var myShiftKey = e.shiftKey || ( e.modifiers && ( e.modifiers & 4 ) );
    var charStr = String.fromCharCode(myKeyCode);
    if ((( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) || (( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey)) {
	alert("CAPS LOCK ON");
    }
  }

Kode lengkapnya, anda bisa lihat seperti dibawah ini:

Nama file : caps_lock.html

Apabila file diatas dijalankan, maka akan tampil seperti gambar dibawah ini:
Javascript - Deteksi Caps Lock

Download Source Code + Tulisan


  • Silahkan Anda download kode sumber lengkapnya disini.
  • Silahkan Anda download tulisan lengkapnya disini.