@extends('layouts.app') @section('title', 'Hasil Rekomendasi SAW') @section('content')

Hasil Rekomendasi

Top 5 produk sesuai prioritas Anda (metode SAW).

@if($recommendations->isEmpty())

Tidak ada produk yang cocok dengan filter usia dan budget.

Coba perlebar rentang budget atau usia.

Ubah kriteria →
@else {{-- Hasil ranking (kartu produk) --}}
@foreach($recommendations as $index => $rec)
#{{ $rec['rank'] }} {{ $rec['rank'] === 1 ? 'Best Choice' : '' }}

Nilai SAW

{{ number_format($rec['score'], 2) }}

@if($rec['product']->image_type) {{ $rec['product']->name }} @else 🧸 @endif

{{ $rec['product']->name }}

Rp {{ number_format($rec['product']->price, 0, ',', '.') }}

{{ $rec['explanation'] }}

@if($rec['product']->stock > 0)
@csrf Tambah ke Keranjang
@else

Stok habis

@endif
@endforeach
{{-- Bagian matriks perhitungan SAW (untuk skripsi) --}} @if(!empty($criterias) && !empty($decision_matrix))

Perhitungan Metode SAW

Tampilan matriks keputusan, ternormalisasi, bobot, dan skor preferensi.

{{-- 1. Bobot Kriteria (W) --}}

1. Bobot Kriteria (W)

Bobot dinormalisasi dari prioritas yang Anda pilih (jumlah = 1).

@foreach($criterias as $c) @endforeach
Kriteria Tipe Bobot (W)
{{ $c['name'] }} {{ $c['type'] === 'cost' ? 'Cost' : 'Benefit' }} {{ number_format($c['weight'], 9) }}
{{-- 2. Matriks Keputusan (X) --}}

2. Matriks Keputusan (X)

Nilai setiap alternatif (produk) pada tiap kriteria. Harga dalam Rp.

@foreach($criterias as $c) @endforeach @foreach($decision_matrix as $row) @foreach($criterias as $c) @endforeach @endforeach
Alternatif (Produk){{ $c['name'] }}
{{ $row['product_name'] }} @if($c['name'] === 'Harga') {{ number_format($row[$c['name']] ?? 0, 0, ',', '.') }} @else {{ number_format($row[$c['name']] ?? 0, 2) }} @endif
{{-- 3. Matriks Ternormalisasi (R) --}}

3. Matriks Ternormalisasi (R)

Cost: r = min/x. Benefit: r = x/max. Nilai 0–1.

@foreach($criterias as $c) @endforeach @foreach($normalized_matrix as $row) @foreach($criterias as $c) @endforeach @endforeach
Alternatif (Produk){{ $c['name'] }}
{{ $row['product_name'] }}{{ number_format($row[$c['name']] ?? 0, 4) }}
{{-- 4. Skor Preferensi (Vi) dan Ranking --}}

4. Skor Preferensi (Vi) dan Ranking

Vi = Σ (Wj × rij). Diurutkan dari tertinggi.

@php $sortedScores = collect($preference_scores)->sortDesc(); $rank = 1; @endphp @foreach($sortedScores as $pid => $score) @php $name = collect($decision_matrix)->firstWhere('product_id', $pid)['product_name'] ?? 'Produk #'.$pid; @endphp @php $rank++; @endphp @endforeach
Ranking Alternatif (Produk) Skor (Vi)
{{ $rank }} {{ $name }} {{ number_format($score, 4) }}
@endif @endif Ubah kriteria & dapatkan rekomendasi lagi
@endsection