FSDSS-703 Si Culun Belajar Ngent0d Malah Ketagi...

Fsdss-703 Si Culun Belajar Ngent0d Malah Ketagi... 【2026】

| Goal | Success Metric | |------|----------------| | Reduce off‑topic navigation during study sessions | < 5 % of sessions contain a “guard‑trigger” event after 30 days (down from ~15 % baseline) | | Improve completion rate of learning modules | + 7 % module‑completion rate within the first 2 months | | Enhance perceived safety and professionalism of the platform | ≥ 4.5 / 5 average rating on the “learning environment” survey question |


| FR | Description | |----|-------------| | FR‑1 | Detect off‑topic navigation using a combination of URL pattern matching, keyword analysis, and machine‑learning classification (confidence threshold ≥ 0.85). | | FR‑2 | Classify content into three buckets: Allowed / Potentially Disallowed / Explicitly Disallowed (the latter block automatically). | | FR‑3 | When a “Potentially Disallowed” event occurs, display a non‑intrusive modal:
• Message: “Hey, looks like you’re heading away from the lesson. Want a quick recap or a related resource?”
• Two buttons: Refocus (takes user back to the current lesson) / Continue Anyway (records the event but lets the user proceed). | | FR‑4 | If an “Explicitly Disallowed” URL is accessed, block the navigation, show a warning, and log the attempt. | | FR‑5 | Store every guard‑trigger event in a new learning_guard_events table (user_id, session_id, timestamp, url, category, action_taken). | | FR‑6 | Provide an admin‑only analytics page with filters (date range, user group, category) and export capability (CSV). | | FR‑7 | Expose an API endpoint (GET /api/v1/guard-events) for mentors to retrieve events for their assigned learners (OAuth‑protected). | | FR‑8 | Include an opt‑out toggle in the user profile (default ON) for users who prefer no interruptions (still block explicit content). | FSDSS-703 Si Culun Belajar Ngent0d Malah Ketagi...


Cul‑Culun (atau biasa dipanggil “Cul” oleh teman‑temannya) memang terkenal sebagai mahasiswa jurusan Sistem Informasi yang selalu menunda tugas. Ia lebih suka menghabiskan waktu di kafe sambil main game, daripada membuka laptop. Suatu hari, dosen mata kuliah Keamanan Jaringan mengumumkan bahwa ada kelas tambahan yang wajib diikuti semua mahasiswa – kode kelas: FSDSS‑703. | Goal | Success Metric | |------|----------------| |

“Kenapa sih harus ekstra? Bukannya materi udah di‑lecture?” tanya Cul sambil mengerutkan alis. Dosen menjawab dengan nada serius, “Karena di kelas ini kita akan membahas teknik penetration testing yang cukup “berbumbu”. Kalau kalian belum siap, siap-siap aja… terjebak dalam situasi yang tak terduga.” | FR | Description | |----|-------------| | FR‑1

Cul menatap papan tulis, menuliskan kode kelas itu di catatan. “FSDSS‑703… apa itu? Semacam… ‘F‑S‑D‑S‑S’? Aku nggak ngerti,” gumamnya pada diri sendiri.


CREATE TABLE learning_guard_events (
    id               BIGSERIAL PRIMARY KEY,
    user_id          UUID NOT NULL REFERENCES users(id),
    session_id       UUID NOT NULL,
    occurred_at      TIMESTAMPTZ NOT NULL DEFAULT now(),
    url              TEXT NOT NULL,
    category         VARCHAR(20) NOT NULL CHECK (category IN ('potential', 'explicit')),
    action_taken     VARCHAR(20) NOT NULL CHECK (action_taken IN ('refocus', 'continue', 'blocked')),
    metadata         JSONB,
    signature        BYTEA NOT NULL
);

Signature is generated using the platform’s HMAC secret to guarantee immutability.


| NFR | Requirement | |-----|-------------| | NFR‑1 | Guard detection latency ≤ 200 ms per request (cached rule set, lightweight model). | | NFR‑2 | System must handle peak load of 10 000 concurrent learners with < 2 % error rate. | | NFR‑3 | Data stored in compliance with GDPR / local privacy regulations (anonymized for analytics). | | NFR‑4 | UI components must be responsive and meet WCAG AA accessibility standards. | | NFR‑5 | Logging must be tamper‑evident (append‑only, signed entries). |