MAKALAH PRAKTIKUM OBJECT ORIENTED PROGRAMMING JAVA GUI SWING Kelompok 4 : M.Fadli Rozak ( 140101748 ) Khairul Nizam ( 14101749 ) Muhammad Saefuddin ( 14101097 ) Ahmad Muzayyin Arifin ( 14101098 ) I Nyoman Yuda Prawira ( 14101233 ) Putu Ari Deva Diputra ( 14101436 ) STMIK STIKOM INDONESIA KATA PENGANTAR Segala puji bagi Tuhan yang telah menolong hamba-Nya menyelesaikan tugas ini dengan penuh kemudahan. Tanpa pertolongan Dia mungkin penyusun tidak akan sanggup menyelesaikan dengan baik.Tugas ini disusun agar pembaca dapat memperluas ilmu pengetahuan mengenai “JAVA in GUI ”. Makalah ini di susun oleh penyusun dengan berbagai rintangan. Baik itu yang datang dari diri penyusun maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama pertolongan dari Tuhan akhirnya makalah ini dapat terselesaikan.dan terima kasih kepada Bapak Dosen yang telah membimbing kami. DAFTAR ISI COVER .......................................................................................................................... KATA PENGANTAR ................................................................................................... DAFTAR ISI .................................................................................................................. Bab I : PENDAHULUAN ............................................................................................. Java Foundation Class......................................................................................... Bab II : PEMBAHASAN Pengertian Java Swing ....................................................................................... Komponen Swing ............................................................................................... Fitur pada Swing ................................................................................................ Container dengan Kegunaan Umum ( General Purpose ) .................................. Container dengan Kegunaan Khusus ( Special Purpose ) .................................. Basic Control ...................................................................................................... Pendeklarasian Variabel pada Program ............................................................. Source Code pada Program ................................................................................ Bab III : KESIMPULAN ................................................................................................ DAFTAR ISI ..................................................................................................... BAB I PENDAHULUAN Swing adalah kit Java kedua setelah AWT untuk mendevelop GUI yg dikeluarkan oleh SUN/Oracle. Dibangun di atas AWT (Abstract Windowing Toolkit) package (merupakan pengembangan dari AWT). GUI didevelop menggunakan berbagai component yang diorganisasikan oleh container, Component Swing berinteraksi dengan user menggunakan sebuah model event listener.AWT adalah sekumpulan library yang tidak tergantung pada platform serta digunakan untuk menyederhanakan implementasi user interface. JFC singkatan dari Java Foundation Classes, yang terdiri atas fitur/fasilitas untuk membantu membuat GUI (Graphical User Interfaces) dan bisa menerima input user dari input devices Fitur-fitur dalam JFC adalah: Komponen-komponen Swing Pluggable Look and Feel Support API (Application Programmer Interface) yg dapat diakses Java 2D™ API Men-support Drag and Drop JAVA FOUNDATION CLASS AWT - toolkit GUI yg asli Swing – toolkit GUI yg baru Accessibility – tool untuk mendevelop, membantu user yg tertantang dg User Interface yg tradisional 2D API – class-class untuk penggunaan yang lebih kompleks dari painting, shape, colour, dan fonts Drag and Drop – tool untuk mengimplementasikan transfer information antara aplikasi Java dan native applications BAB II PEMBAHASAN Pengertian Java Swing Java Swing adalah library java yang digunakan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality. Komponen Swing Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane. Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class. Dalam ranah antarmuka pengguna, komponen merupakan bagian fundamental di Java. Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu komponen misalnya window, menu, dan button. Di sisi lain, container adalah jenis komponen yang “menampung” dan mengelola komponenkomponen lainnya. Idealnya, suatu komponen harus diletakkan di sebuah container agar ia dapat digunakan. Secara umum ada lima bagian dari Swing yang akan sering kita gunakan. Komponen atau bagian – bagian itu adalah: 1. Top-level Container, merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet. 2. Intermediate Container, merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel. 3. Atomic Component, merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea. 4. Layout Manager, berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout. 5. Event Handling, untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain. Features pada Swing diantaranya: 1. Swing GUI Component Swing Toolkit memiliki beragam komponen GUI, mulai dari komponen sederhana (button, check boxes) hingga komponent komplex seperti tabel dan text. Anda pun dapat membuat komponen anda sendiri. 2. Java 2D API Dengan Java 2D API , kita dapat dengan mudah menambahkan images, drop shadow, dan lain lain kedalam aplikasi GUI kita. 3. Pluggable Look and Feel Support Setiap program yang menggunakan Swing Component, dapat diubah tampilannya. Banyak sekali pilihan tampilan yang nantinya dapat kita gunakan dalam pembuatan GUI ini. 4. Data Transfer Anda dapat menerapkan Data Transfer (Copy, Paste, Drag and Drop pada Swing) 5. Internationalization Dengan adanya Internationalization, developer dapat membuat software sesuai dengan bahasa negaranya sendiri-sendiri, juga mensupport character dari berbagai negara seperti Japanese, Chinese, Korean. 6. Undo Framework API Dengan Swing Undo Framework, maka developer dapat menggunakan undo dan redo seperti pada text component. Java Swing mensupport unlimited undo dan redo. 7. Flexible Deployment Support Swing dapat dideploy ke dalam Applet yang dijalankan via browser. Dapat juga dideploy ke dalam standalone application dengan Java Web Start sebagai Standard Destop Application. Container dengan kegunaan umum (General-Purpose) Panel—yang paling fleksibel dan paling sering dipakai. Biasa digunakan untuk mengelompokkan komponen-komponen. Scroll pane—menyediakan scroll bar di sekeliling perubahan ukuran komponen. Split pane—menampilkan dua komponen dalam ruang yang tetap, memungkinkan user untuk menentukan ukuran ruang yang dipilih untuk setiap komponen. Tabbed pane—berisi banyak komponen yang namun hanya satu yang ditampilkan pada satu waktu. User bisa berpindah dengan cara men-switch berbagai komponen tersebut. Tool bar—Mengorganisasikan sekelompok komponen (biasanya button) dalam sebuah baris atau kolom. Secara opsional membolehkan user untuk melakukan drag untuk memindah tool bar tersebut ke lokasi yang berbeda Container dengan kegunaan khusus (Special-Purpose) Berupa container Intermediate yang memainkan peran khusus dalam user interface. Internal frame— Mampu menampilkan tampilan yang mirip dengan sebuah Frame seperti window di dalam window yang lain. Biasanya, internal frame ditambahkan ke dalam sebuah desktop pane. Layered frame—Menyediakan tiga lapis dimensi untuk memposisikan komponen: kedalaman, juga disebut sebagai Z order. Root pane—Memiliki 4 bagian : glass pane, layered pane, content pane, dan menu bar (opsional). Basic Controls Komponen atomik yang eksis, terutama untuk menerima input dari user; umumnya juga menyatakan state sederhana. Buttons—bentuknya bisa kotak atau bundar Combo Box—baik yang tidak bisa diedit ataupun yang bisa. List—Memberi user sekumpulan item, ditampilkan dalam sebuah kolom untuk dipilih Menu—Merupakan upaya untuk menghemat ruang; memungkinkan user untuk memilih dari beberapa pilihan. Slider—memungkinkan user untuk memasukkan sebuah nilai numerik yang dibatasi oleh nilai minimum dan maksmum. Text Fields—Kontrol teks dasar yang memungkinkan user memasukkan sejumlah teks. Pendeklarasian variabel pada program : public class Swing extends javax.swing.JFrame { private String Nama,Nim,JenisKelamin,Hoby,Info,Jurusan,Semester; } Source Code Pada Button Tampilan : private void btnTampilActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Nama=txtNama.getText(); Nim=txtNim.getText(); if (cbHoby1.isSelected()) Hoby = "Coding"; if (cbHoby2.isSelected()) Hoby = "Tidur"; if (cbHoby3.isSelected()) Hoby = "Makan"; if (rdJenisKelamin1.isSelected()) JenisKelamin = "Laki-Laki"; else JenisKelamin ="Perempuan"; Jurusan =listJurusan.getSelectedValue().toString(); Semester =comSemester.getSelectedItem().toString(); Info="Nama: "+Nama+ "\n"; Info+="Nim: "+Nim+ "\n"; Info+="Jenis Kelamin: "+JenisKelamin+ "\n"; Info+="Hoby: "+Hoby+ "\n"; Info+="Jurusan: "+Jurusan+ "\n"; Info+="Semester: "+Semester+ "\n"; hasil.setText(Info); JOptionPane.showMessageDialog(null,Info); } Source code Pada Button Hapus private void btnBersihActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: txtNama.setText(""); txtNim.setText(""); rdJenisKelamin1.setSelected(false); rdJenisKelamin2.setSelected(false); cbHoby1.setSelected(false); cbHoby2.setSelected(false); cbHoby3.setSelected(false); hasil.setText(""); } Berikut ini hasil tampilan setelah program di Running : BAB III KESIMPULAN Jadi GUI sangat jelas kaitanya dengan kegiatan penggunaan suatu aplikasi dalam komputer yang sering digunakan. Dalam hal ini, GUI mempermudah user dalam penggunaannya, dengan tampilan yang friendly seta ergonomis, user dengan mudah dapat menyesuaikan aplikasi-aplikasi karena GUI membantu didalam interface yang dapat dipahami penggunaannya. Sehingga antara user dan sistem, tidak terjadi misscommuncation dalam menerapkan sistem komputerisasi. DAFTAR PUSTAKA http://nefisigulo.blogspot.co.id/2013/01/pengertian-java-swing.html http://kikysiebeo.blogspot.co.id/p/swing-pada-pemrograman-java_11.html https://fannyadindas.wordpress.com/2012/10/31/pengertian-swing-dalam-java/ https://didiindra.wordpress.com/tag/pengertian-java/