Halo semuanya, bagaimana kabarnya?
Sekarang saya akan share lagi utuk pmbuatan program tentang Membuat Kalkulator Sederhana. Dalam metode pembuatan, tidak jauh beda dengan pembuatan Menentukan Jumlah Banyaknya Bilangan Bulat dan Bilanga Pecahan yang telah diposing beberapa hari kebelakang. Cuma, pada program ini. saya menambahkan metode tentang multiple return value. (objek sebagai nilai kembalian)
Selain dapat digunakan sebagai parameter, objek juga dapa diperakan sebagai nilai kembalian pada suatu method. Pada situasi seperti ini, di dalam method kita perlu membuat sebuah objek temporari yang akan dikembalikan. Selanjutnya, objek temporari ini akan secara otomatis dibuang oleh Garbage Collector, sehingga kita tidak perlu lagi pusing untuk memikirkan cara pendealokasian objek tersebut.
dalam project itu ada Class KalkulatorSederhana itu adalah contoh objek yang saya maksud di atas
dan ada method "public KalkulatorSederhana Process(String inputan) " yang bergaris bawah adalah nilai kembalian atau return value dari method tersebut .
"KalkulatorSederhana as = new KalkulatorSederhana(inputan);" itu adalah hasil instansiasi yang nantinya akan jadi return value
sedangkan "KalkulatorSederhana run = new KalkulatorSederhana(inputan);" adalah hasil instansiai pada main method untuk menjadi penerima return value
Langsung saja kita liat scriptnya :-D
KalkulatorSederhana.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Kalkulator_Sederhana;
//import java.util.Scanner;
/**
*
* @author widyan
*/
public class KalkulatorSederhana {
/**
* @param args the command line arguments
*/
//mendeklarasikan variabel array bernama charaktervar dengan tipe data char
public char charactervar[];
//mendeklarasikan variabel array bernama strchar dengan tipe data String
public String strchar[];
//mendeklarasikan variabel array bernama strConvert dengan tipe data String
public String strConvert[];
//mendeklarasikan variabel array bernama chartConvert dengan tipe data char
public char charConvert[];
//mendeklarasikan variabel bernama hasil dengan tipe data integer, dan menginisialisasikan variabel hasil = 0
public int hasil = 0;
//mendeklarasikan method bernama KalkulatorSederhana dengan parameter inputan bertipe String public KalkulatorSederhana(String inputan)
{
//pendeklarasian data charactervar, dengan elemen berisi inputan yang dimasukkan user
charactervar = new char[inputan.length()];
//pendeklarasian data strchar, dengan elemen berisi data charactervar
strchar= new String[charactervar.length];
}
//mendeklarasikan method yang bisa mengembalikan nilai dari Class "KalkulatorSederhana" yang memiliki parameter inputan bertipe String
public KalkulatorSederhana Proses(String inputan)
{
//pendeklarasian data charConvert, dengan elemen berisi inputan yang dimasukkan user
charConvert = new char[inputan.length()];
//pendeklarasian data strchar, dengan elemen berisi data charConvert menjadi bertipe String
strConvert= new String[charConvert.length];
//mendeklarasikan variabel a bertipe data integer dan menginisalisasikan nya a = 0
int a = 0;
//mendeklarasikan variabel kosong bertipe data String dan menginisialisasikan nya kosong=""
String kosong="";
//Struktur Pengulangan
for(int i = 0; i < charConvert.length; i++) //menconvert inputan dari tipe String ke char dengan looping for
{
char op = inputan.charAt(i); //mendeklarasikan variabel op bertipe char
if (op == '+' ||op == '-' ||op == '*' ||op == '/') //jika op +/-/*/(/) maka a akan bertambah 1 {
a++; //nilai a ditambahkan
kosong = "";
charConvert[a] = inputan.charAt(i);
strConvert[a] = String.valueOf(charConvert[a]);
a++;
}
else if(op == '0' || op == '1' || op == '2' || op == '3' || op == '4' ||
op == '5' || op == '6' || op == '7' || op == '8' || op == '9') {
charConvert[a] = inputan.charAt(i);
strConvert[a] = kosong + String.valueOf(charConvert[a]);
kosong = strConvert[a];
}else if (op == ' ') {
continue;}
else {
System.out.println("Operator tidak ada !");
System.out.println(op); //menampilkan op yang tidak tersedia
System.exit(0); //program akan keluar
break;
}
}
KalkulatorSederhana as = new KalkulatorSederhana(inputan);
as.charactervar = charConvert;
as.strchar = strConvert;
return as; //mengembalikan nilai
}
//mendeklarasikan method bernama proses bertipe integer dengan berparameter var1 (integer), var2(integer), operator (char)
public int proses(int var1, int var2, char operator) //method bersifat fungsi {
if(operator == '+'){
hasil = var1+var2; //proses penambahan }
else if (operator == '-'){
hasil = var1-var2; //proses pengurangan }
else if(operator == '*'){
hasil = var1*var2; //proses perkalian }
else if(operator == '/'){
hasil = var1/var2; //proses pembagian }
return hasil;
}
}
ini main class nya
Kalkulator.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Kalkulator_Sederhana;
/**
*
* @author widyan
*/
import java.util.Scanner; //memanggil class Scanner dari java.util package
public class Kalkulator {
public static void main(String[] args) {
int hasil = 0; //mendeklarasikan variabel hasil bertipe data integer, dan menginisialisasi kan hasil=0
Scanner dataIn = new Scanner(System.in);
System.out.println("Kalkulator Sederhana"); //menampilkan "kalkulator sederhana"
String inputan = dataIn.nextLine();
KalkulatorSederhana run = new KalkulatorSederhana(inputan);
run.Proses(inputan); //memanggil class Proses
//mendeklarasikan variabel operator dengan tipe data integer, dan menginisialisasikan operator=0
int operator = 0;
hasil = Integer.parseInt(run.Proses(inputan).strchar[0]);
for (int i = 1;( i < run.Proses(inputan).strchar.length)&&(run.Proses(inputan).strchar[i] != null) ; i++) {
if ((i % 2 == 1) && (run.Proses(inputan).charactervar[i] != ' ')) {
operator = Integer.parseInt(run.Proses(inputan).strchar[i + 1]);
hasil = run.proses(hasil, operator, run.Proses(inputan).charactervar[i]);
}
}
System.out.println(hasil); //menampilkan hasil
}
}
ini hasilnya :-D
download .class dan .jar nya disini :