Kali ini
kita akan membuat sebuah kalkulator sederhana, tetapi belum
berbasis GUI (Graphic User Interface).
Masalah :
Berikut masalah yang harus kita selesaikan
Buatlah
sebuah program dengan menggunakan bahasa java dengan algoritma dan ketentuan berikut ini
Program
Kalkulator Sederhana
Tools
yang digunakan : Teks Editor (Notepad, Wordpad, Notepad++, Komodo, etc)
Penyelesaian :
Membuat class bernama kalkulator_simple.java
package kalkulator_console;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author nadin
*/
public class kalkulator_simple {
public static void main(String[] args) {
BufferedReader dataIn = new
BufferedReader(new InputStreamReader(System.in));
//mendeklarasikan
sebuah variabel bernama dataIn dengan tipe class BufferedReader
String in =
"";
//in
akan menjadi variabel inputan dari keyboard
try{
System.out.println("Masukkan
ekspresi : ");
in =
dataIn.readLine(); //menjalankan perintah dataIn.readLine() untuk mengambil
inout dari user dan memasukkannya pada variabel bernama in
}catch(IOException e){
System.out.print("gagal
membaca keyboard!");
}
String
all[] = in.split(" "); //untuk memisahkan String in berdasarkan spasi
String
var[] = new String[3]; //membatasi
jumlah angka yang akan dihitung, hanya 3
String op[]
= new String[2]; //membatasi jumlah operator,
hanya boleh 2
double vardou[] = new
double[3]; // dari string ke double
int idxvar = 0; //hasil jumlah angka
int idxop = 0 ; //hasil jumlah op
for(int i
=0;i<all.length;i++) //looping
sebanyak index char dari hasil castingnya dari String
{
if((all[i].equals("+")) ||
(all[i].equals("-")) || (all[i].equals("*")) ||
(all[i].equals("/")))
//menyeleksi
mana yang termasuk ke dalam operator
{
op[idxop] = all[i];
idxop++;
}
else //yang tidak termasuk operator, char tersebut masuk dalam
var
{
var[idxvar]
= all[i];
idxvar++;
}
}
double hasil = 0; //mendeklarasikan variable hasil
type data double dan menginisialisasinya dengan 0
for(int
k=0;k<var.length;k++) //looping
sebanyak jumlah var (jumlah var telah diseleksi pada looping sebelumnya)
{
vardou[k] = Double.parseDouble(var[k]); //untuk mengubah variabel var
dari String menjadi double
}
hasil =
vardou[0]; //mengganti nilai variabel hasil jadi nilai variabel vardou index 0
int idxvardou = 1; //inisialisasi idxvardou
for(int l =0 ;
l < op.length;l++) //looping
sebanyak jumlah op
{
if(op[l].equals("+")) //membandingkan array char op dengan operator +
{
hasil =
hasil + vardou[idxvardou]; //mengganti nilai hasil menjadi hasil ditambah dengan
vardou pada idxvardou
}
else if (op[l].equals("-"))
{
hasil = hasil - vardou[idxvardou];
}
else if (op[l].equals("*"))
{
hasil = hasil * vardou[idxvardou];
}
else if (op[l].equals("/"))
{
hasil = hasil /
vardou[idxvardou];
}
idxvardou++; //menambahkan indexvardou (indexnya) karena akan masuk ke
looping kembali.
}
System.out.println("\nOutput");
System.out.println(hasil);
}
}
Saat dirunning, hasilnya seperti ini
![]() |
Output Program |
Download file .class
Download file .jar
0 comments:
Post a Comment