6 Mei 2013

Bangun Datar Pada Aplikasi Android

Aplikasi menghitung bangun datar

•    Di pertemuan ke enam praktikum kali ini saya sudah bisa dan agak sedikit menambahkan tulisan saya yang kurang di praktikum kemarin.
•    Di aplikasi menghitung bangun datar kali ini ada tiga pilihan menu yaitu persegi panjang, segitiga, lingkaran. Seperti yang bisa kita lihat di bawah ini.
•    Pertama yang harus kita lakukan adalah Form Menghitung Luas Persegi Panjang pada folder layout, buat file baru dengan nama persegipanjang.xml seperti yang bisa kita lihat di bawah ini.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Menghitung Luas Persegi Panjang"
        />
    <TextView android:text="Panjang :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <EditText android:text="" android:id="@+id/txtPanjang" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText>
    <TextView android:text="Lebar :" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <EditText android:text="" android:id="@+id/txtLebar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText>
    <Button android:text="Hitung Luas" android:id="@+id/btnHitung" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button>
    <TextView android:text="Luas :" android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView>
    <EditText android:text="" android:id="@+id/txtLuas" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText>
    <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button>
    </LinearLayout>


•    Setelah itu Pada package nanda.pea buat file baru dengan nama HitungPersegiPanjang.java seperti yang bisa kita lihat sintak di bawah ini.

    package nanda.pea;
    
    /**
     * Class HitungPersegiPanjang
     * @version 1.0 Oct 03, 2010
     * @author Agus Haryanto (agus.superwriter@gmail.com)
     * @website http://agusharyanto.net
     */
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class HitungPersegiPanjang extends Activity {
        private EditText txtPanjang;
        private EditText txtLebar;
        private EditText txtLuas;
        private Button btnHitung;
    
        /**
         * Method yang dipanggil pada saat applikaasi dijalankan
         * */
        @Override
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.persegipanjang);
            txtPanjang = (EditText) findViewById(R.id.txtPanjang);
            txtLebar = (EditText) findViewById(R.id.txtLebar);
            txtLuas = (EditText) findViewById(R.id.txtLuas);
            btnHitung = (Button) findViewById(R.id.btnHitung);
    
        }
    
        /**
         * Method untuk Menghitung Luas Persegi panjang dipanggil pada saat button
         * Hitung Luas diklik
         *
         * @param view
         */
        public void hitungLuas(View view) {
            try {
    
                int panjang = Integer.parseInt(txtPanjang.getText().toString());
                int lebar = Integer.parseInt(txtLebar.getText().toString());
                int luas = panjang * lebar;
                txtLuas.setText(String.valueOf(luas));
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * Method untuk menutup activity dan kembali ke menu
         * @param view
         */
        public void backtoMenu(View view){
            finish();
        }
        }

•    Setelah itu Form Menghitung Luas Segitiga pada folder layout, buat file baru dengan nama segitiga.xml sseperti yang bisa kita lihat di bawah ini.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Menghitung Luas Segitiga"
        />
    <TextView android:text="Alas :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <EditText android:text="" android:id="@+id/txtAlas" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText>
    <TextView android:text="Tinggi :" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <EditText android:text="" android:id="@+id/txtTinggi" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText>
    <Button android:text="Hitung Luas" android:id="@+id/btnHitung" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button>
    <TextView android:text="Luas :" android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView>
    <EditText android:text="" android:id="@+id/txtLuas" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText>    <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button>
    </LinearLayout>

•    Kemudian Pada package nanda.pea buat file baru dengan nama HitungSegitiga.java seperti sintak di bawah ini.

    package nanda.pea;
    
    /**
     * Class HitungSegitiga
     * @version 1.0 Oct 03, 2010
     * @author Agus Haryanto (agus.superwriter@gmail.com)
     * @website http://agusharyanto.net
     */
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class HitungSegitiga extends Activity {
        private EditText txtAlas;
        private EditText txtTinggi;
        private EditText txtLuas;
        private Button btnHitung;
    
        /**
         * Method yang dipanggil pada saat applikaasi dijalankan
         * */
        @Override
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.segitiga);
            txtAlas = (EditText) findViewById(R.id.txtAlas);
            txtTinggi = (EditText) findViewById(R.id.txtTinggi);
            txtLuas = (EditText) findViewById(R.id.txtLuas);
            btnHitung = (Button) findViewById(R.id.btnHitung);
    
        }
    
        /**
         * Method untuk Menghitung Luas Segitiga dipanggil pada saat button
         * Hitung Luas diklik
         *
         * @param view
         */
        public void hitungLuas(View view) {
            try {
    
                int alas = Integer.parseInt(txtAlas.getText().toString());
                int tinggi = Integer.parseInt(txtTinggi.getText().toString());
                int luas = (alas * tinggi) / 2;
                txtLuas.setText(String.valueOf(luas));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * Method untuk menutup activity dan kembali ke menu
         * @param view
         */
        public void backtoMenu(View view){
            finish();
        }
    }

•    Selanjutnya Form Menghitung Luas Lingkaran pada folder layout, buat file baru dengan nama lingkaran.xml seperti yang bisa kita lihat di bawah ini.

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Menghitung Luas Lingkaran"
        />
    <TextView android:text="Jari-jari :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <EditText android:text="" android:id="@+id/txtJari" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText>
    <Button android:text="Hitung Luas" android:id="@+id/btnHitung" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button>
    <TextView android:text="Luas :" android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView>
    <EditText android:text="" android:id="@+id/txtLuas" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText>
    <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button>
    </LinearLayout>

•    Kemudian Pada package nanda.pea buat file baru dengan nama Lingkaran.java seperti sintak di bawah ini.

    package nanda.pea;
    
    /**
     * Class HitungLingkaran
     * @version 1.0 Oct 03, 2010
     * @author Agus Haryanto (agus.superwriter@gmail.com)
     * @website http://agusharyanto.net
     */
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class HitungLingkaran extends Activity {
        private EditText txtJari;
        private EditText txtLuas;
        private Button btnHitung;
    
        /**
         * Method yang dipanggil pada saat applikaasi dijalankan
         * */
        @Override
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.lingkaran);
            txtJari = (EditText) findViewById(R.id.txtJari);
            txtLuas = (EditText) findViewById(R.id.txtLuas);
            btnHitung = (Button) findViewById(R.id.btnHitung);
    
        }
    
        /**
         * Method untuk Menghitung Luas Lingkaran dipanggil pada saat button
         * Hitung Luas diklik
         *
         * @param view
         */
        public void hitungLuas(View view) {
            try {
    
                int jarijari = Integer.parseInt(txtJari.getText().toString());
                double phi = 3.14;
                double luas =  phi * jarijari * jarijari;
                txtLuas.setText(String.valueOf(luas));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * Method untuk menutup activity dan kembali ke menu
         * @param view
         */
        public void backtoMenu(View view){
            finish();
        }
    }

•    Setelah tiga activity diatas selesai dibuat jangan lupa untuk mendaftarkannya pada file AndroidManifest.xml seperti sintak di bawah ini.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="nanda.pea"
          android:versionCode="1"
          android:versionName="1.0">
     <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".BangunDatar"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
             </activity>
    
            <activity android:name=".HitungPersegiPanjang" android:label="Persegi Panjang">
            </activity>
             <activity android:name=".HitungSegitiga" android:label="Segitiga">
            </activity>
             <activity android:name=".HitungLingkaran" android:label="Lingkaran">
            </activity>
    
        </application>
        <uses-sdk android:minSdkVersion="8" />
    </manifest>
•    Sekarang tugas kita adalah membuat menu bangun datar yang telah kita buat dapat memanggil ketiga form tersebut sesuai dengan menu yang dipilih. Buka file MenuBangunDatar.java. Rubah sintak yang ada menjadi seperti ini
    package nanda.pea;
    
    import android.app.AlertDialog;
    import android.app.ListActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
    
    public class BangunDatar extends ListActivity {
    
        /**
         * Called when the activity is first created. Method ini akan dipanggil pada
         * saat aplikasi dijalankan
         */
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
    
            // Create an array of Strings, that will be put to our ListActivity
            String[] bangundatar = new String[] { "Persegi Panjang", "Segitiga",
                    "Lingkaran", "Exit" };
            // Create an ArrayAdapter, that will actually make the Strings above
            // appear in the ListView
            // Menset nilai array ke dalam list adapater sehingga data pada array
            // akan dimunculkan dalam list
            this.setListAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, bangundatar));
        }
    
        @Override
        /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity
         * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih
         */
        protected void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
            // Get the item that was clicked
            // Menangkap nilai text yang dklik
            Object o = this.getListAdapter().getItem(position);
            String pilihan = o.toString();
            // Menampilkan hasil pilihan menu dalam bentuk Toast
            tampilkanPilihan(pilihan);
        }
    
        /**
         * Tampilkan Activity sesuai dengan menu yang dipilih
         *
         */
        protected void tampilkanPilihan(String pilihan) {
            try {
                //Intent digunakan untuk sebagai pengenal suatu activity
                Intent i = null;
                if (pilihan.equals("Persegi Panjang")) {
                    i = new Intent(this, HitungPersegiPanjang.class);
                } else if (pilihan.equals("Segitiga")) {
                    i = new Intent(this, HitungSegitiga.class);
                } else if (pilihan.equals("Lingkaran")) {
                    i = new Intent(this, HitungLingkaran.class);
                } else if (pilihan.equals("Exit")) {
                    finish();
                } else {
                    Toast.makeText(this,"Anda Memilih: " + pilihan + " , Actionnya belum dibuat", Toast.LENGTH_LONG).show();
                }
                startActivity(i);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

•    Setelah semua file selesai dibuat, maka dalam project kita structur foldernya menjadi seperti yang bisa kita lihat di bawah ini.











Tidak ada komentar:

Posting Komentar

Pages - Menu