Java Basic - Bagaimana Cara Membalikan Kata di Java

Ada 2 metode yang sangat simple untuk membalikkan kata/String, yaitu :
  • Menggunakan method reverse pada kelas StringBuffer
  • Menggunakan method charAt(int i) pada kelas String

Menggunakan StringBuffer

Kelas StringBuffer menyediakan method reverse untuk membalikkan suatu String / kata.
Contoh :

package com.nursalim.javabae.string;
public class ReverseString1
{
   public static void main(String args[])
   {
      StringBuffer buff = new StringBuffer("Selamat Datang");
      System.out.println(buff.reverse());
   }
}

Menggunakan charAt(int i)

Contoh :

package com.nursalim.javabae.string;
 
import java.util.*;
 
public class ReverseString2{
 
public static void main(String args[])
 {
 String kata, dibalik = "";
 Scanner in = new Scanner(System.in);
 System.out.println("Masukkan kata");
 kata= in.nextLine();
 
 for ( int i = kata.length()-1 ; i >= 0 ; i-- )
 dibalik = dibalik + kata.charAt(i);
 
 System.out.println("Kata dibalik : -> "+dibalik );
 }
 
}

Sekian tutorial singkat Bagaimana Cara Membalikkan Kata di Java. Semoga bermanfaat

Java Basic - Looping (Perulangan) di Java

Looping / Perulangan adalah salah satu kegiatan yang sering dilakukan oleh programmer sehari-hari untuk melakukan perulangan terhadap statement program. Misalkan, untuk menampilkan gaji tiap-tiap pegawai pada Sistem Payroll (penggajian).

Ada beberapa jenis Looping, di Java yaitu :
  • For Looping
  • While Looping
  • Do While

For Looping

Sintak dasar :

   for (inisialisasi ekspresi; kondisi loop; ekspresi penambahan){
       // pernyataan
   }

Contoh :

  public class ForLoopDemo{
      public static void main(String[] args){
         // program mencetak bilangan 1 - 10;
         for (int i = 1; i <=10; i++){
            System.out.println("Bilangan : "+i);
         } 
      }
  }

While Looping

Sintak dasar :

   while(ekspresi){
        //statement
   }

Contoh :

public class WhileLoopDemo{
   public static void main(String[] args){
      int i = 0;
      while(i < 10){
         System.out.println("Bilangan : "+i);
         i++;
      }
   }
}

Do While Looping

Sintak dasar :

   do{
     //statement
   }while(ekspresi)


Contoh :

public class DoWhileLoopDemo{
   public static void main(String[] args){
      int i = 0;
      do{
         System.out.println("Bilangan "+i);
         i++;
      }while(i < 10);  
   }
}


Sekian tutorial singkat tentang Looping di Java. Semoga bermanfaat.

Oracle Administration - Menggunakan FLASHBACK TABLE untuk Mengembalikan Data yang Terhapus

Apabila kita tidak sengaja menghapus data di table pada database Oracle menggunakan perintah "DELETE FROM nama_table" itu tandanya anda akan kena marah oleh DBA ataupun Project Manager.

Terus bagaimana dong solusinya agar yang data yang terhapus bisa di kembalikan / recovery? Caranya mudah, yaitu menggunakan FLASHBACK TABLE.

Sebelum menggunakan FLASHBACK TABLE, Anda harus mengaktifkan terlebih dahulu ROW MOVEMENT-nya, karena kalau tidak di aktifkan akan muncul error "ORA-08189: cannot flashback the table because row movement is not enabled"

Untuk mengaktifkan ROW MOVENT, gunakan perintah dibawah ini:

    ALTER TABLE nama_tabel ENABLE ROW MOVEMENT;


Seteleh ROW MOVEMENT-nya diaktifkan, langkah selanjutnya adalah menjalankan perintah DBMS FLASHBACK.

     EXECUTE DBMS_FLASHBACK.ENABLE_AT_TIME(TO_TIMESTAMP('17-10-2014 06:00', 'DD-MM-YYYY HH:MI'));

Langkah selanjutnya adalah, Anda tinggal meng-query table yang terhapus seperti biasa menggunakan " SELECT " statement, setelah itu export ke file untuk backup dan insert ulang ke table yang datanya telah terhapus.

Setelah datanya kembali, langkah selanjutnya adalah men-disable kembali DBMS FLASHBACK seperti semula, menggunakan perintah:

      EXECUTE DBMS_FLASHBACK.DISABLE;


Sekian tutorial tentang Menggunakan Flash Back Table di Oracle, semoga bermanfaat.

Log4J - Cara Mudah Menggunakan Log4J

Download Log4J

Download file jar log4j versi 1.2 nya di official website di http://logging.apache.org/log4j/1.2/. Tambahkan file jar tersebut pada Eclipse Build Path.

Baca Juga : Menambahkan File Jar/External JAR di Eclipse Build Path.

Setting Project

Buatlah project baru di eclipse, seperti gambar di bawah ini.

log4j.properties

Buatlah file log4j.properties seperti di bawah ini, dan tempatkan file tersebut di bawah folder src seperti di atas.

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=C:\\application.log
log4j.appender.file.MaxFileSize=5MB
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

Contoh Program

Untuk menampilkan log di dalam program, kita harus mendefiniskan kelas logger pertama kali seperti di bawah ini.

	final static Logger logger = Logger.getLogger(namakelas.class);

Sedangkan cara menggunakannya, simple saja seperti dibawah ini.


        //menampilkan log debug message
	if(logger.isDebugEnabled()){
	    logger.debug("Ini adalah contoh debug message");
	}
 
	//menampilkan log error message dengan paramaeter
	logger.error("ini adalah log error : " + parameter);
 
	//menampikan info message
        logger.info("Ini contoh menggunakan info message");


Contoh lengkapnya, dapat di lihat seperti dibawah ini:

Nama File : Log4JDemo.java

public class Log4JDemo{
        final static Logger logger = Logger.getLogger(Log4JDemo.class);
 
	private void tampilkanLog(String param){
 
		if(logger.isDebugEnabled()){
			logger.debug("Ini adalah debug message : " + param);
		}
 
		if(logger.isInfoEnabled()){
			logger.info("Ini adalah info message : " + param);
		}

                logger.fatal("Ini adalah fatal message : " + param);
		logger.warn("Ini adalah warn message : " + param);
		logger.error("Ini adalah error message : " + param);
 
	}
	
	public static void main(String[] args) {
 
		Log4JDemo obj = new Log4JDemo();
		obj.tampilkanLog("Contoh Log4J");
 
	}
}


Output :

2014-07-02 20:52:39 DEBUG Log4JDemo:19 - Ini adalah debug message : Contoh Log4J
2014-07-02 20:52:39 INFO  Log4JDemo:23 - Ini adalah info message : Contoh Log4J
2014-07-02 20:52:39 WARN  Log4JDemo:26 - Ini adalah fatal message : Contoh Log4J
2014-07-02 20:52:39 ERROR Log4JDemo:27 - Ini adalah warn message : Contoh Log4J
2014-07-02 20:52:39 FATAL Log4JDemo:28 - Ini adalah error message : Contoh Log4J


Sekian Tutorial dasar penggunakan Log4J kali ini, semoga bermanfaat.

Quartz Scheduler - Menampilkan Seluruh Job Pada Quartz Scheduler

Quartz Scheduler adalah salah satu Framework Java yang digunakan menangani aplikasi penjadwalan job/scheduler. Dengan framework ini, kita dapat menjalankan job sesuai dengan waktu yang kita inginkan.

Satu lagi yang sangat penting, Quartz Scheduler dapat diintegrasikan dengan Java framework lainnya, seperti Struts, Spring, JSF, dan lain lain.

Dibawah ini adalah contoh program Java untuk menampilkan Job menggunakan Quart Scheduler. Ada beberapa perbedaan yang sangat mencolok pada versi Quartz 2.1.5 dan Quartz 1.8.6. Untuk lebih jelasnya, bisa dilihat pada contoh dibawah ini:

Quartz 2.1.5

Nama File : GetLitJobDemo.java

public class GetListJobDemo{
   public static void main(String[] args){
      Scheduler scheduler = new StdSchedulerFactory().getScheduler();
 
      for (String groupName : scheduler.getJobGroupNames()) {
 
          for (JobKey jobKey : scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {
 
	     String jobName = jobKey.getName();
	     String jobGroup = jobKey.getGroup();
 
	     //mendapatkan list trigger job
 	     List triggers = (List) scheduler.getTriggersOfJob(jobKey);
	     Date nextFireTime = triggers.get(0).getNextFireTime(); 
 
	     System.out.println("[Nama Job] : " + jobName + " [Nama Group] : "
			+ jobGroup + " - " + nextFireTime);
 
	  }
 
     }
  }
}

Quartz 1.8.6

Nama File : GetListJobDemo2.java

public class GetListJobDemo2{
  public static void main(String[] args){
    Scheduler myScheduler = new StdSchedulerFactory().getScheduler();
 
    //loop all group
    for (String groupName : myScheduler.getJobGroupNames()) {
 
	//loop all jobs by groupname
	for (String jobName : myScheduler.getJobNames(groupName)) {
 
          //mendapatkan trigger
	  Trigger[] triggers = myScheduler.getTriggersOfJob(jobName,groupName);
	  Date nextFireTime = triggers[0].getNextFireTime();
 
	  System.out.println("[Nama Job] : " + jobName + " [Nama Group] : "
			+ groupName + " - " + nextFireTime);
 
	}
 
    }
  }
}

Sekian tutorial mengenai Mendapatkan Seluruh Job Pada Quart Scheduler. Semoga bermanfaat.

Java IO - Write File Menggunakan BufferedWriter

BufferedWriter adalah salah satu kelas Character Stream yang digunakan untuk menulis file di Java.

Dibawah ini adalah contoh program Java untuk menulis file menggunakan BufferedWriter,

File Name : BufferedWriterDemo.java

package com.nursalim.javabae.io;
 
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
 
public class BufferedWriterDemo {
 public static void main(String[] args) {
  try {
 
   String content = "Disini aku akan menunggumu";
   String content2 = "Untuk selamanya";
   File file = new File("C:\test\nursalim.txt");
 
   // if file doesnt exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }
 
   FileWriter fw = new FileWriter(file.getAbsoluteFile());
   BufferedWriter bw = new BufferedWriter(fw);
   bw.write(content);
   bw.newLine();
   bw.write(content2);
   bw.close();
 
   System.out.println("Selesai menulis file");
 
  } catch (IOException ex) {
   e.printStackTrace();
  }
 }
}

Baca juga Membaca File Menggunakan BufferedWriter.

Sekian tutorial kali ini, semoga bermanfaat

Hibernate - Contoh Program Hibernate + Oracle 11g Menggunakan XML Mapping

Pada tutorial kali ini, saya akan memperlihatkan bagaimana cara mengintegrasikan hibernate 3.6 dengan Oracle 11g disertai contohnya.

Tools yang digunakan yaitu:
  • Hibernate 3.6
  • Oracle 11g

1. Create Table MAHASISWA

Buatlah table Mahasiswa di Oracle 11g seperti dibawah ini
File : table_mahasiswa.sql

CREATE TABLE MAHASISWA ( 
  NPM       VARCHAR2 (10)  NOT NULL, 
  NAMA      VARCHAR2 (50)  NOT NULL,
  GENDER    CHAR (1)       NOT NULL,  
  FAKULTAS  VARCHAR2 (20)  NOT NULL, 
  JURUSAN   VARCHAR2 (20)  NOT NULL, 
  PRIMARY KEY ( NPM ) 
)

2. Create Kelas Mahasiswa (Model)

Buatlah kelas Mahasiswa seperti dibawah ini:
File: Mahasiswa.java

package com.nursalim.javabae.hibernate.model; 

public class Mahasiswa implements java.io.Serializable {
 
 private String npm;
 private String nama;
 private String gender;
 private String fakultas;
 private String jurusan;
 
 public Mahasiswa() {
 }
 
 public Mahasiswa(String npm, String nama, String gender) {
  this.npm = npm;
  this.nama = nama;
  this.gender = gender;
 }
 
 public String getNpm() {
  return this.npm;
 }
 
 public void setNpm(String npm) {
  this.npm = npm;
 }
 
 public String getNama() {
  return this.nama;
 }
 
 public void setNama(String nama) {
  this.nama = nama;
 }
 
 public String getGender() {
  return this.gender;
 }
 
 public void setGender(String gender) {
  this.gender = gender;
 }
 
 public String getFakultas() {
  return this.fakultas;
 }
 
 public void setFakultas(String fakultas) {
  this.fakultas = fakultas;
 }
 
 public String getFakultas() {
  return this.fakultas;
 }
 
 public void setFakultas(String fakultas) {
  this.fakultas = fakultas;
 }
 
 public String getJurusan() {
  return this.jurusan;
 }
 
 public void setJurusan(String jurusan) {
  this.jurusan = jurusan;
 }
 
}

3. Create Hibernate XML Mapping (Mahasiswa.hbm.xml)

Buatlah file Mahasiswa.hbm.xml, seperti dibawah ini:
Hibernate + oracle 11g Menggunakan XML Mapping
File Mahasiswa.hbm.xml

4. Create Hibernate Configuration File (hibernate.cfg.xml)

Buatlah file hibernate.cfg.xml, seperti dibawah ini
Hibernate Configuration File
File hibernate.cfg.xml


5. Create Hibernate Util Class untuk proses manajemen session

Buatlah kelas HibernateUtil untuk menghandle proses manajemen Session seperti dibawah ini:
File : HibernateUtil.java

package com.nursalim.javabae.hibernate.util;
 
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
 
 private static final SessionFactory sessionFactory = buildSessionFactory();
 
 private static SessionFactory buildSessionFactory() {
  try {
   // Create the SessionFactory from hibernate.cfg.xml
   return new Configuration().configure().buildSessionFactory();
  } catch (Throwable ex) {
   // Make sure you log the exception, as it might be swallowed
   System.err.println("Initial SessionFactory creation failed." + ex);
   throw new ExceptionInInitializerError(ex);
  }
 }
 
 public static SessionFactory getSessionFactory() {
  return sessionFactory;
 }
 
 public static void shutdown() {
  // Close caches and connection pools
  getSessionFactory().close();
 }
 
}

6. Final Project Structure


7. Create Test Class

Buatlah kelas HibernateTestDemo untuk memasukkan data ke table Mahasiswa seperti dibawah ini:
File : HibernateTestDemo.java


package com.nursalim.javabae.hibernate;
 
import java.util.Date;
import org.hibernate.Session;
import com.nursalim.javabae.hibernate.HibernateUtil;
import com.nursalim.javabae.hibernate.model.Mahasiswa;
 
public class HibernateTestDemo {
 public static void main(String[] args) {
  Session session = HibernateUtil.getSessionFactory().openSession();
 
  session.beginTransaction();
  Mahasiswa parman = new Mahasiswa();
 
  parman.setNpm("20144098989");
  parman.setNama("Suparman");
  parman.setGender("L");
  parman.setFakultas("Teknik");
  parman.setJurusan("Teknik Informatika");
 
  session.save(parman);
  session.getTransaction().commit();
 }
}
8. Download File Pendukung + Source Code


Oracle PL/SQL - CASE Statement

Ada 2 Macam penggunaan CASE statement di PL/SQL, yaitu:
  • CASE Menggunakan Selector / Pilihan
  • CASE tanpa Selector

CASE Statement Menggunakan Selector

Sintak Dasar :

CASE pilihan  
   WHEN nilai-1 
 THEN statement-1;
   WHEN nilai-2
 THEN statement-2;
   ELSE
 statement-3;
END CASE

Contoh :

DECLARE
   hari number := 1;
BEGIN
   CASE hari 
 WHEN 1 THEN
    DBMS_OUTPUT.PUT_LINE('Senin'); 
 WHEN 2 THEN
    DBMS_OUTPUT.PUT_LINE('Selasa'); 
 WHEN 3 THEN
    DBMS_OUTPUT.PUT_LINE('Rabu');
 WHEN 4 THEN
    DBMS_OUTPUT.PUT_LINE('Kamis');
 WHEN 5 THEN
    DBMS_OUTPUT.PUT_LINE('Jumat');
 WHEN 6 THEN
    DBMS_OUTPUT.PUT_LINE('Sabtu');  
 ELSE
    DBMS_OUTPUT.PUT_LINE('Minggu'); 
 END CASE; 
END;
/

CASE Statement Tanpa Selector

Sintak Dasar :

CASE
   WHEN kondisi-1 THEN 
	statement-1;
   WHEN kondisi-2 THEN 
	statement-2;
   ELSE
	statement-3;
END CASE;

Contoh :

DECLARE
   hari number := 1;
BEGIN
   CASE hari 
 WHEN hari = 1 THEN
    DBMS_OUTPUT.PUT_LINE('Senin'); 
 WHEN hari = 2 THEN
    DBMS_OUTPUT.PUT_LINE('Selasa'); 
 WHEN hari = 3 THEN
    DBMS_OUTPUT.PUT_LINE('Rabu');
 WHEN hari = 4 THEN
    DBMS_OUTPUT.PUT_LINE('Kamis');
 WHEN hari = 5 THEN
    DBMS_OUTPUT.PUT_LINE('Jumat');
 WHEN hari = 6 THEN
    DBMS_OUTPUT.PUT_LINE('Sabtu');  
 ELSE
    DBMS_OUTPUT.PUT_LINE('Minggu'); 
 END CASE; 
END;
/

Sekian tutorial tentang CASE Statement di PL/SQL, semoga bermanfaat.

PL/SQL - Constant / Konstanta

Konstanta adalah variable yang nilainya fix/tetap dan tidak boleh dirubah.

Sintak dasar:

nama_konstanta CONSTANT tipe_data[ukuran] := nilai;

Keterangan :
  • nama_konstanta adalah nama dari konstanta yang akan dibuat.
  • CONSTANT adalah reserved word di PL/SQL untuk membuat konstanta.
  • tipe_data adalah tipe data yang sesuai dengan konstanta.
  • ukuran adalah nilai maksimum yang akan digunakan pada tipe data. ukuran ini bersifat optional.
  • nilai adalah nilai/value yang diberikan pada konstanta. nilai ini tidak boleh berubah/ diubah.

Contoh 1 :


DECLARE
 npm number(5) NOT NULL := 2;
 nama varchar2(15) := 'Nursalim';
 jurusan CONSTANT varchar2(15) := 'Teknik Informatika';
BEGIN
 dbms_output.put_line('Nilai variable :');
 dbms_output.put_line('NPM : ' || npm || ' Nama Mahasiswa : ' || nama);
 dbms_output.put_line('Nilai Konstanta:');
 dbms_output.put_line('Jurusan : ' || jurusan); 
END;
/ 

Hasil Eksekusi :

Nilai variable
NPM : 2 Nama Mahasiswa : Nursalim
Nilai Konstanta
Jurusan : Teknik Informatika

Contoh 2:


DECLARE
 phi CONSTANT REAL := 3.14159;
   jari_jari REAL := 3;
   luas REAL := (phi * (jari_jari * jari_jari));
BEGIN
 dbms_output.put_line('===== Menghitung Luas Lingkaran =====');
        dbms_output.put_line(' PHI : ' || phi );
        dbms_output.put_line(' Jari - Jari : ' || jari_jari );
 dbms_output.put_line(' Luas : ' || luas); 
END;
/

Hasil Eksekusi
===== Menghitung Luas Lingkaran =====
PHI : 3.14159 
Jari - Jari : 3
Luas : 28,27431 

Sekian tutorial singkat tentang Konstanta di PL/SQL. Semoga bermanfaat

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.