# Fitur Manajemen Data Siswa & Jenis Ketunaan

## Cara Menggunakan

### 1. Jalankan Migration
Jalankan perintah berikut untuk membuat tabel di database:
```bash
php artisan migrate
```

### 2. (Opsional) Jalankan Seeder untuk Data Jenis Ketunaan
Untuk mengisi data awal jenis ketunaan, jalankan:
```bash
php artisan db:seed --class=DisabilityTypeSeeder
```

## Fitur yang Ditambahkan

### A. Manajemen Jenis Ketunaan (Super Admin)
**Lokasi Menu:** Sidebar Super Admin → Jenis Ketunaan

**Fitur:**
- Tambah, edit, dan hapus jenis ketunaan
- Aktifkan/nonaktifkan jenis ketunaan
- Setiap jenis ketunaan memiliki:
  - Kode (contoh: A, B, C)
  - Nama (contoh: Tunanetra, Tunarungu)
  - Deskripsi
  - Status aktif/nonaktif

**Jenis Ketunaan Default:**
- A - Tunanetra
- B - Tunarungu
- C - Tunagrahita
- D - Tunadaksa
- E - Tunalaras
- F - Tunawicara
- G - Tunaganda
- H - Autis

### B. Manajemen Data Siswa
**Lokasi Menu:** 
- Super Admin → Data Siswa
- Admin KCD → Data Siswa  
- Admin Sekolah → Data Siswa

**Data Siswa yang Disimpan:**
1. **Informasi Identitas:**
   - NAMA (nama lengkap)
   - NIK (16 digit, unique)
   - NISN (10 digit, unique)
   - NIS (nomor induk sekolah)
   - Jenis Kelamin

2. **Kelas (Otomatis):**
   - SDLB → Default: Kelas VI (pilihan: I-VI)
   - SMPLB → Default: Kelas IX (pilihan: VII-IX)
   - SMALB → Default: Kelas XII (pilihan: X-XII)

3. **Tempat & Tanggal Lahir:**
   - Tempat Lahir
   - Tanggal Lahir
   - Usia (otomatis dihitung)

4. **Informasi Tambahan:**
   - Nama Ibu Kandung
   - Jenis Ketunaan (dropdown dari data yang dikelola super admin)
   - Alamat
   - Nomor Telepon

**Fitur Pencarian & Filter:**
- Cari berdasarkan: Nama, NIK, NISN, NIS
- Filter berdasarkan: Sekolah, Kelas, Jenis Ketunaan

**Hak Akses:**
- **Super Admin & Admin KCD:** Dapat melihat dan mengelola semua siswa
- **Admin Sekolah & Kepala Sekolah:** Hanya dapat melihat dan mengelola siswa di sekolahnya

## File yang Dibuat

### Models:
- `app/Models/DisabilityType.php` - Model jenis ketunaan
- `app/Models/Student.php` - Model siswa

### Migrations:
- `database/migrations/2025_01_30_000001_create_disability_types_table.php`
- `database/migrations/2025_01_30_000002_create_students_table.php`

### Controllers:
- `app/Http/Controllers/DisabilityTypeController.php` - CRUD jenis ketunaan (super admin)
- `app/Http/Controllers/StudentController.php` - CRUD siswa (multi-role)

### Views:
**Disability Types:**
- `resources/views/disability-types/index.blade.php`
- `resources/views/disability-types/create.blade.php`
- `resources/views/disability-types/edit.blade.php`

**Students:**
- `resources/views/students/index.blade.php`
- `resources/views/students/create.blade.php`
- `resources/views/students/edit.blade.php`
- `resources/views/students/show.blade.php`

### Seeder:
- `database/seeders/DisabilityTypeSeeder.php` - Data awal 8 jenis ketunaan

## Catatan Penting

1. **Validasi NIK:** Harus 16 digit angka
2. **Validasi NISN:** Harus 10 digit angka
3. **Kelas Otomatis:** Sistem akan menyesuaikan pilihan kelas berdasarkan jenjang sekolah yang dipilih
4. **Ketunaan:** Jenis ketunaan yang tidak aktif tidak akan muncul di dropdown saat input siswa
5. **Hapus Jenis Ketunaan:** Jenis ketunaan yang sedang digunakan oleh siswa tidak dapat dihapus
