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.
Kelompok 5 PBO
Project UAS Mata Kuliah Pemrograman Berorientasi Objek
Laporan Project UAS PBO (Google Drive)
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 |
- 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
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
- Java 8+: Bahasa pemrograman utama
- Swing: GUI framework
- SQLite: Database lokal
- JDBC: Database connectivity
- iText: Library untuk export PDF struk parkir
- 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.)
- Download SQLite JDBC Driver dan iText PDF Library
- Tambahkan
sqlite-jdbc-x.x.x.jar
danitextpdf-x.x.x.jar
ke classpath project
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
Default Accounts:
- Admin: username:
admin
, password:admin
- Operator: username:
Rakha
, password:Rakha123
- Jalankan aplikasi
- Masukkan username & password
- Klik "LOGIN"
- Pilih menu "Kendaraan Masuk" (atau menu operator)
- Masukkan plat nomor & jenis kendaraan
- Klik "Simpan Data"
- Pilih menu "Kendaraan Keluar" (atau menu operator)
- Masukkan plat nomor atau klik data di tabel
- Klik "Proses Keluar"
- Struk otomatis tampil
- Edit Data: Pilih baris β Menu β Edit Data Parkir
- Hapus Data: Pilih baris β Menu β Hapus Data
- Cetak Struk: Pilih baris β Menu β Cetak Struk
- Per jam: Rp 2.000
- Maksimal per hari: Rp 15.000
- Tarif inap: Rp 20.000 per hari
- Minimum: Rp 2.000
- Per jam: Rp 5.000
- Maksimal per hari: Rp 30.000
- Tarif inap: Rp 40.000 per hari
- Minimum: Rp 5.000
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
role TEXT NOT NULL DEFAULT 'operator'
);
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
);
Kendaraan (Abstract)
βββ Motor
βββ Mobil
JFrame
βββ LoginForm
βββ ParkirAppSystem
βββ Masuk
βββ Keluar
βββ OptionOP
βββ JDialog
βββ EditDialog
βββ PrintDialog
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);
}
}
Solusi: Pastikan sqlite-jdbc.jar
ada di classpath
Solusi: Pastikan itextpdf-x.x.x.jar
ada di classpath
Solusi: Periksa permission folder aplikasi
Solusi: Periksa koneksi database & data user default
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! π