Ingat dulu jaman sekolah kalau ngerjain soal matematika tidak boleh pakai calculator. Kalau ketahuan bisa dimarahi pak Guru atau Bu Guru dan kalau ada yang pakai dan ketahuan itu bakal malu banget. Hal itu menyebabkan kita untuk menghafal perkalian dan pembagian.
Dahulu saya paling tidak suka kalau ada tugas mengarang, karena kita dituntut untuk mengarang dengan menulisnya dikertas folio dua lembar, tapi toh bisa selesai juga dan original dari pikiran kita sendiri. Kalau jaman sekarang mungkin kita akan buka google dan mencari topiknya dari situ kita bisa kembangkan dan menjadikannya lebih baik. Demikian juga dengan calculator. Sekarang calculator sudah ada di handphonenya. Terkadang ada rasa ingin buat aplikasi android calculator sendiri, tentunya tidak muluk-muluk yang fungsi dasar saja dulu. Cari-cari referensi digoogle akhirnya ketemu juga di http://www.dudeprogrammers.com/
Untuk yang tertarik membuatnya bisa mengikuti langkah berikut ini
1. Buat new project dengan nama MyCalculator.
2. Sekarang kita buat user interfacenya, edit activity_main.xml lalu ketikan kode berikut
<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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <EditText android:id="@+id/result_id" android:layout_width="match_parent" android:layout_height="70dp" /> <Button android:id="@+id/Btn7_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/result_id" android:onClick="btn7Clicked" android:text="7" /> <Button android:id="@+id/Btn8_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/result_id" android:layout_toRightOf="@id/Btn7_id" android:onClick="btn8Clicked" android:text="8" /> <Button android:id="@+id/Btn9_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/result_id" android:layout_toRightOf="@id/Btn8_id" android:onClick="btn9Clicked" android:text="9" /> <Button android:id="@+id/Btnclear_id" android:layout_width="90dp" android:layout_height="60dp" android:layout_below="@id/result_id" android:layout_toRightOf="@id/Btn9_id" android:onClick="btnclearClicked" android:text="clear" /> <Button android:id="@+id/Btn4_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn7_id" android:onClick="btn4Clicked" android:text="4" /> <Button android:id="@+id/Btn5_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn8_id" android:layout_toRightOf="@id/Btn4_id" android:onClick="btn5Clicked" android:text="5" /> <Button android:id="@+id/Btn6_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn9_id" android:layout_toRightOf="@id/Btn5_id" android:onClick="btn6Clicked" android:text="6" /> <Button android:id="@+id/Btnplus_id" android:layout_width="90dp" android:layout_height="60dp" android:layout_below="@id/Btnclear_id" android:layout_toRightOf="@id/Btn6_id" android:onClick="btnplusClicked" android:text="+" /> <Button android:id="@+id/Btn1_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn4_id" android:onClick="btn1Clicked" android:text="1" /> <Button android:id="@+id/Btn2_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn5_id" android:layout_toRightOf="@id/Btn1_id" android:onClick="btn2Clicked" android:text="2" /> <Button android:id="@+id/Btn3_id" android:layout_width="70dp" android:layout_height="60dp" android:layout_below="@id/Btn6_id" android:layout_toRightOf="@id/Btn2_id" android:onClick="btn3Clicked" android:text="3" /> <Button android:id="@+id/Btnminus_id" android:layout_width="90dp" android:layout_height="60dp" android:layout_below="@id/Btnplus_id" android:layout_toRightOf="@id/Btn3_id" android:onClick="btnminusClicked" android:text="-" /> <Button android:id="@+id/Btnequal_id" android:layout_width="110dp" android:layout_height="60dp" android:layout_below="@id/Btn1_id" android:onClick="btnequalClicked" android:text="=" /> <Button android:id="@+id/Btndivide_id" android:layout_width="90dp" android:layout_height="60dp" android:layout_below="@id/Btn1_id" android:layout_toRightOf="@id/Btnequal_id" android:onClick="btndivideClicked" android:text="/" /> <Button android:id="@+id/Btnmulti_id" android:layout_width="100dp" android:layout_height="60dp" android:layout_below="@id/Btnminus_id" android:layout_toRightOf="@id/Btndivide_id" android:onClick="btnmultiClicked" android:text="*" /> </RelativeLayout>
3. Sekarang kita ke bagian otak dari aplikasi, edit MainActivity.java lalu ketikan kode berikut
package net.agusharyanto.mycalculator; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.EditText; public class MainActivity extends ActionBarActivity { public String str =""; Character op = 'q'; float i,num,numtemp; EditText showResult; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showResult = (EditText)findViewById(R.id.result_id); } public void btn1Clicked(View v){ insert(1); } public void btn2Clicked(View v){ insert(2); } public void btn3Clicked(View v){ insert(3); } public void btn4Clicked(View v){ insert(4); } public void btn5Clicked(View v){ insert(5); } public void btn6Clicked(View v){ insert(6); } public void btn7Clicked(View v){ insert(7); } public void btn8Clicked(View v){ insert(8); } public void btn9Clicked(View v){ insert(9); } public void btnplusClicked(View v){ perform(); op = '+'; } public void btnminusClicked(View v){ perform(); op = '-'; } public void btndivideClicked(View v){ perform(); op = '/'; } public void btnmultiClicked(View v){ perform(); op = '*'; } public void btnequalClicked(View v){ calculate(); } public void btnclearClicked(View v){ reset(); } private void reset() { // TODO Auto-generated method stub str =""; op ='q'; num = 0; numtemp = 0; showResult.setText(""); } private void insert(int j) { // TODO Auto-generated method stub str = str+Integer.toString(j); num = Integer.valueOf(str).intValue(); showResult.setText(str); } private void perform() { // TODO Auto-generated method stub str = ""; calculateNoShow(); numtemp = num; } private void calculate() { // TODO Auto-generated method stub if(op == '+') num = numtemp+num; else if(op == '-') num = numtemp-num; else if(op == '/') num = numtemp/num; else if(op == '*') num = numtemp*num; showResult.setText(""+num); } private void calculateNoShow() { // TODO Auto-generated method stub if(op == '+') num = numtemp+num; else if(op == '-') num = numtemp-num; else if(op == '/') num = numtemp/num; else if(op == '*') num = numtemp*num; } }
4. Sekarang mari kita run projectnya
Kalau dah sukses coba deh tunjukkan ke Ayah dan Ibu kita dan perhatikan raut wajah mereka. Buat adik-adiku yang masih kuliah bersungguh-sungguhlah dengan kuliahmu, selesaikanlah tepat waktu, Dan bahagiakanlah ke dua orang tuamu yang sudah menyayangimu dengan penuh kasih sayang. Mereka akan gembira melihat anak-anak mereka menjadi orang yang sukses dan berakhlak mulia.
Oh ia ada Film bagus nih yang insya Allah bisa membuat kita tambah sayang sama kedua orang tua kita, judulnya “Ada surga dirumahmu”.
Semoga Bermanfaat
Salam Hangat Developer Android
Agus Haryanto
Trainer, Praktisi Android
Pembicara Seminar IT
Referensi
Tutorialnya bagus mas, cuma ada yg kurang, sebaiknya dijelaskan juga konsep kerjanya, fungsi method-methodnya, variabel-variabelnya. Jadi buat ngokohin pondasi pengetahuan ttg android heheh..
tutorial nya mantap bang
tutorial nya jelas sekali bang. tapi yang tidak kalah mantap nya kata-kata terakhir yang abang bicarakan yaitu “Buat adik-adiku yang masih kuliah bersungguh-sungguhlah dengan kuliahmu, selesaikanlah tepat waktu, Dan bahagiakanlah ke dua orang tuamu yang sudah menyayangimu dengan penuh kasih sayang. Mereka akan gembira melihat anak-anak mereka menjadi orang yang sukses dan berakhlak mulia”
saya sangat terharu membaca nya, terimakasih banyak bang
Bagus tutorialnya. prima plastik
Mantab Pak Tutorialnya.
Kalau untuk menambahkan tombol button yang berisi angka 0 (nul) dan bisa berfungsi juga bagaimana Pak.
Terima Kasih.
mantap sekali tutorialnya….
apakah ada tutorial untuk menampilkan HTML mengunkan android studio…dimana ada banyak file html dan bisa saling di panggil…trimakasih pak sebelumnya