Anda di halaman 1dari 6

RBD Pemrograman Visual D3Mi-38-02

Koneksi Java GUI-Database


Untuk memberikan data pada GUI yang diambil dari database Oracle, ada beberapa langkah yang harus
dilakukan:

1. Membuat class koneksi


2. Membuat GUI
3. Menambahkan kode pengaksesan data
4. Pastikan telah menambahkan library JDBC terkait sebelum run GUI

Langkah di atas bersifat optional, dan memiiki variasi langkah yang beragam. Langkah tersebut dilakukan
pada kelas Pemr. Visual tanggal 13 November 2015.

Langkah pertama, yaitu membuat class KoneksiDB. Class ini telah dipelajari di kuliah Pemrograman
Berorientasi Objek dan sudah dipraktikkan juga oleh kakak asisten. Class tersebut berisikan kode sebagai
berikut:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class KoneksiDB {


private final String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
private final String DB_URL="jdbc:oracle:thin:@localhost:1521:XE";
private final String UNAME="xxxxx";
private final String PWD=" xxxxx ";
private Connection conn;

public void bukaKoneksi(){


try {
Class.forName(DB_DRIVER);
conn = DriverManager.getConnection(DB_URL,UNAME,PWD);
} catch (ClassNotFoundException ex) {
System.out.println("Error Driver: "+ex);
} catch (SQLException ex) {
System.out.println("Error Connection: "+ex);
}
}

public Connection getConn() {


return conn;
}
}
Note: isi dari UNAME dan PWD menyesuaikan
RBD Pemrograman Visual D3Mi-38-02

Langkah kedua, buat sebuah JFrame dengan menggunakan GUI Builder:

Sesuai kesepakatan di kelas, pastikan di atas JFrame terdapat JPanel. Di atas JPanel dapat diletakkan
JTable (pada gambar di atas, merupakan kotak kosong karena pada model, row dan column telah di-set
dengan nilai 0).

Langkah berikutnya, berikan kode berikut (penulisan atribut) pada class yang meng-extends JFrame:

DefaultTableModel model = new DefaultTableModel();


KoneksiDB koneksi = new KoneksiDB();
Connection conn = null;

Setelah atribut dituliskan, hubungkan model yang telah dibuat dengan tabel (nama menyesuaikan)
menggunakan method setModel() pada bagian konstruktor. Pastikan kode tersebut dituliskan di bawah
kode “initComponents”.

public NewJFrame() {
initComponents();
jTable1.setModel(model);
}
RBD Pemrograman Visual D3Mi-38-02

Setelah menge-set tabel dengan model, langkah berikutnya mengisi tabel dengan nama kolom yang
diinginkan, dan data yang berasal dari database. Untuk melakukan langkah tersebut, bentuk sebuah
method dengan isi sebagai berikut (kode akses data digabungkan dengan GUI—beberapa dosen
mengajarkan pemisahan antara akses data dan cara menampilkan data. Silahkan menyesuaikan):

public void populateTable() {


model.addColumn("ID Barang");
model.addColumn("Nama Barang");
model.addColumn("Stok");

//populate row
koneksi.bukaKoneksi();
conn = koneksi.getConn();
try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM Barang");
ResultSet rs = ps.executeQuery();

while (rs.next()) {
String nama = rs.getString(2);
String kode = rs.getString(1);
int stok = rs.getInt(3);
Object[] o = {kode, nama, stok};
model.addRow(o);
}
} catch (SQLException ex) {
System.out.println("Error Kueri: " + ex);
}
}

Kode merah menyatakan kode untuk mengatur nama header dari tabel. Sedangkan kode berwarna biru
untuk mengeksekusi kueri (kueri yang diberikan pada PreparedStatement silahkan disesuaikan dengan
nama tabel masing-masing).

Berikutnya, panggil method “populateTable()” pada konstruktor.

public NewJFrame() {
initComponents();
jTable1.setModel(model);
populateTable();
}

Class sudah dapat di-run. Akan tetapi, hasil run akan menampilkan adanya pelemparan eksepsi.
RBD Pemrograman Visual D3Mi-38-02

Hal ini dikarenakan untuk menjalankan program di atas dibutuhkan JDBC driver. Pada saat kelas PBO,
digunakan setting classpath atau penggunaan “-cp”. Pada Netbeans, hal yang dilakukan adalah
penambahan libraries pada bagian library. Pada gambar di bawah, perhatikan pada bagian Libraries,
hanya tersedia “JDK 1.8”.

Untuk menambahkan Libraries berupa ojdbc (versi menyesuaikan), dapat dilakukan dengan cara klik
kanan di bagian “Libraries”, pilih “Add JAR/Folder…”
RBD Pemrograman Visual D3Mi-38-02

Setelah window browser muncul, cari tempat peletakan file JDBC (ojdbc6.jar), lalu tekan “Open”. JDBC
yang digunakan akan muncul pada bagian Libraries. Perhatikan bahwa setiap 1 project memiliki 1
Libraries tersendiri. Sehingga, jika terdapat project baru, pastikan melakukan import kembali (jika JDBC
dibutuhkan).

Setelahnya, class dapat di-run kembali, dan berikut adalah hasilnya:

Agar tabel dapat dipilih tetapi tidak dapat diubah nilainya, hal yang perlu dilakukan adalah meng-
override method “isCellEditable” dari DefaultTable Model. Cara termudah untuk melakukannya yaitu
dengan menambahkan kurung kerawal buka dan kurung kerawal tutup dari baris penulisan
DefaultTableModel sebagai atribut class NewFrame (tambahkan sebelum titik koma).

DefaultTableModel model = new DefaultTableModel() {

};

Berikutnya, override method isCellEditable() pada area kosong antara kurung kerawal yang ditambahkan
pada saat membentuk objek DefaultTableModel. Hal ini dapat dilakukan dengan menekan Alt+Insert di
area kosong pada kurung kerawal (pastikan kursor aktif berada di area yang tepat. Kesalahan peletakan
kursor akan berdampak pada kesalahan bentuk override yang mungkin dilakukan).
RBD Pemrograman Visual D3Mi-38-02

Setelah menekan Alt+Insert, pilih “Override Method”, dan pilih “isCellEditable”.

Ganti bentuk override method menjadi pengembalian nilai “false”.

DefaultTableModel model = new DefaultTableModel() {


@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};

Setelah melakukan hal ini, tabel akan dapat terpilih, tapi tidak dapat di-edit walau diklik 2x pada area
tabel.

Explorasi Mandiri:

1. Penambahan tombol “Refresh Data Tabel” (hanya untuk melakukan pengecekan bahwa data
pada tabel merupakan data terbaru setelah tombol ditekan).
2. Penambahan formulir untuk memasukkan/mengubah nilai database.
3. Penambahan area search untuk data pada tabel.
4. Penambahan tombol delete.

Anda mungkin juga menyukai