Materi 5 Pemrograman Visual

dokumen-dokumen yang mirip
Materi 4 Pemrograman Visual

Materi 1 Pemrograman Visual

Materi 3 Pemrograman Visual

Materi 6 Pemrograman Visual

Materi 2 Pemrograman Visual

Membuat Kalkulator dengan Java

Modul 08. User Interface 01

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

Membuat Menu Login Sederhana [Full Coding]

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

GUI & Event Handling. Viska Mutiawani, M.Sc

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

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

Pemrograman Java. Pertemuan VIII By: Augury

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

Membuat Frame, Label, TextField dan Button di Java [Full Coding]

Materi : GUI AWT & SWING.

BAB IX. USER INTERFACE

Praktikum 6a Melakukan koneksi dengan basis data

Prosedur dan Fungsi. Ciri prosedur pada java selalu dimulai dengan : private/public void namaprosedur ( tipedataparameter1 namaparameter1,

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

A. TUJUAN PEMBELAJARAN

INSTRUKSI PENCABANGAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

MODUL PRAKTIKUM KE 3 A.

Pemrograman III (Java) Pertemuan X By: Augury

IKG2I4 / Software Project I

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

GRAPHICAL USER INTERFACE (GUI)

Belajar Set Currency Format di TextField Java

A. TUJUAN PEMBELAJARAN

Percobaan 7 GUI(Graphical User Interface )

Slide 6: Writing Classes

Program Kalkulator Sederhana Menggunakan Java Netbeans

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

Pemrograman Berorientasi Obyek. Ramos Somya

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

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

MODUL 7 - EXCEPTION HANDLING

LISTING PROGRAM. package app.maximumflow; import java.awt.borderlayout; import java.awt.eventqueue;

Anonymous Inner Class

A. TUJUAN PEMBELAJARAN

DIK-020 Pemograman Berorientasi Objek 5/24/2012

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Modul Praktikum Pemrograman

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

Praktikum III : Menggunakan JRadioButton

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

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

JAVA SWING. Swing merupakan library pada java untuk membuat sebuah tampilan seperti

Modul 7 Praktikum Pemrograman Visual

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

Dasar Pemrograman Java

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

Bab Tujuan. 8.2 Delegation Event Model

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

PERTEMUAN 6 AWT & SWING

Modul 2. [access specifier] [tipe data] [nama variabel];

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

Lampiran 1. Tabel Durbin-Watson LAMPIRAN

Pemrograman Java III

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK. Maimunah, S.Si,M.Kom

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN

BAB 2 INPUT DARI KEYBOARD

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

BAB II. Manggunakan JComboBox

Graphical User Interface (GUI)

Pemrograman Java III

Pemrograman dengan Java

PERTEMUAN 3 OBJEK DAN CLASS

Sendy Ferdian Sujadi

LISTING PROGRAM. Program animasi Frame by Frame dalam bahasa pemrograman Java

Java Library dan Java Swing

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

Tugas Pemrograman berbasis Java. (menggunakan Jcreator) GUI (Graphical User Interface) : Prima Satya Juhandana NIM :

Lampiran Perhitungan ANCOVA

PENGENALAN NETBEANS Algoritma & Pemrograman 2016/2017 Hastha Sunardi 2016 PENGENALAN NETBEANS. (Pertemuan: K[-]/L[1])

Praktikum JTable. Gambar 1

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Java III

LAPORAN TUGAS AKHIR APLIKASI KALKULATOR BERBASIS JAVA

Abstract Class dan Interface. Viska Mutiawani, M.Sc

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Aplikasi Grafik Menggunakan Netbeans

Modul Praktikum 1 Pemograman Berorientasi Objek

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

Pemrograman Berorientasi. Class dan Obyek 2

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

visit :


Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

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

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

Transkripsi:

Materi 5 Pemrograman Visual Pada materi ini akan dipelajari tentang pemberian aksi pada komponen swing (listener), terutama ActionListener. Sesi Materi ActionListener merupakan salah satu listener yang paling sering digunakan pada pemrograman GUI menggunakan bahasa pemrograman Java. Hal ini karena ActionListener dapat dikenai ke banyak komponen pembentuk GUI (lihat modul praktikum). Listener, khususnya ActionListener dalam materi ini merupakan interface yang memiliki method actionperformed. Sehingga, method tersebut harus dioverride oleh class yang meng-implements interface ActionListener. Isi dari method ini (untuk dituliskan kembali) berisi logika pemrograman ketika terjadi suatu hal terhadap komponen pada class tersebut. Suatu hal dapat berupa tombol yang ditekan, perubahan state, pengetikan, dan hal lainnya tergantung behavior komponen swing. Penulisan aksi terhadap listener seharusnya bersifat private, atau dituliskan dalam bentuk inner class. Hal ini dimaksudkan agar secure implementation terpenuhi. Akan tetapi, untuk materi ini tidak menggunakan konsep tersebut. Langkah yang digunakan kali ini: 1. Melakukan implements ActionListener 2. Meng-override method actionperformed 3. Melakukan filter asal aksi, dan memberikan proses yang bersesuaian Studi Kasus Buatlah sebuah GUI dengan 2 tombol. Fungsi masing-masing tombol adalah sebagai berikut: 1. Mengosongkan text dan mengembalikan komponen ke nilai default 2. Melakukan proses pengolahan masukan menjadi keluaran (jika harus diolah) serta menampilkan keluaran tersebut 1

GUI tersebut ditampilkan sebagai berikut: Tombol Kosongkan akan mengosongkan nama, sedangkan tombol Tampilkan akan menampilkan kembali hal yang sudah diketikkan oleh pengguna ke layar (melalui command prompt atau layar keluaran IDE). Untuk membuat GUI di atas, langkah pertama yang harus dilakukan adalah mendata komponen swing yang digunakan: 1. Sebuah JFrame (layout default) 2. Sebuah JPanel (layout default) 3. Sebuah JLabel 4. Sebuah JTextField 5. Dua buah JButton Sehingga, kode yang dapat dituliskan sebagai berikut: import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; public class NewClass extends JFrame{ JPanel panel; JLabel labelnama; JTextField teksnama; JButton tombolreset, tomboleksekusi; public void aturgui(){ 2

Bentuk objeknya, dan atur kemunculan GUI pada method aturgui() Pastikan GUI telah menampilkan hal yang seharusnya dengan membuat public static void main. public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); Setelah tampil seperti gambar berikut, Tambahkan listener berupa interface ActionListener. Override method actionperformed dari ActionListener. import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; public class NewClass extends JFrame implements ActionListener{ JPanel panel; JLabel labelnama; JTextField teksnama; JButton tombolreset, tomboleksekusi; public void aturgui() { 3

public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); @Override public void actionperformed(actionevent ae) { Tuliskan method actionperformed tepat seperti hal di atas. Berikan parameter masukan berupa objek dari ActionEvent. Langkah berikutnya, filter dari mana aksi berasal. Filter ini menggunakan kondisional. Ada banyak cara untuk memberi pengkondisian, dua cara yang biasa dilakukan yaitu dengan menggunakan action command, atau bisa juga dengan menggunakan getsource. Sebelum hal tersebut dilakukan, hal penting yang dilakukan yaitu menambahkan action listener kepada dua tombol yang diberikan aksi: import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; public class NewClass extends JFrame implements ActionListener{ JPanel panel; JLabel labelnama; JTextField teksnama; JButton tombolreset, tomboleksekusi; public void aturgui() { 4

tombolreset.addactionlistener(this); tomboleksekusi.addactionlistener(this); public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); @Override public void actionperformed(actionevent ae) { Perhatikan tulisan kode yang ditebalkan, terdapat method addactionlistener(this). Keyword this menyatakan bahwa kode logika untuk aksi yang diberikan berada di tempat yang sama dengan pendeklarasian masing-masing tombol, yaitu class NewClass. Jika aksi berada pada class lain, maka pastikan yang menjadi parameter adalah objek dari class yang memiliki logikanya. Untuk penambahan aksi kali ini, bagi tombolreset, akan digunakan filter menggunakan action command, sedangkan tomboleksekusi dengan cara lainnya. Jika menggunakan action command, pastikan setiap tombol telah diberikan command masing-masing. Kode untuk tombolreset dituliskan sebagai berikut. public void aturgui() { tombolreset.setactioncommand("kosong"); tombolreset.addactionlistener(this); tomboleksekusi.addactionlistener(this); 5

Sehingga, pada method actionperformed dapat dituliskan hal berikut: @Override public void actionperformed(actionevent ae) { if(ae.getactioncommand().equals("kosong")){ System.out.println("Aksi Tombol Kosongkan"); teksnama.settext(""); Perhatikan bahwa method equals merupakan perbandingan antara action yang diterima dari objek ActionEvent sesuai dengan action command yang diberikan sebelumnya. Jika pada setactioncommand diberikan parameter Hilang, maka pada perbandingan pengkondisian juga harus dituliskan Hilang. Agar teks menjadi kosong, dipanggil method settext dari class JTextField (lihat modul praktikum). Untuk tombol Tampilkan, hal lain yang dilakukan, yaitu pengambilan source asal dengan kode sebagai berikut: if(ae.getsource().equals(tomboleksekusi)){ System.out.println("Aksi Tombol Eksekusi"); String nama = teksnama.gettext(); System.out.println("Nama: "+nama); Hal ini paling mungkin dilakukan jika komponen tombol berada pada class yang sama dengan logika actionlistener. Cara ini sebaiknya tidak terlalu sering digunakan. 6

Kode Lengkap: import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; public class NewClass extends JFrame implements ActionListener{ JPanel panel; JLabel labelnama; JTextField teksnama; JButton tombolreset, tomboleksekusi; public void aturgui() { tombolreset.setactioncommand("kosong"); tombolreset.addactionlistener(this); tomboleksekusi.addactionlistener(this); public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); @Override public void actionperformed(actionevent ae) { if(ae.getactioncommand().equals("kosong")){ System.out.println("Aksi Tombol Kosongkan"); teksnama.settext(""); if(ae.getsource().equals(tomboleksekusi)){ System.out.println("Aksi Tombol Eksekusi"); String nama = teksnama.gettext(); System.out.println("Nama: "+nama); 7

Setelah menambahkan aksi, GUI dapat dijalankan kembali. Contoh saat menekan tombol Tampilkan dengan state GUI Ditampilkan sebagai berikut: Sedangkan jika tombol Kosongkan ditekan setelahnya, teks akan kosong seperti pertama kali dijalankan, dan di layar keluar tambahan satu baris: Try-it Yourself 1. Apa yang terjadi ketika tombol Tampilkan ditekan ketika text field dalam keadaan kosong? Beri pengkondisian terhadap hal tersebut. 2. Tukarkan cara filter aksi untuk masing-masing tombol. Berikan action command untuk tombol Tampilkan, lalu cara lainnya untuk tombol Reset. 8

3. Buatlah GUI dengan tampilan berikut. Tombol + + akan menambah nilai pada text field, tombol - - mengurangi nilai pada text field. Menu Tampilkan akan menampilkan angka yang tercantum di text field ke layar. Sedangkan menu Kosongkan akan mengubah angka menjadi 0 di text field. 9