Baiklah teman-teman semua..
See me again with all of my assignment.. ya you know that, right?? About DBD. Sekarang kita bakalan bahas tentang membuat "koneksi postgresql ke java (netbeans)". Langsung aja ya..
Langkah-langkah yang musti kita lakukan sebelum mengkoneksikan postgresql ke netbeans, ada beberapa langkah umum yang bisa membuat netbeans terhubung dengang database server, begini :
- Impor package java.sql
Kenapa ? karena di dalam package java.sql itu ada kelas-kelas yang bakalan dipake waktu proses berinteraksi sama database server, misal : KelasDriverManager, Connection, maupun ResultSet. Kalo nggak ngimpor package java.sql, nnti bakalan gagal buat ngompile javanya. listingnya begini : impor java.sql.*;
- Memanggil Driver JDBC
Driver itu library yang dipakai untuk komunikasi sama database server. Driver dari tiap database itu berbeda-beda, jadi musti menyesuaikan Driver JDBC nya yang sesuai sama database server yang dipakai. seperti ini listingnya :
Class.forName(NamaDriver); atau (Class.forName(namaDriver).newInstance();
Kedua Listing punya fungsi yang sama yaitu meregistrasi class driverdan melakukan instansi.
Daftar nama-nama driver dari beberapa database server yang sering dipakai
- Membangun Koneksi
Objek koneksinya kita pake dengan membuat class DriverManager dengan method getConnection().
Connection koneksi = DriverManager.getConnection(<argumen>);
Untuk nanganin eror ditambahin try-catch. Nih listingnya :
try {
... koneksi database
} catch (SQLException sqle){
... penanganan error koneksi }
Berikut ini ada daftar penulisan URL dari ebberapa database server
- Buat Statement
Statement yang ada secara umum digunakan terdiri dari berikut :
a.) StatementI
Ini dibuat dengan methode Connection.createStatement(). Object Statement dipakai untuk pengiriman statement SQL tanpa parameter serta Setiap SQL statement yang dieksekusi dikirim secara utuh ke database. Statement stat = Connection.createStatement();
b.) PreparedStatement
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();
- Melakukan Query
Abis punya objek statement, kita bisa pakai untuk mengirim perintah SQL dan ngeksekusi. Metode eksekusi terbagi jadi dua ,yaitu untuk perintah SELECT = executeQuery(), nilai kembalinya = ResultSet, sedangkan untuk perintah INSERT, UPDATE, DELETE = executeUpdate().
- Nutup Koneksi
Kenapa msuti nutup koneksi ? karena ini akan berpengaruh pada sumber daya yang dipakai oleh object connection , agar bisa dipakai lagi sama program lain. seperti ini statementnya menutup object statement :
statement.close();
Untuk nutup koneksinya sendiri dengan database server :
connection.close();
Dibawah ini ada langkah-langkah Koneksi Database dengan Java Netbeans :
- Buat projek baru pada netbeans
- Di projek tsb klik tanda panah
- Klik kanan pada libraries ,trus pilih add library
- Di Add library, pilih Java DB Driver
- Pilih add library lagi, klik kanan trus pilih add JAR/Folder
- Browse file konektor Postresql
- Ambil file konektor, misal : postgresql-9.0-801.jdbc4.jar atau versi yang lain ya boleh.
- Setelah itu Open
- Ok
- Seperti ini nantinya
- Di atas udah ada driver javaDB dan jdbc.jar
Sudah selesai, setelah itu bisa dilanjutin buat kelas.
*) HASIL PRAKTIKUM
- Buatlah koneksi seperti contoh listing kode diatas dengan database kalian masing2
2. Buatlah form pada netbeans dan buatlah tombol insert, update, delete, tampil dan pencarian seperti dibawah.
seperti ini hasilnya ..
3. Buat Event tiap tombol seperti contoh listing diatas dengan catatan memakai database praktikan sendiri dan menggunakan tabel mahasiswa. Untuk tampil, data munculkan pada jtabel atau text area.
gambar1.1 tombol cari
kita coba cari mahasiswa yang nim nya 18. begini jadinya ..
gambar1.2 tabel cari
Setelah itu ke tombol simpan
menuju ke aksi tombol edit, kaya begini..
Setelah itu ke tombol hapus..
Tombol Tampil..
nah, yang terakhir kita aksikan RESET..
4. Buatlah seperti nomor 2. Dengan aturan terdapat kelas koneksi sendiri sehingga tidak menulis ulang pemanggilan driver jdbc, url, dan koneksi nya pada saat insert,update, delete dan tampil data.
Sebelumnya kita lihat dulu tampilan tablenya, meskipun sama tapi saya buat berbeda di sisi warnanya
kita lihat tampilan kodingannya, berbeda dengan yang nomer 3, kita ngga perlu nulis ulang pemanggilan driver nya
sebelumnya kita ketik listingannya untuk ngoneksiin
public class soalke4 extends javax.swing.JFrame {
koneksi_postgre e = new koneksi_postgre();
untuk yang tombol CARI..
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String a = txtnim.getText();
try {
Statement statemen = e.conn.createStatement();
String sql = "select*from mahasiswa nim_mah = '" + a + "';";
ResultSet rs= statemen.executeQuery(sql);
if (rs.next()){
txtnim.setText(rs.getString(1));
txtnama.setText(rs.getString(2));
txtalamat.setText(rs.getString(3));
txtnoTelp.setText(rs.getString(4));
cbkode.setSelectedItem(rs.getString(5));
if (rs.getString(6) == "L"){
rbA.setSelected(true);
} else {
rbB.setSelected(true);
}
}else {
JOptionPane.showMessageDialog(null, "Data tidak ditemukan");
}
statemen.close();
JOptionPane.showMessageDialog(null,"Data ditemukan");
} catch (Exception ex){
System.out.print(ex);
}
}
Begini tampilannya ..
Untuk tombol SIMPAN..
listingannya :
private void jbsimpanActionPerformed(java.awt.event.ActionEvent evt) {
String nim = txtnim.getText();
String nama = txtnama.getText();
String alamat = txtalamat.getText();
String noTelp = txtnoTelp.getText();
String kode = (String)cbkode.getSelectedItem();
String gender = "";
if (rbA.isSelected()){
gender = "Laki-Laki";
}else if(rbB.isSelected()){
gender = "Perempuan";
}
try{
Statement statemen = e.conn.createStatement();
String sql = "insert into mahasiswa values ('" + nim + "', '" + nama + "', '" + alamat + "', '"+ noTelp +"', '"
+ kode + "', '" + gender + "')";
statemen.executeUpdate(sql);
statemen.close();
JOptionPane.showMessageDialog(null, " DATA MAHASISWA tersimpan");
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Maaf, DATA MAHASISWA belum tersimpan"+ e);
}
// TODO add your handling code here:
}
Hasilnya ..
Untuk Tombol EDIT
Listing :
private void jbeditActionPerformed(java.awt.event.ActionEvent evt) {
String nim = txtnim.getText();
String nama = txtnama.getText();
String alamat = txtalamat.getText();
String noTelp = txtnoTelp.getText();
String kode = (String)cbkode.getSelectedItem();
String gender = "";
if (rbA.isSelected()){
gender = "Laki-Laki";
}else if(rbB.isSelected()){
gender = "Perempuan";
}
try{
Statement statemen = e.conn.createStatement();
String sql = "update mahasiswa set nama_mah ='" + nama + "', alamat_mah='" + alamat + "', no_Telp='" + noTelp
+ "', id_fak='"+ kode +"', gender='"+ gender + "' where nim_mah='" + nim+"'";
statemen.executeUpdate(sql);
statemen.close();
JOptionPane.showMessageDialog(null, "DATA MAHASISWA teredit");
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Maaf, DATA MAHASISWA tidak teredit" + e);
}
// TODO add your handling code here:
}
Begini hasilnya..
Untuk tombol HAPUS..
Listing :
private void jbhapusActionPerformed(java.awt.event.ActionEvent evt) {
String nim = txtnim.getText();
try{
Statement statemen = e.conn.createStatement();
String sql = "delete from mahasiswa where nim_mah'"+ nim + "'";
statemen.executeUpdate(sql);
statemen.close();
JOptionPane.showMessageDialog(null, "DATA MAHASISWA terhapus");
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Maaf, DATA MAHASISWA tidak bisa terhapus");
// TODO add your handling code here:
}
}
Hasilnya
Untuk Tombol TAMPIL
Listing :
private void jbtampilActionPerformed(java.awt.event.ActionEvent evt) {
String nim = "";
String nama = "";
String alamat = "";
String noTelp = "";
String kode = "";
String gender = "";
try{
Statement statemen = e.conn.createStatement();
String sql = "select*from mahasiswa ";
ResultSet rs= statemen.executeQuery(sql);
while (rs.next())
{
nim = rs.getString("nim_mah");
nama = rs.getString("nama_mah");
alamat = rs.getString("alamat_mah");
noTelp = rs.getString("no_telp");
kode = rs.getString("id_fak");
gender = rs.getString("gender");
TAhasil.append("NIM : "+ nim + "\nNAMA : "+ nama + "\nALAMAT : "+ alamat +"\nNo.Telpon : " + noTelp
+"\nKode_FAKULTAS : "+ kode+"\nGENDER : "+ gender+"\n\n");
}
statemen.close();
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Maaf, coba lagi ");
}
// TODO add your handling code here:
}
Hasilnya :
Nah, terakhir giliran tombol RESET
Listing :
private void jbresetActionPerformed(java.awt.event.ActionEvent evt) {
txtnim.setText(null);
txtnama.setText(null);
txtalamat.setText(null);
txtnoTelp.setText(null);
jbtampil.setText(null);
// TODO add your handling code here:
}
seperti ini hasilnya :
*) KESIMPULAN
Dalam mengkoneksikan postgresql dengan java netbeans, terdapat banyak langkah-langkah yang musti kita lakukan. seperti yang terlihat di atas postingan ini. Kita juga musti memanggil driver JDBC, agar bisa terhubung ke database server.
*) MANFAAT
Kita bisa tahu cara penggunaan database postgresql dan bahasa pemrograman java untuk membuat suatu program aplikasi. Semoga bermanfaat untuk kalian, teman-teman.
*) DAFTAR PUSTAKA
Musthafa, Aziz.Modul Praktikum Desain Basis Data.Malang