Dashboard admin untuk mengelola toko elektronik yang menjual smartphone dan aksesoris.
toko_elektronik/
├── assets/
│ ├── css/
│ │ └── style.css # Styling untuk seluruh aplikasi
│ ├── js/
│ │ └── admin.js # JavaScript untuk admin.php
│ └── images/ # Folder untuk menyimpan gambar lokal
├── dashboard.php # Halaman dashboard utama
├── admin.php # Halaman kelola produk (CRUD)
├── data.sql # Struktur database (siap digunakan nanti)
└── README.md # Dokumentasi ini
Menu: Dashboard
Perintah Eksekusi Bahasa Pemrograman:
- Statistik total produk, stok, nilai inventori, dan kategori
- Alert peringatan stok rendah
- Tabel ranking produk termahal
- Bar Chart: Visualisasi jumlah produk per kategori
- Pie Chart: Distribusi kategori dalam bentuk diagram lingkaran
- Menggunakan Chart.js library untuk rendering grafik
- Gambar: Galeri produk dengan thumbnail interaktif
- Video: Embedded YouTube video tutorial
- Audio: Audio player untuk notifikasi sistem
Menu: Produk
Fitur CRUD:
- ✅ Create: Tambah produk baru
- ✅ Read: Lihat daftar semua produk
- ✅ Update: Edit data produk
- ✅ Delete: Hapus produk
Field Data Produk:
- Thumbnail (URL gambar)
- Kategori (Dropdown: Iphone, Samsung, Xiaomi, dll)
- Nama Produk
- Harga (Rupiah)
- Stok (unit)
- Deskripsi
-
Pastikan XAMPP sudah berjalan:
- Jalankan Apache dari XAMPP Control Panel
-
Akses aplikasi melalui browser:
http://localhost/electronic_dashboard/toko_elektronik/dashboard.php -
Navigasi:
- Klik menu Dashboard untuk melihat statistik dan grafik
- Klik menu Produk untuk mengelola data produk
-
Data Dummy:
- Data saat ini disimpan di SESSION (akan hilang jika browser ditutup)
- Data awal: 3 produk (iPhone 13 Pro, Samsung Z Flip, Xiaomi Redmi Note 11 Pro)
Ketika siap menggunakan database MySQL:
-
Import database:
- Buka phpMyAdmin:
http://localhost/phpmyadmin - Buat database baru atau import file
data.sql - Jalankan query di file
data.sql
- Buka phpMyAdmin:
-
Buat file koneksi database (config.php):
<?php $host = 'localhost'; $dbname = 'toko_elektronik'; $username = 'root'; $password = ''; try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { die("Koneksi gagal: " . $e->getMessage()); } ?>
-
Ubah kode di admin.php dan dashboard.php:
- Ganti
$_SESSION['products']dengan query database - Contoh:
// Ganti ini: $_SESSION['products'] // Dengan ini: $stmt = $pdo->query("SELECT * FROM produk"); $products = $stmt->fetchAll(PDO::FETCH_ASSOC);
- Ganti
| Field | Type | Deskripsi |
|---|---|---|
| id | INT(11) | Primary Key, Auto Increment |
| thumbnail | VARCHAR(255) | URL gambar produk |
| kategori | VARCHAR(100) | Kategori produk |
| produk | VARCHAR(255) | Nama produk |
| harga | DECIMAL(15,2) | Harga produk |
| stok | INT(11) | Jumlah stok |
| deskripsi | TEXT | Deskripsi produk |
| created_at | TIMESTAMP | Waktu dibuat |
| updated_at | TIMESTAMP | Waktu diupdate |
| Field | Type | Deskripsi |
|---|---|---|
| id | INT(11) | Primary Key, Auto Increment |
| username | VARCHAR(50) | Username admin |
| password | VARCHAR(255) | Password (hashed) |
| nama | VARCHAR(100) | Nama lengkap |
| VARCHAR(100) | Email admin | |
| created_at | TIMESTAMP | Waktu dibuat |
- Backend: PHP 7.4+
- Frontend: HTML5, CSS3, JavaScript
- Chart Library: Chart.js
- Icons: Font Awesome 6.4.0
- Database: MySQL (belum diimplementasi, struktur sudah siap)
- Server: Apache (XAMPP)
-
Data Dummy:
- Saat ini menggunakan PHP SESSION untuk menyimpan data
- Data akan hilang jika session berakhir atau browser ditutup
- Cocok untuk testing dan development
-
Struktur Siap Database:
- File
data.sqlsudah berisi struktur tabel yang benar - Tinggal import ke database MySQL ketika siap
- Minimal perubahan kode diperlukan untuk migrasi ke database
- File
-
Responsive Design:
- Layout responsif untuk mobile dan desktop
- Sidebar menu yang interaktif
-
Keamanan (untuk production):
- Tambahkan validasi input
- Gunakan prepared statements untuk database
- Hash password untuk fitur login
- Sanitize data dari user input
Ketika siap menggunakan database:
- Import
data.sqlke MySQL - Buat file
config.phpuntuk koneksi database - Update
admin.php- ganti SESSION dengan query database - Update
dashboard.php- ganti SESSION dengan query database - Test CRUD operations
- (Optional) Implementasi fitur login
Untuk pertanyaan dan bantuan, silakan hubungi developer.
Version: 1.0.0
Created: October 2025
Status: Development (Dummy Data)