Materi PMBO Bab 2 Kelas XII RPL: Merancang User Interface Part 3

Materi PMBO Bab 2 Kelas XII RPL: Merancang User Interface Part 3

 



E. Merancang User Interface dengan Library Java

User interface pada Java menerapkan GUI (Graphical User U Interface), yaitu jenis user interface yang menerapkan metode interaksi pada peranti elektronik secara grafis (bukan berupa teks) antara pengguna dan komputer. Konsep dasar pada Java GUI adalah API (Application Programming interface). Java GUI API terdiri atas dua komponen, yaitu sebagai berikut.

1. AWT (Abstract Windows Toolkit).

2. Swing atau JFC (Java Foundation Class).


Berikut adalah penjelasan mendetail tentang dua komponen GUI pada Java tersebut.

1. Komponen AWT (Abstract Windowing Toolkit)


Abstract Windowing Toolkit (AWT) adalah tampilan dasar dari setiap target platform (Windows, Macintosh, dan Solaris) atau berdiri sesuai dengan mekanisme sebuah platform. AWT terdiri atas banyak widget grafik yang dapat ditambahkan dan diatur dalam tampilan, seperti button, checkbox, radio button, menu, list, canvas, textfield, scroll panel, dan panel.

Semua komponen GUI nonmenu memiliki class yang diturunkan dari class java.awt.Component. Adapun komponen menu diturunkan dari class java.awt. ComponentMenu. Kelebihan AWT adalah didukung oleh browser versi lama dan baru, karena package ini telah diimplementasikan sejak lama. Sementara itu, kekurangan AWT adalah bersifat heavyweight dan opaque (tidak transparan).

Desain user interface dengan AWT terdiri atas dua bagian penting, yaitu containers dan components. Components adalah entitas GUI dasar, seperti button, label, dan textfield. Adapun containers adalah komponen yang dapat berisi komponen AWT lainnya, seperti frame dan panel. Containers digunakan untuk menahan komponen dalam tata letak tertentu. Contoh dari containers adalah FlowLayout atau GridLayout.


Bagian-bagian AWT dapat dilihat pada gambar berikut.



a. AWT Container 

Container dalam AWT Java adalah bagian terpenting dalam pembuatan user interface. Hal ini dikarenakan, di dalam container terdapat frame dan panel, serta beberapa bagian lainnya. Pada bagian ini, semua component dari AWT akan dipasangkan. 

Cara deklarasi container dalam Java adalah sebagai berikut.

public class MyGUIProgram extends Frame {
    //Private variables
    ......
    //Constructor to setup the GUI components public MyGUIProgram () {
    ......

    //methods
    ......
    ......
    //The entry main () method
    public static void main (String [] args) {
        //Invoke the constructor (to setup the GUI) by allocating
        an instance 
        new MyGUIProgram ();
    }
}




Bagian-bagian AWT Containers dapat dilihat pada gambar berikut.


b. Library Class AWT Components

Adalah bagian-bagian yang dapat dipasang atau ditempelkan dalam sebuah lembar kerja (frame). Komponen-komponen AWT adalah sebagai berikut.

1). java.awt.Button

Komponen ini berupa tombol yang jika ditekan akan mengerjakan instruksi tertentu. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.     public class ButtonExample1 {
3.     public static void main (String[] args) {
4.     Frame f = new Frame ("LATIHAN        MENGGUNAKAN BUTTON 1");
5.     Button b = new Button ("Tekan Di Sini");
6.     b.setBounds (50, 100, 80, 30);
7.     f.add (b);
8.     f.setSize (200, 200);
9.     f.setLayout (null);
10.   f.setVisible (true);
11.   }
12.   }
 




Penjelasan kode program tersebut adalah sebagai berikut.

a) import java.awt.*;
Melakukan import library java.awt.

b) Frame f = new Frame("LATIHAN MENGGUNAKAN BUTTON 1");
Membuat frame dengan nama variabel f dan memberikan judul teks pada frame "LATIHAN MENGGUNAKAN BUTTON",

c) Button b =new Button("Tekan Di sini");
Membuat sebuah button atau tombol dengan judul tombol "Tekan Di sini".

d) b.setBounds (50,100,80,30);
Menentukan posisi dari tombol beserta ukuran panjang dan lebarnya.

e) f.add(b);
Menambahkan tombol yang sudah diatur lebar dan panjangnya, serta posisinya ke dalam frame.

f) f.setSize(200,200);
    f.setLayout(null);
    f.setVisible(true);
Menentukan layout dan ukuran frame.


Hasil kompilasi kode program adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



Anda juga dapat membuat tombol sederhana tanpa menguraikan ukuran tombol serta layout tampilan frame. Untuk melakukannya, perhatikan kode program berikut.

1.     import java.awt.Frame;
2.     import java.awt.Button;
3.     public class ButtonOk {
4.     public static void main (String[] a) {
5.     Frame f = new Frame ("My Ok Button");
6.     Button b = new Button ("OK");
7.     f.add(b);
8.     f.pack();
9.     f.setVisible(true);
10.   }
11.   }



Penjelasan kode program tersebut adalah sebagai berikut 

a). import java.awt.Frame;
     import java.awt.Button;
Melakukan import frame dan button.

b). Frame f = new Frame ("My OK Button");
     Button b = new Button ("OK");
     f.add (b);
     f.pack ();
     f.setVisible (true);
Melakukan pembuatan frame dan menambahkan tombol pada frame, tanpa menguraikan ukuran tombol dan layout frame. 


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



2). java.awt.CheckBox

Komponen ini berupa tombol berbentuk kotak yang dapat diberi input berupa tanda check atau centang. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     public class CheckboxExample {
4.     public static void main (String args[]) {
5.     Frame f = new Frame ("Checkbox                      Example");
6.     Checkbox checkbox1 = new Checkbox              ("C++");
7.     checkbox1.setBounds (100, 100, 50, 50);
8.     Checkbox checkbox2 = new Checkbox              (":Java", true);
9.     checkbox2.setBounds (100, 150, 50, 50);
10.   f.add (checkbox1);
11.   f.add (checkbox2);
12.   f.setSize (400, 400);
13.   f.setLayout (null);
14.   f.setVisible (true);
15.   }
16.   }



Penjelasan kode program tersebut adalah sebagai berikut.
a). Frame f = new Frame ("Checkbox                     Example");
Melakukan pembuatan frame.

b). Checkbox checkbox1 = new Checkbox              ("C++");
      checkbox1.setBounds (100, 100, 50, 50);
Membuat checkbox dan menentukan posisi serta panjang dan lebar checkbox dengan label checkbox "C++".

c). Checkbox checkbox2 = new Checkbox             ("Java", true);
     checkbox2.setBounds (100, 150, 50, 50);
Membuat checkbox dan menentukan posisi serta panjang dan lebar checkbox dengan label checkbox "Java".

d). f.add (checkbox1);
     f.add (checkbox2);
Menambahkan checkbox ke dalam frame.

e). f.setSize (400, 400);
     f.setLayout (null);
     f.setVisible (true);
Menentukan ukuran serta layout frame yang akan ditampilkan.


Hasil kompilasi kode program tersebut sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.


3). java.awt.Choice

Komponen ini akan menampilkan menu yang terdiri atas beberapa pilihan. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     public class ChoiceExample {
4.     public static void main (String args []) {
5.     Frame f = new Frame ();
6.     Choice c = new Choice ();
7.     c.setBounds (30, 50, 70, 50);
8.     c.add ("SOTO");
9.     c.add ("BAKSO");
10.   c.add ("GUDEG");
11.   c.add ("SATE");
12.   c.add ("LOTEK");
13.   f.add (c);
14.   f.setSize (100, 100);
15.   f.setLayout (null);
16.   f.setVisible (true);
17.   }
18.   }



Penjelasan kode program tersebut adalah sebagai berikut.

a). Frame f = new Frame ();
     Choice c = new Choice ();
Proses pembuatan frame dan komponen choice atau pilihan.

b). c.setBounds (30, 50, 70, 50);
     c.add ("SOTO");
     c.add ("BAKSO");
     c.add ("GUDEG");
     c.add ("SATE");
     c.add ("LOTEK");
Menentukan posisi serta lebar dan panjang komponen choice, serta menambahkan isi pilihan yang akan digunakan, yaitu "SOTO", "BAKSO", "GUDEG", "SATE", dan "LOTEK".

c). f.add (c);
     f.setSize (100, 100);
     f.setLayout (null);
     f.setVisible (true);
Menambahkan komponen choice pada frame dan menentukan layout frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.


4). java.awt.Label

Komponen ini akan meletakkan teks statis yang tidak dapat diedit. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     class LabelExample {
4.     public static void main (String args []) {
5.     Frame f = new Frame ("Label Example");
6.     Label 11, 12;
7.     11 = new Label ("First Label.");
8.     11.setBounds (50, 100, 100, 30);
9.     12 = new Label ("Second Label.");
10.   12.setBounds (50, 150, 100, 30);
11.   f.add (11);
12.   f.add (12);
13.   f.setSize (200, 200);
14.   f.setLayout (null);
15.   f.setVisible (true);
16.   }
17.   }



Penjelasan kode program tersebut adalah sebagai berikut.

a). Frame f = new Frame ("Label Example");
Membuat frame dengan judul frame "Label Example".

b). Label 11, 12;
     11 = new Label ("First Label.");
     11.setBounds (50, 100, 100, 30);
     12 = new Label ("Second Label.");
     12.setBounds (50, 150, 100, 30);
Membuat dua buah label dengan nama variabel label 11 dan 12 serta menentukan posisi dan layout label.

c). f.add (11);
     f.add (12);
Menambahkan label ke dalam frame.

d). f.setSize (200, 200);
     f.setLayout (null);
     f.setVisible (true);
Menentukan layout frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



5). java.awt.List

Komponen ini akan menyajikan beberapa pilihan teks dalam satu daftar yang dapat di-scroll (gulung). Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     public class LisatExam {
4.     public static void main (String args []) {
5.     Frame f = new Frame ();
6.     List L = new List ();
7.     L.setBounds (30, 50, 70, 50);
8.     L.add ("SOTO");
9.     L.add ("BAKSO");
10.   L.add ("GUDEG");
11.   L.add ("SATE");
12.   L.add ("LOTEK");
13.   f.add (L);
14.   f.setSize (100, 200);
15.   f.setLayout (null);
16.   f.setVisible (true);
17.   }
18.   }



Penjelasan kode program tersebut adalah sebagai berikut.

a). Frame f = new Frame ();
     List L = new List ();
Membuat frame dan membuat komponen list.

b). L.setBounds (30, 50, 70, 50);
Mengatur posisi dan ukuran list.

c). L.add ("SOTO");
     L.add ("BAKSO");
     L.add ("GUDEG");
     L.add ("SATE");
     L.add ("LOTEK");
Menambahkan pilihan pada komponen list, yaitu "SOTO", "BAKSO", "GUDEG", "SATE", "LOTEK".

d). f.add (L);
Menambahkan komponen list pada frame.

e). f.setSize (100, 200);
     f.setLayout (null);
     f.setVisible (true);
Mengatur posisi dan lebar frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



6). java.awt.Scrollbar

Komponen ini digunakan untuk membuat scrollbar horizontal dan vertikal. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     class ScrollbarExample {
4.     public static void main (String args[]) {
5.     Frame f = new Frame ("Scrollbar                      Example");
6.     Scrollbar s = new Scrollbar ();
7.     s.setBounds (50, 70, 20, 100);
8.     f.add (s);
9.     f.setSize (300, 200);
10.   f.setLayout (null);
11.   f.setVisible (true);
12.   }
13.   }



Penjelasan kode program tersebut adalah sebagai berikut.

a). Frame f = new Frame ("Scrollbar                       Example");
Membuat frame baru dengan judul frame "Scrollbar Example". 

b). Scrollbar s = new Scrollbar ();
Membuat komponen scrollbar yang merupakan objek baru dari library AWT scrollbar.

c). s.setBounds (50, 70, 20, 100);
Menentukan posisi dan ukuran scrollbar.

d). f.add (s);
     f.setSize (300, 200);
     f.setLayout (null);
     f.setVisible (true);
Menambahkan komponen scrollbar pada frame dan menentukan layout frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



7). java.awt.TextArea

Komponen ini akan menampilkan teks multi-line yang dapat diedit. Untuk membuatnya, perhatikan kode program berikut.

1.     import java.awt.*;
2.
3.     public class TextAreaExample {
4.     public static void main (String args []) {
5.     Frame f = new Frame ();
6.     TextArea area = new TextArea                            ("SELAMAT BELAJAR JAVA AWT");
7.     area.setBounds (10, 30, 300, 300);
8.     f.add (area);
9.     f.setSize (400, 400);
10.   f.setLayout (null);
11.   f.setVisible (true);
12.   }
13.   }



Penjelasan kode program tersebut adalah sebagai berikut.

a). Frame f = new Frame ();
     TextArea area = new TextArea 
     ("SELAMAT BELAJAR JAVA AWT");
Membuat frame dan menyiapkan komponen text area dengan isi teks "SELAMAT BELAJAR JAVA AWT".

b). area.setBounds (10, 30, 300, 300);
Menentukan layout dan ukuran text area.

c). f.add (area);
     f.setSize (400, 400);
     f.setLayout (null);
     f.setVisible (true);
Menambahkan komponen text area ke dalam frame dan mengatur layout serta ukuran frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

a). Kode program.


b). Hasil kompilasi kode program.



2. Desain Komponen Swing

Library Swing sebenarnya mempunyai tampilan hampir sama dengan AWT, tetapi sifat dari komponen Swing adalah independent karena dapat digunakan dalam berbagai macam platform sistem operasi. Komponen-komponen Swing, antara lain sebagai berikut.

a. JButton

JButton merupakan bagian dari Swing yang digunakan untuk membuat sebuah tombol yang dapat disisipi dengan sebuah label judul di dalamnya. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class ButtonExample {
4.     public static void main (String [] args) {
5.     JFrame f = new JFrame ("Button                        Example");
6.     JButton b = new JButton ("Click Here");
7.     b.setBounds (50, 100, 95, 30);
8.     f.add (b);
9.     f.setSize (400, 400);
10.   f.setLayout (null);
11.   f.setVisible (true);
12.   }
13.   }



Penjelasan kode program tersebut adalah sebagai berikut.

1). import javax.swing.*;
Proses import komponen Swing dari library javax.swing. Hal ini yang membedakan AWT dengan Swing, yaitu library yang di-import oleh kode program.

2). JFrame f = new JFrame ("Button                         Example");
     JButton b = new JButton ("Click Here");
Melakukan pembuatan objek baru berupa frame dengan judul "Button Example" dan pembuatan objek tombol dengan label "Click Here".

3. b.setBounds (50, 100, 95, 30);
Mengatur posisi dan ukuran tombol.

4. f.add (b);
    f.setSize (400, 400);
    f.setLayout (null);
    f.setVisible (true);
Menambahkan komponen tombol ke dalam frame serta mengatur ukuran dan layout frame. Cara melakukannya sama dengan pengaturan ukuran dan layout frame pada komponen AWT.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.



b. JLabel

JLabel adalah komponen class yang digunakan untuk menempatkan label pada frame. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class LAT2 {
4.     public static void main (String [] args) {
5.     {
6.     JFrame f = new JFrame ("Label                          Example");
7.     JLabel 11, 12;
8.     11 = new JLabel ("First Label.");
9.     11.setBounds (50, 50, 100, 30);
10.   12 = new JLabel ("Second Label.");
11.   12.setBounds (50, 100, 100, 30);
12.   f.add (11);
13.   f.add (12);
14.   f.setSize (300, 300);
15.   f.setLayout (null);
16.   f.setVisible (true);
17.   }
18.   }
19.   }



Penjelasan kode program tersebut adalah sebagai berikut.

1). import javax.swing.*;
Proses import komponen package Swing dari library javax.swing.

2). JFrame f = new JFrame ("Label Example");
Melakukan pembuatan objek baru berupa frame dengan judul frame "Label Example".

3). JLabel 11, 12;
Membuat variabel 11 dan 12 yang bertipe label.

4). 11 = new JLabel ("First Label.");
     11.setBounds (50, 50, 100, 30);
Melakukan pembuatan objek baru berupa label dengan judul label "First Label" serta mengatur posisi dan ukuran label.

5). 12 = new JLabel ("Second Label.");
     12.setBounds (50, 100, 100, 30);
Melakukan pembuatan objek baru berupa label dengan judul label "Second Label" serta mengatur posisi dan ukuran label.

6). f.add (11);
     f.add (12);
     f.setSize (300, 300);
     f.setLayout (null);
     f.setVisible (true);
Menambahkan komponen label ke dalam frame serta mengatur layout dan tata letak frame.


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.



c. JTextField

JTextField adalah sebuah komponen class yang digunakan untuk mengolah sebuah teks. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class TextFieldExample {
4.     public static void main (String args []) {
5.     JFrame f = new JFrame ("TextField                    Example");
6.     JTextField t1, t2;
7.     t1 = new JTextField ("Welcome to Text              SWING");
8.     t1.setBounds (50, 100, 200, 30);
9.     t2 = new JTextField ("SWING Tutorial");
10.   t2.setBounds (50, 150, 200, 30);
11.   f.add (t1);
12.   f.add (t2);
13.   f.setSize (400, 400);
14.   f.setLayout (null);
15.   f.setVisible (true);
16.   }
17.   }


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.



d. JCheckBox

JCheckBox adalah komponen class yang digunakan untuk membuat checkbox. Komponen ini dapat digunakan untuk membuat input nilai dengan tipe true atau false. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class CheckBoxExample1 {
4.     public static void main (String args []) {
5.     JFrame = new JFrame ("CheckBox                      Example");
6.     JCheckBox checkBox1 = new JCheckBox          ("C++"); 
7.     checkBox1.setBounds (100, 100, 50, 50);
8.     JCheckBox checkBox2 = new JCheckBox          ("Java", true);
9.     checkBox2.setBounds (100, 150, 50, 50);
10.   f.add (checkBox1);
11.   f.add (checkBox2);
12.   f.setSize (400, 400);
13.   f.setLayout (null);
14.   f.setVisible (true);
15.   }
16.   }


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.



e. JOptionPane

JOptionPane adalah komponen class yang dapat digunakan untuk menampilkan kotak dialog, kotak pesan atau message box, serta membuat sebuah input nilai dalam bentuk tampilan interaktif. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class OptionPaneExample {
4.     public static void main (String [] args) {
5.     JFrame f = new JFrame ();
6.     JOptionPane.showMessageDialog (f,                  "Hello, INI DIALOG BOX PAKAI                          JOptionPane.");
7.     }
8.     }


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.



f. Java ScrollBar

Java ScrollBar adalah komponen class yang digunakan untuk menampilkan scrollbar. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class ScrollBarExample1 {
4.     public static void main (String args [] ) {
5.     JFrame f = new JFrame ("Scrollbar                    Example");
6.     JScrollBar s = new JScrollBar ();
7.     s.setBounds (100, 100, 50, 100);
8.     f.add (s);
9.     f.setSize (400, 400);
10.   f.setLayout (null);
11.   f.setVisible (true);
12.   }
13.   }


Hasil kompilasi kode program tersebut adalah sebagai berikut. 



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.




g. Java JComboBox

Java JComboBox adalah komponen Swing yang digunakan untuk menampilkan combo box. Untuk membuatnya, perhatikan kode program berikut.

1.     import javax.swing.*;
2.
3.     public class ComboBoxExample {
4.     
5.     public static void main (String [] args) {
6.     JFrame f = new JFrame ("ComboBox                  Example");
7.     String country [] = {"SOLO", "JOGJA",                "INGGRIS", "BANTUL", "REMBANG"};
8.     JComboBox cb = new JComboBox                      (country);
9.     cb.setBounds (50, 50, 90, 20);
10.   f.add (cb);
11.   f.setLayout (null);
12.   f.setSize (400, 500);
13.   f.setVisible (true);
14.   }
15.   }


Hasil kompilasi kode program tersebut adalah sebagai berikut.



Versi JStudio 

1). Kode program.


2). Hasil kompilasi kode program.