# Panduan Sistem Admin LPM IAIN

**Lembaga Penjaminan Mutu — Website & Panel Administrasi**

| Item | Keterangan |
|------|------------|
| Versi dokumen | 1.0 |
| Tanggal | Juni 2025 |
| Framework | Laravel 12 |
| Frontend Admin | Blade + Tailwind CSS 4 + Vite |
| Database | SQLite (development) |

---

## Daftar Isi

1. [Pendahuluan](#1-pendahuluan)
2. [Persyaratan & Menjalankan Aplikasi](#2-persyaratan--menjalankan-aplikasi)
3. [Login & Keamanan Admin](#3-login--keamanan-admin)
4. [Struktur Panel Admin](#4-struktur-panel-admin)
5. [Modul Manajemen Admin](#5-modul-manajemen-admin)
6. [Modul Berita](#6-modul-berita)
7. [Modul Profil LPM](#7-modul-profil-lpm)
8. [Modul SPME](#8-modul-spme)
9. [Modul SPMI](#9-modul-spmi)
10. [Modul Tracer Study](#10-modul-tracer-study)
11. [Ringkasan URL & Route Admin](#11-ringkasan-url--route-admin)
12. [Struktur Database](#12-struktur-database)
13. [Upload File & Storage](#13-upload-file--storage)
14. [Catatan Pengembangan Selanjutnya](#14-catatan-pengembangan-selanjutnya)

---

## 1. Pendahuluan

Sistem ini adalah **panel administrasi web** untuk Lembaga Penjaminan Mutu (LPM) IAIN. Panel admin digunakan untuk mengelola konten website LPM meliputi berita, profil lembaga, penjaminan mutu internal (SPMI), penjaminan mutu eksternal (SPME), dan tracer study.

### Tujuan sistem

- Menyediakan akses terbatas (login) bagi administrator LPM
- Mengelola konten website secara terpusat
- Mendukung kebutuhan dokumentasi mutu dan akreditasi
- Menyediakan struktur modular yang mudah dikembangkan ke halaman publik

### Prinsip desain modul

| Pola | Contoh | Keterangan |
|------|--------|------------|
| **Full CRUD** | Berita, Struktur Organisasi, Akreditasi | Create, Read (list), Update, Delete |
| **Edit only** | Informasi SPMI, Kontak LPM, Statistik Tracer | Satu record / singleton, hanya edit |
| **Hub + sub-modul** | Profil, SPME, SPMI, Tracer | Halaman overview + tab navigasi |

---

## 2. Persyaratan & Menjalankan Aplikasi

### Persyaratan

- PHP 8.2 atau lebih baru
- Composer
- Node.js & npm (untuk asset CSS/JS)
- Extension PHP: sqlite, mbstring, openssl, pdo

### Langkah menjalankan (development)

```bash
cd lpm
composer install
npm install
cp .env.example .env    # jika belum ada
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan storage:link
```

Jalankan di **dua terminal**:

```bash
# Terminal 1 — Server Laravel
php artisan serve

# Terminal 2 — Vite (Tailwind/CSS)
npm run dev
```

Akses aplikasi:

| Halaman | URL |
|---------|-----|
| Website publik (sementara) | http://localhost:8000 |
| Login admin | http://localhost:8000/admin/login |
| Dashboard admin | http://localhost:8000/admin |

---

## 3. Login & Keamanan Admin

### Kredensial default

| Field | Nilai |
|-------|-------|
| Email | admin@lpm.iain.ac.id |
| Password | admin123 |

> **Penting:** Ganti password default setelah login pertama melalui menu **Manajemen Admin**.

### Mekanisme keamanan

- Hanya user dengan kolom `is_admin = true` yang boleh masuk panel admin
- Session disimpan di database (driver: `database`)
- Middleware `auth` + `admin` melindungi semua route `/admin/*` (kecuali login)
- User non-admin yang mencoba login akan ditolak

### Logout

Klik **Keluar** di sidebar admin, atau akses POST `/admin/logout`.

---

## 4. Struktur Panel Admin

### Sidebar modul

| Menu | URL | Fungsi |
|------|-----|--------|
| Dashboard | /admin | Ringkasan statistik |
| Manajemen Admin | /admin/manajeadmin | CRUD akun administrator |
| Berita | /admin/berita | CRUD berita & pengumuman |
| Profil | /admin/profil | Profil lembaga, sambutan, struktur, kontak |
| SPME | /admin/spme | Penjaminan mutu eksternal / akreditasi |
| SPMI | /admin/spmi | Penjaminan mutu internal |
| Tracer Study | /admin/tracer | Pelacakan alumni / outcome lulusan |

Modul **Dokumen** (umum) masih placeholder — dokumen saat ini dikelola per modul (SPME, SPMI, Tracer).

---

## 5. Modul Manajemen Admin

**URL:** `/admin/manajeadmin`

### Fungsi

Mengelola akun administrator yang boleh mengakses panel admin.

### Field

| Field | Wajib | Keterangan |
|-------|-------|------------|
| Nama | Ya | Nama lengkap admin |
| Email | Ya | Unik, dipakai login |
| Password | Ya (create) | Min. 6 karakter; kosongkan saat edit jika tidak diubah |

### Aturan

- Admin **tidak dapat menghapus** akun yang sedang digunakan (login)
- Semua admin baru otomatis `is_admin = true`

---

## 6. Modul Berita

**URL:** `/admin/berita`

### Fungsi

Mengelola berita, pengumuman, dan informasi kegiatan LPM.

### Field form

| Field | Wajib | Keterangan |
|-------|-------|------------|
| Judul | Ya | Judul berita |
| Isi berita | Ya | Konten lengkap |
| Kategori | Ya | Pengumuman, Kegiatan, Workshop, Akreditasi, SPMI, Lainnya |
| Status | Ya | Draft / Dipublikasikan / Arsip |
| Tanggal publikasi | Tidak | Otomatis terisi saat status = Dipublikasikan |
| Tag | Tidak | Pisahkan dengan koma |
| Gambar utama | Tidak | Maks. 2MB (jpg, png, dll.) |
| Unggulan | Tidak | Checkbox featured |

### Field otomatis (tidak perlu diisi manual)

| Field | Cara generate |
|-------|---------------|
| **Ringkasan** | Otomatis 300 karakter pertama dari isi berita |
| **Slug** | Otomatis dari judul (contoh: `workshop-spmi-2025`); jika bentrok ditambah angka |
| **Penulis** | Admin yang sedang login |

### Filter daftar berita

- Pencarian judul/ringkasan
- Filter kategori
- Filter status

---

## 7. Modul Profil LPM

**URL:** `/admin/profil`

Modul modular dengan tab navigasi: Overview, Profil LPM, Sambutan, Struktur Organisasi, Kontak.

### 7.1 Profil LPM (edit only)

**URL:** `/admin/profil/lpm`

| Field | Keterangan |
|-------|------------|
| Nama lembaga | Nama resmi LPM |
| Logo | Upload gambar |
| Banner | Upload gambar sampul |
| Sejarah | Teks sejarah LPM |
| Visi | Visi lembaga |
| Misi | Misi lembaga |
| Tugas & fungsi | Tupoksi LPM |

### 7.2 Sambutan Ketua LPM (edit only)

**URL:** `/admin/profil/sambutan`

| Field | Keterangan |
|-------|------------|
| Nama | Nama pejabat |
| Jabatan | Mis. Ketua LPM IAIN |
| Foto | Upload foto |
| Isi sambutan | Teks sambutan |

### 7.3 Struktur Organisasi (CRUD)

**URL:** `/admin/profil/struktur`

| Field | Keterangan |
|-------|------------|
| Nama | Nama anggota tim |
| Jabatan | Ketua, Sekretaris, Koordinator, dll. |
| Foto | Opsional |
| Bio singkat | Maks. 500 karakter |
| Urutan tampil | Angka kecil = tampil lebih dulu |
| Tampilkan di website | Checkbox aktif/nonaktif |

### 7.4 Kontak LPM (edit only)

**URL:** `/admin/profil/kontak`

| Field | Keterangan |
|-------|------------|
| Alamat | Alamat kantor |
| Telepon | Nomor telepon |
| Email | Email resmi |
| WhatsApp | Nomor WA (format 628xxx) |
| Jam layanan | Jam operasional |
| Google Maps embed | Kode iframe maps |
| Instagram, YouTube, Facebook | URL media sosial |

---

## 8. Modul SPME

**SPME = Sistem Penjaminan Mutu Eksternal** (akreditasi, audit eksternal)

**URL:** `/admin/spme`

### 8.1 Informasi SPME (edit only)

**URL:** `/admin/spme/informasi`

- Pengertian SPME
- Tujuan
- Ruang lingkup
- Dasar hukum
- Alur/tahapan ringkas
- Banner

### 8.2 Data Akreditasi (CRUD) — inti modul

**URL:** `/admin/spme/akreditasi`

| Field | Keterangan |
|-------|------------|
| Jenis | Institusi / Program Studi |
| Nama unit | Nama PT atau prodi |
| Lembaga | BAN-PT, LAM-PTKIS, LAMEMBA, LAMDIK, LAINNYA |
| Status | Terakreditasi / Dalam Proses / Kadaluarsa / Belum Terakreditasi |
| Peringkat | Unggul, Baik Sekali, Baik, A, B, C |
| Nomor SK | Nomor surat keputusan |
| Tanggal terbit | Tanggal SK |
| Berlaku sampai | Tanggal kadaluarsa |
| File sertifikat | PDF atau gambar (maks. 5MB) |
| Link sertifikat online | URL BAN-PT / verifikasi online |
| Keterangan | Catatan tambahan |
| Tampilkan di website | Checkbox |

**Filter:** pencarian, jenis, status.

### 8.3 Dokumen SPME (CRUD)

**URL:** `/admin/spme/dokumen`

| Field | Keterangan |
|-------|------------|
| Judul | Nama dokumen |
| Kategori | Pedoman, Formulir, Laporan, Template, Lainnya |
| Tahun | Tahun dokumen |
| Status | Draft / Dipublikasikan |
| File | PDF, DOC, DOCX, XLS, XLSX (maks. 10MB) |

### 8.4 Tahapan SPME (CRUD)

**URL:** `/admin/spme/tahapan`

Timeline alur akreditasi eksternal:

| Field | Keterangan |
|-------|------------|
| Urutan | Urutan tampil |
| Nama tahapan | Mis. Persiapan, Visitasi, Penetapan Hasil |
| Deskripsi | Penjelasan singkat |
| Tampilkan di website | Checkbox |

---

## 9. Modul SPMI

**SPMI = Sistem Penjaminan Mutu Internal**

**URL:** `/admin/spmi`

### 9.1 Informasi SPMI (edit only)

**URL:** `/admin/spmi/informasi`

- Pengertian SPMI
- Tujuan
- Ruang lingkup
- Dasar hukum
- Kebijakan mutu
- Alur PPEPP ringkas
- Banner

### 9.2 Siklus PPEPP (CRUD)

**URL:** `/admin/spmi/ppepp`

Lima tahap standar SPMI:

1. **Penetapan** — standar, target, dokumen mutu
2. **Pelaksanaan** — implementasi di unit kerja
3. **Evaluasi** — monitoring, survei, evaluasi diri
4. **Pengendalian** — tindak lanjut temuan
5. **Peningkatan** — perbaikan berkelanjutan

| Field | Urutan, nama, deskripsi, status aktif |

### 9.3 Standar Mutu (CRUD)

**URL:** `/admin/spmi/standar`

| Field | Keterangan |
|-------|------------|
| Kode | Mis. SM-01 |
| Nama standar | Nama lengkap standar |
| Jenis | SN-Dikti / Standar Institusi / Standar Prodi |
| Deskripsi | Penjelasan standar |
| Indikator | Daftar indikator (teks) |
| Dokumen pendukung | File PDF/DOC |
| Tampilkan di website | Checkbox |

### 9.4 Dokumen SPMI (CRUD)

**URL:** `/admin/spmi/dokumen`

Kategori: Manual SPMI, SOP, Formulir AMI, Pedoman, Template, Laporan, Lainnya.

### 9.5 AMI — Audit Mutu Internal (CRUD)

**URL:** `/admin/spmi/ami`

AMI dikelola sebagai **sub-modul SPMI** (bukan menu terpisah di sidebar).

| Field | Keterangan |
|-------|------------|
| Tahun | Tahun siklus AMI |
| Unit auditee | Fakultas / prodi / unit |
| Tanggal audit | Tanggal pelaksanaan |
| Tim auditor | Nama tim |
| Status | Rencana / Berlangsung / Selesai |
| Ringkasan temuan | Hasil audit |
| Tindak lanjut | Rencana perbaikan |
| Laporan AMI | Upload PDF |
| Tampilkan di website | Checkbox |

---

## 10. Modul Tracer Study

**URL:** `/admin/tracer`

Pelacakan alumni dan outcome lulusan untuk evaluasi prodi dan akreditasi.

### 10.1 Informasi Tracer Study (edit only)

**URL:** `/admin/tracer/informasi`

- Pengertian tracer study
- Tujuan
- Dasar hukum
- Metode pengumpulan data
- Jadwal pelaksanaan
- Link kuesioner umum
- Banner

### 10.2 Hasil Tracer Study (CRUD) — inti modul

**URL:** `/admin/tracer/hasil`

Data per **tahun** dan **program studi**:

| Field | Keterangan |
|-------|------------|
| Tahun | Tahun pelaksanaan |
| Program studi | Nama prodi |
| Jumlah responden | Jumlah alumni yang mengisi |
| Tingkat respons (%) | Persentase respons |
| % Bekerja | Lulusan yang sudah bekerja |
| Waktu tunggu kerja (bulan) | Rata-rata bulan menunggu kerja |
| % Relevansi pekerjaan | Pekerjaan sesuai bidang |
| % Studi lanjut | Melanjutkan pendidikan |
| Kepuasan (1–5) | Skala kepuasan alumni |
| Link kuesioner | URL kuesioner khusus prodi |
| Laporan PDF | File laporan tracer |
| Keterangan | Catatan |
| Status | Draft / Dipublikasikan |

### 10.3 Statistik Institusi (edit only)

**URL:** `/admin/tracer/statistik`

Ringkasan agregat untuk tampilan homepage modul tracer:

| Field | Keterangan |
|-------|------------|
| Total alumni terlacak | Jumlah keseluruhan |
| % bekerja (institusi) | Agregat tingkat PT |
| % relevansi (institusi) | Agregat relevansi |
| Waktu tunggu rata-rata (bulan) | Rata-rata institusi |
| Kepuasan rata-rata (1–5) | Rata-rata institusi |
| Ringkasan | Narasi singkat |

### 10.4 Dokumen Tracer (CRUD)

**URL:** `/admin/tracer/dokumen`

Kategori: Laporan Tracer Study, Infografis, Template Kuesioner, Panduan, Lainnya.

---

## 11. Ringkasan URL & Route Admin

| Modul | Base URL |
|-------|----------|
| Login | /admin/login |
| Dashboard | /admin |
| Manajemen Admin | /admin/manajeadmin |
| Berita | /admin/berita |
| Profil | /admin/profil |
| SPME | /admin/spme |
| SPMI | /admin/spmi |
| Tracer Study | /admin/tracer |

Semua route admin (kecuali login) memerlukan **login** dan hak **admin**.

---

## 12. Struktur Database

### Tabel utama

| Tabel | Modul | Fungsi |
|-------|-------|--------|
| users | Auth | Admin + login (`is_admin`) |
| beritas | Berita | Konten berita |
| profil_lpms | Profil | Info umum LPM |
| profil_sambutans | Profil | Sambutan ketua |
| profil_kontaks | Profil | Kontak |
| profil_anggotas | Profil | Struktur organisasi |
| spme_informasis | SPME | Info SPME |
| spme_akreditasis | SPME | Data akreditasi |
| spme_dokumens | SPME | Dokumen SPME |
| spme_tahapans | SPME | Tahapan akreditasi |
| spmi_informasis | SPMI | Info SPMI |
| spmi_ppepps | SPMI | Tahapan PPEPP |
| spmi_standars | SPMI | Standar mutu |
| spmi_dokumens | SPMI | Dokumen SPMI |
| spmi_amis | SPMI | Data AMI |
| tracer_informasis | Tracer | Info tracer |
| tracer_hasils | Tracer | Hasil per prodi |
| tracer_statistiks | Tracer | Statistik institusi |
| tracer_dokumens | Tracer | Dokumen tracer |

### Seeder

| Seeder | Isi default |
|--------|-------------|
| AdminSeeder | Admin default (admin@lpm.iain.ac.id) |
| ProfilSeeder | Contoh profil, sambutan, kontak, struktur |
| SpmeSeeder | Info SPME, tahapan, 2 akreditasi contoh |
| SpmiSeeder | Info SPMI, 5 PPEPP, 5 standar SN-Dikti, 1 AMI |
| TracerSeeder | Info tracer, statistik, 2 hasil prodi |

Jalankan ulang seeder tertentu:

```bash
php artisan db:seed --class=AdminSeeder
php artisan db:seed --class=ProfilSeeder
# dst.
```

---

## 13. Upload File & Storage

File upload disimpan di `storage/app/public/` dengan symlink ke `public/storage`.

| Modul | Folder storage |
|-------|----------------|
| Berita | berita/ |
| Profil | profil/ |
| SPME | spme/, spme/sertifikat/, spme/dokumen/ |
| SPMI | spmi/standar/, spmi/dokumen/, spmi/ami/ |
| Tracer | tracer/, tracer/laporan/, tracer/dokumen/ |

Pastikan symlink aktif:

```bash
php artisan storage:link
```

Akses file via URL: `http://localhost:8000/storage/{path}`

---

## 14. Catatan Pengembangan Selanjutnya

### Belum dibangun (rencana)

- **Halaman publik website** — menampilkan data dari admin ke frontend pengunjung
- **Modul Dokumen umum** — arsip dokumen lintas modul
- **Form kuesioner tracer online** — pengisian langsung oleh alumni
- **Rich text editor** — untuk isi berita (saat ini textarea plain)
- **Role/permission granular** — selain flag `is_admin`

### Perbandingan singkat modul mutu

| Aspek | SPMI | SPME | Tracer Study |
|-------|------|------|--------------|
| Fokus | Mutu internal | Akreditasi eksternal | Outcome lulusan |
| CRUD utama | Standar mutu, AMI | Data akreditasi | Hasil per prodi |
| Dokumen | Manual, SOP, formulir AMI | Pedoman akreditasi | Laporan tracer |
| Siklus | PPEPP | Tahap akreditasi | Tahunan per prodi |

---

## Lampiran: Alur Kerja Admin Harian

```
Login (/admin/login)
    ↓
Dashboard (/admin)
    ↓
Pilih modul di sidebar
    ↓
┌─────────────┬──────────────┬─────────────┐
│  Tambah     │  Edit data   │  Hapus      │
│  (Create)   │  (Update)    │  (Delete)   │
└─────────────┴──────────────┴─────────────┘
    ↓
Konten tersimpan di database
    ↓
(Selanjutnya) ditampilkan di website publik
```

---

**© LPM IAIN — Panduan Sistem Admin v1.0**

*Dokumen ini dibuat sebagai referensi internal pengelolaan panel administrasi LPM IAIN.*
