Skip to main content

Contoh Aplikasi Kalkulator Android Studio Sederhana + Source Code Lengkap

Contoh Aplikasi Kalkulator Android Studio + Source Code Lengkap - Setelah kemarin kita belajar tentang pengenalan Android Studio sederhana, hari ini kita akan belajar cara membuat aplikasi Android Studio sederhana, yaitu kalkulator.

Di sini, kita akan membuat kalkulator perhitungan Matematika sederhana dengan lima operasi, yaitu penjumlahan, pengurangan, perkalian, pembagian dan bilangan berpangkat. Yaa, program kalkulator ini sederhana dan bukan kalkulaotr Scientific

Contoh Aplikasi Kalkulator Android Studio + Source Code Lengkap


Untuk lebih jelasnya, berikut ini tutorial lengkap cara membuat aplikasi kalkulator Android Studio sederhana beserta dengan source codenya.

1. Buka aplikasi Android Studio
2. Buat Project Baru dengan nama kalkulator5

Secara otomatis akan ada file

- MainActivity.java
- activity_main.xml

3. Tambahkan Activity Empty baru dengan nama:

- home
- about

Secara otomatis akan muncul file:

- Project > app > java > com.example.anaktoraja

home.java
about.java

- Project > app > res > layout

activity_home.xml
activity_about.xml

4. Masukkan gambar ke project dengan cara drag file gambar PNG ke:

Project > app > res > drawble

Nama gambar:

ss1.png
ss2.png
ssabout.png

5. Source code aplikasi kalkulator Android Studio

Klik 2 kali pada setiap file di bawah ini dan copy and paste setiap kode.

a1. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="false"
android:background="@drawable/ss1"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading..."
android:textColor="@color/colorAccent"
android:textSize="22dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.529"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.907" />
</androidx.constraintlayout.widget.ConstraintLayout>

Berikut ini tampilan dari kode program di atas.

Contoh Aplikasi Kalkulator Android Studio Sederhana
Contoh Aplikasi Kalkulator Android Studio Sederhana

Inilah enaknya belajar Android Studio. Kita tidak perlu memasukkan komponen satu per satu karena semua bisa dilakukan melalui coding langsung yang didukung dengan automatic text.

a2. MainActivity.java

package com.example.kalkulator5;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.os.Handler;

public class MainActivity extends AppCompatActivity {

private int splashanaktoraja = 2000;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// after loading go to home.java
Intent home=new Intent(MainActivity.this, home.class);
startActivity(home);
finish();
}
}
,splashanaktoraja);
}
}

Sebelumnya, kamu bisa lihat penjelasan splash screen Android Studio dalam artikel sebelumnya tentang animation loading sederhana berpindah ke activity lain.

Cek di cara membuat splash screen Android Studio

b1. activity_home.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ss2"
tools:context=".home">

<EditText
android:id="@+id/inputpertama"
android:layout_width="363dp"
android:layout_height="64dp"
android:layout_marginTop="32dp"
android:hint="angka pertama"
android:inputType="text|number"
android:textColor="@color/colorAccent2"
app:layout_constraintEnd_toEndOf="@+id/hasil"
app:layout_constraintHorizontal_bias="0.976"
app:layout_constraintStart_toStartOf="@+id/hasil"
app:layout_constraintTop_toBottomOf="@+id/hasil" />

<EditText
android:id="@+id/inputkedua"
android:layout_width="362dp"
android:layout_height="47dp"
android:hint="angka kedua"
android:inputType="text|number"
android:textColor="@color/colorAccent2"
app:layout_constraintEnd_toEndOf="@+id/inputpertama"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/inputpertama"
app:layout_constraintTop_toBottomOf="@+id/inputpertama" />

<TextView
android:id="@+id/hasil"
android:layout_width="237dp"
android:layout_height="41dp"
android:layout_marginTop="64dp"
android:text="Hasil "
android:textAlignment="viewEnd"
android:textColor="@color/colorAccent2"
android:textSize="20dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.844"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button"
android:layout_width="60dp"
android:layout_height="40dp"
android:background="@color/colorAccent"
android:onClick="tambah"
android:text="+"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/button2"
app:layout_constraintHorizontal_bias="0.048"
app:layout_constraintStart_toStartOf="@+id/inputkedua"
app:layout_constraintTop_toBottomOf="@+id/inputkedua" />

<Button
android:id="@+id/button2"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginEnd="16dp"
android:background="@color/colorAccent"
android:onClick="kurang"
android:text="-"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/button3"
app:layout_constraintTop_toBottomOf="@+id/inputkedua" />

<Button
android:id="@+id/button3"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginEnd="12dp"
android:background="@color/colorAccent"
android:onClick="kali"
android:text="x"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/button4"
app:layout_constraintTop_toBottomOf="@+id/inputkedua" />

<Button
android:id="@+id/button4"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginEnd="12dp"
android:background="@color/colorAccent"
android:onClick="bagi"
android:text=":"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/button6"
app:layout_constraintTop_toBottomOf="@+id/inputkedua" />

<Button
android:id="@+id/button5"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/colorAccent1"
android:onClick="hapus"
android:text="C"
android:textColor="@color/colorAccent3"
app:layout_constraintEnd_toEndOf="@+id/button6"
app:layout_constraintHorizontal_bias="0.518"
app:layout_constraintStart_toStartOf="@+id/button"
app:layout_constraintTop_toBottomOf="@+id/button3" />

<Button
android:id="@+id/button6"
android:layout_width="60dp"
android:layout_height="40dp"
android:background="@color/colorAccent"
android:onClick="pangkat"
android:text="^"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/inputkedua"
app:layout_constraintTop_toBottomOf="@+id/inputkedua" />

<Button
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="about"
android:text="About Me"
android:textColor="@color/colorAccent3"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/button5"
app:layout_constraintHorizontal_bias="0.518"
app:layout_constraintStart_toStartOf="@+id/button5"
app:layout_constraintTop_toBottomOf="@+id/button5"
app:layout_constraintVertical_bias="0.626" />

</androidx.constraintlayout.widget.ConstraintLayout>

Tampilan untuk kode di atas adalah sebagai berikut.

Aplikasi Kalkulator Android Studio Sederhana
Aplikasi Kalkulator Android Studio Sederhana

Ini adalah jendela 2 yang akan panggil/dituju setelah jendela 1 tertutup. Oh ya, di jendela 1 di atas, kita menggunakan splash screen yang secara otomatis menuju activity lainnya.

b2. home.java

package com.example.kalkulator5;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class home extends AppCompatActivity {

// deklarasi variabel tipe data double

EditText Angka1,Angka2;
TextView output;
Double a,b,c;

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

Angka1 = (EditText) findViewById(R.id.inputpertama);
Angka2 = (EditText) findViewById(R.id.inputkedua);
output = (TextView) findViewById(R.id.hasil);
}

public void konversi(){

a = Double.parseDouble(Angka1.getText().toString());
b = Double.parseDouble(Angka2.getText().toString());

}
// PENJUMLAHAN ANDROID STUDIO
public void tambah(View view) {
if ((Angka1.getText().length() > 0) && (Angka2.getText().length() > 0)) {
konversi();
c = (a+b);
// Kode untuk menampilkan angka hasil operasi
output.setText(Double.toString(c));
} else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();
}
}
// PENGURANGAN ANDROID STUDIO
public void kurang(View view) {
if ((Angka1.getText().length() > 0) && (Angka2.getText().length() > 0)) {
konversi();
c = (a-b);
output.setText(Double.toString(c));
} else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();
}
}
// PERKALIAN ANDROID STUDIO
public void kali(View view) {
if ((Angka1.getText().length() > 0) && (Angka2.getText().length() > 0)) {
konversi();
c = (a*b);
output.setText(Double.toString(c));
} else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();
}
}
// PEMBAGIAN ANDROID STUDIO
public void bagi(View view) {
if ((Angka1.getText().length() > 0) && (Angka2.getText().length() > 0)) {
konversi();
c = (a/b);
output.setText(Double.toString(c));
} else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();
}
}
// PANGKAT ANDROID STUDIO
public void pangkat(View view) {
if ((Angka1.getText().length() > 0) && (Angka2.getText().length() > 0)) {
konversi();
c = Math.pow(a,b);
output.setText(Double.toString(c));
} else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();
}
}
// RESET ANGKA ATAU BUTTON HAPUS
public void hapus(View view) {
Angka1.setText("");
Angka2.setText("");
output.setText("");
Angka1.requestFocus();
}

public void about(View view) {
Intent home = new Intent(home.this, about.class);
startActivity(home);
}
}

c1. activity_about.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="@drawable/ss2"
android:layout_height="match_parent"
tools:context=".about">

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cp: WA 085396717324/ lara4store@gmail.com"
android:textSize="14dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.511"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.817" />

<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.637"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.178"
app:srcCompat="@drawable/ssabout" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Anaktoraja.com"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.262"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.746" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2020"
android:textSize="18dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.737"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.746" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Created by"
android:textSize="20dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.672" />

</androidx.constraintlayout.widget.ConstraintLayout>

Berikut ini tampilan ketika tombol About diklik pada jendela 2. Akan menuju ke jendela 3, yaitu About.

Cara Membuat Aplikasi Kalkulator Android Studio Sederhana
Cara Membuat Aplikasi Kalkulator Android Studio Sederhana

Sebenarnya, kodenya tidak terlalu berbeda antara berpindah activity dengan tombol atau pun dengan timer splash screen.

c2. about.java

package com.example.kalkulator5;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class about extends AppCompatActivity {

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

6. Edit file colors.xml di

Project > app > values > colors.xml

Copy paste kode berikut ini ke colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3CE40E</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#3CE40E</color>
<color name="colorAccent1">#E90936</color>
<color name="colorAccent2">#0C0B0B</color>
<color name="colorAccent3">#FFFFFF</color>
</resources>

Sampai di sini, seharusnya ketika aplikasi di running, maka kita sudah bisa menggunakan kalkulator sederhana ini.

Penjelasan kode program:

Saya hanya akan menjelaskan kode yang di home.java

Tanpa control statementf fungsi if else dengan menggunakan toast, ketika kita mengklik tombol jumlah, kurang, kali, bagi, atau pangkat tanpa mengisi angka di EditText, maka aplikasi akan keluar sendiri ketika dijalankan.

else {
Toast toast = Toast.makeText(home.this, "Mohon masukkan Angka pertama & Kedua", Toast.LENGTH_LONG);
toast.show();

Karena itu, kita menggunakan ini agar aplikasi tidak keluar sendiri.

Jika kamu baru belajar Android Studio, sebaiknya kamu pahami beberapa hal yang paling penting terkait Android Studio.

Cek di Belajar Android Studio Dasar

Demikianlah contoh aplikasi kalkulator Android Studio sederhana lengkap dengan cara membuatnya dan source code. Semoga bermanfaat!
Contact Us: Komentar, saran dan masukan melalui WA 085396717324 dan Gmail Lara4store@gmail.com.