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)