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.
- 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.
- 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.
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.
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.
Perhatikan gambar diatas, aplikasi kalkulator sederhana ini bisa langsung menerima banyak input sekaligus untuk dihitung, bagaimana hasilnya? Perhatikan gambar berikut ini. Tara.....
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....
gan, bisa gak script kalkulator tersebut di pakai untuk membuat kalkulator di eclipse?
ReplyDelete