Label: ,

Android Tutorial - Kalkulator Sederhana dengan Eclipse

Kali ini saya akan berbagai tutorial tentang cara membuat kalkulator sederhana menggunakan program eclipse. Hasil tampilannya seperti ini..



Ok, jika anda tertarik mari kita berksperimen...

1. Buat Projectnya terlebih dahulu. kemudian beri nama projectnya dengan 'Kalkulator' dan beri nama pada Packagenya "com.ahmadsahidin.kalkulator".  Sesuai dengan gambar berikut.



2. Buka  "activity_main.xml"  kemudian sesuaikan dengan kode di 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" >
 
 <TextView  
     android:id="@+id/txtStack"
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textSize="15sp"
     android:gravity="right"
     android:layout_marginTop = "3sp"
     android:layout_marginLeft = "5sp"
     android:layout_marginRight = "5sp"/>
 
 <TextView
 
     android:id="@+id/result_id"  
     android:layout_width="300dp"
     android:layout_height="wrap_content"
     android:layout_marginLeft="10dp"
     android:layout_below="@+id/txtStack"
     android:paddingLeft="10dp"
     android:paddingRight="10dp"
     android:inputType="text"
     android:textColor="#ff6601"
     android:textSize="24sp"
     android:textStyle="bold"
     android:background="#ff003333"
     android:layout_marginTop="5dp"
     android:gravity="right" />
 
 <TextView  
     android:id="@+id/txtMemory"
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/result_id"
     android:textSize="15sp"
     android:gravity="left"
     android:layout_marginLeft = "5sp"
     android:layout_marginRight = "5sp"/>
 
 <Button
 
     android:id="@+id/Btn7_id"  
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/txtMemory"
     android:text="7"
     android:onClick="btn7Clicked" />
 
 <Button
     android:id="@+id/Btn8_id"  
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/txtMemory"
     android:layout_toRightOf="@id/Btn7_id"
     android:text="8"
     android:onClick="btn8Clicked" />
 
  <Button
     android:id="@+id/Btn9_id"  
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/txtMemory"
     android:layout_toRightOf="@id/Btn8_id"
     android:text="9"
     android:onClick="btn9Clicked" />
 
  <Button
     android:id="@+id/Btnclear_id"
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/txtMemory"
     android:layout_toRightOf="@id/Btn9_id"
     android:onClick="btnclearClicked"
     android:text="On" />
 
  <Button
     android:id="@+id/Btn4_id"  
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/Btn7_id"
     android:text="4"
     android:onClick="btn4Clicked" /> 

  <Button
     android:id="@+id/Btn5_id"  
     android:layout_width="60dp"
     android:layout_height="50dp"
     android:layout_below="@id/Btn8_id"
     android:layout_toRightOf="@id/Btn4_id"
     android:text="5"
     android:onClick="btn5Clicked" />

  <Button
     android:id="@+id/Btn6_id"  
     android:layout_width="60dp"
     android:layout_height="50dp" 
     android:layout_below="@id/Btn9_id" 
     android:layout_toRightOf="@id/Btn5_id" 
     android:text="6" 
     android:onClick="btn6Clicked" /> 
 
  <Button
     android:id="@+id/Btn1_id"  
     android:layout_width="60dp" 
     android:layout_height="50dp" 
     android:layout_below="@id/Btn4_id" 
     android:text="1" 
     android:onClick="btn1Clicked" /> 

  <Button
     android:id="@+id/Btn2_id"   
     android:layout_width="60dp" 
     android:layout_height="50dp" 
     android:layout_below="@id/Btn5_id" 
     android:layout_toRightOf="@id/Btn1_id" 
     android:text="2" 
     android:onClick="btn2Clicked" />

 <Button
     android:id="@+id/Btn3_id"   
     android:layout_width="60dp"
     android:layout_height="50dp" 
     android:layout_below="@id/Btn6_id" 
     android:layout_toRightOf="@id/Btn2_id" 
     android:text="3" 
     android:onClick="btn3Clicked" /> 

   <Button
       android:id="@+id/Btnplus_id"
       android:layout_width="60dp"
       android:layout_height="100dp"
       android:layout_above="@+id/Btn3_id"
       android:layout_toRightOf="@+id/Btnminus_id"
       android:onClick="btnplusClicked"
       android:text="+" />

   <Button
       android:id="@+id/Btnminus_id"
       android:layout_width="60dp"
       android:layout_height="50dp"
       android:layout_above="@+id/Btn3_id"
       android:layout_alignLeft="@+id/Btnclear_id"
       android:onClick="btnminusClicked"
       android:text="-" />

   <Button
       android:id="@+id/Btnmulti_id"
       android:layout_width="60dp"
       android:layout_height="50dp"
       android:layout_below="@+id/Btn6_id"
       android:layout_toRightOf="@+id/Btn6_id"
       android:onClick="btnmultiClicked"
       android:text="x" />

   <Button
       android:id="@+id/btn0_id"
       android:layout_width="60dp"
       android:layout_height="50dp"
       android:layout_below="@+id/Btn1_id"
       android:layout_toLeftOf="@+id/Btn2_id"
       android:text="0"
       android:onClick="btn0Clicked" />

   <Button
       android:id="@+id/Btndivide_id"
       android:layout_width="60dp"
       android:layout_height="50dp"
       android:layout_alignBaseline="@+id/btn0_id"
       android:layout_alignBottom="@+id/btn0_id"
       android:layout_toRightOf="@+id/Btn3_id"
       android:onClick="btndivideClicked"
       android:text="/" />

   <Button
       android:id="@+id/Btnequal_id"
       android:layout_width="60dp"
       android:layout_height="100dp"
       android:layout_alignLeft="@+id/Btnplus_id"
       android:layout_centerVertical="true"
       android:onClick="btnequalClicked"
       android:text="=" />

   <Button
       android:id="@+id/btnpangkat_id"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/btn0_id"
       android:layout_alignLeft="@+id/Btn2_id"
       android:text="^"
       android:onClick="btnpangkatClicked" />

   <Button
       android:id="@+id/btngtf_id"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/btnpangkat_id"
       android:layout_alignBottom="@+id/btnpangkat_id"
       android:layout_alignRight="@+id/Btn3_id"
       android:onClick="btngtfClicked"
       android:text="+/-" />
 
</RelativeLayout>

2. Kemudian pada MainActivity.java  sesuaikan dengan kode berikut.


package com.ahmadsahidin.kalkulator;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.TextView;
 
public class MainActivity extends Activity {
     
 public String str ="";
 Character op = 'q';
 int i,num,numtemp;
 GridView mKeypadGrid;
TextView userInputText;
TextView memoryStatText;
TextView mStackText;

boolean resetInput = false;
boolean hasFinalResult = false;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      
        userInputText = (TextView) findViewById(R.id.result_id);
        userInputText.setText("0");
        
        mStackText = (TextView) findViewById(R.id.txtStack);
        
        memoryStatText = (TextView) findViewById(R.id.txtMemory);
  memoryStatText.setText("");
        
        
    }
    
    
    public void btn0Clicked(View v){
        insert(0);
         
       }
    
      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 btnpangkatClicked(View v){
          perform();
          op = '^';
       
         }
      
      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();
       resetInput = false;
    hasFinalResult = true;
    
      }
       
 public void btnclearClicked(View v){
       reset();
       userInputText.setText("0");
      }
      private void reset() {
  // TODO Auto-generated method stub
   str ="";
   op ='q';
   num = 0;
   numtemp = 0;
   userInputText.setText("");
 }
 private void insert(int j) {
    // TODO Auto-generated method stub
       str = str+Integer.toString(j);
       num = Integer.valueOf(str).intValue();
       userInputText.setText(str);
        
     
   }
      private void perform() {
    // TODO Auto-generated method stub
    str = "";
    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;
    else if(op == '^')
     num = numtemp^num;
    userInputText.setText(""+num);
   }
     
}

3.  Selanjutnya, jalankan aplikasinya..kalau ada masalah atau pertanyaan silahkan berkomentar dibawah..


Tentang Penulis :
AHMAD SAHIDIN, Seorang anak muda asal Kaledupa yang sangat menyukai dunia Blogging. Berprofesi sebagai Mahasiswa Jurusan Pendidikan Matematika.
My facebook

2 komentar:

  1. Anonymous said...:

    Gan mau tanya , gimana caranya biar button nya bisa menyesuaikan layout smartphone/android nya masing-masing ? sebab jika resolusi layar nya berbeda maka tampilnya pun akan berbeda . karena tiap android memiliki resolusi layar yang berbeda

  1. elecomp.yeni said...:

    BONUS CUMA-CUMA senilai JUTAAN RUPIAH jika berlangganan!!! Dicari Agen Pakaian di Kalimantan, Sulawesi, Papua, Jawa, Sumatera, dan seluruh Indonesia. Kami memproduksi beraneka macam pakaian pria, wanita, busana muslim, jilbab, batik, baju koko / taqwa, aksesoris, dan lainnya. Model pakaian modern, Kualitas bagus dan Harga murah. Khusus pembelian grosir / partai. Segera hubungi 083834375641 [0.8.3.8.3.4.3.7.5.6.4.1] / Line : x0fernandes0x

Post a Comment