Cermatify adalah aplikasi berbasis Java yang menggunakan HTTP server sederhana untuk menyajikan kuis. Kuis ini bertujuan untuk melatih kecermatan dalam mencari soal yang hilang.
Aplikasi ini memungkinkan pengguna menjawab soal, mengirimkan jawaban, dan melihat peringkat berdasarkan skor. Seluruh interaksi dilakukan melalui antarmuka web yang dibangun secara dinamis.
- Menyediakan soal pilihan ganda secara dinamis.
- Form pengisian nama dan jawaban peserta.
- Penilaian otomatis setelah jawaban dikirim.
- Menampilkan skor dan leaderboard peserta.
| Nama Class | Deskripsi |
|---|---|
Main |
Kelas utama yang menjalankan HTTP server dan mendaftarkan semua handler. |
StaticHandler |
Menyediakan file statis (HTML/CSS) dari direktori lokal. |
FormHandler |
Menyediakan form input nama peserta. |
HTMLGenerator |
Menghasilkan HTML untuk soal, form, hasil, dan leaderboard. |
JawabSoalHandler |
Menerima jawaban peserta dan menghitung skor. |
LeaderboardUtils |
Menyimpan data peserta dan menghasilkan leaderboard. |
Peserta |
Struktur data peserta: nama dan skor. |
Soal |
Representasi struktur soal dan jawaban benar. |
SoalGenerator |
Menghasilkan soal secara otomatis (random). |
SoalHandler |
Menyediakan halaman soal kuis. |
- Akses Halaman Utama: Pengguna membuka
localhost:8080/. - Isi Form Nama: Form meminta nama peserta untuk mengikuti kuis. Lalu muncul halaman pembuka.
- Tampilan Soal: Soal disajikan dalam bentuk HTML (generated).
- Pengiriman Jawaban: Peserta mengirimkan jawaban.
- Penilaian: Jawaban dinilai dan skor ditampilkan.
- Leaderboard: Hasil peserta disimpan dan diperlihatkan.
- Java JDK 8 atau lebih tinggi.
- IDE atau editor teks (IntelliJ IDEA, VS Code, dll).
javac src/*.java
java src/Main.javaAplikasi berjalan di http://localhost:8080/.
Aplikasi bisa diakses oleh public dengan menggunakan ip dari perangkat yang menjalan program dengan syarat terhubung dalam satu jaringan. Akses URL berikut pada browser perangkat lain:
http://[IPv4 perangkat]:8080
- Bahasa Pemrograman: Java
- HTTP Server:
com.sun.net.httpserver.HttpServer - HTML Dinamis: Dibuat melalui Java
- Penyimpanan data: File data.csv
| Nama Anggota | Tugas |
|---|---|
| Chandra | Main, HTMLGenerator, |
| Fera | Peserta, Soal |
| Izzah | StaticHandler, SoalGenerator |
| Satria | SoalHandler, FormHandler |
| Imam | LeaderboardUtils, JawabSoalHandler |
- Semua file
.javaharus berada dalam satu folder. - Class Main dijalankan dari folder utama.
Proyek ini dibuat untuk tujuan pembelajaran dan bebas digunakan serta dimodifikasi.
Salam kami Kelompok 6B.




