12
PRAKTIKUM DATABASE MODUL KONEKSI ORACLE JAVA DAN VIEW TABLE LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013

Koneksi Dan View Table

  • Upload
    somness

  • View
    39

  • Download
    3

Embed Size (px)

DESCRIPTION

pemrograman : menghubungkan oracle dengan netbeans

Citation preview

PRAKTIKUM DATABASE

MODUL

KONEKSI ORACLE JAVA DAN VIEW TABLE

LABORATORIUM REKAYASA PERANGKAT LUNAK

TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2013

PEMBAHASAN

KONEKSI ORACLE DENGAN JAVA

Agar bahasa Pemrograman Java (Netbeans) dengan Oracle dapat terhubung, di perlukan

koneksi menggunakan library yang sudah tersedia, ikuti langkah berikut :

Buat Project Baru dengan nama Database

Tambahkan Library ojdbc

Letak library pada C:\Oracle\app\oracle\product\10.2.0\server\jdbc\lib

Tambahkan semua library

Jika berhasil menambahkan hasilnya sebagai berikut :

Buat Class baru dengan nama koneksiOracle

Masukkan sourcecode berikut :

Pastikan user dan password sesuai dengan user yang ada pada oracle

import java.sql.*;

public class koneksiOracle {

String db = "jdbc:oracle:thin:@localhost:1521:XE";

String user = "hr"; //ini user oracle

String pass = "123456"; //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;

}

}

Buat Tampilan Login Oracle

Buat JFrame baru dengan nama LoginForm

Buat Tampilan Seperti Berikut :

Doble klik pada Button Login

Sehingga masuk Jbutton1ActionPerformed

Masukkan soucecode berikut

Import javax.swing.JOptionPane;

Dibawah Constructor keikkan

Public static LoginAction myLgn;

Tampak seperti 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 ViewCountries().setVisible(true);

} else {

JOptionPane.showMessageDialog(null,

"Login Anda tidak diterima server.\n"

+ "Silahkan di periksa ulang!", "Konfirmasi...",

javax.swing.JOptionPane.ERROR_MESSAGE);

}

Selanjutnya buat Class baru dengan nama LoginAction, Masukkan sourcecode berikut :

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;

}

}

Coba Run LoginForm

Masukan username dan password user oracle yang digunakan.

Jika Berhasil seperti berikut :

Koneksi Java dan Oracle berhasil di buat.

VIEW TABLE

Kali ini akan mencoba view table Countries yang sudah di sediakan di user HR

Buat Class Baru dengan nama tableCountries

Masukkan soucecode berikut :

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Vector;

import javax.swing.table.AbstractTableModel;

public class tableCountries extends AbstractTableModel {

private String kolom[] = {"Country ID", "Country Name", "Region ID"};

private Vector baris = new Vector();

private Connection conn = LoginForm.myLgn.getConnDB();

public tableCountries() {

getRecDB(null);

}

public void finalize() {

baris = null;

conn = null;

}

public void getRecDB(String kondisi) {

String query;

query = "SELECT * FROM countries";

if (kondisi != null) {

query = query + " WHERE " + kondisi;

}

query = query + " ORDER BY COUNTRY_ID asc";

try {

Statement statement = conn.createStatement();

ResultSet resultSet = statement.executeQuery(query);

baris.removeAllElements();

while (resultSet.next()) {

Object[] r = {resultSet.getString(1), resultSet.getString(2),

resultSet.getString(3)};

baris.addElement(r);

r = null;

}

}

Cermati Bagian Query, Untuk menampilkan table menggukan Query yang sudah di pelajari.

Untuk Object[] r = sesuaikan dengan jumlah Atribut yang ada pada table yang akan di

tampilkan

catch (java.sql.SQLException e) {

System.out.println("Error : " + e);

}

query = null;

}

public int getColumnCount() {

return kolom.length;

}

public int getRowCount() {

return baris.size();

}

public Object getValueAt(int rowIndex, int columnIndex) {

if (!baris.isEmpty()) {

Object r[] = (Object[]) baris.elementAt(rowIndex);

return r[columnIndex];

} else {

return null;

}

}

public String getColumnName(int columnIndex) {

return kolom[columnIndex];

}

public void setValueAt(Object aValue, int row, int column) {

Object[] r = (Object[]) baris.elementAt(row);

r[column] = aValue;

baris.setElementAt(r, row);

fireTableCellUpdated(row, column);

}

public boolean isCellEditable(int row, int column) {

return false;

}

}

Selanjutnya, buat Jfrom baru dengan nama ViewCountries

Buat seperti berikut :

Klik kanan pada table yang sudah dibuat, pilih properties

Pilih Model, klik pada [...]

Pada Set jTable1’s model property using :

Gunakan yang Custom code

Dan isikan nama Class table yang sudah di buat sebelumnya:

Setelah Table terbuat, kembali ke LoginForm

Doble klik button Login, pada jButton1ActionPerformed

Tambahkan code

New ViewCountris().setVisible(true)

Digunakan untuk menampilkan table ketika login berhasil.

Terakhir, jalankan LoginForm dan masukan username dan password hingga tampil table

Countries.

Hasil akhirnya seperti berikut :

Good Luck ..!!