Status
{{ $answers->isEmpty() ? 'Belum dikerjakan' : 'Terkirim' }}
@extends('layouts.app') @section('title', 'Hasil Ujian') @php $bySoal = $answers->keyBy('id_soal'); $format = function (object $question, ?object $answer): string { if (! $answer) { return '-'; } $text = trim((string) ($answer->jawaban_text ?? '')); if ($text === '') { return $question->tipe === 'upload' ? 'Tidak ada jawaban teks.' : '-'; } if (in_array($question->tipe, ['menjodohkan', 'tabel'], true)) { $parts = []; foreach (explode('|||', $text) as $pair) { [$left, $right] = array_pad(explode('=', $pair, 2), 2, ''); $parts[] = trim($left).' → '.trim($right); } return implode("\n", $parts); } return $text; }; @endphp @section('content')
{{ $target->subjectName }} · {{ $student->className }} · Percobaan ke-{{ $attemptNumber ?? 0 }} dari {{ $target->maxAttempts }}
Status
{{ $answers->isEmpty() ? 'Belum dikerjakan' : 'Terkirim' }}
Jawaban tersimpan
{{ $answers->count() }} / {{ count($questions) }} soal
Rata-rata nilai
{{ $target->avgScore === null ? 'Menunggu penilaian' : number_format($target->avgScore, 2, ',', '.') }}
Nilai akhir ujian ditentukan dan diinput oleh guru pengampu melalui menu penilaian. Nilai yang sudah ada akan ditampilkan pada setiap soal di bawah.
@endif @if (empty($questions))Butir soal ujian tidak ditemukan.
@else{{ $question->pertanyaan ?: 'Lampiran soal' }}
Jawaban Anda
{{ $format($question, $answer) }}
@if ($answer?->file_jawaban) Unduh file jawaban @endifDikirim {{ \Illuminate\Support\Carbon::parse($answer->tanggal)->format('d/m/Y H:i') }}
@endif