Dashboard Analisis Sentimen S-Learn

Memantau kepuasan dan masukan pengguna platform S-Learn

Terakhir update: {{ now()->format('d M Y H:i') }}
@php $positif = $positif ?? 0; $negatif = $negatif ?? 0; $totalData = $totalData ?? ($positif + $negatif); $score_0_20 = $score_0_20 ?? 0; $score_21_40 = $score_21_40 ?? 0; $score_41_60 = $score_41_60 ?? 0; $score_61_80 = $score_61_80 ?? 0; $score_81_100 = $score_81_100 ?? 0; $formattedMetrics = $formattedMetrics ?? []; $metricsNegatif = $formattedMetrics['negatif'] ?? ['precision'=>0,'recall'=>0,'f1'=>0]; $metricsPositif = $formattedMetrics['positif'] ?? ['precision'=>0,'recall'=>0,'f1'=>0]; $maintenance = $maintenance ?? []; $maintenanceDetails = $maintenanceDetails ?? []; // Hitung persentase untuk memudahkan pemahaman $persentasePositif = $totalData > 0 ? round(($positif/$totalData)*100, 1) : 0; $persentaseNegatif = $totalData > 0 ? round(($negatif/$totalData)*100, 1) : 0; @endphp

Total Ulasan

{{ number_format($totalData) }}

Semua ulasan yang masuk

Ulasan Positif

{{ number_format($positif) }}

{{ $persentasePositif }}% dari total

Ulasan Negatif

{{ number_format($negatif) }}

{{ $persentaseNegatif }}% dari total

Tingkat Kepuasan

{{ $persentasePositif }}%

Pengguna puas

Perbandingan Ulasan

Grafik Batang

Membandingkan jumlah ulasan positif dan negatif

Positif: {{ number_format($positif) }}
Negatif: {{ number_format($negatif) }}

Proporsi Kepuasan

Grafik Lingkaran

Persentase perbandingan ulasan

{{ $persentasePositif }}% Puas | {{ $persentaseNegatif }}% Tidak Puas

Tingkat Kepuasan Pengguna

Skor 0-100 (Semakin tinggi angkanya, semakin puas pengguna)

0-20 {{ $score_0_20 }} Sangat Tidak Puas
21-40 {{ $score_21_40 }} Tidak Puas
41-60 {{ $score_41_60 }} Netral
61-80 {{ $score_61_80 }} Puas
81-100 {{ $score_81_100 }} Sangat Puas

📊 Analisis: Grafik menunjukkan sebaran tingkat kepuasan. @if($score_81_100 > $score_0_20) Mayoritas pengguna merasa puas dengan layanan S-Learn (skor 81-100). @else Perlu perhatian pada area dengan skor rendah (0-40) untuk meningkatkan kepuasan. @endif

Tingkat Akurasi Sistem

Seberapa akurat sistem dalam memprediksi sentimen

Precision (Ketepatan)

{{ number_format($metricsPositif['precision'] * 100, 1) }}%

Seberapa tepat sistem memprediksi sentimen positif

Recall (Kelengkapan)

{{ number_format($metricsPositif['recall'] * 100, 1) }}%

Seberapa lengkap sistem menangkap sentimen positif

F1-Score (Keseimbangan)

{{ number_format($metricsPositif['f1'] * 100, 1) }}%

Keseimbangan antara ketepatan dan kelengkapan

📊 Matriks Prediksi (Confusion Matrix)

Tabel ini menunjukkan detail hasil prediksi sistem

@if(isset($cm) && count($cm) > 1)
@foreach($cm as $i=>$row) @if($i>0 && isset($row[1]) && isset($row[2])) @endif @endforeach
HASIL PREDIKSI SISTEM
Diprediksi NEGATIF Diprediksi POSITIF
{{ $i == 1 ? 'AKTUAL NEGATIF' : 'AKTUAL POSITIF' }} (Kenyataan sebenarnya) {{ number_format($row[1]) }} @if($i==1) ✓ Benar Negatif (Sistem benar memprediksi NEGATIF) @else ✗ Salah Negatif (Sistem salah memprediksi NEGATIF, padahal POSITIF) @endif {{ number_format($row[2]) }} @if($i==2) ✓ Benar Positif (Sistem benar memprediksi POSITIF) @else ✗ Salah Positif (Sistem salah memprediksi POSITIF, padahal NEGATIF) @endif

✓ Prediksi Benar

  • Benar Positif ({{ number_format($cm[2][2] ?? 0) }}): Sistem benar memprediksi POSITIF
  • Benar Negatif ({{ number_format($cm[1][1] ?? 0) }}): Sistem benar memprediksi NEGATIF

✗ Prediksi Salah

  • Salah Positif ({{ number_format($cm[1][2] ?? 0) }}): Sistem salah prediksi POSITIF
  • Salah Negatif ({{ number_format($cm[2][1] ?? 0) }}): Sistem salah prediksi NEGATIF

📈 Ringkasan:
Dari total {{ number_format($totalData) }} ulasan, sistem berhasil memprediksi dengan benar {{ number_format(($cm[1][1] ?? 0) + ($cm[2][2] ?? 0)) }} data ({{ $totalData > 0 ? round((($cm[1][1] ?? 0) + ($cm[2][2] ?? 0)) / $totalData * 100, 1) : 0 }}%) dan salah memprediksi {{ number_format(($cm[1][2] ?? 0) + ($cm[2][1] ?? 0)) }} data.

@else

Data confusion matrix belum tersedia

@endif

Kategori Masalah & Saran Perbaikan

Keluhan pengguna yang perlu mendapatkan perhatian

@forelse($maintenance as $kategori => $jumlah)

{{ $kategori }}

{{ $jumlah }}

{{ $jumlah }} pengguna melaporkan masalah ini

@if(!empty($maintenanceDetails[$kategori])) @endif
@empty

Tidak ada masalah yang dilaporkan

Semua sistem berjalan dengan baik

@endforelse