Sunday, 30 November 2014

Koneksi PostgreSQL dengan Java


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 :
a.       Impor package java.sql
b.      Memanggil Driver JDBC
c.       Membangun Koneksi
d.      Membuat Statement
e.       Melakukan Query 
f.       Menutup Koneksi

a.      Impor package java.sql
Pertama-tama yang harus dilakukan sebelum kita 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  kita menulis kelas.

b.      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  kita harus menyesuaikan Driver JDBC sesuai dengan database server yang  kita 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)
}

c.       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 :
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”);
}

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

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


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

Daftar Pustaka
Musthafa, Aziz. 2014. Modul Praktikum Desain Basis Data. Fakultas Sains Dan Teknologi UIN Malang.
Solichin, Achmad. 2010. MySQL dari Pemula Hingga Mahir diakses melalui http://achmatim.net/download/21/


HASIL 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 !
bb.JPG
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.
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.

1.      Selanjutnya kita akan membuat koneksi, yang dimulai dari membuat project baru pada NetBeans , di sini saya menggunakan project bernama “praktikumdbd9”, kemudian import  library


Dan jangan lupa import seperti ini di atas class


Untuk mengecek nya, compile file tersebut,, dan jika berhasil akan muncul pesan seperti berikut:


2.       Buatlah form pada netbeans dan buatlah tombol insert, update, delete, tampil dan pencarian seperti dibawah !


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.
Yang pertama tombol cari, dengan source code seperti dibawah ini


Kemudian tombol edit

Selanjutnya adalah tombol delete


Berikut ini tombol reset


Kemudian membuat aksi untuk tombol simpan


Dan yang terakhir kita berikan aksi kepada tombol tampil


Untuk mengetahuiapakah tombol tersebut dapat menjalankan aksinya, maka kita buktikan pada saat mengompile file tersebut.
Pertama kita mencoba tombol cari , dengan mencari salah satu nim dari mahasiswa, jikanim tersebut ada maka akan ditampilkan seperti berikut


Mengubah nama “Edi” menjadi “Edo”


Menghapus data mahasiswa dengan mengisi salah satu data, seperti nim


Mereset data yang tidak jadi di inputkan

Menyimpan data mahasiswa baru


Menampilkan semua data mahasiswa


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.
Buat form baru


Sama seperti nomer 3, hanya saja kita hanya perlu memanggil class koneksi

Tombol cari


Tombol edit


Tombol hapus

Tombol reset


Tombol simpan


Tombol tampil


Kemudian akan dicek seperti nomer 3 tadi








Kesimpulan
Dapat disimpulkan setelah melakukan praktikum dia atas bahwa kita dapat mengoneksikan postgreSQL dengan NetBeans dengan beberapa langkah yang sudah dijelaskan di atas. Dapat juga ditambahkan beberapa aksi pada tombol-tombol yang sudah dibuat seperti cari, simpan, edit, hapus, tampil, dan reset.

Saran
Diperlukan latihan yang intensif agar lebih memahami bagaimana cara mengoneksi kan database dengan java. Juga latihan agar pemahaman meningkat untuk membuat suatu aksi pada tombol yang sudah kita buat

Kritik
Kurangnya pengetahuan saya, membuat banyak nya kekurangan dalam laporan ini. Untuk selanjutnya semoga lebih baik dan lebih membangun bagi para pembaca. Serta semoga dapat bermanfaat dan dapat dipahami oleh para pembaca^_^

Leave a Reply