Blog Edinofri

Blog pribadi berisikan memory tentang pembelajaran Pemograman Android, Website, Blogger, Life hack, Curhatan dan beberapa artikel tidak jelas. Blog ini lebih fokus di pemograman Android terutama pengembangan aplikasi android menggunakan Android Studio.

07 May 2016
Komentar 0
Selamat datang di blog saya yang agak berantakan ini, kali ini saya mencoba menyempatkan mengetik kan artikel tentang Membuat Kalkulator sederhana di Android Studio. Di artikel kali ini saya akan sedikit menambah beberapa widget baru lagi dalam proyek yang akan kita buat.

Sebelum itu pastikan kalian sudah menginstal Android Studio pada Laptop / Komputer kalian masing-masing. Setelah itu kita akan membuat projek baru.

Buka Android Studio kalian, pilih "Start a new Android Studio project".


Lalu isikan sesuai kriteria dibawah ini.

Application name    : Kalkulator
Company domain      : belajar.android
Package name        : belajar.android.kalkulator

Project location    : -pilih folder untuk menyimpan project-

Selanjutnya silahkan ikuti langkah seperti yang ada di Artikel : Hello world di Android Studio.
Saya anggap kalian sudah siap dengan urusan Gradle-nya, selanjutnya kita masuk ke file activity_main.xml dan tukar kode yang ada pada file tersebut dengan code dibawah berikut.
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="android.belajar.kalkulator.MainActivity"
    android:orientation="vertical">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Bil 1"
        android:id="@+id/txtBil1"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Bil 2"
        android:id="@+id/txtBil2"/>
    <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rgHitung">
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Kali (x)"
            android:id="@+id/rbKali"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Bagi (÷)"
            android:id="@+id/rbBagi"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Tambah (+)"
            android:id="@+id/rbTambah"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Kurang (-)"
            android:id="@+id/rbKurang"/>
    </RadioGroup>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnHitung"
        android:text="Hitung"/>
    <TextView
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="~hasil~"
        android:id="@+id/lblHasil"
        />
</LinearLayout>
Setelah itu klik Design tab dan lihat hasil desain dari kode yang baru saja dimasukkan.


Setelah itu kita beranjak dari urusan mendesain dan sekarang kita akan menuju ke file MainActivity.java untuk membuat inisialisasi pada widget yang akan kita gunakan.

1. Button
2. EditText
3. RadioButton
4. RadioGrup
5. TextView
Untuk menginisialisasikan tidak berbeda dengan yang ada pada artikel : Hello world di Android Studio, hanya saja kita kedatangan widget baru seperti RadioButton dan RadioGrup.

Hanya ini saja yang akan kita inisialisasikan, bisa kalian lihat pada kode dibawah ini.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);
    }
}
Setelah itu kita akan membuat Listener untuk Button yang kita miliki.
package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        }
    }
}
Setelah itu kita akan mengecheck inputan pada EditText adalah angka, bila bukan angka kita akan tampilkan Toast.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Check Bilangan adalah angka
                if(isNumeric(txtBil1.getText().toString()) && isNumeric(txtBil2.getText().toString())){
                    double bil1= Double.parseDouble(txtBil1.getText().toString());
                    double bil2= Double.parseDouble(txtBil2.getText().toString());
                    
                }else{
                    Toast.makeText(getApplicationContext(),"Tidak boleh kosong dan hanya angka",Toast.LENGTH_SHORT).show();
                }
            }
        }
    }

    public static boolean isNumeric(String str){
        return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
    }
}
Baru setelah itu kita akan melakukan pengecheckan pada RadioGrup untuk mendapatkan ID RadioButton mana yang sedang tercheck dengan method .getCheckedRadioButtonId.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Check Bilangan adalah angka
                if(isNumeric(txtBil1.getText().toString()) && isNumeric(txtBil2.getText().toString())){
                    double bil1= Double.parseDouble(txtBil1.getText().toString());
                    double bil2= Double.parseDouble(txtBil2.getText().toString());
                    // Switcher untuk memilih pilihan Operator perhitungan.
                    switch (rgHitung.getCheckedRadioButtonId()){
                        case R.id.rbTambah:
                            lblHasil.setText("Hasil = "+(bil1+bil2));
                            break;
                        case R.id.rbBagi:
                            lblHasil.setText("Hasil = "+(bil1/bil2));
                            break;
                        case R.id.rbKurang:
                            lblHasil.setText("Hasil = "+(bil1-bil2));
                            break;
                        case R.id.rbKali:
                            lblHasil.setText("Hasil = "+(bil1*bil2));
                            break;
                    }
                }else{
                    Toast.makeText(getApplicationContext(),"Tidak boleh kosong dan hanya angka",Toast.LENGTH_SHORT).show();
                }
            }
        }
    }

    public static boolean isNumeric(String str){
        return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
    }
}

Kemudian kalian bisa melakukan mencoba menjalankan hasil pekerjaan kalian di emulator ataupun di device Android langsung.

Awal aplikasi dijalankan

Menghitung operasi pekalian

Bila Edittext dalam keadaan tidak berisi atau bukan huruf.

Untuk file lengkapnya silahkan download dibawah ini.

Menuju Github  

No comments:

Post a Comment