Senin, 01 Desember 2014

LAPORAN PRAKTIKUM DESAIN BASIS DATA

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


      e. Pada saat Reset
         Reset ini berguna saat kita ingin mengganti data yang salah saat kita memasukkan data pada
         form.

          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

0 comments:

Posting Komentar