Domain: Kesiswaan & BK (Bimbingan Konseling)¶
SSOT untuk modul kesiswaan Scola — disiplin, pelanggaran, prestasi, konseling, izin siswa, ekstrakurikuler.
Last verified: 2026-03-31
1. Visi & Best Practice¶
1.1 Regulasi Acuan¶
| Regulasi | Relevansi |
|---|---|
| Permendikbud No. 111/2014 | BK pada pendidikan dasar & menengah |
| SNP — Standar Pengelolaan | Tata tertib, pembinaan siswa, sistem poin |
| Permendikbud No. 18/2016 | Pengenalan lingkungan sekolah |
| Panduan Penguatan Pendidikan Karakter | Integrasi karakter dalam tata tertib |
1.2 Kondisi Ideal¶
Sistem Poin Pelanggaran & Prestasi: - Tata tertib sekolah digital dengan kategori dan bobot poin - Pelanggaran: input oleh wali kelas/guru piket, validasi oleh guru BK - Prestasi: input oleh wali kelas, validasi oleh wakasek kesiswaan - Akumulasi poin → trigger otomatis (peringatan, panggilan ortu, skorsing) - History lengkap per siswa (timeline) - Dashboard poin untuk kepala sekolah dan wakasek kesiswaan
Bimbingan Konseling (BK): - Sesi konseling individual: penjadwalan, catatan, follow-up - Referral dari wali kelas/guru ke guru BK - Incident management: laporan kejadian, tindak lanjut - Riwayat konseling lengkap per siswa (confidential) - Case history / student timeline
Izin Siswa: - Pengajuan izin (sakit, keperluan keluarga, dll.) - Approval workflow: wali kelas → kesiswaan - Integrasi dengan absensi (izin = tidak dihitung alpha)
Ekstrakurikuler: - Daftar ekskul dengan pembina - Pendaftaran siswa ke ekskul - Jadwal kegiatan ekskul - Penilaian/sertifikat ekskul
2. Arsitektur & Data Model¶
2.1 Frontend Structure¶
src/views/CounselingManagement/
├── CounselorDashboard.vue # Dashboard guru BK
├── CounselingStudentList.vue # Daftar siswa BK
├── CounselingStudentDetail.vue # Detail siswa + riwayat
├── PoinSiswa.vue # Point tracking
├── SiswaBerprestasi.vue # Top students
├── CounselingProfile.vue # Profil BK
├── Pelanggaran/ # Violations module
│ ├── ListPelanggaran.vue # List pelanggaran
│ ├── TambahPelanggaran.vue # Input pelanggaran baru
│ ├── DetailPelanggaran.vue # Detail pelanggaran
│ ├── EditPelanggaran.vue # Edit pelanggaran
│ ├── ListCategoryPelanggaran.vue # Kategori pelanggaran
│ └── BentukPelanggaran.vue # Jenis/bentuk pelanggaran
├── Prestasi/ # Achievements module
│ ├── ListPrestasi.vue
│ ├── TambahPrestasi.vue
│ ├── DetailPrestasi.vue
│ └── ListTingkatan.vue # Achievement levels
├── Rules/ # Tata tertib
│ ├── RuleListWrapper.vue
│ └── TambahRules.vue
├── Counseling/ # BK sessions
│ ├── CounselingList.vue
│ ├── DetailCounseling.vue
│ └── CounselingForm.vue
├── Incident/ # Incident reporting
│ ├── IncidentList.vue
│ ├── IncidentForm.vue
│ └── IncidentDetail.vue
├── Timeline/
│ └── StudentTimeline.vue # Case history per siswa
└── StudentLeave/ # Izin siswa
├── StudentLeaveList.vue
├── StudentLeaveDetail.vue
└── StudentLeaveForm.vue
2.2 Capabilities¶
| Capability | Roles |
|---|---|
discipline.dashboard.view |
counselor |
discipline.violations.view |
counselor |
discipline.violations_homeroom.approve |
homeroom |
discipline.achievements.view |
counselor |
discipline.achievements_homeroom.approve |
homeroom |
discipline.counseling.view |
teacher, counselor |
discipline.counseling_referral.view |
teacher |
discipline.incident.view/manage |
teacher, counselor |
discipline.rules.view |
teacher, counselor |
discipline.case_history.view |
counselor |
discipline.permissions.view/manage |
teacher (homeroom) |
2.3 API Endpoints¶
| Endpoint | Method | Deskripsi |
|---|---|---|
/api/v1/kesiswaan/rekap |
POST | Rekap lintas modul kesiswaan |
/api/v1/kesiswaan/rekap/student |
POST | Rekap per siswa |
/api/v1/kesiswaan/warning-letters |
GET | Daftar surat peringatan |
/api/v1/kesiswaan/warning-letters/acknowledge |
POST | Acknowledge surat peringatan |
/api/v1/kesiswaan/warning-letters/print |
POST | Cetak surat peringatan |
/web/dataset/call_kw/scola.student.permit/* |
POST | CRUD + workflow izin siswa aktif |
/web/dataset/call_kw/scola.violation.log/* |
POST | CRUD pelanggaran aktif |
/web/dataset/call_kw/scola.achievement/* |
POST | CRUD prestasi aktif |
/web/dataset/call_kw/scola.counseling.note/* |
POST | Sesi konseling aktif |
3. Fitur & Status Implementasi¶
| Fitur | Status | Catatan |
|---|---|---|
| Dashboard guru BK | ✅ Done | Statistik pelanggaran, prestasi, konseling |
| Input pelanggaran (guru BK) | ✅ Done | + kategori, jenis, bobot poin |
| Input pelanggaran (wali kelas) | ✅ Done | Homeroom approval flow |
| Input prestasi | ✅ Done | + tingkatan prestasi |
| Tata tertib / rules management | ✅ Done | Configurable per sekolah |
| Poin siswa tracking | ✅ Done | Akumulasi otomatis |
| Siswa berprestasi view | ✅ Done | Ranking/top students |
| Sesi konseling individual | ✅ Done | Scheduling + notes |
| Incident reporting | ✅ Done | Report + follow-up |
| Student timeline (case history) | ✅ Done | Chronological view |
| Referral dari guru ke BK | ✅ Done | FacultyReferral |
| Izin siswa (student leave) | ✅ Done | Form + approval + detail + metadata approval wali + scope wali kelas sinkron FE/BE |
| Trigger otomatis dari akumulasi poin | ✅ Done | Configurable threshold → auto-SP + mail.activity |
| Integrasi izin dengan absensi | ✅ Done | Approved leave → pre-fill attendance |
| Surat Peringatan (SP) otomatis | ✅ Done | scola.warning.letter auto-created on escalation |
| Ekstrakurikuler management | ✅ Done | CRUD, pendaftaran, absensi, admin views |
| Cetak surat pelanggaran/SP (PDF) | ✅ Done | QWeb PDF template + print API + FE cetak button |
| Dashboard wakasek kesiswaan | ✅ Done | SP stats, counseling, ekskul, point distribution, computed discipline score |
| Export Dapodik kesiswaan (CSV) | ✅ Done | /api/v1/kesiswaan/export/dapodik + FE export button |
4. Gap Analysis & Backlog¶
P1 — Important¶
| Gap | Dampak | Solusi |
|---|---|---|
| ~~Ekstrakurikuler management~~ | ~~Sekolah wajib kelola ekskul~~ | scola.extracurricular + member + attendance + admin views |
| ~~Auto-trigger dari akumulasi poin~~ | ~~SP, panggilan ortu manual~~ | Configurable threshold + auto-SP + mail.activity |
| ~~Integrasi izin ↔ absensi~~ | ~~Siswa izin masih tercatat alpha~~ | Approved leave → pre-fill attendance |
P2 — Nice to Have¶
| Gap | Dampak | Solusi |
|---|---|---|
| ~~Cetak surat pelanggaran/SP~~ | ~~Sekolah masih print manual~~ | QWeb PDF template + /warning-letters/print API |
| ~~Statistik kesiswaan untuk Dapodik~~ | ~~Reporting belum otomatis~~ | /export/dapodik CSV endpoint |
| ~~Dashboard khusus wakasek kesiswaan~~ | ~~Generic dashboard kurang spesifik~~ | Enhanced API + FE with SP, counseling, ekskul, point distribution |
Operational Notes¶
- Workflow izin siswa aktif masih berbasis Odoo JSON-RPC, tetapi FE dan BE sekarang match pada alur operasional yang dipakai harian.
- Scope wali kelas untuk izin siswa mengikuti
batch/facultyaktif siswa, bukan data statis di FE. - Default tanggal dan filter bulan pada dashboard/laporan kesiswaan mengikuti
school timezoneglobal sekolah.
5. File References¶
Frontend¶
src/router/counselingRoutes.js— All BK/counseling routes (~598 lines)src/router/teacherRoutes.js— Homeroom discipline routes (line ~144-232)src/views/CounselingManagement/— All counseling views
Backend¶
scola_counseling/— Counseling module (if exists)scola_core/— Student models, violations base