Praktik CRUD Java & SQLite: Panduan Insert, Update, dan Delete
Praktik CRUD Java & SQLite: Panduan Insert, Update, dan Delete
Melanjutkan pembahasan kita mengenai Koneksi Java Database (JDBC), di artikel sebelumnya kita telah berhasil melakukan koneksi dan mengambil data. Sekarang, kita akan mempraktikkan operasi manipulasi data untuk menambah, mengubah, dan menghapus record pada database. Keempat operasi dasar ini (termasuk Select) sering dikenal di dunia pemrograman dengan singkatan CRUD (Create, Read, Update, Delete).
Sebagai studi kasus, kita akan menggunakan database kampus.db dengan tabel barang yang memiliki tiga kolom: kode, namabar (nama barang), dan harga. Agar program lebih interaktif, kita akan menggunakan kelas Scanner untuk menerima input langsung dari pengguna dari keyboard.
1. Menambah Data (INSERT)
Untuk menyisipkan data baru ke dalam tabel, kita menggunakan perintah SQL INSERT INTO. Perintah ini dieksekusi di Java menggunakan metode executeUpdate() dari kelas Statement.
Berikut adalah implementasi program tambahBarang:
import java.sql.*;
import java.util.Scanner;
class tambahBarang {
public static void main (String[] args) {
try {
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:D:/Data/kampus.db");
Statement s = c.createStatement();
Scanner f = new Scanner (System.in);
System.out.println("Tambah Record...");
System.out.print("Kode Barang: "); String ko = f.nextLine();
System.out.print("Nama Barang: "); String nm = f.nextLine();
System.out.print("Harga: "); int hg = f.nextInt();
// Mengeksekusi query INSERT
s.executeUpdate("insert into barang values ('"+ko+"','"+nm+"',"+hg+")");
System.out.println("Kode \t Nama Barang \t Harga ");
System.out.println("===============================");
// Menampilkan data terbaru
ResultSet rs = s.executeQuery("select * from barang;");
while (rs.next()){
System.out.print(rs.getString("kode"));
System.out.print("\t" + rs.getString("namabar"));
System.out.println("\t\t" + rs.getInt("harga"));
}
} catch (Exception e) {
System.out.println("Kesalahan: " + e.getMessage());
}
}
}2. Mengubah Data (UPDATE)
Operasi pengubahan data (update) digunakan ketika ada kesalahan input atau pembaruan informasi (misalnya harga barang berubah). Kita menggunakan perintah SQL UPDATE yang juga dieksekusi menggunakan executeUpdate().
Berikut adalah implementasi program ubahBarang yang akan memperbarui nama dan harga barang berdasarkan kode barang yang diinput pengguna.
import java.sql.*;
import java.util.Scanner;
class ubahBarang {
public static void main (String[] args) {
try {
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:D:/Data/kampus.db");
Statement s = c.createStatement();
Scanner f = new Scanner(System.in);
System.out.println("Ubah Record...");
System.out.print("Kode Barang yang ingin diubah: "); String ko = f.nextLine();
System.out.print("Nama Barang Baru: "); String nm = f.nextLine();
System.out.print("Harga Baru: "); int hg = f.nextInt();
// Mengeksekusi query UPDATE
s.executeUpdate("update barang set namabar='"+nm+"', harga="+hg+" where kode='"+ko+"'");
System.out.println("Kode \t Nama Barang \t Harga ");
System.out.println("===============================");
ResultSet rs = s.executeQuery("select * from barang;");
while (rs.next()){
System.out.print(rs.getString("kode"));
System.out.print("\t" + rs.getString("namabar"));
System.out.println("\t\t" + rs.getInt("harga"));
}
} catch (Exception e) {
System.out.println("Kesalahan: " + e.getMessage());
}
}
}3. Menghapus Data (DELETE)
Operasi terakhir dari CRUD adalah penghapusan data. Sama seperti operasi update, operasi DELETE sangat bergantung pada klausa WHERE untuk memastikan hanya record tertentu yang terhapus.
Berikut adalah implementasi program hapusBarang yang meminta kode barang untuk dihapus dari database:
import java.sql.*;
import java.util.Scanner;
class hapusBarang {
public static void main (String[] args) {
try {
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:D:/Data/kampus.db");
Statement s = c.createStatement();
Scanner f = new Scanner (System.in);
System.out.println("Hapus Record...");
System.out.print("Kode Barang yang ingin dihapus: "); String ko = f.nextLine();
// Mengeksekusi query DELETE
s.executeUpdate("delete from barang where kode='"+ko+"'");
System.out.println("Kode \t Nama Barang \t Harga ");
System.out.println("===============================");
ResultSet rs = s.executeQuery("select * from barang;");
while (rs.next()){
System.out.print(rs.getString("kode"));
System.out.print("\t" + rs.getString("namabar"));
System.out.println("\t\t" + rs.getInt("harga"));
}
} catch (Exception e) {
System.out.println("Kesalahan: " + e.getMessage());
}
}
}Kesimpulan dan Tantangan
Dengan mempraktikkan operasi Insert, Update, dan Delete, Anda telah menguasai keseluruhan siklus dasar manipulasi data menggunakan JDBC di Java. Metode executeUpdate() adalah kunci untuk menjalankan semua perintah SQL yang mengubah status dari database.
Tantangan Akhir: Berdasarkan ketiga program terpisah yang telah kita buat di atas, buatlah satu program Java terpadu yang memiliki Menu Interaktif. Program harus memiliki struktur pilihan (switch-case) yang memungkinkan pengguna memilih menu:
- Menampilkan Record
- Menambah Record
- Merubah Record
- Menghapus Record
- Keluar dari program.
