Membuat Aplikasi Android Sederhana

Jumpa lagi kawan…

Kali ini kita akan membuat aplikasi sederhana menghitung luas dan keliling bangun datar. Berikut output aplikasi yang akan kita buat.

4-9-2013 6-47-29 PM

4-20-2013 2-57-35 AM 4-20-2013 2-57-57 AM

Sebelum melangkah lebih jauh, kita harus mengerti dulu apa itu Dialog. Dialog merupakan sebuah jendela kecil yang meminta pengguna untuk membuat keputusan atau memasukkan informasi tambahan (biasanya dialog ini disebut JOptionPane di Java dan MessageBox di VB). Dengan kita menggunakan dialog maka aplikasi yang kita buat akan lebih interaktif. Dialog ini hampir sama fungsinya dengan Toast namun dialog dapat memiliki beberapa pilihan keputusan ataupun inputan pengguna.

Dalam Dialog terdapat 3 buah model untuk menampilkan List, antaralain :

  1. A traditional single-choice list : memilih sebuah pilihan sederhana
  2. A persistent single-choice list (radio buttons) : memilih sebuah pilihan dengan radio button
  3. A persistent multiple-choice list (checkboxes) : memilih beberapa pilihan dengan ChekBox

Tapi kali  ini kita hanya membahas single-choice list dialog dan custom dialog. Untuk membuat  single-choice list dialog kita akan memanggil method setItems() dan untuk custom dialog menggunakan setView().

Untuk membuat sebuah dialog kita harus mendeklarasikan class AlertDialog. Class ini memungkinkan kita untuk membangun berbagai desain dialog. Seperti ditunjukkan pada gambar dibawah , ada tiga wilayah dialog peringatan:

 4-9-2013 8-25-40 PM

Title : Ini adalah opsional dan harus digunakan hanya ketika area konten ditempati oleh pesan rinci, daftar, atau tata letak kustom.

Content Area : Menampilkan pesan, list, maupun custom layout.

Action Buttons : Melakukan aksi/event.

Untuk membuat Action button, ada 3 buah method, antara lain :

  • setPositiveButton() : digunakan untuk menyetujui dan melanjutkan aksi berikutnya.
  • setNegativeButton() : digunakan untuk membatalkan aksi.
  • setNeutralButton() : digunakan ketika pengguna mungkin tidak ingin melanjutkan dengan tindakan, tetapi tidak selalu ingin membatalkan. Biasanya terletak antara tombol positif dan negatif.

 

Langkah langkah pembuatan aplikasi :

  1. Buka Eclipse dan buat sebuah project baru.
  2. Buka folder res -> layout -> buka activity_main.xml, disini kita akan mendesain aplikasi yang akan kita buat.
    4-20-2013 2-28-54 AM
  3. Tambahkan sebuah Button. Caranya ketikkan source berikut pada activity_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=".HitungBangun" >
    
        <Button
            android:id="@+id/btnBangunDatar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="Bangun Datar"
            tools:ignore="HardcodedText" />
    
    </RelativeLayout>
    
  4. Buka MainActivity.java pada folder src dan ketikkan source berikut pada class tersebut.
    Button buttonBangunDatar;
    	CharSequence jenisBangunDatar[]={"Segitiga","Persegi"};
    	Context context=this;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            buttonBangunDatar=(Button)findViewById(R.id.btnBangunDatar);
    
            buttonBangunDatar.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View arg0) {
    				// TODO Auto-generated method stub
    				dialogBangunDatar();
    			}
    		});
        }
    

    dialogBangunDatar() merupakan sebuah method yang menampung sebuah AlertDialog yang menampilkan pilihan persegi atau segitiga.

    Berikut isi dari method dialogBangunDatar(). Untuk source yang diberi warna kuning kosongi terlebih dahulu.

    4-20-2013 2-36-37 AM

  5. Ketika kita memilih Persegi atau Segitiga maka akan muncul sebuah AlertDialog dimana kita harus memberikan sebuah inputan untuk melakukan perhitungan. Sebenarnya AlertDialog ini adalah sebuah Custom Dialog dimana kita harus terlebih dahulu membuat layout baru untuk menempatkannya pada AlertDialog tersebut. Berhubung disini ada 2 pilihan yaitu Persegi dan Segitiga, maka kita harus membuat 2 layout baru. Caranya pilih folder res -> layout. Klik kanan folder layout -> New Android XML File.
    4-20-2013 2-38-09 AM

    Kemudian akan muncul form berikut. Isikan sesuai gambar dibawah.

    Layout untuk Persegi

    4-20-2013 2-42-24 AM

    Layout untuk Segitiga

    4-20-2013 2-42-58 AM

    Klik Finish.

    Buka layout_persegi.xml dan tambahkan kode berikut.

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/txtSisi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Sisi"
            android:inputType="numberDecimal"
            tools:ignore="HardcodedText" >
    
            <requestFocus />
        </EditText>
    
    </LinearLayout>
    

    Untuk layout_segitiga.xml tambahkan kode berikut.

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/txtAlas"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Alas"
            android:inputType="numberDecimal"
            tools:ignore="HardcodedText" >
    
            <requestFocus />
        </EditText>
    
        <EditText
            android:id="@+id/txtTinggi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Tinggi"
            android:inputType="numberDecimal"
            tools:ignore="HardcodedText" />
    
    </LinearLayout>
    
  6. Selanjutnya Buat sebuah class baru untuk menampung aksi-aksi dari dialog yang telah kita buat. Dalam hal ini kita berinama Rumus.java.

    Method untuk perhitungan Persegi.

     public static void hitungSegitiga(final Context context, LayoutInflater inflater){
    
    	    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    
    	    	final View viewSegitiga=inflater.inflate(R.layout.layout_segitiga, null);
    
    	    	builder.setTitle("Segitiga");
    	    	builder.setView(viewSegitiga);
    
    	    	builder.setPositiveButton("Luas", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface dialog, int which) {
    					// TODO Auto-generated method stub
    					EditText alas=(EditText)viewSegitiga.findViewById(R.id.txtAlas);
    					EditText tinggi=(EditText)viewSegitiga.findViewById(R.id.txtTinggi);
    
    					double a=Double.parseDouble(alas.getText().toString());
    					double t=Double.parseDouble(tinggi.getText().toString());
    
    					double luas=a*t/2;
    
    					Rumus.hasil("Luas", luas, context);
    				}
    			});
    
    	    	builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface arg0, int arg1) {
    					// TODO Auto-generated method stub
    					arg0.cancel();
    				}
    			});
    
    	    	AlertDialog alertDialog=builder.create();
    	    	alertDialog.show();
    	    }
    

    Method untuk perhitungan Segitiga

     public static void hitungPersegi(final Context context, LayoutInflater inflater){
    
    	    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    
    	    	final View viewPersegi=inflater.inflate(R.layout.layout_persegi, null);
    
    	    	builder.setTitle("Persegi");
    	    	builder.setView(viewPersegi);
    	    	builder.setPositiveButton("Luas", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface arg0, int arg1) {
    					// TODO Auto-generated method stub
    					EditText sisi=(EditText)viewPersegi.findViewById(R.id.txtSisi);
    
    					double s=Double.parseDouble(sisi.getText().toString());
    
    					double luas=s*s;
    					Rumus.hasil("Luas Persegi", luas, context);
    				}
    			});
    
    	    	builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface arg0, int arg1) {
    					// TODO Auto-generated method stub
    					arg0.cancel();
    				}
    			});
    
    	    	builder.setNeutralButton("Keliling", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface arg0, int arg1) {
    					// TODO Auto-generated method stub
    					EditText sisi=(EditText)viewPersegi.findViewById(R.id.txtSisi);
    
    					double s=Double.parseDouble(sisi.getText().toString());
    
    					double keliling=s*4;
    					Rumus.hasil("Keliling Persegi", keliling, context);
    				}
    			});
    
    	    	AlertDialog alertDialog=builder.create();
    	    	alertDialog.show();
    	    }
    

    Sekarang pada MainActivity.java tambahkan kode berwarna kuning tersebut pada method onClick().

    4-20-2013 2-52-45 AM

    Method untuk menampilkan hasil perhitungan.

     public static void hasil(String title,double hasil,Context context){
    	    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    	    	builder.setTitle(title);
    	    	builder.setMessage(hasil+"");
    	    	builder.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
    
    				@Override
    				public void onClick(DialogInterface dialog, int which) {
    					// TODO Auto-generated method stub
    					dialog.cancel();
    				}
    			}).create().show();
    	    }
    

download project latihannya disini.

Sayounara…

About these ads

One thought on “Membuat Aplikasi Android Sederhana

  1. gan gmn caranya ..
    menambahkan piliahan bahasa di aplikasi yang di buat ,,
    jadi ntr pas di klik menu option keluar pilihan bahsa yang mendukung device yang di gunakan …

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s