Source Code Aplikasi Kuis Android Menggunakan Array
Oleh Afa HernandesDiperbarui 9 menit baca

Contoh source code aplikasi kuis menggunakan android studio menggunakan data array. Terdiri dari layout soal_activity.xml dan Activity ActivitySoal.java
Berikut adalah source code untuk membuat soal-soal menggunakan array di android studio.
soal_activity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity" >
<ScrollView android:layout_marginBottom="50dip" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" android:padding="20dp" >
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<ImageView android:id="@+id/myGambar" android:layout_centerHorizontal="true" android:src="@drawable/a1" android:layout_width="fill_parent" android:layout_height="240dp" android:layout_marginBottom="30dp" />
<TextViewandroid:id="@+id/txtTanya"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="1.Apakah Anda mengalami gejala Pusing2" />
<RadioGroupandroid:id="@+id/RadioGroup01"android:layout_width="wrap_content"android:layout_height="wrap_content">
<RadioButton android:text="A. Pilihan A" android:id="@+id/radA" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#000"> </RadioButton>
<RadioButton android:text="B. Pilihan B" android:id="@+id/radB" android:layout_width="wrap_content" android:textColor="#000" android:layout_height="wrap_content"> </RadioButton>
<RadioButton android:text="C. Pilihan C" android:id="@+id/radC" android:layout_width="wrap_content" android:textColor="#000" android:layout_height="wrap_content"> </RadioButton> <RadioButton android:text="D. Pilihan D" android:id="@+id/radD" android:layout_width="wrap_content" android:textColor="#000" android:layout_height="wrap_content"> </RadioButton>
</RadioGroup>
</LinearLayout></ScrollView></RelativeLayout>ActivitySoal.Java
package com.alterindonesia.dani.rambulalulintas;
import java.io.InputStream;import java.util.ArrayList;import java.util.Calendar;import java.util.HashMap;import java.util.Random;
import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;
import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;
import android.content.res.Resources;import android.content.res.Resources.NotFoundException;import android.text.Html;import android.text.TextUtils;import android.view.KeyEvent;import android.view.Menu;import android.view.View;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.TextView;import android.widget.Toast;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.Intent;import android.graphics.drawable.Drawable;
public class soalsoal extends Activity { RadioButton radA, radB, radC, radD; String sNama = "Fulan", sUsia = "xx", sJK = "Laki-laki", sCatatan = ""; int ke = 0, ike = 0, jumsoal = 20, jumBenar = 0,jumSalah = 0; int jd; String[] arr_pertanyaan; String[] arr_jawabA; String[] arr_jawabB; String[] arr_jawabC; String[] arr_jawabD; String[] arr_jawabBenar; int[] arr_gambar;
static final String KEY_record = "soal"; public static final String KEY_pertanyaan = "pertanyaan"; public static final String KEY_jawabA = "jawabA"; public static final String KEY_jawabB = "jawabB"; public static final String KEY_jawabC = "jawabC"; public static final String KEY_jawabD = "jawabD"; public static final String KEY_jawabBenar = "jawabBenar"; public static final String KEY_gambar = "gambar"; public static final String KEY_idsoal = "idsoal";
ImageView imgGambar; TextView txtTanya;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aplikasi);
txtTanya = (TextView) findViewById(R.id.txtTanya); imgGambar = (ImageView) findViewById(R.id.myGambar);
setData();
radA = (RadioButton) findViewById(R.id.radA); radA.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cekJawaban("A"); ke = ke + 1; if (ke >= jumsoal) { selesai(); } else { lihat(); } } });
radB = (RadioButton) findViewById(R.id.radB); radB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cekJawaban("B"); ke = ke + 1; if (ke >= jumsoal) { selesai(); } else { lihat(); } } }); radC = (RadioButton) findViewById(R.id.radC); radC.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cekJawaban("C"); ke = ke + 1; if (ke >= jumsoal) { selesai(); } else { lihat(); } } }); radD = (RadioButton) findViewById(R.id.radD); radD.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cekJawaban("D"); ke = ke + 1; if (ke >= jumsoal) { selesai(); } else { lihat(); } } }); lihat(); }
void cekJawaban(String pil) { if (arr_jawabBenar[ike].equalsIgnoreCase(pil)) { jumBenar = jumBenar + 1; sCatatan = sCatatan + "Soal ke-" + (ke + 1) + " Benar\n"; Toast.makeText(getBaseContext(), " Pilihan Anda " + pil + " : Benar!", Toast.LENGTH_LONG).show(); } else { jumSalah= jumSalah+ 1; sCatatan = sCatatan + "Soal ke-" + (ke + 1) + " Salah\n"; Toast.makeText(getBaseContext(), " Pilihan Anda " + pil + " : Salah!", Toast.LENGTH_LONG).show(); } }
void lihat() { Random rand = new Random(); radA.setChecked(false); radB.setChecked(false); radC.setChecked(false); ike = rand.nextInt(19); txtTanya.setText((ke + 1) + "." + arr_pertanyaan[ike]); radA.setText(arr_jawabA[ike]); radB.setText(arr_jawabB[ike]); radC.setText(arr_jawabC[ike]); radD.setText(arr_jawabD[ike]); // txtTanyake.setText("Pertanyaan ke "+(ke+1) +" dari "+jumsoal+" pertanyaan !"); imgGambar.setImageResource(arr_gambar[ike]);// String uri = null;// int imageResource = R.drawable.a1;//// uri = "drawable/" + arr_gambar[ike];// Drawable image = null;// try {// imageResource = getResources().getIdentifier(uri, null, getPackageName());// image = getResources().getDrawable(imageResource);// } catch (NotFoundException e) {// uri = "drawable/no_image";// imageResource = getResources().getIdentifier(uri, null, getPackageName());// image = getResources().getDrawable(imageResource);// e.printStackTrace();// }// imgGambar.setImageDrawable(image); }
public void selesai() { int nilai=0; nilai=jumBenar*5; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Hasil Nilai"); builder.setMessage("Total Soal : "+ jumsoal+"\n" + "Benar : "+ jumBenar+"\n" + "Salah : "+jumSalah+"\n" + "Nilai : "+nilai); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {finish(); } }); builder.show(); }
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); return true; } return super.onKeyDown(keyCode, event); }
void setData() { jd = 30; arr_pertanyaan = new String[jd]; arr_jawabA = new String[jd]; arr_jawabB = new String[jd]; arr_jawabC = new String[jd]; arr_jawabD = new String[jd]; arr_jawabBenar = new String[jd]; arr_gambar = new int[jd];
arr_pertanyaan[0] = "Rambu Apakah Diatas..?"; arr_jawabA[0] = "Tikungan Ke Kanan"; arr_jawabB[0] = "Tikungan Ke Kiri"; arr_jawabC[0] = "Tikungan Ganda"; arr_jawabD[0] = "Tikungan Ganda Ke Kanan"; arr_jawabBenar[0] = "A"; arr_gambar[0] =R.drawable.a2;
arr_pertanyaan[1] = "Rambu Apakah Diatas..?"; arr_jawabA[1] = "Dilarang Stop"; arr_jawabB[1] = "Dilarang Berhenti"; arr_jawabC[1] = "Roda Dua Dilarang Melintas"; arr_jawabD[1] = "Dilarang Melintas"; arr_jawabBenar[1] = "D"; arr_gambar[1] =R.drawable.b1;
arr_pertanyaan[2] = "Rambu Apakah Diatas..?"; arr_jawabA[2] = "Jalan Menurun Landai"; arr_jawabB[2] = "Jalan Menanjak Landai"; arr_jawabC[2] = "Jalan Menanjak Curam"; arr_jawabD[2] = "Penyempitan Sisi Kiri"; arr_jawabBenar[2] = "C"; arr_gambar[2] =R.drawable.a19;
arr_pertanyaan[3] = "Rambu Apakah Diatas..?"; arr_jawabA[3] = "Hati-Hati Tikungan Ganda"; arr_jawabB[3] = "Tikungan Tajam Ke Kanan"; arr_jawabC[3] = "Tikungan Kekanan"; arr_jawabD[3] = "Pengurangan Lajur Sisi Kiri"; arr_jawabBenar[3] = "A"; arr_gambar[3] =R.drawable.a4;
arr_pertanyaan[4] = "Rambu Apakah Diatas..?"; arr_jawabA[4] = "Maksimal Berat 8 Ton"; arr_jawabB[4] = "Dilarang Parkir"; arr_jawabC[4] = "Dilarang Putar Arah"; arr_jawabD[4] = "Dilarang Berhenti"; arr_jawabBenar[4] = "A"; arr_gambar[4] =R.drawable.b10;
arr_pertanyaan[5] = "Rambu Apakah Diatas..?"; arr_jawabA[5] = "Hati-Hati Tikungan Ganda"; arr_jawabB[5] = "Tikungan Tajam Ke Kanan"; arr_jawabC[5] = "Tikungan Ganda"; arr_jawabD[5] = "Tikungan Ke Kanan"; arr_jawabBenar[5] = "C"; arr_gambar[5] =R.drawable.a4;
arr_pertanyaan[6] = "Rambu Apakah Diatas..?"; arr_jawabA[6] = "Jalan Menurun Landai"; arr_jawabB[6] = "Jalan Menurun Curam"; arr_jawabC[6] = "Jalan Licin"; arr_jawabD[6] = "Jalan Menanjak Curam"; arr_jawabBenar[6] = "B"; arr_gambar[6] =R.drawable.a17;
arr_pertanyaan[7] = "Rambu Apakah Diatas..?"; arr_jawabA[7] = "Jalan Berliku"; arr_jawabB[7] = "Tikungan Tajam"; arr_jawabC[7] = "Tikungan Ganda Tajam"; arr_jawabD[7] = "Tikungan Ganda"; arr_jawabBenar[7] = "A"; arr_gambar[7] =R.drawable.a10;
arr_pertanyaan[8] = "Rambu Apakah Diatas..?"; arr_jawabA[8] = "Dilarang Melintas"; arr_jawabB[8] = "Dilarang Mendahului"; arr_jawabC[8] = "Dilarang Putar Arah"; arr_jawabD[8] = "Dilarang Berhenti"; arr_jawabBenar[8] = "B"; arr_gambar[8] =R.drawable.b20;
arr_pertanyaan[9] = "Rambu Apakah Diatas..?"; arr_jawabA[9] = "Wajib Membelok Tajam Ke Kiri"; arr_jawabB[9] = "Belok Kiri"; arr_jawabC[9] = "Wajib Lurus"; arr_jawabD[9] = "Dilarang Berhenti"; arr_jawabBenar[9] = "A"; arr_gambar[9] =R.drawable.c5;
arr_pertanyaan[10] = "Rambu Apakah Diatas..?"; arr_jawabA[10] = "Roda Dua Dilarang Melintas"; arr_jawabB[10] = "Roda Empat & Roda Dua Dilarang Melintas"; arr_jawabC[10] = "Roda Empat Dilarang Melintas"; arr_jawabD[10] = "Dilarang Melintas"; arr_jawabBenar[10] = "C"; arr_gambar[10] =R.drawable.b4;
arr_pertanyaan[11] = "Rambu Apakah Diatas..?"; arr_jawabA[11] = "Tikungan Ganda"; arr_jawabB[11] = "Tikungan Kiri"; arr_jawabC[11] = "Tikungan Kekanan"; arr_jawabD[11] = "Tikungan Tajam"; arr_jawabBenar[11] = "A"; arr_gambar[11] =R.drawable.a3;
arr_pertanyaan[12] = "Rambu Apakah Diatas..?"; arr_jawabA[12] = "Jalan Berliku"; arr_jawabB[12] = "Jalan Kiri"; arr_jawabC[12] = "Wajib Lurus"; arr_jawabD[12] = "Jalan Dua Arah"; arr_jawabBenar[12] = "A"; arr_gambar[12] =R.drawable.a10;
arr_pertanyaan[13] = "Rambu Apakah Diatas..?"; arr_jawabA[13] = "Penyempitan Jalan"; arr_jawabB[13] = "Belok Kiri"; arr_jawabC[13] = "Wajib Lurus"; arr_jawabD[13] = "Jembatan"; arr_jawabBenar[13] = "A"; arr_gambar[13] =R.drawable.a13;
arr_pertanyaan[14] = "Rambu Apakah Diatas..?"; arr_jawabA[14] = "Penyempitan Jalan Ke Kiri"; arr_jawabB[14] = "Penyempitan Jalan"; arr_jawabC[14] = "Penyempitan Jalan Ke Kanan"; arr_jawabD[14] = "Jembatan"; arr_jawabBenar[14] = "D"; arr_gambar[14] =R.drawable.a15;
arr_pertanyaan[15] = "Rambu Apakah Diatas..?"; arr_jawabA[15] = "Jalan Menurun Curam"; arr_jawabB[15] = "Jalan Licin"; arr_jawabC[15] = "Jalan Menanjak Landai"; arr_jawabD[15] = "Jalan Menanjak Curam"; arr_jawabBenar[15] = "B"; arr_gambar[15] =R.drawable.a20;
arr_pertanyaan[16] = "Rambu Apakah Diatas..?"; arr_jawabA[16] = "Wajib Membelok Tajam Ke Kiri"; arr_jawabB[16] = "Roda Empat Dilarang Melintas"; arr_jawabC[16] = "Sepeda Dilarang Melintas"; arr_jawabD[16] = "Dilarang Berhenti"; arr_jawabBenar[16] = "C"; arr_gambar[16] =R.drawable.b5;
arr_pertanyaan[17] = "Rambu Apakah Diatas..?"; arr_jawabA[17] = "Maksimal Tinggi 4,2 Meter"; arr_jawabB[17] = "Maksimal Panjang 5 Meter"; arr_jawabC[17] = "Maksimal Lebar 2,9 Meter"; arr_jawabD[17] = "Maksimal Berat 8 Ton"; arr_jawabBenar[17] = "A"; arr_gambar[17] =R.drawable.b7;
arr_pertanyaan[18] = "Rambu Apakah Diatas..?"; arr_jawabA[18] = "Maksimal Tinggi 4,2 Meter"; arr_jawabB[18] = "Maksimal Panjang 5 Meter"; arr_jawabC[18] = "Maksimal Lebar 2,9 Meter"; arr_jawabD[18] = "Maksimal Berat 8 Ton"; arr_jawabBenar[18] = "D"; arr_gambar[18] =R.drawable.b9;
arr_pertanyaan[19] = "Rambu Apakah Diatas..?"; arr_jawabA[19] = "Maksimal Tinggi 4,2 Meter"; arr_jawabB[19] = "Maksimal Panjang 5 Meter"; arr_jawabC[19] = "Maksimal Lebar 2,9 Meter"; arr_jawabD[19] = "Maksimal Berat 8 Ton"; arr_jawabBenar[19] = "C"; arr_gambar[19] =R.drawable.b8;
arr_pertanyaan[20] = "Rambu Apakah Diatas..?"; arr_jawabA[20] = "Dilarang Parkir"; arr_jawabB[20] = "Belok Kiri"; arr_jawabC[20] = "Wajib Lurus"; arr_jawabD[20] = "Dilarang Berhenti"; arr_jawabBenar[20] = "B"; arr_gambar[20] =R.drawable.b12;
arr_pertanyaan[21] = "Rambu Apakah Diatas..?"; arr_jawabA[21] = "Maksimal Kecepatan 80 KM / Jam"; arr_jawabB[21] = "Minimal Jarak 25 Meter"; arr_jawabC[21] = "Maksimal Kecepatan 20 KM / Jam"; arr_jawabD[21] = "Minimal Jarak 50 Meter"; arr_jawabBenar[21] = "A"; arr_gambar[21] =R.drawable.b13;
arr_pertanyaan[22] = "Rambu Apakah Diatas..?"; arr_jawabA[22] = "Dilarang Berhenti"; arr_jawabB[22] = " Dilarang Belok Kiri"; arr_jawabC[22] = "Wajib Lurus"; arr_jawabD[22] = "Dilarang Mendahului"; arr_jawabBenar[22] = "D"; arr_gambar[22] =R.drawable.b20;
arr_pertanyaan[23] = "Rambu Apakah Diatas..?"; arr_jawabA[23] = "Dilarang Belok Kiri"; arr_jawabB[23] = "Belok Kiri"; arr_jawabC[23] = "Berhenti"; arr_jawabD[23] = "Dilarang Berhenti"; arr_jawabBenar[23] = "C"; arr_gambar[23] =R.drawable.c1;
arr_pertanyaan[24] = "Rambu Apakah Diatas..?"; arr_jawabA[24] = "Wajib Berhenti"; arr_jawabB[24] = "Beri Jalan"; arr_jawabC[24] = "Wajib Lurus"; arr_jawabD[24] = "Dilarang Berhenti"; arr_jawabBenar[24] = "B"; arr_gambar[24] =R.drawable.c2;
arr_pertanyaan[25] = "Rambu Apakah Diatas..?"; arr_jawabA[25] = "Wajib Membelok Tajam Ke Kiri"; arr_jawabB[25] = "Belok Kiri"; arr_jawabC[25] = "Wajib Lurus"; arr_jawabD[25] = "Dilarang Berhenti"; arr_jawabBenar[25] = "A"; arr_gambar[25] =R.drawable.c5;
arr_pertanyaan[26] = "Rambu Apakah Diatas..?"; arr_jawabA[26] = "Wajib Membelok Tajam Ke Kiri"; arr_jawabB[26] = "Belok Kiri"; arr_jawabC[26] = "Wajib Lurus"; arr_jawabD[26] = "Wajib Membelok Tajam Ke Kanan"; arr_jawabBenar[26] = "D"; arr_gambar[26] =R.drawable.c6;
arr_pertanyaan[27] = "Rambu Apakah Diatas..?"; arr_jawabA[27] = "Wajib Membelok Tajam Ke Kiri"; arr_jawabB[27] = "Wajib Mengitari Bundaran"; arr_jawabC[27] = "Wajib Lurus"; arr_jawabD[27] = "Dilarang Berhenti"; arr_jawabBenar[27] = "B"; arr_gambar[27] =R.drawable.c8;
arr_pertanyaan[28] = "Rambu Apakah Diatas..?"; arr_jawabA[28] = "Penanda Kecepatan"; arr_jawabB[28] = "Rambu petunjuk rute Jalan nasional"; arr_jawabC[28] = "Penanda Jarak"; arr_jawabD[28] = "Dilarang Berhenti"; arr_jawabBenar[28] = "C"; arr_gambar[28] =R.drawable.e3;
arr_pertanyaan[29] = "Rambu Apakah Diatas..?"; arr_jawabA[29] = "Masuk Tol"; arr_jawabB[29] = "Keluar Tol"; arr_jawabC[29] = "Simpang susun dengan jalan tol lain "; arr_jawabD[29] = "Simpang susun"; arr_jawabBenar[29] = "A"; arr_gambar[29] =R.drawable.e5;
}}Ngga ada noda ngga belajar


