Koneksi Java Database (JDBC): Panduan Lengkap Integrasi SQLite

Membangun aplikasi yang menyimpan data secara permanen adalah keterampilan esensial dalam pengembangan perangkat lunak. Dalam ekosistem Java, proses untuk menghubungkan aplikasi dengan database diatur oleh sebuah teknologi standar yang disebut JDBC.

Apa Itu JDBC?

JDBC singkatan dari Application Programming Interface (API) yang menyediakan fungsi-fungsi dasar untuk akses data. JDBC API terdiri atas sejumlah class dan interface (yang terdapat pada package java.sql) yang digunakan untuk menulis aplikasi database menggunakan Java.

JDBC memungkinkan kita untuk membuat aplikasi Java yang melakukan tiga hal utama:

  1. Melakukan koneksi ke sumber data.
  2. Mengirimkan instruksi (query dan statement) ke database.
  3. Menerima dan mengolah data balasan (result set) yang diperoleh dari database.

Database Driver (JDBC Driver)

Java didesain agar bisa terhubung ke hampir semua jenis Relational Database Management System (RDBMS). Namun, untuk berbicara dengan database tertentu (seperti SQLite, MySQL, atau Oracle), Java membutuhkan "penerjemah" khusus.

Penerjemah inilah yang disebut Database Driver. Database driver bersifat spesifik untuk setiap jenis sumber data. Untuk aplikasi Java, software library ini disebut sebagai JDBC Driver. Anda harus mengunduh file .jar dari JDBC Driver yang sesuai dengan database yang Anda gunakan.

Langkah 1: Membuat Koneksi

Melakukan koneksi ke database melibatkan dua langkah fundamental: me-load driver dan membuat koneksi itu sendiri.

1. Meload Driver Setelah meletakkan file .jar database driver ke dalam classpath proyek Anda, Anda perlu me-load driver tersebut ke dalam program menggunakan metode Class.forName.

Class.forName("org.sqlite.JDBC"); // Nama class driver untuk SQLite

Memanggil metode ini secara otomatis membuat instance dari database driver tanpa perlu menggunakan statement new.

2. Membuka Koneksi Langkah berikutnya adalah membuat koneksi ke database menggunakan driver yang sudah diload sebelumnya. Hal ini dilakukan dengan memanggil metode getConnection dari kelas DriverManager.

Connection conn = DriverManager.getConnection("jdbc:sqlite:latihan.db");

Langkah 2: Mengambil dan Memanipulasi Data

Setelah sukses terhubung, kita dapat mulai mengirimkan perintah SQL. Untuk melakukannya, kita memerlukan perantara berupa instance dari class Statement.

1. Eksekusi Perintah DDL dan DML (Create, Insert, Update, Delete) Untuk mengeksekusi perintah SQL yang mengubah struktur atau memanipulasi isi data secara sepihak, kita menggunakan metode executeUpdate.

Statement st = con.createStatement();
st.executeUpdate("create table mhs (npm integer, nama varchar(20));");
st.executeUpdate("insert into mhs values (123, 'Budi');");

2. Mengambil Data (Select) Proses pengambilan data menggunakan metode executeQuery. Data hasil eksekusi ini tidak bisa langsung digunakan; ia harus ditampung ke dalam objek bertipe ResultSet.

ResultSet rs = st.executeQuery("select * from mhs;");

Objek ResultSet meletakkan "kursornya" sebelum baris pertama data. Untuk memindahkan kursor dan membaca data baris demi baris, kita menggunakan metode rs.next() yang sering dikombinasikan dengan perulangan while.

Contoh Program Lengkap: Menampilkan Tabel Barang

Berikut adalah implementasi lengkap untuk membaca dan menampilkan isi tabel "barang" dari database SQLite kampus.db.

import java.sql.*;

public class DBTest1 {
    public static void main(String args[]) {
        try {
            // 1. Meload Driver
            Class.forName("org.sqlite.JDBC");
            
            // 2. Membuat Koneksi (pastikan path database benar)
            Connection koneksi = DriverManager.getConnection("jdbc:sqlite:D:/Data/kampus.db");
            
            // 3. Membuat Statement
            Statement stat = koneksi.createStatement();
            
            // 4. Mengeksekusi Query Select
            ResultSet set = stat.executeQuery("select * from barang");
            
            // 5. Membaca dan Menampilkan Data
            System.out.println("KODE\tNAMA BARANG\tHARGA");
            while(set.next()){
                String a = set.getString("kode");
                System.out.print(a + "\t");
                
                String b = set.getString("namabar");
                System.out.print(b + "\t\t");
                
                int c = set.getInt("harga");
                System.out.println(c);
            }
        }
        catch (Exception e) {
            System.err.println("Error: " + e.getMessage()); 
        }
    }
}

Kesimpulan

Menghubungkan aplikasi Java dengan database mungkin terlihat kompleks pada awalnya. Namun, dengan memahami konsep dasar JDBC—yakni me-load driver, membuka koneksi, menyiapkan statement, dan mengolah ResultSet—Anda memiliki pondasi untuk membangun aplikasi sistem informasi berskala penuh yang andal dan dinamis.