Kali ini saya akan berbagi tentang pembuatan program kalkulator sederhana :)
soalnya seperti ini
***
disini saya menggunakan kembali Netbeans 7.1 sebagai teks editor
sesuai dengan judulnya ini kalkulator masih sederhana belum sempurna,disini program saya belum sesuai dengan hierarki matematika yaitu menyeleksi bilangan mulai dari operator * / + - nah disini yang dieksekusi pertama kali itu yaitu operator yang diinputkan paling pertama dan seterus nya.Program ini juga baru dikhususkan untuk perhitungan 5 digit angka tidak boleh kurang atau pun lebih bila anda menginputkan lebih atau kurang dari 5 digit maka program akan error.Oh ya, dalam penginputan data anda juga harus memisahkan setiap inputan anda dengan spasi,mengapa?? mari kita langsung liat script program nya !!
disini saya membuat 2 class
class yang pertama saya beri nama Kalkulator isi script nya seperti ini
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package kalkulator2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author Compaq
*/
public class Kalkulator {
String in = "";
public void input(){
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("Kalkulator, masukan perhitungannya");
in = dataIn.readLine();
}catch(IOException e){
System.out.print("gagal membaca keyboard!");
}
}
public void proses(){
String all[] = in.split(" "); //untuk memisahkan berdasarkan spasi
String var[] = new String[5];
String op[] = new String[4];
double vardou[] = new double[5]; // dari string ke double
int idxvar = 0; //hasil jumlah angka
int idxop = 0 ; //hasil jumlah op
for(int i =0; i<all.length; i++)
{
if ((all[i].equals("+")) || (all[i].equals("-"))
|| (all[i].equals("*")) || (all[i].equals("/")))
{
op[idxop] = all[i]; // variabel op membaca data dari variabel all
idxop++; // jumlah variabel op akan bertambah bila ada operator yg terbaca
}else
{
var[idxvar] = all[i]; // variabel var membaca data dari variabel all
idxvar++; // jumlah variabel var akan bertambah bila ada angka yg terbaca
}
}
double hasil = 0; // inisialisi variabel hasil dengan angka 0
for(int k=0;k<var.length;k++) //looping
{
vardou[k] = Double.parseDouble(var[k]); //untuk mengubah srtring menjadi double
}
hasil = vardou[0]; //mengganti nilai hasil jadi hasil vardou
int idxvardou = 1; //inisialisasi idxvardou
for(int l =0 ; l < op.length; l++)
{
if(op[l].equals("+"))
{
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 lagi.
}
System.out.println("\nOutput");
System.out.println(hasil);
}
}
class yang ke2 saya beri nama Test isi script nya seperti ini
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package kalkulator2;
/**
*
* @author Compaq
*/
public class Test {
public static void main(String[] args) {
Kalkulator tampil = new Kalkulator(); //menginstansiasi class Kalkulator menjadi objek tampil
tampil.input(); //memanggil method input
tampil.proses(); //memanggil method proses
}
}
hasil nya akan seperti ini
sesuai dengan judulnya ini kalkulator masih sederhana belum sempurna,disini program saya belum sesuai dengan hierarki matematika yaitu menyeleksi bilangan mulai dari operator * / + - nah disini yang dieksekusi pertama kali itu yaitu operator yang diinputkan paling pertama dan seterus nya.Program ini juga baru dikhususkan untuk perhitungan 5 digit angka tidak boleh kurang atau pun lebih bila anda menginputkan lebih atau kurang dari 5 digit maka program akan error.Oh ya, dalam penginputan data anda juga harus memisahkan setiap inputan anda dengan spasi,mengapa?? mari kita langsung liat script program nya !!
disini saya membuat 2 class
class yang pertama saya beri nama Kalkulator isi script nya seperti ini
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package kalkulator2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author Compaq
*/
public class Kalkulator {
String in = "";
public void input(){
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("Kalkulator, masukan perhitungannya");
in = dataIn.readLine();
}catch(IOException e){
System.out.print("gagal membaca keyboard!");
}
}
public void proses(){
String all[] = in.split(" "); //untuk memisahkan berdasarkan spasi
String var[] = new String[5];
String op[] = new String[4];
double vardou[] = new double[5]; // dari string ke double
int idxvar = 0; //hasil jumlah angka
int idxop = 0 ; //hasil jumlah op
for(int i =0; i<all.length; i++)
{
if ((all[i].equals("+")) || (all[i].equals("-"))
|| (all[i].equals("*")) || (all[i].equals("/")))
{
op[idxop] = all[i]; // variabel op membaca data dari variabel all
idxop++; // jumlah variabel op akan bertambah bila ada operator yg terbaca
}else
{
var[idxvar] = all[i]; // variabel var membaca data dari variabel all
idxvar++; // jumlah variabel var akan bertambah bila ada angka yg terbaca
}
}
double hasil = 0; // inisialisi variabel hasil dengan angka 0
for(int k=0;k<var.length;k++) //looping
{
vardou[k] = Double.parseDouble(var[k]); //untuk mengubah srtring menjadi double
}
hasil = vardou[0]; //mengganti nilai hasil jadi hasil vardou
int idxvardou = 1; //inisialisasi idxvardou
for(int l =0 ; l < op.length; l++)
{
if(op[l].equals("+"))
{
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 lagi.
}
System.out.println("\nOutput");
System.out.println(hasil);
}
}
class yang ke2 saya beri nama Test isi script nya seperti ini
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package kalkulator2;
/**
*
* @author Compaq
*/
public class Test {
public static void main(String[] args) {
Kalkulator tampil = new Kalkulator(); //menginstansiasi class Kalkulator menjadi objek tampil
tampil.input(); //memanggil method input
tampil.proses(); //memanggil method proses
}
}
hasil nya akan seperti ini


0 komentar:
Posting Komentar