# CYBER HUB-ASAS — SMK Yasmida Ambarawa (TKJ)

Portal pembelajaran **Cyber Security Fundamental ASAS (Bab 1-9)** — offline-friendly.

Berbeda dari ASTS-GANJIL yang mencakup 20 BAB, **ASAS-GANJIL** fokus pada **9 BAB fondasi** sesuai Kurikulum Cyber Security SMK:

| Bab | Judul | Sub-bab |
| --- | --- | --- |
| 01 | Prasyarat Teknis Cyber Security | Hardware, OS, Jaringan, IP/Subnetting, Cloud, DNS, CLI, Aset Digital |
| 02 | Pengenalan Cyber Security | Sejarah, Domain, ATVR, CS vs InfoSec, Karier, Security Mindset |
| 03 | Literasi Digital & Jejak Digital | Literasi, Identitas Digital, Jejak Aktif/Pasif, PII, Oversharing, OSINT |
| 04 | Security Awareness & Faktor Manusia | Social Engineering, Phishing/Spear/Whaling, Smishing/Vishing, Deepfake |
| 05 | Etika, Hukum, dan Regulasi Digital | Etika, Kode Etik, HAKI, UU ITE, UU PDP No. 27/2022, Responsible Disclosure |
| 06 | Dasar Kriptografi | Simetris/Asimetris, Hash, Digital Signature, PKI, HTTPS |
| 07 | Ancaman & Serangan Siber | Threat Actor, Malware, Ransomware, DDoS, MitM, IoC |
| 08 | Tata Kelola Keamanan Informasi | CIA/DAD Triad, AAA, PPTD, Klasifikasi, Risk Matrix, BCP/DRP |
| 09 | Keamanan Akun Digital | IAM, Password, Password Manager, MFA/2FA, ATO, Hardening |

## Struktur folder

```
./
├── index.html              # Portal utama
├── cyber-core.css          # Design system
├── cyber-core.js           # Utilitas bersama
├── sw.js                   # Service worker (cache semi-offline)
│
├── slide-asas-ganjil.html  # Classroom / slide (Bab 1-9)
├── asas-ganjil.html        # Academy (belajar mandiri)
├── academy-data.js         # Loader soal Academy
├── academy-db.json         # Database Academy
│
├── quiz-asas-ganjil.html   # Quiz / ujian (QUIZ01-ASAS)
├── quiz.css
├── quiz-data.js            # Loader soal Quiz
├── quiz-db.json            # Database Quiz (source of truth)
└── quiz-db-view.html       # Viewer database (guru)
```

## Menjalankan (disarankan)

Jangan double-klik file (`file://`) jika ingin JSON + service worker aktif.

```bash
cd folder-ini
python3 -m http.server 8080
```

Buka: <http://localhost:8080/index.html>

## Mode guru (kunci koreksi quiz)

PIN default (ganti segera di produksi):

```
HACKME
```

PIN **tidak disimpan plain-text** di kode. Yang tersimpan adalah hash SHA-256.  
Setelah berhasil, sesi browser menyimpan flag `sessionStorage` (tidak perlu PIN ulang di tab yang sama).

### Ganti PIN

1. Buat hash baru:
   ```bash
   printf '%s' 'PIN-BARU-ANDA' | sha256sum
   ```
2. Edit `TEACHER_PIN_HASH` di `quiz-asas-ganjil.html`.

## Topik kanonik

Field `topik` di `quiz-db.json` dan `academy-db.json` diselaraskan lewat daftar `meta.topik_kanonik` agar filter/laporan konsisten.

## Distribusi soal ASAS (25 soal quiz)

- **15 PG (Pilihan Ganda)** - bobot 4 poin - distribusi: 1-3 per BAB
- **5 TF (True/False)** - bobot 2 poin - fokus konsep Bab 2, 3, 5, 6, 8
- **5 CASE (Studi Kasus)** - bobot 6 poin - integratif
- **Total**: 100 poin, durasi 45 menit

## Distribusi academy (latihan mandiri)

- **25 PG HOTS** dengan 5 opsi (A-E) + analisis tiap opsi
- **5 Essay** dengan jawaban model + rubrik penilaian

## Catatan

- Font Awesome & Google Fonts memakai CDN (butuh internet saat first load).
- Service worker hanya men-cache aset lokal same-origin.
- Untuk ulangan resmi: gunakan **Mode Ujian Resmi** di quiz.

## Export hasil quiz

Print · TXT · HTML · PNG · **PDF (jsPDF, lazy-load CDN)**. PDF memuat identitas, skor, rincian soal, dan tanda tangan digital bila ada.

## Perbedaan ASTS-GANJIL vs ASAS-GANJIL

| Aspek | ASTS-GANJIL | ASAS-GANJIL |
| --- | --- | --- |
| Cakupan | 20 BAB (Bab 2-9 + 11, 17, dst) | 9 BAB (Bab 1-9 kurikulum lengkap) |
| Fokus | Pengenalan + sebagian konsep inti | Fondasi lengkap: teknis + konsep + praktik |
| Slide | 74 slide | ~55 slide |
| Quiz ID | `csf_quiz01_v1` | `csf_asas_quiz01_v1` |
| Academy ID | `csf_academy_v2` | `csf_asas_academy_v1` |
| Sesi PIN | `csf_teacher_ok` | `csf_asas_teacher_ok` |

Keduanya dapat dijalankan berdampingan dalam folder berbeda tanpa konflik (session key berbeda).

---

Dibuat oleh **Abdur Rozak, S.Kom.** — SMK Yasmida Ambarawa, TKJ  
Portal: abdurrozak.my.id  
**STAY SECURE, FUTURE DEFENDER.**
