Sebelumnya violation hanya di-create/update, tidak pernah dihapus. Jika guru edit jurnal dari alpha jadi hadir, violation lama tetap ada. Sekarang: untuk setiap siswa dalam push, sistem cek: - alpha > 0: create/update violation - alpha = 0 & ada violation lama: hapus (soft delete) - siswa tidak ada di push: violation tidak disentuh