Skip to content

Sistem Parkir Berbasis GUI Java adalah aplikasi desktop tugas akhir mata kuliah PBO di Universitas Singaperbangsa Karawang. Aplikasi ini mengelola parkir secara modern dengan fitur pencatatan kendaraan, perhitungan tarif otomatis, dan pencetakan struk PDF. Dibangun menggunakan Java Swing dan SQLite, serta menerapkan konsep OOP dan design pattern.

Notifications You must be signed in to change notification settings

Couraa0/ProjectUAS-PBO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Project Sistem Parkir Berbasis GUI Java

Sistem Parkir Berbasis GUI Java adalah aplikasi desktop yang dikembangkan sebagai tugas akhir mata kuliah Pemrograman Berorientasi Objek (PBO) di Universitas Singaperbangsa Karawang. Project ini dirancang untuk mengelola sistem manajemen parkir modern dengan fitur lengkap, mulai dari pencatatan kendaraan masuk dan keluar, perhitungan tarif otomatis, hingga pencetakan struk parkir dalam format PDF. Aplikasi ini menggunakan Java Swing untuk antarmuka grafis dan SQLite sebagai basis data lokal, serta menerapkan konsep OOP dan beberapa design pattern.

πŸ‘₯ Tim Pengembang

Kelompok 5 PBO
Project UAS Mata Kuliah Pemrograman Berorientasi Objek
Laporan Project UAS PBO (Google Drive)

Anggota Kelompok

Nama Lengkap NPM GitHub Profile
M Rakha Syamputra 2310631250024 @couraa0
Aditya Tazkia Aulia 2310631250003 @ditytzk
Rizky Azhari Putra 2310631250028 @rizky161004
Freidrick Albert P 2301631250058 @freidrickalbert

πŸ“‹ Fitur Utama

  • Login System: Autentikasi dengan role-based access (Admin/Operator)
  • Manajemen Kendaraan Masuk: Form kendaraan masuk (GUI modern)
  • Manajemen Kendaraan Keluar: Form kendaraan keluar (GUI modern)
  • Sistem Tarif Otomatis: Tarif berbeda untuk Motor & Mobil, hitung durasi & inap
  • Database Integration: SQLite (JDBC)
  • Search & Filter: Cari dan urutkan data parkir
  • Print Struk: Cetak struk parkir dalam format PDF
  • Admin Features: Edit & hapus data (khusus admin)
  • UI Modern: Desain antarmuka profesional

πŸ—οΈ Struktur Project

src/
└── Uas_Pbo/
    β”œβ”€β”€ DBConnection.java
    β”œβ”€β”€ EditDialog.java
    β”œβ”€β”€ Kendaraan.java
    β”œβ”€β”€ Keluar.java
    β”œβ”€β”€ LoginForm.java
    β”œβ”€β”€ Main.java
    β”œβ”€β”€ Masuk.java
    β”œβ”€β”€ Mobil.java
    β”œβ”€β”€ Motor.java
    β”œβ”€β”€ OptionOP.java
    β”œβ”€β”€ ParkirAppSystem.java
    β”œβ”€β”€ PrintDialog.java
    β”œβ”€β”€ users.db
    β”œβ”€β”€ parkir.db
    β”œβ”€β”€ README.md
    └── img/
        β”œβ”€β”€ parkir.png
        └── parkir2.png

πŸ› οΈ Teknologi yang Digunakan

  • Java 8+: Bahasa pemrograman utama
  • Swing: GUI framework
  • SQLite: Database lokal
  • JDBC: Database connectivity
  • iText: Library untuk export PDF struk parkir

πŸ“‹ Persyaratan Sistem

  • Java Development Kit (JDK) 8 atau lebih tinggi
  • SQLite JDBC Driver (sqlite-jdbc-x.x.x.jar)
  • iText PDF Library (itextpdf-x.x.x.jar)
  • IDE Java (NetBeans, Eclipse, IntelliJ IDEA, dsb.)

πŸš€ Cara Menjalankan

1. Setup Database & Library

  • Download SQLite JDBC Driver dan iText PDF Library
  • Tambahkan sqlite-jdbc-x.x.x.jar dan itextpdf-x.x.x.jar ke classpath project

2. Compile dan Run

cd src
javac -cp ".;../sqlite-jdbc-x.x.x.jar;../itextpdf-x.x.x.jar" Uas_Pbo/*.java
java -cp ".;../sqlite-jdbc-x.x.x.jar;../itextpdf-x.x.x.jar" Uas_Pbo.Main

3. Login

Default Accounts:

  • Admin: username: admin, password: admin
  • Operator: username: Rakha, password: Rakha123

πŸ“± Panduan Penggunaan

Login

  1. Jalankan aplikasi
  2. Masukkan username & password
  3. Klik "LOGIN"

Kendaraan Masuk (Operator/Admin)

  1. Pilih menu "Kendaraan Masuk" (atau menu operator)
  2. Masukkan plat nomor & jenis kendaraan
  3. Klik "Simpan Data"

Kendaraan Keluar (Operator/Admin)

  1. Pilih menu "Kendaraan Keluar" (atau menu operator)
  2. Masukkan plat nomor atau klik data di tabel
  3. Klik "Proses Keluar"
  4. Struk otomatis tampil

Fitur Admin

  • Edit Data: Pilih baris β†’ Menu β†’ Edit Data Parkir
  • Hapus Data: Pilih baris β†’ Menu β†’ Hapus Data
  • Cetak Struk: Pilih baris β†’ Menu β†’ Cetak Struk

πŸ’° Sistem Tarif

Motor

  • Per jam: Rp 2.000
  • Maksimal per hari: Rp 15.000
  • Tarif inap: Rp 20.000 per hari
  • Minimum: Rp 2.000

Mobil

  • Per jam: Rp 5.000
  • Maksimal per hari: Rp 30.000
  • Tarif inap: Rp 40.000 per hari
  • Minimum: Rp 5.000

πŸ—„οΈ Database Schema

Tabel users

CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    username TEXT UNIQUE NOT NULL,
    password TEXT NOT NULL,
    role TEXT NOT NULL DEFAULT 'operator'
);

Tabel parkir

CREATE TABLE parkir (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    plat TEXT NOT NULL,
    jenis TEXT NOT NULL,
    tanggal_masuk TEXT NOT NULL,
    tanggal_keluar TEXT,
    durasi_menit INTEGER,
    tarif INTEGER
);

Class Hierarchy

Kendaraan (Abstract)
β”œβ”€β”€ Motor
└── Mobil

JFrame
β”œβ”€β”€ LoginForm
β”œβ”€β”€ ParkirAppSystem
β”œβ”€β”€ Masuk
β”œβ”€β”€ Keluar
β”œβ”€β”€ OptionOP
└── JDialog
    β”œβ”€β”€ EditDialog
    └── PrintDialog

πŸ”§ Konfigurasi

Database Connection

File: src/Uas_Pbo/DBConnection.java

public class DBConnection {
    public static Connection getConnection() throws SQLException {
        String url = "jdbc:mysql://localhost:3306/db_parkir";
        String user = "root";
        String pass = "";
        return DriverManager.getConnection(url, user, pass);
    }
}

πŸ› Troubleshooting

Error "SQLite JDBC driver tidak ditemukan"

Solusi: Pastikan sqlite-jdbc.jar ada di classpath

Error "iText PDF library tidak ditemukan"

Solusi: Pastikan itextpdf-x.x.x.jar ada di classpath

Database tidak bisa dibuat

Solusi: Periksa permission folder aplikasi

Aplikasi tidak bisa login

Solusi: Periksa koneksi database & data user default

πŸ“„ Lisensi

Project ini dikembangkan untuk keperluan pembelajaran dan tugas akhir mata kuliah Pemrograman Berorientasi Objek.
Segala bentuk penggunaan di luar pembelajaran harap mencantumkan atribusi kepada pengembang.


Happy Coding & Good Luck! πŸš€

About

Sistem Parkir Berbasis GUI Java adalah aplikasi desktop tugas akhir mata kuliah PBO di Universitas Singaperbangsa Karawang. Aplikasi ini mengelola parkir secara modern dengan fitur pencatatan kendaraan, perhitungan tarif otomatis, dan pencetakan struk PDF. Dibangun menggunakan Java Swing dan SQLite, serta menerapkan konsep OOP dan design pattern.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages