Aplikasi Android Sederhana Menghitung Luas Persegi Panjang

           

Assalamu ‘alaikum wa rahmatullahi wa barakatuh

Pada kesempatan kali ini saya akan membuat sebuah aplikasi android sederhana berkat mengikuti kelas android di Dicoding, tujuan postingan kali ini sebenarnya diperuntukan bagi teman2(terutama para mahasiswa) yang  baru banget belajar android dan ingin coba buat aplikasi sederhana agar bisa lebih mengerti dalam membuat aplikasi android yang lebih bagus lagi dan agar lebih semangat lagi belajarnya.

Aplikasi ini simple saja tujuanya untuk menghitung luas dari sebuah persegi panjang. Oh iya sudah baca artikel saya sebelumnya? karena disana dijelaskan langkah – langkah apa saja jika kalian ingin menjadi seorang android developer, klo blom baca bisa klik disini ya.

OK kita mulai saja :

Ini tampilan aplikasi yang akan kita buat

Buat Project Baru

project1

project2

prohect3

project4

Buat Tampilan Aplikasi

Setelah kalian berhasil membuat project baru, kita akan membuat UI (User Interface) atau sisi tampilan dari aplikasi yang akan kita mau buat.

Buka file XML dengan nama activity_main.xml, file ini biasanya auto generate disaat kita buat project baru. Edit file XML tersebut seperti source code dibawah ini :

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context="com.apps.zulham.hitungluas.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Panjang"
        android:layout_marginBottom="8dp"/>

    <EditText
        android:id="@+id/edt_panjang"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lebar"
        android:layout_marginBottom="8dp"/>

    <EditText
        android:id="@+id/edt_lebar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"/>

    <Button
        android:id="@+id/btn_hitung"
        android:text="Hitung"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"/>

    <TextView
        android:id="@+id/tv_hasil"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textSize="20sp"
        android:text="Hasil"
        android:textStyle="bold"/>
</LinearLayout>

Membuat Logic Aplikasi

Setelah membuat tampilannya selanjutnya kita buat logic atau otak dari si aplikasi tersebut.

Buka file MainActivity.java, modifikasi code yang ada seperti code pada gambar di bawah ini :

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private EditText et_panjang, et_lebar;
    private Button btn_hitung;
    private TextView tv_hasil;
    private String panjang, lebar;
    private double p, l, luas;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getSupportActionBar().setTitle("Hitung Luas Persegi Panjang");
        et_panjang = (EditText) findViewById(R.id.edt_panjang);
        et_lebar = (EditText) findViewById(R.id.edt_lebar);
        btn_hitung = (Button) findViewById(R.id.btn_hitung);
        tv_hasil = (TextView) findViewById(R.id.tv_hasil);

        btn_hitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                panjang = et_panjang.getText().toString();
                lebar = et_lebar.getText().toString();

                p = Double.parseDouble(panjang);
                l = Double.parseDouble(lebar);

                luas = p * l;

                tv_hasil.setText("Luas : "+luas);

            }
        });

    }
}

Setelah selesai memodifikasi MainActivity jalankan program kalian dengan klik Run pada toolbar android studio kalian. Jika Code yang kalian buat sudah benar, Seharusnya setelah di Run akan muncul tampilan seperti dibawah ini dan silahkan dicoba hitung luas persegi panjangnya :

OK, apakah aplikasi kalian berhasil dijalankan dan bisa menghitung luasnya ?

Bagi yang belum berhasil, Coba cek kembali codingan kalian apakah ada yang salah atau bisa langsungkita diskusikan bersama dengan comment di postingan ini.

Untuk yang sudah berhasil jangan senang dulu, Coba di test programnya lagi dengan tekan Button Hitung pada saat nilai panjang atau lebar tidak kamu isi salah satu atau keduanya.

Apa yang terjadi ?

Apakah aplikasi teman – teman terhenti?

Jika iya…. Kenapa bisa terjadi seperti itu?

Alasanya adalah karena nilai yang kita hitung bukan tipe data double yang valid, jika kita tidak memasukan nilai sama sekali, nilai kosong (“”) dianggap string kosong.

Nah disini ada pelajaran yang bisa kita ambil, biasakan untuk kalian jika mengalami aplikasi yang terhenti (biasa di sebut force close) segera cek Logcat pada tab Android monitor di Android Studio kalian.

Biasanya Log Text nya berwarna merah, Baca dan pahami penyembab error tersebut, kalian juga bisa mengetahui kira-kira dibaris code mana yang terjadi error dengan melakukan klik nama class java yang biasanya muncul dengan warna biru. Berikut contoh screenshot Logcat errornya :

Untuk memvalidasi error seperti ini ada 2 cara :

Menggunakan if-else :

if(TextUtils.isEmpty(edtPanjang.getText()) || TextUtils.isEmpty(edtLebar.getText())){
    
    Toast.makeText(this,"Nilai yang dimasukkan tidak boleh kosong",Toast.LENGTH_SHORT).show();

}else {
    
//Lakukan penghitungan persegi panjang
    
}

Menggunakan try-catch :

try{
    double panjang = Double.valueOf(edtPanjang.getText().toString());
    double lebar = Double.valueOf(edtLebar.getText().toString());

//Lakukan perhitungan Luas persegi panjang di sini

}catch (NumberFormatException e){
    Toast.makeText(MainActivity.this, e.getMessage(),Toast.LENGTH_SHORT).show();
}

Berikut contoh MainActivity yang menggunakan Validasi if-else :

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText et_panjang, et_lebar;
    private Button btn_hitung;
    private TextView tv_hasil;
    private String panjang, lebar;
    private double p, l, luas;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getSupportActionBar().setTitle("Hitung Luas Persegi Panjang");
        et_panjang = (EditText) findViewById(R.id.edt_panjang);
        et_lebar = (EditText) findViewById(R.id.edt_lebar);
        btn_hitung = (Button) findViewById(R.id.btn_hitung);
        tv_hasil = (TextView) findViewById(R.id.tv_hasil);

        btn_hitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if(TextUtils.isEmpty(et_panjang.getText()) || TextUtils.isEmpty(et_lebar.getText())){

                    Toast.makeText(MainActivity.this,"Nilai yang dimasukkan tidak boleh kosong",Toast.LENGTH_SHORT).show();

                }else {

                    panjang = et_panjang.getText().toString();
                    lebar = et_lebar.getText().toString();

                    p = Double.parseDouble(panjang);
                    l = Double.parseDouble(lebar);

                    luas = p * l;

                    tv_hasil.setText("Luas : "+luas);

                }
            }
        });

    }

Berikut contoh MainActivity yang menggunakan Validasi try-catch :

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText et_panjang, et_lebar;
    private Button btn_hitung;
    private TextView tv_hasil;
    private double luas;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getSupportActionBar().setTitle("Hitung Luas Persegi Panjang");
        et_panjang = (EditText) findViewById(R.id.edt_panjang);
        et_lebar = (EditText) findViewById(R.id.edt_lebar);
        btn_hitung = (Button) findViewById(R.id.btn_hitung);
        tv_hasil = (TextView) findViewById(R.id.tv_hasil);

        btn_hitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                try{
                    double panjang = Double.valueOf(et_panjang.getText().toString());
                    double lebar = Double.valueOf(et_lebar.getText().toString());

                    luas = panjang * lebar;

                    tv_hasil.setText("Luas : "+luas);

                }catch (NumberFormatException e){
                    Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
                }
            }
        });

    }
}

Gmana ? sudah bisa membuat aplikasi android sederhana kan? gampang kan?
Semoga bermanfaat bagi kalian yang baru mempelajari pemrograman aplikasi android.

Terimakasih

Wassalamu ‘alaikum Wr. Wb

12 comments

  1. farham · March 11, 2017

    keren yannn

    Like

  2. Muara Wisnu · March 22, 2017

    Wedeeh keren Pak… Nais, laik dah 😀

    Like

    • ryanzulham · March 24, 2017

      Alhamdulillah Semoga berguna ya, Tapi dah di coba blom buat aplikasinya?

      Like

  3. Pingback: Mengenal Intent Android – Ryan Zulham Ramadhani
  4. Viky yahya · March 26, 2017

    Sangat bermanfaat pak informasinya.

    Like

  5. Viky yahya · March 30, 2017

    Mau tanya pak,kalau android studio untuk windows gak ada pak?

    Like

  6. Candra Pasol Candra Pasol · December 19, 2017

    artikel anda sangat membantu

    Liked by 1 person

  7. rifkyte · December 6, 2019

    bagaimana kalau hasilnya di tampilkan di activity yang lain dengan menggunakan intent???

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.