Kalkulator
merupakan sebuah aplikasi sederhana yang digunakan untuk mencari hasil dari
sebuah operasi matematika baik itu operasi penjumlahan, pengurangan, pembagian
maupun perkalian dan beberapa operasi lainnya.
Pada
postingan kali ini, akan dibuat sebuah aplikasi kalkulator sederhana yang bisa
digunakan untuk mencari hasil dari operasi penjumlahan, pengurangan, pembagian
serta perkalian. Selain itu, akan dijelaskan juga mengenai beberapa program
yang ada pada aplikasi tersebut. Aplikasi kalkulator sederhana ini dibuat
dengan menggunakan bahasa pemrograman JAVA dengan memanfaatkan NetBeans sebagai
IDE nya.
Aplikasi
kalkulator sederhana ini berbasis GUI, dan pada saat pembuatannya menggunakan
JFrame. Pemilihan tersebut dapat kita lakukan dengan cara buat project baru
dengan memilih File >>
New Project >> Java Application.
Setelah pembuatan project baru selesai, hapus lah subfolder beserta isi yang
ada pada folder “Source Packages”.
Jika
sudah dihapus, maka buat lah sebuah form dengan memanfaatkan JFrame Form,
dengan cara klik kanan pada “source packages” kemudian pilih new, dan setelah
itu pilih JFrame Form.
anda
akan diminta untuk memberikan nama JFrame Form tersebut. Setelah selesai
memberikan nama, klik “finish”. Akan muncul sebuah jendela baru, yang mana akan
terdapat 2 tombol pilihan yaitu “Source” dan “Design”.
Jika
tombol “Source” ditekan, maka tampilan akan berganti menjadi tampilan/jendela
coding yang mana pada jendela tersebut kita membuat program untuk aplikasi
kalkulator. Sedangkan jika tombol “Design” ditekan maka tampilan/jendela akan
berganti menjadi jendela design, yaitu sebuah jendela yang kita gunakan untuk
mendesign tampilan dari aplikasi sesuai dengan yang kita inginkan.
Sebelum
mulai mendesaign tampilan dengan meletakkan tombol dan textField, sebaiknya
letakkan dulu sebuah panel sebagai dasar/background, hal itu akan memudahkan
kita nantinya jika kita ingin menghias background dari aplikasi yang kita buat.
Komponen-komponen
yang digunakan adalah sebagai berikut.
Setelah
selesai membuat design tampilan aplikasi, sekarang tinggal membuat source code/
programnya. Untuk memulai membuat program, kita bisa berpindah ke jendela program
dengan cara menekan tombol “Source”, selain itu karena kebanyakan program
memanfaatkan event penekanan tombol/button, maka sebaiknya kita berpindah ke
jendela program dengan menekan 2 kali pada button yang ada pada desaign
tampilan aplikasi yang telah dibuat sebelumnya. Sebagai contohnya, akan dibuat
program yang mana program tersebut akan dijalankan saat button btn0 ditekan. Maka
kita hanya perlu menekan 2x pada btn0 kemudian secara otomatis jendela tampilan
pada netbeans akan berubah menjadi jendela source, yang akan langsung tertuju
pada fungsi yang akan dijalankan jika btn0 ditekan. Setelah itu, tambahkan
program seperti dibawah ini :
private
void btn0ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
if(txtHasil.getText().isEmpty() ||
nolLagi==true)
{
txtHasil.setText("0");
nolLagi=false;
}
else{
mulaiBaru=false;
txtHasil.setText(txtHasil.getText()
+ "0");
}
}
else txtHasil.setText(txtHasil.getText() +
"0");
}
Program
diatas digunakan untuk mencetak/menampilkan angka 0 pada textField txtHasil. Program
tersebut menggunakan pencabangan if-else, yang mana if-else tersebut digunakan
untuk pengkondisian pencetakan angka 0 pada tampilan aplikasi.
Penambahan
program pada button lainnya memiliki cara yang sama dengan penambahan program
untuk btn0.
Sebelum
menambahkan program untuk button yang lainnya, tambahkan dahulu beberapa
variabel global dibawah ini :
//variabel global
boolean koma, mulaiBaru, nolLagi;
double nilai1, nilai2, hasil;
int proses, hasilInt;
DecimalFormat formatData = new
DecimalFormat("#.#####");
Setelah
itu tambahkan juga beberapa inisialisasi terhadap beberapa variabel didalam
fungsi kalkulator (yang mana didalam fungsi tersebut terdapat program
inisialisasi komponen GUI/ initComponents()).
public kalkulator() {
initComponents();
mulaiBaru=true;
koma=false;
nolLagi=true;
nilai1=0;
nilai2=0;
hasil=0;
}
Berikut
ini merupakan program/coding untuk semua buttonnya.
private
void btn0ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
if(txtHasil.getText().isEmpty() ||
nolLagi==true)
{
txtHasil.setText("0");
nolLagi=false;
}
else{
mulaiBaru=false;
txtHasil.setText(txtHasil.getText()
+ "0");
}
}
else txtHasil.setText(txtHasil.getText() +
"0");
}
private
void btn1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("1");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"1");
}
private
void btn2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("2");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"2");
}
private
void btn3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("3");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"3");
}
private
void btn4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("4");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"4");
}
private
void btn5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("5");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"5");
}
private
void btn6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("6");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"6");
}
private
void btn7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("7");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"7");
}
private
void btn8ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("8");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"8");
}
private
void btn9ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("9");
mulaiBaru=false;
}
else txtHasil.setText(txtHasil.getText() +
"9");
}
private
void btnKomaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
if(mulaiBaru){
txtHasil.setText("0.");
koma=true;
mulaiBaru=false;
}
else{
if(!koma){
if(txtHasil.getText().isEmpty())txtHasil.setText("0.");
else
txtHasil.setText(txtHasil.getText() + ".");
koma=true;
}
}
}
private
void btnBagiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
nilai1 =
Double.valueOf(txtHasil.getText());
txtProses.setText(txtHasil.getText() +
" / ");
mulaiBaru=true;
proses=1;
}
private
void btnKaliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
nilai1 =
Double.valueOf(txtHasil.getText());
txtProses.setText(txtHasil.getText() +
" * ");
mulaiBaru=true;
proses=2;
}
private
void btnKurangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
nilai1 =
Double.valueOf(txtHasil.getText());
txtProses.setText(txtHasil.getText() +
" - ");
mulaiBaru=true;
proses=3;
}
private
void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
nilai1 =
Double.valueOf(txtHasil.getText());
txtProses.setText(txtHasil.getText() +
" + ");
mulaiBaru=true;
proses=4;
}
private
void btnSamaDenganActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
nilai2 =
Double.valueOf(txtHasil.getText());
switch(proses){
case 1 :
hasil = nilai1 / nilai2;
break;
case 2 :
hasil = nilai1 * nilai2;
break;
case 3 :
hasil = nilai1 - nilai2;
break;
case 4 :
hasil = nilai1 + nilai2;
break;
default :
break;
}
if(hasil%1==0){
hasilInt = (int)Math.round(hasil);
txtHasil.setText(Integer.toString(hasilInt));
}
else{
hasil =
Double.valueOf(formatData.format(hasil));
txtHasil.setText(Double.toString(hasil));
}
txtProses.setText("");
//inisialisasi variabel
mulaiBaru=true;
koma=false;
nolLagi=true;
proses=0;
nilai1=0;
nilai2=0;
hasil=0;
}
private
void btnCActionPerformed(java.awt.event.ActionEvent evt) {
// TODO
add your handling code here:
txtProses.setText("");
txtHasil.setText("");
//inisialisasi variabel
mulaiBaru=true;
koma=false;
nolLagi=true;
proses=0;
nilai1=0;
nilai2=0;
hasil=0;
}
0 komentar:
Posting Komentar