Java Database Connectivity
Muhammad Sadly Said, S.Kom., MT
Pengantar
• Java Database Connectivity (JDBC) adalah Application Programming
Interface (API) untuk bahasa pemrograman java yang mengatur bagaimana
perangkat lunak bisa mengakses database.
• API dalam perangkat lunak adalah interface atau protokol yang mengatur komunikasi
antara dua perangkat lunak yang berbeda.
• API ini menyediakan beragam metode untuk proses query dan update data
yang tersimpan didalam database relasional
• JDBC bertujuan untuk mempermudah dalam pengembangan program,
lebih spesifik kepada aktivitas yang berhubungan dengan database :
• Koneksi ke database
• Pengiriman pernyataan query dan update
• Mendapatkan dan memproses hasil dari pernyataan query
Komponen JDBC
• JDBC API menyediakan akses ke data relasional melalui bahasa
pemrograman java. Dengan API ini, aplikasi bisa mengeksekusi
pernyataan SQL. API JDBC terbagi kedalam dua paket yaitu java.sql
dan javax.sql
• JDBC Driver Manager mengatur hubungan antara aplikasi java
dengan driver JDBC. Tiap-tiap database akan memiliki driver JDBC
yang berbeda
JDBC-MySQL
• Program java dapat berkomunikasi dengan database MySQL melalui API
JDBC dan Driver JDBC-MySQL yang biasa dikenal dengan nama MySQL
Connector/J
• Connector/J disediakan dalam website resmi MySQL
https://dev.mysql.com/downloads/ disertai dengan instruksi dan panduan
penggunaan.
• Untuk dapat menggunakan Connector/J dalam program java, kita perlu
mendefinisikan variabel CLASSPATH yang merujuk ke direktori tempat
Connector/J tersimpan
• Classpath dapat didefinisikan secara global untuk semua aplikasi java melalui variabel
sistem operasi
• Classpath dapat pula didefinisikan untuk aplikasi java tunggal. Disebutkan pada
proses kompilasi dan eksekusi program java
JDBC-MySQL : Classpath 1
• Rilis Connector/J disediakan
untuk beragam sistem operasi
dalam beragam format berkas.
• Download versi rilis Connector/J
dalam format ZIP yang
disediakan melalui menu
Platform Independent
• Ekstrak Connector/J pada
direktori yang ditentukan,
sebagai contoh pada direktori
C:\Program Files\Java\classpath
JDBC-MySQL : Classpath 1
• Buat variabel sistem baru dengan nama CLASSPATH
• Control Panel System & Security System Advanced System Settings
• Pada jendela System Properties klik tombol Environment Variables
JDBC-MySQL : Classpath 1
JDBC-MySQL : Classpath 2
• Cara lain untuk menggunakan Connector/J adalah dengan
menyebutkan direktori classpath pada saat kompilasi dan eksekusi
program
• Dalam proses kompilasi gunakan parameter –cp atau –classpath
diikuti dengan nama direktori/file connector/j
javac –cp mysql-connector-java-8.0.17.jar NamaProgram.java
• Untuk proses eksekusi gunakan parameter –cp atau –classpath diikuti
dengan nama direktori/file connector/j dan direktori class
Java –cp mysql-connector-java-8.0.17.jar;. NamaProgram
API JDBC
• Secara umum penggunaan API JDBC terbagi menjadi beberapa tahap
• Me-register konektor database
• Membentuk koneksi ke database
• Membuat pernyataan (statement) query atau update
• Mengeksekusi pernyataan
• Memproses hasil pernyataan query
• Menutup koneksi database
API JDBC – Register Driver
• Di tahap awal, kita perlu meregister driver untuk database yang akan
diakses. Untuk database MySQL kita akan gunakan MySQL
Connector/J
• Untuk proses ini kita gunakan metode registerDriver() dari class
DriverManager – lihat dokumentasi. Parameter dari metode ini
adalah class driver dari Connector/J yaitu com.mysql.cj.jdbc.Driver
API JDBC – Koneksi ke database
• Setelah meregister driver, kita bentuk koneksi ke database menggunakan metode getConnection() dari class
DriverManager – lihat dokumentasi
• Metode ini menggunakan 3 buah parameter string, yaitu :
• URL – lokasi dari database, menggunakan format jdbc:mysql://[hostname]:[port]/[database].
• Hostname Nama atau alamat IP dari perangkat komputer lokasi MySQL dijalankan
• Port Nomor port dari layanan database. MySQL menggunakan nomor port 3306
• Database Nama dari database yang akan diakses
• User – Akun yang memiliki hak akses ke database
• Password – Password dari user
• Metode getConnection() akan mengembalikan objek Connection yang nantinya akan digunakan untuk
membuat pernyataan (statement) SQL
API JDBC – Membuat Pernyataan
• Untuk membuat pernyataan (statement) dalam API JDBC kita gunakan
metode createStatement() dari objek Connection – lihat dokumentasi
• Metode tersebut akan mengembalikan objek Statement yang
nantinya bisa digunakan untuk mengeksekusi pernyataan SQL
API JDBC – Membuat Pernyataan
• Metode lain yang bisa digunakan adalah prepareStatement() dari
objek Connection – lihat dokumentasi
• Metode ini menggunakan satu parameter String yaitu pernyataan SQL
yang akan dieksekusi
• Metode ini akan mengembalikan objek PreparedStatement yang
nantinya bisa digunakan untuk mengeksekusi pernyataan SQL
API JDBC – Eksekusi Pernyataan
• Secara umum pernyataan SQL terbagi menjadi beberapa kategori, antara lain :
• Data Definition Language (DDL) CREATE, ALTER, RENAME, DROP, TRUNCATE
• Data Manipulation Language (DML) INSERT, DELETE, UPDATE, LOCK, MERGE
• Data Control Language (DCL) GRANT, REVOKE
• Data Query Language (DQL) SELECT
• Transaction Control Language (TCL) ROLL BACK, COMMIT, SAVEPOINT
• Kategori pernyataan SQL yang umumnya digunakan adalah DDL, DQL, dan DML
• Pernyataan SQL SELECT adalah pernyataan yang akan mengembalikan nilai dalam bentuk
himpunan hasil atau Result Set. Sebagai contoh :
API JDBC – Eksekusi Pernyataan
• Pernyataan SQL dieksekusi menggunakan dua macam metode, disesuaikan
apakah pernyataan SQL akan mengembalikan nilai atau tidak
• Untuk objek Statement, metode yang digunakan adalah :
• executeUpdate(sql) – dengan 1 parameter string sql, digunakan untuk mengeksekusi
pernyataan DDL dan DML
• executeQuery(sql) – dengan 1 parameter string sql, digunakan untuk mengeksekusi
pernyataan DQL (SELECT)
• Metode ini mengembalikan objek ResultSet yaitu himpunan hasil berupa data tabular
• Untuk object PreparedStatement, metode yang digunakan adalah :
• executeUpdate() – tanpa parameter
• executeQuery() – tanpa parameter
• Metode ini mengembalikan objek ResultSet
API JDBC – Eksekusi Pernyataan
• Contoh eksekusi pernyataan dengan objek Statement
API JDBC – Eksekusi Pernyataan
• Contoh eksekusi pernyataan dengan objek PreparedStatement
API JDBC – Pemrosesan Hasil
• Pernyataan SQL yang mengembalikan hasil (dalam bentuk objek
ResultSet) perlu diproses lebih lanjut dalam program – perhatikan
dokumentasi
• ResultSet merepresentasikan data tabular yang terdiri atas baris dan
kolom. Objek ini menggunakan cursor untuk berpindah searah dari
baris pertama ke baris berikutnya hingga baris terakhir
• Perpindahan cursor dari satu baris ke baris berikutnya dilakukan
menggunakan metode next() yang mengembalikan nilai boolean, yang akan
bernilai false jika sudah mencapai baris terakhir
• Metode perpindahan cursor lainnya meliputi : absolute(), first(), last(), dan
lain sebagainya
API JDBC – Pemrosesan Hasil
• ResultSet menyediakan beragam metode untuk mendapatkan nilai
dari tiap kolom baris. Metode tersebut menggunakan pola penamaan
getXxx() dimana xxx adalah tipe data dari nilai kolom
• Metode getXxx() menggunakan satu parameter yaitu nama kolom
dengan tipe string atau index kolom dengan tipe integer
• Beberapa contoh metode yang umum digunakan antara lain :
getString(), getInt(), getLong(), getFloat(), getBoolean(), dan lain
sebagainya
API JDBC – Pemrosesan Hasil
• Contoh penggunaan objek ResultSet
Latihan
• Perhatikan modul praktikum
Terima Kasih