@extends('layouts.landing') @section('title', 'Hasil Tes SPK - SMK Negeri 2 Jember') @push('styles') @endpush @section('content')
@if(session('success'))
✅ {{ session('success') }}
@endif @php $rekomendasi = $hasilList->first(); $namaField = $siswa->nama_lengkap ?? $siswa->nama ?? $siswa->nama ?? Auth::user()->nama ?? 'Siswa'; $jurusanIkon = [ 'Alat Berat' => '🚜', 'Otomotif' => '🚗', 'Motor' => 'đŸī¸', 'Pemesinan' => '🔧', 'Mekatronika' => '🤖', 'Konstruksi' => 'đŸ—ī¸', 'Bangunan' => 'đŸ—ī¸', 'Listrik' => '⚡', 'Pembangkit' => '🔋', 'Audio' => 'đŸ“ē', 'Komputer' => 'đŸ’ģ', 'Desain' => '🎨', ]; $ikon = '🏆'; foreach ($jurusanIkon as $kata => $ico) { if (str_contains($rekomendasi->jurusan->nama_jurusan ?? '', $kata)) { $ikon = $ico; break; } } // Hitung BMI $tinggiBadan = (float) $tesTerakhir->tinggi_badan; $beratBadan = (float) $tesTerakhir->berat_badan; $tinggiMeter = $tinggiBadan / 100; $bmi = $tinggiMeter > 0 ? round($beratBadan / ($tinggiMeter * $tinggiMeter), 1) : 0; if ($bmi < 18.5) { $bmiKategori = 'Berat Badan Kurang'; $bmiClass = 'bmi-kurang'; } elseif ($bmi < 25) { $bmiKategori = 'Normal / Ideal'; $bmiClass = 'bmi-normal'; } elseif ($bmi < 30) { $bmiKategori = 'Berat Badan Lebih'; $bmiClass = 'bmi-lebih'; } else { $bmiKategori = 'Obesitas'; $bmiClass = 'bmi-obese'; } @endphp {{-- HERO --}}
{{ $ikon }}
🏆 Rekomendasi #1 Untukmu
{{ $rekomendasi->jurusan->nama_jurusan ?? '-' }}
⭐ Skor SAW: {{ number_format($rekomendasi->nilai_preferensi * 100, 2) }}%

Halo {{ $namaField }}, berdasarkan nilai akademik dan minat bakat kamu, jurusan ini paling sesuai untukmu.

{{-- PERBANDINGAN 2 JURUSAN PILIHAN --}} @if(isset($jurusanPilihan1) && isset($jurusanPilihan2) && $jurusanPilihan1 && $jurusanPilihan2) @php $skor1 = $skorPilihan1 ? $skorPilihan1->nilai_preferensi : 0; $skor2 = $skorPilihan2 ? $skorPilihan2->nilai_preferensi : 0; $maxSkor = max($skor1, $skor2, 0.0001); $bar1 = number_format(($skor1 / $maxSkor) * 100, 1); $bar2 = number_format(($skor2 / $maxSkor) * 100, 1); $winner = $skor1 > $skor2 ? 1 : ($skor2 > $skor1 ? 2 : 0); $ikon1 = 'đŸĢ'; $ikon2 = 'đŸĢ'; foreach ($jurusanIkon as $kata => $ico) { if (str_contains($jurusanPilihan1->nama_jurusan, $kata)) $ikon1 = $ico; if (str_contains($jurusanPilihan2->nama_jurusan, $kata)) $ikon2 = $ico; } @endphp
âš–ī¸ Perbandingan Jurusan Pilihanmu
{{ $ikon1 }}
Pilihan 1
{{ $jurusanPilihan1->nama_jurusan }}
@if($skorPilihan1)
{{ number_format($skor1*100,2) }}%
Skor Kesesuaian SAW
🏅 Peringkat #{{ $skorPilihan1->peringkat }}
@else
â„šī¸ Tidak masuk perhitungan SAW
@endif
VS
{{ $ikon2 }}
Pilihan 2
{{ $jurusanPilihan2->nama_jurusan }}
@if($skorPilihan2)
{{ number_format($skor2*100,2) }}%
Skor Kesesuaian SAW
🏅 Peringkat #{{ $skorPilihan2->peringkat }}
@else
â„šī¸ Tidak masuk perhitungan SAW
@endif
@if($winner===1)
✅ {{ $jurusanPilihan1->nama_jurusan }} lebih sesuai dengan profil kamu (selisih {{ number_format(abs($skor1-$skor2)*100,2) }}%)
@elseif($winner===2)
✅ {{ $jurusanPilihan2->nama_jurusan }} lebih sesuai dengan profil kamu (selisih {{ number_format(abs($skor1-$skor2)*100,2) }}%)
@else
âš–ī¸ Kedua jurusan memiliki tingkat kesesuaian yang sama
@endif
Berdasarkan analisis SAW dari nilai akademik dan tes minat bakat kamu
@endif {{-- ===== CARD: NILAI AKADEMIK (8 mapel, grid 4 kolom x 2 baris) ===== --}}
📚 Nilai Akademik
Matematika
{{ $tesTerakhir->nilai_matematika }}
Bhs. Indonesia
{{ $tesTerakhir->nilai_bahasa_indonesia }}
Bhs. Inggris
{{ $tesTerakhir->nilai_bahasa_inggris }}
IPA
{{ $tesTerakhir->nilai_ipa }}
{{-- ===== CARD: DATA FISIK (tinggi, berat, bmi — masing-masing kotak terpisah) ===== --}}
📏 Data Fisik & Kesehatan
{{-- Baris 1: Tinggi | Berat | BMI --}}
Tinggi Badan
{{ $tesTerakhir->tinggi_badan }} cm
Berat Badan
{{ $tesTerakhir->berat_badan }} kg
BMI
{{ $bmi }}
{{ $bmiKategori }}
{{-- Baris 2: Buta Warna | Skor Minat | Tanggal Tes --}}
Buta Warna
{{ $tesTerakhir->buta_warna ? '🔴 Ya' : 'đŸŸĸ Tidak' }}
Penyakit
{{ $tesTerakhir->penyakit?->nama_penyakit ?? 'Tidak ada' }}
Skor Minat Bakat
{{ $tesTerakhir->skor_minat_bakat }}%
Tanggal Tes
{{ $tesTerakhir->created_at->format('d M Y') }}
{{-- RANKING --}}
🏅 Ranking Semua Jurusan
@php $idPilihan1 = $tesTerakhir->minat_jurusan_1_id ?? null; $idPilihan2 = $tesTerakhir->minat_jurusan_2_id ?? null; $topScore = $hasilList->first()->nilai_preferensi; @endphp @foreach($hasilList as $i => $hasil) @php $rankClass = $i===0 ? 'top' : ($i===1 ? 'top2' : ($i===2 ? 'top3' : '')); $isPilihan = ($hasil->jurusan_id == $idPilihan1 || $hasil->jurusan_id == $idPilihan2); $pct = number_format($hasil->nilai_preferensi * 100, 2); $barWidth = $topScore > 0 ? number_format(($hasil->nilai_preferensi / $topScore) * 100, 1) : '0'; @endphp
{{ $hasil->peringkat }}
{{ $hasil->jurusan->nama_jurusan ?? '-' }} @if($isPilihan)✓ Pilihanmu@endif
{{ $pct }}%
@endforeach
{{-- TABEL SAW --}}
📊 Detail Nilai Preferensi SAW
@foreach($hasilList as $i => $hasil) @endforeach
Rank Jurusan Nilai Preferensi (V) Skor (%)
{{ $hasil->peringkat }} {{ $hasil->jurusan->nama_jurusan ?? '-' }} {{ number_format($hasil->nilai_preferensi, 6) }} {{ number_format($hasil->nilai_preferensi * 100, 2) }}%
@endsection @push('scripts') @endpush