# Panduan Penggunaan Aplikasi Ujian Online

Dokumen ini dibuat untuk membantu admin dan siswa menggunakan aplikasi ujian online dengan mudah. Panduan ditulis berdasarkan alur yang tersedia di aplikasi saat ini.

## 1. Gambaran Singkat Aplikasi

Aplikasi ini digunakan untuk:

- mengelola mata pelajaran, kelas, dan data siswa,
- menyusun bank soal,
- membuat ujian,
- membuat sesi ujian,
- mendaftarkan siswa ke sesi ujian,
- memantau hasil dan nilai siswa,
- mengoreksi soal isian dan uraian secara manual.

Pengguna aplikasi terdiri dari 2 peran:

- **Admin**: mengatur seluruh data dan pelaksanaan ujian.
- **Siswa**: login, mengerjakan ujian, dan melihat hasil.

## 2. Alamat Login

Secara umum terdapat 2 pintu masuk:

- **Login siswa**: halaman `/`
- **Login admin**: halaman `/login`

Contoh pada `README.md`:

- Login siswa: `cbt.eduschool.my.id`
- Login admin: `cbt.eduschool.my.id/login`

Jika database masih menggunakan data awal dari seeder, akun admin bawaan adalah:

- Email: `admin@admin.com`
- Password: `admin@admin.com`

## 3. Urutan Penggunaan yang Disarankan

Agar tidak bingung, gunakan aplikasi dengan urutan berikut:

1. Atur **Pengaturan** aplikasi.
2. Tambahkan **Mata Pelajaran**.
3. Tambahkan **Kelas**.
4. Tambahkan **Siswa**.
5. Isi **Bank Soal**.
6. Buat **Ujian**.
7. Masukkan soal ke ujian.
8. Buat **Sesi Ujian**.
9. Daftarkan siswa ke sesi ujian.
10. Minta siswa login dan mengerjakan ujian.
11. Cek **Laporan Nilai**.
12. Koreksi manual soal **isian** dan **uraian** bila diperlukan.

## 4. Panduan Admin

### 4.1 Login Admin

1. Buka halaman `/login`.
2. Masukkan email dan password admin.
3. Klik tombol login.
4. Setelah berhasil, Anda akan masuk ke halaman **Dashboard**.

### 4.2 Dashboard

Halaman dashboard menampilkan ringkasan:

- jumlah siswa,
- jumlah ujian,
- jumlah sesi ujian,
- jumlah kelas,
- statistik partisipasi ujian,
- distribusi nilai siswa.

Dashboard berguna untuk memantau kondisi umum aplikasi secara cepat.

### 4.3 Menu Mata Pelajaran

Menu: **Mata Pelajaran**

Fungsi:

- menambah mata pelajaran,
- mengubah nama mata pelajaran,
- menghapus mata pelajaran.

Langkah menambah mata pelajaran:

1. Buka menu **Mata Pelajaran**.
2. Klik tombol tambah.
3. Isi nama mata pelajaran.
4. Simpan.

Contoh:

- Matematika
- Bahasa Indonesia
- IPA

### 4.4 Menu Kelas

Menu: **Kelas**

Fungsi:

- menambah data kelas,
- mengubah data kelas,
- menghapus kelas.

Langkah:

1. Buka menu **Kelas**.
2. Klik tambah.
3. Isi nama kelas.
4. Simpan.

Contoh:

- X IPA 1
- XI IPS 2
- XII TKJ A

### 4.5 Menu Siswa

Menu: **Siswa**

Fungsi:

- menambah siswa satu per satu,
- mengedit data siswa,
- menghapus siswa,
- import data siswa dari file Excel.

Data siswa yang digunakan:

- nama,
- NISN,
- jenis kelamin,
- password,
- kelas.

#### Menambah siswa manual

1. Buka menu **Siswa**.
2. Klik tambah.
3. Isi semua data siswa.
4. Simpan.

Catatan:

- NISN harus unik.
- Password siswa diinput oleh admin saat membuat akun.
- Siswa login menggunakan **NISN** dan **password** tersebut.

#### Import siswa dari Excel

1. Buka menu **Siswa**.
2. Klik tombol/menu **Import**.
3. Klik **Contoh Format** untuk melihat template.
4. Siapkan file Excel sesuai format.
5. Upload file.
6. Klik **Upload**.

Saran:

- gunakan template yang disediakan aplikasi,
- pastikan kelas yang dirujuk pada data siswa sudah tersedia,
- cek kembali NISN agar tidak ganda.

### 4.6 Menu Bank Soal

Menu: **Bank Soal**

Fungsi:

- menyimpan soal berdasarkan mata pelajaran,
- membuat soal lebih dulu sebelum dimasukkan ke ujian,
- memudahkan penggunaan ulang soal untuk ujian lain,
- import soal dari file Excel.

#### Jenis soal yang didukung

Aplikasi saat ini mendukung 5 jenis soal:

- **PG**: pilihan ganda biasa
- **PG Kompleks**: lebih dari satu jawaban benar
- **Menjodohkan**
- **Isian**
- **Uraian**

#### Komponen soal

Saat membuat soal, admin dapat mengisi:

- mata pelajaran,
- tipe soal,
- tingkat kesulitan,
- tag/kompetensi,
- isi soal,
- gambar stimulus opsional,
- pilihan jawaban bila diperlukan,
- kunci jawaban atau pedoman jawaban.

#### Menambah soal manual

1. Buka menu **Bank Soal**.
2. Klik **Tambah Soal**.
3. Pilih mata pelajaran.
4. Pilih tipe soal.
5. Pilih tingkat kesulitan.
6. Isi kompetensi jika diperlukan.
7. Tulis isi soal.
8. Tambahkan gambar jika diperlukan.
9. Isi opsi jawaban atau pasangan jawaban sesuai tipe soal.
10. Tentukan kunci jawaban.
11. Klik:
   - **Simpan & Tambah Lagi**, atau
   - **Simpan & Keluar**.

#### Import bank soal dari Excel

1. Buka menu **Bank Soal**.
2. Gunakan tombol **export/download format** jika tersedia pada halaman bank soal.
3. Isi file sesuai template.
4. Upload file import.
5. Simpan.

Catatan penting:

- Soal sebaiknya sudah dikelompokkan sesuai mata pelajaran.
- Untuk soal **uraian**, isi kunci dapat berupa pedoman penskoran.
- Untuk soal **isian**, sistem bisa menilai otomatis jika jawaban siswa sama persis dengan kunci setelah dirapikan huruf besar-kecil dan spasi.

### 4.7 Menu Ujian

Menu: **Ujian**

Fungsi:

- membuat paket ujian,
- menentukan kelas target,
- menentukan durasi,
- menentukan apakah soal dan jawaban diacak,
- mengatur bobot nilai per jenis soal,
- memasukkan soal ke paket ujian.

#### Membuat ujian

1. Buka menu **Ujian**.
2. Klik tambah.
3. Isi:
   - nama ujian,
   - mata pelajaran,
   - kelas,
   - deskripsi,
   - durasi dalam menit,
   - acak soal: `Y` atau `N`,
   - acak jawaban: `Y` atau `N`,
   - tampilkan hasil: `Y` atau `N`.
4. Atur **Bobot Jenis Soal**.
5. Pastikan total bobot = **100%**.
6. Simpan.

Contoh bobot:

- PG: 20%
- PG Kompleks: 20%
- Menjodohkan: 20%
- Isian: 20%
- Uraian: 20%

Atau sesuai kebutuhan sekolah, selama totalnya tepat 100%.

#### Menambahkan soal ke ujian

Setelah ujian dibuat, buka detail ujian lalu tambahkan soal dengan salah satu cara:

- **Manual**: pilih soal tertentu dari bank soal.
- **Acak**: sistem mengambil sejumlah soal secara acak dari bank soal berdasarkan mata pelajaran ujian.

Catatan:

- Soal yang bisa dipilih untuk ujian mengikuti mata pelajaran yang sama.
- Soal yang sudah terpasang di ujian dapat dilepas kembali dari paket ujian.

#### Import soal langsung ke ujian

Aplikasi juga menyediakan import soal khusus untuk ujian:

1. Buka detail ujian.
2. Pilih menu/tombol **Import Soal**.
3. Download **Contoh Format**.
4. Isi file Excel sesuai format.
5. Upload file.

### 4.8 Menu Sesi Ujian

Menu: **Sesi Ujian**

Fungsi:

- menentukan jadwal pelaksanaan ujian,
- memilih ujian yang akan dijalankan,
- mengatur waktu mulai dan selesai,
- mendaftarkan siswa peserta sesi.

#### Membuat sesi ujian

1. Buka menu **Sesi Ujian**.
2. Klik tambah.
3. Isi:
   - judul sesi,
   - pilih ujian,
   - waktu mulai,
   - waktu selesai.
4. Simpan.

Contoh:

- Sesi 1 Pagi
- Sesi 2 Siang

#### Mendaftarkan siswa ke sesi ujian

Setelah sesi dibuat:

1. Buka detail sesi ujian.
2. Pilih tambah peserta/enrolle.
3. Sistem akan menampilkan siswa dari kelas yang sesuai dengan ujian.
4. Centang siswa yang akan diikutkan.
5. Simpan.

Catatan penting:

- Siswa **tidak otomatis** ikut ujian hanya karena datanya sudah ada.
- Siswa harus didaftarkan ke **sesi ujian** agar ujian muncul di dashboard siswa.

### 4.9 Menu Laporan Nilai

Menu: **Laporan Nilai**

Fungsi:

- melihat hasil ujian per ujian,
- melihat nilai tiap siswa,
- melihat status ujian berlangsung atau selesai,
- menganalisis jawaban siswa,
- melakukan koreksi manual,
- menghitung ulang nilai,
- export laporan ke Excel.

#### Melihat hasil ujian

1. Buka menu **Laporan Nilai**.
2. Pilih ujian yang ingin diperiksa.
3. Buka detail laporan.

Data yang biasanya tampil:

- nama siswa,
- kelas,
- nilai,
- jumlah jawaban benar,
- status koreksi manual.

#### Analisis jawaban siswa

Pada detail laporan, admin dapat membuka analisis per siswa untuk melihat:

- nomor soal,
- jenis soal,
- jawaban siswa,
- kunci jawaban,
- status benar/salah,
- status sudah dikoreksi atau belum untuk soal isian/uraian,
- skor manual untuk soal tertentu.

#### Koreksi manual isian dan uraian

Soal **isian** dan **uraian** dapat memerlukan koreksi manual.

Langkah:

1. Buka **Laporan Nilai**.
2. Pilih ujian.
3. Buka analisis siswa.
4. Isi skor manual pada soal yang perlu dikoreksi.
5. Simpan skor.
6. Klik **Hitung Ulang Nilai** agar nilai akhir diperbarui.

Catatan penting:

- Nilai akhir bisa berubah setelah koreksi manual.
- Untuk soal uraian, sistem tidak memberi nilai penuh otomatis. Admin perlu memeriksa dan memberi skor.
- Untuk soal isian, jika jawaban cocok persis dengan kunci, sistem bisa menandai benar otomatis. Namun admin tetap bisa memberi skor manual bila diperlukan pada alur koreksi.

#### Export laporan

Admin dapat mengunduh laporan nilai ke file Excel dari menu laporan.

Gunakan fitur ini untuk:

- arsip nilai,
- rekap sekolah,
- dokumentasi hasil ujian.

### 4.10 Menu Pengaturan

Menu: **Pengaturan**

Fungsi:

- mengubah nama aplikasi,
- mengubah logo aplikasi.

Langkah:

1. Buka menu **Pengaturan**.
2. Ubah nama aplikasi jika diperlukan.
3. Upload logo baru jika diperlukan.
4. Simpan.

Catatan:

- File logo harus berupa gambar.
- Jika logo baru diunggah, logo lama akan diganti.

## 5. Panduan Siswa

### 5.1 Login Siswa

1. Buka halaman utama `/`.
2. Masukkan:
   - **NISN**
   - **Password**
3. Klik login.

Jika berhasil, siswa masuk ke **Dashboard Siswa**.

### 5.2 Dashboard Siswa

Pada dashboard, siswa akan melihat daftar ujian yang sudah didaftarkan untuk dirinya.

Informasi yang tampil:

- nama ujian,
- mata pelajaran,
- kelas,
- sesi,
- waktu mulai,
- waktu selesai.

Status tombol yang mungkin muncul:

- **Kerjakan**: ujian sudah mulai dan belum pernah dikerjakan.
- **Lanjut Kerjakan**: ujian sudah dimulai, pernah dibuka, dan belum selesai.
- **Belum Mulai**: waktu ujian belum masuk.
- **Waktu Terlewat**: sesi sudah lewat.
- **Sudah Dikerjakan**: ujian telah diselesaikan.

### 5.3 Memulai Ujian

1. Pada dashboard, klik **Kerjakan**.
2. Baca halaman konfirmasi ujian.
3. Mulai ujian.

Saat ujian dimulai:

- waktu mulai siswa akan dicatat,
- sistem menyiapkan daftar soal,
- soal bisa diacak jika diatur admin,
- urutan jawaban juga bisa diacak jika diatur admin.

### 5.4 Mengerjakan Soal

Saat ujian berlangsung, siswa dapat:

- membuka soal per nomor,
- menjawab sesuai tipe soal,
- berpindah halaman/nomor soal,
- melanjutkan ujian jika sebelumnya keluar dan waktu masih tersedia.

Tipe jawaban yang mungkin dihadapi siswa:

- pilih satu jawaban,
- pilih beberapa jawaban,
- memasangkan jawaban,
- mengisi teks singkat,
- menulis jawaban uraian.

Sistem juga menyimpan sisa durasi selama ujian berlangsung.

### 5.5 Menyelesaikan Ujian

1. Setelah semua jawaban dirasa cukup, klik selesai.
2. Sistem akan menghitung nilai awal.
3. Siswa diarahkan ke halaman hasil ujian.

Catatan:

- Jika ujian sudah diselesaikan, siswa tidak dapat mengerjakan ulang.
- Jika waktu habis atau sesi sudah selesai, siswa tidak bisa melanjutkan di luar waktu yang tersedia.

### 5.6 Melihat Hasil

Setelah ujian selesai, siswa dapat melihat halaman hasil.

Perlu dipahami:

- Nilai yang tampil bisa langsung final untuk soal objektif seperti PG, PG Kompleks, dan Menjodohkan.
- Nilai untuk soal isian/uraian bisa berubah setelah admin melakukan koreksi manual dan hitung ulang nilai.

## 6. Cara Kerja Penilaian

Agar admin memahami hasil nilai, berikut ringkasannya:

### 6.1 Soal yang dinilai otomatis

Dinilai otomatis oleh sistem:

- PG
- PG Kompleks
- Menjodohkan
- Isian sederhana yang jawabannya sama dengan kunci

### 6.2 Soal yang perlu koreksi manual

Biasanya perlu koreksi manual:

- Uraian
- Isian tertentu jika sekolah ingin memberi penilaian lebih fleksibel

### 6.3 Bobot nilai

Nilai akhir mengikuti bobot per jenis soal yang diatur di menu **Ujian**.

Artinya:

- jenis soal tertentu bisa dibuat lebih besar pengaruhnya,
- nilai akhir tidak hanya dihitung dari jumlah benar saja,
- setelah koreksi manual, admin perlu menekan **Hitung Ulang Nilai**.

## 7. Tips Penggunaan yang Aman

- Buat mata pelajaran dan kelas terlebih dahulu sebelum input siswa dan soal.
- Isi bank soal terlebih dahulu sebelum membuat sesi ujian.
- Setelah membuat sesi ujian, jangan lupa mendaftarkan peserta.
- Cek kembali bobot soal agar total tepat 100%.
- Gunakan template Excel resmi dari aplikasi saat melakukan import.
- Uji satu akun siswa terlebih dahulu sebelum ujian dipakai secara massal.
- Untuk ujian dengan soal uraian, jadwalkan waktu tambahan bagi admin untuk koreksi manual.

## 8. Masalah yang Sering Terjadi

### 8.1 Siswa tidak melihat ujian

Penyebab yang paling umum:

- siswa belum didaftarkan ke sesi ujian,
- waktu ujian belum mulai,
- sesi ujian sudah lewat,
- siswa tidak sesuai kelas target ujian.

### 8.2 Nilai siswa belum sesuai harapan

Periksa hal berikut:

- apakah bobot tiap jenis soal sudah benar,
- apakah ada soal isian/uraian yang belum dikoreksi,
- apakah admin sudah menekan **Hitung Ulang Nilai** setelah koreksi manual.

### 8.3 Import gagal

Periksa hal berikut:

- file menggunakan format yang benar (`csv`, `xls`, atau `xlsx` sesuai form),
- kolom file sesuai template,
- data wajib tidak kosong,
- ada data ganda seperti NISN yang sudah dipakai.

### 8.4 Siswa gagal login

Periksa:

- NISN benar,
- password benar,
- admin tidak salah memasukkan data siswa saat pembuatan akun.

## 9. Ringkasan Singkat Alur Operasional

Jika ingin menjalankan ujian dari awal sampai selesai, alurnya adalah:

1. Admin login.
2. Admin isi mata pelajaran, kelas, dan siswa.
3. Admin isi bank soal.
4. Admin buat ujian dan tentukan bobot.
5. Admin masukkan soal ke ujian.
6. Admin buat sesi ujian.
7. Admin daftarkan siswa ke sesi.
8. Siswa login dan mengerjakan ujian.
9. Admin cek laporan.
10. Admin koreksi manual jika ada soal isian/uraian.
11. Admin hitung ulang nilai.
12. Admin export laporan bila diperlukan.

## 10. Penutup

Panduan ini dibuat agar pengguna bisa langsung menjalankan aplikasi tanpa perlu membaca kode program. Jika di kemudian hari ada fitur baru, isi panduan ini perlu diperbarui agar tetap sesuai dengan aplikasi.
