Posted by : Unknown
04 Desember 2014
Muhamad Syahrul Efendi | 13650106 | Kelas A Hari
Jum'at
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 registrasiclass 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. Database Server Nama Driver
- JDBC-ODBC >> sun.jdbc.odbc.JdbcOdbcDriver
- MySQL >> com.mysql.jdbc.Driver
- PostgreSQL >> org.postgresql.Driver
- Microsoft SQLServer >> com.microsoft.jdbc.sqlserver.SQLServerDriver
- Oracle >> oracle.jdbc.driver.OracleDriver
- 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=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 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.
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();Hasil Prakikum
Perbedaan pada praktikum kali ini hanya pada nama driver nya saja