- Aplikasi CRUD PHP MariaDB Data Santri Sederhana
- Aplikasi CRUD PHP MariaDB: Cara Tambah dan Edit Data Santri
- Aplikasi CRUD PHP MariaDB: Hapus Data dengan Modal Bootstrap
- Aplikasi CRUD PHP MariaDB: Latihan Mandiri dan Troubleshooting
- Aplikasi CRUD PHP MariaDB: Cara Upload Proyek ke GitHub untuk Pemula
- Aplikasi CRUD PHP MariaDB: Cara Buat Presentasi Screenshot di Google Slides
MWI – Hallo sobat pembelajar web MuSa. Latihan CRUD PHP MariaDB merupakan tahap penting untuk menguji sejauh mana Anda benar-benar memahami alur logika pemrograman web dasar, bukan sekadar menyalin kode program. Melalui artikel penutup seri tutorial ini, Anda dapat mempraktikkan pengujian mandiri, menyelesaikan tantangan pengembangan, serta mempelajari cara mengatasi masalah error yang sering muncul.
Daftar Isi
Daftar Uji Akhir Aplikasi Data Santri
Sebelum melanjutkan ke tahap pengayaan, Anda perlu memastikan bahwa seluruh fitur utama berjalan tanpa kendala. Coba lakukan pengujian sistem secara bertahap melalui daftar periksa berikut:
- Tambah tiga santri baru menggunakan variasi data yang berbeda.
- Kosongkan kolom nama saat menambah data untuk memastikan pesan kesalahan muncul.
- Ubah nama atau nomor kamar salah satu santri dan pastikan perubahan langsung tampil di tabel utama.
- Akses halaman edit secara manual melalui URL edit.php?id=9999 untuk menguji penanganan data tidak ada.
- Hapus satu baris data santri lewat modal konfirmasi, lalu coba juga fungsi tombol Batal.
- Cari nama santri menggunakan huruf besar atau huruf kecil yang berbeda.
- Masukkan teks bertag HTML pada kolom nama untuk memastikan fungsi pengaman e() bekerja dengan baik.
Latihan Dasar dan Tantangan Pengembangan
Setelah semua uji coba berjalan lancar, Anda dapat mengasah pemahaman dengan menyelesaikan beberapa tugas latihan dasar:
- Tambahkan kolom angkatan ber tipe INT pada tabel database, lalu tampilkan pada form input dan tabel utama.
- Ubah tampilan kode jenis kelamin L dan P di tabel menjadi teks Laki-laki dan Perempuan.
- Hitung dan tampilkan umur santri secara otomatis berdasarkan tanggal lahir memanfaatkan fungsi DateTime diff.
- Buatlah filter penyaringan data santri berdasarkan nomor kamar memakai elemen dropdown.
Di samping itu, Anda juga dapat membaca panduan hapus data PHP di artikel sebelumnya untuk mereview kembali integrasi modal konfirmasi[cite: 1, 2]. Untuk memperdalam dokumentasi pengelolaan query database tingkat lanjut, Anda bisa mengunjungi halaman resmi MariaDB Documentation.
Tantangan Tingkat Lanjut
Apabila Anda sudah menyelesaikan latihan dasar, cobalah untuk menjawab tantangan pemrograman berikut:
- Pisahkan elemen form ke dalam berkas form.php, lalu panggil menggunakan include pada halaman tambah dan edit agar efisien.
- Tampilkan sepuluh baris data per halaman memakai fungsi LIMIT dan OFFSET lengkap dengan navigasi pagination Bootstrap.
- Buat tombol khusus untuk mengekspor seluruh daftar data santri ke dalam format berkas CSV.
Untuk mengembangkan aplikasi ini menjadi sistem informasi pesantren yang lebih kaya fitur, Anda dapat mempelajari konsep-konsep berikut:
Ide Pengembangan Sistem Lanjutan
- Fitur setoran hafalan menggunakan tabel kedua yang terhubung melalui Foreign Key dan relasi JOIN.
- Fitur absensi kegiatan harian memanfaatkan pemrosesan tanggal serta fungsi GROUP BY.
- Fitur pasfoto santri memanfaatkan sistem penanganan upload berkas pada PHP.
- Fitur autentikasi login admin menggunakan Session, password hash, dan password verify.
Panduan Troubleshooting Error Umum
Sebagian besar kendala saat belajar membuat aplikasi web berasal dari beberapa penyebab utama. Perhatikan daftar masalah berikut sebelum Anda mencari bantuan:
- Kendala SQLSTATE Connection Refused terjadi karena layanan MariaDB belum berjalan. Solusinya, nyalakan modul MySQL pada panel XAMPP atau Laragon Anda.
- Kendala Unknown Database terjadi karena nama database belum ada atau salah ketik. Solusinya, buat ulang database dan samakan nama variabel koneksi.
- Kendala Access Denied terjadi karena pengaturan kata sandi database kurang tepat. Solusinya, sesuaikan variabel password pada berkas koneksi.
- Kendala Headers Already Sent terjadi karena ada baris kosong atau spasi sebelum tag PHP. Solusinya, hapus keluaran teks sebelum perintah header location.
- Kendala Incorrect Date Value terjadi karena tanggal kosong dikirim berupa teks biasa. Solusinya, konversi nilai kosong menjadi NULL.
- Kendala Modal Hapus Tidak Muncul terjadi karena berkas JavaScript Bootstrap belum terpanggil. Solusinya, pastikan footer dipanggil secara benar.
Cara Menelusuri Error Secara Tertib
Pertama-tama, baca pesan error dari awal sampai akhir untuk menemukan lokasi berkas dan nomor baris masalah. Kemudian, periksa baris kode tersebut untuk menemukan kesalahan penulisan tanda baca. Selanjutnya, manfaatkan perintah var dump untuk melacak isi variabel saat proses pengujian.
Rubrik penilaian praktik
| Aspek | Bobot | Ukuran berhasil |
|---|---|---|
| Database dan koneksi | 15% | Tabel benar, koneksi berhasil, tanpa error |
| Read | 20% | Data tampil lengkap di tabel Bootstrap |
| Create | 20% | Data tersimpan, validasi dan pesan berfungsi |
| Update | 20% | Form terisi data lama, perubahan tersimpan |
| Delete | 15% | Konfirmasi modal ada, hanya satu data terhapus |
| Kerapian dan keamanan | 10% | Prepared statement dan e() dipakai konsisten |
Ide pengembangan lanjutan
| Pengembangan | Yang dipelajari |
|---|---|
| Setoran hafalan (tabel kedua yang terhubung ke santri) | Foreign key dan JOIN |
| Absensi kegiatan harian | Input tanggal dan GROUP BY |
| Foto santri (fitur gambar, sebagai tambahan) | Upload berkas |
| Login admin | Session, password_hash, dan password_verify |
Troubleshooting: error umum dan solusinya
Sebagian besar masalah pada tahap awal berasal dari tujuh penyebab berikut. Periksa tabel ini sebelum meminta bantuan.
| Gejala | Penyebab umum | Solusi |
|---|---|---|
| SQLSTATE[HY000] [2002] Connection refused | MariaDB belum berjalan | Nyalakan modul MySQL di panel XAMPP atau Laragon |
| Unknown database ‘db_santri’ | Database belum dibuat atau namanya berbeda | Jalankan ulang SQL pembuatan database, cocokkan $db di koneksi.php |
| Access denied for user ‘root’ | Password MariaDB tidak kosong | Isi $pass di koneksi.php sesuai password sebenarnya |
| Cannot modify header information – headers already sent | Ada keluaran sebelum header(‘Location: …’), misalnya spasi sebelum <?php | Pastikan <?php di baris pertama dan header(…) dijalankan sebelum include ‘header.php’ |
| Incorrect date value: ” | Tanggal kosong dikirim sebagai teks kosong | Pakai ?: null seperti pada tambah.php dan edit.php |
| Modal Hapus tidak muncul | footer.php tidak memuat JavaScript Bootstrap | Pastikan footer.php dipanggil di akhir index.php dan memuat bootstrap.bundle.min.js |
| Huruf tampil aneh (misalnya tanda tanya) | Charset tidak sesuai | Pakai utf8mb4 pada database, koneksi, dan <meta charset=”UTF-8″> |
| Halaman putih kosong | Error PHP disembunyikan | Aktifkan sementara ini_set(‘display_errors’, 1); di baris kedua koneksi.php |
Cara menelusuri error dengan tertib
- Baca pesan error dari awal sampai akhir. Nama berkas dan nomor baris biasanya tertulis jelas.
- Buka berkas dan baris yang ada. Periksa tanda kutip, titik koma, dan kurung yang kurang.
- Jika error berasal dari SQL, salin perintahnya ke tab SQL di phpMyAdmin untuk mengujinya sendiri.
- Gunakan var_dump($data); untuk melihat isi variabel, lalu hapus setelah masalah selesai.
- Ubah satu hal, lalu uji lagi. Mengubah banyak hal sekaligus membuat sumber masalah sulit terdeteksi.
Sebelum aplikasi jadi sungguhan
Aplikasi ini ada untuk belajar di komputer sendiri dan belum memiliki login. Jangan menaruhnya di internet dengan data santri yang nyata sebelum ada halaman login admin, password database yang kuat, dan pencadangan data rutin.
Akhirnya, seluruh rangkaian seri tutorial latihan CRUD PHP MariaDB ini telah selesai dan dapat Anda manfaatkan sebagai panduan belajar mandiri yang terstruktur. Tutorial utuh pada Google Dokumen