BAB IX
KONEKSI
POSTGRESQL PADA JAVA (Netbeans)
A.
LANDASAN TEORI
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.
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 exceptio n 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.
Database
Server
|
Nama
Driver
|
JDBC-ODBC
|
sun.jdbc.odbc.JdbcOdbcDriver
|
MySQL
|
com.mysql.jdbc.Driver
|
PostgreSQL
|
org.postgresql.Driver
|
Oracle
|
oracle.jdbc.driver.OracleDriver
|
Microsoft SQLServer
|
com.microsoft.jdbc.sqlserver.SQLServerDriver
|
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=Pa
sword>
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>/<n
mDB>
|
jdbc:mysql://localhost:3306/Dbase
|
PostgreSQL
|
jdbc:postgresql://<nmHost>:<port>
/<nmDB>
|
jdbc:postgresql://localhost:5432/Dbas
e
|
Microsoft
SQLServer
|
jdbc:microsoft:sqlserver://<nmHost
>:<port>;
DatabaseName=<namaDatabase>
|
jdbc:microsoft:sqlserver://localhost:14
33;
DatabaseName=Dbase
|
Oracle
|
jdbc:oracle:thin:@<nmHost>:<port
>:<nmDB>
|
jdbc:oracle:thin:@localhost:1521:Dba
se
|
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();
B. Hasil Praktikum
Pada pertemuan kali ini kita akan membuat sebuah table dan akan kita koneksikan dengan database PostgreSql. yuk langsung saja ikuti langkah di bawah ini :
1. Pastikan kalau jdk dan Netbeans sudah terinstal di PC masing-masing :)
2. Buatlah sebuah project baru dan class baru pada Netbeans.
3. Masuk project, klik kanan pada Library kemudian add library. Pilih PostgreSQL JDBC Driver
4. Ketikkan source code di bawah ini, pada class koneksi yang sudah kita buat.
5. kemudian, buat juga class baru, bisa menggunakan class JFrame. berikut gambaran tablenya.
6. Berikan action tiap komponen yang ada pada table,. dan ketikkan source code di bawah ini.
a. Pada Button Simpan
b. Pada Button Edit
c. Pada Button Hapus
d. Pada Button Tampil
e. Pada Button Reset
f. Pada Button Cari
7. Jika semua sudah berhasil, selanjutnya buat class baru,. dan panggil class koneksi yang sudah kita buat dan tuliskan source codenya di bawah public class, agar tidak menulis ulang pemanggilan driver JDBC , url, dan koneksinya pada saat insert, update, delete, dan viewnya.
8. jika sudah,. berikan Action tiap tombolnya, dan ketikkan source code di bawah ini.
a. Pada Button Simpan
b. Pada Button Edit
c. Pada Button Hapus
d. Pada Button Tampil
e. Pada Button Reset
f. Pada Button Cari
9. ketika semua sudah selesai, kemudian running programnya.
a. Pada Saat Simpan
coba isikan setiap formnya, kemudian klik tombol simpan.
berikut ini adalah reaksinya, ketika kita sudah klik tombol simpan
b. Pada saat Edit
pada saat edit ini, kita harus menegtahui terlebih dahulu NIM mahasiswa yang akan kita edit.
berikut ini adalah reaksinya saat kita klik tombol edit
c. Pada saat Hapus
pada saat hapus ini, kita cukup memasukkan data berupa NIM yang akan kita hapus datanya.
berikut ini adalah reaksinya saat kita klik tombol hapus.
d. Pada saat Cari
pada saat kita mencoba mencarai data yanag ada pada postgresql, kita cukup memasukkan
NIM saja, maka kita akan mengetahui semua datanya. yang akan di tampilkan pada setiap
form.
berikut ini adalah reaksinya saat kita klik tombol cari
berikut ini adalah reaksinya saat kita klik tombol reset, form akan kembali kosong seperti awal
f. Pada saat Tampil
Pada saat tampil ini kita hanya cukup memasukkan NIM saja, kemudian data mahasiswa akan
ditampilkan pada textfield yang ada di samping tombol reset.
berikut ini adalah reaksinya saat kita klik tombol tampil
dan selamat mencoba.. :)
C. Kesimpulan
pada praktikum kali ini, kita butuh ketelitian seperti pada saat mengoneksikan database postgreSQL dengan Netbeans,database yang kita pakai pada program ini harus sesuai dengan database yang ada pada postgreSQL yang kemarin-kemarin sudah kita buat pada pertemuan sebelumnya, hal yang harus di perhatikan juga adalah, kita harus add Library kita, dengan PostgreSQL JDBC Driver.
dan yang terakhir, semoga pengerjaan praktikum kali ini bisa bermanfaat bagi halayak umum,.. :)
D. Daftar Pustaka
https://gipculart.wordpress.com/2011/12/16/koneksi-postgresql-ke-javanetbeans/
http://pgdbx.blogspot.com/2013/01/membuat-koneksi-java-ke-postgresql.html
Musthafa,Aziz. 2014. Modul Praktikum Desain Basis Data 2014
Pada pertemuan kali ini kita akan membuat sebuah table dan akan kita koneksikan dengan database PostgreSql. yuk langsung saja ikuti langkah di bawah ini :
1. Pastikan kalau jdk dan Netbeans sudah terinstal di PC masing-masing :)
2. Buatlah sebuah project baru dan class baru pada Netbeans.
3. Masuk project, klik kanan pada Library kemudian add library. Pilih PostgreSQL JDBC Driver
4. Ketikkan source code di bawah ini, pada class koneksi yang sudah kita buat.
5. kemudian, buat juga class baru, bisa menggunakan class JFrame. berikut gambaran tablenya.
6. Berikan action tiap komponen yang ada pada table,. dan ketikkan source code di bawah ini.
a. Pada Button Simpan
b. Pada Button Edit
c. Pada Button Hapus
d. Pada Button Tampil
e. Pada Button Reset
f. Pada Button Cari
7. Jika semua sudah berhasil, selanjutnya buat class baru,. dan panggil class koneksi yang sudah kita buat dan tuliskan source codenya di bawah public class, agar tidak menulis ulang pemanggilan driver JDBC , url, dan koneksinya pada saat insert, update, delete, dan viewnya.
8. jika sudah,. berikan Action tiap tombolnya, dan ketikkan source code di bawah ini.
a. Pada Button Simpan
b. Pada Button Edit
c. Pada Button Hapus
d. Pada Button Tampil
e. Pada Button Reset
f. Pada Button Cari
9. ketika semua sudah selesai, kemudian running programnya.
a. Pada Saat Simpan
coba isikan setiap formnya, kemudian klik tombol simpan.
berikut ini adalah reaksinya, ketika kita sudah klik tombol simpan
b. Pada saat Edit
pada saat edit ini, kita harus menegtahui terlebih dahulu NIM mahasiswa yang akan kita edit.
berikut ini adalah reaksinya saat kita klik tombol edit
c. Pada saat Hapus
pada saat hapus ini, kita cukup memasukkan data berupa NIM yang akan kita hapus datanya.
berikut ini adalah reaksinya saat kita klik tombol hapus.
d. Pada saat Cari
pada saat kita mencoba mencarai data yanag ada pada postgresql, kita cukup memasukkan
NIM saja, maka kita akan mengetahui semua datanya. yang akan di tampilkan pada setiap
form.
berikut ini adalah reaksinya saat kita klik tombol cari
e. Pada saat Reset
Reset ini berguna saat kita ingin mengganti data yang salah saat kita memasukkan data pada
form.
Pada saat tampil ini kita hanya cukup memasukkan NIM saja, kemudian data mahasiswa akan
ditampilkan pada textfield yang ada di samping tombol reset.
berikut ini adalah reaksinya saat kita klik tombol tampil
dan selamat mencoba.. :)
C. Kesimpulan
pada praktikum kali ini, kita butuh ketelitian seperti pada saat mengoneksikan database postgreSQL dengan Netbeans,database yang kita pakai pada program ini harus sesuai dengan database yang ada pada postgreSQL yang kemarin-kemarin sudah kita buat pada pertemuan sebelumnya, hal yang harus di perhatikan juga adalah, kita harus add Library kita, dengan PostgreSQL JDBC Driver.
dan yang terakhir, semoga pengerjaan praktikum kali ini bisa bermanfaat bagi halayak umum,.. :)
D. Daftar Pustaka
https://gipculart.wordpress.com/2011/12/16/koneksi-postgresql-ke-javanetbeans/
http://pgdbx.blogspot.com/2013/01/membuat-koneksi-java-ke-postgresql.html
Musthafa,Aziz. 2014. Modul Praktikum Desain Basis Data 2014
0 comments:
Posting Komentar