144 lines
4.4 KiB
Markdown
144 lines
4.4 KiB
Markdown
```bash
|
|
# Clone & masuk folder
|
|
cd WebSAW-LOCAL
|
|
|
|
# Install dependency PHP
|
|
composer install
|
|
|
|
# Salin env
|
|
cp .env.example .env
|
|
php artisan key:generate
|
|
|
|
# Database (MySQL)
|
|
# Set di .env: DB_CONNECTION=mysql, DB_DATABASE=..., DB_USERNAME=..., DB_PASSWORD=...
|
|
php artisan migrate #hati2 saat migrate jika ada data asli takutnya data yang sudah ada terhapus dan terupdate
|
|
php artisan db:seed
|
|
|
|
# Storage link (untuk gambar produk)
|
|
php artisan storage:link
|
|
|
|
# Frontend (wajib agar CSS/JS dan warna tampil)
|
|
npm install
|
|
npm run build
|
|
# Saat development: jalankan di terminal terpisah: npm run dev
|
|
```
|
|
|
|
## Menjalankan
|
|
```bash
|
|
php artisan serve
|
|
# Buka http://localhost:8000
|
|
|
|
|
|
```
|
|
# WebSAW-LOCAL
|
|
Sistem Penjualan Mainan Anak Berbasis Website dengan Rekomendasi Produk Menggunakan Metode SAW (Simple Additive Weighting).
|
|
|
|
## Fitur Utama
|
|
- Login & Register User
|
|
- Manajemen Produk
|
|
- Manajemen Kriteria SAW
|
|
- Sistem Rekomendasi Mainan
|
|
- Keranjang Belanja
|
|
- Checkout
|
|
- Riwayat Transaksi
|
|
- Dashboard Admin
|
|
- Perhitungan SAW Otomatis
|
|
|
|
|
|
## Teknologi
|
|
- Laravel 12
|
|
- MySQL
|
|
- Bootstrap / Tailwind CSS
|
|
- JavaScript
|
|
- Chart.js
|
|
- Metode SAW (Simple Additive Weighting)
|
|
|
|
#### AuthController
|
|
Mengelola proses autentikasi pengguna.
|
|
|
|
| Method | Fungsi |
|
|
|----------------|--------------------------------|
|
|
| login() | Menampilkan halaman login |
|
|
| authenticate() | Proses login |
|
|
| register() | Menampilkan halaman registrasi |
|
|
| store() | Menyimpan akun baru |
|
|
| logout() | Keluar dari sistem |
|
|
---------------------------------------------------
|
|
|
|
### Admin
|
|
- Admin: `admin@toy.com` / `password`
|
|
|
|
#### DashboardController
|
|
Mengelola dashboard admin.
|
|
|
|
| Method | Fungsi |
|
|
|-------------|---------------------------------|
|
|
| index() | Menampilkan statistik penjualan |
|
|
| chartData() | Menampilkan data grafik |
|
|
-------------------------------------------------
|
|
|
|
#### ProductController
|
|
Mengelola data produk mainan.
|
|
|
|
| Method | Fungsi |
|
|
|-----------|---------------------------|
|
|
| index() | Menampilkan daftar produk |
|
|
| create() | Form tambah produk |
|
|
| store(). | Menyimpan produk |
|
|
| edit() | Form edit produk |
|
|
| update() | Memperbarui produk |
|
|
| destroy() | Menghapus produk |
|
|
-----------------------------------------
|
|
|
|
#### CriteriaController
|
|
Mengelola kriteria SAW.
|
|
|
|
| Method. | Fungsi |
|
|
|-----------|--------------------|
|
|
| index() | Daftar kriteria |
|
|
| store() | Menambah kriteria |
|
|
| update() | Mengubah kriteria |
|
|
| destroy() | Menghapus kriteria |
|
|
----------------------------------
|
|
|
|
#### TransactionController
|
|
Mengelola transaksi penjualan.
|
|
|
|
| Method. | Fungsi |
|
|
|----------------|---------------------------|
|
|
| index(). | Daftar transaksi |
|
|
| show(). | Detail transaksi |
|
|
| updateStatus() | Mengubah status transaksi |
|
|
----------------------------------------------
|
|
|
|
## Controller Logic SAW
|
|
| Method | Fungsi |
|
|
|--------------------------------|-----------------------------------------------------|
|
|
| getRecommendations() | Menghasilkan rekomendasi produk |
|
|
| getRecommendationsWithMatrix() | Menampilkan matriks keputusan dan normalisasi |
|
|
| getFilteredProducts() | Filter produk berdasarkan usia, kategori, dan budget|
|
|
| buildWeightsFromPriorities() | Mengubah prioritas pengguna menjadi bobot |
|
|
| buildMatrix() | Membentuk matriks keputusan |
|
|
| normalizeMatrix() | Melakukan normalisasi matriks |
|
|
| calculatePreferenceScores() | Menghitung nilai preferensi |
|
|
| ageRangeOverlaps() | Mengecek kesesuaian usia |
|
|
|
|
|
|
### User
|
|
- User: `user@toy.com` / `password`
|
|
|
|
#### RecommendationController
|
|
Mengelola sistem rekomendasi produk.
|
|
|
|
| Method | Fungsi |
|
|
|-------------|-------------------------------|
|
|
| index() | Form rekomendasi |
|
|
| calculate() | Proses perhitungan SAW |
|
|
| result() | Menampilkan hasil rekomendasi |
|
|
-----------------------------------------------
|
|
|
|
## Implementasi Metode SAW
|
|
Logika perhitungan SAW berada pada:
|
|
|
|
```bash
|
|
app/Services/ToyRecommendationService.php |