-
✅ Database & Tabel
- Database:
kampus - Tabel:
mahasiswadengan kolom id, nim, nama, prodi, created_at, updated_at - Auto-create database dan tabel jika belum ada
- Database:
-
✅ CRUD Operations
- CREATE: Tambah mahasiswa baru
- READ: Tampilkan daftar mahasiswa
- UPDATE: Edit data mahasiswa
- DELETE: Hapus data mahasiswa
- Pengecekan NIM duplikat saat tambah data
- Validasi NIM duplikat saat edit data (kecuali untuk data yang sama)
- Pesan error yang jelas jika NIM sudah terdaftar
- Pencarian berdasarkan NIM, Nama, atau Program Studi
- Real-time search dengan form yang responsif
- Opsi reset pencarian
- Pagination otomatis jika data > 10 baris
- Navigasi halaman dengan First, Previous, Next, Last
- Informasi jumlah data dan halaman aktif
- Mempertahankan pencarian saat berpindah halaman
- Export semua data mahasiswa ke file CSV
- Mempertahankan hasil pencarian saat export
- Format CSV dengan header yang jelas
- Nama file: "daftar_mahasiswa.csv"
- Desain modern dan responsif
- Styling untuk tabel, tombol, form, dan navigasi
- Gradient background untuk header tabel
- Hover effects dan animasi smooth
- Mobile-responsive design
- ✅ Prepared statements untuk mencegah SQL injection
- ✅ Input sanitization dan validation
- ✅ XSS protection dengan htmlspecialchars()
- ✅ Validasi form client-side dan server-side
- ✅ Success/error message notifications
- ✅ Konfirmasi sebelum hapus data
- ✅ Form validation dengan JavaScript
- ✅ Auto-format input (NIM hanya angka, nama auto-capitalize)
- ✅ Dropdown untuk Program Studi
- ✅ Informasi timestamp created/updated
- ✅ Statistik total mahasiswa
- ✅ Auto-increment ID
- ✅ Timestamp untuk tracking data
- ✅ Soft error handling
- XAMPP/WAMP/LAMP (PHP 7.4+ dan MySQL)
- Web browser modern
- Text editor (VS Code, Sublime, dll.)
-
Clone/Download project
git clone [repository-url] # atau download ZIP dan extract -
Setup database
- Jalankan XAMPP/WAMP
- Buka
http://localhost/phpmyadmin - Import file
kampus.sqlatau jalankan aplikasi (auto-create)
-
Konfigurasi database (jika diperlukan)
- Edit file
db.php - Sesuaikan username/password MySQL
- Edit file
-
Jalankan aplikasi
- Akses
http://localhost/[folder-project]/index.php
- Akses
-
Siapkan screenshots
- Ambil screenshot setiap halaman
- Simpan di folder
screenshots/ - Format: PNG/JPG, max 1MB per file
-
Push ke repository
git add . git commit -m "Add CRUD Mahasiswa application" git push origin main
CREATE TABLE mahasiswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nim VARCHAR(15) NOT NULL UNIQUE,
nama VARCHAR(50) NOT NULL,
prodi VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);- PHP (mysqli)
- MySQL Database
- HTML5
- CSS3 (dengan Flexbox dan Grid)
- JavaScript (untuk validasi form)
- Responsive Web Design
Buka Command Prompt atau PowerShell sebagai Administrator, lalu jalankan perintah berikut:
# Dump database kampus dengan format yang mudah dibaca
mysqldump -u root -p --skip-extended-insert kampus > kampus.sql
# Dump dengan options tambahan untuk kompatibilitas
mysqldump -u root -p --skip-extended-insert --single-transaction --routines --triggers kampus > kampus_full.sql
# Dump hanya tabel mahasiswa
mysqldump -u root -p --skip-extended-insert kampus mahasiswa > mahasiswa.sqlPenjelasan parameter:
-u root: Username MySQL (ganti sesuai username Anda)-p: Akan meminta password MySQL--skip-extended-insert: Format INSERT yang mudah dibaca (satu baris per record)--single-transaction: Konsistensi data untuk InnoDB--routines: Include stored procedures dan functions--triggers: Include triggerskampus: Nama database> kampus.sql: Output file
Masuk ke MySQL prompt terlebih dahulu:
# Masuk ke MySQL
mysql -u root -p
# Dalam MySQL prompt, jalankan:
mysqldump -u root -p --skip-extended-insert kampus > kampus.sql
exitAtau langsung dari MySQL prompt dengan perintah system:
-- Dalam MySQL prompt
SYSTEM mysqldump -u root -p --skip-extended-insert kampus > kampus.sql;- Buka phpMyAdmin di browser (biasanya
http://localhost/phpmyadmin) - Login dengan username dan password MySQL Anda
- Pilih database "kampus" di panel kiri
- Klik tab "Export" di bagian atas
- Pilih "Custom" export method untuk options tambahan
- Konfigurasi export:
- Format: SQL
- Tables: Pilih tabel yang ingin di-export (atau pilih semua)
- Output: Save output to a file
- Format-specific options:
- ✅ Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER statement
- ✅ Add CREATE PROCEDURE / FUNCTION / EVENT
- ✅ Add IF NOT EXISTS (less efficient as indexes will be duplicated)
- ✅ Include time stamp
- Klik "Go" untuk download file SQL
Untuk merestore database dari file SQL dump:
# Melalui Command Prompt/PowerShell
mysql -u root -p kampus < kampus.sql
# Atau buat database baru terlebih dahulu
mysql -u root -p -e "CREATE DATABASE kampus_backup;"
mysql -u root -p kampus_backup < kampus.sqlMelalui MySQL prompt:
-- Buat database baru (opsional)
CREATE DATABASE kampus_backup;
USE kampus_backup;
-- Import file SQL
SOURCE C:/path/to/kampus.sql;Melalui phpMyAdmin:
- Pilih database tujuan
- Klik tab "Import"
- Choose file dan pilih file SQL dump
- Klik "Go"
- Backup Rutin: Lakukan backup secara berkala
- Verifikasi Backup: Test restore di environment terpisah
- Kompres File: Gunakan gzip untuk file backup yang besar
mysqldump -u root -p --skip-extended-insert kampus | gzip > kampus.sql.gz
- Include Timestamp: Tambahkan tanggal di nama file
mysqldump -u root -p --skip-extended-insert kampus > kampus_$(date +%Y%m%d_%H%M%S).sql
- Dashboard: Lihat daftar mahasiswa dengan pagination
- Tambah Data: Form dengan validasi NIM unik
- Edit Data: Update informasi mahasiswa
- Hapus Data: Hapus data mahasiswa
- Pencarian: Cari berdasarkan NIM/nama/prodi
- Export: Download data dalam format CSV
- Mobile: Responsive design untuk semua device
- 🔒 Security: Prepared statements, XSS protection
- 🎨 UI/UX: Modern design, smooth animations
- 📱 Responsive: Mobile-friendly interface
- ⚡ Performance: Efficient pagination & search
- 📊 Export: CSV download functionality
This project is created for educational purposes as part of Web Programming coursework.
Halaman utama dengan daftar mahasiswa, fitur pencarian, dan pagination
Form untuk menambah data mahasiswa baru dengan validasi
Form untuk mengedit data mahasiswa yang sudah ada
Fitur untuk menghapus data mahasiswa yang sudah ada
Fitur pencarian berdasarkan NIM, nama, atau program studi
Tampilan responsif untuk perangkat mobile
- Developer: Banar Pambudi
- Email: banarpambudi094@gmail.com
- LinkedIn: https://www.linkedin.com/in/banarpambudi/
- Course: Pemrograman Web - Semester 5