Pada tutorial kali ini kita akan mencoba membuat suatu aplikasi sederhana yang akan memanfaatkan code dari project sebelumnya, apabila anda belum membaca tutorial sebelumnya maka sebaiknya anda membukanya terlebih dahulu disini karena tutorial ini akan menyingkat pembahasan yang sudah pernah dibahas sebelumnya. Aplikasi ini merupakan suatu aplikasi penghitung berat normal dan berat ideal kita. Dengan aplikasi ini kita dapat menentukan apakah kita normal,ideal,kurang gemuk atau kegemukan. Aplikasi ini dibagi menjadi 3 interface dengan alur sebagai berikut :

Untuk rumus penghitungannya, saya mengambil artikel dari blog http://organisasi.org/rumus-menghitung-berat-badan-ideal-normal-indeks-broca-broca-index. Dengan memanfaatkan project MenuList yang telah kita buat sebelumnya, kita akan meneruskannya sehingga akan membentuk aplikasi DietMeter ini. Saya akan membuat project baru dan menempelkan code yang ada sebelumnya ke project baru saya . berikut ini adalah langkahnya :
- Buat project android yang baru, dan isikan sebagai berikut :

- Kita buat 2 layout baru yaitu beratnormal.xml dan beratideal.xml pada res/layout/, masing2 juga memiliki file .java yaitu beratnormal.java dan beratideal.java yang mana kita harus buat baru di src/com.dietmeter.
Cara menambahkan file xml adalah dengan klik kanan pada direktori res/layout dan pilih menu New->Other kemudian pilih menu Android XML File dan tekan Next :

Untuk lebih amannya,gunakan nama dengan huruf non capital, beri nama beratnormal.xml lalu pastikan tipe resource adalah Layout lalu tekan finish.
Cara menambahkan file class(.java) adalah dengan klik kanan pada direktori src/com.dietmeters dan memilih menu New->Class dan akan tampil sebagai berikut :

Lalu kita tentukan superclass dari class ini dengan cara kita browse superclass dan ketikkan “activity” seperti pada gambar berikut :

Pilih dan tekan OK lalu Finish.
- beratnormal (.xml dan .java)
- Dalam layout xml ini akan dimunculkan kode sebagai 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:id="@+id/label1"
android:text="Berat Badan :"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
<EditText
android:id="@+id/edBerat"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal">
</EditText>
<TextView
android:id="@+id/label2"
android:text="Tinggi Badan :"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<EditText
android:id="@+id/edTinggi"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal">
</EditText>
<Button
android:id="@+id/btnKalkulasi"
android:text="Kalkulasi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="kalkulasi">
</Button>
<Button
android:id="@+id/btnKembali"
android:text="Menu Utama"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="BackMainMenu">
</Button>
</LinearLayout>
-
- Dalam file .java kita masukkan kode :
package com.dietmeters;
import org.xml.sax.Parser;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class beratnormal extends Activity{
private EditText edBerat;
private EditText edTinggi;
private Button btnKalkulasi;
private Button btnKembali;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.beratnormal);
edBerat = (EditText) findViewById(R.id.edBerat);
edTinggi = (EditText) findViewById(R.id.edTinggi);
btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);
btnKembali = (Button) findViewById(R.id.btnKembali);
}
public void doKalkulasi(View view){
float Berat = Float.parseFloat(edBerat.getText().toString());
float Tinggi = Float.parseFloat(edTinggi.getText().toString());
float Hasil = (float) Tinggi - 100;
String rt = "Normal";
//kelebihan berat badan
if (Berat > Hasil)
{
float Persen = ((float)Berat / Hasil * 100)-100;
if (Persen>9 && Persen<21)
{
rt = "Kelebihan Berat Badan / Overweight";
}
else if (Persen > 20)
{
rt = "Kegemukan / Obesitas / Obesity";
}
}
else if (Berat < Hasil)
{
float Persen = ((float)Hasil/Berat*100) - 100;
if (Persen>9)
{
rt = "Kurus";
}
}
Toast.makeText(this, "Anda : " + rt, Toast.LENGTH_LONG).show();
}
public void BackMainMenu(View view){
finish();
}
}
- beratideal (.xml dan .java)
- Dalam layout xml ini akan dimunculkan kode sebagai 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:id="@+id/label1"
android:text="Berat Badan :"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
<EditText
android:id="@+id/edBerat"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal">
</EditText>
<TextView
android:id="@+id/label2"
android:text="Tinggi Badan :"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<EditText
android:id="@+id/edTinggi"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal">
</EditText>
<Button
android:id="@+id/btnKalkulasi"
android:text="Kalkulasi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="doKalkulasi">
</Button>
<Button
android:id="@+id/btnKembali"
android:text="Menu Utama"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="BackMainMenu">
</Button>
</LinearLayout>
-
- Dalam file .java kita masukkan kode :
package com.dietmeters;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class beratideal extends Activity{
private EditText edBerat;
private EditText edTinggi;
private Button btnKalkulasi;
private Button btnKembali;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.beratideal);
edBerat = (EditText) findViewById(R.id.edBerat);
edTinggi = (EditText) findViewById(R.id.edTinggi);
btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);
btnKembali = (Button) findViewById(R.id.btnKembali);
}
public void doKalkulasi(View view){
float Berat = Float.parseFloat(edBerat.getText().toString());
float Tinggi = Float.parseFloat(edTinggi.getText().toString());
String rt = "Ideal";
float ideal = (float)(Tinggi - 100) - ((float)0.1 * (Tinggi - 100));
if (Berat > ideal)
{
float Persen = ((float)Berat / ideal * 100)-100;
if (Persen>9 && Persen<21)
{
rt = "Kelebihan Berat Badan / Overweight";
}
else if (Persen > 20)
{
rt = "Kegemukan / Obesitas / Obesity";
}
}
else if (Berat < ideal)
{
float Persen = ((float)ideal/Berat*100) - 100;
if (Persen>9)
{
rt = "Kurus";
}
}
Toast.makeText(this, "Anda : " + rt, Toast.LENGTH_LONG).show();
}
public void BackMainMenu(View view){
finish();
}
}
Setelah itu hal terpenting, kita daftarkan 2 activity tersebut ke dalam AndroidManifest.xml. caranya dengan mengklik AndroidManifest.xml dan masuk ke dalam tab Application (tab berada di bawah)lalu scroll window tersebut dan akan Nampak gambar sebagai berikut :

Lalu kita klik Add dan pilih Create a new element at the top level,in Application lalu pilih Activity seperti ditunjukkan pada gambar di bawah ini :

Lalu tekan OK, lalu pada kolom sebelah kanan kita ubah field Name dengan gambar sebagai berikut :

Default nama activity adalah “Activity”, kita browse dan kita ketikkan beratnormal :

Lalu kita tekan OK, selanjutnya pada Label kita isikan “Berat Normal” (lihat gambar sebelumnya).hal yang sama lakukan juga untuk beratideal activity.
Selanjutnya kita akan mengisikan code pada source form menu utama yaitu ActivityDietMeters.java . kita isikan sebagai berikut :
package com.dietmeters;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.content.Intent;
public class ActivityDietMeters extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] DietMeter = new String[] { "Normal Meter", "Ideal Meter"};
this.setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, DietMeter));
}
@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 Teks = o.toString();
ShowThis(Teks);
}
public void ShowThis(String Teks)
{
Intent i = null;
if (Teks.equals("Normal Meter")){
i = new Intent(this,beratnormal.class);
}
else if (Teks.equals("Ideal Meter")){
i = new Intent(this,beratideal.class);
}
if (i != null)
{
startActivity(i);
}
else
{
Toast.makeText(this, Teks, Toast.LENGTH_LONG).show();
}
}
}
Kita lihat perbedaan code aplikasi sekarang dengan code sebelumnya, perhatikan baris code berikut :
protected void onListItemClick(ListView l,View v,int Position,long id){
super.onListItemClick(l, v, Position, id);
Object o = this.getListAdapter().getItem(Position);
String Teks = o.toString();
ShowThis(Teks); //method pemanggilan activity
}
public void ShowThis(String Teks)
{
Intent i = null; //beri nilai default
if (Teks.equals("Normal Meter")){
i = new Intent(this,beratnormal.class);
}
else if (Teks.equals("Ideal Meter")){
i = new Intent(this,beratideal.class);
}
if (i != null)
{
startActivity(i);
}
}
Dalam code di atas kita membuat suatu method ShowThis(String Teks) dimana isinya adalah pemanggilan activity yang berdasarkan pemilihan menulist.
Setelah mengisikan sesuai dengan di atas,kita coba jalankan di emulator dan beginilah contoh hasilnya :



Apabila telah berjalan sesuai dengan di atas, maka anda telah berhasil membuat aplikasi jadi #1 anda dengan menggunakan android.
Demikian tutorial ini semoga dapat menambah ilmu anda, apabila anda ingin mendownload source code aplikasi ini bisa didownload disini.
Soal Latihan :
- sebenarnya coding tersebut masih bisa dipersingkat dengan hanya memanfaatkan 1 form saja dan code yang bisa dipersingkat juga (dalam tutorial sengaja untuk dipanjangkan), cobalah untuk mengerjakan kasus ini. apabila anda bisa dan berkenan,silahkan share disini supaya teman2 yang lain bisa melihatnya atau pm saya apabila kesulitan mengerjakan ini.
Like this:
One blogger likes this post.
km memang sungguh luar biasa sobat.
berkaryalah terus, hingga ujung…. waktu… (sheila on 7)
thx pak
hanya kirim sebaris kata ” serba bisa, luar biasa…. “
wah aku taunya “sempoaa” (kata2nya sule).wahahaha..
Sunnguh mantap….serba bisa…wes salut tenan
wah,master c++ satu ini sangat merendah..
aku rep komen tapi binngung komentar opo??
kug g bisa diambil gan file nya
Filenya kosong bang.. minta donk