• Tidak ada hasil yang ditemukan

Praktikum 3 Create a Simple Calculator Program

N/A
N/A
Protected

Academic year: 2021

Membagikan "Praktikum 3 Create a Simple Calculator Program"

Copied!
12
0
0

Teks penuh

(1)

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

(2)

3. Tuliskan application name>

Simple_Calculator

4. Pilihlah default > next

5. Buatlah sebuah blank activity

(3)

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

(4)

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" />

(5)

<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" />

(6)

<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

(7)

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);

(8)

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();

(9)

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;

    }

(10)

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 :

(11)

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

(12)

Diambil dari blog: Membuat kalkulator sederhana

http://milandro.blogs.uny.ac.id/2014/11/04/android-membuat-kalkulator- sederhana/

Referensi

Dokumen terkait

1) Sebagai bahan pertimbangan bagi guru atau calon guru untuk memilih strategi dalam mengajar biologi. 2) Dapat digunakan sebagai bahan masukan bagi guru, khususnya guru