Materi 3 Pemrograman Visual

dokumen-dokumen yang mirip
Materi 4 Pemrograman Visual

Materi 2 Pemrograman Visual

Materi 1 Pemrograman Visual

Materi 5 Pemrograman Visual

Materi 6 Pemrograman Visual

GUI & Event Handling. Viska Mutiawani, M.Sc

Pemrograman III (Java) Pertemuan X By: Augury

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

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

GUI (Grapichal User Interface)

A. TUJUAN PEMBELAJARAN

Pemrograman Java. Pertemuan VIII By: Augury

Membuat Form Dinamis di Java

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

Modul 08. User Interface 01

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

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

Modul 7 Praktikum Pemrograman Visual

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

Pemrograman Berorientasi Obyek. Ramos Somya

Materi : GUI AWT & SWING.

BAB V JTable. JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default.

A. TUJUAN PEMBELAJARAN

Membuat Kalkulator dengan Java

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

Membuat Menu Login Sederhana [Full Coding]

Koneksi Java GUI-Database

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN

IKG2I4 / Software Project I

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

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

Lampiran 1. Tabel Durbin-Watson LAMPIRAN

Graphical User Interface (GUI)

Abstract Window Toolkit

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK

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

visit :

Praktikum III : Menggunakan JRadioButton

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

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

PERTEMUAN 6 AWT & SWING

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

GUI in Java. Presented by HCI Team Ali Ridho Barakbah Umi Sa adah Nur Rosyid Mubtada i. Supervised by Prof. Kohei Arai

Aplikasi Grafik Menggunakan Netbeans

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

Praktikum 6a Melakukan koneksi dengan basis data

Belajar Set Currency Format di TextField Java

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

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Program Data Pelanggan Toko Bandung Fashion

MODUL PRAKTIKUM KE 3 A.

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

Pengenalan APLIKASI DATABASE

Praktikum JTable. Gambar 1

Swing. suatu program. Tetapi, program Anda akan kelihatan tidak menarik dan tidak nyaman digunakan bagi para

GRAPHICAL USER INTERFACE (GUI)

A. TUJUAN PEMBELAJARAN

Dasar Perancangan Graphical User Interface

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

Membuat Aplikasi Database dengan Netbeans

MODUL X JAVA DATABASE

BAB IX. USER INTERFACE

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

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


TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

Tutorial A Menggambar Bendera Merah Putih Pada Frame

Lampiran Perhitungan ANCOVA

Membangun GUI (dengan AWT & Swing) OOP Java

BINA NUSANTARA UNIVERSITY NATA LASE

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

Modul Praktikum 7 Pemograman Berorientasi Objek

Program Kalkulator Sederhana Menggunakan Java Netbeans

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

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

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

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

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

Java Library dan Java Swing

Percobaan 7 GUI(Graphical User Interface )

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

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

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

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

1.Tujuan. 2. Latar Belakang

Lampiran 1. Kuesioner dan Hasil

Garis-garis Besar Program Pembelajaran (GBPP)

APLIKASI PENGGALI POLA STATISTIK NON-LINEAR PADA DOKUMEN TEKS UNTUK JARINGAN SYARAF TIRUAN SEMINAR NASIONAL TEKNOIN 2008

Modul Praktikum 8 Pemograman Berorientasi Objek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

3. Atur agar Layout dari FormDataMahasiswa menjadi BorderLayout

- Menuliskan business logic dari aplikasi untuk mengakses data source

Beberapa Contoh Penggunaan Array

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

Jobsheet 16 String dan Collection (List, Set, Map)

Transkripsi:

Materi 3 Pemrograman Visual Pada materi ini akan dipelajari tentang layouting, terutama 1. BorderLayout 2. FlowLayout 3. GridLayout Sesi Materi Pada saat membuat aplikasi GUI menggunakan bahasa pemrograman Java, pengaturan letak merupakan hal yang dipengaruhi oleh kode. Pada materi pertama telah diketahui bahwa keterurutan penambahan sebuah komponen pada panel akan berpengaruh pada GUI yang dihasilkan. Selain itu, secara default, peletakan GUI akan selalu bertambah ke kanan ketika menggunakan komponen JPanel. Permasalahan terjadi ketika peletakan harus dimodifikasi. Ketika ada sebuah GUI yang menampilkan hal seperti gambar di bawah ini. Hal di atas dimungkinkan untuk diciptakan menggunakan Java. Hanya saja hal ini harus dilakukan dengan bantuan dari layout container. Secara default, setiap container (JFrame atau JPanel) memiliki 1

layout default ketika layout tidak ditentukan secara eksplisit. Layout default bagi JFrame adalah BorderLayout, sedangkan bagi JPanel adalah FlowLayout (lihat modul praktikum bagian layout). BorderLayout memiliki sifat untuk membagi peletakan komponen pada 5 area (lihat gambar). Keempat area (selain CENTER) tersebut juga memiliki peletakan nama sesuai arah angin (NORTH, WEST, EAST, SOUTH). Contoh kode dapat dilihat di modul praktikum. FlowLayout memiliki sifat untuk selalu meletakkan komponen di sebelah kanan komponen lain tergantung urutan penambahan komponen tersebut. FlowLayout memiliki 3 alignment yaitu: CENTER (rata tengah), LEADING (rata kiri), dan TRAILING (rata kanan). Contoh kode dapat dilihat di modul praktikum. Gambar 1: FlowLayout Rata Tengah Gambar 2: FlowLayout Rata Kiri 2

Gambar 3: FlowLayout Rata Kanan GridLayout merupakan layout yang membagi peletakan komponen ke dalam grid tertentu. Setiap komponen mengisi tepat 1 grid saja. Terdapat beberapa property dari GridLayout seperti pengaturan jarak antar komponen secara vertical/horizontal, dan fungsi set nilai baris ataupun kolom. Hal ini dapat dilihat di modul praktikum. Studi Kasus Buatlah GUI seperti keterangan berikut: Langkah pertama yang harus dikerjakan untuk membuat GUI di atas, yaitu mendata komponen swing yang digunakan. Berdasarkan gambar di atas didapat keterangan bahwa komponen yang digunakan yaitu: 1. 1 JFrame 2. 1 JPanel untuk peletakan semuanya (GridLayout) 3. 1 JPanel (FlowLayout pastikan rata tengah) 4. 1 JPanel (BorderLayout) 5. 3 JLabel 6. 1 JTextField 7. 2 JRadioButton 3

8. 1 JTable yang terletak di bagian SOUTH dari BorderLayout 9. 1 JScrollPane untuk melengkapi JTable 10. 1 DefaultTableModel untuk melengkapi JTable Sehingga, dapat dikodekan sebagai berikut: import java.awt.borderlayout; import java.awt.flowlayout; import java.awt.gridlayout; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jradiobutton; import javax.swing.jscrollpane; import javax.swing.jtable; import javax.swing.jtextfield; import javax.swing.table.defaulttablemodel; public class NewClass extends JFrame{ JPanel paneldasar, paneltengah, panelbawah; GridLayout gl; BorderLayout bl; FlowLayout fl; JLabel labelnama, labelgender; JTextField teksnama; JRadioButton radiopria, radiowanita; JTable tabel; JScrollPane panelscroll; DefaultTableModel model; Bentuk objek masing-masing komponen dalam sebuah method untuk mengatur kemunculan GUI. public void aturgui(){ paneldasar = new JPanel(); paneltengah = new JPanel(); panelbawah = new JPanel(); //GridLayout untuk panel dasar sebanyak 3 baris 1 kolom gl = new GridLayout(3,1); paneldasar.setlayout(gl); //FlowLayout untuk panel tengah dengan rata tengah fl = new FlowLayout(); fl.setalignment(flowlayout.center); paneltengah.setlayout(fl); //BorderLayout untuk panel bawah bl = new BorderLayout(); panelbawah.setlayout(bl); 4

//bentuk objek komponen lainnya kecuali JTable labeljudul = new JLabel("Formulir Biodata"); labelnama = new JLabel("Nama"); labelgender = new JLabel("Gender"); teksnama = new JTextField(10); radiopria = new JRadioButton("Pria"); radiowanita = new JRadioButton("Wanita"); //bentuk objek JTable beserta datanya model = new DefaultTableModel(); model.addcolumn("nama"); model.addcolumn("gender"); Object[] o1 = {"Tania","Wanita"; Object[] o2 = {"Ale","Pria"; model.addrow(o1); model.addrow(o2); tabel = new JTable(); tabel.setmodel(model); panelscroll = new JScrollPane(tabel); Atur kemunculan satu komponen ke komponen lainnya dengan method add. Tambahkan hal ini pada method aturgui(). public void aturgui(){ paneldasar = new JPanel(); paneltengah = new JPanel(); panelbawah = new JPanel(); //GridLayout untuk panel dasar sebanyak 3 baris 1 kolom gl = new GridLayout(3,1); paneldasar.setlayout(gl); //FlowLayout untuk panel tengah dengan rata tengah fl = new FlowLayout(); fl.setalignment(flowlayout.center); paneltengah.setlayout(fl); //BorderLayout untuk panel bawah bl = new BorderLayout(); panelbawah.setlayout(bl); //bentuk objek komponen lainnya kecuali JTable labeljudul = new JLabel("Formulir Biodata"); labelnama = new JLabel("Nama"); labelgender = new JLabel("Gender"); teksnama = new JTextField(10); radiopria = new JRadioButton("Pria"); radiowanita = new JRadioButton("Wanita"); //bentuk objek JTable beserta datanya 5

model = new DefaultTableModel(); model.addcolumn("nama"); model.addcolumn("gender"); Object[] o1 = {"Tania","Wanita"; Object[] o2 = {"Ale","Pria"; model.addrow(o1); model.addrow(o2); tabel = new JTable(); tabel.setmodel(model); panelscroll = new JScrollPane(tabel); //menambahkan komponen panel tengah paneltengah.add(labelnama); paneltengah.add(teksnama); paneltengah.add(labelgender); paneltengah.add(radiopria); paneltengah.add(radiowanita); //menambahkan komponen panel bawah panelbawah.add(panelscroll,borderlayout.south); //menambahkan komponen panel ke panel dasar paneldasar.add(labeljudul); paneldasar.add(paneltengah); paneldasar.add(panelbawah); this.add(paneldasar); Atur kemunculan frame pada public static void main(string args) public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); Kode Lengkap: import java.awt.borderlayout; import java.awt.flowlayout; import java.awt.gridlayout; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jradiobutton; import javax.swing.jscrollpane; import javax.swing.jtable; import javax.swing.jtextfield; 6

import javax.swing.table.defaulttablemodel; public class NewClass extends JFrame { JPanel paneldasar, paneltengah, panelbawah; GridLayout gl; BorderLayout bl; FlowLayout fl; JLabel labelnama, labelgender, labeljudul; JTextField teksnama; JRadioButton radiopria, radiowanita; JTable tabel; JScrollPane panelscroll; DefaultTableModel model; public void aturgui() { paneldasar = new JPanel(); paneltengah = new JPanel(); panelbawah = new JPanel(); //GridLayout untuk panel dasar sebanyak 3 baris 1 kolom gl = new GridLayout(3, 1); paneldasar.setlayout(gl); //FlowLayout untuk panel tengah dengan rata tengah fl = new FlowLayout(); fl.setalignment(flowlayout.center); paneltengah.setlayout(fl); //BorderLayout untuk panel bawah bl = new BorderLayout(); panelbawah.setlayout(bl); //bentuk objek komponen lainnya kecuali JTable labeljudul = new JLabel("Formulir Biodata"); labelnama = new JLabel("Nama"); labelgender = new JLabel("Gender"); teksnama = new JTextField(10); radiopria = new JRadioButton("Pria"); radiowanita = new JRadioButton("Wanita"); //bentuk objek JTable beserta datanya model = new DefaultTableModel(); model.addcolumn("nama"); model.addcolumn("gender"); Object[] o1 = {"Tania", "Wanita"; Object[] o2 = {"Ale", "Pria"; model.addrow(o1); model.addrow(o2); tabel = new JTable(); tabel.setmodel(model); panelscroll = new JScrollPane(tabel); //menambahkan komponen panel tengah paneltengah.add(labelnama); paneltengah.add(teksnama); paneltengah.add(labelgender); paneltengah.add(radiopria); paneltengah.add(radiowanita); //menambahkan komponen panel bawah panelbawah.add(panelscroll,borderlayout.north); 7

//menambahkan komponen panel ke panel dasar paneldasar.add(labeljudul); paneldasar.add(paneltengah); paneldasar.add(panelbawah); this.add(paneldasar); public static void main(string[] args) { NewClass fr = new NewClass(); fr.aturgui(); fr.setdefaultcloseoperation(3); fr.pack(); fr.setlocationrelativeto(null); fr.setvisible(true); Hasil 8

Try-it Yourself 1. Perhatikan bahwa tabel tidak muncul di bagian panel bawah. Ubah peletakan objek JscrollPane ke bagian NORTH/CENTER, lalu perhatikan apa yang terjadi. 2. Perhatikan bahwa kemunculan tulisan di bagian judul berada di sebelah kiri. Apa yang harus dilakukan jika tulisan ingin memiliki rata kiri atau rata kanan? Ubahlah kodenya. 3. Perhatikan bahwa radio button masih dapat dipilih lebih dari 1 dalam waktu yang bersamaan. Apa yang harus dilakukan agar hal ini tidak terjadi? Ubahlah kode sehingga hanya 1 radio button yang dapat terpilih pada 1 waktu. 9