Setelah mempelajari bagaimana cara membuat aplikasi android sederhana menghitung persegi panjang, tentunya anda juga bisa membuat aplikasi untuk menghitung luas lingkaran dan mnghitung luas segitiga. Persegi panjang, segitiga dan lingkaran adalah termasuk bangun datar. Nah sekarang ada tantangan nih, untuk membuat aplikasi menghitung luas dan keliling bangun datar. Yang ada dalam benak saya untuk mebuat itu : 1. 2. 3. 4. Membuat form menghitung luas persegi panjang Membuat form menghitung luas segitiga Membuat from menghitung luas lingkaran Membuat Menu Navigasi untuk mengakses ke 3 form/activity tersebut.
Membuat form, sudah kita bahas pada tutorial android sebelumnya, sekarang mari kita focus untuk belajajar membuat menu, untuk saat ini yang akan kita buat adalah menu dalam bentuk list, memanfaatkan class ListActivity diandroid. Berikut langkah-langkahnya 1. Buat New Project dengan nama BangunDatar, lengkapi seperti gambar dibawah
2. Setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android 3 android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/icon" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="22px" 4 android:layout_marginTop="4px" android:layout_marginRight="4px" android:layout_marginLeft="4px"> 5 </ImageView>
String[] bangundatar = new String[] { "Persegi Panjang", "Segitiga", "Lingkaran"}; // Create an ArrayAdapter, that will actually make the Strings 19 above 20 21 // appear in the ListView //Menset nilai array ke dalam list adapater sehingga data pada array akan dimunculkan dalam list
22 23 24 25 26 }
@Override protected void onListItemClick(ListView l, View v, int position, long 27 id) { 28 29 30 31 32 33 34 35 } super.onListItemClick(l, v, position, id); // Get the item that was clicked //Menangkap nilai text yang dklik Object= this.getListAdapter().getItem(position); String keyword = toString(); Toast.makeText(this, "Anda Memilih: " + keyword, Toast.LENGTH_LONG).show(); }
Perhatikan kode ini public class MenuBangunDatar extends ListActivity Pada class MenuBangunDatar ini megekstends class ListActivity atau dalam konsep inheritance class MenuBangunDatar mewarisi class ListActivity. this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangundatar)); kode inilah yang akan menampilkan list menu di layer, untuk isinya adalah data dari array bangundatar. untuk keterangan kode lainnya sudah saya berikan pada kode-kode diatas. 5. Sekarang mari kita jalankan programnya, maka hasilnya akan seperti ini
Nah, mudahkan membuat list menu dengan android. Tunggu dulu pekerjaan kita belum selesai, tujuan kita buat aplikasi ini belum tercapai, tunggu lanjutannya di tutorial berikutnya, untuk lanjutannya klik disini
<TextView android:text="Panjang :" android:id="@+id/TextView01" 13 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtPanjang" 14 android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number|numberDecimal"></EditText> <TextView android:text="Lebar :" android:id="@+id/TextView02" 15 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtLebar" 16 android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number|numberDecimal"></EditText> <Button android:text="Hitung Luas" android:id="@+id/btnHitung" 17 android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button> <TextView android:text="Luas :" android:id="@+id/TextView03" 18 android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> 19 <EditText android:text="" android:id="@+id/txtLuas" android:layout_width="fill_parent" android:layout_height="wrap_content"
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 } * /** }
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
int panjang = Integer.parseInt(txtPanjang.getText().toString()); int lebar = Integer.parseInt(txtLebar.getText().toString()); int luas = panjang * lebar; txtLuas.setText(String.valueOf(luas)); finish(); } catch (Exception e) { e.printStackTrace(); }
/** * Method untuk menutup activity dan kembali ke menu * */ public void backtoMenu(View view){ finish(); } view
63 }
<TextView android:text="Alas :" android:id="@+id/TextView01" 13 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtAlas" 14 android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText> <TextView android:text="Tinggi :" android:id="@id/TextView02" 15 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtTinggi" 16 android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText> <Button android:text="Hitung Luas" android:id="@+id/btnHitung" 17 android:layout_width="fill_parent" android:layout_height="wrap_content" android:Click="hitungLuas"></Button> <TextView android:text="Luas :" android:id="@+id/TextView03" 18 android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> <EditText android:text="" android:id="@+id/txtLuas" 19 android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText> <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" 20 android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button> 21 </LinearLayout>
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 } } * Method untuk menutup activity dan kembali ke menu view */ public void backtoMenu(View view){ finish(); } } int alas = Integer.parseInt(txtAlas.getText().toString()); int tinggi = Integer.parseInt(txtTinggi.getText().toString()); int luas = (alas * tinggi) / 4; txtLuas.setText(String.valueOf(luas)); } catch (Exception e) { e.printStackTrace(); /** * Method untuk Menghitung Luas Segitiga dipanggil pada saat button * Hitung Luas diklik * * view */ public void hitungLuas(View view) { try { }
01 <?xml version="1.0" encoding="utf-8"?> 02 03 04 05 06 07 08 <TextView 09 10 11 12 android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Menghitung Luas Lingkaran" /> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TextView android:text="Jari-jari :" android:id="@+id/TextView01" 13 android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtJari" 14 android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText> <Button android:text="Hitung Luas" android:id="@+id/btnHitung" 15 android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button> <TextView android:text="Luas :" android:id="@+id/TextView03" 16 android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> <EditText android:text="" android:id="@+id/txtLuas" 17 android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText> <Button android:text="Kembali ke Menu" android:id="@+id/btnBack" 18 android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button> 19 </LinearLayout>
08 */ 09 10 import android.app.Activity; 11 import android.os.Bundle; 12 import android.view; 13 import android.widget.Button; 14 import android.widget.EditText; 15 16 public class HitungLingkaran extends Activity { 17 private EditText txtJari; 18 private EditText txtLuas; 19 private Button btnHitung; 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 int jarijari = Integer.parseInt(txtJari.getText().toString()); * Method untuk Menghitung Luas Lingkaran dipanggil pada saat button * Hitung Luas diklik * * param view */ public void hitungLuas(View view) { try { } 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); public void onCreate(Bundle savedInstanceState) { * Method yang dipanggil pada saat applikaasi dijalankan
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 } } /** } }
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
01 <?xml version="1.0" encoding="utf-8"?> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 <activity android:name="HitungPersegiPanjang" android:label="Persegi package="com.agus" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="string/app_name"> <activity android:name=".MenuBangunDatar" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
Panjang"> 16 17 18 19 20 21 22 23 </application> <uses-sdk android:minSdkVersion="8" /> </activity> <activity android:name="HitungSegitiga" android:label="Segitiga"> </activity> <activity android:name="HitungLingkaran" android:label="Lingkaran"> </activity>
24 </manifest>
Setelah semua file selesai dibuat, maka dalam project kita structur foldernya menjadi
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.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 //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 * Tampilkan Activity sesuai dengan menu yang dipilih * */ protected void tampilkanPilihan(String pilihan) } { * 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 Object o = this.getListAdapter().getItem(position); String pilihan = toString(); // Menampilkan hasil pilihan menu dalam bentuk Toast tampilkanPilihan(pilihan);
Perhatikan kode String[] bangundatar = new String[] { Persegi Panjang, Segitiga,Lingkaran, Exit }; Saya menambahkan Exit yang akan digunakan untuk keluar dari Aplikasi Perhatikan method tampilkanPilihan()
01 protected void tampilkanPilihan(String pilihan) 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 } //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(); }
method inilah yang digunakan untuk memanggil dan menampilkan activity yang dipilih
1 Intent i = null; 2 if (pilihan.equals("Persegi Panjang")) { 3 i = new Intent(this, HitungPersegiPanjang.class); 4}
Intent digunakan untuk memanggil activity lain. Tanpa Intent kita tidak bisa berpindah activity. Akhirnya selesai juga untuk pembuatan kode aplikasinya, sekarang mari kita run aplikasi ini. Hasil yang seharusnya didapat adalah
Tekan tombol kembali ke Menu, maka akan kembali ke Menu, pada Menu Pilih Segitiga, maka kan tampil Form Segitiga
Tekan tombol kembali ke Menu, maka akan kembali ke Menu, pada Menu Pilih Lingkaran, makaakan tampil Form Lingkaran Tekan tombol kembali ke Menu, maka akan kembali ke Menu, pada Menu Pilih Exit, maka akan keluar dari aplikasi. untuk source code tutorial ini bisa didownload disini Download Nah, mudahkan membuat aplikasi di android.