Membuat Aplikasi CRUD Java - Manajemen Buku Perpustakaan
Raden Kurniawan Agung Fitrianto | 5025241104 | PBO A2 | Pertemuan 16
Tugas kali ini adalah membuat program CRUD sederhana mengenai manajemen buku
perpustakaan.
Kelas JavaCRUD
Kelas JavaCRUD ini adalah kelas utama dalam program ini. Kelas ini mengimplementasikan
operasi CRUD (Create, Read, Update, Delete) untuk mengelola data buku dalam sebuah basis data SQLite yang dinamai
perpustakaan.sqlite. Aplikasi ini menggunakan JDBC (Java Database Connectivity) untuk koneksi dan interaksi dengan
database, serta memanfaatkan kelas BufferedReader dan InputStreamReader untuk menerima input dari pengguna melalui
konsol. Di awal eksekusi program, aplikasi akan mencoba menghubungkan ke database dan memastikan tabel buku dengan
kolom id_buku, judul, dan pengarang sudah ada dan membuatnya jika belum ada. Setelah koneksi berhasil, aplikasi akan
menampilkan menu utama melalui metode showMenu(), yang memungkinkan pengguna untuk insertBuku(), showData(),
updateBuku(), atau deleteBuku(), serta pilihan untuk keluar dari program.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
public class JavaCRUD {
static final String JDBC_DRIVER = "org.sqlite.JDBC";
static final String DB_URL = "jdbc:sqlite:perpustakaan.sqlite";
static Connection conn;
static Statement stmt;
static ResultSet rs;
static InputStreamReader inputStreamReader = new InputStreamReader(System.in);
static BufferedReader input = new BufferedReader(inputStreamReader);
public static void main(String[] args) {
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL);
stmt = conn.createStatement();
String createTable = "CREATE TABLE IF NOT EXISTS buku (" +
"id_buku INTEGER PRIMARY KEY AUTOINCREMENT," +
"judul TEXT NOT NULL," +
"pengarang TEXT NOT NULL)";
stmt.execute(createTable);
while (!conn.isClosed()) {
showMenu();
}
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
static void showMenu() {
System.out.println("\n========= MENU UTAMA =========");
System.out.println("1. Insert Data");
System.out.println("2. Show Data");
System.out.println("3. Edit Data");
System.out.println("4. Delete Data");
System.out.println("0. Keluar");
System.out.print("PILIHAN> ");
try {
int pilihan = Integer.parseInt(input.readLine());
switch (pilihan) {
case 0:
System.exit(0);
break;
case 1:
insertBuku();
break;
case 2:
showData();
break;
case 3:
updateBuku();
break;
case 4:
deleteBuku();
break;
default:
System.out.println("Pilihan tidak tersedia!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
static void showData() {
String sql = "SELECT * FROM buku";
try {
rs = stmt.executeQuery(sql);
System.out.println("+-------------------------------------------+");
System.out.println("| DATA BUKU PERPUSTAKAAN |");
System.out.println("+-------------------------------------------+");
while (rs.next()) {
int id = rs.getInt("id_buku");
String judul = rs.getString("judul");
String pengarang = rs.getString("pengarang");
System.out.println(id + ". " + judul + " -- (" + pengarang + ")");
}
} catch (Exception e) {
e.printStackTrace();
}
}
static void insertBuku() {
try {
System.out.print("Judul: ");
String judul = input.readLine().trim();
System.out.print("Pengarang: ");
String pengarang = input.readLine().trim();
String sql = "INSERT INTO buku (judul, pengarang) VALUES ('%s', '%s')";
sql = String.format(sql, judul, pengarang);
stmt.execute(sql);
System.out.println("Data berhasil disimpan!");
} catch (Exception e) {
e.printStackTrace();
}
}
static void updateBuku() {
try {
System.out.print("ID yang mau diedit: ");
int id = Integer.parseInt(input.readLine().trim());
System.out.print("Judul baru: ");
String judul = input.readLine().trim();
System.out.print("Pengarang baru: ");
String pengarang = input.readLine().trim();
String sql = "UPDATE buku SET judul='%s', pengarang='%s' WHERE id_buku=%d";
sql = String.format(sql, judul, pengarang, id);
stmt.execute(sql);
System.out.println("Data berhasil diperbarui!");
} catch (Exception e) {
e.printStackTrace();
}
}
static void deleteBuku() {
try {
System.out.print("ID yang mau dihapus: ");
int id = Integer.parseInt(input.readLine());
String sql = String.format("DELETE FROM buku WHERE id_buku=%d", id);
stmt.execute(sql);
System.out.println("Data berhasil dihapus!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Direktori Program
Output Program
Comments
Post a Comment