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); }