Friday, March 7, 2014

Batch Update dengan Statement

0 comments

Pendahuluan

Batch Update adalah suatu proses dimana kita dapat menjalan kumpulan dari beberapa sql statement hanya dengan satu kali proses. Batch Update hanya berlaku untuk proses insert, update, dan delete.

Untuk mengetahui lebih dalam tentang Batch Update, silahkan lihat contoh perbandingan SQL Statement dengan dan tanpa Batch Update.

Contoh Statement Tanpa Batch Update

Di bawah ini adalah contoh program SQL Statement tanpa menggunakan Batch Update.

package com.mbj.jdbc.test;
import java.sql.*;
public class SatementDemo{
   public static void main(String[] args){
           try{
         System.out.println("Accessing Oracle JDBC Driver");
         Class.forName("oracle.jdbc.driver.OracleDriver");
    }catch(ClassNotFoundException ex){
         System.out.println("Failed to connect Oracle JDBC Driver");
         ex.printStackTrace();
    }

    System.out.println("Successfully Connecting Oracle JDBC Driver");
    Connection connection = null;
    Statement statement = null;
    try{
       connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
       statement = connection.createStatement();
       List<String> queryList = new ArrayList()<String>;
       String query1 = "insert into mahasiswa(nim, nama) values ('1','Nursalim')";
       String query2 = "insert into mahasiswa(nim, nama) values ('2','Iski')";
       String query3 = "insert into mahasiswa(nim, nama) values ('2','Budi')";

       queryList.add(query1);
       queryList.add(query2);
       queryList.add(query3);
     
       for(String query : queryList){
           statement.execute(query);
       }    
    }catch(SQLException sqx){
       System.out.println("Error connecting to Oracle Database");
       sqx.printStackTrace();

    }
    connection.close();


   }
}

Dengan menggunakan statement biasa, maka setiap kali statement di jalan, program akan mengakses database. Ini akan menjadi problem ketika berurusan dengan jumlah data yang besar. Problemnya macam-macam bisa waktu eksekusi yang lama sampai terjadi error java.lang.OutOfMemoryError.

Untuk mengatasi masalah diatas, maka digunakanlah solusi Batch Update. Untuk Lebih jelasnya lihat contoh di bawah ini.

Contoh Statement dengan Batch Update

Di bawah ini adalah contoh penggunaan Batch Update dalam Statement.

package com.mbj.jdbc.test;
import java.sql.*;
public class BatchUpdateStatementDemo{
    public static void main(String[] args){
    try{
         System.out.println("Accessing Oracle JDBC Driver");
         Class.forName("oracle.jdbc.driver.OracleDriver");
    }catch(ClassNotFoundException ex){
         System.out.println("Failed to connect Oracle JDBC Driver");
         ex.printStackTrace();
    }

    System.out.println("Successfully Connecting Oracle JDBC Driver");
    Connection connection = null;
    Statement statement = null;
    try{
       connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
       statement = connection.createStatement();
       List<String> queryList = new ArrayList()<String>;
       String query1 = "insert into mahasiswa(nim, nama) values ('1','Nursalim')";
       String query2 = "insert into mahasiswa(nim, nama) values ('2','Iski')";
       String query3 = "insert into mahasiswa(nim, nama) values ('2','Budi')";

       queryList.add(query1);
       queryList.add(query2);
       queryList.add(query3);
     
       for(String query : queryList){
           statement.addBatch(query);
       }
       int[] hasil = statement.executeBatch();      
    }catch(SQLException sqx){
       System.out.println("Error connecting to Oracle Database");
       sqx.printStackTrace();

    }
    connection.close();
    }
}

Download Source Code

Silahkan download source code lengkapnya disini.

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Memanggil Stored Procedure via JDBC

0 comments

Pendahuluan

Stored Procedure adalah sebuah fungsi atau prosedur yang berada di dalam database. Kalau Fungsi atau Prosedur umumnya di tanam di aplikasi, sedangkan kalau Stored Procedure di tanam di database. Tujuannya adalah untuk meningkatkan performance aplikasi sehingga lebih cepat tanpa membebani aplikasi.

Untuk memanggil Stored Procedure via JDBC, kita bisa menggunakan kelas java.sql.CallableStatement.

Sintaks:

CallableStatement callableStatement = connection.prepareCall("{call procedurName(?,?)}");

Di bawah ini adalah contoh pemanggilan stored procedure via JDBC.

Membuat Procedure SP_Delete_Mahasiswa


CREATE OR REPLACE PROCEDURE SP_Hapus_Mahasiswa
( nim   IN tbl_mhs.nim%type,
  result OUT SYS_REFCURSOR
)
AS
BEGIN
   DELETE tbl_mhs
   WHERE nim = nim;
END;

Membuat Kelas Untuk Memanggil Store Procedure

Buatlah kelas DemoCallableStatement.java seperti di bawah ini:

package com.mbj.jdbc.test;
import java.sql.*;
public class DemoCallableStatement{
   public static void main(String[] args){
    try{
         System.out.println("Accessing Oracle JDBC Driver"); 
         Class.forName("oracle.jdbc.driver.OracleDriver");
      }catch(ClassNotFoundException ex){
         System.out.println("Failed to connect Oracle JDBC Driver");
         ex.printStackTrace();
      }

      System.out.println("Successfully Connecting Oracle JDBC Driver");
      Connection connection = null;

      try{

         connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
         String nim = "20140898989"; //nim yang akan dihapus
         String deleteMahasiswaSP = "{call SP_Hapus_Mahasiswa(?,?) }";
         CallableStatement callableStatement = connection.prepareCall(deleteMahasiswaSP);
         callableStatement.setString(1, nim);
         callableStatement.setRegisterOutParameter(2,OracleTypes.CURSOR);
         callableStatement.executeUpdate;

         System.out.println("Mahasiswa dengan nim "+nim+" berhasil di hapus");        
      }catch(SQLException sqx){
         System.out.println("Error connecting to Oracle Database");
         sqx.printStackTrace();
      }

      connection.close();
   }
   }
}

Download Source Code

Silahkan download source code lengkapnya disini.

Penutup

Demikian tutorial kali ini, semoga bermanfaat.

Thursday, March 6, 2014

Membuat Custom Tag di JSP

0 comments

Pendahuluan


Untuk membuat Custom Tag di JSP, ikuti langkah-langkah dibawah ini:

Membuat Tag Handler

Buatlah kelas NumberFormatTag.java seperti di bawah ini:

package com.mbj.jsp.customtag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;

import java.io.IOException;
import java.text.DecimalFormat;


public class NumberFormatTag extends SimpleTagSupport {

    private String format;
    private String number;

    public NumberFormatTag() {
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    @Override
    public void doTag() throws JspException, IOException {
        System.out.println("Number is:" + number);
        System.out.println("Format is:" + format);
        try {
            double amount = Double.parseDouble(number);
            DecimalFormat formatter = new DecimalFormat(format);
            String formattedNumber = formatter.format(amount);
            getJspContext().getOut().write(formattedNumber);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}



Membuat File TLD


Buatlah file mbjtld.tld seperti di bawah ini:

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
<description>Number Format Tag</description>
<tlib-version>2.1</tlib-version>
<short-name>mbjtag</short-name>
<uri>http://www.mbj.web.id/jsp/tlds/
mbjtag</uri>
<tag>
    <name>formatNumber</name>
    <tag-class>com.mbj.jsp.customtag.NumberFormatTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
    <name>format</name>
    <required>true</required>
    </attribute>
    <attribute>
    <name>number</name>
    <required>true</required>
    </attribute>
</tag>
</taglib>


Letakkan file mbjtld.tld di folder WEB-INF/tld

Membuat File Document Descriptor (web.xml)


Setelah membuat TLD, saatnya TLD tadi kita tambahkan di file web.xml, seperti di bawah ini:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>JSP Custom Tags</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <jsp-config>
  <taglib>
    <taglib-uri>http://
mbj.web.id/jsp/tlds/mbjtag</taglib-uri>
    <taglib-location>/WEB-INF/tld/mbjtld.tld</taglib-location>
  </taglib>
  </jsp-config>
</web-app>


Membuat Halaman JSP


Buatlah file JSP numberformat.jsp seperti di bawah ini:

<%@ page language="java" contentType="text/html; charset=US-ASCII"
    pageEncoding="US-ASCII"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Contoh Custom Tag</title>
<%@ taglib uri="http://mbj.web.id/jsp/tlds/mbjtag" prefix="mbj"%>
</head>
<body>

<h2>Contoh Number Fomatting menggunakan Custom Tag</h2>

<mbj:formatNumber number="51203.20" format="#,###.00"/><br><br>

<mbj:formatNumber number="1234.567" format="$# ###.00"/><br><br>

</body>
</html>


Download Source Code


Silahkan download source codenya disini.

Penutup


Sekian pembahasan tutorial kali ini, semoga bermanfaat.

Monday, March 3, 2014

Perbedaan Abstract Class dan Interface

0 comments

Pendahuluan


Di bawah ini adalah tabel perbedaan antara Abstract Class dan Interface.

Abstract Class
Interface
Abstract Class hanya bisa meng-extend satu abstract class dan implement beberapa interface.
Interface hanya bisa meng-extend interface lainnya. Dan tidak bisa implement class atau interface lainnya.
Method boleh bersifat final
Method tidak boleh bersifat final.
Method boleh bersifat static
Method tidak boleh bersifat static
Suatu abstract class hanya bisa meng-extend satu abstract lainnya.
Suatu interface bisa meng-extend satu atau lebih interface lainnya.
Bisa mendeklarasikan instance variable dan constant
Hanya bisa mendeklarasikan constant. Secara implisit variable yang dideklarasikan di interface bersifat public, static dan final.
Kita harus menuliskan sendiri access modifier (public, private, protected)
Secara implisit, modifier untuk method di interface adalah public dan abstract.
Dapat berisi abstract dan non-abstract method
Hanya boleh berisi abstract method.

Penutup


Sekian tutorial kali ini, semoga bermanfaat

Saturday, March 1, 2014

Class / Static Varible di Java

0 comments

Pendahuluan


  • Class variable atau static variable di deklarasikan dengan kata kunci atau keyword static.
  • Dengan menggunakan static, maka Method dan Variable akan menjadi milik class, bukan menjadi milik suatu instance.
  • Static variable dapat diakses secara langsung menggunakan perintah  namaKelas.namaVariable tanpa harus membuat object terlebih dahulu.
  • Static method dapat diakses secara langsung menggunakan perintah namaKelas.namaMethod tanpa harus membuat object terlebih dahulu.
  • Biasanya digunakan untuk method atau variable yang sering digunakan.

Contoh

public class StaticDemo{
    public static int tambah(int a, int b){
        return a+b;
    }

    public static int kurang(int a, int b){
        return a-b;
    }
}

public class StaticDemoTest{
    public static void main(String[] args){
       System.out.println("5 + 10 = "+StaticDemo.tambah(5,10));
       System.out.println("10 - 5 = "+StaticDemo.kurang(10,5));
    }
}

Penutup


Sekian pembasan tentang class variable di Java. Semoga bermanfaat.

Friday, February 28, 2014

Array di Java

0 comments

Pendahuluan

Array adalah struktur data yang mempunyai elemen-elemen yang bertipe data sama.
Contoh: Kumpulan nama-nama mahasiswa Teknik Informatika di Universitas X.
Nama-nama mahasiswa merupakan kumpulan dari beberapa elemen yang bertipe data sama yaitu String.

Array dimulai dari index ke 0 (nol) sampai index ke n.

Deklarasi Array


Di bawah ini adalah sintaks deklarasi variable Array.

tipeData[]   variableArray;

atau

tipeData     variableArray[];

Contoh:

String[] mahasiswa;

Membuat Array dengan Keyword new

Kita juga dapat membuat array dengan menggunakan keyword new.
Sintaks:

tipeData[] tipeData = new tipeData[ukuran];

atau

tipeData[] tipeData = new tipeData{};

Contoh:

String[] mahasiswa = new String[5];
String[] mahasiswa = new String{"Ada","Edo","Ado"};

Contoh Penggunaan Array

Di bawah ini adalah contoh lengkap penggunaan array.

public class ArrayStringDemo{
    public static void main(String[] args){
        String[] mahasiswa = new String{"Ada","Edi","Ado"}
        // akses array index ke-0
        System.out.println("Index ke-0 = "+mahasiswa[0]); 
        
        //akses semua elemen menggunakan looping
        for(int i = 0; i < mahasiswa.length; i++){
           System.out.println(" Nama mahasiswa = "+mahasiswa[i]);
        } 
        
        // atau juga bisa menggunakan cara dibawah ini
        for(String namaMahasiswa : mahasiswa){
           System.out.println(namaMahasiswa);
        } 
    }
}

Penutup

Sekian bahasan tentang Array kali ini, semoga bermanfaat


Character Class di Java

0 comments

Pendahuluan

Kelas Character merupakan bagian dari package java.lang yang digunakan sebagai wrapper class agar karakter diperlakukan sebagai objek bukan tipe data primitif lagi.

Constructor kelas Character

Character (char charvalue)

Contoh:

public class CharacterDemo{
   public static void main(String[] args){
      Character chars = new Character('b');
      System.out.println(chars);
   }
}

Method

Di bawah ini adalah method-method yang ada di kelas Character:

  • charValue()
  • equals (char anotherCharacter)
  • toLowerCase(Char chr)
  • toUpperCase(Char chr)
  • isLowerCase(Char chr)
  • isUpperCase(Char chr)
Contoh penggunaan method di atas, akan kita bahas pada materi tersendiri.

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Thursday, February 27, 2014

Inheritance di Java

0 comments

Pendahuluan

Inheritance (Pewarisan) adalah hubungan antara super class (kelas induk) dengan sub classnya (kelas anak). Dimana kelas super class dapat mewariskan property dan method nya kepada subclass nya. Hubungan ini sering disebut IS-A relationship.

Inheritance di Java menggunakan extends dan implements keyword. extends digunakan untuk mewariskan method dan property dari kelas induknya, sedangkan implements digunakan untuk mewariskan interface.

Bahasa Java hanya mengenal pewarisan tunggal, artinya sub class hanya mewarisi satu kelas indukan. Tidak seperti C++ yang menganut konsep pewarisan Jamak, dimana subclass dapat mewarisi banyak kelas indukan.

Terus bagaimana caranya kalau kita ingin subclass di Java bisa mewarisi seperti C++. Tenang saja, di Java ada keyword implements, dimana bisa mewarisi banyak interface.

IS-A Relationship

Gambar di bawah ini adalah konsep contoh Inheritance pada Java
Dari gambar di atas dapat disimpulkan:
  • Binatang adalah superclass dari Mamalia dan Serangga.
  • Mamalia adalah superclass dari Monyet, Anjing, dan Sapi.
  • Serangga adalah superclass dari Lebah, Kupu-Kupu dan Nyamuk.
Berdasarkan konsep IS-A, maka:
  • Mamalia dan Serangga merupakan binatang.
  • Monyet, Anjing, dan Sapi merupakan binatang.
  • Lebah, Kupu-Kupu dan Nyamuk.
Contoh Inheritance dalam program:

public class Binatang{
    public String nama;

    public String getNama(){
       return nama;
    }

    public void setNama(String pNama){
       this.nama = pNama;
    }
  
    public Binatang(String pNama){
       this.nama = pNama;
    }   
}

public class Mamalia extends Binatang{
    public Binatang(String nama){
       super(nama);
    }
    public void sifat(){
       System.out.println("Binatang mamalia menyusui");
    }

    public static void main(String[] args){
       Mamalia anjing = new Mamalia("Buldog");
       System.out.println("Anjing adalah "+anjing.sifat()); 
    }
}

Catatan:
  • Program diatas terdapat keyword super, yaitu kata kunci yang digunakan untuk mengakses konstruktor, variable, maupun method dari kelas parent. Keyword super beguna untuk menghindari redudansi program.

instanceof Keyword

instanceof keyword digunakan untuk mengecek keterkaitan antara object yang satu dengan yang lainnya. Setiap object (instance) dari sub class juga termasuk instance dari superclass nya. Tidak belaku buat kebalikannya.

Contoh:

public class Manusia{
    // property & method
}

public class Kakek extends Manusia{
     // property & method
}

public class Ayah extends Kakek{
     // property & method
}

public class Anak extends Ayah{
    // property & method
}

public class TestInstanceOf{
    public static void main(String[] args){
        Manusia manusia = new Manusia();
        Ayah ayah = new Ayah();
        Anak anak = new Anak();
        System.out.println(anak instanceof manusia); //true
        System.out.println(anak instanceof ayah); //true
        System.out.println(ayah instanceof manusia); //true
        System.out.println(ayah instanceof anak); //false
    }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Tuesday, February 25, 2014

String Class di Java

0 comments

Pendahuluan

String adalah kelas yang sangat penting di Java, karena kita banyak menggunakan kelas ini pada program Java.

Method di Kelas String

Di bawah ini adalah method-method yang ada di kelas String yang akan kita bahas:
  • charAt(int index)
  • int compareTo(Object o)
  • int compareTo(String anotherString)
  • String concat(String str)
  • boolean contentEquals(StringBuffer sb)
  • static String copyValue(char[] data)
  • static String copyValue(char[] data, int offset, int count)
  • boolean endsWith(String suffix)
  • boolean equals(Object o)
  • boolean equalsIgnoreCase(String anotherString)
  • byte getBytes()
  • byte[] getBytes(String charsetName)
  • void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
  • int hashCode()
  • int indexOf(int ch)
  • int indexOf(int ch, int fromIndex)
  • int indexOf(String str)
  • int indexOf(String str, int fromIndex)
  • String intern()
  • int lastIndexOf(int ch)
  • int lastIndexOf(int ch, int fromIndex)
  • int lastIndex(String str)
  • int lastIndexOf(String str, int fromIndex)
  • int length()
  • boolean match(String regex)
  • boolean regionMatches(boolean ignoreCase, int offset, String other, int offset, int len)
  • boolean regionMatches(int offset, String other, int offset, int len)
  • String replace(char oldChar, char newChar)
  • String replaceAll(String regex, String replacement)
  • String replaceFirst(String regex, String replacement)
  • String[] split(String regex)
  • String[] split(String regex, int limit)
  • boolean startsWith(String prefix)
  • boolean startsWith(String prefix, int offset)
  • CharSequence subSequence(int beginIndex, int endIndex)
  • String substring(int beginIndex)

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Monday, February 24, 2014

Method charAt pada kelas String

1 comments

Pendahuluan

Method charAt digunakan untuk mengambil karakter pada sebuah String sesuai index yang diinginkan.
Catatan :  Index pada String di awali dari 0 (nol).

Sintaks & Contoh

Sintaks:

public char charAt(int index);

Dibawah ini adalah contoh lengkapnya:

public class CharAtDemo{
   public static void main(String[] args){
       String str = "Belajar bahasa Java";
       System.out.println(str.charAt(6));
       // akan mencetak huruf "r"
   }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Sunday, February 23, 2014

Koneksi JDBC Dengan Oracle

0 comments

Pendahuluan

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

Download Driver

Sebelum kita membuat program koneksi, terlebih dahulu download Oracle JDBC Driver disini.  

Contoh Koneksi JDBC Dengan Oracle

Dibawah ini adalah contoh potongan program koneksi JDBC Oracle:

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = null;
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
conn.close();

Dibawah ini adalah contoh lengkapnya.

public class TestJDBCOracle{
   public static void main(String[] args){
      try{
         System.out.println("Accessing Oracle JDBC Driver");  
         Class.forName("oracle.jdbc.driver.OracleDriver");
      }catch(ClassNotFoundException ex){
         System.out.println("Failed to connect Oracle JDBC Driver");
         ex.printStackTrace();
      }
      System.out.println("Successfully Connecting Oracle JDBC Driver");
      
     Connection connection = null; 
      try{
         connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");  
      }catch(SQLException sqx){
         System.out.println("Error connecting to Oracle Database");
         sqx.printStackTrace();
      }

      System.out.println("Good Job! Successfully connecting to Oracle Database");
      connection.close();
   }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Koneksi JDBC Dengan PostgresSQL

0 comments

Pendahuluan

Di bawah ini adalah contoh bagaimana cara koneksi database PostgresSQL menggunakan JDBC.

Download JDBC Driver

Silahkan download JDBC Driver untuk PostgresSQL di http://jdbc.postgresql.org/download.html.

Contoh Program

Di bawah ini adalah potongan program cara koneksi JDBC dengan PostgresSQL.

class.forName("org.postgressql.Driver");
Connection connection = null;
connection = DriverManager.getConnection("jdbc:postgressql://hostname:port","username","password");
connection.close();

Untuk contoh lebih lengkap, silahkan lihat di bawah ini:

public class TestJDBCPostgresSQL{
   public static void main(String[] args){
      try{
        System.out.println("Testing JDBC ProstgresSQL");
        Class.forName("org.postgressql.Driver");
      }catch(ClassNotFoundException ex){
         ex.printStackTrace();
         System.out.println("Database Driver tidak ditemukan");
         return;
      }

      System.out.println("Registrasi JDBC Driver berhasil");
      Connection connection = null;
      try{
         DriverManager.getConnection("jdbc:postgressql://localhost:5432/hris","root","password");
      }catch(SQLException sqx){
         System.out.println("Gagal koneksi ke database");
         sqx.printStackTrace();
         return;
      }

      System.out.println("Selamat, Koneksi ke PostgresSQL berhasil");
      
   }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Saturday, February 22, 2014

Koneksi JDBC Dengan MySQL

0 comments

Pendahuluan


Di bawah ini adalah contoh koneksi ke database MySQL dengan JDBC. Sebelumnya kita harus download terlebih dahulu MySQL Driver disini. Setelah men-download, masukkan mysql-connector-javaxx.bin.jar ke dalam classpath sebelum digunakan.

Contoh Koneksi JDBC dengan MySQL

Dibawah ini adalah potongan program koneksi database MySQL dengan JDBC:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
conn == DriverManager.getConnection("jdbc:mysql//hostname:port/dbname","username","password");
conn.close();

Untuk contoh lebih lengkap, bisa lihat di bawah ini:

public class TestJDBCMySQL{
    public static void main(String[] args){
         System.out.println("== Contoh koneksi JDBC-MySQL ==");
         try{
             Class.forName("com.mysql.jdbc.Driver");
         }catch(ClassNotFoundException ex){
             System.out.println("MySQL Driver tidak ditemukan");
             ex.printStackTrace();
         }
         System.out.println("MySQL Driver telah didaftarkan");
         Connection conn = null;
         try{
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hris","root","password");
         }catch(SQLException ex){
            System.out.println("Terjadi error koneksi database");
            ex.printStackTrace();
         }

         if(conn != null){
            System.out.println("Koneksi ke database MySQL Berhasil");
         }else{
            System.out.println("Koneksi ke database MySQL gagal");
         }

         conn.close();
    }
}

Running

Compile terlebih dahulu program di atas dengan perintah javac C:\test\TestJDBCMySQL.java. Asumsi program di atas disimpan di direktori C:\test.

Seteleh di compile, coba jalankan program tersebut dengan perintah java C:\test\TestJDBCMySQL.
 

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Materi JDBC

0 comments
Insya Allah materi JDBC yang akan kita pelajari:

JDBC - Pengenalan SQL

0 comments

Pendahuluan

SQL (Structured Query Language) adalah bahasa yang digunakan dalam DBMS (Database Management System. Dengan SQL, kita dapat melakukan operasi pada database seperti membuat database, membuat table, membaca table, meng-update table, dsb.

Untuk mempelajari SQL lebih mendalam, anda bisa mempelajari MySQL, Oracle, Microsoft SQL Server.

Dibawah ini adalah pengenalan singkat dan sintak dasar SQL yang akan kita pelajari:

Membuat Database

Sintaks:

CREATE database nama_database;

Contoh:

CREATE database hris;

Menghapus Database

Sintaks:

DROP database nama_database;

Contoh:

DROP database hris; 

Membuat Table

Sintaks:

CREATE table nama_table(
    nama_kolom1   tipe_data,
    nama_kolom2   tipe_data
);

Contoh:

CREATE table karyawan(
   nik int(10),
   nama varchar(50),
   alamat varchar(100)
);

Insert Data

Sintaks:

INSERT INTO nama_table VALUES(kolom1, kolom2, ...);

Contoh:

INSERT INTO karyawan VALUES(100, Nursalim, Brebes);

Menampilkan Data

Sintaks:

SELECT * | kolom1, kolom2, ..
  FROM nama_table
 WHERE kondis;

Contoh:

SELECT nik, nama, alamat
  FROM karyawan
 WHERE nik = 100;

Update Data

Sintaks:

UPDATE nama_table
   SET kolom_name = nilai
 WHERE kolom = kondisi;

Contoh:

UPDATE karyawan
   SET nama = 'Naura'
 WHERE nik = 100; 

Menghapus Table

Sintaks

DROP table nama_table;

Contoh

DROP table karywan; 

Penutup

Sekian tutorial singkat kali ini, semoga bermanfaat.

Friday, February 21, 2014

Java Number Method - parseInt

0 comments

Pendahuluan 

Method ini digunakan untuk mendapatkan tipe data primitive dari parameter String.

Sintak 

static int parseInt(String s);
static double parseDouble();

Contoh 

public class ParseIntDemo{
   public static void main(String[] args){
       int a = Integer.parseInt("10");
       double b = Double.parseDouble("15");
       System.out.println("Nilai dari a adalah "+a);
       System.out.println("Nilai dari b adalah "+b); 
   }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Java Number Method - valueOf

0 comments

Pendahuluan 

Method ini mengembalikan objek Number yang sesuai dan menyimpan nilai dari parameter yang dilempar.
Method ini adalah static, jadi tidak harus menginstansiasi kelasnya terlebih dahulu, Langsung dapat dipanggil methodnya.

Sintak

static Integer valueOf(int i);
static Integer valueOf(String s);

Contoh:

public class ValueOfDemo{
    public static void main(String[] args){
        Integer a = Integer.valueOf(10);
        Double b = Double.valueOf(15);
        Integer c = Integer.valueOf("100");
        
        System.out.println("Nilai dari a adalah "+a);
        System.out.println("Nilai dari b adalah "+b");
        System.out.println("Nilai dari c adalah "+c);
    }
}

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Thursday, February 20, 2014

Number Class di Java

0 comments

Pendahuluan


Biasanya apabila kita melakukan operasi matematika, maka kita sering memakai tipe data primitive seperti int, double, byte, long, dll.

Tapi adakalanya, ketika kita men-develop suatu program kita lebih membutuhkan object daripada primitive. Untungnya, Java telah menyediakan wrapper class untuk tipe data primitive tersebut.

Semua wrapper class (Integer, Double, Short, Byte, Float, Long) merupakan kelas turunan dari kelas abstract Number.
Java Number Class


Auto Box dan Unbox

Sebelum Java 1.5, biasanya kita melakukan hal di bawah ini untuk mengubah tipe data primitif ke wrapper nya.

int i = 5;
Integer myInt = new Integer(i);

Tetapi pada Java 1.5, kita dipermudah dengan adanya fasilitas Auto Boxing, seperti di bawah ini:

int i = 5;
Integer myInt = i;


Method di Kelas Number

Dibawah ini adalah method-method yang sering di gunakan pada class Number:

  • valueOf()
  • Mengembalikan objek Number yang sesuai untuk menyimpan nilai dari parameter yang dilempar.
  • parseInt()
  • Mengembalikan nilai tipe data primitive dari sebuah String.
  • abs()
  • digunakan untuk menghitung nilai mutlak dari suatu bilangan. Jika bilangan itu negatif, otomatis menjadi positif.
  • ceil()
  • compareTo()
  • xxxValue()
  • toString()
  • floor()
  • round()
  • max()
  • min()
  • exp()
  • log()
  • pow()
  • sin()
  • cos()
  • tan()
  • asin()
  • acos()
  • atan()
  • sqrt()
  • toDegrees()
  • toRadians()
  • random()
  • Digunakan untuk menghasilkan bilangan random.

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Decision Making di Java

0 comments

Pendahuluan

Decision Making (Percabangan) berfungsi untuk menyeleksi suatu kondisi di program, apakah bernilai true atau false.

if

Sintaks:

if(boolean_expression){
     // statement yang akan dijalankan bila true
}

Contoh:

public class IfDemo{
    public static void main(String[] args){
        int i = 7;
        if(i < 10){
            System.out.println("Nilai dari i === "+i);
        }
    }
}

if..else

Sintaks:

if(boolean_expression){
     // statement akan di jalankan jika kondisi true;
}else{
     // statement akan di jalankan jika kondisi salah; 
}

Contoh :

public class IfElseDemo{
    public static void main(String[] args){
        int i = 7;
        if(i == 7){
           System.out.println("nilai i adalah 7 ");
        }else{
           System.out.println("nilai i tidak sama dengan 7 ");
        }
    }
}

if...else if...else

Sintaks:

if(boolean_expression){
     // statement akan di jalankan jika kondisi terpenuhi;
}else if(boolean_expression2){
     // statement akan di jalankan jika kondisi terpenuhi;
}else if(boolean_expression3){
    // statement akan di jalankan jika kondisi terpenuhi;
}else{
    // statement di jalankan jika kondisi diatas tidak terpenuhi;
}

Contoh :

public class IfElseIfDemo{
    public static void main(String[] args){
         int i = 20;
         if(i == 10){
             System.out.println("nilai i adalah 10");
         }else if(i == 15){
             System.out.println("nilai i adalah 15");
         }else if (i == 20){
             System.out.println("nilai i adalah 20");
         }else{
             System.out.println("nilai i adalah 30");
    }
}

Nested if..else

Sintaks:

if(boolean_expression1){
     // statement dijalankan bila kondisi bernilai true.
     if(boolean_expression2){
         // statement akan dijalankan bila boolean_expression2 bernilai true.
     }
}

Contoh:

public class NestedIfDemo{
   public static void main(String[] args){
      int x = 20;
      int y = 15;
      if(x == 20){
         if(y==15){
            System.out.println(" isi x = 20 dan isi y = 15");
         }
      }
   }
}

switch

Sintak:

switch(expression){
    case value :
         //statement1
         break; //optional
    case value :
         //statement2:
         break; //optional
    default : //optional
         //statement
}

Contoh:

public class SwitchDemo{
    public static void main(String[] args){
       char nilai = 'C';
       switch(nilai){
          case 'A' :
              System.out.println("Excellent");
              break;
          case 'B' :
              System.out.println("Good");
              break;
          case 'C' :
              System.out.println("Enough");
              break;
          case 'D' :
              System.out.println("You must try again");
              break;
          default:
              System.out.println("Invalid grade");
       }
    }
}

Catatan:

  • Variabel hanya boleh bertipe byte, shit, int, char.
  • Nilai case harus bertipe data yang sama dengan variable.
  • Jika tidak ada case yang sesuai, maka blok default yang akan dijalankan.

Penutup

Sekian tutorial kali ini, semoga bermanfaat.

Tuesday, February 18, 2014

Looping Control di Java

0 comments

Pendahuluan

Perulangan / Looping berperan vital dalam dunia programming. Dengan Looping, anda bisa mempersingkat penulisan kode program.

Di Java, kita mengenal beberapa jenis perulangan yaitu :

  • while Loop
  • do..while Loop
  • for Loop
  • Enhance for Loop (Java 1.5 or higher)

while Loop

Sintaks:

while(kondisi){      
    //statement yang harus dijalankan
}

Contoh :

public class WhileDemo{
     // Program ini akan mencetak bilangan 1-10

     public static void main(String[] args){
         int i = 1;
         while(i <= 10){
               System.out.println(i);
               i++;
         }
     }
}

do..while Loop

Sintaks:

do{
    //statement yang harus di jalankan
}while(kondisi)

Contoh :

public class DoWhileDemo{
     // Program ini akan mencetak bilangan 1-10
     public static void main(String[] args){
          int i = 1;
          do{
               System.out.println(i);
               i++;
          }while(i<=10);
     }
}

for Loop

Sintaks:

for(inisialisasi; kondisi; iterasi){
    // statement yang akan dijalankan
}

Contoh:

public class ForDemo{
     public static void main(String[] args){
         for(int i = 0; i < 10; i++){
             System.out.println(i);
         }
     }
}

Enhanced for Loop

Sintaks:

for(Object object : listOfObject){
     //statement yang akan di jalankan
}

Contoh:

public class EnhanceForDemo{
     public static void main(String[] args){
          String[] namaMahasiswa = new String{"Rani","Dudu","Budi"};
          for(String mahasiswa : namaMahasiswa){
                System.out.println(mahasiswa);
          }
     }
}

Break Keyword

Kata kunci break digunakan untuk menghentikan proses looping.

Contoh :

public class BreakDemo{
     public static void main(String[] args){
         int i = 0;
         for(int i = 1; i < 20; i++){
              if(i = 10){
                  break;
              }
              System.out.println(i);
         }
     }
}

Continue Keyword

Kata kunci continue digunakan untuk memaksa program melanjutkan proses looping ketika terjadi statement yang diinginkan.

Implementasinya misalkan, kita ingin mencetak bilangan bilangan genap dari dari 1-100, maka apabila menemukan bilangan itu genap, proses looping akan dilanjutkan.

Contoh :

public class ContinueDemo{
   public static void main(String[] args){
       for(int i = 1; i <= 100; i++){
           System.out.print(i + " " );
           if(i%2 == 0){
              continue;
           }

           System.out.println("Akhir statement yang di eksekusi");
       }
   }
}

Penutup

Demikian tutorial kali ini, semoga bermanfaat.