Anda di halaman 1dari 22

Membuat Menu List di android

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 :

main.xml string.xml MenuBangunDatar.java

3. Edit main.xml ketikkan kode berikut

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>

<TextView android:text="@+id/TextView01" 6 android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/label" android:textSize="30px"></TextView> 7 </LinearLayout>

4. Edit MenuBangun Datar.java ketikkan kode dibawah ini


01 package 02 import android.app.AlertDialog; 03 import android.app.ListActivity; 04 import android.os.Bundle; 05 import android.view.View; 06 import android.widget.ArrayAdapter; 07 import android.widget.ListView; 08 import android.widget.Toast; 09 10 public class MenuBangunDatar extends ListActivity { 11 12 13 14 15 16 17 18 // Create an array of Strings, that will be put to our ListActivity public void onCreate(Bundle icicle) { super.Create(icicle);

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 }

this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangundatar));

@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

Pilih / Klik Segitiga

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

Membuat Aplikasi Bangun Datar


Pada tutorial yang lalu, kita telah belajar membuat menu untuk menhitung luas bangun datar, tugas kita sekarang adalah membuat form-form (Kalau diandroid lebih dikenal dengan activity) untuk menghitung luas persegi panjang, luas segitiga dan luas lingkaran. Form Menghitung Luas Persegi Panjang
1. pada folder layout, buat file baru dengan nama persegipanjang.xml

ketikkan kode berikut


01 <?xml version="1.0" encoding="utf-8"?> 02 <LinearLayout xmlns:android 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 Persegi Panjang" /> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >

<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"

android:editable="false"></EditText> <Button android:text="Kembali ke Menu" android:id="@+id 20 android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="backtoMenu"></Button> 21 </LinearLayout>

1. Pada package com.agus buat file baru dengan nama HitungPersegiPanjang.java

Ketikkan kode berikut


01 package 02 03 /** 04 * Class HitungPersegiPanjang 05 * @version 1.0 Oct 03, 2010 06 * @author Agus Haryanto (agus.superwriter@gmail.com) 07 * 08 */ 09 10 import android.app.Activity; 11 import android.os.Bundle; 12 import android.view.View; 13 import android.widget.Button; 14 import android.widget.EditText; 15 16 public class HitungPersegiPanjang extends Activity { 17 private EditText txtPanjang; 18 19 20 21 22 23 24 25 26 27 28 super.onCreate(savedInstanceState); /** * Method yang dipanggil pada saat applikaasi dijalankan * */ @Override public void onCreate(Bundle savedInstanceState) { private EditText txtLebar; private EditText txtLuas; private Button btnHitung;

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

* @param view */ public void hitungLuas(View view)

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 }

Form Menghitung Luas Segitiga


1. pada folder layout, buat file baru dengan nama segitiga.xml

ketikkan kode berikut


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 Segitiga" /> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >

<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>

1. Pada package com.agus buat file baru dengan nama HitungSegitiga.java

Ketikkan kode berikut


01 package com.agus; 02 03 /** 04 * Class HitungSegitiga 05 * @version 1.0 Oct 03, 2010 06 * @author Agus Haryanto (agus.superwriter@gmail.com) 07 * 08 */ 09 10 import android.app.Activity; 11 import android.os.Bundle; 12 import android.view.View; 13 import android.widget.Button; 14 import android.widget.EditText; 15 16 public class HitungSegitiga extends Activity { 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 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 yang dipanggil pada saat applikaasi dijalankan * @Override public void onCreate(Bundle savedInstanceState) { private EditText txtAlas; private EditText txtTinggi; private EditText txtLuas; private Button btnHitung;

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 { }

Form Menghitung Luas Lingkaran


1. pada folder layout, buat file baru dengan nama lingkaran.xml

ketikkan kode berikut

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>

1. Pada package com.agus buat file baru dengan nama Lingkaran.java

Ketikkan kode berikut


01 package; 02 03 04 * Class HitungLingkaran 05 * @version 1.0 Oct 03, 2010 06 * @author Agus Haryanto (agus.superwriter@gmail.com) 07

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.

Rubah kode yang ada menjadi seperti ini


01 package com.agus; 02 03 import android.app.AlertDialog; 04 import android.app.ListActivity; 05 import android.content.Intent; 06 import android.Bundle; 07 import android.util; 08 import android.view.View; 09 import android.widget.ArrayAdapter; 10 import android.widget.ListView; 11 import android.widget.Toas; 12 13 public class MenuBangunDatar extends ListActivity { 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 } array above // 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 // appear in the ListView // Menset nilai array ke dalam list adapater sehingga data pada // akan dimunculkan dalam list this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangundatar)); pada /** * Called when the activity is first created. Method ini akan dipanggil * saat aplikasi dijalankan */ public void onCreate(Bundle icicle) { super.onCreate(icicle);

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);

belum dibuat", Toast.LENGTH_LONG).show(); 65 66 67 68 69 70 71 } } } startActivity(i); } catch (Exception e) { e.printStackTrace(); }

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

Pilih Persegi Panjang, akan muncul form Persegi Panjang

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.

Anda mungkin juga menyukai