Berikut Coding programnya :
Tampilan Program Saat Di Jalankan :
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 metode main public Kalkulator() { // Tampilan dan Judul this.getContentPane().setLayout(null); this.setTitle("Kalkulator Sederhana"); // Mengatur Panel panalAngka.setBackground(Color.green); 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 * * Baris d = 7 8 9 C CE * Baris c = 4 5 6 * % * Baris b = 1 2 3 - / * Baris a = 0 +/- . + = * */ // Baris 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)); // Baris 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)); // Baris 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)); // Baris 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; } }} |
Tampilan Program Saat Di Jalankan :
ARTIKEL TERKAIT :
terimakasih...ini sangat membantu saya!!!
BalasHapusOke Gus !
Hapussaya ikut senang untuk "itu" :)
ada lagi tak kak ...
BalasHapusyang program java sedeharna ...
yang mudah dipahamin ..
ngomong* bagus um ini :D
like dechh 1000
terimakasih dechh Gusti :D
HapusDi blog ini lihat yang di related pos nya aja,
coba cari di google pasti banyak dechh 1000 ;)