Posted by : Fun To Programming Senin, 19 Maret 2012

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 :)






Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

- Copyright © Fun To Programming -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -