Friday, March 30, 2012

Kalkulator sederhana di android


Kali ini saya akan mencoba men-sharing sama teman-teman bagaimana cara membuat kalkulator sederhana di android. Pada kesempatan ini kita aka membuat kalkulator menggunakan radio button, dimana hanya ada satu operator saja yang berfungsi apabila tombol radio button dipilih. Langsung ajah deh.,,.,
1.      Buat project baru di eclipse, beri nama calcu.java
2.      Lalu buka file main.xml. Ketikkan script beriku pada file ini :<?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”
android:background = “@drawable/splash”>
3.      Kemudian buat file xml baru dengan nama hitung.xml. File ini berfungsi sebagai disain dari       program    kalkulator yang akan kita buat. Ketikkan script ini pada file hitung.xml :<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:background = “@drawable/background”>
<TextView

android:text=”Masukkan Bilangan Pertama”
android:id=”@+id/TextView01″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginTop = “70px”
android:textColor =”#FF0034″>
</TextView>
<EditText
android:text=” “
android:id=”@+id/EditTxt1″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginTop =”90px” android:singleLine=”true” android:numeric=”integer|signed|decimal”>
</EditText>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Masukkan Bilangan Kedua”
android:id=”@+id/TextView02″
android:layout_below=”@+id/EditTxt1″
android:textColor=”#FF0034″
android:layout_marginTop = “5px”>
</TextView>
<EditText
android:layout_width=”fill_parent”
android:text=”"
android:layout_height=”wrap_content”
android:layout_below=”@+id/TextView02″
android:id=”@+id/EditTxt2″ android:numeric=”integer|signed|decimal” android:singleLine=”true”>
</EditText>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Pilih Operasi”
android:id=”@+id/TextView03″
android:layout_below=”@+id/EditTxt2″
android:textColor = “#FF0034″
android:layout_marginTop = “5px”>
</TextView>
<RadioGroup
android:id=”@+id/RadioButtonGrp”
android:layout_below=”@+id/EditTxt2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:orientation=”horizontal”
android:layout_marginTop = “20px”
android:layout_centerHorizontal=”true” >
<RadioButton
android:text=”+”
android:id=”@+id/Rjumlah”
android:layout_width=”wrap_content”
android:textColor=”#FF0034″
android:layout_height=”wrap_content”></RadioButton>
<RadioButtonandroid:text=”-”
android:id=”@+id/Rkurang”
android:textColor=”#FF0034″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”></RadioButton>
<RadioButton
android:text=”*”
android:id=”@+id/Rkali”
android:textColor=”#FF0034″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”>
</RadioButton>
<RadioButton
android:text=”/”
android:id=”@+id/Rbagi”
android:textColor=”#FF0034″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”>
</RadioButton>
<RadioButton
android:text=”%”
android:id=”@+id/Rmodulus”
android:textColor=”#FF0034″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”>
</RadioButton>
</RadioGroup>
<Button
android:layout_height=”wrap_content”
android:text=” Calculate “
android:layout_width=”wrap_content”
android:layout_below=”@+id/EditTxt2″
android:id=”@+id/hitung”
android:layout_marginTop = “120px”
android:layout_alignParentRight=”true”>
</Button>
<EditText
android:layout_width=”75px”
android:text=”"
android:layout_height=”wrap_content”
android:layout_below=”@+id/RadioButtonGrp”
android:id=”@+id/EditTxt3″
android:layout_centerHorizontal=”true”
android:singleLine=”true”
android:numeric=”integer|signed|decimal”
android:layout_marginTop=”10px”
android:textStyle=”bold”
android:gravity=”center”>
</EditText>
</RelativeLayout>
4.      Lalu buka file calcu.java yang telah kita buat tadi. Ketikkan script ini pada file calcu.java :
package calcu.android;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;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class calcu extends Activity implements OnClickListener {
// Deklarisasi Variabel
EditText txt1, txt2, txt3;
RadioButton r1, r2, r3, r4, r5;
RadioGroup rgp;
double bil1, bil2, hasil;
Button btn1;
boolean btnr1, btnr2, btnr3, btnr4,btnr5;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hitung);
// Proses Inisialisasi
// Tombol hitung
btn1 = (Button) findViewById(R.id.hitung);
btn1.setOnClickListener(this);
// Inputan bilangan pertama
txt1 = (EditText) findViewById(R.id.EditTxt1);
txt1.getText();
// Inputan bilangan kedua
txt2 = (EditText) findViewById(R.id.EditTxt2);
txt2.getText();
// Outputan hasil perhitungan
txt3 = (EditText) findViewById(R.id.EditTxt3);
txt3.getText();
// Operator perhitungan
rgp = (RadioGroup) findViewById(R.id.RadioButtonGrp);
r1 = (RadioButton) findViewById(R.id.Rjumlah);
r1.setOnClickListener(this);
r2 = (RadioButton) findViewById(R.id.Rkurang);
r2.setOnClickListener(this);
r3 = (RadioButton) findViewById(R.id.Rkali);
r3.setOnClickListener(this);
r4 = (RadioButton) findViewById(R.id.Rbagi);
r4.setOnClickListener(this);
r5 = (RadioButton) findViewById(R.id.Rmodulus);
r5.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Proses inisialisasi dan pengambilan data bil1 dan bil2
bil1 = Double.valueOf((String.valueOf(txt1.getText())));
bil2 = Double.valueOf((String.valueOf(txt2.getText())));
//Proses perhitungan aritmatikanya :
//Penjumlahan
if (v==r1) {
btnr1 = true;
btnr2 = false;
btnr3 = false;
btnr4 = false;
btnr5 = false;
//Pengurangan
} else if (v==r2) {
btnr1 = false;
btnr2 = true;
btnr3 = false;
btnr4 = false;
btnr5 = false;
} else if (v==r3) {
btnr1 = false;
btnr2 = false;
btnr3 = true;
btnr4 = false;
btnr5 = false;
}else if (v==r4) {
btnr1 = false;
btnr2 = false;
btnr3 = false;
btnr4 = true;
btnr5 = false;
}else if (v==r5) {
btnr1 = false;
btnr2 = false;
btnr3 = false;
btnr4 = false;
btnr5 = true;
}
if (v == btn1) {
if (btnr1 == true) {
hasil = bil1 + bil2;
}else if(btnr2==true){
hasil = bil1 – bil2;
}else if (btnr3==true) {
hasil = bil1 * bil2;
}else if (btnr4==true) {
hasil = bil1 / bil2;
}else if (btnr5==true) {
hasil = bil1 % bil2;
}
txt3.setText(“” + hasil);
}
}
}
5.      Kemudian tambahkan splash screen pada program ini, agar pada saat program dijalankan tidak langsung masuk ke aplikasi. Buat class baru dengan nama splash.java dan ketikkan script ini pada file tersebut :
package calcu.android;import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
public class splash extends Activity {
protected boolean active = true;
protected int splashTime = 3000;
public static int time =25;
Context ctx=this;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread splashThread = new Thread(){
@Override
public void run (){
try{
int waited=0;
while (active &&(waited < splashTime)){
sleep(100);
if(active){
waited +=100;
}
}
}catch (InterruptedException e){
}finally{
finish();
Intent i=new Intent(ctx,calcu.class);
startActivity(i);
stop();
}
}
};
splashThread.start();
}
}

0 comments:

Post a Comment