Tuesday, December 11, 2018

Kalkulator : Script Membuat Aplikasi Kalkulator Sederhana di Android Studio

Script Membuat Aplikasi Kalkulator Sederhana di Android Studio – pembahasan pada hari ini mengangkat dari pemogaraman java, tepatnya java android dan yang digunakan aplikasinya ialah dengan android studio. Aplikasi yang akan dibahas dari hasil codingan di android studio adalah aplikasi kalkulator sederhana, sederhana? Ya sederhana. Bagaimana cara membuat sebuah kalkulator sederhana sendiri dengan bantuan android studio sebagai editornya.

Bagaimana jika script kalkulator sederhana ini di masukkan dalam editor Eclipse? Ya fine-fine saja. Tidak ada masalah berarti sebab inti dari kedua editor ini sebenarnya sama. Hanya letak tools-toolsnya saja yang berbeda. Namun untuk memasukkan script kalkulator sederhana atau simple ini sama saja tempatnya yaitu file xml sebagai layout dan file java sebagai activity prosesnya.

Baik, kita mulai cara membuat script kalkulator sederhana di android studio. Hal pertama yang harus dilakukan ialah ya create new project. Tapi kalau sudah ya kita langsung ke point.

Berikut ini adalah layout dari aplikasi kalkulator yang akan kita buat di android studio, tepatnya di activity_main.xml. jika anda mau copy langsung ya tidak masalah 

Activity_main.xml

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<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:background="@drawable/ras"
    tools:context="id.anakit.androidkalkulator.MainActivity">

    <TextView
        android:id="@+id/txtScreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:gravity="right|center_vertical"
        android:maxLength="16"
        android:padding="10dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="30sp"
        android:typeface="serif" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/txtScreen"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button

                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnSeven"
                android:text="7" />
            <Button
                android:layout_width="0dp"

                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnEight"
                android:text="8" />
            <Button
                android:layout_width="0dp"

                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnNine"
                android:text="9"/>
            <Button
                android:layout_width="0dp"

                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnDivide"
                android:text="/"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnFour"
                android:text="4"/>
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnFive"
                android:text="5" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnSix"
                android:text="6" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnMultiply"
                android:text="*" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnOne"
                android:text="1" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnTwo"
                android:text="2" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnThree"
                android:text="3" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnSubtract"
                android:text="-" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnDot"
                android:text="." />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnZero"
                android:text="0" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnClear"
                android:text="C" />
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnAdd"
                android:text="+" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="30sp"
                android:id="@+id/btnEqual"
                android:text="=" /> 

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

Setelah anda memasukkan coding diatas kedalahm project kalkulator anda, ada point penting yang harus anda rubah atau perbaiki agar tidak error pada script layout aplikasi kalkulator sederhana diatas.

  1. android:background="@drawable/ras", ini berguna untuk memberikan backgroud atau latar belakang dari aplikasi kalkulator sederhana yang dibuat. Jika anda tidak ingin ribet mengenai masalah ini, anda bisa langsung hapus saja script ini. Namun jika ingin tetap ada background di aplikasi kalkulator yang anda buat, masukkan gambar ke drawable, dan ganti “ras” menjadi nama gambar yang anda masukkan tadi.
  2. tools:context="id.anakit.androidkalkulator.MainActivity" , ini berguna untuk menghubungkan dengan MainActivity.java. jadi ganti “id.anakit.androidkalkulator” dengan nama package project anda, lihat di MainActivity bagian paling atas.
Setelah selesai mengenai script layout aplikasi androi studio, kita beralih ke MainActivity. Anda bisa copas ke dalam editor android studio anda tepatnya di MainActivity script kalkulator  sederhana berikut ini.

MainActivity.java

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package id.anakit.androidkalkulator;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;



public class MainActivity extends AppCompatActivity{
   //script kalkulator sederhana anakit di android studio 
    private int[] numericButtons = {R.id.btnZero, R.id.btnOne, R.id.btnTwo, R.id.btnThree, R.id.btnFour, R.id.btnFive, R.id.btnSix, R.id.btnSeven, R.id.btnEight, R.id.btnNine};
    private int[] operatorButtons = {R.id.btnAdd, R.id.btnSubtract, R.id.btnMultiply, R.id.btnDivide};
    private TextView txtScreen;
    private boolean lastNumeric;
    private boolean stateError;
    private boolean lastDot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.txtScreen = (TextView) findViewById(R.id.txtScreen);
        setNumericOnClickListener();
        setOperatorOnClickListener();
    }

//cara membuat kalkulator sederhana di android studio by anakit
    private void setNumericOnClickListener() {
             View.OnClickListener listener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Button button = (Button) v;
                if (stateError) {
                    txtScreen.setText(button.getText());
                    stateError = false;
                } else {
                    txtScreen.append(button.getText());
                }
                lastNumeric = true;
            }
        };
        for (int id : numericButtons) {
            findViewById(id).setOnClickListener(listener);
        }
    }
    // cara membuat aplikasi kalkulator sederhana anakit
    private void setOperatorOnClickListener() {
        View.OnClickListener listener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (lastNumeric && !stateError) {
                    Button button = (Button) v;
                    txtScreen.append(button.getText());
                    lastNumeric = false;
                    lastDot = false;   
                }
            }
        };
        //anakit membuat aplikasi kalkulator di android studio
        for (int id : operatorButtons) {
            findViewById(id).setOnClickListener(listener);
        }
        // Decimal point
        findViewById(R.id.btnDot).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (lastNumeric && !stateError && !lastDot) {
                    txtScreen.append(".");
                    lastNumeric = false;
                    lastDot = true;
                }
            }
        });
        findViewById(R.id.btnClear).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtScreen.setText("");
                lastNumeric = false;
                stateError = false;
                lastDot = false;
            }
        });
        findViewById(R.id.btnEqual).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onEqual();
            }
        });
    }

    /**
     * script membuat aplikasi kalkulator simple by anakit. 
     */
    private void onEqual() {
        if (lastNumeric && !stateError) {
             String txt = txtScreen.getText().toString();
               Expression expression = new ExpressionBuilder(txt).build();
            try {
             double result = expression.evaluate();
                txtScreen.setText(Double.toString(result));
                lastDot = true; // Result contains a dot
            } catch (ArithmeticException ex) {
                txtScreen.setText("Error");
                stateError = true;
                lastNumeric = false;
            }
        }
    }
}

perhatian!!!, package id.anakit.androidkalkulator; jangan ikut di copas ya, jadi hapus yang yang ada di MainActivity sebelumnya kecuali package (dari deklarasi import kebawah yang dihapus). Dan pastekan script kalkulator sederhana diatas. Jika anda mengikuti dengan benar, saya yakin tidak akan ada masalah, kecuali aplikasi android studio anda yang bermasalah... hehehe..

jadi setelah selesai membuat aplikasi kalkulator sederhan dengan android studio, tinggal kita lakukan build atau Run “App” ke emulator atau perangkat smartphone, saya lebih suka ke smartphone langsung biar greget gitu langsung test nyata di android sendiri.

cara membuat kalkulator sederhana di android studio
gambar kalkulator sederhan dengan android studio

Diatas adalah tampilan awal dari membuat kalkulator di android studio, lihat dan perhatikan ada di background. Itulah yang saya maksud dari gambar latar belakang tadi yang harus anda rubah atau hapus. Dan kemudian kita test kalkulator sederhana ini dengan memasukkan angka-angka sembarang untuk dihitung hasilnya.

script membuat kalkulator sederhana di android studio, dan berginilah hasil dari membuat kalkulator sederhana
Gambar hasil script kalkulator sederhana di android studio


Perhatikan gambar diatas, aplikasi kalkulator sederhana ini bisa langsung menerima banyak input sekaligus untuk dihitung, bagaimana hasilnya? Perhatikan gambar berikut ini. Tara.....

membuat kalkulator sederhana dengan android studio lengkap dengan penjelasan untuk di pakai scriptnya pada project masing-masing
Gambar hasil dari membuat kalkulator sederhana android studio

Berhasil juga ternyata membuat aplikasi kalkulator sederhana di android studio, dan untuk hasil perhitungannya silahkan diuji masing-masing.

Jadi, demikianlah pembahasan script aplikasi kalkulator sederhana di android studio, atau cara membuat kalkulaor sederhana di android studio, semogar artikel ini bermanfaat bagi yang membutuhkan, salam ANAKIT....

1 comments so far

gan, bisa gak script kalkulator tersebut di pakai untuk membuat kalkulator di eclipse?


EmoticonEmoticon