Senin, 08 Desember 2014

LANDASAN TEORI - "KONEKSI POSTGRESQL PADA JAVA (Netbeans)"

A. 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 engan 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)

Berikut ini adalah daftar nama-nama driver dari beberapa database server yang sering
digunakan.

l1.

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  roperties  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 kelasprop.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.

l2.

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

Tidak ada komentar:

Posting Komentar