3 - Materi JDBC
3 - Materi JDBC
Dasar Teori
Java menyediakan standard API (application programming interface) untuk pengembangan program
aplikasi basis data (database) yang disebut dengan JDBC API. JDBC adalah API Java untuk memanipulasi
basis data. Dengan JDBC API, para pengembang aplikasi dan applet Java diberi kemudahan untuk
mengakses berbagai tipe basis data dari berbagai penyedia basis data (database vendors) seperti
MySQL Server, SQL Server, Oracle, Sybase dan sebagainya. Hal-hal yang perlu dipersiapkan untuk
memulai JDBC adalah persiapan database dan install JDBC Driver.
Persiapan Database
Install Xampp dari https://www.apachefriends.org/download.html. Jika sudah, jalankan MySQL server
dan Apache server melalui Xampp Control Panel. Masuk ke localhost/phpmyadmin melalui browser.
Jika belum ada database, create new database.
JDBC Library
JDBC adalah suatu fitur di Java yang memungkinkan kita untuk melakukan koneksi ke hampir semua
sistem RDBMS yang ada saat ini, eksekusi perintah SQL, dan memproses hasil perintah SQL melalui
program Java. Library JDBC terdiri atas class-class yang berguna untuk setiap tasks di dalam
pemrosesan database, misalnya class untuk: (1) membuat koneksi ke database, (2) membuat
statement menggunakan SQL, (3) mengeksekusi query SQL (statement) di dalam database, (4)
menampilkan records yang dihasilkan dan (5) semua class-class JDBC adalah bagian dari java.sql
package.
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
JDBC Driver
Sebelum Anda dapat menulis program Java yang mengakses database melalui JDBC, pertama-tama
Anda harus meng-instal sebuah Driver yang menghubungkan class-class di dalam Java’s database API
dengan database yang akan digunakan. Untuk setiap database yang ada di pasaran saat ini, hampir
semuanya memiliki driver JDBC-nya. Biasanya driver ini dapat didownload secara gratis melalui
website perusahaan database masing-masing. Driver ini seringkali disebut juga sebagai “connector”.
Untuk NetBeans IDE, letakkan connector ini di folder Libraries.
Class.forName("com.mysql.jdbc.Driver");
Perlu diingat bahwa method forName memiliki exception, sehingga kita harus memasukkan
statement ini dalam blok try-catch, seperti berikut :
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException){
// error handling
}
try-catch untuk exception ini. Lihat pada percobaan 1 yang merupakan sebuah method yang me-
return objek Connection yang berfungsi sebagai penghubung ke database MySQL.
Statement st = con.createStatement();
Statement adalah interface yang memiliki method penting untuk mengirimkan perintah ke
database dan mengembalikan hasil querynya. Gunakan method executeQuery method untuk
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
ResultSet : interface ResultSet merepresentasikan baris yang dihasilkan dari queri. ResultSet
menyediakan method untuk berpindah dari baris ke baris database.
String query = "SELECT * FROM books";
ResultSet rs = st.executeQuery(query);
Note: Apabila ingin melakukan insert / update / delete, gunakan st.executeUpdate(query);
while (rs.next()){
System.out.println(rs.getString(1) + " " + rs.getString(2));
}
Kode di atas akan menampilkan semua baris hasil query yang masing-masing menampilkan data
kolom pertama dan kedua.
st.close();
Untuk menutup koneksi ke basis data, kita tuliskan sebagai berikut :
conn.close();
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Percobaan
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Setelah selesai membuat form tersebut, klik Source pada frame tersebut, kemudian tambahkan
kode berikut sebelum deklarasi Class Frame:
import javax.swing.table.DefaultTableModel;
import java.sql.Connection;
import java.sql.*;
import javax.swing.JOptionPane;
Kita akan membuat JTable dengan mode DefaultTableModel. Dengan menggunakan model
default kita dapat memanaje tabel sesuai yang kita inginkan melalui kode program. Berikut ini
kita akan mengubah tampilan JTable melalui method Tabel() sebagai berikut:
Buat sebuah method Tabel() di dalam class JKaryawan sebagai berikut:
private void Tabel() {
tabel= new DefaultTableModel();
tabel.addColumn("ID");
tabel.addColumn("Nama");
tabel.addColumn("NIK");
tabel.addColumn("Alamat");
tabel.addColumn("Telepon");
tabelKaryawan.setModel(tabel);
}
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Method di atas berfungsi untuk mengubah tampilan JTable menjadi 5 kolom dengan nama
ID, Nama, NIK, Alamat dan Telepon. Kita tidak perlu modifikasi pada JTable nya, jadi
cukup diubah melalui kode program saja.
Buatlah class baru dengan nama "koneksi.java". Sebelum memulai menuliskan code untuk
koneksi java silahkan tambahkan library JDBC driver ke dalam project dengan cara Klik
kanan pada Libraries > ADD Jar / Folder dan pilih file MySQL JDBC Driver yang bisa
kamu download di situs resminya.
Atau kalau JDBC Driver sudah terinstall, maka tinggal kita Add Library di projectnya,
caranya:
- Klik Libraries, kemudian Klik Add Library, pilih MySQL JDBC Driver, Klik Add
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Apakah class koneksi sudah berhasil dibuat tanpa ada pesan error?? Jika iya, maka kita ke
tahap selanjutnya.
try{
//panggil koneksi db
con = (Connection)latihanjdbc.koneksi.koneksiDB();
sql = "select * from data";
stm = con.createStatement();
rs = stm.executeQuery(sql);
while (rs.next()) {
Object [] o = new Object[5];
o[0]=rs.getString("id");//sesuaikan dg nama di database
o[1]=rs.getString("nama");
o[2]=rs.getString("nik");
o[3]=rs.getString("alamat");
o[4]=rs.getString("telp");
tabel.addRow(o);
}
rs.close();
stm.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Koneksi gagal!" +
e.getMessage());
}
}
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Source Code menampilkan data JTable yang dipilih pada tiap TextField.
Setiap data yang ditampilkan pada Jtable dapat di klik, kemudian data yg di-klik akan muncul
pada tiap TextField dan bisa di-edit.
Klik kanan pada Jtable (tabelKaryawan), pilih Events, pilih Mouse, pilih MouseClicked.
Berikut adalah kodingnya:
private void tabelKaryawanMouseClicked(java.awt.event.MouseEvent evt) {
int pilih = tabelKaryawan.getSelectedRow();
databaru=false;
if (pilih == -1) {
return;
}
String id = (String) tabel.getValueAt(pilih, 0);
tfID.setText(id);
String nama = (String) tabel.getValueAt(pilih, 1);
tfNama.setText(nama);
String nik = (String) tabel.getValueAt(pilih, 2);
tfNIK.setText(nik);
String alamat = (String) tabel.getValueAt(pilih, 3);
tfAlamat.setText(alamat);
String telp = (String) tabel.getValueAt(pilih, 4);
tfTelepon.setText(telp);
}
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA
-Pemrograman Berorientasi Objek Lanjut-
Catatan: Untuk meng-input data baru kilik Tombol New lebh dulu
Kesimpulan :
- Materi di atas adalah proses CRUD (create, retrieve, update , delete) menggunakan
JDBC standar.
- Proses pengoahan data melibatkan query SQL pada kode program.
- Pada tahap selanjutnya, kita akan menggunakan Hibernate dan Object Relational
Mapping (ORM) untuk memodifikasi data.
- Hal ini dilakukan agar program berjalan sesuai dengan konsep Object Oriented
Programming dan mengurangi database programming oriented.
Fakultas Teknik
Prodi Teknik Informatika
UNIVERSITAS WIJAYA PUTRA