Selasa, 18 Desember 2018

BAB X GRAPHICAL USER INTERFACE (GUI)


BAB X
GRAPHICAL USER INTERFACE (GUI)
A. Tujuan
1. Konsep GUI di Java, komponen dasar Swing
2. Penanganan Kejadian (Event Handling)
3. Membuat GUI dengan Netbeans
B. Java GUI
1. AWT (Abstract Window Toolkit)
Library dan komponen GUI (java.awt) yang pertama kali diperkenalkan oleh Java, Sun
Microsystem tidak merekomendasikan lagi penggunaan komponen GUI dari AWT.
2. Swing / JFC (Java Foundation Class)
Library dan komponen GUI (javax.swing) terbaru dari Java yang direkomendasikan Sun
Microsystem untuk pemrograman GUI. Komponen GUI sebagian besar adalah turuan AWT
dan lebih lengkap dari AWT.
C. Komponen Dasar Swing
1. Top-Level Container : container dasar dimana komponen lainnya diletakan(JFrame, JDialog
& Applet)
2. Intermediate Container : container perantara dimana komponen lainnya diletakan/dikelompokan (JPanel, JScrollPane, JTabbedPane,J Toolbar, JSplitPane)
3. Atomic Component : Komponen yang memilki fungsi spesifik & menerima interaksi langsung dari user (Jbutton, JLabel, JTextArea)
4. LayoutManager : mengatur tata letak dan posisi komponen dalam container (BorderLayout, BoxLayout, FlowLayout, GridbagLayout, GridLayout)

5. Event Handling : menangani event yang dilakukan user (klik mouse, ketik keyboard, perbesar frame)
D. Penggunaan Tope Level Container
1. Komponen GUI akan ditampilkan sebagai bagian dari containment hierarchy.
- Aplikasi GUi berbasis Swing paling tidak memilki satu containment hierarchy dengan JFrame sebagai rootnya.
- Jika sebuah aplikasi memilki satu window utama dan dua dialog artinya aplikasi tersebut memilki tiga containment hierarchy dan juga tiga top level container
- Satu containment hierarchy memilki JFrame sebagai root, dan dua yang lain memilki JDialog sebagai root.
2. Setiap komponen GUI hanya dapat dimuat pada satu top level container.
3. Dapat menambahkan menubar pada top level container

File Name : FrameBeraksi.java
import javax.swing.*;
public class FrameBeraksi {
public static void main (String[] args) {
JFrame frame = new JFrame("Frame Beraksi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("Frame Beraksi");
frame.getContentPane().add(emptyLabel);
frame.setSize(400,200);
frame.setVisible(true);
}
}
E. Membuat GUI dengan NetBeans
Berikut latihan untuk membuat project baru menggunakan NetBeans :
1. Pilih menu File > New Project
2. Kemudian pada jendela New Project, pilih Java pada kolom Categories. Pada kolom Categories. Pada kolom Project pilih Java Application untuk form tunggal, lalu klik tombol Next.
3. Kemudian akan tampil seperti gambar dibawah ini. Pada Name and Location, masukan nama proyeknya, misalnya myframe dan tentukan juga paket (lokasi) serta folder-nya, lalu klik finish.

4. Kemudian akan tampil seperti gambar dibawah ini. Pada jendela project pilih paket myframe, kemudian klik kanan pilih New > JFrame Form…

5. Kemudian akan tampil seperti gambar dibawah ini. Pada bagian name and Location, masukan nama form yang akan menjadi nama kelasnya, misalnya FormUtama.

6. Sampai pada tahap ini anda sudah memilki satu form, dan bisa dijalankan untuk melihat hasilnya. Caranya dengan melakukan compile dan buid seperti gambar dibawah ini.

7. Untuk menjalankan program, pilih menu Run > Run Main Project. Ternyata form baru tadi tidak muncul, bahkan program langsung selesai dieksekusi. Untuk bisa menampilkan form tersebut, tambahkan pemanggilan form pada kelas utamanya. Sehingga kelas Main.java menjadi seperti berikut ini.
package myframe;
public class Main {
public static void main(String[] args) {
FormPertama fp = new FormPertama();
fp.setVisible(true);
}
}
8. Compile dan jalankan ulang.
9. Menambahkan komponen dalam form. Komponen tersedia dalam jendel pallete sebelah kanan atas, mulai dari pallete Swing sampai Borders. Untuk meletakan komponen ke dalam form lakukan klik & drag.
- Masukan tiga komponen JLabel, ubah property text-nya melalui jendela properties, menjadi Login, UserID dan Password.
- Tambahkan JTextField dan hapus property text-nya.
- Tambahkan JPasswordField dan hapus property text-nya
- Tambahkan JButton dan ubah property text-nya menjadi OK. Ubah nama nya dengan cara klik kanan, Change Variabel Name..
- Untuk menambahkan event, klik kanan pada tombol Login, pilih menu Events >Actions > actionPerformed, lalu ketikan source code berikut.
private void BtLogInActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JOptionPane.showMessageDialog(this,"Selamat Datang " +
jTextField1.getText(),"",JOptionPane.INFORMATION_MESSAGE);
}

Latihan
1.      Buat project baru dengan satu form untuk melakukan pertambahan, pengurangan, perkalian dan pembagian, input dari 2 JTextField , contoh sepeti gambar dibawah ini
2.      Buat project baru dengan satu form untuk melakukan perhitungan nilai. Input nilagi berupa
angka, output berupa nilai huruf, dengan ketentuan :
0 – 50 : “E”
51 – 60 : “D”
61 – 70 : “C”
71 – 80 : “B”
81 – 100 : “A”
JAWBAN
Soal 1
1.      Pertama kita open project lalu siapkan destinasi folder yang akan kita tampatkan project aplikasi java kita
2.      Lalu kita collapse file java aplikasi kita dan kita klik kanan pada source package nya > Klik new > pilih JFrame from dan selanjutnya akan terbuka open box dialogue untuk penawaan dan destinasi dari badan tubuh dari aplikasi kita.
3.      Setelah itu maka akan terbuka jendela Design dimana akan terlihat form aplikasi yang akan kita gunakan sebagai tempat pallette kita taruh atau bisa disebut juga dengan sematkan di Form aplikasi kita
4.      Maka selanjutnya kita taruh semua palette yang kita butuhkan untuk pembuatan program aplikasi KABATAKU, seperti gambar dibawah ini
5.      Bila sudah maka selanjutnya kita double klik pada button tambah untuk membuka dan membentuk procedure pada jendela source secara otomatis. Lalu kita masukkan syntax yang akan kita gunakan seperti ini
6.      Setelah itu maka kita run file yaitu dengan Shift+F6, lalu coba masukkan angka di textfield angka1 dan angka2 yang akan diolah oleh procedure tambah dan akan dioutputkan pada textfield hasil.

7.      Bila sudah maka selanjutnya adalah melakukan repeat coding yang sama pada button kurang, kali dan bagi dengan meng-copy pastekan saja syntax dari tambah namun dalam tubuh procedure saja tanpa harus mengcopy semua badan tubuh procedure tambahnya.dan bila sudah maka akan menghasilkan proceure running program seperti ini.



Soal 2
1.      Sama halnya dengan soal pertama di soal kedua pun kita harus menyiapkan dulu file project terlebih dahulu
2.      Setelah semua sudah disiapkan maka langkah selanjutnya adalah melakukan syntax pada button HASIL, klik dua kali pada button HASIL, lalu masukkan syntax berikut.

3.      Jadi syntax diatas dapat di jelaskan, bila user memasukkan angka pada textfield angka maka akan di scan sebagai nilai integer pada ang1, dan ang1 akan dijadikan sebagai nilai dari “nilai” untuk dijadikan patokan dasar dari nilai mutu yang telah di nyatakan pada if else agar dapat dijadikanoutput nilai String pada textfield “hasil”.


BAB VII PACKAGE & INTERFACE


BAB VII
PACKAGE & INTERFACE
A. Tujuan
1. Memahami konsep penggunaan paket
2. Dapat memaketkan beberapa class dalam satu paket.
3. Memahami penggunaan interface.
B. Paket
- Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan name space.
- Satu paket adalah 1 subfolder di file system.
- Package sangat berguna untuk mengorganisir file dalam suatu paket atau library.
File name : Mobil.java
package kendaraan;
public class Mobil{
public void info(){
System.out.println("Ini kelas mobil");
}
}

File name : Motor.java
package kendaraan;
public class Motor{
public void info(){
System.out.println("Ini kelas motor");
}
}

File name : Sepeda.java
package kendaraan;
public class Sepeda{
public void info(){
System.out.println("Ini kelas sepeda");
}
}

File name : AlatTransportasi.java
import kendaraan.Motor;
import kendaraan.Mobil;
import kendaraan.Sepeda;
public class AlatTransportasi{
public static void main(String[] args){
Motor motorku = new Motor();
motorku.info();
Mobil mobilku = new Mobil();
mobilku.info();
Sepeda sepedaku = new Sepeda();
sepedaku.info();
}
}

Simpan lah package pada folder pemanggilan, pada program ini folder yang dipanggil adalah kendaraan

C. Interface
- Interface berisi kumpulan nama metode tanpa implementasi aktual.
- Interface digunakan apabila kita ingin menentukan apa yang harus dilakukan oleh suatu class tetapi tidak menentukan bagaimana cara untuk melakukannya.
- Interface mirip dengan class, tetapi hanya memiliki deklarasi method tanpa implementasi.
File name : PabrikBaru.java
interface Pabrik{
static final String PROVINSI = "Jawa Barat";
public void setNama(String namaBaru);
public void setAlamat(String alamatBaru);
public String getNama();
public String getAlamat();
}
class PabrikSepatu implements Pabrik{
String nama, alamat;
public PabrikSepatu(String namaBaru, String alamatBaru){
nama = namaBaru;
alamat = alamatBaru;
}
public void setNama(String namaBaru){
nama = namaBaru;
}
public void setAlamat(String alamatBaru){
alamat = alamatBaru;
}
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String getProvinsi(){
return PROVINSI;
}
public String toString(){
return
"Nama : "+nama+"\n"+
"Alamat : "+alamat+"\n"+
"Provinsi : "+PROVINSI+"\n";
}
}
public class PabrikBaru{
public static void main (String[] args) {
test();
}
static void test(){
PabrikSepatu SupplierSepatu;
SupplierSepatu = new PabrikSepatu("Adidas","Jalan Merdeka 123");
System.out.println("Informasi perusahaan : "+"\n"+SupplierSepatu);
}
}