Tuesday, August 21, 2018

Cara Membuat Aplikasi Kuis Android Sederhana Dengan Android Studio

Cara Membuat Aplikasi Kuis Android Sederhana Dengan Android Studio
Cara Membuat Aplikasi Kuis Android Sederhana Dengan Android Studio
Sudah sekian lama Admin tidak menulis artikel di Blog ini dikarenakan sibuk mengurus tugas akhir, mungkin ada sekitar 3-4 bulan yah hehe😁

Kali ini Admin akan membagikan sebuah artikel yang akan menjelaskan bagaimana Cara Membuat Aplikasi Kuis Android Sederhana Dengan Android Studio. Tutorial ini Admin buat berdasarkan materi tugas akhir yang memang Admin dapat judul berbasis Android.

Oleh karena itu, Admin berinisiatif untuk membuatkan tutorialnya berupa teks maupun video yang sudah Admin post di Youtube. Karena kita bisa belajar program sekaligus mempelajari aplikasi yang sudah kita buat. Meski tidak sebagus dan semenarik yang tersedia di Play Store, aplikasi sederhana ini juga bermanfaat, Insya Allah😊

Untuk tutorial berupa video, bisa kalian tonton disini :

Berikut langkah-langkah untuk membuat aplikasi Kuis Sederhana Dengan Android Studio :

1. Buat Project
  • Pastikan kalian sudah men-instal Android Studio
  • Buat Project baru, disini saya memberi nama Aplikasi Kuis
  • Tentukan minimum dan target OS (kalau saya minSDK 15 dan targetSDK 25). Kemudian pilih template Empty Activity, lalu beri nama Activitynya dengan MainActivity dan layoutnya dengan nama activity_main, serta HasilKuis dan layoutnya hasil_kuis.
2. Mengisi Koding MainActivity.java


package azhar.com.aplikasikuis;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    TextView kuis;
    RadioGroup rg;
    RadioButton PilihanA, PilihanB, PilihanC, PilihanD;
    int nomor = 0;
    public static int hasil, benar, salah;

    //pertanyaan
    String[] pertanyaan_kuis = new String[]{
            "1. Presiden Indonesia yang keenam adalah",
            "2. Lambang Negara Indonesia adalah",
            "3. Ibukota Indonesia adalah",
            "4. Lagu Kebangsaan Indonesia adalah",
            "5. Bendera Negara Indonesia adalah"
    };

    //pilihan jawaban a, b, c, d
    String[] pilihan_jawaban = new String[]{
            "Soekarno", "Habibie", "Susilo Bambang Yudhoyono", "Joko Widodo",
            "Gajah Putih", "Garuda", "Macan", "Elang",
            "Jakarta", "Bogor", "Tangerang", "Bekasi",
            "Indonesia Raya", "Tanah Airku", "Indonesia Pusaka", "Indonesia Merdeka",
            "Merah Biru Putih", "Merah Putih", "Putih Merah", "Belang-belang"
    };

    //jawaban benar
    String[] jawaban_benar = new String[]{
            "Susilo Bambang Yudhoyono",
            "Garuda",
            "Jakarta",
            "Indonesia Raya",
            "Merah Putih"
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        kuis = (TextView) findViewById(R.id.kuis);
        rg = (RadioGroup) findViewById(R.id.pilihan);
        PilihanA = (RadioButton) findViewById(R.id.pilihanA);
        PilihanB = (RadioButton) findViewById(R.id.pilihanB);
        PilihanC = (RadioButton) findViewById(R.id.pilihanC);
        PilihanD = (RadioButton) findViewById(R.id.pilihanD);

        kuis.setText(pertanyaan_kuis[nomor]);
        PilihanA.setText(pilihan_jawaban[0]);
        PilihanB.setText(pilihan_jawaban[1]);
        PilihanC.setText(pilihan_jawaban[2]);
        PilihanD.setText(pilihan_jawaban[3]);

        rg.check(0);
        benar = 0;
        salah = 0;
    }

    public void next(View view) {
        if (PilihanA.isChecked() || PilihanB.isChecked() || PilihanC.isChecked() || PilihanD.isChecked()) {

            RadioButton jawaban_user = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
            String ambil_jawaban_user = jawaban_user.getText().toString();
            rg.check(0);
            if (ambil_jawaban_user.equalsIgnoreCase(jawaban_benar[nomor])) benar++;
            else salah++;
            nomor++;
            if (nomor < pertanyaan_kuis.length) {
                kuis.setText(pertanyaan_kuis[nomor]);
                PilihanA.setText(pilihan_jawaban[(nomor * 4) + 0]);
                PilihanB.setText(pilihan_jawaban[(nomor * 4) + 1]);
                PilihanC.setText(pilihan_jawaban[(nomor * 4) + 2]);
                PilihanD.setText(pilihan_jawaban[(nomor * 4) + 3]);

            } else {
                hasil = benar * 20;
                Intent selesai = new Intent(getApplicationContext(), HasilKuis.class);
                startActivity(selesai);
            }
        }
        else {
            Toast.makeText(this,"Kamu Jawab Dulu",Toast.LENGTH_LONG).show();
        }
    }
}


3. Membuat tampilan activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_margin="10dp"
    tools:context="azhar.com.aplikasikuis.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Kuis Sederhana"
        android:id="@+id/kuis"
        android:textSize="20sp"
        android:textStyle="bold"/>

    <RadioGroup
        android:layout_width="wrap_content"
        android:id="@+id/pilihan"
        android:layout_height="wrap_content">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pilihan A"
            android:id="@+id/pilihanA"/>

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pilihan B"
            android:id="@+id/pilihanB"/>

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pilihan C"
            android:id="@+id/pilihanC"/>

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pilihan D"
            android:id="@+id/pilihanD"/>

    </RadioGroup>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/next"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:onClick="next"
            android:text="Next"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />

    </RelativeLayout>

</LinearLayout>

4. Mengisi Koding HasilKuis.java


package azhar.com.aplikasikuis;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;


/**
 * Created by Azhar Rivaldi on 19/08/2018.
 */

public class HasilKuis extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hasil_kuis);

        TextView hasil = (TextView)findViewById(R.id.hasil);
        TextView nilai = (TextView)findViewById(R.id.nilai);

        hasil.setText("Jawaban Benar :"+MainActivity.benar+"\nJawaban Salah :"+MainActivity.salah);
        nilai.setText(""+MainActivity.hasil);
    }

    public void ulangi(View view){
        finish();
        Intent a = new Intent(getApplicationContext(),MainActivity.class);
        startActivity(a);
    }
}

5. Mengisi Koding hasil_kuis.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/hasil"
        android:textStyle="bold"
        android:text="Hasil Jawaban Kamu"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/nilai"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="15dp"
        android:textSize="65sp"
        android:text="100"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="ulangi"
        android:text="Ulangi Kuis"/>

</LinearLayout>

6. Mengisi Koding AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="azhar.com.aplikasikuis">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter<
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".HasilKuis"/>
    </application>
</manifest>

Jika tidak ada yang terlewat, kalian jalankan dan lihat hasilnya pasti seperti video preview diatas. Jika kalian mengalami kesulitan, silahkan berikan komentar di kolom yang tersedia.

Gabung juga di Channel BBM Rivaldi 48. Ada banyak informasi penting lainnya yang tidak saya publikasikan website Rivaldi 48 ini. Join di Channelnya dengan kode PIN: C004C7E92. Follow My Instagram @azhardvls_

Semoga kalian lebih nyaman dan mudah dalam mengakses Blog Rivaldi 48 dimanapun kalian berada. Terima Kasih...

22 comments

  1. Gan boleh req tutorial? Kalau boleh saya req tutorial membuat app kuis online tapi soalnya ngambil dari db mysql pake api.. Klw perlu saya beli video tutorialnya :)

    ReplyDelete
  2. waktu d run tidak error,kenapa saat d jalankan di hp tidak bisa

    ReplyDelete
    Replies
    1. silahkan di debug dan lihat errornya apa, terima kasih

      Delete
  3. gan kalau untuk gambar memakai string seperti text itu bisa atau tidak ya?

    ReplyDelete
  4. kalo membuat aplikasi kuis apa harus punya domain nya??

    ReplyDelete
    Replies
    1. gak juga kok, tergantung database yang digunakan. offline atau online

      Delete
  5. maksutnya nomor * 4 + 1 dst apa >

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. kau ubah aja textviewnya jadi image, nanti dijavanya panggil imagenya di drawable

      Delete
    3. This comment has been removed by the author.

      Delete
    4. belajar kak, jangan terlalu ngandelin saya.

      Delete
  7. terimakasih saya sangat terbantu untuk pembelajaran saya semua nya work 100% source code nya juga mudah untuk dimengerti semagat terus berkarya bang

    ReplyDelete
  8. Terima kasih bang.
    Artikel sangat membantu sekali.

    Nanya bang terkat New String untuk oertanyaannya,

    kalau sturuktur soalnya kayak gini, gimana kodenya bang.

    1. Perhatikan gambar berikut
    "Gambar ditampilkan"

    Yang bermasuk wilayah Asia adalah...
    a. ...
    B.....
    C. ....
    d. ...
    E.....

    2. Perhatikan data nama-nama kota berikut!
    1) Bajawa
    2) Bima
    3) Kupang
    4) Mataram
    5) Bandung.

    Daerah yany termasuk wilayah nusa tenggara timur adalah...
    A. 1 dan 3
    B. 2 dan 4
    C. 4 dan 5
    D. 5 dan 1
    E. 2 dan 3.

    ReplyDelete
    Replies
    1. agak susah gan kalo begitu, tp kalo mau saya buka jasa. silahkan dm ke ig buat jasa

      Delete

Silahkan tinggalkan komentar jika Anda punya saran, kritik, atau pertanyaan seputar topik pembahasan. Gunakan bahasa yang bijak dan santun. Terima Kasih.
EmoticonEmoticon