Seri Tutorial Android Studio (Bagian 5: Logika Kuis (A) – Satu Soal Sederhana)
Selamat datang di Bagian 5! Di Bagian 4, kita berhasil membuat Menu Utama dan tombol kalkulator kita kini berfungsi membuka halaman baru.
Hari ini, kita akan membuat tombol kedua, "Mulai Kuis Matematika", berfungsi. Kita akan:
- Membuat
Activitybaru untuk kuis kita. - Memperbarui
MenuActivityagar bisa membuka halaman kuis. - Mendesain layout kuis sederhana (1 soal, 4 pilihan).
- Menggunakan logika
if/elsedanToastuntuk memeriksa jawaban.
Langkah 1: Membuat QuizActivity
Sama seperti di Bagian 4, kita perlu halaman baru.
- Klik kanan pada folder
java/com.namapaketanda...Anda. - Pilih New > Activity > Empty Views Activity.
- Beri nama Activity baru ini: QuizActivity.
- Pastikan "Generate a Layout File" tercentang (akan bernama
activity_quiz.xml). - Klik Finish.
Langkah 2: Memperbarui MenuActivity.kt
Sekarang kita punya QuizActivity, mari kita buat tombol di menu utama bisa membukanya. Buka MenuActivity.kt dan tambahkan listener untuk tombol kuis:
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.content.Intent
import com.namapaketanda.aplikasimatematika.databinding.ActivityMenuBinding
class MenuActivity : AppCompatActivity() {
private lateinit var binding: ActivityMenuBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMenuBinding.inflate(layoutInflater)
setContentView(binding.root)
// Tombol Kalkulator (dari Bagian 4)
binding.btnBukaKalkulator.setOnClickListener {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
// BARU: Tombol Kuis
binding.btnMulaiKuis.setOnClickListener {
val intent = Intent(this, QuizActivity::class.java) // <-- Arahkan ke QuizActivity
startActivity(intent)
}
}
}Langkah 3: Mendesain Layout Kuis (activity_quiz.xml)
Buka activity_quiz.xml. Kita perlu satu tempat untuk pertanyaan dan empat tombol untuk jawaban. Hapus TextView default dan tambahkan ini:
<TextView
android:id="@+id/textSoal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Soal akan muncul di sini..."
android:textSize="24sp"
... (Atur 'constraints' agar di tengah atas) ...
/>
<Button
android:id="@+id/btnA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilihan A"
... (Atur 'constraints' agar di bawah textSoal) ...
/>
<Button
android:id="@+id/btnB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilihan B"
... (Atur 'constraints' agar di bawah btnA) ...
/>
<Button
android:id="@+id/btnC"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilihan C"
... (Atur 'constraints' agar di bawah btnB) ...
/>
<Button
android:id="@+id/btnD"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilihan D"
... (Atur 'constraints' agar di bawah btnC) ...
/>Langkah 4: Menulis Logika Kuis (QuizActivity.kt)
Buka QuizActivity.kt. Kita akan menyiapkan ViewBinding, memuat satu soal secara manual (hardcode), dan memeriksa jawabannya menggunakan Toast.
Toast adalah pesan pop-up kecil yang muncul sebentar di layar, sempurna untuk memberi tahu pengguna "Benar!" atau "Salah!".
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast // <-- Impor Toast
import com.namapaketanda.aplikasimatematika.databinding.ActivityQuizBinding
class QuizActivity : AppCompatActivity() {
private lateinit var binding: ActivityQuizBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityQuizBinding.inflate(layoutInflater)
setContentView(binding.root)
loadQuestion()
setupListeners()
}
private fun loadQuestion() {
// Kita 'hardcode' soal pertama kita
binding.textSoal.text = "Berapa hasil dari 5 + 7?"
binding.btnA.text = "10"
binding.btnB.text = "12" // Jawaban benar
binding.btnC.text = "11"
binding.btnD.text = "13"
}
private fun setupListeners() {
// Set listener untuk setiap tombol
binding.btnA.setOnClickListener { checkAnswer(false) }
binding.btnB.setOnClickListener { checkAnswer(true) } // Ini jawaban benar
binding.btnC.setOnClickListener { checkAnswer(false) }
binding.btnD.setOnClickListener { checkAnswer(false) }
}
private fun checkAnswer(isCorrect: Boolean) {
if (isCorrect) {
Toast.makeText(this, "Jawaban Anda Benar!", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, "Jawaban Salah, coba lagi.", Toast.LENGTH_SHORT).show()
}
}
}Kesimpulan & Apa Selanjutnya?
Jalankan aplikasi Anda! Tekan "Mulai Kuis" dan coba jawab pertanyaannya. Anda akan melihat pesan Toast yang memberi tahu Anda apakah jawaban Anda benar atau salah.
Ini adalah dasar dari aplikasi kuis. Namun, ini hanya berfungsi untuk satu soal. Bagaimana jika kita ingin 10 soal? Atau 100?
Di Bagian 6, kita akan belajar cara menggunakan Data Class dan List untuk mengelola banyak soal kuis dengan mudah.
-> Lanjutkan ke Bagian 6: Logika Kuis (Bagian B) – Mengelola Banyak Soal
Keywords: Tutorial Android Studio, Android Toast, Logika Kuis Android, if/else Kotlin, Activity baru, Aplikasi Kuis Matematika, setOnClickListener, Pendidikan Matematika

