1. Pengertian JDBC
Java Database Connectivity adalah API yang digunakan Java untuk melakukan koneksi dengan aplikasi lain atau dengan berbagai macam database. JDBC memungkinkan kita untuk membuat aplikasi Java yang melakukan tiga hal, yaitu mengkoneksikan ke sumber data, mengirimkan query dan statement ke database, menerima dan mengolah resultset yang diperoleh dari database.
JDBC mempunyai empat komponen, antara lain :
A. JDBC API
JDBC API menyediakan metode akses yang sederhana ke sumber data relational (RDBMS) menggunakan pemrograman Java. dengan menggunakan JDBC API, kita bisa membuat program yang dapat mengeksekusi SQL, menerima hasil ResultSet, dan mengubah data dalam database. JDBC API juga mempunyai kemampuan untuk berinteraksi dengan lingkungan terdistribusi dari jenis sumber data yang berbeda-beda.
JDBC API adalah bagian dari Java Platform yang disertakan dalam library JDK maupun JRE. JDBC API sekarang ini sudah mencapai versi 4.0 yang disertakan dalan JDK 6.0. JDBC API 4.0 dibagi dalam dua package, yaitu java.sql dan javax.sql.
B. JDBC Driver Manager
Class DriverManager dari JDBC bertugas untuk mendefisikan object-object yang dapat digunakan untuk melakukan koneksi ke sebuah sumber data. Secara tradisional DriverManager telah menjadi tulang punggung arsitektur JDBC.
C. JDBC Test Suite
JDBC Test Suite membantu kita untuk mencara driver mana yang cocok digunakan untuk melakukan sebuah koneksi ke sumber data tertentu. Tes yang dilakukan tidak memerlukan resource besar ataupun tes yang komprehensif, namun cukup tes-tes sederhana yang memastikan fitur-fitur penting JDBC dapat berjalan dengan lancar.
D. JDBC-ODBC Bridge
Bridge ini menyediakan fasilitas JDBC untuk melakukan koneksi ke sumber data menggunakan ODBC (Open DataBase Connectivity) driver. Sebagai catatan, anda perlu meload driver ODBC di setiap komputer client untuk dapat menggunakan bridge ini. Sebagai konsekuensinya, cara ini hanya cocok dilakukan di lingkungan intranet dimana isu instalasi tidak menjadi masalah.
Dengan keempat komponen yang dipunyainya, JDBC menjadi tools yang dapat diandalkan untuk melakukan koneksi, mengambil data dan merubah data dari berbagai macam sumber data. Modul ini hanya akan membahas dua komponen pertama dari keempat komponen yang dipunyai oleh JDBC, yaitu JDBC API dan DriverManager. Sumber data yang digunakan adalah Relational Database.
Lapisan Vendor Specific JDBC Driver merupakan driver JDBC yang dikeluarkan oleh para vendor pengembang RDBMS. Sedangkan JDBC- ODBC Bridge berfungsi sebagai perantara untuk mengakses database melalui ODBC driver. Baik JDBC driver maupun JDBC-ODBC Bridge diatur dan dapat diakses melalui JDBC Driver Manager. Aplikasi yang kita kembangkan untuk mengakses database dengan memanfaatkan JDBC akan berinteraksi dengan JDBC Driver Manager.
Dari gambar di atas, dapat dilihat beberapa hal sebagai berikut:
a. Program aplikasi Java memanggil pusataka JDBC (menggunakan package java.sql dan javax.sql).
b. JDBC me-load driver; sebagai contoh driver MySQL di-load menggunakan kode: Class.forName(“com.mysql.jdbc.Driver”).
c. Memanggil Class.forName() akan secara otomatis membuat instance dari driver dan me-register driver tersebut dengan class DriverManager.
d. Driver kemudian akan terhubung ke database tertentu, misalnya MySQL.
Driver JDBC (spesifik software untuk spesifik database) dibuat dan disediakan oleh pembuat/penyedia database (misalnya MySQL, Oracle, dan SyBase). Driver JDBC diimplementasikan dengan interface java.sql.Driver. Oleh karena itu, dalam three-tier dapat dimungkinkan mempunyai lebih dari satu database yang tentunya juga membutuhkan lebih dari satu driver untuk menanganinya.
JDBC dapat menggunakan arsitektur three-tier. Model three-tier untuk JDBC dapat dijabarkan sebagai berikut:
a. Client tier
Client tier bertanggung jawab untuk representasi data, menerima input dari pengguna maupun event, dan mengontrol serta mengatur user interface.
b. Middle tier (Application-server tier)
Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis (business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis (business object). Contohnya adalah IBM WebSphere, BEA WebLogic Server, dan Oracle Application.
c. Data-server tier
Tier ini bertanggung jawab untuk penyimpanan data dan mengatur ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu atau lebih server database relasional (misalnya Oracle atau MySQL) dan biasanya terdiri atas:
1. Tabel/view/trigger database
Digunakan secara utama untuk menyimpan data.
2. Stored Procedure
Digunakan untuk mengeksekusi database pada server-side.
3. File server
Digunakan untuk menyimpan file-file berukuran sangat besar, misalnya gambar, file PDF, dan teks.
2. Database Driver
JDBC memerlukan database driver untuk melakukan koneksi ke suatu sumber data. Database driver ini bersifat spesifik untuk setiap jenis sumber data. Database driver biasanya dibuat oleh pihak pembuat sumber datanya, namun tidak jarang juga komunitas atau pihak ketiga menyediakan database driver untuk sebuah sumber data tertentu.
Perlu dipahami sekali lagi bahwa database driver bersifat spesifik untuk setiap jenis sumber data. Misalnya, Database Driver MySql hanya bisa digunakan untuk melakukan koneksi ke database MySql dan begitu juga database driver untuk Postgre SQL juga hanya bisa digunakan untuk melakukan koneksi ke database Postgre SQL. Database driver untuk setiap DBMS pada umumnya dapat didownload dari website pembuat DBMS tersebut. Beberapa vendor DBMS menyebut Database driver ini dengan sebutan Java Connector (J/Connector). Database driver biasanya dibungkus dalam file yang berekstensi jar. Setiap database driver harus mengimplement interface java.sql.Driver.
Java Database Connectivity adalah API yang digunakan Java untuk melakukan koneksi dengan aplikasi lain atau dengan berbagai macam database. JDBC memungkinkan kita untuk membuat aplikasi Java yang melakukan tiga hal, yaitu mengkoneksikan ke sumber data, mengirimkan query dan statement ke database, menerima dan mengolah resultset yang diperoleh dari database.
JDBC mempunyai empat komponen, antara lain :
A. JDBC API
JDBC API menyediakan metode akses yang sederhana ke sumber data relational (RDBMS) menggunakan pemrograman Java. dengan menggunakan JDBC API, kita bisa membuat program yang dapat mengeksekusi SQL, menerima hasil ResultSet, dan mengubah data dalam database. JDBC API juga mempunyai kemampuan untuk berinteraksi dengan lingkungan terdistribusi dari jenis sumber data yang berbeda-beda.
JDBC API adalah bagian dari Java Platform yang disertakan dalam library JDK maupun JRE. JDBC API sekarang ini sudah mencapai versi 4.0 yang disertakan dalan JDK 6.0. JDBC API 4.0 dibagi dalam dua package, yaitu java.sql dan javax.sql.
B. JDBC Driver Manager
Class DriverManager dari JDBC bertugas untuk mendefisikan object-object yang dapat digunakan untuk melakukan koneksi ke sebuah sumber data. Secara tradisional DriverManager telah menjadi tulang punggung arsitektur JDBC.
C. JDBC Test Suite
JDBC Test Suite membantu kita untuk mencara driver mana yang cocok digunakan untuk melakukan sebuah koneksi ke sumber data tertentu. Tes yang dilakukan tidak memerlukan resource besar ataupun tes yang komprehensif, namun cukup tes-tes sederhana yang memastikan fitur-fitur penting JDBC dapat berjalan dengan lancar.
D. JDBC-ODBC Bridge
Bridge ini menyediakan fasilitas JDBC untuk melakukan koneksi ke sumber data menggunakan ODBC (Open DataBase Connectivity) driver. Sebagai catatan, anda perlu meload driver ODBC di setiap komputer client untuk dapat menggunakan bridge ini. Sebagai konsekuensinya, cara ini hanya cocok dilakukan di lingkungan intranet dimana isu instalasi tidak menjadi masalah.
Dengan keempat komponen yang dipunyainya, JDBC menjadi tools yang dapat diandalkan untuk melakukan koneksi, mengambil data dan merubah data dari berbagai macam sumber data. Modul ini hanya akan membahas dua komponen pertama dari keempat komponen yang dipunyai oleh JDBC, yaitu JDBC API dan DriverManager. Sumber data yang digunakan adalah Relational Database.
Lapisan Vendor Specific JDBC Driver merupakan driver JDBC yang dikeluarkan oleh para vendor pengembang RDBMS. Sedangkan JDBC- ODBC Bridge berfungsi sebagai perantara untuk mengakses database melalui ODBC driver. Baik JDBC driver maupun JDBC-ODBC Bridge diatur dan dapat diakses melalui JDBC Driver Manager. Aplikasi yang kita kembangkan untuk mengakses database dengan memanfaatkan JDBC akan berinteraksi dengan JDBC Driver Manager.
Dari gambar di atas, dapat dilihat beberapa hal sebagai berikut:
a. Program aplikasi Java memanggil pusataka JDBC (menggunakan package java.sql dan javax.sql).
b. JDBC me-load driver; sebagai contoh driver MySQL di-load menggunakan kode: Class.forName(“com.mysql.jdbc.Driver”).
c. Memanggil Class.forName() akan secara otomatis membuat instance dari driver dan me-register driver tersebut dengan class DriverManager.
d. Driver kemudian akan terhubung ke database tertentu, misalnya MySQL.
Driver JDBC (spesifik software untuk spesifik database) dibuat dan disediakan oleh pembuat/penyedia database (misalnya MySQL, Oracle, dan SyBase). Driver JDBC diimplementasikan dengan interface java.sql.Driver. Oleh karena itu, dalam three-tier dapat dimungkinkan mempunyai lebih dari satu database yang tentunya juga membutuhkan lebih dari satu driver untuk menanganinya.
JDBC dapat menggunakan arsitektur three-tier. Model three-tier untuk JDBC dapat dijabarkan sebagai berikut:
a. Client tier
Client tier bertanggung jawab untuk representasi data, menerima input dari pengguna maupun event, dan mengontrol serta mengatur user interface.
b. Middle tier (Application-server tier)
Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis (business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis (business object). Contohnya adalah IBM WebSphere, BEA WebLogic Server, dan Oracle Application.
c. Data-server tier
Tier ini bertanggung jawab untuk penyimpanan data dan mengatur ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu atau lebih server database relasional (misalnya Oracle atau MySQL) dan biasanya terdiri atas:
1. Tabel/view/trigger database
Digunakan secara utama untuk menyimpan data.
2. Stored Procedure
Digunakan untuk mengeksekusi database pada server-side.
3. File server
Digunakan untuk menyimpan file-file berukuran sangat besar, misalnya gambar, file PDF, dan teks.
2. Database Driver
JDBC memerlukan database driver untuk melakukan koneksi ke suatu sumber data. Database driver ini bersifat spesifik untuk setiap jenis sumber data. Database driver biasanya dibuat oleh pihak pembuat sumber datanya, namun tidak jarang juga komunitas atau pihak ketiga menyediakan database driver untuk sebuah sumber data tertentu.
Perlu dipahami sekali lagi bahwa database driver bersifat spesifik untuk setiap jenis sumber data. Misalnya, Database Driver MySql hanya bisa digunakan untuk melakukan koneksi ke database MySql dan begitu juga database driver untuk Postgre SQL juga hanya bisa digunakan untuk melakukan koneksi ke database Postgre SQL. Database driver untuk setiap DBMS pada umumnya dapat didownload dari website pembuat DBMS tersebut. Beberapa vendor DBMS menyebut Database driver ini dengan sebutan Java Connector (J/Connector). Database driver biasanya dibungkus dalam file yang berekstensi jar. Setiap database driver harus mengimplement interface java.sql.Driver.
3. Membuat Koneksi
Melakukan koneksi ke database melibatkan dua langkah, yaitu meload driver dan membuat koneksi itu sendiri. Cara meload driver sangat mudah, pertama letakkan file *.jar database driver ke dalam classpath. Kemudian load driver dengan menambahkan kode berikut ini:
Class.forName(“com.mysql.jdbc.Driver”);Melakukan koneksi ke database melibatkan dua langkah, yaitu meload driver dan membuat koneksi itu sendiri. Cara meload driver sangat mudah, pertama letakkan file *.jar database driver ke dalam classpath. Kemudian load driver dengan menambahkan kode berikut ini:
Nama class database driver untuk setiap DBMS berbeda, anda bisa menemukan nama class tersebut dalam dokumentasi driver database yang anda gunakan. Dalam contoh ini, nama class database driver dari MySql adalah com.mysql.jdbc.Driver.
Memanggil method Class.forName secara otomatis membuat instance dari database driver, class DriverManager secara otomatis juga dipanggil untuk mengelola class database driver ini. Jadi anda tidak perlu menggunakan statement new untuk membuat instance dari class database driver tersebut.
Langkah berikutnya adalah membuat koneksi ke database menggunakan database driver yang sudah diload tadi. Class DriverManager bekerja sama dengan interface Driver untuk mengelola driver-driver yang diload oleh aplikasi, jadi dalam satu sesi anda bisa meload beberapa database driver yang berbeda.
Memanggil method Class.forName secara otomatis membuat instance dari database driver, class DriverManager secara otomatis juga dipanggil untuk mengelola class database driver ini. Jadi anda tidak perlu menggunakan statement new untuk membuat instance dari class database driver tersebut.
Langkah berikutnya adalah membuat koneksi ke database menggunakan database driver yang sudah diload tadi. Class DriverManager bekerja sama dengan interface Driver untuk mengelola driver-driver yang diload oleh aplikasi, jadi dalam satu sesi anda bisa meload beberapa database driver yang berbeda.
Ketika kita benar-benar melakukan koneksi, JDBC Test Suite akan melakukan serangkaian tes untuk menentukan driver mana yang akan digunakan. Parameter yang digunakan untuk menentukan driver yang sesuai adalah URL. Aplikasi yang akan melakukan koneksi ke database menyediakan URL pengenal dari server databse tersebut. Sebagai contoh adalah URL yang digunakan untuk melakukan koneksi ke MySql :
jdbc:mysql://[host]:[port]/[schema]Contoh konkritnya :
jdbc:mysql://localhost:3306/latihan
Setiap vendor DBMS akan menyertakan cara untuk menentukan URL ini di dalam dokumentasi. Anda tinggal membaca dokumentasi tersebut tanpa harus khawatir tidak menemukan informasi yang anda perlukan.
Method DriverManager.getConnection bertugas untuk membuat koneksi:
Connection conn =Method DriverManager.getConnection bertugas untuk membuat koneksi:
DriverManager.getConnection(“jdbc:mysql://localhost:3306/latihan”);
Dalam kebanyakan kasus anda juga harus memasukkan parameter username dan password untuk dapat melakukan koneksi ke dalam database. Method getConnection menerima Username sebagai parameter kedua dan pasword sebagai parameter ketiga, sehingga kode diatas dapat dirubah menjadi :
Connection conn =DriverManager.getConnection(“jdbc:mysql://localhost:3306/latihan”,
”root”,””);
Jika salah satu dari driver yang diload berhasil digunakan untuk melakukan koneksi dengan URL tersebut, maka koneksi ke database berhasil dilaksanakan. Class Connection akan memegang informasi koneksi ke database yang didefinisikan oleh URL tersebut. Setelah sukses melakukan koneksi ke database, kita dapat mengambil data dari database menggunakan perintah query ataupun melakukan perubahan terhadap database.
1. Langkah selanjutnya setelah kita membuat project adalah membuat koneksi ke Database MySql agar aplikasi yang kita buat dapat mengambil data dari database yang kita buat di MySql sebelumnya. Pilih bagian tab service kemudian klik kanan-add connection.
2. Di sini kita akan membuat koneksi untuk menyambungkan aplikasi java yang kita buat dengan database yang telah kita buat di MySql. Aturlah koneksi yang akan kita buat kemudian tentukan nama database yang akan kita pergunakan untuk aplikasi yang kita buat.
3. Kemudian kembali ke tab project, disini kita akan memasukkan library yang digunakan untuk membuat koneksi ke MySql. Klik kanan pada library dari project yang kita buat kemudian pilih add library.
4. Pada tab library pilihlah MySQL JDBC Driver. Driver inilah yang akan kita gunakan untuk membuat koneksi dari java netbeans ke database mysql.
5. Setelah selesai memasukkan driver MySql ke dalam project yang kita buat, tahap selanjutnya adalah memasukkan coding program untuk membuat koneksi ke MySQL. Berikut ini adalah coding yang digunakan untuk membuat koneksi ke MySQL.
package dvd;1. Langkah selanjutnya setelah kita membuat project adalah membuat koneksi ke Database MySql agar aplikasi yang kita buat dapat mengambil data dari database yang kita buat di MySql sebelumnya. Pilih bagian tab service kemudian klik kanan-add connection.
2. Di sini kita akan membuat koneksi untuk menyambungkan aplikasi java yang kita buat dengan database yang telah kita buat di MySql. Aturlah koneksi yang akan kita buat kemudian tentukan nama database yang akan kita pergunakan untuk aplikasi yang kita buat.
3. Kemudian kembali ke tab project, disini kita akan memasukkan library yang digunakan untuk membuat koneksi ke MySql. Klik kanan pada library dari project yang kita buat kemudian pilih add library.
4. Pada tab library pilihlah MySQL JDBC Driver. Driver inilah yang akan kita gunakan untuk membuat koneksi dari java netbeans ke database mysql.
5. Setelah selesai memasukkan driver MySql ke dalam project yang kita buat, tahap selanjutnya adalah memasukkan coding program untuk membuat koneksi ke MySQL. Berikut ini adalah coding yang digunakan untuk membuat koneksi ke MySQL.
import java.sql.*;
import javax.swing.JTable;
import javax.swing.JOptionPane;
/**
*
* @author Adi Mahendra
*/
public class Frmdvd extends javax.swing.JInternalFrame {
String user="root";
String pwd="";
String host="localhost";
String db="rental_dvd";
String urlValue="";
Connection Lconnection=null;
JTable table=null;
Untuk membuat koneksi ke MySQL kita juga harus mengatur user dan password pada mysql. Coding di atas digunakan untuk menentukan Host yang akan digunakan untuk membuat sebuah koneksi ke MySQL. User=”root” adalah user name yang digunakan pada MySQL, pwd=”” adalah password untuk MySQL, disini dibuat kosong karena kami tidak menggunakan password untuk MySQL. Host=”localhost” adalah nama host dari MySQL dan db=”db_rental_dvd” adalah nama database yang kita gunakan. Berikut adalah coding untuk mengkoneksikan Netbeans(java) dengan MySql.
try{
Class.forName("com.mysql.jdbc.Driver");
urlValue="jdbc:mysql://"+host+"/"+db+"?user="+user+"&password="+pwd;
Lconnection=DriverManager.getConnection(urlValue);
}
catch(ClassNotFoundException e){
System.out.println("Driver tidak ditemukan");
}
catch(SQLException e){
System.out.println("Koneksi gagal:"+e.toString());
}