ToySmart adalah sistem penjualan mainan anak berbasis website yang dilengkapi dengan fitur rekomendasi produk menggunakan metode Simple Additive Weighting (SAW). Sistem ini dikembangkan untuk membantu pelanggan menemukan mainan yang paling sesuai berdasarkan beberapa kriteria penilaian, sehingga proses pemilihan produk menjadi lebih mudah, cepat, dan objektif.
Go to file
iFannJR bd1a63d16c Dokumentasi Kode dan Penjelasan di Readme 2026-07-28 21:41:15 +07:00
app Dokumentasi Kode dan Penjelasan di Readme 2026-07-28 21:41:15 +07:00
bootstrap Pertama 2026-05-30 13:55:07 +07:00
config store alamat 2026-05-30 14:06:57 +07:00
database memperbaiki cost/benefit 2026-06-02 21:58:50 +07:00
public Pertama 2026-05-30 13:55:07 +07:00
resources perbaiki tampilan 2026-06-22 00:02:58 +07:00
routes Pertama 2026-05-30 13:55:07 +07:00
storage Pertama 2026-05-30 13:55:07 +07:00
tests Pertama 2026-05-30 13:55:07 +07:00
.editorconfig Pertama 2026-05-30 13:55:07 +07:00
.env.example Pertama 2026-05-30 13:55:07 +07:00
.gitattributes Pertama 2026-05-30 13:55:07 +07:00
.gitignore Pertama 2026-05-30 13:55:07 +07:00
README.md Dokumentasi Kode dan Penjelasan di Readme 2026-07-28 21:41:15 +07:00
artisan Pertama 2026-05-30 13:55:07 +07:00
composer.json ubah image db ke blob 2026-06-01 00:54:18 +07:00
composer.lock ubah image db ke blob 2026-06-01 00:54:18 +07:00
package-lock.json Pertama 2026-05-30 13:55:07 +07:00
package.json Pertama 2026-05-30 13:55:07 +07:00
phpunit.xml Pertama 2026-05-30 13:55:07 +07:00
vite.config.js Pertama 2026-05-30 13:55:07 +07:00

README.md

# 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

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:

app/Services/ToyRecommendationService.php