// Di bagian penentuan jenis soal, tambahkan: $is_multiple_choice = ($soal['jenis_soal'] == 'pilihan_ganda' && $soal['jenis_jawaban'] == 'multiple'); // Di bagian form HTML untuk pilihan ganda, ganti dengan: // Di bagian proses simpan jawaban, modifikasi: if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['simpan_jawaban'])) { $soal_id = intval($_POST['soal_id']); // Untuk multiple choice, jawaban berupa array if ($is_multiple_choice) { $jawaban = isset($_POST['jawaban']) ? implode(',', $_POST['jawaban']) : ''; } else { $jawaban = isset($_POST['jawaban']) ? $_POST['jawaban'] : ''; } // ... sisa kode simpan jawaban } // Di bagian kalkulasi nilai, modifikasi: if ($soal['jenis_jawaban'] == 'multiple') { // Untuk multiple choice, hitung berdasarkan bobot per jawaban $jawaban_siswa_array = explode(',', $row['jawaban_siswa']); $jawaban_benar_array = explode(',', $row['jawaban_benar']); $jumlah_benar = 0; foreach ($jawaban_siswa_array as $jawab) { if (in_array($jawab, $jawaban_benar_array)) { $jumlah_benar++; } } $nilai_soal = $jumlah_benar * $soal['bobot_per_jawaban']; $total_nilai += $nilai_soal; } else { // Untuk single choice atau essay if ($cleaned_siswa_answer === $cleaned_correct_answer) { $total_nilai += $soal['bobot_nilai']; } }