const questions = [
{
question: "Siapakah proklamator kemerdekaan Indonesia?",
options: ["Ir. Soekarno dan Mohammad Hatta", "Soedirman dan Soekarno", "Mohammad Hatta dan Diponegoro", "Bung Tomo dan Ki Hajar Dewantara"],
answer: 0
},
{
question: "Kapan Indonesia merdeka?",
options: ["17 Agustus 1945", "20 Mei 1908", "28 Oktober 1928", "10 November 1945"],
answer: 0
},
{
question: "Apa isi teks proklamasi kemerdekaan Indonesia?",
options: ["Indonesia bersatu", "Kami bangsa Indonesia menyatakan kemerdekaan Indonesia", "Merdeka atau mati!", "Tanah airku tidak kulupakan"],
answer: 1
}
];
let currentQuestionIndex = 0;
let score = 0;
let username = "";
function startQuiz() {
username = document.getElementById("username").value.trim();
if (username === "") {
alert("Masukkan nama terlebih dahulu!");
return;
}
document.getElementById("nameForm").style.display = "none";
document.getElementById("quizContainer").style.display = "block";
loadQuestion();
}
function loadQuestion() {
const question = questions[currentQuestionIndex];
document.getElementById("questionText").innerText = question.question;
const optionsContainer = document.getElementById("optionsContainer");
optionsContainer.innerHTML = "";
question.options.forEach((option, index) => {
const button = document.createElement("button");
button.innerText = option;
button.classList.add("btn", "btn-dark", "d-block", "w-50", "mx-auto", "my-2");
button.onclick = () => checkAnswer(index);
optionsContainer.appendChild(button);
});
document.getElementById("feedbackText").innerText = "";
}
function checkAnswer(selectedIndex) {
const question = questions[currentQuestionIndex];
const feedbackText = document.getElementById("feedbackText");
if (selectedIndex === question.answer) {
feedbackText.innerHTML = "Benar! 🎉 (+100 Poin)";
feedbackText.classList.add("text-success");
score += 100;
speak("Jawaban kamu benar! Hebat sekali!");
} else {
feedbackText.innerHTML = "Salah! ❌ (-100 Poin)";
feedbackText.classList.add("text-danger");
score -= 100;
speak("Sayang sekali, jawaban kamu salah.");
}
}
function nextQuestion() {
currentQuestionIndex++;
if (currentQuestionIndex < questions.length) {
loadQuestion();
} else {
showResult();
}
}
function showResult() {
document.getElementById("quizContainer").style.display = "none";
document.getElementById("resultContainer").style.display = "block";
let message = "";
if (score >= 200) {
message = "Luar biasa, " + username + "! Kamu ahli sejarah!";
} else if (score >= 100) {
message = "Bagus sekali, " + username + "! Terus belajar sejarah!";
} else {
message = "Jangan menyerah, " + username + ". Tetap semangat belajar sejarah!";
}
document.getElementById("finalScore").innerText = "Skor Akhir: " + score;
document.getElementById("finalMessage").innerText = message;
speak("Selamat " + username + "! " + message);
}
function speak(text) {
const speech = new SpeechSynthesisUtterance(text);
speech.lang = "id-ID";
window.speechSynthesis.speak(speech);
}