• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM KE 8

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PRAKTIKUM KE 8"

Copied!
11
0
0

Teks penuh

(1)

MODUL PRAKTIKUM KE 8 

A.  Target Praktikum

 

­ 

Mahasiswa mengetahui struktur GUI (Graphical User Interface) 

­ 

Mahasiswa mengetahui cara menggunakan layout dalam java 

­ 

Mahasiswa 

mampu 

menyelesaikan  permasalahan  dengan 

menggunakan 

komponan GUI dan event listener.

 

B.  Materi Dasar

 

­

 

GUI (Graphical User Interface)

 

Seperti yang telah disebutkan sebelumnya, GUI yaitu suatu model antar muka 

computer  yang  menggunakan  objek­objek  grafis  sebagai  media  interaksi  dengan 

user atau pengguna. Kali ini kita akan membahas tambahan dari modul 3. 

­

 

Layout Management

 

Layout management  yaitu suatu konsep untuk  menata komponen di dalam  suatu 

area di dalam suatu area atau kontainer termasuk window (frame) . 

Pemrograman java menyediakan beberapa layout sebagai berikut : 

1.  Null layout 

Layout  null  memungkinkan  kita  dalam  mengatur  posisi  ukuran  komponen 

sesuai dengan keinginan kita. Lihat contoh listing berikut : 

import javax.swing.*; 

import java.awt.*; 

class nulllay extends JFrame  {  Button but1= new Button("proses 1");  Button but2= new Button("proses 2");  Button but3= new Button("proses 3");  nulllay()  {  super("PROGRAM NULL LAYOUT");  setLocation(200,200);  setSize(200,120);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setLayout(null);  add(but1);  add(but2);  add(but3);  but1.setBounds(10,10,100,30);  but2.setBounds(10,45,100,20);  but3.setBounds(120,10,65,30);  setVisible(true);  }  public static void main(String args[])  {  new nulllay();  }

(2)

2.  Border Layout 

Border  Layout  memandang  bahwa  sebuah  container  bisa  dibagi  menjadi  5 

(lima)  area  sesuai  dengan  arah  mata  angin  yaitu  :  center,  east,  north,  south, 

west. Berikut contoh listing : 

import javax.swing.*;  import java.awt.*;  class border extends JFrame  {  Button but1= new Button("proses 1");  Button but2= new Button("proses 2");  Button but3= new Button("proses 3");  border()  {  super("PROGRAM BORDER LAYOUT");  setLocation(200,200);  setSize(200,120);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setLayout(new BorderLayout());  add(but1);  add(but2, BorderLayout.NORTH);  add(but3, BorderLayout.WEST);  setVisible(true);  }  public static void main(String args[])  {  new border();  } } 

3.  Flow Layout 

Layout  manager  FlowLayout  Meletakkan  komponen­komponen  dalam  urutan 

dari  kiri  ke  kanan  sebagaimana  urutan  ketika  komponen­komponen  itu 

dimasukkan kedalam container. Berikut contoh listing : 

import javax.swing.*;  import java.awt.*;  class theflow extends JFrame  {  Button but1= new Button("proses 1");  Button but2= new Button("proses 2");  Button but3= new Button("proses 3");  theflow ()  {  super("PROGRAM FLOW LAYOUT");  setLocation(200,200);  setSize(200,120);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setLayout(new FlowLayout());  add(but1);  add(but2);

(3)

add(but3);  setVisible(true);  }  public static void main(String args[])  {  new theflow ();  } } 

Selain 3 manajemen Layout diatas ada berbagai macam layout lagi didalam java. 

Untuk  tugas  laporan  carilah  minimal  4  layout  lagi  dengan  menggunakan  bahasa 

pemrograman java…..!!! 

­

 

Menambah Atribut pada Komponen Windows

 

Didalam  pembuatan  aplikasi  windows  kita  bisa  menambahkan  atribut­ 

atribut yang mungkin bisa menambah daya tarik dari suatu aplikasi misalnya : 

1.  Warna. 

2.  Gambar ( gif, jpeg, jpg) 

3.  Bentuk atau jenis huruf ( font ).

 

1.  Menambahkan warna pada komponen windows

 

Untuk menambahkan warna pada komponenn windows yang kita buat 

kita  perlu  menambahkan  statement  yang  di  dalam  java  di  kenali  sebagai 

penambah atribut warna. 

Contoh ;

 

“ 

getContentPane().setBackground(Color.GREEN); 

 

ini 

untuk 

memberikan warna pada frame yang kita buat.

 

“  bt.setBackground(Color.RED);  “

  Untuk  memberikan  warna  pada 

background    komponen  komponen  lain  selain  frame  dimana  bt  adalah  nama 

dari pembentukan objek yang dibuat berdasarkan komponen tersebut.

 

“  bt.setForeground(Color.GREEN);  “

  Untuk  memberikan  warna  pada 

tulisan yang ada pada komponen tersebut. 

Penambahan warna berdasarkan statement diatas hanya  berlaku untuk 

warna sederhana.

 

“ bt.setForeground(new java.awt.Color(0, 0, 153)); “ 

“ bt.setBackground(new java.awt.Color(1,9,123)); “

 

Adalah  untuk  memberikan  warna  yang  dapat  kita  sesuaikan  tingkat 

warnanya berdasarkan warna R,G,B.

 

Contoh :

 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  public class area extends JFrame  {  JTextArea nama=new JTextArea(10,10);  JButton bt=new JButton("Copy");

(4)

JTextArea txnama=new JTextArea(10,10);  JScrollPane Scrol = new JScrollPane(txnama);  area()  {  super("INI ADALAH FORM");  setLocation(200,300);  setSize(400,300);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setVisible(true);  }  void tampilan()  {  getContentPane().add(nama);  nama.append("nama kamu siapa");  getContentPane().add(bt);  bt.setForeground(new java.awt.Color(0, 0, 153));  bt.setBackground(new java.awt.Color(1,9,13));  bt.setBackground(Color.GRAY);  bt.setForeground(Color.GREEN);  getContentPane().add(Scrol);  txnama.setBackground(Color.LIGHT_GRAY);  bt.addActionListener(new ActionListener()  {  public void actionPerformed(ActionEvent e)  {  txnama.append(nama.getSelectedText());  } }); getContentPane().setLayout(new FlowLayout());  setVisible(true);  }  public static void main(String args[])  {  area f=new area();  f.tampilan();  }  } 

2.  Menambahkan gambar pada komponen windows

 

Untuk  menambahkan  gambar  pada  komponen  windows  kita  bisa 

menggunakan  label  yang  didalamnya  kita  selipkan  statement  (“

new 

ImageIcon("e.jpg")

  ”)  untuk  memanggil  gambar  tersebut.  Syarat  untuk 

menambahkan  sebuah  gambar  yang  ditampilkan  kedalam  frame,  gambar 

tersebut harus berada didalam folder yang satu dengan letak source atau kelas 

tersebut diletakkan (disimpan).

 

Contoh : 

* Gambar pada label & Gambar pada Button

 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  public class gambar extends JFrame

(5)

{  JLabel lb=new JLabel(new ImageIcon("headset.png"));  JButton bt=new JButton(new ImageIcon("headset.png"));  gambar()  {  super("INI ADALAH FORM");  setLocation(200,300);  setSize(320,180);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setVisible(true);  }  void tampilan()  {  getContentPane().add(lb);  getContentPane().add(bt);  getContentPane().setLayout(new FlowLayout());  setVisible(true);  }  public static void main(String args[])  {  gambar f=new gambar();  f.tampilan();  }  } 

3.  Bentuk Huruf / Font

 

Untuk mengubah huruf yang ditampilkan pada frame kita mengunakan 

cara menambahkan kalimat pada nama komponen yang akan kita ubah bentuk 

font 

atau 

hurufnya 

misal 

seperti 

berikut 

ini

 

“cop.setFont(new 

Font("Arial",Font.BOLD,20));”

  Atau  dapat  menggunakan  yang  berikut  ini

 

“ txnama.setFont(new java.awt.Font("Dialog", 1, 14)); “ 

Contoh :

 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  public class fon extends JFrame  {  JTextArea  nama=new  JTextArea(4,10);  fon()  {  super("INI ADALAH FORM");  setLocation(200,300);  setSize(220,190);  setDefaultCloseOperation(JFrame.EX  IT_ON_CLOSE);  setVisible(true);  }  void tampilan()  {  getContentPane().add(nama);  nama.append("nama kamu siapa");  nama.setFont(new  Font("Monotype  Corsiva",20,30)); 

//  atau  dengan    nama.setFont(new  java.awt.Font("Dialog", 1, 14));  getContentPane().setLayout(new  FlowLayout());  setVisible(true);  }  public static void main(String args[])  {  fon f=new fon();  f.tampilan();  }  }

(6)

­

 

MEMBUAT APLIKASI BERBASIS WINDOWS II 

JComboBox

 

ComboBox adalah komponen yang didalamnya berisi item atau pilihan yang 

dapat kita pilih dengan cara mengambil nilai dari element yang telah ditetapkan di 

dalamnya.

 

Contoh :

 

import java.awt.*;  import java.awt.event.*;  import javax.swing.*;  public class combo  {  public static void main(String[] args)  {  JFrame frame = new JFrame();  final JLabel lb=new JLabel("");  final String [] items = { " roti ", " Madu " };  final JComboBox comboBox = new JComboBox(items);  JPanel pn=new JPanel();  frame.add(pn,BorderLayout.WEST);  pn.add(comboBox,BorderLayout.CENTER);  pn.add(lb,BorderLayout.NORTH);  comboBox.addActionListener( new ActionListener()  {  public void actionPerformed(ActionEvent ae)  {  String mn=(String)comboBox.getSelectedItem();  lb.setText(mn);  }  }); frame.setSize(200, 200);  frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );  frame.setVisible(true);  } } 

JCheckBox

 

JCheckBox adalah komponen  yang  berbentuk box (kotak) yang  merupakan 

pilihan  dari  suatu  nilai  atau  keadaan  dimana  dimungkinkan  untuk  memilih  lebih 

dari satu pilihan secara bersaman akan tetapi bila checkbok itu di groupkan maka 

ia hanya bisa di pilih satu dari beberapa pilihan cekbok.

 

Contoh cekbok dengan beberapa pilihan :

 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  class cekbok extends JFrame

(7)

{  JLabel cop1=new JLabel("PROGRAM PEMESANAN MAKANAN");  JLabel cop2=new JLabel("================================");  JLabel lmakan=new JLabel("Daftar Makanan");  JLabel lminum=new JLabel("Daftar Minuman");  JCheckBox goreng=new JCheckBox("Nasi goreng");  JCheckBox uduk=new JCheckBox("Nasi Uduk");  JCheckBox teh=new JCheckBox("Es Teh");  JCheckBox kopi=new JCheckBox("Kopi Racik");  cekbok()  {  super("PROGRAM MENGHITUNG ZAKAT");  setLocation(200,100);  setSize(280,200);  setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);  }  void objek()  {  getContentPane().setLayout(null);  getContentPane().add(cop1);  getContentPane().add(cop2);  getContentPane().add(lmakan);  getContentPane().add(lminum);  getContentPane().add(goreng);  getContentPane().add(uduk);  getContentPane().add(teh);  getContentPane().add(kopi);  cop1.setBounds(40,20,300,20);  cop2.setBounds(30,40,550,20);  lmakan.setBounds(30,60,100,20);  lminum.setBounds(150,60,100,20);  goreng.setBounds(30,90,100,20);  uduk.setBounds(30,120,100,20);  teh.setBounds(150,90,100,20);  kopi.setBounds(150,120,100,20);  setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );  setVisible(true);  }  public static void main(String args[])  {  cekbok ZZ=new cekbok();  ZZ.objek();  }  }

(8)

JRadioButton

 

JRadioButton adalah komponen yang berbentuk lingkaran yang merupakan pilihan 

dari suatu nilai atau keadaan dimana hanya diperbolehkan  untuk memilih tidak lebih dari 

satu pilihan jika button tersebut di kelompokkan.

 

Contoh :

 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  import javax.swing.border.*;  import javax.swing.JButton;  public class radioB extends JFrame  {  JRadioButton temuan=new JRadioButton("Zakat Temuan");  JRadioButton fitrah=new JRadioButton("Zakat Fitrah");  JRadioButton dagang=new  JRadioButton("Perniagaan/Usaha");  ButtonGroup kelompok=new ButtonGroup();  radioB()  {  setLocation(50,110);  setSize(300,200);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  }  void tampilan()  {  getContentPane().setLayout(new FlowLayout());  getContentPane().add(temuan);  getContentPane().add(fitrah);  getContentPane().add(dagang);  kelompok.add(temuan);  kelompok.add(fitrah);  kelompok.add(dagang);  setVisible(true);  }  public static void main(String args[])  {  radioB rb=new radioB();  rb.tampilan();  } } 

JMenu

 

JMenu adalah komponen yang berupa kumpulan fungsi yang berhubungan dengan  fitur­ 

fitur yang terdapat pada suatu Aplikasi. 

Dibagi atas beberapa yaitu: 

1  JMenuBar  adalah menu yang didalamnya  yang bersifat klik down atau apabila menu 

tersebut di klik maka akan muncul pilihan menu. 

2  JMenu  adalah  komponen  yang  terdapat    pada  menuBar  dimana  ia  merupakan  objek 

yang ada pada menubar. 

3  JMenuItem  adala  menu  yang  berguna  untuk  menambah  item  (objek/pilihan)  menu 

pada menu.

(9)

Contoh :

 

import javax.swing.*;  import java.awt.*;  import javax.swing.table.*;  import java.awt.event.*;  import java.sql.*;  class menunya extends JFrame  {  JMenuBar mb=new JMenuBar();  JMenu mn=new JMenu("File");  JMenu mn2=new JMenu("Open");  JRadioButton bt=new JRadioButton("buku");  JMenuItem mnt=new JMenuItem("Close");  JMenuItem unta=new  JMenuItem("Unta");  menunya()  {  super("PROGRAM MENGHITUNG ZAKAT");  setLocation(200,100);  setSize(400,350);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  }  void objek()  {  getContentPane().add(mb,BorderLayout.NORTH);  mb.add(mn);  mn2.add(bt);  mn.add(mn2);  mn.add(mnt);  mn.add(unta);  mb.setBounds(10,10,100,30);  setVisible(true);  }  public static void main(String args[])  {  menunya ZZ=new menunya();  ZZ.objek();  }  } 

­

 

MEMBUAT EVENT MENGGUNAKAN LISTENER

 

Event Listener adalah sebuah konsep untuk merespon kegiatan yang terjadi dalam 

suatu objek.  Event  listener  merupakan  implementasi  penyampaian  message  antar  objek. 

Objek  yang  mendapat  massage  akan  melakukan  suatu  aksi  yang  telah  ditentukan  dalam 

program. java menyediakan berbagai macam event listener, diantaranya sebagai berikut : 

1.  ActionListener 

ActionListener  merupakan  event  listener  umum  yang  digunakan  untuk  merespon 

suatu event yang terjadi pada objek.  Berikut contoh list codenya : 

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

(10)

class aksi1 extends JFrame implements ActionListener  {  Button but1= new Button("proses 1");  public aksi1()  {  super("PROGRAM BORDER LAYOUT");  setLocation(200,200);  setSize(200,120);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  but1.addActionListener(this);  setLayout(new FlowLayout());  add(but1);  setVisible(true);  }  public void actionPerformed(ActionEvent e)  {  JOptionPane.showMessageDialog(null, "objek menerima aksi... cips...");  }  public static void main(String args[])  {  new aksi1();  } } 

2.  KeyListener 

Interface KeyLiastener akan memantau kondisi objek ketika objek tersebut mendapat 

penekanan  tombol  keyboard  hanya  pada  saat  objek  tersebut  dalam  keadaan  focus. 

Berikut contoh list codenya : 

import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  class kiboard extends JFrame implements KeyListener  {  public kiboard()  {  super("PROGRAM BORDER LAYOUT");  setLocation(200,200);  setSize(300,420);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  addKeyListener(this);  setLayout(new FlowLayout());  add(new Label("tekan sembarang tombol untuk keluar"));  setVisible(true);  }  public void keyPressed(KeyEvent e)  {  if(e.getKeyCode()==KeyEvent.VK_ESCAPE)  System.exit(0);  if(e.getKeyCode()==KeyEvent.VK_ALT)  add(new Label("Anda telah menekan tombol \"&\""));  }

(11)

public void keyReleased(KeyEvent e)  {  }  public void keyTyped(KeyEvent e)  {  }  public static void main(String args[])  {  new kiboard();  } } 

Selain  2  Event  Listener  diatas  ada  berbagai  macam  Event  lagi  didalam  java. 

Untuk tugas laporan carilah  minimal 7 Event Listener  lagi dengan  menggunakan bahasa 

pemrograman java…..!!!

 

C.  Tugas Praktikum

 

1.  Buatlah program penilaian dalam suatu matakuliah. Seperti layout berikut : 

Dari  layout  diatas  silahkan  dikembangkan  sesuai  kreatifitas  masing2.  Minimal 

ditambah teks area untuk mencetak data keseluruhan apabila ditekan tombol simpan. 

Dan exit untuk keluar.

 

D.  Tugas Laporan

 

1.  Buatlah program penjualan dengan desain sedemikian rupa beserta aksinya. Program 

akan dinilai berdasarkan desain dan aksi yang ada didalamnya. 

2.  Selamat mengerjakan….!!!

Referensi

Dokumen terkait

Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi dengan judul “Pengaruh Kualitas Layanan, Citr a Institusi dan Biaya

Kondisi SM Rimbang Baling sangat memprihatinkan saat ini, dan sangat disayangkan jika pada akhirnya, pemasalahan yang terjadi di kawasan konservasi menyebabkan

Pada saat Peraturan Daerah ini mulai berlaku, Peraturan Daerah Kabupaten Nomor 7 Tahun 2001 tentang Retribusi dan Sewa Pemakaian Kekayaan Daerah (Lembaran Daerah

SUKUN KOTA MALANG” skripsi ini merupakan salah satu syarat untuk menyelesaikan pendidikan tingkat sarjana pada jurusan Ilmu Ekonomi Studi Pembangunan Fakultas

Berdasarkan dapatan kajian, terdapat enam (6) faktor mengapa penghafalan dan pengaplikasian sifir 3 hingga 12 tidak dikuasai oleh murid Tingkatan 1A iaitu (i)

Melakukan peneli tian dengan judul “ Pengaruh Likuiditas, Kualitas Aktiva, Sensitivitas Terhadap Resiko Pasar, Efesiensi dan Profitabilitas Terhadap Car Pada Bank Umum

Tujuan dari penelitian ini yaitu mengisolasi saponin yang terkandung pada ekstrak metanol batang pisang Ambon (Musa paradisiaca var. sapientum L.) dengan metode