Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

1 Jan 2011

Membuat Aplikasi Java Sederhana Menggunakan Database Oracle (Tahap 1)

Tujuan dari tutorial ini adalah untuk membuat aplikasi Java yang terkoneksi dengan database Oracle. Pada tahap 1 ini saya akan menerangkan mengenai bagaimana membuat form login untuk user di Oracle. Saya terangkan dari tiap langkahnya membuat project sampai berhasil login user Oracle melalui aplikasi Java. Sebelum mencoba tutorial ini, alangkah baiknya jika memahami tutorial saya tentang koneksi Java dan Oracle.






Langsung saja ikuti step by step berikut:
  1. Buatlah new project di Netbeans (New Project - Java - Java Application). Kemudian beri nama project tersebut.
  2. Tambahkan library ojdbc.jar yang ada di directory oracle C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib
  3. Pada project baru yang telah dibuat tersebut, buatlah Class baru (New - Java Class) dan beri nama koneksiOracle. Kemudian berikut isi source code koneksi dengan oracle.
    import java.sql.*;
    
    public class koneksiOracle {
    
    String db = "jdbc:oracle:thin:@localhost:1521:XE";
    String user = "mhs"; //ini user oracle
    String pass = "taurus"; //password oracle
    Statement stm = null;
    Connection co = null;
    
    public koneksiOracle() {
    }
    
    public Statement sambung() { //method utk memanggil driver oracle
    
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
    
    e.printStackTrace();
    }
    
    try {
    co = DriverManager.getConnection(db, user, pass);
    } catch (SQLException e) {
    
    e.printStackTrace();
    }
    
    try {
    stm = co.createStatement();
    } catch (SQLException e) {
    
    e.printStackTrace();
    }
    
    return stm;
    }
    }
  4. Buatlah class untuk action dari aplikasi login dengan nama class LoginAction.
    public class LoginAction {
    
    private String username;
    private String password;
    private String koneksi = "localhost";
    private boolean isOK = false;
    private String cURLDB;
    private java.sql.Connection conn;
    
    /** Creates a new instance of Login */
    public LoginAction() {
    this.username = "";
    this.password = "";
    }
    
    public LoginAction(java.lang.String cUser, java.lang.String passwd) {
    this.username = cUser;
    this.password = passwd;
    }
    
    @Override
    protected void finalize() {
    conn = null;
    }
    
    public String getUsername() {
    return this.username = "";
    }
    
    public String getPassword() {
    return this.password = "";
    }
    
    public boolean cekLogin() {
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    } catch (java.lang.ClassNotFoundException cnfe) {
    System.out.println("Error loading driver: " + cnfe);
    } catch (java.lang.InstantiationException e) {
    System.out.println("Error loading driver: " + e);
    } catch (java.lang.IllegalAccessException e) {
    System.out.println("Error loading driver: " + e);
    }
    
    String server = "127.0.0.1";
    String port = "1521";
    String sid = "XE";
    String url = "jdbc:oracle:thin:@" + server + ":" + port + ":" + sid;
    try {
    conn = java.sql.DriverManager.getConnection(url, username, password);
    conn.setAutoCommit(true);
    isOK = true;
    cURLDB = url;
    } catch (Exception e) {
    System.out.println(e);
    isOK = false;
    }
    return isOK;
    }
    
    public void closeConnDB() {
    try {
    conn.close();
    } catch (Exception e) {
    System.out.println("Tidak dapat menutup koneksi database!" + e);
    }
    conn = null;
    }
    
    public java.sql.Connection getConnDB() {
    return this.conn;
    }
    
    public boolean getIsOK() {
    return this.isOK;
    }
    }
  5. Buatlah form untuk frame login (New - JFrame Form) dan beri nama LoginForm. Seperti tampilan login berikut.
    Ingat bahwa field untuk password gunakan komponen Password Field yang ada di Palette. Dan untuk username gunakan Text Field.
  6. Pada button OK, klik kanan - Events - Actions - actionPerformed atau langsung double klik pada button OK. Kemudian tambahkan code berikut:
    String pass = new String(jPasswordField1.getPassword());
    myLgn = new LoginAction(jTextField1.getText(), pass);
    
    
    if (myLgn.cekLogin()) {
    setVisible(false);
    JOptionPane.showMessageDialog(this,"Connection Succes",
    "Welcome",JOptionPane.INFORMATION_MESSAGE);
    new MenuForm().setVisible(true);
    } else {
    
    JOptionPane.showMessageDialog(null,
    "Login Anda tidak diterima server.\n" +
    "Silahkan di periksa ulang!", "Konfirmasi...",
    javax.swing.JOptionPane.ERROR_MESSAGE);
    }
  7. Kemudian tambahkan code yang bercetak tebal berikut pada code LoginForm tersebut:
    import javax.swing.JOptionPane; 
    
    public class LoginForm extends javax.swing.JFrame {
    
    public static LoginAction myLgn; 
    
    /** Creates new form LoginForm */
    public LoginForm() {
    initComponents();
    }
  8. Buatlah form untuk menu utama (New - JFrame Form - beri nama MenuForm), dimisalkan setelah login berhasil maka form yang akan dipanggil adalah menu utama tersebut. Misal menu utamanya tampilannya seperti ini:
  9. Pada class main dari MenuForm tersebut, silahkan di hilangkan atau diberi tanda comment seperti ini agar tidak menggangu saat running project.
    //    public static void main(String args[]) {
    //        java.awt.EventQueue.invokeLater(new Runnable() {
    //            public void run() {
    //                new MenuForm().setVisible(true);
    //            }
    //        });
    //    }
  10. Kita coba apakah berhasil login atau tidak. Run Project.
    Masukkan username dan password dari user di Oracle anda.

    Konfirmasi bahwa koneksi berhasil.

    Maka akan masuk pada form menu utama:

5 komentar:

  1. gimana cara menampilkan skin aqua gitu ya, apa anda pake file jar lagi?

    BalasHapus
  2. Mohon scipt_nya klo koneksi pake TNSNAMES.

    BalasHapus
  3. Assalamualaikum, ijin download materinya bang admin, terima ksih sebelumnya.

    BalasHapus