Wednesday, 1 July 2026

Modul baru: Guru Tidak Hadir

 

Menurut saya, pengembangan yang kita lakukan kali ini bukan sekadar menambah fitur, tetapi menambahkan satu modul baru yang terintegrasi dengan sistem reminder jurnal.

1. Modul baru: Guru Tidak Hadir

Dibuat tabel baru (tanpa upgrade plugin), misalnya:

mdl_local_jurnalmengajar_kehadiran

Fungsinya menyimpan data guru yang tidak hadir.

Status yang didukung:

  • Sakit

  • Izin

  • Cuti

  • Tugas Luar

Status Alpa sengaja tidak dibuat, karena guru yang alpa tetap harus masuk ke reminder jurnal.


2. CRUD Guru Tidak Hadir

Dibuat halaman administrasi:

guru_takhadir.php

beserta CRUD:

  • guru_takhadir.php

  • guru_takhadir_add.php

  • guru_takhadir_edit.php

  • guru_takhadir_delete.php

Fitur:

  • pilih guru (role local/jurnalmengajar:submit)

  • status

  • periode mulai

  • periode selesai

  • keterangan


3. Fungsi baru di lib.php

Dibuat fungsi:

jurnalmengajar_get_status_takhadir($userid, $tanggal)

Fungsinya:

  • mengecek apakah guru sedang tidak hadir

  • mengembalikan:

    • false

    • sakit

    • izin

    • cuti

    • tugasluar

Sehingga logika pengecekan cukup dipanggil dari satu fungsi.


4. Integrasi ke notif_jurnal.php

Alur lama:

Jadwal
↓
Jam terlewat
↓
Sudah isi?
↓
Reminder

Sekarang menjadi:

Jadwal
↓
Cutoff
↓
Jam terlewat
↓
Guru Tidak Hadir?
│
├── Ya
│     ↓
│  Rekap Guru Tidak Hadir
│
└── Tidak
      ↓
 Sudah isi jurnal?
      │
      ├── Ya
      └── Belum → Reminder

Akibatnya:

  • Guru sakit tidak menerima reminder.

  • Guru izin tidak menerima reminder.

  • Guru cuti tidak menerima reminder.

  • Guru tugas luar tidak menerima reminder.

  • Guru alpa tetap menerima reminder.


5. Rekap Admin

Rekap yang sebelumnya hanya berisi:

Guru Belum Mengisi Jurnal

sekarang menjadi:

Rekap Jurnal Mengajar

Belum Mengisi Jurnal
...

Guru Tidak Hadir
...

Sehingga admin dapat membedakan:

  • siapa yang memang lupa mengisi jurnal,

  • siapa yang memang tidak masuk.


6. Template WhatsApp

Ditambahkan placeholder baru:

{tidakhadir}

Template default juga diperbarui agar menampilkan dua bagian:

  • Belum Mengisi Jurnal

  • Guru Tidak Hadir


7. Debug CLI

Ditambahkan debug baru:

FILLED:
TAKHADIR:

Contoh:

TAKHADIR: Ahmad | XI-A | Sakit
TAKHADIR: Ahmad | XI-B | Sakit

Sehingga proses pengecekan lebih mudah ditelusuri saat menjalankan:

php local/jurnalmengajar/cli/notif_jurnal.php

Hasil akhir

Sekarang sistem reminder jurnal mampu membedakan tiga kondisi guru:

Kondisi GuruReminder WARekap Admin
Sudah mengisi jurnal❌ Tidak❌ Tidak
Belum mengisi jurnal✅ Ya✅ Ya
Sakit / Izin / Cuti / Tugas Luar❌ Tidak✅ Ya

Dampak bagi plugin

Menurut saya, ini adalah peningkatan yang cukup signifikan karena sebelumnya sistem hanya mengenal dua kondisi:

  • Sudah mengisi jurnal.

  • Belum mengisi jurnal.

Sekarang sistem mengenal tiga kondisi operasional:

  1. Sudah mengisi jurnal → tidak perlu tindakan.

  2. Belum mengisi jurnal → dikirim reminder.

  3. Guru tidak hadir (sakit, izin, cuti, tugas luar) → tidak dikirim reminder, tetapi tetap tercatat dalam rekap admin.

Dengan demikian, reminder menjadi lebih akurat dan rekap yang diterima admin lebih informatif serta sesuai dengan kondisi pembelajaran di sekolah.

Share:

0 comments:

Post a Comment