Konfirmasi Peserta Ujian
Ketikkan Nama Lengkap, Kelas, dan Mata Ujian untuk melanjutkan
Nama Siswa
Kelas Siswa
Listening Section
Dengarkan audio berikut sebelum menjawab
Navigasi Soal
Hasil Pengerjaan Ujian CBT
Ujian Pemahaman Materi TKA AKL • SMKN 1 Lumajang
Pembahasan & Kunci Jawaban Lengkap (TKA AKL)
Divalidasi dengan Kunci Jawaban Resmi TKA KIK SMKN 1 Lumajang
Pantau Ujian Real-time (Live Proctoring)
Live MonitoringPantau proses pengerjaan siswa, hapus peringatan pelanggaran, paksa selesai ujian, serta kontrol waktu tombol selesai real-time.
Atur Waktu Tombol Selesai Ujian Real-time Global
Kontrol kapan tombol "Selesai Ujian" di layar siswa diizinkan untuk diklik.
| No | Nama Siswa | NIS | Kelas | Mata Pelajaran & Kode | Status Ujian | Progres Jawaban | Pelanggaran | Sisa Waktu | Nilai | Aksi Administrator |
|---|
Paket Soal & Sesi Ujian
Kelola rilis kode ujian & daftar mata pelajaran dalam satu tempat yang terorganisir
1 Rilis Paket Soal Aktif per Mata Pelajaran
Soal yang akan diujikan mengikuti mata pelajaran yang Anda pilih & rilis di sini. Setiap mata pelajaran independen -- merilis atau mengunci satu mapel tidak memengaruhi mapel lainnya.
2 Daftar Bank Soal Mata Pelajaran
Mata pelajaran di daftar ini tersimpan permanen di database (bukan lagi di browser), sehingga tidak akan hilang walau file aplikasi diperbarui atau dibuka dari perangkat lain.
Rekapitulasi Nilai & Pelanggaran Siswa
Data otomatis terupdate secara real-time saat siswa mengerjakan atau menyelesaikan ujian
| No | Nama Siswa | NIS | Kelas | Mata Ujian | Waktu Mulai | Pelanggaran Tab | Benar / Total | Nilai | Status | Aksi |
|---|
Belum ada mata pelajaran / paket soal sama sekali.
Silakan tambahkan mata pelajaran pertama Anda dulu di menu "Paket Soal & Sesi Ujian", baru soal bisa mulai diedit di sini.
Edit Soal & Upload Gambar Real-time
Kelola naskah pertanyaan, opsi gambar, kunci jawaban, dan konfigurasi master soal
Soal ujian dengan Kode Paket Soal AKL-01 untuk mata pelajaran DDA - Siklus.
Upload file audio yang akan diperdengarkan ke siswa tepat setelah teks soal ini, sebelum pilihan jawaban. Maksimal 3 MB per file.
Gunakan format .MP3 (bukan .WAV) -- MP3 sudah terkompresi sehingga ukurannya jauh lebih kecil untuk kualitas suara yang sama, sehingga lebih cepat diproses & tidak mudah gagal tersimpan.
Format penulisan bebas: Ketik A untuk Pilihan Ganda, A, C, D untuk PGK Centang, atau Tepat, Tidak Tepat, Tepat, Tidak Tepat, Tepat untuk Pernyataan.
Ruang Pembahasan Soal & Papan Tulis Interaktif
Bahas soal secara real-time dengan whiteboard sentuh, audio recording, dan ekspor PDF
Pengaturan 8 Pilihan Tema Warna & Background Real-time
Ubah nuansa visual aplikasi secara langsung untuk tampilan siswa dan admin
Palet Warna Kustom
Pengaturan Gambar Background Aplikasi
2. Penyesuaian Ukuran Gambar ke Layar Aplikasi:
3. Atur Transparansi Background:
100% (Solid Jernih)Manajemen Database, Backup & Restore (Ekspor / Impor)
Simpan seluruh 100 soal, kunci jawaban resmi, dan ruang pembahasan ke berkas database atau pulihkan kembali kapanpun saat aplikasi kosong.
1. Simpan & Ekspor Database Lengkap (Semua Mata Pelajaran)
Seluruh Mata Pelajaran, 100 Soal per Mapel, Kunci, Papan Tulis, Audio & PengaturanUnduh SEMUA mata pelajaran sekaligus (bukan cuma yang sedang dibuka) menjadi 1 berkas database siap pakai. Berkas ini mengamankan seluruh teks soal, gambar, opsi jawaban A-E, tabel pernyataan, kunci jawaban, coretan whiteboard papan tulis digital, rekaman suara audio guru, rekap nilai siswa, dan pengaturan sistem untuk setiap mata pelajaran yang ada.
*Skrip SQL ini hanya cuplikan mata pelajaran yang sedang dibuka. Untuk backup SEMUA mata pelajaran yang bisa dipulihkan kembali, gunakan tombol Download JSON di atas.
2. Impor & Pulihkan Database (Restore Semua Mata Pelajaran)
Panggil kembali data saat aplikasi kosong / ganti perangkat
Masukkan berkas database .json yang pernah disimpan. Seluruh mata pelajaran beserta soal, kunci, coretan papan tulis, rekaman suara, dan rekap nilai siswa akan otomatis terisi kembali seketika 100% -- termasuk mata pelajaran yang TIDAK sedang Anda buka saat ini.
3. Backup Khusus 1 Mata Pelajaran Saja
Untuk arsip per mapel / dipindahkan ke aplikasi lain secara terpisahBerbeda dari backup lengkap di atas (yang mengunduh SEMUA mata pelajaran sekaligus), fitur ini HANYA mengunduh 1 mata pelajaran pilihan Anda -- lengkap dengan soal, opsi pilihan jawaban, kunci jawaban, pembahasan (teks/gambar/audio/PDF), DAN rekap nilai seluruh siswa khusus untuk mata pelajaran tersebut. Cocok untuk diarsipkan terpisah per mapel, dibagikan ke guru mapel lain, atau dipindahkan ke instalasi aplikasi yang berbeda.
*File hasil backup ini bisa dipulihkan kembali lewat menu "Impor & Pulihkan Database" di atas -- akan otomatis menambahkan/memperbarui HANYA mata pelajaran yang ada di dalam file ini, mata pelajaran lain tidak akan terpengaruh.
Langkah-langkah Hosting ke InfinityFree:
- Buka InfinityFree.com & login ke akun Anda.
- Masuk ke Control Panel (vPanel) • Buka menu "MySQL Databases".
- Buat database baru (misal:
cbt_smkn1lumajang). Catat Host, Username, & Password database. - Buka menu "phpMyAdmin", pilih database yang dibuat, klik tab "Import", lalu upload file
database.sql(atau salin skrip SQL di bawah ke tab SQL lalu klik Go). - Buka menu "File Manager" (atau FileZilla FTP), masuk ke folder
htdocs/. - Upload semua file:
index.html,api.php, danconfig.php. - Edit file
config.phpdi File Manager, sesuaikan $db_host, $db_user, $db_pass, dan $db_name dengan data dari InfinityFree. - Selesai! Buka domain Anda, aplikasi CBT siap dipakai ujian online dan semua nilai siswa otomatis tersimpan di MySQL.
-- ==========================================================
-- CBT SMKN 1 LUMAJANG - DATABASE SCHEMA UNTUK INFINITYFREE
-- Database Name: cbt_smkn1lumajang (atau sesuai akun vPanel)
-- ==========================================================
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+07:00";
-- 1. Tabel Pengaturan Sistem & Ujian
CREATE TABLE IF NOT EXISTS `cbt_pengaturan` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`durasi_menit` INT(11) NOT NULL DEFAULT 30,
`jumlah_soal_aktif` INT(11) NOT NULL DEFAULT 40,
`acak_soal` TINYINT(1) NOT NULL DEFAULT 0,
`acak_opsi` TINYINT(1) NOT NULL DEFAULT 0,
`tema_warna` VARCHAR(50) DEFAULT 'emerald',
`theme_json` LONGTEXT DEFAULT NULL,
`bg_image_url` LONGTEXT DEFAULT NULL,
`bg_size` VARCHAR(50) DEFAULT 'cover',
`bg_position` VARCHAR(50) DEFAULT 'center center',
`bg_opacity` DECIMAL(3,2) DEFAULT 1.00,
`bg_overlay` DECIMAL(3,2) DEFAULT 0.12,
`password_admin` VARCHAR(100) DEFAULT 'mbulet7494',
`password_pembahasan` VARCHAR(100) DEFAULT 'aufka',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `cbt_pengaturan` (`id`, `durasi_menit`, `jumlah_soal_aktif`, `acak_soal`, `acak_opsi`, `tema_warna`, `password_admin`, `password_pembahasan`)
VALUES (1, 30, 40, 0, 0, 'emerald', 'mbulet7494', 'aufka')
ON DUPLICATE KEY UPDATE `id`=`id`;
-- 2. Tabel Bank Soal (1 s.d. 100 Soal)
CREATE TABLE IF NOT EXISTS `cbt_soal` (
`id` INT(11) NOT NULL,
`nomor_soal` INT(11) NOT NULL,
`tipe_soal` ENUM('single', 'multiple', 'matrix') NOT NULL DEFAULT 'single',
`teks_soal` LONGTEXT NOT NULL,
`url_gambar` LONGTEXT DEFAULT NULL,
`opsi_json` LONGTEXT DEFAULT NULL,
`option_images_json` LONGTEXT DEFAULT NULL,
`statements_json` LONGTEXT DEFAULT NULL,
`kunci_jawaban_json` LONGTEXT NOT NULL,
`pembahasan` LONGTEXT DEFAULT NULL,
`file_pembahasan_nama` VARCHAR(255) DEFAULT NULL,
`file_pembahasan_tipe` VARCHAR(50) DEFAULT NULL,
`file_pembahasan_data` LONGTEXT DEFAULT NULL,
`audio_pembahasan_data` LONGTEXT DEFAULT NULL,
`whiteboard_data` LONGTEXT DEFAULT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_nomor` (`nomor_soal`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 3. Tabel Data Siswa
CREATE TABLE IF NOT EXISTS `cbt_siswa` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nama_lengkap` VARCHAR(150) NOT NULL,
`kelas` VARCHAR(60) NOT NULL,
`mata_ujian` VARCHAR(100) DEFAULT 'DDA - Siklus',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `idx_nama` (`nama_lengkap`),
INDEX `idx_kelas` (`kelas`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 4. Tabel Hasil Ujian Siswa
CREATE TABLE IF NOT EXISTS `cbt_hasil_ujian` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nama_lengkap` VARCHAR(150) NOT NULL,
`kelas` VARCHAR(60) NOT NULL,
`mata_ujian` VARCHAR(100) DEFAULT 'DDA - Siklus',
`jumlah_benar` INT(11) NOT NULL DEFAULT 0,
`total_soal` INT(11) NOT NULL DEFAULT 40,
`nilai_akhir` DECIMAL(5,2) NOT NULL DEFAULT 0.00,
`pelanggaran_tab` INT(11) NOT NULL DEFAULT 0,
`waktu_mulai` VARCHAR(50) DEFAULT NULL,
`waktu_selesai` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`status` VARCHAR(20) DEFAULT 'SELESAI',
`detail_jawaban_json` LONGTEXT DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_hasil_nama` (`nama_lengkap`),
INDEX `idx_hasil_kelas` (`kelas`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 5. Tabel Uploads (Gambar, Audio, PDF)
CREATE TABLE IF NOT EXISTS `cbt_uploads` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`file_name` VARCHAR(255) NOT NULL,
`file_type` VARCHAR(50) NOT NULL,
`file_category` VARCHAR(50) DEFAULT 'general',
`file_data` LONGTEXT NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
COMMIT;
Pengaturan Sistem & Keamanan Password
Kelola password akses Portal Administrator CBT dan password akses Portal Pembahasan Soal untuk siswa
Password Portal Admin
Digunakan untuk login ke Dashboard Administrator CBT
Password Portal Pembahasan Siswa
Boleh dibagikan ke SEMUA siswa -- hanya membuka tampilan kunci jawaban & pembahasan (baca saja), TIDAK bisa mengakses Papan Tulis Digital atau menu Admin manapun.
Password Login Admin: Ruang Pembahasan (Guru)
⚠️ JANGAN dibagikan ke siswa -- password ini membuka akses PENUH ke Portal Admin sebagai Guru Pembahasan, termasuk Papan Tulis Digital (bisa mencorat-coret, menghapus, mengubah kunci jawaban).
Akun Admin Tambahan (Multi-Admin)
Setiap guru/admin bisa punya password sendiri, semua tetap online bersamaan tanpa saling mengganggu
Akun Password Pembahasan Tambahan
Beberapa pengawas bisa punya password Ruang Pembahasan sendiri-sendiri
Bersihkan Seluruh Data Sistem (Fresh Start)
Reset 100 soal ke kondisi bersih/template baru, hapus seluruh nilai siswa, hapus rekaman audio & papan tulis, dan atur tema ke Hijau Zamrud.
Pengaturan Sekolah
Identitas aplikasi, sekolah, logo, kop surat, kelas/jurusan aktif, dan data untuk laporan cetak
Identitas Aplikasi & Sekolah
Tampil di judul halaman & header aplikasi
Logo & Kop Surat
Tampil di header aplikasi & lembar cetak
*Format gambar (JPG/PNG), akan tampil di bagian atas lembar cetak/rekap nilai.
Kelas / Jurusan Aktif
Centang kelas yang ingin ditampilkan di pilihan dropdown Portal Login Siswa. Kelas yang tidak dicentang akan disembunyikan (data tetap aman, bisa dicentang lagi kapan saja).
Data untuk Laporan Cetak / Rekap Nilai
Tampil di kop & tanda tangan lembar cetak Rekap Nilai