Alhamdulillah sesuatu akhirnya bisa postingan lagi, selama bermeditasi digunung batu akhirnya dapet flashbang (pencerahan) juga hehehe. Postingan kali ini kita masih akan membahas seputar Java Programming, kalo kemarin kan kita membahas tentang Menentukan Jumlah Bilangan Bulat dan Pecahan, nahh sekarang juga masih tentang bilangan cuman ada ngitung-ngtungnya aja, yuppss benerr kita akan membuat program tentang kalkulator, tapi sebelumnya sebenernya program yang akan saya bahas ini belum sempurna atau masih versi 1.0 nya lah hahaha, program kali ini masih sangaaaattt simpel, sebenernya tugasnya ga gini sih cuman proses nya itu looohh hahaha, cuman yaa di buat simpel aja dulu karna keterbatasan ilmu hehehe, next time kalo udah beres meditasi di gunung batu lgi terus dapet flashbang, kita update versi 1.0 nya hehehe.
Ok..
Input
5 + 2 - 3
Output
4
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * @date 1 September 2012 * @author ABRZLAZHR */ public class Calculator { //menggunakan class library BufferedReader BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)); //instansiasi String input = ""; //deklarasi input //method prosedur input public void input() throws IOException{ System.out.println("Kalkulator sederhana + dan -"); input = dataIn.readLine(); //membaca data input } //method prosedur OpBil public void OpBil(){ //split berguna untuk memecah string(dipisah berdasarkan spasi), kemudian disimpan dalam array String all[] = input.split(" "); //Pendeklarasian_ String bilangan[] = new String[3]; //_data bilangan dimasukan ke dalam array 3 element String operator[] = new String[2]; //_data operator dimasukan ke dalam array 2 element int index_op = 0; // int index_bil = 0; // //looping untuk membaca input yang sudah displit for(int i=0; i<all.length; i++){ //penyeleksian untuk membuat variabel berdasarkan operator dan bilangan if (("+".equals(all[i])) || ("-".equals(all[i]))){ operator[index_op] = all[i]; //jika all[i] +/- maka var operator[index] akan diinisialisasi index_op++; //nilai index ditambahkan } else{ bilangan[index_bil] = all[i]; //jika all[i] bilangan maka var bilangan[index] akan diinisialisasi index_bil++; //nilai index ditambahkan } } //pass by reference, memberi nilai dan mengambil nilai hasil(bilangan, operator); } //method fungsi dengan parameter bil dan opp public static String[] hasil(String[] bil, String[] opp){ //variabel d_bilangan utk menyimpan bilangan yg sudah di convert double d_bilangan[] = new double[3]; double hasil = 0; //mengconvert masing2 bilangan dari string ke double menggunakan looping for(int i=0; i<bil.length; i++){ d_bilangan[i] = Double.parseDouble(bil[i]); } //nilai hasil di awali dengan nilai bilangan index 0 hasil = d_bilangan[0]; /*karena nilai hasil awal sudah diawali oleh nilai bilangan index 0_ maka index_hasil nilainya diawali dengan 1 bukan lagi 0*/ int index_hasil = 1; for(int i=0; i<opp.length; i++){ switch (opp[i]) { case "+": hasil = hasil + d_bilangan[index_hasil]; break; case "-": hasil = hasil - d_bilangan[index_hasil]; break; } index_hasil++; } System.out.println(hasil); return bil; } }
CalculatorTest.java
import java.io.IOException; /** * @date 1 September 2012 * @author ABRZLAZHR */ public class CalculatorTest { public static void main(String[] args) throws IOException { Calculator test = new Calculator(); test.input(); test.OpBil(); } }
Oke dilanjutkan dengan pembahasan scriptnya tapi ga bakalan semuanya dibahas, hanya sub-sub tertentu saja yg akan dibahas. Pertama kita buka dulu script Calculator.java
String all[] = input.split(" ")Split disini berguna untuk memecah string berdasarkan spasi kemudian dimasukan kedalam index,
misalkan :
"saya belajar java"
maka
index 0 = "saya"
index 1 = "belajar"
index 2 = "java"
String bilangan[] = new String[3]; String operator[] = new String[2];
for(int i=0; i<all.length; i++){ if (("+".equals(all[i])) || ("-".equals(all[i]))){ operator[index_op] = all[i]; index_op++; } else{ bilangan[index_bil] = all[i]; index_bil++; } }
all[0] = "saya"
all[1] = "belajar"
operator[0] = all[0]
double d_bilangan[] = new double[3];
for(int i=0; i<bil.length; i++){ d_bilangan[i] = Double.parseDouble(bil[i]); }
hasil = d_bilangan[0]; int index_hasil = 1;
Untuk download bisa disini :
Kalkulator.class
Kalkulator.jar
0 comments:
Post a Comment