Contoh Aplikasi Kalkulator Android Studio Sederhana + Source Code Lengkap
"Contoh Aplikasi Kalkulator Android Studio Sederhana + Source Code Lengkap untuk membaca artikel selengkapnya dengan klik link di atas."
19 min read
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.admin
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 |
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 splashadmin = 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();
}
}
,splashadmin);
}
}
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.
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="admin.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 |
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.
Demikianlah contoh aplikasi kalkulator Android Studio sederhana lengkap dengan cara membuatnya dan source code. Semoga bermanfaat!