Skip to main content

Cara Membuat Aplikasi Kalkulator Android Studio Sederhana (Contoh + Source Code)

ANAKTEKNO.COMCara Membuat Aplikasi Kalkulator Android Studio Sederhana (Contoh + Source Code) - Setelah kemarin kita belajar tentang pengenalan Android Studio sederhana, hari ini kita akan belajar cara membuat aplikasi Android Studio sederhana, yaitu membuat kalkulator Java.

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

Aplikasi kalkulator ini tidak jauh berbeda dengan Aplikasi perhitungan di android yang menjadi bawaan hp yang biasa digunakan. Untuk logika pemrograman juga sebenarnya sama saja dengan cara membuat kalkulator C++ atau HTML untuk website. Jadi jika Anda sudah familiar dengan pemrograman lainnya, tentu mudah saja coding kalkulator Android Studio Java ini.

Cara Membuat Aplikasi Kalkulator Android Studio Sederhana (Contoh + Source Code)


Untuk lebih jelasnya, berikut ini tutorial lengkap cara membuat aplikasi kalkulator Android Studio sederhana beserta dengan source code-nya yang bisa running di hp android.

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.anaktekno
  • 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.

Cara Membuat 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 splashanaktekno = 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();
}
}
,splashanaktekno);
}
}

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

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.
Coding Kalkulator Android Studio Java
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="anaktekno.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.
Source Code Aplikasi Kalkulator Android Studio JAVA
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 kode ini agar aplikasi tidak keluar sendiri.

Jika kamu baru belajar Android Studio, sebaiknya kamu pahami beberapa hal yang paling penting terkait Android Studio. Silahkan belajar bagian-bagian dasar yang sudah Anaktekno.com buatkan dalam label Programmer.

Lihat juga cara membuat aplikasi Android untuk pemula Android Studio

Demikianlah cara membuat aplikasi kalkulator Android Studio sederhana lengkap dengan contoh dan source code program perhitungan android sederhana Java. Semoga bermanfaat!

Anak Tekno
Anak Tekno
Tertarik dengan dunia Blog dan SEO sejak 2017 dan terus belajar sampai detik ini..

Tentang
Anaktekno.com merupakan tempat berbagi tutorial aplikasi Android, Media Sosial, Windows, dan lain-lain. Kami juga menerima Jasa Convert Paypal, Content Placement, Unblock Link Facebook.

Informasi Lebih Lanjut
WhatsApp 085396717324
Email Lara4store@gmail.com

Alamat
Lara 4 Mukti Tama, Baebunta Selatan, Luwu Utara, Sulawesi Selatan, Indonesia - 92965
close