Senin, 01 Juni 2015

PENGANTAR TEKNOLOGI GAME #3

Nama   : BIAS EDIYAKSA
NPM   : 51412453
Kelas   : 3IA24

GAME QUIZ SEDERHANA ANDROID

1.      TAHAP KEBUTUHAN
1.1.Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).
(Sumber : http://id.wikipedia.org/wiki/Eclipse_(perangkat_lunak) )

1.2.JRE dan JDK, dan pengertiannya disini
Seperti namanya, JDK adalah semacam kotak peralatan (kit) yang digunakan untuk development. JDK ini berguna saat Anda menulis code program. Seperti halnya JRE, JDK juga memiliki JVM di dalamnya.
JRE adalah sesuatu yang memungkinkan sebuah program Java dapat berjalan di mesin Anda. JRE ini mengeksekusi binary-binary dari class-class dan mengirimnya ke JVM untuk diproses lagi ke prosesor. Setiap JRE pasti memiliki sebuah JVM di dalamnya untuk melakukan pemrosesan selanjutnya.
(Sumber : https://webanggasurya.wordpress.com/2012/10/16/perbedan-jdk-dan-jre-pada-java/ )

1.3.Android SDK
Android-SDK merupakan tools bagi para programmer yang ingin mengembangkan aplikasi berbasis google android. Android SDK mencakup seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator,dokumentasi, contoh kode, dan tutorial.
(Sumber : https://haidibarasa.wordpress.com/2013/07/06/pengertian-android-sdk-software-development-kit/ )

1.4.Smart Phone berbasis Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008.
(Sumber : http://id.wikipedia.org/wiki/Android_(sistem_operasi) )

2.      TAHAP DOWNLOAD
2.1.Download Eclipse
Anda dapat mendownload Eclipse disini.

2.2.Download JRE dan JDK disini
Anda dapat mendownload JRE dan JDK disini.

2.3.Download Android SDK disini
Anda dapat mendownload Android SDK disini.

3.      TAHAP PENGINSTALAN
3.1.JRE dan JDK
JRE dan JDK dapat anda dilihat tahapan penginstalan disini.

3.2.Android SDK.
Android SDK dapat anda dilihat tahapan penginstalan disini.

3.3.Eclipse
Eclipse tidak perlu diinstal hanya perlu di ekstrak file nya.

4.      TAHAP KONSEP
Pembuatan konsep ini seperti kita membangun sebuah flowchart dari sebuah program. Yang dimana semua alurnya sudah ditentukan dari kemana – hingga kemana sehingga kita tidak mengalami kesulitan saat pembuatan program untuk implementasi.
Oleh karena itu bentuk konsep saya adalah sebagai berikut.



5.      TAHAP KODING
5.1.Membuat Source Menu

a.       MainActivity.java
package com.bias.ediyaksa;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
public class MainActivity extends Activity implements OnClickListener {
//      private static final OnClickListener OnClickListener = null;
        ImageButton lokasi;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        View openmatematika = findViewById(R.id.button1);
        openmatematika.setOnClickListener(MainActivity.this);
        View openkimia = findViewById(R.id.button3);
        openkimia.setOnClickListener(MainActivity.this);
        View openabout = findViewById(R.id.button4);
        openabout.setOnClickListener(MainActivity.this);
        View exit = findViewById(R.id.button5);
        exit.setOnClickListener(MainActivity.this);
        }
    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        switch(v.getId()){
                        case R.id.button1:                                   
                        Intent openmatematika = new Intent(MainActivity.this, Matematika.class);
                        startActivity(openmatematika);                               
                        MainActivity.this.finish();                      
                        break;
        case R.id.button3:                                   
                        Intent openkimia = new Intent(MainActivity.this, Kimia.class);
                        startActivity(openkimia);                        
                        MainActivity.this.finish();
                        break;
        case R.id.button4:
                        Intent openabout = new Intent(MainActivity.this, About.class);
                        startActivity(openabout);
                        MainActivity.this.finish();
                        break;
        case R.id.button5:                                   
                        keluar();                                  
                        break;
      //  setupMessageButton();}        
                       
                        }};
        public void onBackPressed() {                               
                        keluar();
                        return;
    } 
        public void keluar(){
        AlertDialog.Builder alt_bld = new AlertDialog.Builder(MainActivity.this);
        alt_bld.setMessage("Anda Yakin Ingin Keluar")
        .setCancelable(false)
        .setPositiveButton("Ya", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        // Action for 'Yes' Button       
                        moveTaskToBack(true);
        }
        })
        .setNegativeButton("Tidak", null);
        AlertDialog alert = alt_bld.create();
        alert.show();
    }
        }

b.      Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/menu"
    android:gravity="center_horizontal|center_vertical"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
    <Button
        android:id="@+id/button1"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button2"
        android:layout_marginRight="16dp"
        android:text="MATEMATIKA" />
    <Button
        android:id="@+id/button3"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button2"
        android:layout_marginRight="16dp"
        android:text="KIMIA" />
    <Button
        android:id="@+id/button4"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button2"
        android:layout_marginRight="16dp"
        android:text="ABOUT" />
    <Button
        android:id="@+id/button5"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button1"
        android:layout_marginRight="16dp"
        android:text="EXIT" />

</LinearLayout>

5.2.Membuat Source Matematika

a.       Matematika.java
package com.bias.ediyaksa;
import android.view.MenuItem;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class Matematika extends Activity implements OnClickListener {
     Button btn_jwb, btn_next;
     TextView soal,salahbenar;
     EditText ngisi;
     String [] pertanyaan ={"Sisi ku ada empat.\nLuas ku adalah sisi x sisi.\nKelilingku 4 x sisi.\nApakah aku?",
     "Aku memiliki jari-jari dan diameter.\nLuas ku adalah pi x r x r.\nKelilingku 2 x pi x r.\nApakah aku?",
     "Sisi ku ada tiga dan memiliki tinggi, dan dua sisi ku sama panjangnya.\nLuas ku adalah alas x tinggi / 2.\nKeliling ku adalah sisi a + sisi b + sisi c.\nApakah aku?",
     "Aku memiliki 2 sisi sama miring, 2 sisi sama panjang, dan tinggi.\nLuas ku adalah Alas x tinggi.\nKeliling ku adalah (2 x alas) + (2 x sisi miring).\nApakah aku?",
     "Aku memiliki empat sisi, 2 sisi sama panjang, dan 2 sisi lainnya berbeda panjang, aku juga memiliki tinggi.\nLuas ku adalah jumlah sisi sejajar x tinggi / 2.\nKeliling ku adalah sisi 2 x sisi sama panjang + sisi berbeda panjang 1 + sisi berbeda panjang 2.\nApakah aku?"};
     String [] jawaban = {"persegi","lingkaran","segitiga","jajargenjang","trapesium"};
     int indeks = 0;
     int salah = 0 , benar = 0 , skor = 0;
     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.matematika_main);
           soal = (TextView)findViewById(R.id.soal);
           soal.setText(pertanyaan[0]);
           salahbenar=(TextView)findViewById(R.id.salahbenar);
           btn_jwb = (Button)findViewById(R.id.btn_jwb);
           btn_jwb.setOnClickListener(this);         
           btn_next = (Button)findViewById(R.id.btn_next);
           btn_next.setOnClickListener(this);       
     }
   /*  @Override
     public boolean onCreateOptionsMenu(Menu menu) {
           // Inflate the menu; this adds items to the action bar if it is present.
           getMenuInflater().inflate(R.menu.activity_main, menu);
           return true;
     }*/
     @Override
     public void onClick(View v)
     {
           if (v==btn_jwb)
           {
                ngisi = (EditText)findViewById(R.id.editTextisi);
                String jawabanuser = ngisi.getText().toString();
                if (jawabanuser.equalsIgnoreCase(jawaban[indeks]))
                {
                     salahbenar.setText("Benar");benar++;
                }
                else
                {
                     salahbenar.setText("Salah");salah++;
                }
                btn_next.setVisibility(View.VISIBLE);
                btn_jwb.setVisibility(View.INVISIBLE);
           }
           else if (v==btn_next)
           {
                if (indeks<pertanyaan.length-1)
                {
                     indeks ++;
                     soal.setText(pertanyaan[indeks]);
                     salahbenar.setText("");
                     ngisi.setText("");
                }
                else
                {
                        Intent i = new Intent (Matematika.this,Score.class);
                    i.putExtra("Benar", benar);
                    i.putExtra("Salah", salah);
                    startActivity(i);
                }
                btn_next.setVisibility(View.INVISIBLE);   
                btn_jwb.setVisibility(View.VISIBLE);
                }
     }
     public void onBackPressed() {                                  
                        startActivity(new Intent(Matematika.this, MainActivity.class));;
                        return;
     }
}

b.      matematika_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main" >
    <TextView
        android:id="@+id/hello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Bangun Datar Matematika!" />
    <TextView
        android:id="@+id/soal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/hello"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="60dp"
        android:text="Questions" />
    <EditText
        android:id="@+id/editTextisi"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/soal"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="16dp"
        android:ems="10" />
    <Button
        android:id="@+id/btn_jwb"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editTextisi"
        android:text="Answer" />
    <Button
        android:id="@+id/btn_next"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/salahbenar"
        android:visibility="invisible"
        android:text="Next" />
    <TextView
        android:id="@+id/salahbenar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/btn_jwb"
        android:layout_marginBottom="50dp"
        android:text=" " />
</RelativeLayout>

5.3.Membuat Source Kimia

a.       Kimia.java
package com.bias.ediyaksa;
import android.view.MenuItem;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class Kimia extends Activity implements OnClickListener {
     Button btn_jwb, btn_next;
     TextView soal,salahbenar;
     EditText ngisi;
     String [] pertanyaan ={"Aku biasa ada di air.\nAku digunakan untuk proses bahan bakar fosil.\nUnsur kimia ku adalah H.\nKepanjangan ku adalah?",
     "Aku membantu pembentukan tulang dan gigi.\nAku mencegah osteoporosis. Unsur kimia ku adalah Ca\nKepanjangan ku adalah?",
     "Aku ada pada saat proses fotosintesis.\nAku ada di tambang batu bara.\nUnsur kimia ku adalah C\nKepanjangan ku adalah?",
     "Aku dapat membeku atau mendinginkan air dengan cepat.\nAku saat ini dapat digunakan untuk gas pengisi pada ban.\nUnsur kimia ku adalah N\nKepanjangan ku adalah?",
     "Aku digunakan untuk bernafas.\nAku adalah hasil fontosintesis.\nUnsur kimia ku adalh O.\nKepanjangan ku adalah?"};
     String [] jawaban = {"hidrogen","kalsium","karbon","nitrogen","Oksigen"};
     int indeks = 0;
     int salah = 0 , benar = 0 , skor = 0;
     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.kimia_main);
           soal = (TextView)findViewById(R.id.soal);
           soal.setText(pertanyaan[0]);
           salahbenar=(TextView)findViewById(R.id.salahbenar);
           btn_jwb = (Button)findViewById(R.id.btn_jwb);
           btn_jwb.setOnClickListener(this);
           btn_next = (Button)findViewById(R.id.btn_next);
           btn_next.setOnClickListener(this);
     }
   /*  @Override
     public boolean onCreateOptionsMenu(Menu menu) {
           // Inflate the menu; this adds items to the action bar if it is present.
           getMenuInflater().inflate(R.menu.activity_main, menu);
           return true;
     }*/
     @Override
     public void onClick(View v)
     {
           if (v==btn_jwb)
           {
                ngisi = (EditText)findViewById(R.id.editTextisi);
                String jawabanuser = ngisi.getText().toString();
                if (jawabanuser.equalsIgnoreCase(jawaban[indeks]))
                {
                     salahbenar.setText("Benar");benar++;
                }
                else
                {
                     salahbenar.setText("Salah");salah++;
                }
                btn_next.setVisibility(View.VISIBLE);
                btn_jwb.setVisibility(View.INVISIBLE);
           }
           else if (v==btn_next)
           {
                if (indeks<pertanyaan.length-1)
                {
                     indeks ++;
                     soal.setText(pertanyaan[indeks]);
                     salahbenar.setText("");
                     ngisi.setText("");
                }
                else
                {
                        Intent i = new Intent (Kimia.this,Score.class);
                    i.putExtra("Benar", benar);
                    i.putExtra("Salah", salah);
                    startActivity(i);
                }
                btn_next.setVisibility(View.INVISIBLE);  
                btn_jwb.setVisibility(View.VISIBLE);
                }
          
     }
    
     public void onBackPressed() {                                  
                        startActivity(new Intent(Kimia.this, MainActivity.class));;
                        return;
     }
}

b.      kimia_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main" >
    <TextView
        android:id="@+id/hello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Unsur Periodik Kimia!" />
    <TextView
        android:id="@+id/soal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/hello"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="60dp"
        android:text="Questions" />
        <EditText
        android:id="@+id/editTextisi"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/soal"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="16dp"
        android:ems="10" />
    <Button
        android:id="@+id/btn_jwb"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editTextisi"
        android:text="Answer" />
    <Button
        android:id="@+id/btn_next"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/salahbenar"
        android:visibility="invisible"
        android:text="Next" />
    <TextView
        android:id="@+id/salahbenar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/btn_jwb"
        android:layout_marginBottom="50dp"
        android:text=" " />
</RelativeLayout>

5.4.Membuat Source Score

a.       Score.java
package com.bias.ediyaksa;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class Score extends Activity implements OnClickListener {
     TextView hasil, hasil2;
     protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.score);
           int benar = getIntent().getIntExtra("Benar", 0);
           int salah = getIntent().getIntExtra("Salah", 0);
           hasil= (TextView)findViewById(R.id.Hasil1);
           hasil.setText("Jawaban Benar : "+benar+"\nJawaban Salah : "+salah);
           hasil2= (TextView)findViewById(R.id.Hasil2);
           hasil2.setText("SCORE : "+benar*20);
           }
         @Override
     public void onClick(View arg0) {
           // TODO Auto-generated method stub
     }
     public void onBackPressed() {                  
        startActivity(new Intent(Score.this, MainActivity.class));;
        return;
     }
}    

b.      score.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
        android:id="@+id/Hasil1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="150dp"
        android:text="Hasil" />
    <TextView
        android:id="@+id/Hasil2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/Hasil1"
        android:layout_below="@+id/Hasil1"
        android:layout_marginTop="68dp"
        android:text="Hasil2" />
</RelativeLayout>

5.5.Membuat Source About

a.       About.java
package com.bias.ediyaksa;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class About extends Activity  {
//      private static final OnClickListener OnClickListener = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);
        }
        public void onBackPressed() {                               
                        startActivity(new Intent(About.this, MainActivity.class));;
                        return;
    }
        }

b.      about.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/about"
    android:gravity="center_horizontal|center_vertical"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BIAS EDIYAKSA"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="51412453"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>

6.      TAHAP IMPLEMENTASI
6.1.Instalasi APK

6.2.Contoh Soal Pada Matematika

6.3.Contoh Soal Pada Kimia

6.4.Tampilan Hasil

6.5.Tampilan About

6.6.Tampilan Menu dan Exit


                               Sumber : gambar1
                                               gambar2