UTS_PBO2 adalah aplikasi desktop Java Swing untuk pengelolaan data akademik kampus (mahasiswa, dosen, mata kuliah, KRS, dan nilai) dengan backend Supabase.
Quick links: Download Rilis Terbaru · Skema Database · Screenshot
- Fitur Utama
- Stack Teknologi
- Struktur Folder Project
- Tugas & Hak Akses Role
- Cara Menggunakan
- Panduan Penggunaan Lengkap
- Use Case & Alur Kerja (Visual)
- Skema Visual Database
- Screenshot Aplikasi
- Login multi-role (
admindanoperator). - Dashboard ringkasan data akademik.
- Manajemen data mahasiswa.
- Manajemen data dosen.
- Manajemen data mata kuliah.
- Pengelolaan KRS.
- Pengelolaan nilai (absensi, tugas, quiz, UTS, UAS, nilai akhir, grade, status).
- Ganti password user.
- Java Swing (desktop UI)
- Apache Ant (build automation)
- PostgreSQL/Supabase (database & REST API)
- JDBC Driver: PostgreSQL dan MySQL connector
UTS_PBO2/
├── README.md
├── .gitignore
├── uts_pbo2.sql # skema SQL awal
├── docs/
│ ├── images/ # screenshot UI + skema visual database
│ ├── PANDUAN-PENGGUNAAN.md # panduan operasional per role
│ └── USECASE-ALUR-KERJA.md # use case & alur visual (Mermaid)
├── uts1/ # project utama Java Swing (NetBeans/Ant)
│ ├── src/uts1/ # source code aplikasi
│ ├── lib/ # dependency JDBC
│ ├── supabase/migrations/ # migration SQL
│ ├── build.xml # build script Ant
│ └── manifest.mf
└── uts/ # project lama/arsip
| Role | Menu yang Bisa Diakses | Tugas Utama |
|---|---|---|
| Admin | Dashboard, Mahasiswa, Dosen, Mata Kuliah, Ganti Password | Monitoring data akademik, kelola master data mahasiswa/dosen/mata kuliah, maintenance akun sendiri |
| Operator | Dashboard, KRS, Nilai, Ganti Password | Input dan update transaksi KRS, input komponen nilai sampai nilai akhir, maintenance akun sendiri |
- Download rilis terbaru:
https://github.com/looplipop/UTS_PBO2/releases/latest - Ambil salah satu file:
uts1-dist-v1.0.0.zip(rekomendasi, sudah termasuk folderlib/)uts1.jar(pastikan dependency tersedia)
- Jika pilih ZIP, ekstrak dulu.
- Set environment variable Supabase:
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_ANON_KEY="your-anon-key"
export SUPABASE_SERVICE_KEY="your-service-role-key"- Jalankan aplikasi:
cd uts1-dist-v1.0.0
java -jar uts1.jarcd uts1
ant clean test jar
java -jar dist/uts1.jarPanduan detail per halaman (Admin & Operator) tersedia di:
Untuk use case dan alur visual lengkap:
Dokumen tersebut juga berisi penjelasan tiap alur dan skenario use case detail (aktor, precondition, alur utama, alternatif, postcondition).
Ringkasan cepat:
| Role | Halaman | Aksi Utama |
|---|---|---|
| Admin/Operator | Dashboard | Monitoring ringkasan data mahasiswa, KRS, nilai, distribusi grade |
| Admin | Mahasiswa | Refresh, Tambah, Update, Hapus, Reset, pencarian/filter |
| Admin | Dosen | Refresh, Tambah, Update, Hapus, Reset, pencarian/filter |
| Admin | Mata Kuliah | Refresh, Tambah, Update, Hapus, Reset, relasi dosen & jadwal |
| Admin/Operator | Ganti Password | Ubah password akun aktif |
| Operator | Dashboard | Monitoring ringkasan operasional akademik |
| Operator | KRS | Pilih mahasiswa+semester, Tampilkan, Tambah KRS, Batalkan KRS, ambil MK atas/mengulang |
| Operator | Nilai | Input komponen nilai, hitung otomatis nilai akhir/grade, Tambah, Update, Hapus, filter grade |
flowchart LR
A[Admin] --> U1[Login]
A --> U2[Dashboard]
A --> U3[Kelola Mahasiswa]
A --> U4[Kelola Dosen]
A --> U5[Kelola Mata Kuliah]
A --> U6[Ganti Password]
O[Operator] --> U1
O --> U2
O --> U7[Kelola KRS]
O --> U8[Kelola Nilai]
O --> U6
flowchart TD
S1([Mulai]) --> L1[Login sebagai Admin]
L1 --> D1[Dashboard: lihat ringkasan]
D1 --> M1{Kelola data apa?}
M1 -->|Mahasiswa| M2[Tambah/Update/Hapus data mahasiswa]
M1 -->|Dosen| M3[Tambah/Update/Hapus data dosen]
M1 -->|Mata Kuliah| M4[Tambah/Update/Hapus MK dan jadwal]
M2 --> C1[Validasi & simpan ke database]
M3 --> C1
M4 --> C1
C1 --> P1{Perlu ubah password?}
P1 -->|Ya| P2[Ganti Password]
P1 -->|Tidak| E1([Selesai])
P2 --> E1
flowchart TD
S2([Mulai]) --> L2[Login sebagai Operator]
L2 --> D2[Dashboard: pantau progres akademik]
D2 --> K1[Pilih menu KRS]
K1 --> K2[Pilih mahasiswa + semester]
K2 --> K3[Tampilkan mata kuliah]
K3 --> K4[Tambah/Batalkan KRS]
K4 --> N1[Pilih menu Nilai]
N1 --> N2[Pilih mahasiswa + mata kuliah]
N2 --> N3[Input Absensi/Tugas/Quiz/UTS/UAS]
N3 --> N4[Sistem hitung nilai akhir + grade]
N4 --> N5[Simpan / Update / Hapus nilai]
N5 --> P3{Perlu ubah password?}
P3 -->|Ya| P4[Ganti Password]
P3 -->|Tidak| E2([Selesai])
P4 --> E2
Relasi utama:
Mahasiswaterhubung keKRSdanNilailewatnim.Matakuliahterhubung keKRSdanNilailewatkode_matakuliah.Dosenterhubung keMatakuliahlewatkode_dosen.usersdipakai untuk autentikasi dan role (Admin/Operator).
Di halaman Dashboard, ringkasan dan chart diambil langsung dari data database:
- Kartu statistik: Total Mahasiswa, Sudah KRS, Belum KRS, Rata-rata Grade.
- Filter jurusan: memilih prodi tertentu atau
SEMUA. - Chart 1: Stacked Bar pendaftaran KRS per departemen (sudah/belum KRS).
- Chart 2: Donut Chart distribusi grade akademik (A/B/C/D).
Implementasi visual menggunakan:
- Java Swing + Java2D custom rendering (tanpa library chart eksternal).
- Komponen chart ada di
uts1/src/uts1/ui/ChartComponents.java:ChartComponents.StackedBarChartChartComponents.DonutChart
- Data dashboard dihitung di
uts1/src/uts1/MainMenu.javapada metodefetchDashboardStats(...).
Penjelasan: Halaman autentikasi awal. User memasukkan username & password untuk masuk ke sistem bisa menggunakan kredensial default dibawah ini.
| username | password |
|---|---|
| admin | admin123 |
| operator | operator123 |
Output: Jika valid, sistem membaca role dan menampilkan menu sesuai hak akses.
Penjelasan: Ringkasan kondisi akademik secara real-time.
Informasi utama: total mahasiswa, status KRS (sudah/belum), rata-rata grade, visual bar + donut chart, dan filter jurusan.
Penjelasan: Modul CRUD data mahasiswa (NIM, nama, prodi, kelas, angkatan, semester).
Aksi: Refresh, Tambah, Update, Hapus, Reset, dan pencarian data.
Penjelasan: Modul CRUD data dosen dan pemetaan mata kuliah yang diampu.
Aksi: Refresh, Tambah, Update, Hapus, Reset, dan pencarian.
Penjelasan: Modul CRUD data mata kuliah dan jadwal (SKS, dosen, semester, hari, jam, ruangan).
Aksi: Refresh, Tambah, Update, Hapus, Reset, serta filter/pencarian.
Penjelasan: Fitur keamanan akun untuk mengganti password user yang sedang login.
Aksi: Verifikasi password lama dan simpan password baru.
Penjelasan: Pengelolaan Kartu Rencana Studi per mahasiswa dan semester.
Aksi: pilih mahasiswa+semester, tampilkan mata kuliah, tambah KRS, batalkan KRS, ambil MK atas/mengulang jika memenuhi syarat.
Penjelasan: Input dan manajemen nilai akademik per mahasiswa dan mata kuliah.
Aksi: isi komponen nilai (absensi, tugas, quiz, UTS, UAS), hitung otomatis nilai akhir+grade, lalu Tambah, Update, Hapus, dan filter grade.
