Lewati ke isi

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/faculty aktif siswa, bukan data statis di FE.
  • Default tanggal dan filter bulan pada dashboard/laporan kesiswaan mengikuti school timezone global 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