Membuat Aplikasi Bangun Datar di Android

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

<?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>
  1. Pada package com.agus buat file baru dengan nama HitungPersegiPanjang.java

Ketikkan kode berikut

package com.agus;

/**
 * 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();
	}
}

Form Menghitung Luas Segitiga

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

ketikkan kode berikut

<?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>
  1. Pada package com.agus buat file baru dengan nama HitungSegitiga.java

Ketikkan kode berikut

package com.agus;

/**
 * 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();
	}
}

Form Menghitung Luas Lingkaran

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

ketikkan kode berikut

<?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>
  1. Pada package com.agus buat file baru dengan nama Lingkaran.java

Ketikkan kode berikut

package com.agus;

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      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>

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

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

package com.agus;

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 MenuBangunDatar 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();
		}
	}
}

Perhatikan kode

String[] bangundatar = new String[] { “Persegi Panjang”, “Segitiga”,”Lingkaran”, “Exit” };

Saya menambahkan โ€œExitโ€ yang akan digunakan untuk keluar dari Aplikasi

Perhatikan method tampilkanPilihan()

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

method inilah yang digunakan untuk memanggil dan menampilkan activity yang dipilih

Intent i = null;
if (pilihan.equals("Persegi Panjang")) {
i = new Intent(this, HitungPersegiPanjang.class);
}

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 {filelink=4}

Nah, mudahkan membuat aplikasi di android.

insya Allah, di tutorial selanjutnya kita akan menyentuh Fitur HP androidnya seperti Call, SMS, GPS dan Accelerometer

Tetap Semangat

Salam Hangat

Agus Haryanto

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

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

73 comments to Membuat Aplikasi Bangun Datar di Android

  • untuk yang lingkaran, kalau dalam satu kasus jari jari kelipatan 7 gimana pak?

  • adi

    bang…kq pas aku coba hitungpersegipanjang.java trus hitunglingkaran.java dan hitungsegitiga.java kq salah ya ??

  • idik

    @adi kamu lihat nama filenya… samakan dengan yang punya kamu !

  • adi

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

    bagian ini doang bang yg salah….

  • Sendi Permadia

    seharusnya kan HitungLingkaran ..

  • Sendi Permadia

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

    HitungLingkaran.java

  • adi

    udah gtu bang…tetep aja salah….

  • adi

    R cannot resolved kata eclipse nya …

  • adi

    alhamdulillah berhasil…..

  • iie

    Yes …
    Tengkyu

  • Hendy

    Assalamu’alaikum, saya coba jalankan prgram tsb tapi sll error pada HitungPersegiPanjang.java di baris 30-33: R.id cannot be resolved. stl dirun main & string juga ikut error pd brs 1: Multiple annotations found at this line:
    – Content is not allowed in
    prolog.
    – error: Error parsing XML:
    syntax error
    pdhal sbl run tdk error. sy sdh coba helios & galileo tp sama sj.
    apa mungkin plugin nya? sy pake ADT plugin 8.0.1.
    Mohon pencerahan buat newbie biar ttap smangat. tq

  • Hendy

    Salam kenal dari android newbi. Saya juga mengalami hal yg sama dg mas Adi pada .java baris 30 – 33 selalu muncul error R.id cannot be resolved, stl dirun baris 1 dari main & string juga ikut error. coba utak-atik masih blm berhasil.
    Mohon pencerahan

  • Agus Haryanto

    @hendy, apakah namafile xmlnya sudah persegipanjang.xml

  • Hendy

    Sy baru sampai prog menghitung persegi panjang (tutorial pertama). xmlnya tetap main, sy coba refactor tetap error: id cannot resolved or is not a field. sy coba program menu list (tutorial 2) juga error pada main.xml brs 1 & pd layout tertulis @+id/TextView01

  • hendy

    Gmn mas, belum ada yang bantuin nih. buat adi dan pixel, kayany masalahku sama dengan yang kalian pernah alami, tolongin duong

  • Agus Haryanto

    @hendy, kalau mengikuti petunjuk ditutorial ini dengan benar, harusnya tidak ada masalah, btw, hendy develop pakai eclipse versi berapa ?

  • yazid

    mantap bang,,
    ane mo tanya bang klo mau get datetime gimana yaa
    misalnya mo ambil tgl sekarang 2011-27-01 11:54:30

  • yazid

    bikin time jd format 24 jam gmn ya bang

  • mas saya udah nyoba listing programnya dan bisa jalan di emulator tapi saat menghitung hasil luas error dan keluar dari program kemungkinan di btnhitung mas? ada cara lain gak untuk menampilkan btnhitungnya

  • Agus Haryanto

    @hendra17, errornya pada saat klik btnhitung yang mana ? persegi panajang, segitiga atau lingkaran ?

  • mas saya sudah memodifikasi list programnya menjadi rumus2 fisika tapi erornya disaat hasil hitung akhir dan ini tampilan eror di emulator
    “The application RumusFisika(process com.fisika) has stopped unexpectedly. please try again” tolong bantuin mas untuk ujian akhir dikumpul tanggal 4 makasih sebelumnya?
    list program(mohon koreksinya)

    HitungBerat.java
    package com.fisika;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class HitungBerat extends Activity {

    private EditText txtMassa;
    private EditText txtGravitasi;
    private EditText txtHasil;
    private Button btnHitung;

    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.berat);

    txtMassa = (EditText)findViewById(R.id.txtMassa);
    txtGravitasi = (EditText)findViewById(R.id.txtGravitasi);
    txtHasil = (EditText)findViewById(R.id.txtHasil);
    btnHitung = ((Button)findViewById(R.id.btnHitung));
    }
    public void HasilBerat(View view) {

    try {

    int Massa = Integer.parseInt(txtMassa.getText().toString());

    int Gravitasi = Integer.parseInt(txtGravitasi.getText().toString());

    int Hasil = Massa * Gravitasi;

    txtHasil.setText(String.valueOf(Hasil));

    finish();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public void backtoMenu(View view){

    finish();

    }
    }

    HitungGaya.java
    package com.fisika;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class HitungGaya extends Activity {

    private EditText txtPercepatan;
    private EditText txtMasa;
    private EditText txtHasil;
    private Button btnHitung;

    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.gaya);

    txtPercepatan = (EditText)findViewById(R.id.txtPercepatan);
    txtMasa = (EditText)findViewById(R.id.txtMasa);
    txtHasil = (EditText)findViewById(R.id.txtHasil);
    btnHitung = ((Button)findViewById(R.id.btnHitung));
    }
    public void HasilGaya(View view) {

    try {

    int Percepatan = Integer.parseInt(txtPercepatan.getText().toString());

    int Masa = Integer.parseInt(txtMasa.getText().toString());

    int Hasil = Percepatan * Masa;

    txtHasil.setText(String.valueOf(Hasil));

    finish();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public void backtoMenu(View view){

    finish();

    }
    }

    HitungGlb.java
    package com.fisika;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class HitungGlb extends Activity {

    private EditText txtKecepatan;
    private EditText txtWaktu;
    private EditText txtHasil;
    private Button btnHitung;

    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.glb);

    txtKecepatan = (EditText)findViewById(R.id.txtKecepatan);
    txtWaktu = (EditText)findViewById(R.id.txtWaktu);
    txtHasil = (EditText)findViewById(R.id.txtHasil);
    btnHitung = ((Button)findViewById(R.id.btnHitung));
    }
    public void HasilGlb(View view) {

    try {

    int Kecepatan = Integer.parseInt(txtKecepatan.getText().toString());

    int Waktu = Integer.parseInt(txtWaktu.getText().toString());

    int Hasil = Kecepatan * Waktu;

    txtHasil.setText(String.valueOf(Hasil));

    finish();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public void backtoMenu(View view){

    finish();

    }
    }

    HitungTekanan.java
    package com.fisika;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class HitungTekanan extends Activity {

    private EditText txtGaya;
    private EditText txtPermukaan;
    private EditText txtHasil;
    private Button btnHasil;

    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.tekanan);

    txtGaya = (EditText)findViewById(R.id.txtGaya);
    txtPermukaan = (EditText)findViewById(R.id.txtPermukaan);
    txtHasil = (EditText)findViewById(R.id.txtHasil);
    btnHasil = ((Button)findViewById(R.id.btnHasil));
    }
    public void HasilGlb(View view) {

    try {

    int Gaya = Integer.parseInt(txtGaya.getText().toString());

    int Permukaan = Integer.parseInt(txtPermukaan.getText().toString());

    int Hasil = Gaya * Permukaan;

    txtHasil.setText(String.valueOf(Hasil));

    finish();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public void backtoMenu(View view){

    finish();

    }
    }

    RumusFisika.java
    package com.fisika;

    import android.app.AlertDialog;
    import android.util.Log;
    import android.app.ListActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;

    public class RumusFisika extends ListActivity {

    @Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    String[] RumusFisika = new String[]{“Berat”,”Gaya”,”Glb”,”TekananZatPadat”,”Exit”};
    this.setListAdapter(new ArrayAdapter(this,
    android.R.layout.simple_list_item_1,RumusFisika));
    }

    @Override
    protected void onListItemClick(ListView l , View v,int position, long id){
    super.onListItemClick(l,v,position,id);
    Object o = this.getListAdapter().getItem(position);

    String pilihan = o.toString();
    tampilkanPilihan(pilihan);
    }

    protected void tampilkanPilihan(String pilihan){
    try{
    Intent i= null ;
    if(pilihan.equals(“Berat”)){
    i=new Intent(this,HitungBerat.class);
    }else if(pilihan.equals(“Gaya”)){
    i=new Intent(this,HitungGaya.class);
    }else if(pilihan.equals(“Glb”)){
    i=new Intent(this,HitungGlb.class);
    }else if(pilihan.equals(“TekananZatPadat”)){
    i=new Intent(this,HitungTekanan.class);
    }else if (pilihan.equals(“Exit”)){
    finish();
    }else{
    Toast.makeText(this,”‘Anda telah memilih : ” + pilihan +”,Actionnya belum dibuat”,
    Toast.LENGTH_LONG).show();
    }
    startActivity(i);
    }catch(Exception e){
    e.printStackTrace();

    }
    }
    }

    berat.xml

    gaya.xml

    glb.xml

    tekanan.xml

    androidmanifest.xml

  • bagus banget mas tutorialnya,lengkap,membantu banget buat yang lagi butuh banget tutorial android kaya saya.

  • agungp

    misi gan numpang koreksi dikit file HitungPersegiPanjang.java

    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));
    finish();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    pas bagian diatas finish(); di apus aja kalo kaga pas diklik tombol hitung luas bakal balik ke menu sebelum liat hasilnya

    CMIIW ๐Ÿ™‚

  • Agus Haryanto

    @agungp, Betul harusnya finish(); dihilangkan agar tidak langsung close aplikasinya. Thansk Koreksinya ๐Ÿ™‚

  • japanico

    Mas, saya masih ada masalah pada Intentnya. Disini tertulis error Intent cannot be ressolved to a type. Itu karena apa ya mas. Mohon bantuannya.

  • japanico

    Pak, saya sudah mencoba kodingannya. Tapi masih terdapat error di Intentnya. Disini tertulis error Intent cannot be ressolved to a type. Kira-kira itu salahnya dimana ya pak? Mohon bantuannya. Terima Kasih.

  • Latif

    pak agus kenapa yah disemua file javanya ada masalah sama
    private Button btnHitung;
    The field PPh21StatusBelumMenikah.btnHitung is never read locally???

  • Agus Haryanto

    @latif, Kalau boleh saya tebak itu bukan error, itu hanya warning saja, coba jalankan saja projectnya. kalau itu benar error, project tidak akan bisa dijalankan.

  • Latif

    iyah mas bener bukan error tapi warning, pas saya run, trus emulatornya muncul, tp pas saya klik aplikasinya
    muncul tulisan
    (process com.latief)has stopped unexpectedly. please try again (aplikasinya langsung distop mendadak)
    iyah saya akan usaha terus biar bisa jalan dengan bener. Thanks

  • joko

    mas,kenapa saya kembangkan aplikasi ini dalam kubus ada menu list lagi berupa luas kubus dan volume kubus aplikasi bisa jalan namun ketika di klik hanya menampilkan “anda memilih:Luas Kubus” tidak masuk ke activity nya?
    bagaimana cara mendaftarkan activity tsb dgn nama activity HitungLuasKubus dan HitungVolumeKubus?

  • joko

    mas,kenapa saya kembangkan aplikasi ini dalam kubus ada menu list lagi berupa luas kubus dan volume kubus aplikasi bisa jalan namun ketika di klik hanya menampilkan โ€œanda memilih:Luas Kubusโ€ tidak masuk ke activity nya?
    bagaimana cara mendaftarkan activity tsb dgn nama activity HitungLuasKubus dan HitungVolumeKubus ke dalam menu list kubus yg ada pada menulist bangun ruang?

  • bowwow_kecil

    bang agus, udah saya coba berkali-kali pas bagian exit,

    koding finish() ngga berfungsi untuk keluar dari aplikasi tapi cuma berfungsi untuk kembali ke tampilan sebelumnya,

    mohon pencerahan

  • Ada bagian :

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

    itu kok ada “Actionnya belum dibuat” >>> maksudnya apa yaaa…?

    Saya buat setelah di klik tombolnya kok gak mau LOAD program yang di harapkan yaa…
    cuman tulisan Anda memilih ….. Actionnya belum dibuat ….

    tks

  • ternyata sudah bisa mas…
    hanya beda kasih nama, makannya gak mau jalan.

    Cuman format data menjadi 2 digit di belakang koma, gimana yaa.
    contoh: 4.75623 >> 7.75 atau 7.76
    tks

  • e koreksi mas.. 4.75623 >> 4.76 dan jika 4.7523 >>> 4.75
    Tks n maaf

  • ican

    mas yang HitungPersegiPanjang, labelnya “Persegi Panjang” ngambil darimana nya yah ? trims sblmnya

  • indra

    gan,,,
    R cannot be resolved,,,
    gmn nech,,,
    waktu mepet soalnya..
    forum pnjang tapi gak ad solusinya,,, help me,,,

  • indra

    sukses bos,,,
    di tunggu yang lebih siipppp lgi,,,

  • adink

    permisi pak agus saya mau nanya bagaimana caranya supaya salah satu kalau ga diisi aplikasi ini masih tetap bisa mengkonversi hasilnya…
    makasih pak agus….:)

  • adink

    permisi pak agus saya mau nanya bagaimana caranya supaya salah satu textfield kalau ga diisi aplikasi ini masih tetap bisa mengkonversi hasilnyaโ€ฆ
    makasih pak agusโ€ฆ.:)

  • zizeris

    pak agus pernah tau encryption data di android itu gimana aku lagi buntu di tengah tengah hihihihi barangkali bisa membantu

  • sqdzn

    mas. terimakasih untuk semua tutorial di blog ini ๐Ÿ™‚
    hope god always blessing you ๐Ÿ™‚

    untuk judul ini sudah saya coba dengan teliti dan ada error. namun itu bisa di atasi dengan membaca log nya.
    juga itu karena kesalahan saya ๐Ÿ™‚

    sekali lagi terima kasih ๐Ÿ™‚

  • Gan

    wow mantap suhu.. ๐Ÿ™‚
    Mungkin sedikit masukan dari saya, newbie mungkin akan bingung bagaimana menambah file “.xml” dan “.java” baru di “layout” dan “com.agus”. Saya coba melalui cara klik kanan pada folder layout > lalu pilih new > bisa pilih “file” atau “other”.

    1. Kalau pilih “other” maka klik “android” > klik “andoid xml file” > isi nama file, lalu finish
    2. kalau pilih “file”, maka tinggal isi nama lalu diikuti ekstensi filenya. Misal: “test.java” atau “testlayout.xml” —> membuat file dari menu “file” biasanya menimbulkan error saat membuat file “.xml”

    Mungkin ada cara lain dari suhu? terima kasih. *tambah semangat untuk jadi developer nih ๐Ÿ™‚

  • Mas Pada class Hitunpersegipanjang ada sedikit kesalahan source code jadi ketika kita klik hitung maka langsung keluar seharusnya finish() dihilangkan….

    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));
    //finish();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

  • Agus Haryanto

    @wh3lly, betul dihilangkan saja code finish()

  • Dhagmar

    Gan.
    Program dah hampir jadi nich.
    Ketika d run kok klo saya klik persegi panjang, segitiga, atau lingkaran program tidak ganti form ya?
    Apa ada yang perlu d ganti gan?
    Mohon pencerahan’a.

  • arief

    mas, mau nanya, ini kan cotohnye list menu berupa textview.
    kalo berupa button apa coddinganye sama untuk link ke .classnye?
    contoh
    menuutama.java ada pilihan button hitung 1 dan hitung 2. kalo kita klik hitung 1 maka akan ngelink ke hitung1.java

    itu caranye sama ye?
    terima kasih

  • Alfian

    mas kalo kita habis input angka dan hitungkan angkanya masih ada di situ
    trus kalo mau itung lagi kan harus kita hapus satu satu angkanya
    ada gak statement sintaks android buat refresh

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>