R.Morin

Minggu, 12 Mei 2013

BUAT KALKULATOR ANDROID

Sejak awal masuk mata kuliah Mobile Computing, saya selalu bertanya pada diri saya, kira-kira apa yach yang bakalan diajar sama dosennya, (maklum kurang koordinasi dengan kk tingkat) hehe :D. semenjak pertemuan pertama kira-kira kami cuman 10 orang saja yg masuk kami mulai dengan perkenalan n kata dosennya minggu depan baru mulai aktif kuliah kali ini saya kabulkan doa teman-teman kalian yg tidak masuk pada saat ini dan juga pertemuan pertama merupakan hari bonus bagi mahasiswa karena walaupun tidak masuk dipertemuan awal  akan dianggap masuk oleh pihak kampus yang merupakan kebijakan pihak kampus. by the way langsung saja kita bahas Projectnya:


ini adalah project UTS saya N kurang lebih seperti gambar dibawah ini :





1. Buka Eclipse - File - New - Other -Android Application Project
2. Pada form New Android Application:
    - Aplication Name - Isikan nama sesuka mu
    - Project Name - otomatis akan mengikuti nama dari Application Name
    - Package Name - ini minimal dua titik (.) memisahkan beberapa karakter yang menjadi                
      pembeda dari application name lainnya contohnya "herman.stikom.kalkulator1" tanpa tanda "-"
3. Minimum requred SDK, contohnya "API 14: Android 4.0 (IceCreamSanwich)"
    Target SDK, contohnya "API 17: Android 4.2 (JellyBean)"
    Conmpile with, samakan saja dengan Target SDK
    Theme - Terserah mas bro..
4. Selanjutnya Next hingga finish

keluarlah Graphical Layout nya - disana tinggal main drag and drop saja..
- 1 plane tex
- 17 Button, seperti pada gambar1 diatas

Pada Activity_main.xml : copas codingan dibawah ini,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    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"
    android:background="@drawable/gradient"
    tools:context=".CalculatorActivity" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal" >

            <requestFocus />
        </EditText>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow1" >

        <Button
            android:id="@+id/button7"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="7" />

        <Button
            android:id="@+id/button8"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="8" />

        <Button
            android:id="@+id/button9"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="9" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow2" >

        <Button
            android:id="@+id/button4"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="4" />

        <Button
            android:id="@+id/button5"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="5" />

        <Button
            android:id="@+id/button6"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="6" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow3" >

        <Button
            android:id="@+id/button1"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="2" />

        <Button
            android:id="@+id/button3"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="3" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow4" >

        <Button
            android:id="@+id/buttonkoma"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="." />

        <Button
            android:id="@+id/button0"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="0" />

        <Button
            android:id="@+id/buttonclear"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="C" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow5" >

        <Button
            android:id="@+id/buttonkurang"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="-" />

        <Button
            android:id="@+id/buttontambah"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="+" />

        <Button
            android:id="@+id/buttonakar"
            android:layout_width="90dp"
            android:layout_height="wrap_content" />

        <TableRow
            android:id="@+id/tableRow8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </TableRow>

    </TableRow>

    <TableRow
        android:id="@+id/tableRow7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tableRow6" >

        <Button
            android:id="@+id/buttonbagi"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="/" />

        <Button
            android:id="@+id/buttonkali"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="x" />

        <Button
            android:id="@+id/buttonsamadengan"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="=" />

    </TableRow>

</RelativeLayout>


Dan pada Main_Activity.java copas kodingan berikut :


package herman.example.uts;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Switch;

public class MainActivity extends Activity {
Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnkurang,btntambah,btnbagi,btnkali,btnsamadengan,btnkoma,btnclear;
EditText hasil;
int operator;
double nilai1, nilai2;
boolean statusText=true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        hasil = (EditText)findViewById(R.id.editText1);
        btn1 = (Button)findViewById(R.id.button1);
        btn2 = (Button)findViewById(R.id.button2);
        btn3 = (Button)findViewById(R.id.button3);
        btn4 = (Button)findViewById(R.id.button4);
        btn5 = (Button)findViewById(R.id.button5);
        btn6 = (Button)findViewById(R.id.button6);
        btn7 = (Button)findViewById(R.id.button7);
        btn8 = (Button)findViewById(R.id.button8);
        btn9 = (Button)findViewById(R.id.button9);
        btn0 = (Button)findViewById(R.id.button0);
        
        
        btnkurang = (Button)findViewById(R.id.buttonkurang);
        btntambah = (Button)findViewById(R.id.buttontambah);
        btnbagi = (Button)findViewById(R.id.buttonbagi);
        btnkali = (Button)findViewById(R.id.buttonkali); 
        btnsamadengan = (Button)findViewById(R.id.buttonsamadengan);
        btnkoma = (Button)findViewById(R.id.buttonkoma);
        btnclear = (Button)findViewById(R.id.buttonclear);
        
        
btn1.setOnClickListener(btn1_click);
btn2.setOnClickListener(btn2_click);
btn3.setOnClickListener(btn3_click);
btn4.setOnClickListener(btn4_click);
btn5.setOnClickListener(btn5_click);
btn6.setOnClickListener(btn6_click);
btn7.setOnClickListener(btn7_click);
btn8.setOnClickListener(btn8_click);
btn9.setOnClickListener(btn9_click);
btn0.setOnClickListener(btn0_click);
btnkurang.setOnClickListener(btnkurang_click);
btntambah.setOnClickListener(btntambah_click);
btnbagi.setOnClickListener(btnbagi_click);
btnkali.setOnClickListener(btnkali_click);
btnsamadengan.setOnClickListener(btnsamadengan_click);
btnkoma.setOnClickListener(btnkoma_click);
btnclear.setOnClickListener(btnclear_click);
    }
    
    
    
    //tombol 1
    View.OnClickListener btn1_click =  new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"1");
}
};
//tombol 2
View.OnClickListener btn2_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"2");
}
};
//tombol 3
View.OnClickListener btn3_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"3");
}
};

//tombol 4
View.OnClickListener btn4_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"4");
}
};
//tombol 5
View.OnClickListener btn5_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"5");
}
};
//tombol 6
View.OnClickListener btn6_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"6");
}
};
    //tombol 7
View.OnClickListener btn7_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"7");
}
};
//tombol 8
View.OnClickListener btn8_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"8");
}
};

//tombol 9
View.OnClickListener btn9_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"9");
}
};

//tombol 0
View.OnClickListener btn0_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+"0");
}
};
//tombol kurang
View.OnClickListener btnkurang_click = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//hasil.setText(hasil.getText().toString()+"-");
nilai1=Double.parseDouble(hasil.getText().toString());
hasil.setText("");
operator = 1;
}
};
//tombol tambah
View.OnClickListener btntambah_click = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//hasil.setText(hasil.getText().toString()+"+");
nilai1=Double.parseDouble(hasil.getText().toString());
hasil.setText("");
operator = 2;
}
};
//tombol bagi
View.OnClickListener btnbagi_click = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//hasil.setText(hasil.getText().toString()+"/");
nilai1=Double.parseDouble(hasil.getText().toString());
hasil.setText("");
operator = 3;
}
};
//tombol kali
View.OnClickListener btnkali_click = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//hasil.setText(hasil.getText().toString()+"x");
nilai1=Double.parseDouble(hasil.getText().toString());
hasil.setText("");
operator = 4;
}
};

//tombol samadengan
View.OnClickListener btnsamadengan_click = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//hasil.setText(hasil.getText().toString()+"=");
nilai2=Double.parseDouble(hasil.getText().toString());
hasil.setText("");
if(operator == 1){
hasil.setText(Double.toString(nilai1-nilai2));
}
else if(operator == 2){
hasil.setText(Double.toString(nilai1+nilai2));
}
else if(operator == 3){
hasil.setText(Double.toString(nilai1/nilai2));
}
else if(operator == 4){
hasil.setText(Double.toString(nilai1*nilai2));
}
}
};

//tombol koma
View.OnClickListener btnkoma_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText(hasil.getText().toString()+".");
}
};

//tombol clear
View.OnClickListener btnclear_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
hasil.setText("");
}
};

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

Sedangkan untuk memberika warna pada kalkulatornya atau yang lebih sering disebut : Android LinearLayout Gradient background,

Pada Eclipse Click File - New - Other - Android XML file
pada New Android XML file 
- Resource type : Layout (default)
- Project : Sesuaikan dengan nama project yang mau di warnai sesuai contoh "herman.stikom.kalkulator1"
- File : ini adalah nama dari gradient itu terserah mau dikasih nama apa... contoh "gradient_kalkulator"
   finish, setelah itu buka gradient_kalkulator

Kopas condingan berikut :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <gradient
        android:angle="90"
        android:endColor="#999"
        android:startColor="#49A835" />

</shape>


Selesai silakan running di emulator yang sudah anda buat, dan jika ada error jangan panik karena mungkin nama packagenya bedah coba disamakan dengan punya kamu.. Thank's Semoga dapat membantu. Jessus Bless All.


Untuk file workspace nya download disini



Oiya ini ada project baru juga akan saya publish, but aku sudah ngantuk brat.. ni sekedar tampilan setelah di ranning