| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| cache_key | varchar(100) | Tidak | contoh: insight_harian_2026-06-25 atau ringkasan_minggu_2026-W26_gel1 | |||
| tipe | enum('insight_harian', 'ringkasan_mingguan_kendala') | Ya | insight_harian | |||
| gelombang | int(11) | Ya | NULL | |||
| konten_json | longtext | Tidak | ||||
| generated_at | timestamp | Tidak | CURRENT_TIMESTAMP | |||
| expires_at | timestamp | Ya | NULL |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 9 | A | Tidak | |
| cache_key | BTREE | Ya | Tidak | cache_key | 9 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| group_id | varchar(50) | Tidak | ||||
| id_pengirim | int(11) | Tidak | users -> id | |||
| id_penerima | int(11) | Ya | NULL | users -> id | ||
| judul | varchar(100) | Tidak | ||||
| isi_pesan | text | Tidak | ||||
| lampiran | varchar(255) | Ya | NULL | |||
| target_type | enum('all', 'selected') | Ya | all | |||
| target_ids | text | Ya | NULL | |||
| file_path | varchar(255) | Ya | NULL | |||
| file_type | enum('image', 'document') | Ya | NULL | |||
| files | text | Ya | NULL | |||
| tipe | enum('info', 'alert', 'tugas') | Ya | info | |||
| is_read | tinyint(1) | Ya | 0 | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 304 | A | Tidak | |
| id_pengirim | BTREE | Tidak | Tidak | id_pengirim | 2 | A | Tidak | |
| id_penerima | BTREE | Tidak | Tidak | id_penerima | 304 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_siswa | int(11) | Ya | NULL | users -> id | ||
| waktu_absen | timestamp | Tidak | CURRENT_TIMESTAMP | |||
| waktu_pulang | datetime | Ya | NULL | |||
| lat_saat_ini | decimal(10,8) | Ya | NULL | |||
| long_saat_ini | decimal(11,8) | Ya | NULL | |||
| lat_pulang | varchar(255) | Ya | NULL | |||
| long_pulang | varchar(255) | Ya | NULL | |||
| jarak_meter | float | Ya | NULL | |||
| foto_bukti | varchar(255) | Ya | NULL | |||
| foto_pulang | varchar(255) | Ya | NULL | |||
| foto_izin | varchar(255) | Ya | NULL | |||
| status | enum('hadir', 'terlambat', 'izin', 'alpha', 'sakit', 'libur') | Ya | hadir | |||
| terlambat_menit | int(11) | Ya | 0 | |||
| approval_status | enum('pending', 'disetujui', 'ditolak') | Ya | pending | |||
| keterangan | text | Ya | NULL | |||
| oppositecam_masuk | varchar(255) | Ya | NULL | |||
| oppositecam_pulang | varchar(255) | Ya | NULL |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 8225 | A | Tidak | |
| id_siswa | BTREE | Tidak | Tidak | id_siswa | 178 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| nama_perusahaan | varchar(100) | Tidak | ||||
| penanggung_jawab | varchar(100) | Ya | NULL | |||
| alamat | text | Ya | NULL | |||
| latitude | decimal(10,8) | Tidak | ||||
| longitude | decimal(11,8) | Tidak | ||||
| radius_meter | int(11) | Ya | 50 | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP | |||
| id_kategori | int(11) | Ya | NULL | kategori_dudi -> id |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 36 | A | Tidak | |
| fk_company_kategori | BTREE | Tidak | Tidak | id_kategori | 12 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| company_id | int(11) | Tidak | companies -> id | |||
| nama_cabang | varchar(100) | Ya | NULL | |||
| alamat | text | Ya | NULL | |||
| latitude | decimal(10,8) | Tidak | ||||
| longitude | decimal(11,8) | Tidak | ||||
| radius_meter | int(11) | Ya | 50 | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 65 | A | Tidak | |
| fk_location_company | BTREE | Tidak | Tidak | company_id | 65 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| company_id | int(11) | Tidak | companies -> id | |||
| nama_shift | varchar(50) | Tidak | contoh: Shift 1, Shift 2, Shift 3 | |||
| jam_masuk | time | Ya | NULL | |||
| jam_pulang | time | Ya | NULL | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 0 | A | Tidak | |
| company_id | BTREE | Tidak | Tidak | company_id | 0 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_siswa | int(11) | Tidak | ||||
| foto | varchar(255) | Tidak | ||||
| keterangan | text | Tidak | ||||
| waktu_upload | datetime | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 434 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| nomor_gelombang | int(11) | Tidak | ||||
| nama_gelombang | varchar(100) | Tidak | ||||
| tanggal_mulai | date | Ya | NULL | |||
| tanggal_selesai | date | Ya | NULL | |||
| is_active | tinyint(1) | Ya | 1 | |||
| dapat_ringkasan_ai | tinyint(1) | Ya | 0 | 1 = gelombang ini mendapat ringkasan AI mingguan | ||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 2 | A | Tidak | |
| nomor_gelombang | BTREE | Ya | Tidak | nomor_gelombang | 2 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_siswa | int(11) | Tidak | users -> id | |||
| tanggal | date | Tidak | ||||
| jenis | enum('izin', 'sakit') | Tidak | ||||
| keterangan | text | Ya | NULL | |||
| foto | varchar(255) | Ya | NULL | |||
| approval_status | enum('pending', 'disetujui', 'ditolak') | Ya | pending | |||
| approval_at | datetime | Ya | NULL | |||
| approved_by | int(11) | Ya | NULL | users -> id | ||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 4 | A | Tidak | |
| id_siswa | BTREE | Tidak | Tidak | id_siswa | 4 | A | Tidak | |
| approved_by | BTREE | Tidak | Tidak | approved_by | 2 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_siswa | int(11) | Tidak | users -> id | |||
| id_kkni | text | Ya | NULL | |||
| tanggal | date | Tidak | ||||
| kegiatan | text | Tidak | ||||
| kendala | text | Ya | NULL | |||
| status | enum('pending', 'disetujui', 'ditolak') | Ya | pending | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP | |||
| updated_at | timestamp | Ya | NULL |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 5230 | A | Tidak | |
| id_siswa | BTREE | Tidak | Tidak | id_siswa | 163 | A | Tidak | |
| idx_kkni | BTREE | Tidak | Tidak | id_kkni (191) | 348 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| nama_kategori | varchar(100) | Tidak |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 7 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_guru | int(11) | Tidak | ||||
| id_company | int(11) | Tidak | ||||
| nama_perusahaan | varchar(255) | Tidak | ||||
| tanggal | date | Tidak | ||||
| waktu | time | Tidak | ||||
| lat | decimal(10,8) | Tidak | ||||
| lng | decimal(11,8) | Tidak | ||||
| foto | varchar(255) | Tidak | ||||
| catatan | text | Ya | NULL | |||
| alamat_lengkap | text | Ya | NULL | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 43 | A | Tidak | |
| id_guru | BTREE | Tidak | Tidak | id_guru | 21 | A | Tidak | |
| id_company | BTREE | Tidak | Tidak | id_company | 43 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_admin | int(11) | Ya | NULL | users -> id | ||
| id_guru | int(11) | Ya | NULL | users -> id | ||
| id_siswa | int(11) | Ya | NULL | users -> id | ||
| id_company | int(11) | Ya | NULL | companies -> id |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 175 | A | Tidak | |
| id_siswa | BTREE | Ya | Tidak | id_siswa | 175 | A | Ya | |
| id_admin | BTREE | Tidak | Tidak | id_admin | 2 | A | Ya | |
| id_guru | BTREE | Tidak | Tidak | id_guru | 43 | A | Ya | |
| id_company | BTREE | Tidak | Tidak | id_company | 87 | A | Ya |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| id_kategori | int(11) | Tidak | kategori_dudi -> id | |||
| poin_kkni | text | Tidak |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 41 | A | Tidak | |
| id_kategori | BTREE | Tidak | Tidak | id_kategori | 13 | A | Tidak |
| Kolom | Jenis | Tak Ternilai | Bawaan | Tautan ke | Komentar | MIME |
|---|---|---|---|---|---|---|
| id (Utama) | int(11) | Tidak | ||||
| nama_lengkap | varchar(100) | Tidak | ||||
| nis | varchar(20) | Ya | NULL | |||
| nisn | varchar(20) | Ya | NULL | |||
| kelas | varchar(50) | Ya | NULL | |||
| username | varchar(50) | Tidak | ||||
| password | varchar(255) | Tidak | ||||
| role | enum('admin', 'guru', 'siswa') | Tidak | ||||
| foto_profil | varchar(255) | Ya | default.png | |||
| foto_face_model | text | Ya | NULL | |||
| token_device | varchar(255) | Ya | NULL | |||
| created_at | timestamp | Tidak | CURRENT_TIMESTAMP | |||
| no_hp | varchar(20) | Ya | NULL | |||
| jam_masuk_default | time | Ya | NULL | |||
| jam_pulang_default | time | Ya | NULL | |||
| izin_tugas_luar | tinyint(1) | Tidak | 0 | 1 = diizinkan absen luar area (sekali pakai) | ||
| gelombang | tinyint(2) | Ya | 1 | |||
| gelombang_mulai | date | Ya | NULL | |||
| gelombang_selesai | date | Ya | NULL |
| Nama kunci | Jenis | Unik | Dipadatkan | Kolom | Kardinalitas | Penyortiran | Tak Ternilai | Komentar |
|---|---|---|---|---|---|---|---|---|
| PRIMARY | BTREE | Ya | Tidak | id | 161 | A | Tidak | |
| username | BTREE | Ya | Tidak | username | 161 | A | Tidak |