KONEKSI POSTGRESQL PADA JAVA
(NETBEANS)
Landasan
Teori
Langkah-langkah Koneksi database
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. Impor
package java.sql
Pertama-tama
yang harus dilakukan sebelum Anda membuat program JDBC adalah mengimpor package
java.sql terbih dahulu, karena di dalam package java.sql tersebut terdapat
kelas-kelas yang akan digunakan dalam proses-proses berintekasi dengan database
server misalnya kelas DriverMaganer, Connection, dan ResultSet.
Hal ini
sangat penting dilakukan karena bagi pemula seringkali lupa untuk mengimpor
package yang kelas-kelas yang akan digunakan terdapat di dalamnya, sehingga
mengakibatkan kegagalan dalam mengkompile program Java.
Adapun
listing untuk mengimpor package java.sql adalah sebagai berikut :
Import java.sql.*;
Listing ini dituliskan sebelum Anda menulis kelas
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 PosqgreSQL 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.
Database
Server
|
Nama
Driver
|
JDBC-ODBC
|
sun.jdbc.odbc.JdbcOdbcDriver
|
MySQL
|
com.mysql.jdbc.Driver
|
PostgreSQL
|
org.postgresql.Driver
|
Microsoft
SQLServer
|
com.microsoft.jdbc.sqlserver.SQLServerDriver
|
Oracle
|
oracle.jdbc.driver.OracleDriver
|
IBM
DB2
|
COM.ibm.db2.jdbc.app.DB2Driver
|
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 DriverManager dengan
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
|
|
Microsoft
SQLServer
|
jdbc:microsoft:sqlserver://<nmHost>:<port>;
DatabaseName=<namaDatabase>
|
jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=Dbase
|
|
Oracle
|
jdbc:oracle:thin:@<nmHost>:<port>:<nmDB>
|
jdbc:oracle:thin:@localhost:1521:Dbase
|
|
IBM
DB2
|
jdbc:db2:<NamaDatabase>
|
jdbc:db2: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 querynya
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 adalah ResultSet,
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();
Pada pertemuan kali ini kita akan membahas tentang bagaimana cara
mengkoneksikan postgreSQL pada java (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
7. Add
JAR/Folder
8. Browse
file konektor PostgreSQL
9. ambil
file konektor, semisal :postgresql-9.0-801.jdbc4.jar atau versi yang lain.
10. Kemudian
open
11. Klik OK
13. Disitu
sudah tertanam driver Java DB dan jdbc.jar
Setelah kita menambah
libraries, kita membuat kelas baru, yang diberi nama kelas koneksi. Caranya
adalah kita klik kanan pada package, lalu pilih new, pilih new class. New class
tersebut kita beri nama koneksi. Lalu kita klik finish.
Lalu dalam kelas
tersebut kita tuliskan list program sebagai berikut :
Kemudian kita cek, apakah kita sudah berhasil membuat
koneksi atau belum. Caranya dengan menjalankan (run) program yang susdah kita
tulis tadi dengan (Shift+F6). Apabila berhasil maka akan keluar perintah
seperti ini.
Setelah membuat kelas koneksi, kita membuat class baru dengan jFrame Form. Caranya seperti saat kita membuat kelas koneksi.
Kemudian
kita membuat form seperti ini di kelas baru tersebut. Buatlah rancangan form
seperti ini, di kelas jFrame Form yang sudah kita beri nama tadi.
Setelah kita membuat form ini, kita
tinggal menambahkan event disetiap tombol-tombolnya
1. Simpan
2. Edit
Berikut
adalah list program untuk tombol edit
3. Hapus
Berikut
adalah list program untuk tombol hapus
4. Tampil
Berikut
adalah list program untuk tombol tampil
5. Reset
Perbedaan
Tidak ada
perbedaan yang mencolok pada praktikum ini. Perbedaannya hanya terletak pada
nama program yang dipakai dalam koneksi, yaitu PostgreSQL atau MySQL.
Manfaat
Agar pembaca dapat memahami dalam penggunaan Database
PostgreSQL dan Bahasa pemrograman Java untuk membuat suatu program aplikasi.

ngeri juga ya
BalasHapus