Selasa, 26 Februari 2013

MEMBUAT KALKULATOR SEDERHANA DENGAN JAVABEANS


1. New project. Pilih Java > Java Application.
2. Tuliskan nama project (misal CalculatorBeans).
3. Buat file Logic.java yang berisi fungsi – fungsi dan pengaturan.
public long Calculate(LinkedList<Long> angka,LinkedList<Character> tanda)
{
long angka1 = angka.get(0);
long angka2 = 0;
long hasil = angka1;
// Dummies Variables
char c;
long angkaTemp = 0;
int pointerTanda = 0;
int pointerAngka = 1;
 
while(pointerTanda<tanda.size())
{
hasil = 0;
angka2 = angka.get(pointerAngka++);
c = tanda.get(pointerTanda++);
// Operasi pada c lebih rendah daripada yang ada pada list
char sementara = 0;
if(tanda.size()>0 && pointerTanda<tanda.size())
sementara = tanda.get(pointerTanda);
while(Presedence(c)<Presedence(sementara))
{
if(angka.size()>0) angkaTemp = angka.get(pointerAngka++);
if(tanda.size()>0) sementara = tanda.get(pointerTanda++);
if(sementara==’*')
{ angka2 *= angkaTemp; }
else if (sementara==’/')
{ angka2 /= angkaTemp; }
if(tanda.size()>0 && pointerTanda<tanda.size()) sementara = tanda.get(pointerTanda);
else
sementara = 0;
}

if(c==’*')
{ angka1 *= angka2; }
else if (c==’/')
{
try
{ angka1 /= angka2; }
catch(ArithmeticException ae)
{ JOptionPane.showMessageDialog(null, “Error Occured, Division By Zero, System Restart”); }
}
else if(c == ‘+’) { angka1+= angka2; }
else if (c==’-') { angka1-= angka2; }
hasil = angka1;
}
 
return hasil;
}
private int Presedence(char tanda)
{
int presedence = 0;
if(tanda == ‘*’ || tanda ==’/')
{
presedence = 2;
}
else if(tanda == ‘+’ || tanda == ‘-’)
{
presedence = 1;
}
return presedence;
}
4. Buat panel kalkulator dengan cara : klik kanan pada project > create new >JPanel Form. Isikan CalculatorPanel  sebagai nama JPanel yang kita buat.
5. Buat tampilan kalkulator sederhana menggunakan drag and drop dari pallete.
6. Sebelum membuat action performed pada masing – masing tombol, buat fungsi bantuan untuk mengatur tampilan :
>> ADDDIGIT
>> CLEAR
>> SETOPERATOR
>> ADDOPERATOR
Contoh source code pada fungsi AddDigit :
private void AddDigit(int angka)
{
String text = Display.getText();
long isiDisplay = 0; 
try
{
isiDisplay = Long.parseLong(text);
if(isiDisplay==0 && angka==0) return;
inputAngka = true;
}
catch(Exception ex)
{ }
 if(text.equalsIgnoreCase(“0″) || startAwal)
{
Display.setText(angka+”");
startAwal = false;
TextPerhitungan.setText(TextPerhitungan.getText()+angka);
}
else if(Math.ceil(Math.log10(isiDisplay))<10)
{
Display.setText(text+angka);
TextPerhitungan.setText(TextPerhitungan.getText()+angka);
}
}
7. Pada source code CalculatorPanel, buat masing – masing action performed tombol dengan memanfaatkan fungsi fungsi yang ada pada Logic.java.
Beberapa contoh action performed yang dibuat :
private void BtnMinusActionPerformed(java.awt.event.ActionEvent evt) {
long x;
if(!startAwal && inputAngka)
try {
x = Long.parseLong(Display.getText());
angka.add(x);
inputAngka = false;
} catch(Exception ex) {
}
Display.setText(l.Calculate(angka, operator)+”");
SetOperator(‘-’);
}
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(tandaTemp != ‘ ‘)
{
this.AddOperator(Operator.getText().charAt(0));
tandaTemp = ‘ ‘;
}
AddDigit(0);
}
8. Build project yang telah dibuat. Kemudian buat beans CalculatorPanel, pilih Tools > Palette > Swing AWT Components
9. Pilih Beans pada Palette Manager.
10. Pilih add from Jar. Cari CalculatorBean.jar dari project folder yang kita buat.
11. Pilih panelCalculator
12. Pilih kategori Beans -> Finish.
13. Buat JForm baru sebagai kelas utama dari project yang kita buat. Pada tab design, drag panelCalculator dari palette ( pada kategori Beans )
14. Hasil dari drag panelKalkulator
15. Build dan run project Kalkulator yang telah dibuat.

Tidak ada komentar:

Posting Komentar