Sabtu, 01 September 2012

Program Kalkulator Sederhana (Bonus THR)


Masalah 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)


Input
Operand1 operator1 operand2 operator2 … ….operandN  operatorN
Output
Hasil operasi

Contoh :
5 + 3 – 2 + 2

Output
8
  Algoritma

Penilaian (Poin 110)
1.     Penamaan variable ,operator, komentar untuk penjelasan program. ( Poin 10)
2.     Program dibuat lebih dari satu file class dan satu method (satu method harus berjenis fungsi – memiliki nilai kembalian) ( Poin 25)
3.     Penggunaan Class Library untuk Input dari Keyboard ( Poin 30)
4.     Pengunaan Struktur Kontrol  (Conditional dan Looping). ( Poin 20)
5.     Program sesuai dengan Algortima yang diberikan ( Poin 25)

Penyelesaian

 
MEMBUAT SCRIP UNTUK CLASS YANG PERTAMA, YAITU  MENGINPUT, MELOOPING DAN MENYELEKSI.
1. Buka aplikasi NetBeans IDE 7.1 Beta
2. Buat project baru beri nama (contoh : Boonus) 
3. Klik kanan di nama project tersebut = new  java package  beri nama (Contoh : Boonus)
4. Klik kanan di package = new java class beri nama (Contoh : bonus)
5. MEMBUAT SCRIPT
BoonusTest.java

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
package boonus;

import java.util.Scanner;

/**
 *
 * @author Firda Nur Jannah
 */
public class Boonus {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
         int hasil = 0;
        boolean isWrong = false;
        Scanner dataIn = new Scanner(System.in);

        System.out.println("Contoh : ");
        String input = dataIn.nextLine();
        BoonusTest data = new BoonusTest(input);
        data = BoonusTest.checkAndProcess(input);
        //hasil = Integer.parseInt(stringConvert[0]);
        int operand = 0;
        hasil = Integer.parseInt(data.stringvar[0]);
        for (int i = 0; i < data.stringvar.length; i++) {
            if ((i % 2 == 1) && (data.charvar[i] != ' ')) {
                operand = Integer.parseInt(data.stringvar[i + 1]);
                System.out.println("strvar : " + data.stringvar[i + 1]);
                //hasil = Sys.checkAndProcess(hasil, operand, data.charvar[i]);
                System.out.println("");
               
                switch (data.charvar[i]) {
                    case '+':
                        hasil = hasil + operand;
                        break;
                    case '-':
                        hasil = hasil - operand;
                        break;
                    case '*':
                        hasil = hasil * operand;
                        break;
                    case '/':
                        hasil = hasil / operand;
                        break;
                }
            }
        }

        System.out.println (hasil);

    }
}

6. MEMBUAT SCRIP UNTUK CLASS YANG KEDUA.
 
Boonus.java 
 
 
/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
package boonus;

/**
 *
 * @author Firda Nur Jannah
 */
public class BoonusTest {
   
 public char charvar[];
    public String stringvar[];

    public BoonusTest(String input) {
        charvar = new char[input.length()];
        stringvar = new String[charvar.length];
    }

    public static BoonusTest checkAndProcess(String input) {
        char charConvert[] = new char[input.length()];
        String stringConvert[] = new String[charConvert.length];
//
        int j = 0;
        String blank = "";
        for (int i = 0; i < charConvert.length; i++) {
            char tester = input.charAt(i);

            if (tester == '+' || tester == '-' || tester == '*' || tester == '/') {
                j++;
                blank = "";

                charConvert[j] = input.charAt(i);
                stringConvert[j] = String.valueOf(charConvert[j]);
            } else if (tester == '0' || tester == '1' || tester == '2' || tester == '3' || tester == '4' || tester == '5' || tester == '6' || tester == '7' || tester == '8' || tester == '9') {
                charConvert[j] = input.charAt(i);
                stringConvert[j] = blank + String.valueOf(charConvert[j]);
                blank = stringConvert[j];

                j--;
            } else if (tester == ' ') {
                continue;
            } else {
                System.out.println("Operator yang anda masukkan tidak tersedia !");
                System.out.println(tester);
                //isWrong = true;
                System.exit(0);
                break;
            }

            j++;
        }
        BoonusTest as = new BoonusTest(input);
        as.charvar = charConvert;
        as.stringvar = stringConvert;
        return as;
               
    }

    public static int checkAndProcess(int var1, int var2, char operand) {
        int hasil = 0;
        switch (operand) {
            case '+':
                hasil = var1 + var2;
                break;
            case '-':
                hasil = var1 - var2;
                break;
            case '*':
                hasil = var1 * var2;
                break;
            case '/':
                hasil = var1 / var2;
                break;
        }
        System.out.println("check :" + hasil);
        return hasil;
       

    }
}

7. DI RUN, SETELAH DI RUN PADA CLASS BoonusTest.java HASIL OUTPUTNYA AKAN TERLIHAT SEPERTI BERIKUT.

 Output

 postingan ini dibuat berdasarkan Bonus tugas produktif JAVA, silahkan mencoba^^

 please Download Boonus.class
  please Download Boonus.jarr

 

Tidak ada komentar:

Posting Komentar

Followers