@extends('layouts.admin') @section('title', 'Cek Rekomendasi') @section('content')
{{-- ALERT SUKSES --}} @if(session('success')) @endif
Sistem Pendukung Keputusan C4.5

Cek Rekomendasi
Jurusan Siswa

Lakukan analisis penentuan program studi perguruan tinggi untuk siswa secara presisi berbasis algoritma C4.5 berdasarkan evaluasi rapor, minat, serta cita-cita karir.

Model Analytics

Transparansi & Analisis Algoritma C4.5

Laporan rincian kalkulasi matematis, entropy, gain ratio, dan pembentukan pohon keputusan.

Dataset Training
{{ number_format($totalData) }} Record
Entropy Total System Sistem Utama

{{ number_format($entropyTotal, 4) }}

Tingkat ketidakpastian/heterogenitas data awal sebelum pembagian
Root Node Terpilih (Iterasi 1) Utama

{{ ucwords(str_replace('_', ' ', $rootNode['root'])) }}

Gain Ratio: {{ number_format($rootNode['gain'], 4) }}
Distribusi Target (Jurusan)
{{ count($jumlahJurusan) }} Kelas
@foreach($jumlahJurusan as $item) @endforeach
Jurusan Target Jumlah
{{ $item->jurusan }} {{ $item->jumlah }}
Peringkat Gain Ratio Kriteria (Root Node)
Akar Terpilih
@foreach($rootNode['semua_gain'] as $atribut => $gainRatio) @endforeach
Atribut / Kriteria Info Gain Split Info Gain Ratio Status
@if($atribut == $rootNode['root']) @else @endif {{ ucfirst(str_replace('_', ' ', $atribut)) }} @if($atribut == 'nilai') {{ number_format($gainNilai, 4) }} @elseif($atribut == 'minat') {{ number_format($gainMinat, 4) }} @elseif($atribut == 'mapel_favorit') {{ number_format($gainMapelFavorit ?? 0, 4) }} @elseif($atribut == 'cita_cita') {{ number_format($gainCita, 4) }} @else {{ number_format($gainPreferensi, 4) }} @endif @if($atribut == 'nilai') {{ number_format($splitNilai, 4) }} @elseif($atribut == 'minat') {{ number_format($splitMinat, 4) }} @elseif($atribut == 'mapel_favorit') {{ number_format($splitMapelFavorit ?? 0, 4) }} @elseif($atribut == 'cita_cita') {{ number_format($splitCita, 4) }} @else {{ number_format($splitPreferensi, 4) }} @endif {{ number_format($gainRatio, 4) }} @if($atribut == $rootNode['root']) Root Node @else Cabang @endif
Visualisasi Pohon Keputusan (Decision Tree C4.5)
Interactive View
  • {{-- PANGGILAN PERTAMA DARI ROOT NODE --}} @include('c45._tree_node', ['tree' => $tree, 'isRoot' => true])
Detail Iterasi Rekursif & Subset Cabang
{{ count($detailSubsets) }} Level Node Terbentuk
@foreach($detailSubsets as $nodeIdx => $nodeInfo)
{{ $nodeInfo['level'] }} Pembagian Atribut: {{ strtoupper(str_replace('_', ' ', $nodeInfo['split_by'])) }}
Jalur: {{ $nodeInfo['path_label'] }}
@foreach($nodeInfo['branches'] as $branchIdx => $branch) @php $accordionId = "collapse-" . $nodeIdx . "-" . $loop->index; @endphp

@if($branch['is_pure'])
Node Murni (Pure Leaf Node): Seluruh {{ $branch['jumlah_data'] }} data mengarah pada jurusan {{ $branch['pemenang'] }} (Entropy = 0).
@else
Kalkulasi Atribut Tersisa:
@foreach($branch['kalkulasi'] as $calcIdx => $calc) @endforeach
Atribut Tersisa Information Gain Split Info Gain Ratio Keputusan
@if($calcIdx === 0) @endif {{ strtoupper(str_replace('_', ' ', $calc['atribut'])) }} {{ number_format($calc['gain'], 4) }} {{ number_format($calc['split_info'], 4) }} {{ number_format($calc['gain_ratio'], 4) }} @if($calcIdx === 0) Pemecah Cabang @else Lanjutan @endif
@endif
Sampel Data Cabang Ini:
Total {{ count($branch['items']) }} baris
@foreach($branch['items'] as $d) @endforeach
Nilai Minat Mapel Favorit Cita-cita Preferensi Target Jurusan
{{ is_object($d) ? $d->nilai : $d['nilai'] }} {{ is_object($d) ? $d->minat : $d['minat'] }} {{ is_object($d) ? ($d->mapel_favorit ?? $d['mapel_favorit'] ?? '-') : ($d['mapel_favorit'] ?? '-') }} {{ is_object($d) ? $d->cita_cita : $d['cita_cita'] }} {{ is_object($d) ? $d->preferensi_studi : $d['preferensi_studi'] }} {{ is_object($d) ? $d->jurusan : $d['jurusan'] }}
@endforeach
@endforeach
Aturan Keputusan Sistem (Decision Rules)
{{ count($rules) }} Aturan Terbentuk
@foreach($rules as $ruleIdx => $rule)
{{ $ruleIdx + 1 }}
{!! str_replace( ['IF', 'THEN', 'AND'], ['IF', 'THEN', 'AND'], is_array($rule) ? implode(' ', $rule) : $rule ) !!}
@endforeach
@push('scripts') @endpush @endsection