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:
falsesakitizincutitugasluar
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 Guru | Reminder WA | Rekap 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:
Sudah mengisi jurnal → tidak perlu tindakan.
Belum mengisi jurnal → dikirim reminder.
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.
0 comments:
Post a Comment