Analisis dan Perancangan Sistem: Transisi dari Analisis ke Desain
Sistem Peminjaman Laboratorium Komputer merupakan solusi krusial untuk mengatasi masalah jadwal bentrok dan dokumentasi manual di lingkungan universitas. Transisi dari fase analisis ke desain memerlukan dokumentasi teknis yang solid berupa Use Case Description dan Sequence Diagram guna memastikan pengembang memahami alur logika sistem dengan tepat.
Key Takeaways
- Automasi Notasi: Menggantikan proses manual (WA/Email) dengan alur sistem terintegrasi.
- Integritas Data: Penggunaan Entity Class memastikan histori peminjaman terdokumentasi.
- Sinkronisasi Desain: Alur pada Sequence Diagram harus mencerminkan setiap langkah dalam Normal Flow Use Case.
Table of Contents
- Deskripsi Use Case Lengkap
- Sequence Diagram UML
- Tabel Komponen Sistem
- Frequently Asked Questions
1. Deskripsi Use Case Lengkap
Berikut adalah deskripsi mendalam untuk fungsi utama sistem, yaitu Mengajukan Peminjaman Laboratorium.
| Elemen Use Case |
Detail Deskripsi |
| Nama Use Case |
Mengajukan Peminjaman Laboratorium |
| Aktor |
Dosen, Mahasiswa |
| Deskripsi |
Proses di mana peminjam mengisi formulir pengajuan jadwal penggunaan laboratorium secara digital. |
| Kondisi Awal |
Aktor telah melakukan login ke dalam sistem. |
| Trigger |
Aktor memilih menu “Buat Pengajuan Peminjaman”. |
| Kondisi Akhir |
Data pengajuan tersimpan di database dan status menjadi “Menunggu Verifikasi”. |
Alur Normal (Interaksi Aktor & Respon Sistem):
- Aktor: Memilih menu pengajuan peminjaman.
- Sistem: Menampilkan form peminjaman (Tanggal, Jam, Ruangan, Tujuan).
- Aktor: Mengisi detail peminjaman dan menekan tombol “Kirim”.
- Sistem: Memvalidasi ketersediaan jadwal pada database.
- Sistem: Menyimpan data pengajuan dan menampilkan pesan “Pengajuan Berhasil Dikirim”.
- Sistem: Mengirim notifikasi otomatis kepada Admin.
Alur Alternatif (Jadwal Bentrok):
- 4a. Jika jadwal sudah terisi oleh peminjam lain, Sistem menampilkan pesan error “Jadwal Sudah Terpakai” dan menyarankan slot waktu lain.
- 4b. Aktor memperbaiki jam/tanggal atau membatalkan pengajuan.
2. Sequence Diagram (UML)
Berdasarkan alur di atas, berikut adalah visualisasi teknis menggunakan notasi UML (Unified Modeling Language) yang melibatkan komponen Boundary, Control, dan Entity.
sequenceDiagram
autonumber
actor Aktor as Dosen/Mahasiswa
participant UI as UI: FormPeminjaman (Boundary)
participant Ctrl as Ctrl: PeminjamanController (Control)
participant DB as DB: JadwalLaboratorium (Entity)
Aktor->>UI: Input Data Peminjaman (Tanggal, Jam, Lab)
UI->>Ctrl: submitPengajuan(data)
activate Ctrl
Ctrl->>DB: cekKetersediaan(tanggal, jam)
activate DB
DB-->>Ctrl: statusTersedia
deactivate DB
alt Jika Jadwal Tersedia
Ctrl->>DB: simpanDataPeminjaman()
activate DB
DB-->>Ctrl: konfirmasiSimpan
deactivate DB
Ctrl-->>UI: tampilkanPesanSuccess()
UI-->>Aktor: "Pengajuan Berhasil Dikirim"
else Jika Jadwal Bentrok
Ctrl-->>UI: tampilkanPesanError("Jadwal Bentrok")
UI-->>Aktor: "Silakan pilih jadwal lain"
end
deactivate Ctrl
Pro Tip: Dalam Sequence Diagram, pastikan Activation Bar (kotak vertikal) merepresentasikan durasi proses yang aktif agar diagram mudah dibaca oleh pengembang backend.
3. Tabel Komponen Sistem
| Komponen |
Nama dalam Desain |
Peran dalam Sistem |
| Aktor |
Dosen/Mahasiswa |
Inisiator yang berinteraksi dengan antarmuka. |
| Boundary |
FormPeminjaman UI |
Jembatan antara pengguna dan logika sistem internal. |
| Control |
PeminjamanController |
Logika untuk memvalidasi bentrok jadwal dan aturan bisnis. |
| Entity |
JadwalLaboratorium |
Tabel database yang menyimpan histori dan status peminjaman. |
4. Frequently Asked Questions (FAQ)
1. Mengapa harus menggunakan Boundary, Control, dan Entity?
Pola ini (sering disebut MVC atau BCE) membantu memisahkan tanggung jawab kode. Jika antarmuka (UI) berubah, logika bisnis di Control tetap tidak terganggu.
2. Kapan notifikasi otomatis dikirimkan?
Berdasarkan deskripsi tugas, notifikasi dikirimkan setelah Admin Laboratorium melakukan verifikasi (ini merupakan Use Case terpisah namun berkaitan).
3. Bagaimana cara menangani histori peminjaman?
Setiap pengajuan yang masuk ke Entity (Database) akan diberikan timestamp dan Log ID sehingga semua jejak digital terdokumentasi secara otomatis.
Apakah Anda ingin saya membuatkan Class Diagram untuk memperjelas hubungan antar tabel database pada sistem ini?