Yang pertama dilakukan adalah membuka IDE eclipse yang sudah terpasang ADT (Android development tools). untuk cara penginstallan di eclipse tinggal browsing saja.
Yang Kedua buat project android baru, namanya terserah apa saja..
Yang ketiga.... Saatnya ngoding....
hal yang pertama dalam membuat kalkulator ini, tentunya kita membuat terlebih dahulu user interfacenya atau layout kalo di android. Buka file main.xml pada folder project res/layout dan masukan skrip xml berikut:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:id="@+id/input1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:inputType="number" android:numeric="integer" android:text="" > <requestFocus /> </EditText> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"> > <Button android:id="@+id/satu" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" ></Button> <Button android:id="@+id/empat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" ></Button> <Button android:id="@+id/tujuh" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="7" ></Button> <Button android:id="@+id/koma" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="." > </Button></LinearLayout> <LinearLayout android:layout_weight="1" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/dua" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" ></Button> <Button android:id="@+id/lima" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" ></Button> <Button android:id="@+id/delapan" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="8" ></Button> <Button android:id="@+id/nol" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" ></Button></LinearLayout> <LinearLayout android:layout_weight="1" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/tiga" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" ></Button> <Button android:id="@+id/enam" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="6" ></Button> <Button android:id="@+id/sembilan" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="9" ></Button> <Button android:id="@+id/samadengan" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="=" ></Button></LinearLayout> <LinearLayout android:layout_weight="1" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> > <Button android:id="@+id/tambah" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="+" ></Button> <Button android:id="@+id/kurang" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="-" ></Button> <Button android:id="@+id/kali" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="*" ></Button> <Button android:id="@+id/bagi" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="/" ></Button></LinearLayout> <LinearLayout android:layout_weight="1" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> > <Button android:id="@+id/clear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Clear" ></Button></LinearLayout> </LinearLayout> </LinearLayout>
Yang pertama Menginisialisasikan komponen-komponen dari layout dan variabel lainnya:
Button satu,dua,tiga,empat,lima,enam,tujuh,delapan,sembilan,
nol,tambah,kali,kurang,bagi,samadengan,akar,clear,koma;
EditText input;
int operator;
double nilai1 , nilai2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input = (EditText)findViewById(R.id.input1);
satu = (Button)findViewById(R.id.satu);
dua = (Button)findViewById(R.id.dua);
tiga = (Button)findViewById(R.id.tiga);
empat = (Button)findViewById(R.id.empat);
lima = (Button)findViewById(R.id.lima);
enam = (Button)findViewById(R.id.enam);
tujuh = (Button)findViewById(R.id.tujuh);
delapan = (Button)findViewById(R.id.delapan);
sembilan = (Button)findViewById(R.id.sembilan);
nol = (Button)findViewById(R.id.nol);
tambah = (Button)findViewById(R.id.tambah);
kali = (Button)findViewById(R.id.kali);
kurang = (Button)findViewById(R.id.kurang);
bagi = (Button)findViewById(R.id.bagi);
samadengan = (Button)findViewById(R.id.samadengan);
koma = (Button)findViewById(R.id.koma);
clear = (Button)findViewById(R.id.clear);
Yang Kedua Menginisialisasikan action pada button:nol,tambah,kali,kurang,bagi,samadengan,akar,clear,koma;
EditText input;
int operator;
double nilai1 , nilai2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input = (EditText)findViewById(R.id.input1);
satu = (Button)findViewById(R.id.satu);
dua = (Button)findViewById(R.id.dua);
tiga = (Button)findViewById(R.id.tiga);
empat = (Button)findViewById(R.id.empat);
lima = (Button)findViewById(R.id.lima);
enam = (Button)findViewById(R.id.enam);
tujuh = (Button)findViewById(R.id.tujuh);
delapan = (Button)findViewById(R.id.delapan);
sembilan = (Button)findViewById(R.id.sembilan);
nol = (Button)findViewById(R.id.nol);
tambah = (Button)findViewById(R.id.tambah);
kali = (Button)findViewById(R.id.kali);
kurang = (Button)findViewById(R.id.kurang);
bagi = (Button)findViewById(R.id.bagi);
samadengan = (Button)findViewById(R.id.samadengan);
koma = (Button)findViewById(R.id.koma);
clear = (Button)findViewById(R.id.clear);
satu.setOnClickListener(this);
dua.setOnClickListener(this);
tiga.setOnClickListener(this);
empat.setOnClickListener(this);
lima.setOnClickListener(this);
enam.setOnClickListener(this);
tujuh.setOnClickListener(this);
delapan.setOnClickListener(this);
sembilan.setOnClickListener(this);
nol.setOnClickListener(this);
tambah.setOnClickListener(this);
kali.setOnClickListener(this);
kurang.setOnClickListener(this);
bagi.setOnClickListener(this);
samadengan.setOnClickListener(this);
koma.setOnClickListener(this);
clear.setOnClickListener(this);
}
jang lupa mengimplement-kan onClickListener jika kita akan membuat action dengan klik.dua.setOnClickListener(this);
tiga.setOnClickListener(this);
empat.setOnClickListener(this);
lima.setOnClickListener(this);
enam.setOnClickListener(this);
tujuh.setOnClickListener(this);
delapan.setOnClickListener(this);
sembilan.setOnClickListener(this);
nol.setOnClickListener(this);
tambah.setOnClickListener(this);
kali.setOnClickListener(this);
kurang.setOnClickListener(this);
bagi.setOnClickListener(this);
samadengan.setOnClickListener(this);
koma.setOnClickListener(this);
clear.setOnClickListener(this);
}
Yang Ketiga Membuat Method handlerNomor, metod ini berfungsi untuk memberikan display jika kita menekan button, misalkan kita menekan button satu dan dua, maka pada editteks akan muncul 12, jika kita tidak membuat metod ini, maka jika kita menekan button satu dan dua, maka pada editteks hanya akan tercetak 2. berikut metodnya:
private void handleNomor(String nomor) {
// TODO Auto-generated method stub
String txt = input.getText().toString();
txt+=nomor;
input.setText(txt);
}
Yang Keempat membuat metode clear untuk membersihkan editteks:// TODO Auto-generated method stub
String txt = input.getText().toString();
txt+=nomor;
input.setText(txt);
}
private void clear(){
input.setText("");
}
Yang Terakhir Memberikan Aksi dan Operasi. Cari metod yang merupakan hasil implementasi dari onClickListener, yaitu public void onClick(View v) dan tambahkan kode berikut didalamnya:input.setText("");
}
switch (v.getId()) {
case R.id.satu:
handleNomor("1");
break;
case R.id.dua:
handleNomor("2");
break;
case R.id.tiga:
handleNomor("3");
break;
case R.id.empat:
handleNomor("4");
break;
case R.id.lima:
handleNomor("5");
break;
case R.id.enam:
handleNomor("6");
break;
case R.id.tujuh:
handleNomor("7");
break;
case R.id.delapan:
handleNomor("8");
break;
case R.id.sembilan:
handleNomor("9");
break;
case R.id.nol:
handleNomor("0");
break;
case R.id.koma:
handleNomor(".");
break;
case R.id.tambah:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=1;
break;
case R.id.kurang:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=2;
break;
case R.id.kali:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=3;
break;
case R.id.bagi:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=4;
break;
case R.id.samadengan:
nilai2=Double.parseDouble(input.getText().toString());
input.setText("");
if(operator==1){
input.setText(Double.toString(nilai1+nilai2));
}else if(operator==2){
input.setText(Double.toString(nilai1-nilai2));
}else if(operator==3){
input.setText(Double.toString(nilai1*nilai2));
}else if(operator==4){
input.setText(Double.toString(nilai1/nilai2));
}
break;
case R.id.clear:
clear();
break;
default:
break;
}
Selesai dan hasilnya akan seperti di atas...case R.id.satu:
handleNomor("1");
break;
case R.id.dua:
handleNomor("2");
break;
case R.id.tiga:
handleNomor("3");
break;
case R.id.empat:
handleNomor("4");
break;
case R.id.lima:
handleNomor("5");
break;
case R.id.enam:
handleNomor("6");
break;
case R.id.tujuh:
handleNomor("7");
break;
case R.id.delapan:
handleNomor("8");
break;
case R.id.sembilan:
handleNomor("9");
break;
case R.id.nol:
handleNomor("0");
break;
case R.id.koma:
handleNomor(".");
break;
case R.id.tambah:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=1;
break;
case R.id.kurang:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=2;
break;
case R.id.kali:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=3;
break;
case R.id.bagi:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=4;
break;
case R.id.samadengan:
nilai2=Double.parseDouble(input.getText().toString());
input.setText("");
if(operator==1){
input.setText(Double.toString(nilai1+nilai2));
}else if(operator==2){
input.setText(Double.toString(nilai1-nilai2));
}else if(operator==3){
input.setText(Double.toString(nilai1*nilai2));
}else if(operator==4){
input.setText(Double.toString(nilai1/nilai2));
}
break;
case R.id.clear:
clear();
break;
default:
break;
}
FULL SOURCE CODE
package org.dharmatin.Calcdroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class CalcdroidActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button satu,dua,tiga,empat,lima,enam,tujuh,delapan,sembilan,
nol,tambah,kali,kurang,bagi,samadengan,akar,clear,koma;
EditText input;
int operator;
double nilai1 , nilai2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input = (EditText)findViewById(R.id.input1);
satu = (Button)findViewById(R.id.satu);
dua = (Button)findViewById(R.id.dua);
tiga = (Button)findViewById(R.id.tiga);
empat = (Button)findViewById(R.id.empat);
lima = (Button)findViewById(R.id.lima);
enam = (Button)findViewById(R.id.enam);
tujuh = (Button)findViewById(R.id.tujuh);
delapan = (Button)findViewById(R.id.delapan);
sembilan = (Button)findViewById(R.id.sembilan);
nol = (Button)findViewById(R.id.nol);
tambah = (Button)findViewById(R.id.tambah);
kali = (Button)findViewById(R.id.kali);
kurang = (Button)findViewById(R.id.kurang);
bagi = (Button)findViewById(R.id.bagi);
samadengan = (Button)findViewById(R.id.samadengan);
koma = (Button)findViewById(R.id.koma);
clear = (Button)findViewById(R.id.clear);
satu.setOnClickListener(this);
dua.setOnClickListener(this);
tiga.setOnClickListener(this);
empat.setOnClickListener(this);
lima.setOnClickListener(this);
enam.setOnClickListener(this);
tujuh.setOnClickListener(this);
delapan.setOnClickListener(this);
sembilan.setOnClickListener(this);
nol.setOnClickListener(this);
tambah.setOnClickListener(this);
kali.setOnClickListener(this);
kurang.setOnClickListener(this);
bagi.setOnClickListener(this);
samadengan.setOnClickListener(this);
koma.setOnClickListener(this);
clear.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.satu:
handleNomor("1");
break;
case R.id.dua:
handleNomor("2");
break;
case R.id.tiga:
handleNomor("3");
break;
case R.id.empat:
handleNomor("4");
break;
case R.id.lima:
handleNomor("5");
break;
case R.id.enam:
handleNomor("6");
break;
case R.id.tujuh:
handleNomor("7");
break;
case R.id.delapan:
handleNomor("8");
break;
case R.id.sembilan:
handleNomor("9");
break;
case R.id.nol:
handleNomor("0");
break;
case R.id.koma:
handleNomor(".");
break;
case R.id.tambah:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=1;
break;
case R.id.kurang:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=2;
break;
case R.id.kali:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=3;
break;
case R.id.bagi:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=4;
break;
case R.id.samadengan:
nilai2=Double.parseDouble(input.getText().toString());
input.setText("");
if(operator==1){
input.setText(Double.toString(nilai1+nilai2));
}else if(operator==2){
input.setText(Double.toString(nilai1-nilai2));
}else if(operator==3){
input.setText(Double.toString(nilai1*nilai2));
}else if(operator==4){
input.setText(Double.toString(nilai1/nilai2));
}
break;
case R.id.clear:
clear();
break;
default:
break;
}
}
private void handleNomor(String nomor) {
// TODO Auto-generated method stub
String txt = input.getText().toString();
txt+=nomor;
input.setText(txt);
}
private void clear(){
input.setText("");
}
}
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class CalcdroidActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button satu,dua,tiga,empat,lima,enam,tujuh,delapan,sembilan,
nol,tambah,kali,kurang,bagi,samadengan,akar,clear,koma;
EditText input;
int operator;
double nilai1 , nilai2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input = (EditText)findViewById(R.id.input1);
satu = (Button)findViewById(R.id.satu);
dua = (Button)findViewById(R.id.dua);
tiga = (Button)findViewById(R.id.tiga);
empat = (Button)findViewById(R.id.empat);
lima = (Button)findViewById(R.id.lima);
enam = (Button)findViewById(R.id.enam);
tujuh = (Button)findViewById(R.id.tujuh);
delapan = (Button)findViewById(R.id.delapan);
sembilan = (Button)findViewById(R.id.sembilan);
nol = (Button)findViewById(R.id.nol);
tambah = (Button)findViewById(R.id.tambah);
kali = (Button)findViewById(R.id.kali);
kurang = (Button)findViewById(R.id.kurang);
bagi = (Button)findViewById(R.id.bagi);
samadengan = (Button)findViewById(R.id.samadengan);
koma = (Button)findViewById(R.id.koma);
clear = (Button)findViewById(R.id.clear);
satu.setOnClickListener(this);
dua.setOnClickListener(this);
tiga.setOnClickListener(this);
empat.setOnClickListener(this);
lima.setOnClickListener(this);
enam.setOnClickListener(this);
tujuh.setOnClickListener(this);
delapan.setOnClickListener(this);
sembilan.setOnClickListener(this);
nol.setOnClickListener(this);
tambah.setOnClickListener(this);
kali.setOnClickListener(this);
kurang.setOnClickListener(this);
bagi.setOnClickListener(this);
samadengan.setOnClickListener(this);
koma.setOnClickListener(this);
clear.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.satu:
handleNomor("1");
break;
case R.id.dua:
handleNomor("2");
break;
case R.id.tiga:
handleNomor("3");
break;
case R.id.empat:
handleNomor("4");
break;
case R.id.lima:
handleNomor("5");
break;
case R.id.enam:
handleNomor("6");
break;
case R.id.tujuh:
handleNomor("7");
break;
case R.id.delapan:
handleNomor("8");
break;
case R.id.sembilan:
handleNomor("9");
break;
case R.id.nol:
handleNomor("0");
break;
case R.id.koma:
handleNomor(".");
break;
case R.id.tambah:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=1;
break;
case R.id.kurang:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=2;
break;
case R.id.kali:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=3;
break;
case R.id.bagi:
nilai1=Double.parseDouble(input.getText().toString());
input.setText("");
operator=4;
break;
case R.id.samadengan:
nilai2=Double.parseDouble(input.getText().toString());
input.setText("");
if(operator==1){
input.setText(Double.toString(nilai1+nilai2));
}else if(operator==2){
input.setText(Double.toString(nilai1-nilai2));
}else if(operator==3){
input.setText(Double.toString(nilai1*nilai2));
}else if(operator==4){
input.setText(Double.toString(nilai1/nilai2));
}
break;
case R.id.clear:
clear();
break;
default:
break;
}
}
private void handleNomor(String nomor) {
// TODO Auto-generated method stub
String txt = input.getText().toString();
txt+=nomor;
input.setText(txt);
}
private void clear(){
input.setText("");
}
}
Dowloan Projectnya di sini
<
===>>>SALAM<<<=====
3 comments:
minta linknya gan :)
Gan, kalau mengilangkan koma sebelum angka 0 gimana gan?
Posting Komentar