cyber-malang | Pertama kita perlu ketahui ada pakage apa saja dalam sebuah aplikasi yg akan kita buat, dan dalam aplikasi yang ini hanya ada 3 pakage, yaitu : Pakege form, Pakage entitas, Pakage main. yang dibutuhkan untuk membuat kalkulator disini adalah Netbeans , kawan bisa cari di google.
disetiap pakage akan berisi class'nya masing :
- Pakage form = Berisi semua source form yang akan kita bangun termasuk even even nya
- Pakage entitas = Berisi semua source entitas untuk menghubungkan antara entitas dengan form.
- Pakage main = Sebnarnya ini tidak begitu penting, hanya untuk running program selama masih dalam tahap pembangunan..
Tahap 1
Desain kalkulator kalian
Tahap 2
Berikan nama variable disetiap swing
Tahap 3
Setting running program melalui classmain
package calculatorujicoba;
import Tampilan.TampilanUtama;
/*
* Programmer : Crash Override
*
* Created on 24 Des 12, 21:28:41
*/
public class CalculatorUjicoba {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
TampilanUtama Tu = new TampilanUtama();
Tu.setVisible(true);
Tu.setLocationRelativeTo(null);
}
}
Tahap 4
Buat class entitas
package Entitas;
/*
* Programmer : Crash Override
*
* Created on 24 Des 12, 21:28:41
*/
public class EntitiCalcu {
int operator = 0;
double nilai1;
double nilai2;
double result;
public void setNilai(String nl){
if (!nl.equals("")){
if(operator==0){
nilai1= Double.valueOf(nl);
}else{
nilai2= Double.valueOf(nl);
}
}
}
public void setOperator(int operator) {
this.operator = operator;
}
public double getResult() {
return result;
}
public void setResult(double hasil) {
this.result = hasil;
}
public void proses(){
switch(operator){
case 1:
result = nilai1 + nilai2;
break;
case 2:
result = nilai1 - nilai2;
break;
case 3:
result = nilai1 * nilai2;
break;
case 4:
result = nilai1 / nilai2;
break;
case 5:
result = nilai1 % nilai2;
break;
case 6:
result = 1/nilai1;
break;
}
nilai1=result;
}
}
Tahap 5
Sebelum kita memberikan event di setiap swing, maka terlebih dahulu kita membuat methode.
//Menurunkan
EntitiCalcu model = new EntitiCalcu();
String oper="";
//Ambil nilai
public void getOper(javax.swing.JButton button){
oper+=button.getText();
model.setNilai(oper);
resultHasil.setText(oper);
}
private void getOperator(int opt){
model.setOperator(opt);
oper="";
}
private void proses(){
DecimalFormat df = new DecimalFormat("#,###.########");
model.proses();
oper="";
resultHasil.setText(df.format(model.getResult())+"");
}
Tahap 6
Setelah itu berikan event disetiap button sesuai namanya
private void bnt_tambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOperator(1);
}
private void bnt_kurangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOperator(2);
}
private void bnt_kaliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOperator(3);
}
private void bnt_bagiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOperator(4);
}
private void bnt_persenActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOperator(5);
}
private void bnt_samadengaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
proses();
}
private void bnt_1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_1);
}
private void bnt_2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_2);
}
private void bnt_3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_3);
}
private void bnt_4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_4);
}
private void bnt_5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_5);
}
private void bnt_6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_6);
}
private void bnt_7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_7);
}
private void bnt_8ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_8);
}
private void bnt_9ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_9);
}
private void bnt_titikActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_titik);
}
private void bnt_0ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
getOper(bnt_0);
}
private void bnt_cActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(oper.length()>1){
oper = oper.substring(0, oper.length()-1);
model.setNilai(oper);
resultHasil.setText(oper);
}else{
oper = "";
model.setNilai(oper);
resultHasil.setText("0");
}
}
private void bnt_ACActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
oper ="";
model.setOperator(0);
model.setResult(0);
resultHasil.setText("0");
}


إرسال تعليق