Kesempatan kali ini saya akan membahas bagaimana cara nya untuk memebuat program sederhana java yaitu kalkulator minimalis.
TUGAS
BONUS
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)
Algoritma
Input
Operand1 operator1 operand2
operator2 … ….operandN operatorN
Output
Hasil operasi
|
Contoh :
5 + 3 – 2 + 2
Output
8
|
Tuliskan script berikut :
lalu satu class lagi:
- public class KalkulatorSederhana {
- // deklarasikan variabel bermodifierkan public supaya dapat di modif oleh method-method
- int angka;
- int hasil;
- String abc = "";
- }
- // method untuk memproses string abc saat dipanggil ex:prosesFormula("5+2-1");
- public void proses(String abc) {
- if(abc.contains(" ")) { // jika string berisi spasi
- abc = abc.replace(" ", ""); // spasi akan di replace dengan char kosong
- }
- char operator[] = new char[abc.length()];
- int rightValue[] = new int[abc.length()];
- char emptyChar = 0;
- String tempat[] = new String[abc.length()];
- int indexOperator = 0, indexRightval = 1;
- // membuat proses pengulangan untuk membedakan angka dan operator serta menempatkannya
- for(int loop=0;loop<abc.length();loop++){
- if(abc.charAt(loop) == '0' || abc.charAt(loop) == '1' || abc.charAt(loop) == '2' ||
- abc.charAt(loop) == '3' || abc.charAt(loop) == '4' || abc.charAt(loop) == '5' ||
- abc.charAt(loop) == '6' || abc.charAt(loop) == '7' || abc.charAt(loop) == '8' ||
- abc.charAt(loop) == '9') {
- // jika char pada string abc di index loop berisi angka, maka akan di masukkan ke dalam variabel rightValue
- tempat[indexRightval] = String.valueOf(abc.charAt(loop));
- rightValue[indexRightval] = Integer.parseInt(tempat[indexRightval]);
- indexRightval++;
- } else if(abc.charAt(loop) == '+' || abc.charAt(loop) == '-' ||
- abc.charAt(loop) == '*' || abc.charAt(loop) == '/') {
- // jika char pada string abc di index loop berisi simbol aritmatika, maka akan di masukkan ke dalam variabel operator[]
- operator[IndexO] = abc.charAt(loop);
- IndexO++;
- } else {
- System.out.println("abc " + abc.charAt(loop) + " tidak valid!");
- break;
- }
- }
- // mengambil nilai pertama pada string abc untuk di hitung
- hasil] = Integer.parseInt(tempat[1]);
- int indexNew = 2;
- // membuat proses pengulangan dan menghitung sesuai jumlah operator
- for(int loop=0;loop<operator.length;loop++) {
- switch(operator[loop]) {
- case '+' :
- hasil = hasil+ rightValue[indexNew];
- break;
- case '-' :
- hasil = hasil- rightValue[indexNew];
- break;
- case '*' :
- hasil = hasil* rightValue[indexNew];
- break;
- case '/' :
- hasil = hasil / rightValue[indexNew];
- break;
- }
- indexNew++;
- }
- // method accessor untuk mengakses variabel hasil yang sudah diproses
- public int getHasilproses() {
- return hasil;
- } }
Kalau ada yang ingin mendownload :
- // impor class dari package java.io yang digunakan untuk proses input
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class KalkulatorSederhana {
- public static void main(String[] args) {
- KalkulatorSederhana= "";
- int hasil;
- // membuat obyek dari kelas prosesString
- proses pr = new proses();
- // membuat obyek dari kelas BufferedReader dan InputStreamReader untuk menempatkan inputan
- BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
- try{
- System.out.print("Masukan Operator dan Operand : ");
- abc= dataIn.readLine(); // memanggil method untuk memasukkan inputan ke dalam variabel abc
- pr.KalkulatorSederhan(abc); // memanggil method untuk memproses string abc
- System.out.print("Hasil perhitungan : ");
- System.out.println(pr.getHasil()); // memanggil method untuk mengakses nilai hasil dan menampilkannya
- }catch(IOException ex) {
- System.out.println("Input error!");
- }
- }
- }
file yang .jav .java
Sekian penjelasan dari saya ,mohon maaf bila terjadi banyak sekali kesalahan ,atau penjelasan yang kurang ,karena kesempurnaan hanya milik Allah SWT ..dan saya masih belajar