Wednesday, April 18, 2012

modifikasi kalkulator menggunakan editplus bagian ke dua

hai... ketemu lagi nie .. udah tiga hari ga posting..
jadi pengen posting..
tapi bingung mau posting apa..ZZZzzzz LOL
.. .......................................
bingung ga ada bahan .. jadi
iseng - iseng ngedit program .. huummmm
akhirnya bisa juga nie ...mengubah tampilan background ..
 lumayan buat menambah pengetahuan...
program yang di edit adalah program kalkulator 
yang di buat oleh bahasa pemrograman java
ini screen shootnya :

 





jadi mendingan coba aja sendiri ya .. silahkan mencoba..
ini scriptnya :



import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Kalkulator
extends JFrame
implements ActionListener {

// Deklarasi Variabel GUI
JTextField tampil_angka = new JTextField("0");
JPanel panalAngka = new JPanel();
JButton tombol_1 = new JButton("1");
JButton tombol_2 = new JButton("2");
JButton tombol_3 = new JButton("3");
JButton tombol_4 = new JButton("4");
JButton tombol_5 = new JButton("5");
JButton tombol_6 = new JButton("6");
JButton tombol_7 = new JButton("7");
JButton tombol_8 = new JButton("8");
JButton tombol_9 = new JButton("9");
JButton tombol_0 = new JButton("0");
JButton tombol_plusMinus = new JButton("+/-");
JButton tombol_Titik = new JButton(".");
JButton tombol_c = new JButton("C");
JButton tombol_kali = new JButton("*");
JButton tombol_kurang = new JButton("-");
JButton tombol_tambah = new JButton("+");
JButton tombol_bagi = new JButton("/");
JButton tombol_persen = new JButton("%");
JButton tombol_samaDengan = new JButton("=");
JButton tombol_ce = new JButton("CE");

// Deklarasi variabel input bukan angka
String bukan_angka = "";
// Deklarasi variabel tampung tampilan angka pertama
double bil_1 = 0;
// Deklarasi variabel angka baru jika mendapat input bukan angka
boolean angka_baru = false;

public static void main(String[] args) {
Kalkulator frame = new Kalkulator();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(310, 255);
frame.setVisible(true);
frame.setResizable(false);
} // Akhir methode main

public Kalkulator() {
// Layout dan titel
this.getContentPane().setLayout(null);
this.setTitle("Kalkulator");

// Menanmbahkan Panel

// Mengatur Panel
panalAngka.setBackground(Color.orange);
panalAngka.setBounds(new Rectangle(0, 0, 343, 225));
panalAngka.setLayout(null);

// Menambahkan Tombol-Tombol pada Panel
panalAngka.add(tombol_0, null);
panalAngka.add(tombol_1, null);
panalAngka.add(tombol_2, null);
panalAngka.add(tombol_3, null);
panalAngka.add(tombol_4, null);
panalAngka.add(tombol_5, null);
panalAngka.add(tombol_6, null);
panalAngka.add(tombol_7, null);
panalAngka.add(tombol_8, null);
panalAngka.add(tombol_9, null);
panalAngka.add(tombol_c, null);
panalAngka.add(tombol_kali, null);
panalAngka.add(tombol_kurang, null);
panalAngka.add(tombol_samaDengan, null);
panalAngka.add(tombol_tambah, null);
panalAngka.add(tombol_bagi, null);
panalAngka.add(tombol_persen, null);
panalAngka.add(tombol_ce, null);
panalAngka.add(tombol_plusMinus, null);
panalAngka.add(tombol_Titik, null);

// Menambah dan mengatur JTextField untuk menampilkan angka-angka
panalAngka.add(tampil_angka, null);
this.getContentPane().add(panalAngka, null);
tampil_angka.setBackground(Color.white);
tampil_angka.setBorder(null);
tampil_angka.setEditable(false);
tampil_angka.setText("0");
tampil_angka.setHorizontalAlignment(SwingConstants.RIGHT);
tampil_angka.setBounds(new Rectangle(7, 10, 290, 27));

/** Mengatur ukuran dan posisi Tombol-Tombol
*
* line d = 7 8 9 C CE
* line c = 4 5 6 * %
* line b = 1 2 3 - /
* line a = 0 +/- . + =
*
*/
// Untuk Line a (0, +/-, ., +, =)
tombol_0.setBounds(new Rectangle(6, 183, 50, 33));
tombol_plusMinus.setBounds(new Rectangle(66, 183, 50, 33));
tombol_Titik.setBounds(new Rectangle(126, 183, 50, 33));
tombol_tambah.setBounds(new Rectangle(186, 183, 50, 33));
tombol_samaDengan.setBounds(new Rectangle(246, 183, 50, 33));
// Untuk Line b (1, 2, 3, -, /)
tombol_1.setBounds(new Rectangle(7, 140, 50, 33));
tombol_2.setBounds(new Rectangle(66, 140, 50, 33));
tombol_3.setBounds(new Rectangle(126, 140, 50, 33));
tombol_kurang.setBounds(new Rectangle(186, 140, 50, 33));
tombol_bagi.setBounds(new Rectangle(246, 140, 50, 33));
// Untuk Line c (4, 5, 6, *, %)
tombol_4.setBounds(new Rectangle(7, 97, 50, 33));
tombol_5.setBounds(new Rectangle(66, 97, 50, 33));
tombol_6.setBounds(new Rectangle(126, 97, 50, 33));
tombol_kali.setBounds(new Rectangle(186, 97, 50, 33));
tombol_persen.setBounds(new Rectangle(246, 97, 50, 33));

// Untuk Line d (7, 8, 9, C, CE)
tombol_7.setBounds(new Rectangle(6, 54, 50, 33));
tombol_8.setBounds(new Rectangle(66, 54, 50, 33));
tombol_9.setBounds(new Rectangle(126, 54, 50, 33));
tombol_c.setBounds(new Rectangle(186, 54, 50, 33));
tombol_ce.setBounds(new Rectangle(246, 54, 50, 33));

// Menambahkan ActionListener pada Tombol-Tombol
tombol_0.addActionListener(this);
tombol_1.addActionListener(this);
tombol_2.addActionListener(this);
tombol_3.addActionListener(this);
tombol_4.addActionListener(this);
tombol_5.addActionListener(this);
tombol_6.addActionListener(this);
tombol_7.addActionListener(this);
tombol_8.addActionListener(this);
tombol_9.addActionListener(this);
tombol_plusMinus.addActionListener(this);
tombol_Titik.addActionListener(this);
tombol_c.addActionListener(this);
tombol_ce.addActionListener(this);
tombol_kali.addActionListener(this);
tombol_kurang.addActionListener(this);
tombol_persen.addActionListener(this);
tombol_bagi.addActionListener(this);
tombol_samaDengan.addActionListener(this);
tombol_tambah.addActionListener(this);
} // Akhir methode Kalkulator

/**
* Methode actionPerformed(ActionEvent e)
* Methode untuk memproses event yang diterima dari Tombol
* @param e :
*/
public void actionPerformed(ActionEvent e) {
// Mengambil nama Command dari setiap tombol
String a = e.getActionCommand();

// Jika tombol operator yang ditekan
if ( (a == "=") || (a == "-") || (a == "+") || (a == "*") || (a == "/")) {
// Panggil methode operasi dengan input a
operasi(a);
}

// Tetapi jika tombol titik yang ditekan
else if (a == ".") {
// Panggil Methode koma dengan input a
koma(a);
}

// Tetapi jika tombol persen atau “+/-“ yang ditekan
else if (a == "%" || a == "+/-") {
// Panggil methode persen_negatif dengan input a
persen_negatif(a);
}

// Tetapi jika tombol C atau CE yang ditekan
else if (a == "C" || a == "CE") {
// Panggil methode hapus dengan input a
hapus(a);
}

// Tetapi jika tombol angka yang ditekan
else {
// Panggil methode angka dengan input a
angka(a);
}
} // Akhir methode kalkulator

/**
* Methode : angka
* Keterangan : proses jika input yang didapat adalah Angka
* @param a :
*/
public void angka(String a) {
// Jika angka ditekan setelah tombol operator
if (angka_baru) {
tampil_angka.setText(a);
angka_baru = false;
}
else {
// Jika tombol angka pertama kali ditekan
if (tampil_angka.getText().equals("0")) {
// Hilangkan "0" dan diisi dengan angka yang ditekan
tampil_angka.setText(a);
}
// Tetapi jika bukan yang pertama kali ditekan
else {
// Tambahkan String angka tersebut
a = tampil_angka.getText() + a;
// Isi dengan string yang telah didapat
tampil_angka.setText(a);
}
}
} // Akhir methode angka

/**
* Methode : operasi
* Keterangan : proses jika input yang didapat adalah
* "+" "-" "*" "/" atau "="
* @param a :
*/
public void operasi(String a) {
// Mengambil nilai yang ada pada teks field
String ambil_angka = tampil_angka.getText();
// Jika tombol yang ditekan bukan tombol operator
if (angka_baru && bukan_angka != "=") {
}
// Tetapi jika tombol yang ditekan adalah tombol operator
else {
// Angka yang ditekan akan menjadi angka baru berikutnya
angka_baru = true;
// Jika Penjumlahan
if (bukan_angka == "+") {
bil_1 += Double.parseDouble(ambil_angka);
bukan_angka = a;
}
// Tetapi jika perkalian
else if (bukan_angka == "*") {
bil_1 *= Double.parseDouble(ambil_angka);
bukan_angka = a;
}
// Tetapi jika Pembagian
else if (bukan_angka == "/") {
bil_1 /= Double.parseDouble(ambil_angka);
bukan_angka = a;
}
// Tetapi jika pengurangan
else if (bukan_angka == "-") {
bil_1 -= Double.parseDouble(ambil_angka);
bukan_angka = a;
}
// Tetapi jika tombol "="
else {
bil_1 = Double.parseDouble(ambil_angka);
bukan_angka = a;
}
}
// Merubah hasil dari Double menjadi String
String koma_nol = Double.toString(bil_1);
// Apabila hasil yang didapatkan bilangan bulat
if (koma_nol.endsWith(".0")) {
// Hilangkan dua digit paling akhir (.0)
koma_nol = koma_nol.substring(0, koma_nol.trim().length() - 2);
}
// Tampilkan hasil akhir
tampil_angka.setText(koma_nol);
} // Akhir methode operasi

/**
* Methode : koma
* Keterangan : proses jika input yang didapat adalah
* "."
* @param a :
*/
public void koma(String a) {
String titik = tampil_angka.getText();
if (angka_baru) {
tampil_angka.setText("0.");
angka_baru = false;
}
else {
if (titik.indexOf(".") == -1) {
titik = titik + ".";
}
}
tampil_angka.setText(titik);
} // Akhir methode koma

/**
* Methode : persen_negatif
* Keterangan : proses jika input yang didapat adalah
* "%" atau "+/-"
* @param a :
*/
public void persen_negatif(String a) {
// Jika tombol "%" yang ditekan
if (a == "%") {
bil_1 = (Double.parseDouble(tampil_angka.getText())) / 100;
}
// Jika tombol "+/-" yang ditekan
else {
bil_1 = (Double.parseDouble(tampil_angka.getText())) * -1;
}

// Merubah hasil dari Double menjadi String
String koma_nol = Double.toString(bil_1);
// Apabila hasil yang didapatkan bilangan bulat
if (koma_nol.endsWith(".0")) {
// Hilangkan dua digit paling akhir (.0)
koma_nol = koma_nol.substring(0, koma_nol.trim().length() - 2);
}
// Tampilkan hasil akhir
tampil_angka.setText(koma_nol);
} // Akhir methode persen_negatif

/**
* Methode : hapus
* Keterangan : proses jika input yang didapat adalah
* "C" atau "CE"
* @param a :
*/
public void hapus(String a) {
if (a == "C") {
tampil_angka.setText("0");
bukan_angka = "";
bil_1 = 0;
angka_baru = true;
}
else {
tampil_angka.setText("0");
angka_baru = true;
}
} // Akhir methode hapus

} // Akhir Class Kalkulator


 NB : jangan lupa save sesuai nama classnya ...disini memakai Kalkulator



No comments:

Post a Comment

Udah di baca kan.... kritik dan sarannya saya persilahkan ^_^..jangan lupa isi Buku tamunya juga ya...