# Modul Aplikasi

Pencatatan wisuda awal mendukung pencarian peserta berdasarkan NIM/nama, kehadiran, dan referensi/tanggal sertifikat acara; pencarian tetap terbawa pada pagination. Kehadiran dan sertifikat acara bukan data ijazah dan tidak mengubah status akademik. Pembatalan peserta, kapasitas, biaya, undangan, nomor ijazah, dan dokumen digital belum tersedia.
Laporan operasional menampilkan agregat mahasiswa per program/status, PMB per siklus/program/status, keuangan per periode, presensi per periode/status, lembar nilai per periode/status, kasus yudisium, dan peserta per acara wisuda. Ekspor CSV memerlukan izin, tercatat pada audit, dan menetralkan nilai yang dapat ditafsirkan sebagai formula spreadsheet. Laporan ini bukan rekonsiliasi keuangan atau dokumen akademik resmi.

| Modul | Tanggung jawab | Keluaran utama |
|---|---|---|
| PMB | Pendaftaran, dokumen, seleksi, keputusan | Calon dan hasil penerimaan |
| Master & Kalender | Unit, prodi, periode, ruang, kalender | Referensi akademik tervalidasi |
| Kurikulum | Versi kurikulum, mata kuliah, prasyarat | Peta studi |
| Mahasiswa & Dosen | Profil, status, penugasan | Data akademik berotorisasi |
| KRS & Jadwal | Penawaran, kapasitas, bentrok, persetujuan | Registrasi kelas |
| Presensi & Nilai | Kehadiran, komponen, finalisasi | Rekam hasil belajar |
| KHS & Transkrip | Rekap hasil per periode dan keseluruhan | Dokumen akademik |
| Keuangan | Tagihan, pembayaran, koreksi, laporan | Saldo dan status pembayaran |
| Kemahasiswaan | Aktivitas, layanan, prestasi/disiplin | Riwayat layanan |
| Tugas akhir | Proposal, pembimbing, bimbingan, ujian | Status penyelesaian |
| Yudisium & Wisuda | Pemeriksaan syarat, keputusan, acara | Status kelulusan dan wisuda |
| Laporan | Operasional dan agregat berizin | Ekspor terlacak |
| Integrasi | Feeder, status, retry, rekonsiliasi | Hasil sinkronisasi |

Modul menggunakan RBAC dan audit bersama; lihat [RBAC](08-rbac.md) dan [keamanan](10-keamanan-privasi.md). Batas MVP dan urutan ditetapkan di [roadmap](12-roadmap.md).

## Kriteria lintas modul
Setiap modul memiliki pemilik proses, status dan transisi yang terdokumentasi, validasi server, izin per aksi, audit untuk perubahan sensitif, serta skenario uji. Data periode historis tetap dapat dibaca setelah periode ditutup.

## Terbuka
Kebutuhan detail modul, kanal pembayaran, dan format laporan disahkan unit terkait sebelum implementasi.

## PMB (fondasi MVP)
Operator membuat siklus yang terhubung ke periode akademik serta tanggal buka/tutup. Form publik mengumpulkan nama, email, telepon, asal sekolah opsional, pilihan prodi aktif, dan persetujuan pemrosesan data; unggahan hingga lima berkas PDF/JPG/PNG masing-masing maksimal 5 MB bersifat opsional. Berkas privat hanya dapat diunduh petugas PMB berizin dan unduhan tercatat. Petugas memverifikasi, menerima, atau menolak dengan catatan. Pendaftar diterima dapat dikonversi secara transaksional menjadi mahasiswa memakai NIM yang diberikan operator. Persyaratan wajib dokumen, biaya, jalur/komponen seleksi, verifikasi email, notifikasi, retensi, dan penghapusan masih harus diputuskan.

## Status implementasi awal
Fondasi akses, profil institusi/periode, master akademik, kurikulum, penawaran kelas/jadwal, mahasiswa/KRS/status akademik, presensi/nilai, ringkasan hasil studi dan pratinjau riwayat lintas semester, PMB, ekspor mahasiswa terbatas, portal dosen tersaring berdasarkan jadwal tugas, register tugas akhir/bimbingan/jadwal dan hasil ujian awal, pengajuan/keputusan yudisium, pendaftaran wisuda, dan catatan kegiatan/prestasi mahasiswa sudah tersedia. Dosen dapat mencatat presensi dan mengelola/mengajukan nilai kelas tugas; persetujuan nilai tetap role akademik lain. Pratinjau riwayat menampilkan semua percobaan mata kuliah; IPK dihitung hanya setelah kebijakan pengulangan dan presisi disetel, dan dokumen masih berupa pratinjau. Keuangan manual awal mencatat tagihan, pembayaran parsial, dan pembatalan dengan jejak audit; tarif otomatis, rekonsiliasi, dan gateway belum tersedia. Pemetaan ID Neo Feeder dan kerangka pencatatan batch tersedia, tetapi transfer data belum aktif. Layanan konseling/aduan, persetujuan proposal dan tim penguji, koreksi nilai/yudisium, dokumen akademik resmi, laporan lengkap, serta sinkronisasi Feeder yang tervalidasi masih perlu dibangun.

Aturan akademik dapat diisi melalui Pengaturan: batas SKS semester, perlakuan mata kuliah yang diulang, dan presisi desimal IPK. Nilai kosong berarti sistem tidak menerapkan aturan itu. KRS menolak tambahan kelas yang melampaui batas jika kampus menetapkannya; IPK lintas semester baru dihitung jika kebijakan pengulangan dan presisi sudah dipilih.

Akun mahasiswa dapat ditautkan ke satu rekam mahasiswa oleh pengelola akun. Portal mahasiswa menampilkan KRS dan hasil studi milik sendiri; pemeriksaan kepemilikan diterapkan di server. Pembuatan akun tetap dilakukan pengelola; semua akun aktif dapat mengganti kata sandi dari menu akun atau meminta tautan pemulihan melalui email. Pemulihan email memerlukan SMTP yang telah dikonfigurasi.

## Mahasiswa dan KRS (fondasi MVP)
Data mahasiswa memakai kode lokal dan riwayat program studi terpisah. Operator berizin dapat mengubah status aktif menjadi cuti/mengundurkan diri, mengaktifkan kembali mahasiswa cuti, dan semua perubahan disimpan pada audit log; status lulus hanya berubah melalui persetujuan eksplisit yudisium. Periode dan alasan keputusan wajib untuk cuti/pengunduran diri. KRS hanya dapat dibuat pada periode aktif untuk mahasiswa berstatus aktif; kelas harus dibuka, sesuai program studi, memiliki kursi, dan tidak bentrok jadwal. Pengajuan menahan kapasitas sampai ditinjau; pengelola akademik dapat menyetujui atau menolak dengan catatan. Batas SKS dapat diatur. Admin dapat mengisi waktu buka dan tutup KRS pada masing-masing periode; keduanya wajib diisi berpasangan. Jika ditetapkan, pembuatan, penambahan, pelepasan, dan pengajuan KRS ditolak di server di luar rentang inklusif tersebut. Jika kosong, sistem mempertahankan perilaku yang ada: KRS dapat dikelola selama periodenya aktif. Prasyarat dan perwalian masih perlu keputusan kampus.

## Presensi (fondasi MVP)
Petugas dengan izin presensi memilih kelas/periode, membuat pertemuan pada hari jadwal yang sudah tersusun, lalu mengisi status hadir, tidak hadir, terlambat, atau izin untuk seluruh mahasiswa dengan KRS disetujui. Tanggal pertemuan harus berada dalam rentang periode akademik; satu tanggal hanya dapat dicatat sekali per kelas. Data dapat diperbarui oleh pemilik izin kelola. Ambang minimum kehadiran, bukti izin, dan proses koreksi setelah pengesahan belum ditetapkan.

## Nilai perkuliahan (fondasi MVP)
Pengelola membuat lembar nilai untuk kelas terdaftar, menetapkan komponen dan bobot, lalu mencatat skor 0–100 untuk setiap mahasiswa pada KRS disetujui. Bobot harus berjumlah tepat 100% dan seluruh skor harus lengkap sebelum pengajuan. Pengajuan mengunci lembar; pemeriksa menyetujui atau mengembalikannya dengan catatan. Persetujuan menghitung nilai akhir berbobot dan memetakannya ke skala kampus yang dikonfigurasi. Label, rentang nilai, bobot mutu, dan status lulus tidak diberi nilai bawaan. Aturan pembulatan kampus, jadwal buka/tutup input, dan koreksi setelah persetujuan belum ditetapkan.

## Hasil studi (ringkasan awal)
Pengelola yang berizin dapat melihat daftar mata kuliah per mahasiswa dan periode. Nilai hanya ditampilkan setelah disetujui; nilai yang masih menunggu tetap tampak sebagai belum tersedia. Ringkasan memisahkan SKS KRS, SKS bernilai, dan SKS berbobot mutu; menampilkan rata-rata numerik dan bobot mutu sementara. Tersedia tampilan cetak ringkasan semester serta pratinjau cetak riwayat lintas semester; keduanya bukan KHS/transkrip resmi. IPK hanya dihitung jika kebijakan pengulangan dan presisi dikonfigurasi. Format dokumen resmi masih menunggu keputusan kampus.

## Tugas akhir (register, bimbingan, dan ujian awal)
Petugas berizin mencatat mahasiswa, topik, pembimbing opsional, tahap, status, tanggal mulai/selesai, dan catatan. Tahap/status adalah teks yang ditentukan kampus, tanpa daftar transisi atau syarat bawaan. Catatan bimbingan tersimpan per tanggal, dosen terkait, ringkasan, tindak lanjut, dan pencatat. Jadwal/hasil ujian memakai jenis dan status yang diisi sesuai istilah kampus. Perubahan tercatat di audit tanpa merekam isi catatan sebagai nilai log. Persetujuan proposal, penugasan tim penguji, pemeriksaan syarat yudisium, dan penetapan lulus belum otomatis.

## Kemahasiswaan (catatan kegiatan awal)
Operator dengan izin khusus mencatat kegiatan/prestasi mahasiswa, penyelenggara, rentang tanggal, hasil, dan catatan internal. Jenis kegiatan diisi sesuai istilah kampus; layanan konseling, aduan, disiplin, beasiswa, dan data sensitif lainnya menunggu kebijakan akses, persetujuan, retensi, dan alur yang disahkan.

## Yudisium (pengajuan dan keputusan awal)
Petugas hanya dapat mengajukan riwayat studi berstatus aktif; petugas peninjau dapat mengembalikan untuk perbaikan atau menyetujui dengan tanggal, periode, dan referensi keputusan. Antrean dapat dicari dengan NIM/nama serta difilter berdasarkan status; pilihan tetap terbawa pada pagination. Pengajuan ulang dan setiap keputusan memiliki riwayat. Persetujuan eksplisit mengubah riwayat studi menjadi lulus dalam transaksi yang sama. Aplikasi tidak menghitung persyaratan kelulusan, dan keputusan yang disetujui belum memiliki alur koreksi.

## Wisuda (acara dan pendaftaran awal)
Operator membuat acara, mengisi jadwal/lokasi bila tersedia, membuka atau menutup pendaftaran, lalu mendaftarkan pemilik kasus yudisium yang disetujui ke acara. Satu kasus hanya dapat didaftarkan sekali per acara. Pengubahan status acara dan peserta diserialkan dengan transaksi/penguncian agar keputusan tidak memakai status acara yang sudah kedaluwarsa. Pendaftaran tidak mengubah status akademik. Pembatalan peserta, kapasitas, biaya, undangan, nomor ijazah, dan dokumen wisuda belum dimodelkan.
## Penawaran kelas (fondasi MVP)
Admin akademik memilih periode dan mata kuliah dari versi kurikulum terbit, lalu mengisi kode kelas serta kapasitas. Kelas dibuat sebagai rencana; operator dapat membukanya, menutupnya, atau membatalkannya sesuai transisi status. Kelas yang masih memiliki KRS diajukan atau disetujui tidak dapat dibatalkan; operator dapat menutup pendaftaran baru. Jadwal mingguan memuat hari, rentang jam, jenis pertemuan, ruang, dan dosen pengampu. Sistem menolak tabrakan ruang/dosen dalam periode sama maupun tabrakan sesi pada kelas sama. Penugasan dosen bersifat opsional saat menyusun jadwal; KRS awal tersedia. Lihat [model data](05-model-data.md) dan [RBAC](08-rbac.md).

