A. Landasan Teori
Untuk mengakses database dengan Java cukup mudah. API Java
yang perlu dipelajari ada dalam paket java.sql. Class-class yang berhubungan
dengan mengakses database antara lain Connection, Statement, PreparedStatement
dan ResultSet. Teknologi Java untuk mengakses database disebut JDBC. Dengan
JDBC kita dapat menciptakan koneksi ke database, mengirimkan perintah-perintah
sql dan memproses hasil eksekusi sql.
Hal lain yang dibutuhkan untuk mengakses database adalah
JDBC Driver. JDBC Driver berbeda untuk setiap database yang ada. Misalnya JDBC
Driver untuk PGSQL/MySQL akan berbeda dengan JDBC Driver untuk SQL Server atau
Oracle.
Aplikasi database yang dikembangkan menggunakan teknologi
Java tidak akan terikat dengan database yang digunakan. Maksudnya adalah kita dapat
bergonta-ganti database engine dari yang satu ke database engine yang lain
tanpa harus mengubah source program kita secara signifikan. Yang perlu diganti
hanyalah JDBC Driver yang digunakan.
Terdapat beberapa langkah yang secara umum harus dilakukan sehingga
aplikasi yang berbasis Java dapat berinteraksi dengan database server.
Langkah-langkah tersebut sebagai berikut :
1. Impor package java.sql
2. Memanggil Driver JDBC
3. Membangun Koneksi
4. Membuat Statement
5. Melakukan Query
6. Menutup Koneksi
1. Import Package
java.sqll
java.sql = Java Database Connectivity (JDBC) untuk mengakses
database.
Adapun listing untuk mengimpor package java.sql adalah
sebagai berikut :
Import java.sql.*;
2. Memanggil
Driver JDBC
Langkah pertama untuk melakukan koneksi dengan database
server adalah dengan memanggil JDBC Driver dari database server yang kita
gunakan. Driver adalah library yang digunakan untuk berkomunikasi dengan
database server. Driver dari setiap database server berbeda-beda, sehingga Anda
harus menyesuaikan Driver JDBC sesuai dengan database server yang Anda
gunakan.Berikut ini adalah listing program untuk memanggil driver JDBC.
Class.forName(namaDriver);
atau Class.forName(namaDriver).newInstance();
Kedua cara di atas memiliki fungsi yang sama yaitu melakukan
registrasi class driver dan melakukan intansiasi. Apabila driver yang dimaksud
tidak ditemukan, maka program akan menghasilkan exception berupa
ClassNotFoundException. Untuk menghasilkan exception apabila driver tidak
ditemukan, maka diperlukan penambahan try-catch. Adapun cara menambahkan
try-catch untuk penanganan error apabila driver tidak ditemukan, sebagai
berikut :
Try {
Class.forName(namaDriver);
} catch (ClassNotFoundException e) {
... Penanganan Error ClassNotFoundException
}
Contoh listing memanggil driver menggunakan MySQL adalah :
try {
Class.forName(“org.postgresql.Driver”);
} catch (ClassNotFoundException e) {
System.out.println(“Pesan Error : “ + e)
}
Berikut ini adalah daftar nama-nama driver dari beberapa
database server yang sering digunakan.
3. Membangun Koneksi
Setelah melakukan pemanggilan terhadap driver JDBC, langkah
selanjutnya adalah membangun koneksi dengan menggunakan interface Connection.
Object Connection yang dibuat untuk membangun koneksi dengan database server
tidak dengan cara membuat object baru dari interface Connection melainkan dari
class DriverManagerdengan menggunakan methode getConnection().
Connection koneksi =
DriverManager.getConnection(<argumen>);
Untuk menangani error yang mungkin terjadi pada proses
melakukan koneksi dengan database maka ditambahkan try-catch. Exception yang
akan dihasilkan pada proses ini adalah berupa SQLException. Adapun cara
penulisan listingnya adalah sebagai berikut :
try {
... koneksi database
} catch (SQLException sqle){
... penanganan error koneksi
}
Ada beberapa macam argumen yang berbeda dari methode
getConnection() yang dipanggil dari DriverManager, yaitu :
getConnection(String url)
Pada methode diatas hanya memerlukan argumen URL, sedangkan
untuk data user dan password sudah diikutkan secara langsung. Adapun penulisan
nilai sebagai berikut :
jdbc:<DBServer>://[Host][:Port]/<namaDB>?<user=User>&<password=Pasword>
Berikut ini contoh penggunaan methode ini didalam program :
try {
String url = “jdbc: postgresql://localhost:3306/Dbase? User
= adi & password= pas”;
Connection koneksi = DriverManager.getConnection(url);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal
dilakukan”);
}
getConnection(String url, Properties info)
Pada methode ini memerlukan URL dan sebuah object
Properties. Sebelum menggunakan methode ini, Anda harus melakukan import
package berupa java.util.*, ini dikarenakan object Properties terdapat pada
package tersebut. Object Properties berisikan spesifikasi dari setiap parameter
database misalnya user name, password, autocommit, dan sebagainya. Berikut ini
contoh penggunaan methode ini didalam program :
try {
String url = “jdbc:
postgresql://localhost:5432/praktikumdbd”;
Properties prop = new java.util.Properties(); // tidak
mengimpor kelas
prop.put(“user”,”NamaUser”);
prop.put(“password”,”datapassword”);
Connection koneksi = DriverManager.getConnection(url, prop);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal
dilakukan”);
}
getConnection(String url, String user, String password)
Pada methode ini memerlukan argumen berupa URL, user name,
dan password. Methode ini secara langsung mendefinisikan nilai URL, user name
dan password. Berikut ini contoh penggunaan methode ini didalam program :
try {
String url = “jdbc: postgresql://localhost:5432/
praktikumdbd”;
String user = “adi”
String password “ternate”
Connection koneksi = DriverManager.getConnection(url, user,
password);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal
dilakukan”);
}
Berikut ini adalah daftar penulisan URL dari beberapa
database server yang sering digunakan.
Database Server Nama URL Contoh penggunaan
JDBC-ODBC jdbc:odbc:<NamaDatabase> jdbc:odbc:Dbase
MySQL
jdbc:mysql://<nmHost>:<port>/<nmDB>
jdbc:mysql://localhost:3306/Dbase
PostgreSQL
jdbc:postgresql://<nmHost>:<port>/<nmDB>
jdbc:postgresql://localhost:5432/Dbase
4. Membuat Statement
JDBC API menyediakan interface yang berfungsi untuk
melakukan proses pengiriman statement SQL yang terdapat pada package java.sql.
Statement yang ada secara umum digunakan terdiri dari berikut :
Statement
Interface ini dibuat oleh methode
Connection.createStatement(). Object Statement digunakan untuk pengiriman
statement SQL tanpa parameter serta Setiap SQL statement yang dieksekusi
dikirim secara utuh ke database.
Statement stat = Connection.createStatement();
PreparedStatement
Interface ini dibuat oleh methode
Connection.prepareStatement(). Object PreparedStatement digunakan untuk
pengiriman statement SQL dengan atau tanpa parameter. Interface ini memiliki
performa lebih baik dibandingkan dengan interface Statement karena dapat menjalankan
beberapa proses dalam sekali pengiriman perintah SQL, pengiriman selanjutnya
hanya parametered querynta saja.
PreparedStatement stat = Connection.prepareStatement();
5. Melakukan Query
Setelah kita memiliki object statement, kita dapat
menggunakannya untuk melakukan pengiriman perintah SQL dan mengeksekusinya.
Methode eksekusi yang digunakan untuk perintah SQL terbagi menjadi dua bagian
yaitu untuk perintah SELECT methode eksekusi yang digunakan adalah
executeQery() dengan nilai kembaliannya adalahResultSet, dan untuk perintah
INSERT, UPDATE, DELETE
methode eksekusi yang digunakan adalah executeUpdate().
Berikut ini adalah contoh melakukan eksekusi perintah SQL
dan mengambil hasilnya (ResultSet) dengan menggunakan perintah SELECT :
String sql = “SELECT kode, nama, alamat, kelas FROM
dataSiswa”;
ResultSet set = stat.executeQuery(sql);
while (set.next()) {
String kode = set.getString("kode");
String nama = set.getString("nama");
String alamat = set.getString("alamat");
String kelas = set.getString("kelas");
}
Berikut ini adalah contoh melakukan eksekusi perintah SQL
dengan menggunakan perintah DELETE.
String sql = "DELETE FROM data_siswa WHERE kode =
“1234”;
PreparedStatement stat = konek.prepareStatement(sql);
stat.executeUpdate();
6. Menutup Koneksi
Penutupan terhadap koneksi database perlu dilakukan agar
sumber daya yang digunakan oleh object Connection dapat digunakan lagi oleh
proses atau program yang lain. Sebelum kita menutup koneksi database, kita
perlu melepas object Statement dengan kode sebagai berikut :
statement.close();
Untuk menutup koneksi dengan database server dapat kita
lakukan dengan kode sebagai berikut :
connection.close();
Praktek Langkah-langkah Koneksi database dengan java di
Netbeans. Materi kali ini akan sedikit membubuhkan tutorial untuk pengkoneksian
dan penyampaian contohnya. Seperti berikut langkah-langkahnya :
1. buatlah project baru pada netbeans
2. pada project tersebut, klik kanan – properties
3. pilih Libraries pada list Properties
4. add Library
5. add JAR/Folder
6. browse file konektor PostgreSQL
7. ambil file konektor, semisal
:postgresql-9.0-801.jdbc4.jar atau versi yang lain.
8. kemudian open
9. Klik OK
Hasil Praktikum
1.
Silakan buat sebuah project baru di netbeans
masing-masing.
2.
Masukkan tag Properties, lalu masukkan library,
dengan cara klik kanan di bagian Libraries dan klik Add Library > pilih PostgreSQL JDBC Driver-postgresql, dan Add
Library lagi.
3.
Buatlah class koneksi, kemudian masukkan script/
kode untuk mengoneksikan netbeans Anda ke database PostgrSQL atau terserah Anda
mau pakai apa, tapi sekarang kita pakai postgresql.
4.
Jika sudah, buat lagi sebuah class yang seperti
tampilan di bawah ini, bisa Anda buat dengan mudah dengan Jframe Form.
5.
Setelah itu, berilah kita beri aksi pada setiap
tombolnya, mulai dari cari, simpan, edit, hapus, tampil, dan reset.
kode reset.
6. Jika semuanya sudah berhasil, sekarang buat
sebuah project lagi, yang bentuk dan aksinya sama, hanya saja terdapat kelas
koneksi sendiri sehingga tidak menulis ulang pada pemanggilan driver jdbc, url,
dan koneksinya pada saat insert, update, delete dan tampil data juga.
Setelah
membuat class koneksi, tinggal dipanggil saja classnya di class form baru,
seperti di bawah ini.
Hasil simpan.
Hasil update.
Hasil Hapus.
Hasil Tampil.
Hasil reset.
Training Scriptcase di Indonesia, kunjungi www.OwenSolution.com
BalasHapus