Yowatech.id – Contoh Program Java Kalkulator. Dalam dunia pemrograman, kalkulator adalah salah satu program dasar yang sering kali dikembangkan sebagai proyek pertama oleh para pemula.
Program kalkulator dapat membantu dalam mempelajari dasar-dasar bahasa pemrograman, seperti penggunaan variabel, operator, dan pengkondisian.
Selain itu, program kalkulator juga sering digunakan dalam berbagai aplikasi, termasuk dalam aplikasi keuangan, statistik, dan perhitungan ilmiah.
Baca Juga: 7+ Contoh Program Java Menentukan Kelulusan Mahasiswa
Dalam artikel ini, akan dipresentasikan beberapa contoh program kalkulator yang berbeda dalam bahasa pemrograman Java.
Mulai dari program kalkulator sederhana hingga program kalkulator yang lebih kompleks dengan menggunakan struktur data stack dan lambda expression.
Selain itu, akan diperkenalkan penggunaan tipe data BigDecimal untuk menghindari kesalahan pembulatan pada operasi matematika yang kompleks.
Semoga artikel ini dapat memberikan gambaran yang jelas tentang bagaimana membuat program kalkulator menggunakan bahasa pemrograman Java.
Baca Juga: 8+ Contoh Program Java Penjualan Motor
Berikut adalah 7 contoh program Java kalkulator beserta penjelasannya:
#1 Contoh Program Java Kalkulator
Program Kalkulator Sederhana
Code:
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double num1, num2, result;
char operator;
System.out.print("Enter first number: ");
num1 = input.nextDouble();
System.out.print("Enter second number: ");
num2 = input.nextDouble();
System.out.print("Enter operator (+, -, *, /): ");
operator = input.next().charAt(0);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
System.out.println("Invalid operator");
return;
}
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
}
}
Program di atas merupakan kalkulator sederhana yang meminta input dari pengguna berupa dua bilangan dan operator matematika yang ingin digunakan untuk menghitung hasilnya.
Program kemudian akan menampilkan hasilnya ke layar.
#2 Contoh Program Java Kalkulator
Program Kalkulator Menggunakan Fungsi
Code:
import java.util.Scanner;
public class CalculatorWithFunctions {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double num1, num2, result;
char operator;
System.out.print("Enter first number: ");
num1 = input.nextDouble();
System.out.print("Enter second number: ");
num2 = input.nextDouble();
System.out.print("Enter operator (+, -, *, /): ");
operator = input.next().charAt(0);
result = calculate(num1, num2, operator);
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
}
public static double calculate(double num1, double num2, char operator) {
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
System.out.println("Invalid operator");
break;
}
return result;
}
}
Program di atas juga merupakan kalkulator, namun kali ini menggunakan fungsi untuk menghitung hasil dari dua bilangan yang diinput oleh pengguna.
#3 Contoh Program Java Kalkulator
Program Kalkulator Menggunakan OOP
Code:
import java.util.Scanner;
class Calculator {
private double num1, num2;
private char operator;
public Calculator(double num1, double num2, char operator) {
this.num1 = num1;
this.num2 = num2;
this.operator = operator;
}
public double calculate() {
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
System.out.println("Invalid operator.");
break;
}
return result;
}
}
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double num1, num2, result;
char operator;
System.out.print("Enter first number: ");
num1 = input.nextDouble();
System.out.print("Enter second number: ");
num2 = input.nextDouble();
System.out.print("Enter operator (+, -, *, /): ");
operator = input.next().charAt(0);
Calculator calculator = new Calculator(num1, num2, operator);
result = calculator.calculate();
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
}
}
Program di atas merupakan program kalkulator sederhana menggunakan konsep OOP (Object-Oriented Programming).
Program memiliki dua kelas, yaitu Calculator
dan Main
. Kelas Calculator
digunakan untuk memproses operasi matematika, sedangkan kelas Main
digunakan untuk menerima input dari pengguna dan menampilkan hasilnya.
Pada kelas Calculator
, terdapat tiga variabel yaitu num1
, num2
, dan operator
. Variabel tersebut diinisialisasi melalui konstruktor pada saat objek dibuat. Terdapat juga metode calculate
yang akan menghitung hasil dari operasi matematika.
Pada kelas Main
, terdapat tiga variabel yaitu num1
, num2
, dan operator
.
Variabel tersebut diisi dengan input dari pengguna menggunakan objek Scanner
. Selanjutnya, objek Calculator
dibuat dengan menggunakan nilai dari variabel num1
, num2
, dan operator
.
Hasil dari operasi matematika dihitung dengan menggunakan metode calculate
dari objek Calculator
, dan hasilnya ditampilkan ke layar.
#4 Contoh Program Java Kalkulator
Program Kalkulator Menggunakan GUI Swing
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class CalculatorGUI implements ActionListener {
private JFrame frame;
private JPanel panel;
private JTextField num1Field, num2Field, resultField;
private JLabel num1Label, num2Label, resultLabel;
private JButton addButton, subtractButton, multiplyButton, divideButton;
public CalculatorGUI() {
frame = new JFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
num1Field = new JTextField(10);
num2Field = new JTextField(10);
resultField = new JTextField(10);
resultField.setEditable(false);
num1Label = new JLabel("First Number:");
num2Label = new JLabel("Second Number:");
resultLabel = new JLabel("Result:");
addButton = new JButton("+");
subtractButton = new JButton("-");
multiplyButton = new JButton("*");
divideButton = new JButton("/");
addButton.addActionListener(this);
subtractButton.addActionListener(this);
multiplyButton.addActionListener(this);
divideButton.addActionListener(this);
panel = new JPanel();
panel.add(num1Label);
panel.add(num1Field);
panel.add(num2Label);
panel.add(num2Field);
panel.add(addButton);
panel.add(subtractButton);
panel.add(multiplyButton);
panel.add(divideButton);
panel.add(resultLabel);
panel.add(resultField);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event) {
double num1 = Double.parseDouble(num1Field.getText());
double num2 = Double.parseDouble(num2Field.getText());
if (event.getSource() == addButton) {
resultField.setText(String.valueOf(num1 + num2));
} else if (event.getSource() == subtractButton) {
resultField.setText(String.valueOf(num1 - num2));
} else if (event.getSource() == multiplyButton) {
resultField.setText(String.valueOf(num1 * num2));
} else if (event.getSource() == divideButton) {
resultField.setText(String.valueOf(num1 / num2));
}
}
public static void main(String[] args) {
CalculatorGUI calculator = new CalculatorGUI();
}
}
Program di atas merupakan kalkulator dengan antarmuka grafis (GUI) menggunakan Swing. Program memiliki empat tombol operasi matematika (+, -, *, /), dua kotak teks untuk memasukkan bilangan, dan satu kotak teks untuk menampilkan hasilnya.
Program juga menggunakan implementasi dari ActionListener
untuk menangani peristiwa tombol.
#5 Contoh Program Java Kalkulator
Program Kalkulator dengan Memanfaatkan Stack
Code:
import java.util.Stack;
public class CalculatorStack {
public static void main(String[] args) {
String expression = "5 1 2 + 4 * + 3 -";
String[] tokens = expression.split("\\s+");
Stack<Double> stack = new Stack<Double>();
for (String token : tokens) {
if (token.matches("[0-9]+")) {
stack.push(Double.parseDouble(token));
} else {
double num2 = stack.pop();
double num1 = stack.pop();
double result = 0;
switch (token) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
default:
System.out.println("Invalid operator.");
break;
}
stack.push(result);
}
}
System.out.println(expression + " = " + stack.pop());
}
}
Program di atas merupakan kalkulator yang menggunakan struktur data stack untuk mengevaluasi ekspresi matematika dalam notasi postfix.
Program menerima ekspresi dalam bentuk string, kemudian memecahnya menjadi token-token yang diproses secara bergantian.
Jika token merupakan angka, maka angka tersebut akan dimasukkan ke dalam stack. Jika token merupakan operator, maka dua bilangan teratas dalam stack akan diambil dan dioperasikan, lalu hasilnya dimasukkan kembali ke dalam stack.
Akhirnya, hasil akhir dari ekspresi postfix tersebut akan ditampilkan ke layar.
#6 Contoh Program Java Kalkulator
Program Kalkulator Menggunakan Lambda Expression
Code:
import java.util.Scanner;
import java.util.function.BiFunction;
public class CalculatorLambda {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double num1, num2, result;
char operator;
System.out.print("Enter first number: ");
num1 = input.nextDouble();
System.out.print("Enter second number: ");
num2 = input.nextDouble();
System.out.print("Enter operator (+, -, *, /): ");
operator = input.next().charAt(0);
BiFunction<Double, Double, Double> calculate = null;
switch (operator) {
case '+':
calculate = (a, b) -> a + b;
break;
case '-':
calculate = (a, b) -> a - b;
break;
case '*':
calculate = (a, b) -> a * b;
break;
case '/':
calculate = (a, b) -> a / b;
break;
default:
System.out.println("Invalid operator");
return;
}
result = calculate.apply(num1, num2);
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
}
}
Program di atas merupakan kalkulator yang menggunakan lambda expression untuk menghitung hasil dari operasi matematika.
Program menerima input dari pengguna berupa dua bilangan dan operator, kemudian menggunakan lambda expression untuk memilih operasi yang sesuai dengan operator yang dimasukkan pengguna.
Lambda expression di dalam switch-case statement akan mengembalikan nilai yang dihitung dengan menggunakan operator tersebut.
#7 Contoh Program Java Kalkulator
Program Kalkulator Menggunakan Tipe Data BigDecimal
Code:
import java.math.BigDecimal;
import java.util.Scanner;
public class CalculatorBigDecimal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
BigDecimal num1, num2, result;
char operator;
System.out.print("Enter first number: ");
num1 = input.nextBigDecimal();
System.out.print("Enter second number: ");
num2 = input.nextBigDecimal();
System.out.print("Enter operator (+, -, *, /): ");
operator = input.next().charAt(0);
switch (operator) {
case '+':
result = num1.add(num2);
break;
case '-':
result = num1.subtract(num2);
break;
case '*':
result = num1.multiply(num2);
break;
case '/':
result = num1.divide(num2);
break;
default:
System.out.println("Invalid operator");
return;
}
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
}
}
Program di atas adalah kalkulator yang menggunakan tipe data BigDecimal
untuk menghindari kesalahan pembulatan yang mungkin terjadi ketika menggunakan tipe data double
.
Program menerima input dari pengguna berupa dua bilangan dan operator, kemudian menggunakan switch-case statement untuk memilih operasi yang sesuai dengan operator yang dimasukkan pengguna.
Hasil dari operasi matematika kemudian ditampilkan ke layar.
Penutup, Program Java Kalkulator
Dalam artikel ini, telah dipresentasikan 7 contoh program kalkulator yang berbeda dalam bahasa pemrograman Java.
Dari program kalkulator sederhana hingga program kalkulator yang lebih kompleks dengan menggunakan struktur data stack dan lambda expression.
Selain itu, juga telah diperkenalkan penggunaan tipe data BigDecimal untuk menghindari kesalahan pembulatan pada operasi matematika yang kompleks.
Baca Juga: 7+ Contoh Program Kasir Sederhana Java
Program kalkulator sangat penting dalam dunia pemrograman karena dapat digunakan dalam berbagai aplikasi, termasuk dalam aplikasi keuangan, statistik, dan perhitungan ilmiah.
Dengan menggunakan bahasa pemrograman Java, program kalkulator dapat dibuat dengan mudah dan efisien dengan memanfaatkan fitur-fitur yang tersedia dalam bahasa Java.
Semoga contoh program kalkulator ini dapat memberikan manfaat dan inspirasi bagi pembaca untuk membuat program kalkulator mereka sendiri.