Kamis, 23 Maret 2017

KALKULATOR SEDERHANA

Selamat Datang,
        Pada postingan kali ini, saya akan memberikan tutorial untuk membuat kalkulator sederhana dengan menggunakan Android.  Setelah sebelumnya kita mempelajari bagaimana mendapatkan inputan di Android, sekarang kita akan mempelajari bagaimana memproses masukan sehingga dapat menghasilkan output (keluaran) yang bermanfaat. (Dalam hal ini kalkulator). Hasil dari koding kita nanti akan berbentuk seperti gambar di bawah ini.
Bagaimanakah caranya..? Mari kita perhatikan langkah – langkah berikut ini.
KALKULATOR SEDERHANA

Peralatan dan Bahan
1.       Android IDE (Bisa menggunakan Eclipse + ADT atau menggunakan Android Studio). Untuk tutorial ini menggunakan Android Studio
2.       AVD atau Devices dalam mode Debugging
3.       Niat, Doa, serta usaha

SKENARIO
1.       Aplikasi dibuka
2.       Tampil 2 Kolom, 1 Tombol proses, 4 Operan, field hasil, dan field notifikasi
3.       Jika salah satu kolom tidak diisi, maka akan muncul notifikasi untuk mengisi kolom yang kosong
4.       Jika semua kolom sudah terisi, tetapi belum memilih operan, maka akan muncul notifikasi untuk memilih operan
5.       Menampilkan Hasil

LAYOUT
Buatlah Layout seperti gambar di bawah ini.
JAVA (LOGIC PROGRAMMING)

Untuk javanya, kita akan membuat beberapa method, variable, object, dan seluruh elemen yang dibutuhkan untuk menghandle seluruh aktivitas yang ada di layout yang telah kita buat tadi.

Class MainActivity yang mengextend Activity
public class MainActivity extends Activity {

}

Menginstansiasi Objek dan Variable

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

Method onCreate

1.   
//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);


    }
2.       Method klikTambah
1
2
3
4
5
//M.2
    public void klikTambah(View V){
        operation = 1;
        operator.setText("   +   ");
    }
3.       Method klikKurang
1
2
3
4
5
//M.3
    public void klikKurang(View V){
        operation = 2;
        operator.setText("   -   ");
    }
4.       Method klikKali
1
2
3
4
5
//M.4
    public void klikKali(View V){
        operation = 3;
        operator.setText("   x   ");
    }
5.       Method klikBagi
1
2
3
4
5
//M.4
    public void klikBagi(View V){
        operation = 4;
        operator.setText("   :   ");
    }
6.       Method klikHasil
Method klikHasil

//M.5
  public void klikHasil(View V){

        Cek1 = input1.getText().toString();
        Cek2 = input1.getText().toString();

        if((Cek1.equalsIgnoreCase("")) || (Cek2.equalsIgnoreCase(""))){
            notif.setText("Kolom tidak boleh kosong");
        }
        else{
            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!");
            }
        }


    }



Method clearInput1

//M.6
    public void clearInput1(View V){
        input1.setText("");
        notif.setText("Simple Calculator Ready!");
        operation = 0;
    }

Method clearInput2
//M.7
    public void clearInput2(View V){
        input2.setText("");
        notif.setText("Simple Calculator Ready!");
        operation = 0;
    }

Gabungkan seluruhnya dalam satu file java. Jika masih bingung juga, berikut ini adalah kode lengkap dari jAVA yang kita buat untuk menghandle aktivitas di layout.
HASIL KODING (APLIKASI JADI)

1.       Tampilan awal aplikasi




2.Hasil keluar setelah tombol “Hitung” ditekan.






Demikian, postingan saya kali ini. Terima Kasih, semoga bermanfaat.