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

Popular posts from this blog

Tugas Meningkatkan Skill Typewriter

Aplikasi Sistem Pengambilan Mata Kuliah

ETS PBO A2 Membuat Vending Coffee Machine