# Cara memasang database SIMAP di cPanel

Panduan ini ditulis untuk dikerjakan sekali dari awal sampai selesai.
Perkiraan waktu 15 menit.

Yang perlu disiapkan: akses cPanel dan berkas `simap-albarokah.sql`.

---

## Langkah 1 — Buat basis data

1. Masuk cPanel
2. Cari menu **MySQL Databases** (bagian Databases)
3. Pada kotak **Create New Database**, ketik: `simap`
4. Klik **Create Database**

cPanel akan menambahkan awalan nama akun secara otomatis, sehingga nama
lengkapnya menjadi seperti `albarok_simap`. **Catat nama lengkap itu** —
akan dipakai di Langkah 3.

---

## Langkah 2 — Buat pengguna basis data

Masih di halaman yang sama, gulir ke bawah.

1. Pada **Add New User**, isi nama pengguna: `simap`
2. Klik **Password Generator**, lalu **Use Password**
3. **Salin kata sandinya ke Notepad** — hanya ditampilkan sekali
4. Klik **Create User**

Gulir lagi ke bawah, bagian **Add User To Database**:

1. User: pilih pengguna yang baru dibuat
2. Database: pilih basis data yang tadi
3. Klik **Add**
4. Pada halaman hak akses, centang **ALL PRIVILEGES**
5. Klik **Make Changes**

Sekarang Anda punya tiga hal yang perlu dicatat:

```
Nama basis data : albarok_simap
Nama pengguna   : albarok_simap
Kata sandi      : (yang tadi disalin)
```

---

## Langkah 3 — Impor berkas SQL

1. Kembali ke halaman utama cPanel
2. Buka **phpMyAdmin**
3. Pada daftar di sebelah kiri, **klik nama basis data** yang tadi dibuat

   Langkah ini sering terlewat. Bila basis data belum dipilih, tabel akan
   masuk ke tempat yang salah.

4. Klik tab **Import** di bagian atas
5. Klik **Choose File**, pilih `simap-albarokah.sql`
6. Biarkan pengaturan lain apa adanya
7. Gulir ke bawah, klik **Go**

Tunggu sekitar satu menit. Bila berhasil, muncul tulisan hijau
**"Import has been successfully finished"** dan di bawahnya:

```
SIMAP terpasang: 116 tabel
```

Angkanya harus **116**. Bila kurang, lihat bagian Bila Gagal di bawah.

---

## Langkah 4 — Hubungkan aplikasi ke basis data

1. Kembali ke cPanel, buka **File Manager**
2. Masuk ke folder tempat SIMAP diunggah
3. Buka folder `web`, lalu folder `config`
4. Klik kanan `config.php` → **Edit**
5. Cari bagian paling atas, sesuaikan tiga baris ini dengan catatan Langkah 2:

```php
define('DB_HOST', 'localhost');
define('DB_NAME', 'albarok_simap');
define('DB_USER', 'albarok_simap');
define('DB_PASS', 'sandi-yang-tadi-disalin');
```

6. Klik **Save Changes**

---

## Langkah 5 — Coba buka

Buka alamat sekolah di peramban, lalu masuk dengan:

```
Nama pengguna : admin
Kata sandi    : simap123
```

Bila dashboard terbuka dan angka siswa menunjukkan 815, pemasangan berhasil.

---

## Langkah 6 — Ganti sandi bawaan

**Kerjakan sekarang, jangan ditunda.** Seluruh akun contoh memakai sandi
`simap123` yang tertulis di dokumen ini, jadi siapa pun yang membacanya bisa
masuk.

Buka menu **Sistem → Pengguna**, ganti sandi untuk `admin`, `kepsek`, dan `tu`.

---

## Bila gagal

**Muncul "MySQL server has gone away" atau impor berhenti di tengah**

Berkasnya terlalu besar untuk batas unggah hosting. Jalan keluarnya:

1. Di phpMyAdmin, hapus dulu tabel yang sudah terlanjur masuk
   (tab **Structure** → **Check All** → **Drop**)
2. Kompres `simap-albarokah.sql` menjadi `.zip`
3. Impor berkas `.zip` itu — phpMyAdmin membukanya sendiri

Bila masih gagal, minta penyedia hosting menaikkan `max_allowed_packet` dan
`upload_max_filesize`.

**Jumlah tabel kurang dari 116**

Impornya terputus. Hapus seluruh tabel, lalu ulangi Langkah 3.

**Halaman putih kosong saat membuka alamat sekolah**

Hampir selalu salah ketik pada `config.php`. Periksa ulang nama basis data,
nama pengguna, dan sandinya — termasuk awalan nama akun yang ditambahkan
cPanel.

**"Access denied for user"**

Pengguna belum diberi hak akses. Ulangi bagian **Add User To Database** pada
Langkah 2 dan pastikan **ALL PRIVILEGES** tercentang.

---

## Bila SIMAP sudah pernah terpasang

Berkas ini akan **menimpa data yang sudah ada**. Jangan diimpor ke basis data
yang sudah berisi data sekolah yang berjalan.

Untuk memperbarui pemasangan lama, impor hanya berkas migrasi yang belum
pernah dijalankan — lihat daftarnya di README pada bagian berkas SQL.

Sebelum melakukan apa pun pada data yang sudah berjalan, buat cadangan lebih
dulu: phpMyAdmin → pilih basis data → tab **Export** → **Go**.
