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
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
keren yannn
LikeLike
Alhamdulillah Masih Newbe Kakak aam
LikeLike
Wedeeh keren Pak… Nais, laik dah 😀
LikeLike
Alhamdulillah Semoga berguna ya, Tapi dah di coba blom buat aplikasinya?
LikeLike
Sangat bermanfaat pak informasinya.
LikeLike
alhamdulillah jika berguna
LikeLike
Mau tanya pak,kalau android studio untuk windows gak ada pak?
LikeLike
ada untuk WIndows, Linux, dan MacOs kok
coba main2 kesini https://developer.android.com/studio/index.html?hl=id
LikeLike
artikel anda sangat membantu
LikeLiked by 1 person
Terimakasih semoga bisa bermanfaat
LikeLike
bagaimana kalau hasilnya di tampilkan di activity yang lain dengan menggunakan intent???
LikeLike