KONEKSI DATABASE
1. Pengantar
Koneksi Database
Database merupakan
salah satu bagian inti dari Sistem Informasi yang menyimpan data untuk proses
pengolahan nantinya. Agar aplikasi bisa mengakses data dari suatu database engine, maka diperlukan suatu mekanisme
koneksi antara aplikasi dan database tersebut. Pada bahasa pemrograman java
terdapat kumpulan kelas yang digunakan khusus untuk koneksi database. Komponen
database pada java mengikuti standar SQL (Structured Query Language),
sehingga library fungsinya dapat ditemukan dalam package java.sql.* dan javax.sql.*. Terdapat 3 langkah utama untuk melakukan
koneksi ke database :
(1) membuat koneksi sengan server
database.
(2) Membuat perintah dan mengirimkannya
ke server database.
(3) menerima dan mengolah hasil.
Untuk mendapatkan koneksi database, diperlukan
3 langkah, yaitu :
1.
Menginstalasi driver database yang
digunakan
2.
menciptakan instance object dari server
3.
melakukan registrasi koneksi ke database
Setelah berhasil dilakukan, maka kita
hanya perlu melakukan registrasi koneksi, dan menciptakan koneksi melalui
interface Connection berdasarkan URL disertai dengan username dan password
database
JDBC : Untuk melakukan koneksi ke suatu sumber data, diperlukan database driver
yang akan menjadi jembatan antara Aplikasi dengan Database. Database driver ini
bersifat spesifik untuk setiap sumber data. Misalnya, Database Driver MySQL
hanya bisa digunakan untuk melakukan koneksi ke database MySQL, begitu juga
dengan Database Driver PostgreSQL hanya untuk PostgreSQL.
Komponen utama JDBC
§
Driver adalah komponen
untuk menangani masalah komunikasi dengan server database.
§
DriverManager adalah komponen untuk menangani objek driver.
§
Connection adalah komponen yang menyimpan koneksi ke database.
§
Statement adalah komponen yang menangani perintah SQL ke database.
§
ResultSet adalah komponen yang menyimpan data hasil perintah ke database.
§
SQLException adalah komponen untuk menangani kesalahan-kesalahan yang mungkin
terjadi saat pengolahan database.
Memanggil Driver JDBC
Untuk menghubungkan
database MySQL dengan Java, perlu dilakukan pemanggilan driver JDBC. Driver
adalah sebuah library yang berisi perintah-perintah untuk berkomunikasi dengan
server database. Sebelum mulai menulis program, import terlebih dahulu
package java.sql.*. karena di dalam library ini terdapat
kelas-kelas seperti DriverManager, Connection, dan ResultSet.
Resulset (import
java.sql.ResultSet)
Fungsi resultset disini akan digunakan
saat kita menggunakan statement select ke database, lebih jelasnya resultset
adalah pengontrol letak kursor terhadap suatu baris didalam database, sehingga
apa yg kita pilih / select dari java, akan sesuai dengan data baris yg
ada pada database. Fungsi resultset ini biasa digunakan saat kita ingin
menampilkan/memilih data dari database ke java.
Statement (import
java.sql.Statement;)
Dalam penggunaan sebuah database untuk
membuat sebuah aplikasi java, tentu kita akan banyak bertemu dengan kode
“insert into namatable values”, “select * from barang”, dan masih banyak lagi,
sebenarnya kode tersebut adalah bahasa SQL, mengapa bahasa SQL tersebut bisa
adalah didalam kodingan bahasa java.?, disini lah peran statement akan
berfungsi, dimana statementlah yg membaca bahwa kode tersebut adalah bahasa SQL
dan mengantarkan bahasa tersebut ke dalam database, sehingga perintah SQL yg
telah kita ketikan akan terbaca dan dioperasikan oleh database sehingga peritah
eksekusinya akan muncul pada java. Untuk itu kita akan memerlukan fungsi ini
setiap kali melakukan pemrograman pengolahan data yg berhubungan dengan
database.
Cara melakukan komunikasi dengan
database adalah :
1.
Memanggil driver JDBC
2.
Membangun koneksi
3.
Membuat objek statement
4.
Melakukan eksekusi
5.
Menerima hasil pemrosesan
6.
Membuat report
7.
Memanggil driver JDBC
Untuk menghubungkan
database MySQL dengan Java, perlu dilakukan pemanggilan driver JDBC. Driver
adalah sebuah library yang berisi perintah-perintah untuk berkomunikasi dengan
server database. Sebelum mulai menulis program, import terlebih dahulu
package java.sql.*. karena di dalam library ini terdapat
kelas-kelas seperti DriverManager, Connection, dan ResultSet.
import java.sql.*
Untuk memanggil driver JDBC bisa
menggunakan
Class.forName(namaDriver);
atau
Class.forName(namaDriver).newInstance();
0020Keduanya bertujuan untuk registrasi
Class Driver. Perintah tersebut dapat menghasilkan error bila driver tidak
ditemukan, sehingga perlu dilakukan penanganan, menggunakan
ClassNotFoundException.
try {
// perintah pemanggilan driver
} catch (ClassNotFoundException exc) {
// penanganan kesalahan
}
2.
Membangun koneksi
Setelah berhasil melakukan pemanggilan
driver, maka dilanjutkan dengan membangun koneksi. Untuk membuat koneksi tidak
perlu dengan menciptakan object baru. Karena pembuatan object telah
dienkapsulasi pada kelas DriverManager. Jadi, untuk mendapatkan object hanya
dengan syntax :
DriverManager.getConnection(url,
username, password);
Sama seperti
pemanggilan driver, perintah kali ini dapat menyebabkan error. Untuk itu,
diperlukan penanganan. Namun, kali ini menggunakan SQLException, karena kesalahan
yang mungkin terjadi ada di dalam database engine.
try {
Connection conn =
DriverManager.getConnection(URL, username, password);
} catch (SQLException exc) {
// penanganan kesalahan
}
URL bisa dibuat dengan format :
Jdbc:<DBServer>://[host]:[port]/<NamaDB>
3.
Membuat objek statement
Statement merupakan objek interface yang
diciptakan dari method Connection.createStatement(). Objek Statement digunakan
untuk penerimaan statement SQL tanpa parameter.
Perintah Statement :
Statement stat = Connection.createStatement();
4.
Melakukan eksekusi
Sekarang, objek statement telah dibuat
dan sudah bisa digunakan untuk mengirim perintah SQL, kemudian mengeksekusinya.
Untuk melakukan eksekusi, dibagi menjadi 2 bagian.
Pertama, menggunakan method
executeQuery(). Method ini dipakai untuk perintah SELECT, sehingga akan
memberikan nilai kembalian dalam bentuk ResultSet.
Kedua, menggunakan method
executeUpdate(). Method ini dipakai pada perintah INSERT, UPDATE, dan
DELETE. Untuk melakukan perintah DELETE :
PreparedStatement stat =
conn.prepareStatement(perintah/query delete);
stat.executeUpdate();
5.
Menerima hasil pemrosesan
Hasil statement akan memberikan hasil,
jikaperintah yang digunakan adalah SELECT. Hasil kembalian berupa ResultSet.
ResultSet rs =
stat.executeQuery(perintah SQL);
If( rs.next() ) {
// ambil nilai dan masukan ke dalam
variabel
}
Tidak ada komentar:
Posting Komentar