import javax.swing.*;
import java.awt.event.*;
class Operator_Matematika extends JFrame
{
JLabel lbl_bil1= new JLabel("Input bilangan ke 1 : ");
JLabel lbl_bil2= new JLabel("input bilangan ke 2 : ");
JTextField txt_bil1 = new JTextField(10);
JTextField txt_bil2 = new JTextField(10);
JButton cmd_kali = new JButton("Kali");
JButton cmd_bagi = new JButton("Bagi");
JButton cmd_plus = new JButton("Plus");
JButton cmd_minus = new JButton("Minus");
JButton cmd_exit = new JButton("Exit");
Operator_Matematika()
{
setTitle("Operator Matematika");
setLocation(200,150);
setSize(340,150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void Tampilan_Aplikasi()
{
getContentPane().setLayout(null);
getContentPane().add(lbl_bil1);
lbl_bil1.setBounds(20,10,150,20);
getContentPane().setLayout(null);
getContentPane().add(lbl_bil2);
lbl_bil2.setBounds(20,30,150,20);
getContentPane().setLayout(null);
getContentPane().add(txt_bil1);
txt_bil1.setBounds(150,10,50,20);
txt_bil1.setHorizontalAlignment(SwingConstants.RIGHT);
getContentPane().setLayout(null);
getContentPane().add(txt_bil2);
txt_bil2.setBounds(150,30,50,20);
txt_bil2.setHorizontalAlignment(SwingConstants.RIGHT);
getContentPane().setLayout(null);
getContentPane().add(cmd_kali);
cmd_kali.setBounds(20,70,65,20);
getContentPane().setLayout(null);
getContentPane().add(cmd_bagi);
cmd_bagi.setBounds(85,70,65,20);
getContentPane().setLayout(null);
getContentPane().add(cmd_plus);
cmd_plus.setBounds(150,70,80,20);
getContentPane().setLayout(null);
getContentPane().add(cmd_minus);
cmd_minus.setBounds(230,70,80,20);
getContentPane().setLayout(null);
getContentPane().add(cmd_exit);
cmd_exit.setBounds(230,20,80,20);
setVisible(true);
}
public void aksi_reaksi()
{
txt_bil1.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==e.VK_ENTER)
{
txt_bil2.requestFocus();
}
}
}
);
cmd_kali.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x = Integer.parseInt(txt_bil1.getText());
int y = Integer.parseInt(txt_bil2.getText());
String z = String.valueOf(x*y);
JOptionPane.showMessageDialog(null,"Hasil dari :\n" +x+" X "+y+" = "+z);
}
}
);
cmd_bagi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x = Integer.parseInt(txt_bil1.getText());
int y = Integer.parseInt(txt_bil2.getText());
try{
float z = (float)x/y;
JOptionPane.showMessageDialog(null,"Hasil dari :\n" +x+" : "+y+" = "+z);
}
catch(Exception er)
{
JOptionPane.showMessageDialog(null,"Ada Error :" + er.toString());
}
}
}
);
cmd_plus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x = Integer.parseInt(txt_bil1.getText());
int y = Integer.parseInt(txt_bil2.getText());
String z = String.valueOf(x+y);
JOptionPane.showMessageDialog(null,"Hasil dari :\n"+x+" + "+y+" = "+z);
}
}
);
cmd_minus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x = Integer.parseInt(txt_bil1.getText());
int y = Integer.parseInt(txt_bil2.getText());
String z = String.valueOf(x-y);
JOptionPane.showMessageDialog(null,"Hasil dari :\n"+x+" - "+y+" = "+z);
}
}
);
cmd_exit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Sampai Jumpa......");
System.out.println("");
System.out.println("");
System.exit(0);
}
}
);
}
public static void main(String[]args)
{
Operator_Matematika ap = new Operator_Matematika();
ap.Tampilan_Aplikasi();
ap.aksi_reaksi();
}
}
Output Program
|
Logika Program
Dalam program ini saya akan menjelaskan tentang program yang saya buat yaitu membuat operator dengan dua bilangan menggunakan operasi penjumlahan, pengurangan,perkalian dan pembagian...
import javax.swing.*; merupakan fungsi sebagai syarat penggunaan komponen yang ada dalam system java. import java.awt.event.*; merupakan fungsi yang digunakan untuk proses inputan dalam program java.
class Operator_Matematika extendsJFrame{ merupakan deklarasi dari class Operator_Matematika) yang extends dengan Jframe.
JLabel lbl_bil1= new JLabel("Input bilangan ke 1 : ");
JLabel lbl_bil2= new JLabel("input bilangan ke 2 : ");
Berguna untuk membuat label sebagai input bilangan yang akan dimasukan ke dalam program java agar menghasilkan output seperti gambar di bawah ini
JTextField txt_bil1 = new JTextField(10);
JTextField txt_bil2 = new JTextField(10);
JTextField();merupakan instansiasi objek textfield membuat kotak kosong yang akan diisi sebagai input bilangan..
JButton cmd_kali = new JButton("Kali");
JButton cmd_bagi = new JButton("Bagi");
JButton cmd_plus = new JButton("Plus");
JButton cmd_minus = new JButton("Minus");
JButton cmd_exit = new JButton("Exit");
Berguna untuk membuat Button pada output yang terdiri dari Button Kali,Button Bagi,Button Plus,Button Minus,Dan Button Exit dan akan mengeksekusi hasil operator dari input bilangan pertama dan input bilangan kedua misalkan 12+12= 24 jika menekan Button Plus pada output program seperti gambar di bawah:
Operator_Matematika()
{
setTitle("Operator Matematika")
Digunakan untuk menampilkan judul frame.
.
setLocation(200,150);
Untuk mengatur lokasi koordinat pada Jframe
setSize(340,150);
merupakan fungsi untuk menentukan ukuran panjang dan lebar pada frame.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
digunakan untuk membuat Jframe pada Button Exit dan menutup output program
getContentPane().setLayout(null);
getContentPane().add(lbl_bil1);
merupakan fungsi yang menentukan jenis layout apa yang akan dipakai/ditampilkan dalam program ini dan add(lbl_bill1);untuk menampilkan layout bil1 yang akan dipakai..
lbl_bil1.setBounds(20,10,150,20);
getContentPane().setLayout(null);
merupakan fungsi untuk mengatur posisi label, textfield, dan button dengan perintah setBounds() karena layout yang digunakan adalah null layout yang terdapat pada label bilangan bil1.
lbl_bil2.setBounds(20,30,150,20);
getContentPane().setLayout(null);
getContentPane().add(txt_bil1);
txt_bil1.setBounds(150,10,50,20);
skrng kita lihat sebelumnya terlihat add(lbl_bil1); ini untuk menampilkan label..nah sekarang terlihat
getContentPane().add(txt_bil1); terlihat perbedaan ini untuk menampilkan isi teks dalam layout yang akan terlihat pada Jframe. setBounds() berguna untuk mengatur posisi label, textfield, dan button.
txt_bil1.setHorizontalAlignment(SwingConstants.RIGHT);
digunakan untuk Mengatur alignment horizontal teks pada teks bilangan satu dalam Jframe
getContentPane().add(cmd_bagi);
getContentPane().add(cmd_kali);
getContentPane().add(cmd_plus);
getContentPane().add(cmd_minus);
getContentPane().add(cmd_exit);
getContentPane berguna untuk memanggil layout yang telah dibuat namun sebelum memanggilnya
pastikan bahwa layout sudah dibuat null...maka akan terlihat layout/tampilan operasi bagi,kali,plus,minus,dan exit
setVisible(true); merupakan fungsi untuk mengatur output agar dapat ditampilkan.
txt_bil1.addKeyListener(new KeyAdapter()
untuk mengenali penggunaan tombol pada keyboard dalam txt_bil1 digunakan interface KeyListener.
new KeyAdapter memudahkan user dalam menggunakan program,karena program dapat menangani event yang terjadi ketika kita menekan tombol di keyboard Jadi ketika kita enter tombol Hitung maka kita akan mendapatkan hasil perhitungan tanpa harus menggunakan mouse untuk mengklik tombol Hitung
public void keyPressed(KeyEvent e)
untuk memanggil Keyadapter yang sebelumnya kita buat untuk menangani event
txt_bil2.requestFocus();
memposisikan kursor pada suatu komponen tertentu. Misalnya ada sebuah text input kemudian tombol pada form txt_bil2
cmd_kali.addActionListener(new ActionListener()
interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event untuk operasi perkalian
int x = Integer.parseInt(txt_bil1.getText());
int y = Integer.parseInt(txt_bil2.getText());
untuk menampilkan bilangan bulat/integer pada txt_bil1 dan txt_bil2
JOptionPane.showMessageDialog(null,"Hasil dari :\n" +x+" : "+y+" = "+z);
Untuk menampilkan hasil kali dari bil1 dan bil2 dalam bentuk GUI karena terdapat perintah JoptionPane.
Semua listing program dalam menentukan interface untuk mengendalikan event dalam operasi matematika java isi listingnya sama cuma diganti cmd dan showInputDialognya hasil dari setiap masing2 operasi kali,bagi,plus,minus,dan exit
System.out.println("Sampai Jumpa......");
System.out.println("");
System.out.println("");
System.exit(0);
Dan yang terakhir ini berguna untuk salam penutup setelah kita me-run program dan memilih Button exit maka akan terlihat gambar seperti
Sekian dan terima kasih Semoga bermanfaat :)
|
|
|
|
|