Saya akan membahas bahasa pemrograman JAVA dengan membuat
kalkulator sederhana,dan berikut adalah coding programnnya beserta
penjelasannya :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* calc.java
*
* Created on Mar 8, 2013, 1:19:17 AM
*/
package kalkulator;
/**
*
* @author 123
*/
public class calc extends javax.swing.JFrame {
/** Creates new form calc */
public calc() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
btnExit = new javax.swing.JButton();
btnClear = new javax.swing.JButton();
btnHitung = new javax.swing.JButton();
tfHasil = new javax.swing.JTextField();
cbOperator = new javax.swing.JComboBox();
tfbil2 = new javax.swing.JTextField();
tfbil1 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(255, 255, 204));
btnExit.setBackground(new java.awt.Color(255, 255, 204));
btnExit.setText("Exit");
btnExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnExitActionPerformed(evt);
}
});
btnClear.setBackground(new java.awt.Color(255, 255, 204));
btnClear.setText("batal");
btnClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnClearActionPerformed(evt);
}
});
btnHitung.setBackground(new java.awt.Color(255, 255, 204));
btnHitung.setText("proses");
btnHitung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnHitungActionPerformed(evt);
}
});
cbOperator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" }));
jLabel4.setText("Hasil");
jLabel3.setText("Operator");
jLabel2.setText("Angka ke - 2");
jLabel1.setText("Angka ke - 1");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(27, 27, 27)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(btnHitung)
.addGap(18, 18, 18)
.addComponent(btnClear))
.addComponent(jLabel2)
.addComponent(jLabel1)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(39, 39, 39)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(tfbil1, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(tfbil2, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(cbOperator, 0, 161, Short.MAX_VALUE)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(tfHasil, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
.addContainerGap())))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(btnExit)
.addContainerGap())))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(34, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfbil1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfbil2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfHasil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addGap(26, 26, 26)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnHitung)
.addComponent(btnClear)
.addComponent(btnExit))
.addGap(44, 44, 44))
);
jLabel5.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 0, 0));
jLabel5.setText("Kalkulator Sederhana");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 309, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(15, Short.MAX_VALUE)
.addComponent(jLabel5)
.addGap(18, 18, 18)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) {
int bil1 = Integer.parseInt(tfbil1.getText());
int bil2 = Integer.parseInt(tfbil2.getText());
double hasil=0;
int op = cbOperator.getSelectedIndex();
switch(op){
case 0 : hasil = bil1 + bil2 ;
break ;
case 1 : hasil = bil1 - bil2 ;
break ;
case 2 : hasil = bil1 * bil2 ;
break ;
case 3 : hasil = bil1 / bil2 ;
break ; }
tfHasil.setText(String.valueOf(hasil));
// TODO add your handling code here:
}
private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {
tfbil1.setText("");
tfbil2.setText("");
tfHasil.setText("");
tfbil1.requestFocus();
// TODO add your handling code here:
}
private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0); // TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new calc().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnClear;
private javax.swing.JButton btnExit;
private javax.swing.JButton btnHitung;
private javax.swing.JComboBox cbOperator;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField tfHasil;
private javax.swing.JTextField tfbil1;
private javax.swing.JTextField tfbil2;
// End of variables declaration
}
int bil1 = Integer.parseInt(tfbil1.getText());
int bil2 = Integer.parseInt(tfbil2.getText());
digunakan untuk input angka pada kalkulator dengan type casting ke
integer.
int op = cbOperator.getSelectedIndex();
digunkan untuk memilih operator antara lain
penjuumlahan,pdjasjah…. Program di atas menghasilkan kembalian bertipe integer.
switch(op){
case 0 : hasil = bil1 + bil2 ;
break ;
case 1 : hasil = bil1 - bil2 ;
break ;
case 2 : hasil = bil1 * bil2 ;
break ;
case 3 : hasil = bil1 / bil2 ;
break ; }
pada program ini menggunkan seleksi switch case untuk melakukan
pemilihan eksekusi mana operator yang anda pilih pada saat di output program
tfHasil.setText(String.valueOf(hasil));
untuk menampilkan hasil operasinya dalam bentuk text.
private void
btnClearActionPerformed(java.awt.event.ActionEvent evt) {
tfbil1.setText("");
tfbil2.setText("");
tfHasil.setText("");
tfbil1.requestFocus();
program ini di gunakan pada tombol batal untuk mereset/menghapus
yang ada di text field
private void
btnExitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
Buat tombol exit,dan mengakhiri program.
Contoh output program
0 komentar:
Posting Komentar