Laporan Praktikum 9 (Koneksi PostgreSQL pada Java Netbeans)

02.56






Bismillahirrahmanirahim..
Asalammualaikum, 
asisten Lab Praktikum DBD yang nge-cek laporan Ade (lagi)..
semoga gak bosen-bosen yaa, visit blog ini :D


Semoga Laporannya mendapatkan nilai yang terbaik yaa mas ^_^
-aamiin-

Kali ini ade akan menjelaskan praktikum modul 9 yang berjudul (Koneksi PostgreSQL pada Java Netbeans)
Untuk itu, kita akan melihat materi nya dulu yaa..

 
9.2.1 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.

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 PosqgreSQL adalah :

try {

Class.forName(“org.postgresql.Driver”);
} catch (ClassNotFoundException e) {
System.out.println(“Pesan Error : “ + e)
} 

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”);
}
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 perintahSELECT 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();

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();
9.2.2  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
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
12. coba lihat diproject netbeans - Libraries seperti gambar dibawah ini:



















15. disitu sudah tertanam driver Java DB dan jdbc.jar
Setelah selesai maka bisa dilanjutkan membuat kelas java untuk mengkoneksikan database  yang  telah  dibuat  dengan  java.


TUGAS PRAKTIKUM


1. 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 !



Hasilnya kaya gini nih..




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.


tombol cari

kalau ingin mencari mahasiswa, ini caranya..
 


Kalau ingin ke tombol simpan, ini caranya

 
  


jika action button edit seperti ini

 





Kalau button hapus (delete) macam ini..

  

         
  
              Tombol Tampil nih
 

            

                  

setelah semuanya, dan yang terakhir adalah button 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 ade buat berbeda di warnanya nih  

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);
       }
      
    } 

Terus ini hasilnya..

 


  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:
    }                                      


Ini nih hasilnyaa...


 
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


You Might Also Like

0 komentar

Subscribe