Kasus nyata: RPS bagian G bobotnya sudah lengkap (total 100%), tapi kolom
"Sub-CPMK yang Dinilai" tak satu pun dicentang di tiap komponen. Komponen
begini lolos validasi total bobot, tapi _komponen_daftar() menyaringnya
habis (butuh subs DAN bobot) -- dosen jadi bingung kenapa halaman Nilai
sama sekali tak punya section "ISI PER KOMPONEN", padahal RPS-nya sudah
diisi.
- _komponen_tanpa_sub(): fungsi baru, deteksi komponen dengan bobot > 0
tapi subs kosong
- Halaman RPS: peringatan di atas tabel bagian G, sebut nama komponen
yang bermasalah
- Halaman Nilai: peringatan serupa + link "Buka RPS" -- muncul di titik
gejalanya, bukan cuma di sumbernya
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>