Halaman

Membuat Kalkulator Sederhana
10.07 | Author: Muhammad Widyan Riadhi F
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 :