Programming Learning

Free IT e-learning

[Android] Aplikasi #1 – DietMeter

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 :

  1. Buat project android yang baru, dan isikan sebagai berikut : 
  1. 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 :

  • Tampilan utama

  • Normal Meter

  • Ideal Meter

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

11 responses to “[Android] Aplikasi #1 – DietMeter

  1. abdullah November 26, 2010 pukul 7:20 am

    km memang sungguh luar biasa sobat.
    berkaryalah terus, hingga ujung…. waktu… (sheila on 7)

  2. Wahyu November 29, 2010 pukul 7:36 am

    hanya kirim sebaris kata ” serba bisa, luar biasa…. “

  3. Maruji November 29, 2010 pukul 9:47 am

    Sunnguh mantap….serba bisa…wes salut tenan

  4. mas_kofa Maret 12, 2011 pukul 8:34 am

    aku rep komen tapi binngung komentar opo??

  5. Zaki Woodward Oktober 15, 2011 pukul 9:52 pm

    kug g bisa diambil gan file nya

  6. Agus k November 23, 2011 pukul 4:11 am

    Filenya kosong bang.. minta donk

  7. Yoga Maret 7, 2012 pukul 5:03 pm

    gan….
    ActivityDietMeters.java dimana nyarinya???
    ane bingung gan..
    mohon bantuannya…

  8. wahyu April 27, 2012 pukul 5:55 pm

    Gan, punya ane masih error nih kenapa ya?

    ini di file beratideal.java

    public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.beratideal); // cannot be resolved

    edBerat = (EditText) findViewById(R.id.edBerat);
    edTinggi = (EditText) findViewById(R.id.edTinggi);
    btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);
    btnKembali = (Button) findViewById(R.id.btnKembali);
    }

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: