Halaman Nilai kini punya tabel per-mahasiswa dalam skala poin (bukan 0-100)
supaya terlihat berapa poin riil yang sudah didapat dari total 100 per
Sub-CPMK. Nilai Akhir juga ditandai * kalau sebagian Sub-CPMK belum
ternilai (angkanya sementara), dan sel di grid Sub-CPMK ditandai ✎ kalau
skornya pernah dikoreksi manual dan berisiko tertimpa balik saat sesi
komponen terkait disimpan ulang.
- Halaman Nilai: tabel "Nilai per Komponen" (rata-rata skor mentah tiap
sesi, bisa diedit langsung) berdampingan dengan grid Sub-CPMK yang tetap
presisi; kolom persentase ternilai di Hasil Ketercapaian.
- Komponen Tugas: sesi bisa menyasar subset Sub-CPMK (RPS tetap batasannya),
lengkap dengan field ala RTM (bentuk tugas, deskripsi, metode, luaran,
indikator/bobot, jadwal) dan tombol isi-otomatis per bentuk tugas.
- RPS: auto-save berkala sebagai draft, tombol ke atas, validasi total
bobot komponen 100% saat ditandai selesai, komponen berbobot kosong
disembunyikan dari halaman Nilai.
- Admin: tampilkan kelas yang tersedia dari data mahasiswa saat mengatur
penugasan dosen per kelas.
- Perbaikan step="any" pada input nilai (mencegah validasi HTML5 menolak
nilai desimal hasil roll-up).
- Tambah METODOLOGI_ASESMEN_KOMPONEN.md: dokumentasi metodologi Sub-CPMK
vs komponen, termasuk skenario tugas menyasar sebagian Sub-CPMK.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Trigger pembesaran sebelumnya cuma di focusin/focusout pada textarea itu
sendiri, jadi tidak pernah aktif untuk dosen non-RPS -- elemen di dalam
<fieldset disabled> tidak bisa menerima fokus maupun event mouse sama
sekali. Pindahkan trigger ke hover pada <td> di sekitarnya (yang tidak
ikut disabled), sehingga dosen view-only pun bisa membaca sel yang sempit
dengan jelas, bukan cuma dosen yang boleh mengedit.
Tabel F (9 kolom x 16 baris) membuat textarea-nya kecil dan susah dibaca/
diedit. Sekarang textarea di tabel itu membesar & mengambang (position:fixed,
z-index) saat diklik, tanpa mengubah lebar/tinggi tabel di baliknya, lalu
kembali normal saat pindah fokus. Semua textarea juga bisa di-resize bebas
(lebar+tinggi) sebagai jaring pengaman tambahan.
Perubahan murni CSS/JS statis -- tidak ada migrasi data.
- Tampilan "Isi Per Komponen Penilaian" diganti dari tombol bertumpuk teks
jadi tabel (Komponen/Sub-CPMK/Bobot/Status/Aksi) dengan status berupa
stempel, lebih mudah dipindai.
- Filter pencarian MK (ketik kode/nama) di kotak penugasan dosen /admin.
- Istilah NPM diseragamkan jadi NIM di seluruh aplikasi (label, header,
template Excel, dokumen portofolio), termasuk migrasi kolom database
mahasiswa.npm -> nim yang aman (ALTER TABLE RENAME COLUMN, otomatis saat
startup, tanpa kehilangan data; parser Excel tetap terima file lama
berheader NPM).
- Fitur ganti password mandiri (/akun): verifikasi password lama, sesi lain
otomatis keluar setelah berhasil, sesi yang dipakai tetap aktif.
- RPS: dosen RPS+MK kini bisa menyesuaikan redaksi kalimat Sub-CPMK (bagian
D) untuk MK yang diampu -- kode & kaitan CPMK/CPL tetap dari kurikulum,
hanya teksnya yang bisa disesuaikan. Penyesuaian otomatis konsisten di
dropdown mingguan (F), checklist komponen (G), serta unduhan RPS &
portofolio, tanpa menyentuh data kurikulum induk atau halaman nilai/
dashboard prodi.
- Form RPS dibungkus <fieldset disabled> untuk dosen tanpa hak edit --
seluruh field benar-benar terkunci (bukan cuma tombol simpan hilang).
- Halaman nilai: tombol isi-cepat per komponen penilaian (bagian G RPS) yang
menyalin nilai ke seluruh Sub-CPMK terkait; komponen berulang (Kuis, Tugas,
Presentasi, Tes Lisan) mendukung banyak sesi dengan rata-rata otomatis,
komponen sekali-jalan (UTS/UAS) mengedit sesi yang sama. Sub-CPMK yang
diukur >1 komponen digulung rata tertimbang bobot (hitung.skor_dari_sesi).
- Hapus jalur unggah Excel & mode "ketik rata-rata kelas" (agregat) dari
input nilai — proses diseragamkan: hanya grid manual + tombol komponen,
keduanya bersumber dari daftar mahasiswa impor kaprodi.
- Dasbor Monitoring, Rekap CPL/CPMK, dan Riwayat kini khusus kaprodi (dosen
tidak lagi melihat rollup lintas-MK yang bukan miliknya).
- Penugasan dosen ke MK bisa dibatasi per kelas (kolom kelas baru di tabel
penugasan, migrasi otomatis & aman untuk DB yang sudah berjalan) — dosen
MK dengan banyak kelas paralel hanya melihat & menilai kelasnya sendiri;
hapus nilai MK penuh dikunci untuk dosen yang dibatasi kelas.
- Peran dosen dipecah jadi dosen_mk (nilai & portofolio saja, RPS baca-only)
dan dosen_rps_mk (bisa edit RPS juga); migrasi otomatis dari skema lama.
- Rekap Bobot Penilaian RPS pakai 6 komponen teknik asesmen baku prodi;
total wajib tepat 100%, komponen individual boleh dikosongkan.
- Dropdown & daftar Sub-CPMK tak lagi terpotong teksnya.
- Bagian F (Rencana Mingguan): tombol "Isi Otomatis" per baris (termasuk
usulan Bobot) yang muncul setelah Sub-CPMK dipilih, plus panel contoh
teks bantu per kolom.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Dashboard pemetaan statis kini dilayani aplikasi di /dashboard
(app/static/dashboard.html). Fitur lengkap Tahap 1-4 + dasbor monitoring,
menu global, filter semester, input nilai langsung, penggabungan nilai
team teaching, tabel bisa urut. Dockerfile berubah dari nginx statis ke
uvicorn/FastAPI: healthcheck, proxy-headers, volume /data (SQLite).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>