@extends('layouts.guru') @section('title', 'Kelola Soal Ujian - SIPENA Guru') @section('page_title', 'Kelola Soal Ujian') @push('styles') @endpush @section('content')

Total Ujian

{{ $totalUjian }}

Total Bank Soal

{{ $totalBankSoal }}

Ujian Aktif

{{ $ujianAktif }}

Peserta Ujian

{{ $totalPesertaUjian }}

@if(!$activeUjian)

Daftar Ujian Anda

@if(request()->anyFilled(['search', 'filter_mapel', 'filter_kelas', 'filter_status'])) Reset @endif
@forelse($ujianList as $item) @empty @endforelse
Judul Ujian Kelas Mata Pelajaran Jumlah Soal Durasi Status Aksi
{{ $item->judul }} Kelas {{ $item->kelas->nama_kelas }} {{ $item->mataPelajaran->nama_mapel }} {{ $item->soalUjian->count() }} Soal {{ $item->durasi }} Menit {{ $item->status }}
Kelola
@csrf @method('DELETE')
Belum ada ujian dibuat. Silakan klik "Buat Ujian Baru" di atas.
{{ $ujianList->links() }}
@else

Data Utama Ujian

{{ $activeUjian->judul }}

{{ $activeUjian->status }}

{{ $activeUjian->mataPelajaran->nama_mapel }}

Kelas {{ $activeUjian->kelas->nama_kelas }}

{{ $activeUjian->durasi }} Menit

{{ $soals->count() }} Butir Soal

{{ $activeUjian->waktu_mulai_ujian->format('d M Y, H:i') }} WIB

{{ $activeUjian->waktu_selesai_otomatis->format('d M Y, H:i') }} WIB

Fisher-Yates Shuffle

Sistem menggunakan algoritma pengacakan **Fisher-Yates Shuffle** secara real-time saat siswa mulai mengerjakan ujian.

  • Acak Urutan Soal: {{ $activeUjian->acak_soal ? 'AKTIF (Soal diacak untuk setiap siswa)' : 'TIDAK AKTIF' }}
  • Acak Pilihan Jawaban: {{ $activeUjian->acak_jawaban ? 'AKTIF (Opsi pilihan ganda diacak)' : 'TIDAK AKTIF' }}
"Fisher-Yates menjamin pengacakan yang adil (unbiased permutation) sehingga mencegah siswa saling menyontek."

Daftar Soal Ujian ({{ $soals->count() }})

@forelse($soals as $idx => $s)
@csrf @method('DELETE')
Soal {{ $idx + 1 }} {{ $s->tipe_soal }} Bobot: {{ $s->bobot }}
@if($s->gambar)
Gambar Soal
@endif
{!! nl2br(e($s->pertanyaan)) !!}
A {{ $s->opsi_a }}
B {{ $s->opsi_b }}
C {{ $s->opsi_c }}
D {{ $s->opsi_d }}
@empty
Belum ada soal ujian. Klik "Tambah Soal" atau "Import Excel" di atas untuk menambahkan.
@endforelse

Rekapitulasi Nilai Siswa

@forelse($hasilUjians as $idx => $hu) @empty @endforelse
No Nama Siswa NIS Jawaban Benar Jawaban Salah Nilai Tanggal Submit
{{ $idx + 1 }} {{ $hu->siswa->name }} {{ $hu->siswa->siswaProfile->nis ?? '-' }} {{ $hu->benar }} {{ $hu->salah }} {{ $hu->nilai }} {{ $hu->created_at->format('d M Y, H:i') }} WIB
Belum ada hasil ujian masuk untuk kelas ini.
@endif @if($activeUjian) @endif @endsection @push('scripts') @endpush