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

dokumen-dokumen yang mirip
4.1 WARNA Ketika objek geometri dibangun, objek tersebut dapat digambar dengan method fill(shape) atau

BasicStroke(float width, int cap, int join, float miterlimit)

BAB 2 DASAR-DASAR GRAFIK 2D

Graphics2D dan Geometry

Materi : GUI AWT & SWING.

Dasar Perancangan Graphical User Interface

Membuat Menu Login Sederhana [Full Coding]

BAB IX. USER INTERFACE

Fajar Yusran Zebua DASAR ANIMASI

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

GUI & Event Handling. Viska Mutiawani, M.Sc

DIK-020 Pemograman Berorientasi Objek 5/24/2012

PENGENALAN JAVA GUI PROGRAMMING

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

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

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

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

KASUS INHERITANCE. (Window, Multithreading dan Applet)

Bab Tujuan. 8.2 Delegation Event Model

GUI Event Handling 1

AWT (ABSTRACT WINDOWS TOOLKITS)

Slide 6: Writing Classes

PAKET (PACKAGE) 20 Januari 2012

Materi 5 Pemrograman Visual

Dwiny Meidelfi, M.Cs

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

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

GUI (Grapichal User Interface)

1.Tujuan. 2. Latar Belakang

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Modul 08. User Interface 01

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

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

Modul Praktikum 8 Pemograman Berorientasi Objek

A. TUJUAN PEMBELAJARAN

Tutorial A Menggambar Bendera Merah Putih Pada Frame

Pemograman Swing. Netbeans:

Modul 8: awt. Setelah mengikuti mata kuliah ini mahasiswa dapat membuat program sederhana dalam lingkungan window. Modul 8 - awt 1

Aplikasi Grafik Menggunakan Netbeans

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

Grafis & Applet. Viska Mutiawani, M.Sc

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

GRAPHICAL USER INTERFACE (GUI)

Pemrograman dengan Java

A. TUJUAN PEMBELAJARAN

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

Percobaan 7 GUI(Graphical User Interface )

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Anonymous Inner Class

Membangun GUI (dengan AWT & Swing) OOP Java

INSTRUKSI PENCABANGAN

BINA NUSANTARA UNIVERSITY NATA LASE

Modul 9: antarmuka grafis (GUI) dalam window

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional


FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

PEMROGRAMAN BERORIENTASI OBJEK

A. TUJUAN PEMBELAJARAN

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

MODUL PRAKTIKUM KE 3 A.

2. Software yang dibutuhkan Untuk membuat sebuah program java, minimal yang dibutuhkan adalah:

P 5 Bab 4 : GUI (Graphical User Interface) 4.1 Tujuan. 4.2 Materi. 4.3 Review OOP. : Suzuki, Ferari, Toyota, Honda, Jaguar

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

Modul Praktikum 1 Pemograman Berorientasi Objek

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

Pemrograman Java III

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

BONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal

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

MODUL 7 - EXCEPTION HANDLING

Pengenalan Program Java

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pengantar Pemrograman dengan Bahasa Java

Pengantar Pemrograman dengan Bahasa Java

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

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

APLIKASI KALKULATOR BALOK BERBASIS JAVA

BAHASA PEMROGRAMAN JAVA

LAPORAN TUGAS AKHIR APLIKASI KALKULATOR BERBASIS JAVA

Francisco Silvano

Pemrograman Java III

Modul Praktikum 7 Pemograman Berorientasi Objek

Pendahuluan Dasar Pemrograman Java

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

INSTALL JAVA. 2. Kemudian akan muncul tampilan dalam bentuk rar. Klik ganda pada jdk-7u45-windows- i586.exe, seperti gambar berikut :

PERTEMUAN 3 OBJEK DAN CLASS

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

Perkenalan PBO (Java)

TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

Pemrograman Berorientasi Obyek. Ramos Somya

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

MEMBUAT APLIKASI ZODIAK SEDERHANA DENGAN JAVA BY : INDRA

Pemrograman Java III

BAB 3 Mengenali Lingkup Pemrograman Anda

Transkripsi:

BAB I PENDAHULUAN 1.1. Bahasa Pemrograman Java Java memiliki dua fasilitas untuk pemrograman GUI: AWT dan Swing. Versi awal Java memberikan dukungan grafik yang terbatas. Hanya fitur-fitur grafik minimal yang telah dimasukkan dalam JDK 1.x. Dukungan Antarmuka Grafis (GUI) dan fitur untuk menggambar grafis telah disediakan dalam paket Abstract Window Toolkit (AWT). Komponen GUI dalam AWT sangat berat dimapkan ke dalam komponen native sistem operasi. Disamping sekumpulan fiturnya yang sederhana untuk membuat elemen-elemen GUI, AWT memberikan kemampuan untuk mengatur atribut rendering, seperti menggambar dengan warna dan menggambar grafik sederhana, misalnya garis, persegipanjang, dan oval. Juga ada beberapa dukungan untuk gambar (image). Tetapi, fitur-fitur ini terbatas. Contohnya, tidak ada cara untuk mengatur tebal dari garis yang digambar. Karena keterbatasannya, Java versi awal tidak menyediakan dukungan yang cukup untuk pemrograman grafika komputer modern. Paket Swing adalah desain ulang pemrograman GUI termasuk API dalam platform Java 2. Kebanyakan komponen Swing tidak berat tidak diimplementasikan sebagai komponen asal. Dukungan grafis dalam Java 2 juga lebih ditingkatkan lagi. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*; public class AWTDemo extends Frame implements ActionListener{ int x = 100; int y = 100; public static void main(string[] args) { Frame frame = new AWTDemo(); frame.setsize(640, 480); frame.setvisible(true); public AWTDemo() { settitle("awt Demo"); // create menu MenuBar mb = new MenuBar(); setmenubar(mb); Menu menu = new Menu("File");

mb.add(menu); MenuItem mi = new MenuItem("Exit"); mi.addactionlistener(this); menu.add(mi); // end program when window is closed WindowListener l = new WindowAdapter() { public void windowclosing(windowevent ev) { System.exit(0); ; this.addwindowlistener(l); // mouse event handler MouseListener mouselistener = new MouseAdapter() { public void mouseclicked(mouseevent ev) { x = ev.getx(); y = ev.gety(); repaint(); ; addmouselistener(mouselistener); public void paint(graphics g) { g.drawoval(x-50, y-50, 100, 100); public void actionperformed(actionevent ev) { String command = ev.getactioncommand(); if ("Exit".equals(command)) { System.exit(0); Ketik kode Java di atas, kemudian compile dan jalankan. Apa yang dihasilkan oleh program tersebut? Program tersebut adalah sebuah aplkasi GUI menggunakan AWT. Program itu mempunyai sebuah jendela (window) utama dengan sebuah menu dan sebuah lingkaran. Menunya hanya berisi sebuah item, Exit,

yang digunakan untuk menutup jendela (window) ketika dipilih. Penggambaran grafik merespon hasil klik mouse dengan menggambar objek pada lokasi mouse ketika di-klik. Kelas AWTDemo didefinisikan menjadi sebuah subkelas Frame (Bingkai). Kelas tersebut mendefinisikan windows (jendela) program utama. Menu dalam frame (bingkai) dibuat dengan objek dari Kelas MenuBar, Menu, dan MenuItem. Kelas AWTDemo mengimplementasikan interface ActionListener untuk memproses ActionEvent yang dibangkitkan oleh pilihan menu. Method actionperformed yang didefinisikan dalam interface adalah kendali (handler) untuk kejadian (event). Ketika item menu Exit dipilih, program keluar dengan memanggil method System.exit(0). Dua pengendali kejadian (event handler) lainnya didefinisikan dalam konstruktor kelas AWTDemo. Sebuah WindowListener didefinisikan sebagai sebuah kelas anonim dari WindowAdapter. Kelas ini akan menjalankan method windowclosing untuk menghentikan program ketika menerima kejadian (event) penutupan (closing) untuk jendela (window). Listener lainnya adalah sebuah MouseListener, diturunkan dari kelas MouseAdapter. Methode mouseclicked digunakan untuk menangani kejadian klik-mouse (event mouse-click). Dalam method mouseclicked, lokasi mouse-nya disimpan kedalam variabel x dan y, dan sebuah panggilan terhadap method repaint dibuat untuk penggambaran kembali dan memindahkan objek ke lokasi yang baru. Method paint menggambar sebuah lingkaran beradius 50 dengan method drawoval dalam objek Graphics. Titik tengah lingkaran ditentukan dengan variabel x dan y. Method utama (main method) membuat dan menampilkan sebuah instance AWTDemo. Bingkainya (frame) ditentukan dengan ukuran 640 x 480. Java 2D Platform Java memberikan sekumpulan API (application programming interface) yang komprehensif. Java API mencakup pekerjaan dan aplikasi yang luas: I/O file, grafika, multimedia, database, jaringan, keamanan, dan sebagainya. Java 2 membawa kemajuan yang signifikan dalam kemampuan grafik dengan memperkenalkan Swing dan API Java 2D dan 3D. API yang didesain dengan baik memberikan dukungan komprehensif untuk grafika komputer. Bersama-sama dengan keuntungan unik yang dapat diperoleh dari bahasa pemrograman Java, mereka telah mengkombinasikan Java dengan Java 2D dan 3D; sebuah pilihan yang sangat baik untuk pemrograman grafika dan belajar grafika komputer. Di bawah ini sebuah contoh yang mendemonstrasikan fitur grafika Java 2D. Kode dalam demo ini menggunakan kemampuan Java 2D seperti, transparansi, pewarnaan gradien, transformasi, dan pemilihan jenis huruf yang tidak tersedia dalam Java AWT. Untuk mencoba kemampuan Java 2D di komputer Anda lakukan tahapan-tahapan berikut: 1. Ketika listing kode berikut. 2. Compile listing kode yang sudah Anda ketikkan

3. Jalankan file dari hasil peng-compile-an tersebut. 4. Tampilan apa yang dihasilkan oleh program tersebut? Kode Java 2.1 Demo2D.java /* Demo kemampuan Java 2D Gunakan perintah: javac Demo2D, untuk meng-compile file ini Kemudian jalankan file hasil peng-compile-an dengan perintah java Demo2D */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.font.*; import java.awt.geom.*; public class Demo2D extends JApplet { public static void main(string s[]) { JFrame frame = new JFrame(); frame.settitle("java 2D Demo"); frame.setdefaultcloseoperation(jframe.exit_on_close); JApplet applet = new Demo2D(); applet.init(); frame.getcontentpane().add(applet); frame.pack(); frame.setvisible(true); public void init() { JPanel panel = new Panel2D(); getcontentpane().add(panel); class Panel2D extends JPanel{ public Panel2D() { setpreferredsize(new Dimension(500, 400)); setbackground(color.white);

public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2 = (Graphics2D)g; // draw an ellipse Shape ellipse = new Ellipse2D.Double(150, 100, 200, 200); GradientPaint paint = new GradientPaint(100,100, Color.white, 400, 400, Color.gray); g2.setpaint(paint); g2.fill(ellipse); // set transparency AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f); g2.setcomposite(ac); g2.setcolor(color.blue); // draw transparent text Font font = new Font("Serif", Font.BOLD, 120); g2.setfont(font); g2.drawstring("java", 120, 200); // get outline of text glyph FontRenderContext frc = g2.getfontrendercontext(); GlyphVector gv = font.createglyphvector(frc, "2D"); Shape glyph = gv.getoutline(150,300); // draw rotated glyph g2.rotate(math.pi/6, 200, 300); g2.fill(glyph); Nama kelas komponen Swing secara khusus mempunyai awalan J. Kelas Panel2D extends kelas JPanel dan overrides method paintcomponent. Parameter Grafik dalam method adalah cast to Graphics2D untuk mengambil manfaat fungsi yang dikembangkan dalam Java 2D. Sebuah lingkaran digambar dengan warna gradien yang merubah warnanya berdasarkan lokasi. Kemudian composite rule diatur untuk mencapai derajat transparansi. Huruf glyph untuk string text 2D diambil dan garis tepinya

(outline) digunakan sebagai bentuk geometri. Bentuk string 2D diputar 30 derajat (p/6). Program Java sering dapat ditulis sebagai applet atau aplikasi. Program di atas sebuah contoh program dual purpose. Kelas Demo2D adalah subkelas dari JApplet dan dapat dijalankan sebagai applet. Tetapi, dalam program ini juga terdapat method utama (main method) sehingga juga dapat dijalankan sebagai aplikasi. Method utama (main method) membuat sebuah instance Jframe dan menambah sebuah instance Demo2D ke bingkai (frame). Hasil dari program aplikasi dan aplet hampir mirip.