A. TUJUAN PEMBELAJARAN

dokumen-dokumen yang mirip
A. TUJUAN PEMBELAJARAN

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

A. TUJUAN PEMBELAJARAN

Percobaan 7 GUI(Graphical User Interface )

GRAPHICAL USER INTERFACE (GUI)

IF PEMROGRAMAN LANJUT EVENT. Oleh : Andri Heryandi, M.T.

Modul 9: antarmuka grafis (GUI) dalam window

DIK-020 Pemograman Berorientasi Objek 5/24/2012

GUI Event Handling 1

GUI & Event Handling. Viska Mutiawani, M.Sc

GUI Event Handling. minggu 13. Wednesday, 16 May 12

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Bab Tujuan. 8.2 Delegation Event Model

Materi : GUI AWT & SWING.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

1.Tujuan. 2. Latar Belakang

mouse dan keyboard yang akan memberikan dampak atau perubahan kepada suatu objek. Hampir keseluruhan game komputer menggunakan dua item ini,

GUI Event Handling. 5. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class

Membuat Menu Login Sederhana [Full Coding]

1. Latar Belakang 2. Tujuan

BAB IX. USER INTERFACE

Gambar 1. Deklarasi Interface MouseListener

MODUL PRAKTIKUM KE 3 A.

MODUL 7 - EXCEPTION HANDLING

PERTEMUAN VI AWT DAN SWING TUJUAN PRAKTIKUM. 1. Praktikan mengenal pembuatan GUI pada Java. 2. Praktikan memahami action pada objek dalam Java.

Modul Praktikum 8 BAB VIII LISTENER/EVENT HANDLER. Departemen Teknologi Informasi Telkom Applied Science School 2013.

AWT (ABSTRACT WINDOWS TOOLKITS)

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

Modul 08. User Interface 01

GUI (Grapichal User Interface)

Materi 5 Pemrograman Visual

Dasar Perancangan Graphical User Interface

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

SOAL UAS Mata Kuliah : Pemrograman Berorientasi Objek Lanjutan

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message

Pemrograman Visual Java Membuat Form Penilaian

Event Listener. Beberapa EventListener yang akan diberikan contoh pada slide ini antara lain:

PERTEMUAN 6 AWT & SWING

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*;

Pemrograman Berbasis Java PERSEWAAN PELAMPUNG. Riska Nony Oktaviani Kelas 21 Teknik Informatika Teknologi Informasi

TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

Slide 6: Writing Classes

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Tugas Java. : Evannata Dwiyan. Nim : : Sistem Informasi. Kelas : 21. : Informasi Restoran

1. Mana dari adapter berikut ini yang merupakan class adapter yang benar didalam Java. ComponentAdapter

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Membangun GUI (dengan AWT & Swing) OOP Java

Belajar Set Currency Format di TextField Java

BAB 5 Mendapatkan Input dari Keyboard

PEMROGRAMAN BERORIENTASI OBJEK

Graphical User Interface (GUI)

TUGAS PEMROGRAMAN BERBASIS JAVA. Disusun Oleh : NAMA : Rendy Rangga Yudha NIM :

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l

Materi 3 Pemrograman Visual

Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi

Anonymous Inner Class

Pemrograman Java III

BAB I PENDAHULUAN. Maksud dan tujuan dari pembuatan Aplikasi Penentu Nilai Mahasiswa pada pemrograman java adalah:

Score: Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

Refreshing Praktikum: GUI (Graphical User Interface)

ASPEK BERORIENTASI OBJEK DALAM RANCANG BANGUN SISTEM INFORMASI MANAJEMEN ZAKAT

LAPORAN PERCOBAAN V ( MENGHITUNG NILAI UJIAN MAHASISWA) BERBASIS JAVA DENGAN MENGGUNAKAN TOOLS NETBEANS

IKG2I4 / Software Project I

MODUL PRAKTIKUM KE 8

Membuat Kalkulator dengan Java

BAB 5 Mendapatkan Input dari Keyboard

MEMBUAT APLIKASI ZODIAK SEDERHANA DENGAN JAVA BY : INDRA

TUGAS PEMROGRAMAN BERBASIS JAVA Penyewaan ps

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

SISTEM INFORMASI PENJUALAN SATE BERBASIS JAVA. Disusun oleh : Rahmat Hidayat

SISTEM INFORMASI PENJUALAN OBAT BERBASIS JAVA. Disusun oleh : Rozy Putra Pratama

Sendy Ferdian Sujadi

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

APLIKASI PERHITUNGAN NILAI MAHASISWA. Untuk membuat aplikasi nilai mahasiswa, langkah-langkahnya adalah sebagai berikut :

Materi 1 Pemrograman Visual

Program Data Pelanggan Toko Bandung Fashion


INSTRUKSI PENCABANGAN

PENGENALAN JAVA GUI PROGRAMMING

Pemrograman Java III

Tugas Pemrograman Java P7 EL Event Handler & Menu. Disusun oleh: RIDLO PAMUJI / 22

Pemrograman Berorientasi Obyek. Ramos Somya

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

VISUAL JAVA PROGRAMMING

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Java. Pertemuan VIII By: Augury

Abstract Window Toolkit

Francisco Silvano

Praktikum JTable. Gambar 1

PEMROGRAMAN JAVA SISTEM PARKIR

IKG2I4 / Software Project I

Aplikasi Grafik Menggunakan Netbeans

Transkripsi:

PRAKTIKUM 28 PENANGANAN EVENT 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. 4. Mampu membuat program berbasis GUI yang bisa menerima respon user, baik melalui mouse maupun keyboard. B. DASAR TEORI User bisa berinteraksi dengan program aplikasi melalui sejumlah komponen. Sebagai contoh, setelah memasukkan data-data yang diperlukan pada proses login, kita menekan sebuah button untuk memasukkan data-data tersebut ke dalam program. Dalam hal ini objek button tersebut menerima event click. Tidak hanya objek button yang bisa menerima event. Objek lain seperti textfield juga bisa menerima event, hanya saja jenis event yang terjadi pada objek textfield berbeda dengan objek button. Jadi kita harus memahami jenis event apa yang bisa dikenakan terhadap suatu jenis objek tertentu. Java menerima event melalui sebuah interface. Setiap komponen yang akan menerima suatu event harus disetting terlebih dahulu agar terasosiasi dengan event tersebut. Tanpa didahului dengan proses asosiasi ini, sebuah komponen tidak akan bisa "menangkap" (Java memberi istilah "mendengar" / listening) suatu event walaupun sesungguhnya bisa. Sebagai contoh, jika kita memasang sebuah objek button untuk membatalkan suatu proses, sebelum kita mengasosiasi objek tersebut dengan event yang menangani click mouse maka button tersebut tidak akan 267

memberikan efek pembatalan proses pada saat kita melakukan proses click tombol mouse di atasnya. Bagian ini membahas tentang bagaimana proses interaksi antara user dan program melalui sejumlah komponen dapat terjadi. Dari sejumlah interface untuk menangani event yang disediakan oleh Java, kita akan membahas 4 (empat) saja yang kami rasa mudah dimengerti sebagai pengantar untuk memahami interface-interface yang lain. Keempat interface tersebut adalah: 1. Interface ActionListener 2. Interface MouseListener 3. Interface MouseMotionListener 4. Interface KeyListener Interface pertama akan menangkap event yang ditimbulkan oleh mouse dan keyboard, interface kedua dan ketiga akan menangkap event yang ditimbulkan oleh mouse dan interface keempat akan menangkap event yang ditimbulkan oleh keyboard. Mouse dan keyboard adalah dua piranti yang sudah sangat umum digunakan pada komputer masa kini. Bentuk umum penggunaan interface adalah: [public private] class NamaClass [extends BaseClass] [implements NamaInterface] { isi class } Implementasi sebuah interface mengharuskan kita memasukkan sejumlah method yang akan digunakan untuk melakukan suatu proses dalam interface tersebut. Pada bagian selanjutnya anda akan menjumpai method apa saja yang harus disediakan jika kita mengimplementasikan suatu interface. Interface ActionListener Interface ActionListener berguna untuk menerima event yang ditimbulkan oleh mouse atau keyboard. Pada prakteknya interface ini akan memeriksa objek yang terkena event, tidak perduli alat mana yang menimbulkan event tersebut. Sebuah objek button misalnya, mungkin akan 268

mengalami event click dari mouse atau event enter dari keyboard, yang jelas keduanya merupakan event dari button. Button inilah yang diperiksa oleh ActionListener. Class yang mengimlementasikan interface ActionPerformed harus mengandung method bernama actionperformed(actionevent) sekalipun di dalamnya tidak ada instruksi apa pun. Kita bisa memeriksa objek yang menimbulkan event di dalam method ini. Seperti telah dijelaskan di depan, agar sebuah objek bisa "mendengar" terjadinya event, objek tersebut harus diasosiasikan dengan interface yang berhubungan dengan event tersebut. Java menyediakan method addactionlistener(actionlistener) untuk mengasosiasikan sebuah objek dengan interface ActionListener. Method ini membutuhkan parameter berupa class yang mengimplementasikan interface ActionListener. Jika class tersebut merupakan class yang sama dengan tempat objek dimaksud, maka parameter ini cukup diberi nilai this. Interface MouseListener Interface MouseListener digunakan untuk menangkap event yang diakibatkan oleh mouse. Event yang dibangkitkan oleh keyboard tidak akan memberi efek, kecuali kita menggunakan interface ActionListener bersamaan dengan interface MouseListener. Dan sebenarnya anda boleh menggunakan sejumlah interface sesuai keperluan, tidak terbatas harus satu interface saja. Objek yang akan mendengar event dari MouseListener diasosiasikan menggunakan method addmouselistener(mouselistener). Class yang mengimplementasikan interface MouseListener harus menyediakan 5 (lima) method, walaupun tidak ada isinya. Kelima method tersebut adalah: 1. Method mouseclicked(mouseevent), dipanggil pada saat tombol mouse ditekan lalu dilepas. 2. Method mouseentered(mouseevent), dipanggil pada saat kursor mouse memasuki area komponen. 3. Method mouseexited(mouseevent), dipanggil pada saat kursor mouse meninggalkan area komponen. 4. Method mousepressed(mouseevent), dipanggil pada saat tombol mouse ditekan. 5. Method mousereleased(mouseevent), dipanggil pada saat tombol mouse dilepas. Kita bisa katakan bahwa method mouseclicked(mouseevent) merupakan perpaduan antara mousepressed(mouseevent) dan mousereleased(mouseevent). Berbagai method pada class 269

MouseEvent bisa kita gunakan dalam proses event mouse ini, misalnya mendeteksi posisi kursor mouse saat ini. Interface MouseMotionListener Java menyediakan interface MouseMotionListener untuk mendukung MouseListener. Interface MouseMotionListener menyediakan dua method yang akan memantau pergerakan mouse yaitu mousedragged(mouseevent) dan mousemoved(mouseevent). Method mousedragged(mouseevent) digunakan untuk memantau pergerakan mouse yang melintasi objek pada saat tombol mouse ditekan. Tindakan ini persis sama dengan tindakan kita pada saat memindahkan sebuah window. Method mousemoved(mouseevent) digunakan untuk memantau pergerakan mouse pada saat mouse melintasi area suatu objek. Pada saat ini tidak ada tombol mouse yang ditekan; kita hanya memindahkan pointer mouse melalui objek. Berikut ini urutan method yang dieksekusi setelah event mouse ditangkap, diasumsikan kita melibatkan interface MouseListener dan MouseMotionListener. 1. Method mouseentered(mouseevent) : dijalankan pada saat pointer mouse digerakkan memasuki area objek. 2. Method mousemoved(mouseevent) : dijalankan pada saat pointer mouse digerakkan melintasi objek dalam kondisi tidak ada tombol mouse yang ditekan. 3. Method mousepressed(mouseevent) : dijalankan pada saat tombol mouse ditekan. 4. Method mousedragged(mouseevent) : dijalankan pada saat pointer mouse digeser melintasi objek sambil tombol mouse ditekan. 5. Method mouseclicked(mouseevent) : dijalankan pada saat tombol mouse dilepas setelah ditekan dengan rentang waktu yang tidak terlalu lama. 6. Method mousereleased(mouseevent) : dijalankan pada saat tombol mouse dilepas. 7. Method mouseexited(mouseevent) : dijalankan pada saat pointer mouse meninggalkan area objek. Setelah pointer mouse berada di luar objek, segala macam event mouse tidak diperhatikan lagi, sampai pointer mouse memasuki area objek. 270

Interface KeyListener Setelah mengetahui cara menghandle event yang dibangkitkan oleh piranti mouse, sekarang kita akan membahas bagaimana caranya menghandle event yang dibangkitkan oleh piranti keyboard. Interface KeyListener disediakan untuk menangani event yang terjadi akibat tindakan dari keyboard, misalnya jika terjadi penekanan tombol ENTER atau ESCAPE. Interface KeyListener mengharuskan kehadiran tiga method: Method keypressed(keyevent) : akan dijalankan pada saat sebuah tombol keyboard ditekan. Method keyreleased(keyevent) : akan dijalankan pada saat sebuah tombol keyboard dilepas. Method keytyped(keyevent) : akan dijalankan pada saat sebuah tombol keyboard ditekan dan dilepas dengan selisih waktu yang singkat. C. TUGAS PENDAHULUAN 1. Pelajari event event handling yang berhubungan dengan User Interface, kemudian buatlah ringkasan kelas/interface event handling tersebut beserta kegunaannya. D. PERCOBAAN Percobaan 1: Membuat program menebak angka 1 import javax.swing.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 5 class MyFrame extends JFrame implements ActionListener 6 { 7 private Container container = new Container(); 8 private Button tombolcek = new Button ("Cek"); 9 private TextField inputan = new TextField ("", 8); 10 private int angkaacak = (int)(math.random()*10); 11 12 MyFrame() 13 { 14 super ("Tebak angka"); 15 16 setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); 17 setsize (200,65); 271

18 setlocation (100,100); 19 20 tombolcek.addactionlistener (this); 21 22 container = getcontentpane(); 23 container.setlayout (new BorderLayout()); 24 container.add (new JLabel("Tebak angka antara 0-9"), BorderLayout.NORTH); 25 container.add (new JLabel ("Tebakan anda :"), BorderLayout.WEST); 26 container.add (inputan, BorderLayout.CENTER); 27 container.add (tombolcek, BorderLayout.EAST); 28 29 show(); 30 } 31 32 public void actionperformed (ActionEvent e) 33 { 34 Object objek = e.getsource(); 35 36 if (objek == tombolcek) 37 { 38 int jawaban = Integer.parseInt(inputan.getText()); 39 40 if (jawaban == angkaacak) 41 JOptionPane.showMessageDialog (null, "Benar.. Anda memang peramal jitu"); 42 else 43 JOptionPane.showMessageDialog (null, "Jawaban anda salah.."); 44 } 45 } 46 } 47 48 // ------------- 49 // Class utama 50 // ------------- 51 public class ActionListener_1 52 { 53 public static void main (String[] args) 54 { 55 new MyFrame(); 56 } 57 } Percobaan 2: Membuat program dengan event mouselistener 1 import javax.swing.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 272

5 class MyFrame extends JFrame implements MouseListener 6 { 7 private Container container = new Container(); 8 private JLabel labelclicked = new JLabel (""); 9 private JLabel labelentered = new JLabel (""); 10 private JLabel labelexited = new JLabel (""); 11 private JLabel labelpressed = new JLabel (""); 12 private JLabel labelreleased = new JLabel (""); 13 14 MyFrame() 15 { 16 super ("Test MouseListener"); 17 18 setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); 19 setsize (220,150); 20 setlocation (100,100); 21 22 // --------------------------------------------- 23 // mengasosiasi seluruh objek dg event-handler 24 // --------------------------------------------- 25 labelclicked.addmouselistener (this); 26 labelentered.addmouselistener (this); 27 labelexited.addmouselistener (this); 28 labelpressed.addmouselistener (this); 29 labelreleased.addmouselistener (this); 30 31 // ------------------------------ 32 // penambahan komponen ke frame 33 // ------------------------------ 34 container = getcontentpane(); 35 container.setlayout (new GridLayout (5,2)); 36 container.add (new JLabel ("mouseclicked :")); 37 container.add (labelclicked); 38 container.add (new JLabel ("mouseentered :")); 39 container.add (labelentered); 40 container.add (new JLabel ("mouseexited :")); 41 container.add (labelexited); 42 container.add (new JLabel ("mousepressed :")); 43 container.add (labelpressed); 44 container.add (new JLabel ("mousereleased :")); 45 container.add (labelreleased); 46 47 show(); 48 } 49 50 public void mouseclicked (MouseEvent e) 51 { 52 labelclicked.settext ("AKTIF"); 53 labelentered.settext (""); 54 labelexited.settext (""); 55 labelpressed.settext (""); 56 labelreleased.settext (""); 57 } 58 273

59 public void mouseentered (MouseEvent e) 60 { 61 labelclicked.settext (""); 62 labelentered.settext ("AKTIF"); 63 labelexited.settext (""); 64 labelpressed.settext (""); 65 labelreleased.settext (""); 66 } 67 68 public void mouseexited (MouseEvent e) 69 { 70 labelclicked.settext (""); 71 labelentered.settext (""); 72 labelexited.settext ("AKTIF"); 73 labelpressed.settext (""); 74 labelreleased.settext (""); 75 } 76 77 public void mousepressed (MouseEvent e) 78 { 79 labelclicked.settext (""); 80 labelentered.settext (""); 81 labelexited.settext (""); 82 labelpressed.settext ("AKTIF"); 83 labelreleased.settext (""); 84 } 85 86 public void mousereleased (MouseEvent e) 87 { 88 labelclicked.settext (""); 89 labelentered.settext (""); 90 labelexited.settext (""); 91 labelpressed.settext (""); 92 labelreleased.settext ("AKTIF"); 93 } 94 } 95 96 // ------------- 97 // Class utama 98 // ------------- 99 public class MouseListener_1 100 { 101 public static void main (String[] args) 102 { 103 new MyFrame(); 104 } 105 } Percobaan 3: Memantau kondisi mouse dan menerima event pada saat mouse digerakkan 1 import javax.swing.*; 274

2 import java.awt.*; 3 import java.awt.event.*; 4 5 class MyFrame extends JFrame implements MouseMotionListener 6 { 7 private Container container = new Container(); 8 private JLabel labeldragged = new JLabel (""); 9 private JLabel labelmoved = new JLabel (""); 10 11 MyFrame() 12 { 13 super ("Test MouseListener"); 14 15 setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); 16 setsize (250,80); 17 setlocation (100,100); 18 19 // --------------------------------------------- 20 // mengasosiasi seluruh objek dg event-handler 21 // --------------------------------------------- 22 labeldragged.addmousemotionlistener (this); 23 labelmoved.addmousemotionlistener (this); 24 25 // ------------------------------ 26 // penambahan komponen ke frame 27 // ------------------------------ 28 container = getcontentpane(); 29 container.setlayout (new GridLayout (2,2)); 30 container.add (new JLabel ("mousedragged :")); 31 container.add (labeldragged); 32 container.add (new JLabel ("mousemoved :")); 33 container.add (labelmoved); 34 35 show(); 36 } 37 38 public void mousedragged (MouseEvent e) 39 { 40 labeldragged.settext ("AKTIF"); 41 labelmoved.settext (""); 42 } 43 44 public void mousemoved (MouseEvent e) 45 { 46 labeldragged.settext (""); 47 labelmoved.settext ("AKTIF"); 48 } 49 } 50 51 // ------------- 52 // Class utama 53 // ------------- 54 public class MouseMotionListener_1 275

55 { 56 public static void main (String[] args) 57 { 58 new MyFrame(); 59 } 60 } Percobaan 4: Mendeteksi penekanan tombol ENTER pada sebuah objek textfield 1 import javax.swing.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 5 class MyFrame extends JFrame implements KeyListener 6 { 7 private Container container = new Container(); 8 private JTextField textfield = new JTextField ("", 8); 9 10 MyFrame() 11 { 12 super ("Tebak angka"); 13 14 setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); 15 setsize (250,150); 16 setlocation (100,100); 17 18 // --------------------------------------------- 19 // mengasosiasi seluruh objek dg event-handler 20 // --------------------------------------------- 21 textfield.addkeylistener (this); 22 23 // ------------------------------ 24 // penambahan komponen ke frame 25 // ------------------------------ 26 container = getcontentpane(); 27 container.setlayout (new GridLayout (3,1)); 28 container.add (new JPanel()); 29 container.add (textfield); 30 container.add (new JPanel()); 31 32 show(); 33 } 34 35 public void keytyped (KeyEvent e) 36 { 37 if (e.getkeycode() == e.vk_enter) 38 textfield.settext("enter ->> ditekan + dilepas"); 39 } 40 41 public void keypressed (KeyEvent e) 42 { 276

43 if (e.getkeycode() == e.vk_enter) 44 textfield.settext ("Tombol ENTER ->> ditekan"); 45 } 46 47 public void keyreleased (KeyEvent e) 48 { 49 if (e.getkeycode() == e.vk_enter) 50 textfield.settext ("Tombol ENTER ->> dilepas"); 51 } 52 } 53 54 // ------------- 55 // Class utama 56 // ------------- 57 public class KeyListener_1 58 { 59 public static void main (String[] args) 60 { 61 new MyFrame(); 62 } 63 } E. LATIHAN Latihan 1: Membuat tampilan input data dan menampilkan hasil input ketika ditekan OK 277

Latihan 2 : Buat Tampilan dan event handling yang sesuai, seperti pada gambar Latihan 3: Modifikasi latihan 2 untuk pembelian tiket online pada konser music F. LAPORAN RESMI Kumpulkan hasil percobaan di atas dan tambahkan analisa untuk tiap percobaan, latihan, dan tugas yang telah dibuat. 278