Sabtu, 27 Mei 2017

Membuat kalkulator di android dengan android studio tutorial




 pada tutorial belajar android kali ini, kita akan mencoba membuat  sebuah Aplikasi Kalkulator Sederhana di Android. Bagi user (pengguna) Aplikasi Kalkulator mungkin salah satu Aplikasi secara default(bawaan ) di perangkat Android ,yang cukup penting untuk keperluan sehari-hari. Karna Aplikasi ini memang umumnya sudah ada sebelum era Smartphone Android muncul




Nah disini kita akan mencoba membuat Aplikasi Simple (sederhana ) Kalkulator Android dengan menggunakan Android Studio. Meskipun tidak selengkap dan sesempurna seperti Aplikasi bawaan di perangkat Android, setidaknya kita tahu prosesnya dari mulai layout (desain) dan juga bahasa pemrogramman java untuk latihan.



1. Pertama buka Android Studio 

2. Pilih Start a New Android Studio Project 

A



                                        


3..Kedua pada bagian Create New Project, sesuaikan dengan nama dan package serta lokasi file yang akan kalian gunakan. Untuk contoh saya menggunakan seperti yang ada di gambar di bawah. Jika sudah pilih Next.



Create New Project


4. Selanjutnya tentukan Target Android Devices dari Aplikasi kalian , secara default saya menggunakan API 15 untuk minimumnya. Jika sudah pilih Next.








Target Android Devices



5. Pada bagian Add an Activity to Mobile kita bisa memilih template bawaan yang masih kosong yaitu Empty Activity  lalu pilih Next 






Empty Activity


6. Selanjutnya di bagian Cutomize the Activity kita hanya perlu memilih tombol Finish.





7.Setelah itu kita tunggu sampai proses building project gradle selesai .


§  Setelah selesai lalu kita copykan atau terapkan baris instruksi (codingan ) dibawah ke dalam file layout activity_main.xml dan file java MainActivity.java.

activity_main.xml
DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
1.   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2.                   xmlns:tools="http://schemas.android.com/tools"
3.                   android:layout_width="match_parent"
4.                   android:layout_height="match_parent"
5.                   android:paddingBottom="@dimen/activity_vertical_margin"
6.                   android:paddingLeft="@dimen/activity_horizontal_margin"
7.                   android:paddingRight="@dimen/activity_horizontal_margin"
8.                   android:paddingTop="@dimen/activity_vertical_margin"
9.                   tools:context=".MainActivity">
10.   
11.      <EditText
12.          android:id="@+id/result_id"
13.          android:layout_width="match_parent"
14.          android:layout_height="70dp" />
15.   
16.      <Button
17.          android:id="@+id/Btn7_id"
18.          android:layout_width="70dp"
19.          android:layout_height="60dp"
20.          android:layout_below="@id/result_id"
21.          android:onClick="btn7Clicked"
22.          android:text="7" />
23.   
24.      <Button
25.          android:id="@+id/Btn8_id"
26.          android:layout_width="70dp"
27.          android:layout_height="60dp"
28.          android:layout_below="@id/result_id"
29.          android:layout_toRightOf="@id/Btn7_id"
30.          android:onClick="btn8Clicked"
31.          android:text="8" />
32.   
33.      <Button
34.          android:id="@+id/Btn9_id"
35.          android:layout_width="70dp"
36.          android:layout_height="60dp"
37.          android:layout_below="@id/result_id"
38.          android:layout_toRightOf="@id/Btn8_id"
39.          android:onClick="btn9Clicked"
40.          android:text="9" />
41.   
42.      <Button
43.          android:id="@+id/Btnclear_id"
44.          android:layout_width="90dp"
45.          android:layout_height="60dp"
46.          android:layout_below="@id/result_id"
47.          android:layout_toRightOf="@id/Btn9_id"
48.          android:onClick="btnclearClicked"
49.          android:text="clear" />
50.   
51.      <Button
52.          android:id="@+id/Btn4_id"
53.          android:layout_width="70dp"
54.          android:layout_height="60dp"
55.          android:layout_below="@id/Btn7_id"
56.          android:onClick="btn4Clicked"
57.          android:text="4" />
58.   
59.      <Button
60.          android:id="@+id/Btn5_id"
61.          android:layout_width="70dp"
62.          android:layout_height="60dp"
63.          android:layout_below="@id/Btn8_id"
64.          android:layout_toRightOf="@id/Btn4_id"
65.          android:onClick="btn5Clicked"
66.          android:text="5" />
67.   
68.      <Button
69.          android:id="@+id/Btn6_id"
70.          android:layout_width="70dp"
71.          android:layout_height="60dp"
72.          android:layout_below="@id/Btn9_id"
73.          android:layout_toRightOf="@id/Btn5_id"
74.          android:onClick="btn6Clicked"
75.          android:text="6" />
76.   
77.      <Button
78.          android:id="@+id/Btnplus_id"
79.          android:layout_width="90dp"
80.          android:layout_height="60dp"
81.          android:layout_below="@id/Btnclear_id"
82.          android:layout_toRightOf="@id/Btn6_id"
83.          android:onClick="btnplusClicked"
84.          android:text="+" />
85.   
86.      <Button
87.          android:id="@+id/Btn1_id"
88.          android:layout_width="70dp"
89.          android:layout_height="60dp"
90.          android:layout_below="@id/Btn4_id"
91.          android:onClick="btn1Clicked"
92.          android:text="1" />
93.   
94.      <Button
95.          android:id="@+id/Btn2_id"
96.          android:layout_width="70dp"
97.          android:layout_height="60dp"
98.          android:layout_below="@id/Btn5_id"
99.          android:layout_toRightOf="@id/Btn1_id"
100.        android:onClick="btn2Clicked"
101.        android:text="2" />
102. 
103.    <Button
104.        android:id="@+id/Btn3_id"
105.        android:layout_width="70dp"
106.        android:layout_height="60dp"
107.        android:layout_below="@id/Btn6_id"
108.        android:layout_toRightOf="@id/Btn2_id"
109.        android:onClick="btn3Clicked"
110.        android:text="3" />
111. 
112.    <Button
113.        android:id="@+id/Btnminus_id"
114.        android:layout_width="90dp"
115.        android:layout_height="60dp"
116.        android:layout_below="@id/Btnplus_id"
117.        android:layout_toRightOf="@id/Btn3_id"
118.        android:onClick="btnminusClicked"
119.        android:text="-" />
120. 
121.    <Button
122.        android:id="@+id/Btnequal_id"
123.        android:layout_width="110dp"
124.        android:layout_height="60dp"
125.        android:layout_below="@id/Btn1_id"
126.        android:onClick="btnequalClicked"
127.        android:text="=" />
128. 
129.    <Button
130.        android:id="@+id/Btndivide_id"
131.        android:layout_width="90dp"
132.        android:layout_height="60dp"
133.        android:layout_below="@id/Btn1_id"
134.        android:layout_toRightOf="@id/Btnequal_id"
135.        android:onClick="btndivideClicked"
136.        android:text="/" />
137. 
138.    <Button
139.        android:id="@+id/Btnmulti_id"
140.        android:layout_width="100dp"
141.        android:layout_height="60dp"
142.        android:layout_below="@id/Btnminus_id"
143.        android:layout_toRightOf="@id/Btndivide_id"
144.        android:onClick="btnmultiClicked"
145.        android:text="*" />
146. 
147.</RelativeLayout>



MainActivity.java.
DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
1.   package com.okedroid.aplikasisaya;
2.    
3.   import android.os.Bundle;
4.   import android.support.v7.app.AppCompatActivity;
5.   import android.view.View;
6.   import android.widget.EditText;
7.    
8.    
9.   public class MainActivity extends AppCompatActivity {
10.   
11.      public String str ="";
12.      Character op = 'q';
13.      float i,num,numtemp;
14.      EditText showResult;
15.      @Override
16.      public void onCreate(Bundle savedInstanceState) {
17.          super.onCreate(savedInstanceState);
18.          setContentView(R.layout.activity_main);
19.   
20.          showResult = (EditText)findViewById(R.id.result_id);
21.   
22.      }
23.      public void btn1Clicked(View v){
24.          insert(1);
25.   
26.      }
27.   
28.      public void btn2Clicked(View v){
29.          insert(2);
30.   
31.      }
32.      public void btn3Clicked(View v){
33.          insert(3);
34.   
35.      }
36.      public void btn4Clicked(View v){
37.          insert(4);
38.   
39.      }
40.      public void btn5Clicked(View v){
41.          insert(5);
42.   
43.      }
44.      public void btn6Clicked(View v){
45.          insert(6);
46.      }
47.      public void btn7Clicked(View v){
48.          insert(7);
49.   
50.      }
51.      public void btn8Clicked(View v){
52.          insert(8);
53.   
54.      }
55.      public void btn9Clicked(View v){
56.          insert(9);
57.   
58.      }
59.      public void btnplusClicked(View v){
60.          perform();
61.          op = '+';
62.   
63.      }
64.   
65.      public void btnminusClicked(View v){
66.          perform();
67.          op = '-';
68.   
69.      }
70.      public void btndivideClicked(View v){
71.          perform();
72.          op = '/';
73.   
74.      }
75.      public void btnmultiClicked(View v){
76.          perform();
77.          op = '*';
78.   
79.      }
80.      public void btnequalClicked(View v){
81.          calculate();
82.   
83.      }
84.   
85.      public void btnclearClicked(View v){
86.          reset();
87.      }
88.      private void reset() {
89.          // TODO Auto-generated method stub
90.          str ="";
91.          op ='q';
92.          num = 0;
93.          numtemp = 0;
94.          showResult.setText("");
95.      }
96.      private void insert(int j) {
97.          // TODO Auto-generated method stub
98.          str = str+Integer.toString(j);
99.          num = Integer.valueOf(str).intValue();
100.        showResult.setText(str);
101. 
102.    }
103.    private void perform() {
104.        // TODO Auto-generated method stub
105.        str = "";
106.        calculateNoShow();
107.        numtemp = num;
108. 
109.    }
110.    private void calculate() {
111.        // TODO Auto-generated method stub
112.        if(op == '+')
113.            num = numtemp+num;
114.        else if(op == '-')
115.            num = numtemp-num;
116.        else if(op == '/')
117.            num = numtemp/num;
118.        else if(op == '*')
119.            num = numtemp*num;
120.        showResult.setText(""+num);
121.    }
122. 
123.    private void calculateNoShow() {
124.        // TODO Auto-generated method stub
125.        if(op == '+')
126.            num = numtemp+num;
127.        else if(op == '-')
128.            num = numtemp-num;
129.        else if(op == '/')
130.            num = numtemp/num;
131.        else if(op == '*')
132.            num = numtemp*num;
133.    }
134.}



Setelah itu kita coba jalankan lewat Android Studio.

Kurang lebih hasil tampilanya akan seperti ini :










Hasil Aplikasi Simple Kalkulator


Tidak ada komentar:

Posting Komentar