Praktikum 3 – Create a Simple Calculator Program
Dosen : Tenia Wahyuningrum, S.Kom., MT
Program kalkulator menggunakan beberapa widget sederhana seperti Textview, EditText, dan Button. Dalam program ini, terdapat algoritma pemilihan (IF dan Case) untuk memudahkan user memilih operasi yang diharapkan (+,-, x, :). Penulisan code program terdapat pada file MainActivity.java menggunakan syntax bahasa pemrograman JAVA.
Creating “Simple Calculator” program
1. Program sederhana untuk menghitung penjumlahan, pengurangan, perkalian, dan pembagian pada dua edit text yang digunakan sebagai masukan.
2. Buatlah sebuah project baru > file>new>new project
3. Tuliskan application name>
Simple_Calculator
4. Pilihlah default > next
5. Buatlah sebuah blank activity
6. Klik pada activity_main.xml > design
Buatlah beberapa widget berikut ini:
No Widget Properties Keterangan
1 edittext id=masukan1 Untuk memasukkan
bilangan pertama
2 edittext id=masukan2 Untuk memasukkan
bilangan kedua
3 textview id=operan Untuk menampilkan operan
yang dipilih oleh user
4 button id=hitung Untuk menampilkan hasil
operasi dua buah bilangan 5 textview2 id=textview2 Untuk menampilkan tulisan
“operasi” diatas tombol operator
6 button id=tambah Untuk membuat tombol
tambah
7 button id=kurang Untuk membuat tombol
kurang
8 button id=bagi Untuk membuat tombol
bagi
9 button id=kali Untuk membuat tombol kali
10 textview3 id=textview3 Untuk menampilkan tulisan
“hasil perhitungan” diatas textview hasil perhitungan
11 textview id=hasil Untuk menampilkan hasil
perhitungan
12 notifikasi id=notifikasi Untuk menampilkan
notifikasi “Simple calculator ready”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/masukan1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignBottom="@+id/operan"
android:layout_toLeftOf="@+id/operan"
android:layout_toStartOf="@+id/operan"
android:onClick="clearInput1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text=" "
android:id="@+id/operan"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="40dp"
android:gravity="center" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/masukan2"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/operan"
android:layout_alignBottom="@+id/operan"
android:layout_toRightOf="@+id/operan"
android:onClick="clearInput2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Hitung! "
android:id="@+id/hitung"
android:layout_below="@+id/masukan1"
android:layout_centerHorizontal="true"
android:onClick="klikHasil" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Operasi"
android:id="@+id/textView2"
android:layout_below="@+id/hitung"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" + "
android:id="@+id/tambah"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="klikTambah" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" - "
android:id="@+id/kurang"
android:layout_alignTop="@+id/tambah"
android:layout_toRightOf="@+id/tambah"
android:layout_toEndOf="@+id/tambah"
android:onClick="klikKurang" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" x "
android:id="@+id/kali"
android:layout_alignTop="@+id/kurang"
android:layout_toRightOf="@+id/kurang"
android:layout_toEndOf="@+id/kurang"
android:onClick="klikKali" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" : "
android:id="@+id/bagi"
android:layout_alignTop="@+id/kali"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="klikBagi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Hasil Perhitungan"
android:id="@+id/textView3"
android:layout_below="@+id/tambah"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="0"
android:id="@+id/hasil"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/bagi"
android:layout_alignEnd="@+id/bagi"
android:gravity="right" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notifikasi"
android:layout_below="@+id/hasil"
android:layout_centerHorizontal="true"
android:layout_marginTop="72dp"
android:gravity="center"
android:text="Simple Calculator Ready" />
</RelativeLayout>
7. Klik pada main_activity 8. Import class yang dibutuhkan
Import Class – lakukan impor pada class yang akan dipakai dalam aplikasi pada class library
12 3 45
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
9. Class MainActivity yang mengextend Activity
Create a Class –buatlah class main activity, secara default, class ini otomatis terbentuk ketika membuat sebuah project
1 23
public class MainActivity extends Activity { }
10.Menginstansiasi Objek dan Variable
Instance Variable and Object – instance adalah istilah yang digunakan untuk membuat variable dan object dalam bahasa java. Dalam program ini terdapat 4 variabel yaitu operation, HasilAkhir, Cek1, Cek2
1 23 4 56 78 9
//R.1
TextView input1, input2, operator, result, notif;
Button btHitung, btJumlah, btKurang, btKali, btBagi;
//V.1
private int operation = 0;
private double HasilAkhir = 0.0;
private String Cek1 = "";
private String Cek2 = "";
11.Method onCreate
Method onCreate –method ini digunakan untuk membaca masukan input dari user. Method ini berhubungan dengan widget yang telah dibuat.
12 34 56 7 89 1011 1213 1415 1617 18 1920 21
//M.1 @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//R.2
input1 = (TextView) findViewById(R.id.masukan1);
input2 = (TextView) findViewById(R.id.masukan2);
operator = (TextView) findViewById(R.id.operan);
result = (TextView) findViewById(R.id.hasil);
notif = (TextView) findViewById(R.id.notifikasi);
//R.3
btHitung = (Button) findViewById(R.id.hitung);
btJumlah = (Button) findViewById(R.id.tambah);
btKurang = (Button) findViewById(R.id.kurang);
btKali = (Button) findViewById(R.id.kali);
btBagi = (Button) findViewById(R.id.bagi);
22 }
12.Method klikTambah
Method klikTambah –method ini digunakan untuk memberikan nilai operasi “1”
jika tombol tambah di klik, dan menampilkan simbol “+” pada text view operator 1
23 45
//M.2
public void klikTambah(View V){
operation = 1;
operator.setText(" + ");
}
13.Method klikKurang
Method klikKurang -- method ini digunakan untuk memberikan nilai operasi “2”
jika tombol tambah di klik, dan menampilkan simbol “-” pada text view operator 1
23 45
//M.3
public void klikKurang(View V){
operation = 2;
operator.setText(" - ");
}
14.Method klikKali
Method klikKali-- method ini digunakan untuk memberikan nilai operasi “3” jika tombol tambah di klik, dan menampilkan simbol “x” pada text view operator
12 34 5
//M.4
public void klikKali(View V){
operation = 3;
operator.setText(" x ");
}
15.Method klikBagi
Method klikBagi -- method ini digunakan untuk memberikan nilai operasi “1” jika tombol tambah di klik, dan menampilkan simbol “:” pada text view operator
12 3 45
//M.4
public void klikBagi(View V){
operation = 4;
operator.setText(" : ");
}
16.Method klikHasil
Method klikHasil—method ini digunakan untuk mendeteksi pilihan user, apakah penjumlahan, perkalian, pembagian, atau pengurangan. Di dalamnya terdapat algoritma pemilihan menggunakan case untuk memilih operasi yang diinginkan user, serta algoritma pemilihan if untuk mengecek apakah masukan dari user kosong atau tidak. Jika kolom kosong, maka akan muncul notifikasi “kolom tidak boleh kosong”
1 23 45 6
//M.5
public void klikHasil(View V){
Cek1 = input1.getText().toString();
Cek2 = input2.getText().toString();
78 9 1011 1213 1415 1617 1819 20 2122 2324 2526 2728 29 3031 3233 3435 3637 38 3940 4142 4344 4546 4748 49 5051 5253 54
if((Cek1.equalsIgnoreCase("")) || (Cek2.equalsIgnoreCase(""))){
notif.setText("Kolom tidak boleh kosong");
} else{
//perintah untuk mengubah string menjadi double
double inputA = Double.parseDouble(input1.getText().toString());
double inputB = Double.parseDouble(input2.getText().toString());
//D.1
switch(operation){
case 1:
HasilAkhir = inputA + inputB;
break;
case 2:
HasilAkhir = inputA - inputB;
break;
case 3:
HasilAkhir = inputA * inputB;
break;
case 4:
HasilAkhir = inputA / inputB;
break;
case 0:
notif.setText("Harap pilih operan terlebih dahulu!");
break;
default:
notif.setText("Undescribeable Error!");
break;
} //D.2
if(operation < 1){
result.setText("0");
}
else{
String hasilString = String.valueOf(HasilAkhir);
result.setText(hasilString);
notif.setText("Simple Calculator Ready!");
} } }
17.Method clearInput1 Method clearInput1
//method yang dijalankan jika masukan1 di klik (event on click) 12
34 56
//M.6
public void clearInput1(View V){
input1.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;
}
7
18.Method clearInput2 Method clearInput2
//method yang dijalankan jika masukan2 di klik (event on click) 1
23 4 56
//M.7
public void clearInput2(View V){
input2.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;
}
19.Running program dengan menekan tombol run
20. Hasil program akan terlihat sbb :
Tugas ketigaku
Buatlah program untuk menghitung konversi uang dari rupiah ke dolar,
poundsterling dan yen. Jika 1 dolar = 12.000, 1 poundsterling=18.000, 1 yen = 10.000!
Dibutuhkan 3 TextView, 2 EditText, dan 3 Button. Jika Button dollar di klik, maka hasil konversi = rupiah x 12.000, jika Button poundsterling di klik, maka hasil konversi = rupiah x 18.000, jika Button Yen di klik, maka hasil konversi = rupiah x 10.000 Tampilannya sbb :
Rupiah
Dolar Poundsterling Yen Hasil Konversi
KONVERSI MATA UANG
Diambil dari blog: Membuat kalkulator sederhana
http://milandro.blogs.uny.ac.id/2014/11/04/android-membuat-kalkulator- sederhana/