Anda di halaman 1dari 10

10.

UML

JFrame

GUI

+ GUI () - initComponents() - action(ActionEvent evt) - main ()

Hitung

- hitung ( a: integer , b:integer):integer - hitung ( a: integer , b:integer, c: integer):integer

Proses

- hitung ( a: integer , b:integer c: integer):integer

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

public class GUI extends JFrame {

public GUI() { //untuk memanggil fungsi "initComponents" (fungsi untuk menampilkan GUInya) initComponents(); }

private void initComponents() { //tx1 diisi object JTextField; tx1 = new JTextField(); tx2 = new JTextField(); jLabel1 = new JLabel(); hasil = new JTextField(); jButton1 = new JButton();

//untuk set frame (ada tombol exitnya) setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //setLayout diset null agar lebih flexibel aja getContentPane().setLayout(null);

//meletakkan tx1 ke dalam frame getContentPane().add(tx1); //meletakkan tx1 sesuai koordinat x, y, panjang, lebar tx1.setBounds(10, 10, 90, 20); getContentPane().add(tx2); tx2.setBounds(130, 10, 90, 20);

//set jLabel1 dengan tulisan "+" jLabel1.setText("+"); getContentPane().add(jLabel1); jLabel1.setBounds(110, 10, 8, 14);

hasil.setText("Hasil"); getContentPane().add(hasil); hasil.setBounds(10, 70, 210, 20);

jButton1.setText("Hitung"); //menambah even (jika diklik akan menuju ke fungsi action(evt) jButton1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { action(evt); } });

getContentPane().add(jButton1); jButton1.setBounds(10, 40, 210, 23);

//untuk set agar tampilan berada ditengah dan sesuai ukuran yang ditentukan dibawah) java.awt.Dimension java.awt.Toolkit.getDefaultToolkit().getScreenSize(); screenSize =

setBounds((screenSize.width-249)/2, (screenSize.height-137)/2, 249, 137); } private void action(ActionEvent evt) { //getText itu artinya mengambil nilai yang ada di textfield hasil.setText( String.valueOf( pr.hitung(Integer.parseInt(tx1.getText()), Integer.parseInt(tx2.getText()), 1)); } public static void main(String args[]) { //main digunakan untuk membuat frame bisa menampilkan sesuatu java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new GUI().setVisible(true); } }); }

private JTextField hasil; private JButton jButton1; private JLabel jLabel1; private JTextField tx1; private JTextField tx2; proses pr = new proses(); } class hitung { //encapsulasi private static int hitung (int a, int b) { int hitung = a + b; return hitung; } //overloading fungsi atasnya public int hitung (int a, int b, int c) { return hitung (a, b); } }

//pewarisan class proses extends hitung { //overidding dari class extendsnya public int hitung (int a, int b, int c) { return super.hitung(a, b, c); } }

Output

Cara kerja program initComponents(); adalah fungsi untuk menampilakan gui pada program diatas tx1 = new JTextField(); tx2 = new JTextField(); jLabel1 = new JLabel(); hasil = new JTextField(); jButton1 = new JButton();

maksud diatas adalah pengisian objek seperti contoh tx1 = new jTextField(); adalah tx1 diisi dengan objek JtexField dan seterusnya. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); adalah untuk set frame seperti ada tombol exitnya. getContentPane().setLayout(null); layout di set null agar lebih flexible tx1.setBounds(10, 10, 90, 20); getContentPane().add(tx2); tx2.setBounds(130, 10, 90, 20); Berfungsi untuk meletakkan tx1 dan tx2 sesuai koordinat x, y, panjang, lebar jLabel1.setText("+"); set jLabel1 dengan simbol + jButton1.addActionListener(new ActionListener() menambah event (jika diklik akan menuju ke fungsi action(evt) java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-249)/2, (screenSize.height-137)/2, 249, 137); untuk set agar tampilan berada ditengah dan sesuai ukuran yang ditentukan dibawah)

hasil.setText( String.valueOf( pr.hitung(Integer.parseInt(tx1.getText()), Integer.parseInt(tx2.getText()), 1)) getText itu artinya mengambil nilai yang ada di textfield

public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new GUI().setVisible(true); } }); }

main digunakan untuk membuat frame bisa menampilkan sesuatu class hitung { private static int hitung (int a, int b) { int hitung = a + b; return hitung; } Pemberian enkapulasi pada method hitung public int hitung (int a, int b, int c) { return hitung (a, b); } } Pemberian overloading apda method hitung

class proses extends hitung { public int hitung (int a, int b, int c) { return super.hitung(a, b, c); }

} Maksud diatas adala pewarisan semua sifat yang ada pada class hitung di wariskan kepada class proses dan terdapat overidding pada method hitung