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

Hasil SAW {{ ucfirst($tipe) }}

Simple Additive Weighting Method

@if($tipe == 'kontrakan') Jarak dari Kampus Polije @else Jarak dari Lokasi Anda @endif
Kembali
Informasi Perhitungan Jarak

@if($tipe == 'kontrakan') Jarak kontrakan dihitung secara otomatis dari Kampus Politeknik Negeri Jember menggunakan koordinat GPS. @else Jarak laundry dihitung secara otomatis dari lokasi Anda saat ini menggunakan koordinat GPS. @endif

Tips: Sistem menampilkan {{ $tipe }} dengan ranking berdasarkan nilai SAW tertinggi.
Peta Lokasi Rekomendasi Peta Lokasi
Klik marker untuk detail informasi
Kriteria dan Bobot yang Digunakan Kriteria & Bobot
{{ count($kriteria) }} Kriteria
@foreach($kriteria as $k)
{{ $k->nama_kriteria }}
{{ $k->bobot }} ({{ number_format($k->bobot * 100, 1) }}%)
@if(strtolower($k->tipe) == 'benefit') Benefit @else Cost @endif
@endforeach
Total Bobot: {{ $kriteria->sum('bobot') }} {{ $kriteria->sum('bobot') == 1 ? 'VALID' : 'CHECK' }}
Perbandingan Nilai SAW Chart SAW
Ranking berdasarkan nilai tertinggi
Live Chart
Analisis Top 3 Top 3
Perbandingan multi-kriteria
Detail Nilai per Kriteria (Top 5)
@foreach($kriteria as $k)
{{ $k->nama_kriteria }} {{ strtolower($k->tipe) == 'benefit' ? '↑ Benefit' : '↓ Cost' }}
Bobot: {{ $k->bobot }}
@foreach(array_slice($hasil, 0, 5) as $index => $item) @php $nilaiKriteria = $item['normalisasi'][$k->nama_kriteria] ?? null; $percentage = $nilaiKriteria ? ($nilaiKriteria['normalisasi'] * 100) : 0; $barColor = $index == 0 ? 'warning' : ($index == 1 ? 'secondary' : ($index == 2 ? 'danger' : 'primary')); @endphp @if($nilaiKriteria)
@if($index == 0) 🏆 @elseif($index == 1) 🥈 @elseif($index == 2) 🥉 @else {{ $index + 1 }}. @endif {{ Str::limit($item['nama'], 30) }} {{ $nilaiKriteria['asli'] }} ({{ number_format($nilaiKriteria['normalisasi'], 4) }})
@endif @endforeach @if($loop->iteration < count($kriteria))
@endif
@endforeach
Analisis SAW Selesai - {{ count($hasil) }} hasil
Peringkat Rekomendasi Ranking
{{ count($hasil) }} {{ ucfirst($tipe) }}
@foreach($hasil as $index => $item)
@if($index == 0)
#1 - Terbaik
@elseif($index == 1)
#2 - Baik
@elseif($index == 2)
#3 - Cukup
@else
{{ $item['ranking'] }}
@endif
{{ $item['nama'] }}

{{ Str::limit($item['alamat'], 60) }}

{{ number_format($item['nilai'], 4) }}
Skor SAW
@if($index == 0)
✨ Rekomendasi Terbaik Berdasarkan Kriteria Anda
@elseif($index == 1)
🥈 Pilihan Alternatif Terbaik Kedua
@elseif($index == 2)
🥉 Pilihan Ketiga yang Layak Dipertimbangkan
@endif
@if(isset($item['latitude']) && isset($item['longitude']) && $item['latitude'] && $item['longitude']) Google Maps Maps @endif @if(isset($item['no_whatsapp']) && !empty($item['no_whatsapp'])) WhatsApp Chat @endif
@endforeach
Peringkat Rekomendasi
Data lengkap perhitungan SAW
{{ count($hasil) }} Hasil
@foreach($kriteria as $k) @endforeach @foreach($hasil as $index => $item) @foreach($kriteria as $k) @endforeach @endforeach
🏆 Peringkat Nama {{ ucfirst($tipe) }} 🗺 Alamat {{ Str::limit($k->nama_kriteria, 15) }} 🏆 Nilai SAW ⚙️ Aksi
@if($index == 0)
#{{ $item['ranking'] }}
@elseif($index == 1)
#{{ $item['ranking'] }}
@elseif($index == 2)
#{{ $item['ranking'] }}
@else
{{ $item['ranking'] }}
@endif
@if(isset($item['foto']) && $item['foto']) {{ $item['nama'] }} @else
{{ strtoupper(substr($item['nama'], 0, 2)) }}
@endif
{{ Str::limit($item['nama'], 25) }}
@if($index == 0) Terbaik @elseif($index == 1) Runner-up @elseif($index == 2) Ketiga @endif
{{ Str::limit($item['alamat'], 35) }}
@if(isset($item['normalisasi'][$k->nama_kriteria])) {{ $item['normalisasi'][$k->nama_kriteria]['asli'] }} {{ $item['normalisasi'][$k->nama_kriteria]['normalisasi'] }} @else - @endif
@if($index == 0)
🏆 {{ number_format($item['nilai'], 4) }}
TERBAIK @elseif($index == 1)
🥈 {{ number_format($item['nilai'], 4) }}
RUNNER-UP @elseif($index == 2)
🥉 {{ number_format($item['nilai'], 4) }}
KETIGA @else
{{ number_format($item['nilai'], 4) }}
@endif
@if(isset($item['latitude']) && isset($item['longitude']) && $item['latitude'] && $item['longitude']) Maps @endif @if(isset($item['no_whatsapp']) && !empty($item['no_whatsapp'])) WA @endif
Keterangan Perhitungan SAW Keterangan
Nilai Asli

Data kriteria sebelum normalisasi

Nilai Normalisasi

Nilai setelah normalisasi (badge biru)

Nilai SAW

Hasil (normalisasi × bobot) semua kriteria

Peringkat

Urutan dari nilai SAW tertinggi

Jarak

@if($tipe == 'kontrakan') Dihitung otomatis dari Kampus Polije menggunakan Google Maps @else Dihitung otomatis dari lokasi Anda menggunakan GPS @endif

Rekomendasi Terbaik
@if(count($hasil) > 0) @if(isset($hasil[0]['foto']) && $hasil[0]['foto']) {{ $hasil[0]['nama'] }} @else
🏆
@endif
{{ Str::limit($hasil[0]['nama'], 25) }}
{{ Str::limit($hasil[0]['alamat'], 30) }}
🏆 Nilai: {{ number_format($hasil[0]['nilai'], 4) }}
@if(isset($hasil[0]['latitude']) && isset($hasil[0]['longitude']) && $hasil[0]['latitude'] && $hasil[0]['longitude']) Navigasi ke Lokasi @endif @if(isset($hasil[0]['no_whatsapp']) && !empty($hasil[0]['no_whatsapp'])) Hubungi Pemilik @endif
@endif
Hitung Ulang
@endsection