• Tidak ada hasil yang ditemukan

A. TUJUAN PEMBELAJARAN - 13a GUI.pdf

N/A
N/A
Protected

Academic year: 2018

Membagikan "A. TUJUAN PEMBELAJARAN - 13a GUI.pdf"

Copied!
10
0
0

Teks penuh

(1)

257

P

P

R

R

A

A

K

K

T

T

I

I

K

K

U

U

M

M

2

2

7

7

A

A

N

N

T

T

A

A

R

R

M

M

U

U

K

K

A

A

G

G

R

R

A

A

F

F

I

I

S

S

A.

TUJUAN PEMBELAJARAN

1.

Memahami konsep Graphical User Interface (GUI).

2.

Mampu membuat program yang menerapkan konsep GUI.

3.

Mampu membuat program berbasis GUI yang melibatkan penggunaan komponen GUI.

B.

DASAR TEORI

Ciri utama dari tampilan model ini adalah seluruh data ditampilkan dalam bentuk teks (

text

based

). Model tampilan ini memiliki kelemahan yaitu lebih sulit membuat tampilan program

menjadi indah dan menarik, dikarenakan kurangnya dukungan warna. Monitor model teks hanya

mendukung warna sampai 16, berbeda dengan model grafik yang mendukung warna sampai 2

24

(2 pangkat 24) bahkan bisa lebih, tergantung

graphic-card

yang digunakan.

Bab ini akan membahas tentang Graphical User Interface (GUI), suatu metode untuk antar-muka

komputer berbasis grafis. GUI digunakan dalam pembuatan program aplikasi dengan

mempertimbangkan dua aspek yaitu keindahan tampilan dan kemudahan penggunaan program.

Keindahan tampilan akan mempengaruhi orang untuk melihat da

n

merasa senang terhadap

program yang kita buat, dan kemudahan penggunaan program akan berdampak pada ketertarikan

orang untuk terus menggunakan program yang kita buat. Di dunia bisnis, hal ini merupakan

target jangka panjang.

Materi dalam bab ini akan disajikan secara sistematis dan terstruktur, mulai dari pengenalan

objek utama, penambahan objek-objek pendukung (lebih dikenal sebagai komponen) sampai

interaksi komputer dengan user. Untuk melengkapi uraian tentang GUI ini, pada akhir bab kita

membuat sebuah project yang diberi nama ”Kalkulator Mini". Project ini menyajikan pembuatan

(2)

258

matematika biasa. Beberapa fungsi yang rumit dari kalkulator sesungguhnya tidak dimasukkan

dalam project ini. Anda bisa mengembangkan project ini secara mandiri.

Pembahasan kita mulai class

JFrame

. Dalam lingkup Java, sebuah interface

window

dikenal

dengan sebutan frame. Bagi anda yang pernah menggunakan software Delphi (bahasa visual

untuk

Pascal) tentu pernah menjumpai komponen

TFrame

. Perlu diingat bahwa frame dalam

lingkup Delphi berbeda dengan frame dalam lingkup Java.

Frame

dalam lingkup Java identik

dengan

TForm

di Delphi atau

Form

di

Visual Basic. Perlu juga diketahui bahwa seluruh

pembahasan pada bab ini mengacu kepada sistem operasi Windows, tepatnya Windows 2000

atau

Windows XP

. Anda yang menggunakan sistem operasi lain seperti UNI X

atau

LI NUX

mungkin akan melihat beberapa perbedaan tampilan yang tidak mengganggu.

Jika anda membuka program Windows Explorer maka secara tidak sadar anda telah

mengaktifkan sebuah window (atau frame). Frame adalah sebuah objek yang merepresentasikan

suatu area di layar yang berisi sejumlah objek lain untuk menyampaikan informasi kepada user.

Kita bisa menambahkan sejumlah komponen lain ke dalam sebuah framw dengan tujuan yang

sesuai dengan fungsi komponen tersebut.

Sebuah objek yang merupakan

instansiasi

dari class

JFrame

bisa dipanggil melalui dua cara,

yaitu:

1.

Dipanggil melalui class utama yang mengandung fungsi

main()

.

2.

Dipanggil melalui class lain yang merupakan class tersendiri turunan dari

JFrame

.

M

M

a

a

n

n

a

a

j

j

e

e

m

m

e

e

n

n

P

P

e

e

m

m

a

a

s

s

a

a

n

n

g

g

a

a

n

n

K

K

o

o

m

m

p

p

o

o

n

n

e

e

n

n

Manajemen pemasangan komponen (

layout management

) diperlukan untuk mengatur

penempatan komponen di dalam frame agar bisa menghasilkan bentuk interface yang menarik.

Penggunaan

layout-manager

dalam mengatur letak komponen juga akan memudahkan kita

menempelkan komponen pada frame.

Java menyediakan sejumlah metode dalam mengatur penempelan komponen ke dalam frame.

Pada bagian ini kita hanya akan membahas tiga metode: FlowLayout,

GridLayout dan

BorderLayout

. Masing-masing metode memiliki keunggulan dan kekurangan dibandingkan

(3)

259

dalam mengatur pemasangan komponen; kita boleh mengkombinasikan beberapa metode agar

pemasangan komponen menjadi lebih baik dan mudah.

Method

setLayout(LayoutManager)

digunakan untuk mengatur jenis metode yang digunakan

pada saat memasang komponen. Method ini bisa kita gunakan pada class

JFrame

,

JPanel

dan

Container

. Pembahasan selanjutnya akan menunjukkan penggunaan berbagai metode pengaturan

penempelan komponen pada frame.

C.

TUGAS PENDAHULUAN

1.

Pelajari layout – layout yang bisa digunakan untuk mengatur tata letak komponen,

kemudian buat daftar mengenai layout tersebut, beserta penjelasan dan contoh

tampilannya.

D.

PERCOBAAN

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

1

1

:

:

M

M

e

e

m

m

b

b

u

u

a

a

t

t

j

j

e

e

n

n

d

d

e

e

l

l

a

a

s

s

e

e

d

d

e

e

r

r

h

h

a

a

n

n

a

a

d

d

e

e

n

n

g

g

a

a

n

n

J

J

F

F

r

r

a

a

m

m

e

e

1 import javax.swing.JFrame;

2

3 //---

4 // Definisi class MYFRAME

5 //---

6 class MyFrame extends JFrame

7 {

8 MyFrame() 9 {

10 super ("Contoh frame"); 11

12 show(); 13 }

14 }

15

16 //---

17 // Class utama

18 //---

19 public class JFrame_4

20 {

21 public static void main (String[] args) 22 {

23 new MyFrame(); 24 }

(4)

260

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

2

2

:

:

M

M

e

e

n

n

g

g

h

h

a

a

p

p

u

u

s

s

F

F

r

r

a

a

m

m

e

e

d

d

a

a

r

r

i

i

M

M

e

e

m

m

o

o

r

r

i

i

1 import javax.swing.JFrame;

2

3 //---

4 // Definisi class MYFRAME

5 //---

6 class MyFrame extends JFrame

7 {

8 MyFrame() 9 {

10 super ("Contoh frame");

11 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 12

13 show(); 14 }

15 }

16

17 //---

18 // Class utama

19 //---

20 public class JFrame_5

21 {

22 public static void main (String[] args) 23 {

24 new MyFrame(); 25 }

26 }

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

3

3

:

:

F

F

r

r

a

a

m

m

e

e

d

d

e

e

n

n

g

g

a

a

n

n

U

U

k

k

u

u

r

r

a

a

n

n

T

T

e

e

t

t

a

a

p

p

1 import javax.swing.JFrame;

2

3 //---

4 // Definisi class MYFRAME

5 //---

6 class MyFrame extends JFrame

7 {

8 MyFrame() 9 {

10 super ("Contoh frame");

11 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 12 setLocation (200,100);

13 setSize (300,100); 14 setResizable (false); 15

16 show(); 17 }

18 }

19

(5)

261

21 // Class utama

22 //---

23 public class JFrame_8

24 {

25 public static void main (String[] args) 26 {

27 new MyFrame(); 28 }

29 }

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

4

4

:

:

S

S

t

t

r

r

a

a

t

t

e

e

g

g

i

i

T

T

e

e

m

m

p

p

e

e

l

l

L

L

a

a

n

n

g

g

s

s

u

u

n

n

g

g

1 import javax.swing.*;

2 import java.awt.*;

3

4 class MyFrame extends JFrame

5 {

6 private Container container = new Container(); 7 private JButton tombol = new JButton ("Tombol"); 8

9 MyFrame() 10 {

11 super ("Strategi 'Tempel-Langsung'"); 12

13 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 14 setSize (250,80);

15 setLocation (100,100); 16

17 container = getContentPane(); 18

19 container.add (tombol); 20

21 show(); 22 }

23 }

24

25 public class TempelLangsung_1

26 {

27 public static void main (String[] args) 28 {

29 new MyFrame(); 30 }

31 }

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

5

5

:

:

M

M

a

a

n

n

a

a

j

j

e

e

m

m

e

e

n

n

P

P

e

e

m

m

a

a

s

s

a

a

n

n

g

g

a

a

n

n

K

K

o

o

m

m

p

p

o

o

n

n

e

e

n

n

F

F

l

l

o

o

w

w

l

l

a

a

y

y

o

o

u

u

t

t

1 import javax.swing.*;

2 import java.awt.*;

(6)

262

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

6

6

:

:

M

M

a

a

n

n

a

a

j

j

e

e

m

m

e

e

n

n

P

P

e

e

m

m

a

a

s

s

a

a

n

n

g

g

a

a

n

n

K

K

o

o

m

m

p

p

o

o

n

n

e

e

n

n

G

G

r

r

i

i

d

d

l

l

a

a

y

y

o

o

u

u

t

t

1 import javax.swing.*;

2 import java.awt.*;

3

4 class MyFrame extends JFrame

5 {

6 private Container container = new Container(); 7 private JButton tombol = new JButton ("Tombol"); 8 private JLabel tulisan = new JLabel ("Tulisan"); 9

10 MyFrame() 11 {

12 super ("GridLayout 1-baris 2-kolom"); 13

14 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 15 setSize (250,80);

16 setLocation (100,100); 17

4 class MyFrame extends JFrame

5 {

6 private Container container = new Container(); 7 private JButton tombol = new JButton ("Tombol"); 8 private JLabel tulisan = new JLabel ("Tulisan"); 9

10 MyFrame() 11 {

12 super ("Demo FlowLayout"); 13

14 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 15 setSize (250,80);

16 setLocation (100,100); 17

18 container = getContentPane();

19 container.setLayout (new FlowLayout()); 20

21 container.add (tombol); 22 container.add (tulisan); 23

24 show(); 25 }

26 }

27

28 public class FlowLayout_1

29 {

30 public static void main (String[] args) 31 {

32 new MyFrame(); 33 }

(7)

263

18 container = getContentPane();

19 container.setLayout (new GridLayout(1,2)); 20

21 container.add (tulisan); 22 container.add (tombol); 23

24 show(); 25 }

26 }

27

28 public class GridLayout_1

29 {

30 public static void main (String[] args) 31 {

32 new MyFrame(); 33 }

34 }

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

7

7

:

:

M

M

a

a

n

n

a

a

j

j

e

e

m

m

e

e

n

n

P

P

e

e

m

m

a

a

s

s

a

a

n

n

g

g

a

a

n

n

K

K

o

o

m

m

p

p

o

o

n

n

e

e

n

n

B

B

o

o

r

r

d

d

e

e

r

r

l

l

a

a

y

y

o

o

u

u

t

t

1 import javax.swing.*;

2 import java.awt.*;

3

4 class MyFrame extends JFrame

5 {

6 private Container container = new Container(); 7

8 private JButton tombolUtara = new JButton ("NORTH"); 9 private JButton tombolSelatan = new JButton ("SOUTH"); 10 private JButton tombolTimur = new JButton ("EAST"); 11 private JButton tombolBarat = new JButton ("WEST"); 12 private JButton tombolTengah = new JButton ("CENTER"); 13

14 MyFrame() 15 {

16 super ("Demo BorderLayout"); 17

18 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 19 setSize (250,130);

20 setLocation (100,100); 21

22 container = getContentPane();

23 container.setLayout (new BorderLayout()); 24

25 container.add (tombolUtara, BorderLayout.NORTH); 26 container.add (tombolSelatan, BorderLayout.SOUTH); 27 container.add (tombolTimur, BorderLayout.EAST); 28 container.add (tombolBarat, BorderLayout.WEST); 29 container.add (tombolTengah, BorderLayout.CENTER); 30

(8)

264

32 }

33 }

34

35 public class BorderLayout_1

36 {

37 public static void main (String[] args) 38 {

39 new MyFrame(); 40 }

41 }

P

P

e

e

r

r

c

c

o

o

b

b

a

a

a

a

n

n

8

8

:

:

L

L

a

a

y

y

o

o

u

u

t

t

K

K

o

o

m

m

p

p

o

o

n

n

e

e

n

n

d

d

a

a

l

l

a

a

m

m

J

J

P

P

a

a

n

n

e

e

l

l

1 import javax.swing.*;

2 import java.awt.*;

3

4 class MyFrame extends JFrame

5 {

6 private Container container = new Container(); 7 private JPanel jPanel = new JPanel();

8

9 private JLabel labelUserName =

new JLabel ("User name :"); 10 private JLabel labelPassword =

new JLabel ("Password :"); 11 private JTextField textFieldUserName =

new JTextField ("", 8); 12 private JTextField textFieldPassword =

new JTextField ("", 8); 13 private JButton buttonOK = new JButton ("OK");

14 private JButton buttonCancel = new JButton ("Cancel"); 15

16 MyFrame() 17 {

18 super ("Demo JPanel - Login"); 19

20 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 21 setSize (250,10);

22 setLocation (100,100); 23

24 jPanel.setLayout (new GridLayout (3,2)); 25 jPanel.add (labelUserName);

26 jPanel.add (textFieldUserName); 27 jPanel.add (labelPassword); 28 jPanel.add (textFieldPassword); 29 jPanel.add (buttonOK);

30 jPanel.add (buttonCancel); 31

32 container = getContentPane(); 33 container.add (jPanel);

(9)

265

35 show(); 36 }

37 }

38

39 public class JPanel_2

40 {

41 public static void main (String[] args) 42 {

43 new MyFrame(); 44 }

45 }

E.

LATIHAN

L

L

a

a

t

t

i

i

h

h

a

a

n

n

1

1

:

:

M

M

e

e

m

m

b

b

u

u

a

a

t

t

t

t

a

a

m

m

p

p

i

i

l

l

a

a

n

n

H

H

P

P

m

m

i

i

n

n

i

i

Buatlah tampilan HP seperti pada gambar berikut :

L

L

a

a

t

t

i

i

h

h

a

a

n

n

2

2

:

:

M

M

e

e

m

m

b

b

u

u

a

a

t

t

t

t

a

a

m

m

p

p

i

i

l

l

a

a

n

n

i

i

n

n

p

p

u

u

t

t

d

d

a

a

t

t

a

a

(10)

266

L

L

a

a

t

t

i

i

h

h

a

a

n

n

3

3

:

:

D

D

e

e

s

s

a

a

i

i

n

n

u

u

s

s

e

e

r

r

i

i

n

n

t

t

e

e

r

r

f

f

a

a

c

c

e

e

s

s

e

e

s

s

u

u

a

a

i

i

p

p

e

e

t

t

u

u

n

n

j

j

u

u

k

k

p

p

a

a

d

d

a

a

g

g

a

a

m

m

b

b

a

a

r

r

b

b

e

e

r

r

i

i

k

k

u

u

t

t

Petunjuk : Gantilah JApplet dengan JPanel

F.

TUGAS

Buatlah tampilan kalkulator mini seperti pada gambar berikut :

G.

LAPORAN RESMI

Kumpulkan hasil percobaan di atas dan tambahkan analisa untuk tiap percobaan, latihan, dan

Referensi

Dokumen terkait

Bangkit Sentosa adalah kurang rancu dalam penghitungan gaji, pembuatan rekapitulasi gaji, absensi, serta pembagian team kerja, sering terjadi duplikasi data, dan

asetat, borneol, simen. Kina, damar, malam.. as. CI CINN NNAM AMOM OMI COR I CORTE TEX X..

Unsworth (2008) melakukan penelitian mengenai tingkat konektivitas antara komunitas ikan di lamun dengan habitat mangrove dan terumbu karang di perairan Taman Nasional

Para Narasumber dimohon segera mengkonfirmasi kesediaan/tidak bersedia mengajar s Hotel Omni

Oleh sebab itu dengan melihat pertumbuhan rasio arus kas yang diproyeksikan dalam, arus kas operasi terhadap kewajiban lancar (AKO), Cakupan kas terhadap bunga (CKB), arus

Nilai Book Value yang tinggi akan menjamin keamanan investasi pada perusahaan, jika harga pasar saham lebih tinggi dari pada nilai Book Value , maka hal ini

contoh penyelesaian soal aritmatika sosial dengan pendekatan pola latihan berjenjang  Guru memberikan latihan soal  Siswa mendengarkan penjelasan materi yang disampaikan

Maka permasalahan yang diteliti dibatasi sesuai dengan rumusan masalah yang dibahas yaitu mengenai pelanggaran terhadap asas hukum diplomatik dalam kasus penolakan