Lewati ke isi

Domain: Akademik

SSOT untuk modul akademik Scola — kurikulum, jadwal, penilaian, rapor, kenaikan kelas.

Last verified: 2026-04-01


1. Visi & Best Practice

1.1 Regulasi Acuan

Regulasi Relevansi
Kurikulum Merdeka (Kemendikbud 2022) Struktur kurikulum, capaian pembelajaran (CP), P5
Permendikbud No. 21/2022 Standar penilaian: formatif & sumatif
Permendikbudristek No. 262/M/2022 Perubahan PAUD-Dikdasmen, fleksibilitas kurikulum
Standar Nasional Pendidikan (SNP) 8 standar, khususnya standar isi & standar penilaian
Panduan Rapor Projek P5 Profil Pelajar Pancasila — penilaian deskriptif

1.2 Kondisi Ideal (Best Practice SIM Sekolah)

Master Data Akademik: - Tahun ajaran → semester (term) → kelas/rombel → mata pelajaran - Setiap rombel memiliki wali kelas, kuota siswa, dan jadwal terdefinisi - Mata pelajaran mengacu pada struktur kurikulum nasional + muatan lokal - Teaching assignment: satu guru bisa mengajar banyak mapel/rombel

Jadwal Pelajaran: - Definisi jam pelajaran (lesson hours) fleksibel per jenjang - Jadwal mingguan otomatis generate dari teaching assignment - Conflict detection: guru, ruang, dan rombel tidak bentrok - Kalender akademik terintegrasi (libur, ujian, kegiatan sekolah)

Penilaian & Rapor: - Komponen penilaian sesuai Kurikulum Merdeka: PH (Penilaian Harian), PTS (Penilaian Tengah Semester), PAS (Penilaian Akhir Semester) - Bobot komponen configurable per sekolah - KKM/KKTP (Kriteria Ketuntasan Tujuan Pembelajaran) per mapel - Rapor format Kurikulum Merdeka: deskripsi capaian, bukan hanya angka - Rapor P5: deskriptif per dimensi Profil Pelajar Pancasila - Cetak rapor PDF sesuai template Kemendikbud - Workflow: Guru input → Wali Kelas verifikasi → Wakasek Kurikulum approve → Kepala Sekolah tanda tangan

Kenaikan Kelas: - Kriteria kenaikan configurable (kehadiran minimal, ketuntasan mapel, dll.) - Workflow approval: Wali Kelas → Wakasek Kurikulum → Kepala Sekolah - Siswa tidak naik kelas → mekanisme remedial / mengulang - Audit trail keputusan kenaikan


2. Arsitektur & Data Model

2.1 Backend Models (Odoo)

Model Module Deskripsi
op.academic.year openeducat_core Tahun ajaran
op.academic.term openeducat_core Semester/term
op.course openeducat_core Kelas (misal: Kelas 7 SMP)
op.batch openeducat_core Rombel (misal: 7A)
op.subject openeducat_core Mata pelajaran
op.session openeducat_timetable Session/jadwal per pertemuan
op.assignment openeducat_assignment Tugas
scola.lesson.hour scola_lesson_hours Definisi jam pelajaran
academic.grade scola_lms Nilai/grade
lms.syllabus scola_lms Silabus/template kurikulum
scola.report.card scola_report_card Rapor siswa

2.2 Frontend Structure

src/views/
├── AdminViews/AcademicConfig/    # Admin: tahun ajaran, mapel, rombel, session
│   ├── AcademicYear/
│   ├── Course/
│   ├── Mapel/
│   ├── RombonganBelajar/
│   ├── Session/
│   └── PengaturanAkademik/
├── ScheduleManagement/           # Jadwal per role
│   ├── Faculty/Schedule.vue
│   └── Student/Schedule.vue
├── AssignmentManagement/         # Tugas
│   ├── Faculty/
│   └── Student/
├── ReportCardManagement/         # Rapor
│   ├── Admin/
│   ├── Faculty/
│   ├── Student/
│   ├── Parent/
│   └── VicePrincipal/
├── AdminViews/Promotion/         # Kenaikan kelas
├── AdminViews/LearningOutcome/   # Capaian Pembelajaran
└── AdminViews/P5/                # Projek P5

2.3 API Endpoints

Kontrak aktif per 2026-03-26 - Master data akademik dan workflow promosi masih dominan memakai Odoo JSON-RPC (/web/dataset/call_kw) via model action. - Endpoint canonical HTTP yang aktif dan dipakai lintas role: - /api/teaching-assignments - /api/timetable/sessions/generate - /api/timetable/sessions/auto-generate - /api/v1/academic/promotion/policy-dashboard - /api/v1/report-card/* - Timezone operasional sekarang bersumber dari setting admin sekolah (res.company.school_timezone) dan ikut dibawa di payload auth (tz, school_timezone, company_timezone, user_timezone). - SSOT ini mengikuti pendekatan function-first: FE/BE harus match pada kontrak aktif sekarang; canonicalization lanjutan hanya dikerjakan bila ada risiko fungsional atau maintenance yang nyata.

Endpoint Method Deskripsi
/web/dataset/call_kw POST CRUD master data akademik, session, dan workflow promosi
/api/teaching-assignments GET/POST/PUT/DELETE Teaching assignment
/api/timetable/sessions/generate POST Bulk generate jadwal manual
/api/timetable/sessions/auto-generate POST Auto-generate jadwal dari teaching assignment
/api/v1/academic/promotion/policy-dashboard POST Dashboard kebijakan kenaikan kelas
/api/v1/report-card/* GET/POST Rapor management

3. Fitur & Status Implementasi

3.1 Master Data Akademik

Fitur Status Catatan
CRUD Tahun Ajaran ✅ Done
CRUD Semester/Term ✅ Done
CRUD Kelas (Course) ✅ Done
CRUD Rombel (Batch) ✅ Done Termasuk assign wali kelas
CRUD Mata Pelajaran ✅ Done
Pembagian Siswa ke Rombel ✅ Done StudentClassAssignment
Pengaturan Jam Pelajaran ✅ Done scola_lesson_hours

3.2 Jadwal Pelajaran

Fitur Status Catatan
Input jadwal manual (Admin) ✅ Done Session-based
View jadwal (Guru) ✅ Done
View jadwal (Siswa) ✅ Done
View jadwal (Ortu) ✅ Done Via parent portal
Conflict detection ✅ Done Batch, faculty, classroom constraint + cross-validate
Auto-generate dari teaching assignment ✅ Done Greedy algorithm: baca teaching assignment → distribusi ke slot JP × hari, respek constraint guru/rombel
Kalender akademik terintegrasi ✅ Done Holiday auto-skip in session generation
Konsistensi timestamp sesi FE↔BE ✅ Done List/edit/filter/helper sesi harian memakai timezone sekolah global lalu dikonversi eksplisit ke UTC backend agar tanggal tidak drift di UI

3.3 Penilaian & Rapor

Fitur Status Catatan
Input nilai guru (PH/PTS/PAS) ✅ Done TeacherReportLineList, edit nilai dibatasi draft-only dan akses line-level diverifikasi di backend
Gradebook guru ✅ Done LMS Gradebook
Wali Kelas verifikasi rapor ✅ Done HomeroomReportList
Wakasek quality gate ✅ Done CurriculumQualityGate
Rapor format Kurikulum Merdeka ✅ Done Deskripsi mapel + section P5 tampil di detail rapor
Rapor P5 ✅ Done Assessment P5 terhubung ke detail rapor dan PDF
Cetak PDF rapor ✅ Done PDF parent rapor sudah mencakup header sekolah, mapel, dan P5
Capaian Pembelajaran (CP) ✅ Done LearningOutcome module
KKM/KKTP configurable ✅ Done Per-mapel via scola.subject.kktp + curriculum default
Default tahun ajaran aktif lintas role ✅ Done Admin/guru/wali kelas memakai tanggal “hari ini” berdasarkan timezone sekolah, bukan timezone device/browser

3.5 TP & ATP (Kurikulum Merdeka)

Fitur Status Catatan
CRUD Tujuan Pembelajaran (TP) ✅ Done scola.tujuan.pembelajaran — per mapel, per fase
CRUD Alur Tujuan Pembelajaran (ATP) ✅ Done scola.alur.tp — urutan TP per semester + workflow draft→confirmed→approved
ATP Line (susunan TP per minggu) ✅ Done scola.atp.line — minggu, JP, jenis asesmen
FE Admin view TP/ATP ✅ Done /tp-atp — tab TP + tab ATP, filter fase, CRUD modal

3.6 Modul Ajar

Fitur Status Catatan
CRUD Modul Ajar ✅ Done scola.modul.ajar — tujuan, langkah kegiatan, asesmen, lampiran
Workflow publish/archive ✅ Done draft → published → archived
FE Admin view Modul Ajar ✅ Done /modul-ajar — card grid, filter status, CRUD modal
Link ke ATP & TP ✅ Done atp_id + tp_ids many2many

3.7 Dapodik Export

Fitur Status Catatan
Export CSV data akademik ✅ Done /api/v1/academic/export/dapodik — NISN, mapel, guru, JP, semester

3.4 Kenaikan Kelas

Fitur Status Catatan
Kenaikan kelas workflow ✅ Done Homeroom → Wakasek → Kepsek
Kriteria configurable ✅ Done Backend policy contract + dashboard + FE sync
Kebijakan promosi dashboard ✅ Done PromotionPolicyDashboard
Audit trail ✅ Done promotionWorkflow.service + auditService + observability akademik
Detail evidence promosi ✅ Done FE detail sekarang mengambil id dan relation id lengkap agar workflow/evidence/policy context sinkron dengan backend

4. Gap Analysis & Backlog

P0 — Critical Gaps

Gap Dampak Solusi
~~Auto-generate jadwal dari teaching assignment~~ ~~Sekolah besar butuh ini, manual terlalu lama~~ auto_generate_from_assignments() + API + FE AutoGenerateModal
~~Template rapor Kurikulum Merdeka 100% compliance~~ ~~Rapor wajib sesuai format Kemendikbud~~ Detail rapor + PDF + P5 section sudah terkunci

P1 — Important Gaps

Gap Dampak Solusi
~~KKM/KKTP configurable per mata pelajaran~~ ~~Setiap mapel bisa punya KKM berbeda~~ scola.subject.kktp model + auto-remedial flag
~~Jadwal conflict detection advanced~~ ~~Guru bisa double-booked~~ _find_conflicts() + cross-validate in scola_timetable
~~Kalender akademik terintegrasi dengan jadwal~~ ~~Events/libur tidak otomatis block jadwal~~ _get_holiday_dates() + auto-skip in generate_sessions()
~~Rapor P5 lengkap dengan deskripsi per dimensi~~ ~~Wajib untuk Kurikulum Merdeka~~ Detail rapor + PDF memakai assessment P5 semester aktif

P2 — Nice to Have

Gap Dampak Solusi
~~TP & ATP (Tujuan & Alur Tujuan Pembelajaran)~~ ~~Dokumentasi kurikulum lengkap~~ scola.tujuan.pembelajaran + scola.alur.tp + FE /tp-atp
~~Modul Ajar digital~~ ~~Upload & distribusi modul ajar~~ scola.modul.ajar + FE /modul-ajar
~~Dapodik sync otomatis~~ ~~Mengurangi input ganda~~ CSV export /api/v1/academic/export/dapodik + FE button

5. File References

Frontend

  • src/router/adminRoutes.js — Admin academic routes
  • src/router/teacherRoutes.js — Teacher routes (jadwal, tugas, rapor)
  • src/router/studentRoutes.js — Student routes (jadwal, tugas, rapor)
  • src/views/AdminViews/AcademicConfig/ — Academic configuration views
  • src/views/AdminViews/AcademicConfig/Session/AutoGenerateModal.vue — Auto-generate jadwal
  • src/views/AdminViews/AcademicConfig/TpAtp/TpAtpList.vue — TP & ATP management
  • src/views/AdminViews/AcademicConfig/ModulAjar/ModulAjarList.vue — Modul Ajar management
  • src/views/ReportCardManagement/ — Report card views per role
  • src/views/AdminViews/Promotion/ — Student promotion
  • src/services/admin/academics/tpAtp.service.js — TP/ATP service
  • src/services/admin/academics/modulAjar.service.js — Modul Ajar service

Backend

  • scola_core/ — Base academic models
  • scola_lesson_hours/ — Lesson hour definitions
  • scola_timetable/ — Timetable extensions + auto-generate algorithm
  • scola_lms/models/lms_tp_atp.py — TP, ATP, ATP Line models
  • scola_lms/models/lms_modul_ajar.py — Modul Ajar model
  • scola_lms/ — Grades, syllabus
  • scola_report_card/ — Report card generation

7. Panduan Konfigurasi Implementor

configuration-guides/academic.md


8. Panduan End User

Role Panduan
Kepala TU head-admin.md
Guru / Wali kelas teacher.md, homeroom.md
Kepala sekolah principal.md
Siswa / Ortu student.md, parent.md
Quick Start cetak-rapor.md