Minggu, 04 Desember 2011

Pemrograman Visual

Swing dan awt merupakan package yang berguna untuk membangun aplikasi dengan Graphical User Interface (GUI). Package javax.swing.* berisi class-class yang dapat dipakai untuk membangun tampilan aplikasi serta interaksi antara pengguna dengan program. Secara arsitektur, Swing dibangun di atas arsitektur Abstract Window Toolkit (AWT).  AWT merupakan package GUI yang sudah lebih dulu dikembangkan oleh Sun Microsystems. AWT mempunyai banyak kekurangan sehingga diperbaiki dengan adanya Swing. Package AWT berada dalam java.awt.*.
Struktur Class

MVC 

Swing menerapkan sistem interaksi menggunakan MVC (Model View Controller).
Model, merupakan representasi data pada aplikasi.
Control, menggunakan interaksi user untuk melakukan manipulasi pada model.
View, memberikan tampilan output dan input.
Model MVC diterapkan dalam Swing dapat diilustrasikan sebagai berikut.

Model MVC
Class Turunan pada Java

Membuat Komponen GUI

Frames

public class ismi extends JFrame {
public ismi () {
setTitle ("PIS 10-03");
setSize (250,200);
setDefaultCloseOperation (EXIT_ON_C:OSE);
setVisible (true);
setLocationRelativeTo (null);
}
public static void main(String args[] ) {
ismi i = new ismi ();
}
}

Button
Tombol merupakan komponen GUI yang meyerupai tombol. Ketika tombol ini diklik, perintah tertentu akan dijalankan


Container
JFrame baru dapat diisi dengan komponen lebih dahulu diletakkan kontainer setelah. Kontainer merupakan komponen khusus yang berguna untuk menampung komponen GUI lainnya.

Label 
 Label merupakan komponen grafik yang dapat menampung tulisan dan/atau icon. Pembuatan label dapat dilakukan dengan konstruktor JLabel.

Text Field dan Password Field 

Text field merupakan area yang dapat menampung tulisan yang diketik pengguna program. Sedangkan password field hampir sama seperti text field, namun tulisan disembunyikan.
Text field dalam java dibuat menggunakan class JTextField dan dapat dipakai untuk tulisan dengan satu baris.

Text Area
Text area merupakan tempat pengeditan teks yang dapat menampung lebih dari satu baris.

Contoh kodingan membuat Text Area menggunakan Eclipse

Contoh Tampilan text area

Ini adalah contoh untuk membuat username dan password menggunakan eclipse. 

Contoh Kodingan menggunakan eclipse

Tampilan 1 Sebelum Tombol Login di tekan

Tampilan 2 setelah tombol login ditekan

Scroll Bar
Scroll bar dalam Java disebut juga dengan Scroll Pane. Scroll pane merupakan tombol penggulung yang dapat diletakkan secara horizontal maupun vertikal.

Radio Button dan Check Box
Radio Buttons digunakan untuk membuat satu pilihan dari sekian banyak pilihan yang tersedia. Check box dapat digunakan untuk membuat beberapa pilihan sekaligus.

Ini adalah contoh Radio Button menggunakan Eclipse 
Contoh kodingan membuat Radio Button menggunakan Eclipse


Contoh Tampilan Radio Button

Ini adalah contoh Check Box menggunakan Eclipse 

Contoh Kodingan untuk membuat Check Box Menggunakan Eclipse 
Contoh Tampilan Check Box

Combo Box
Combo box merupakan menu drop down yang digunakan untuk membuat satu pilihan dari sekian banyak pilihan yang ada.
Pembuatan tampilan combo box dilakukan dengan 2 tahap:
  • Membuat objek combo box dengan konstruktor JComboBox().
  • Menjalankan metode addItem(object) untuk menambahkan pilihan pada daftar combo box.
Contoh Kodingan Membuat combo box menggunakan eclipse

Contoh tampilan combo box

List
List merupakan daftar pilihan yang ditampilkan sekaligus. Pengguna program dapat membuat bebrapa pilihan dari daftar yang ditampilkan.
Contoh kodingan membuat list menggunakan eclipse

Contoh tampilan list

Progress Bar
Progress bar menampilkan ketika kode program di jalankan.
Contoh Tampilan Progress Bar

Slider
Slider digunakan untuk menentukan nilai dengan cara menggeser kontrol dalam rentang minimum dan maksimum yang telah ditentukan.
Secara default, slider berbentuk horizontal.

Menu
Menu dalam java disusun menggunakan tiga buah class berikut :
  •  JMenuBar, class berupa kontainer yang dapat menyimpan beberapa JMenu.
  • JMenu, menu yang didalamnya dapat menyimpan submenu (JMenuItem) ataupun menu yang lain(JMenu).
  • JMenuItem, item menu yang digunakan pada program dan diletakkan di dalam JMenu.
Ini adalah contoh membuat Menu dalam Eclipse


Contoh Kodingan menggunakan eclipse 

Tampilan Menu

Tabbed Pane
Tabbed Pane dapat dilihat sebagai tumpukan pane. Dalam satu waktu, hanya satu pane saja yang dapat ditampilkan.
Contoh Tampilan Tabbed Pane

Layout Manager 

Macam-macam Layout :
  • Flow Layout
Default layout manager untuk panel adalah java.awt.FlowLayout. Class ini menyebabkan komponen diletakkan mengalir(flow) dari kiri ke kanan. Jika ruangan sudah tidak mencukupi, komponen yang baru akan diletakkan di bagian bawahnya.
 PEngaturan komponen dalam layout dapat dilakukan dengan menentukan peralatannya (alignment) serta jarak (gap) antarkomponen.
  • Grid Layout
Mengatur komponen dengan komposisi baris dan column seperti sebuah bentuk table yang dipecah merata dengan jumlah baris dan column tertentu.
  • Card Layout 
  • Border Layout
 BorderLayout merupakan layout default untuk frame. Layout ini membagi area menjadi lima bagian : center (tengah), north (utara), south (selatan), west (barat), dan east (timur).
  • Box layout - X dan,
  • Box Layout - Y 
Tampilan jenis-jenis layout

Menampilkan Dialog Box
Dialog Box dapat dinuat menggunakan class JOption Pane. Terdapat 4 jenis dialog box dalam Java :
  • ConfirmDialog, konfirmasi kepada pengguna program tentang sesuatu.
  • InputDialog, meminta masukan untuk diolah.
  • MessageDialog, menampilkan pesan kepada pengguna.
  • OptionDialog, campuran dari ketiga jenis dialog lainnya. 
Contoh kodingan untuk membuat option pane menggunakan eclipse

Contoh tampilan option pane

Event Handling
Event merupakan peristiwa yang terjadi pada GUI. Misalnya ada tombol yang ditekan oleh pengguna program. Pada saaat itu juga, event akan muncul. Aplikasi dapat diprogram untuk merespon suatu event dengan tindakan yang diperlukan.
Event handling dalam Swing melibatkan tiga objek utama yaitu :
  • Source object, komponen user interface yang menghasilkan objek event.
  • Event object, objek yang muncul ketika pengguna program melakukan sesuatu terhadap user interface.
  • Listener object (Listener Interface), objek yang mampu mendeteksi terjadinya suatu Event dan melakukan sesuatu untuk merespon event tersebut.
Jenis-jenis Event
Tidak semua event sama, tetapi ada jenis-jenisnya, contoh event untuk gerakan mouse, klik mouse, keyboard, jendela aplikasi, dan lain-lain. Tiap event harus ditangani oleh objek listener yang sesuai.

Contoh Action Listener

Contoh Mouse Listener

Event Adapter
Event Adapter bertujuan untuk mengatasi penulisan kode event agar lebih cepat dan mudah. Ketika kita mendefinisikan bahwa suatu class mengimplementasikan interface Listener, maka semua metode dalam interface tersebut harus dituliskan.

Ini adalah contoh kodingan untuk membuat biodata mahasiswa :



Contoh kodingan untuk membuat Biodata menggunakan Eclipse

Contoh Tampilan Biodata
Ini adalah kodingan untuk koneksi ke database Oracle menggunakan Eclipse :



Contoh Kodingan Koneksi ke Database Oracle menggunakan Eclipse   
Kesan selama mengikuti kuliah Pemrograman Visual :
Pemrograman Visual adalah salah satu mata kuliah yang saya dapatkan di semester 3.. Saya senang selama belajar pemrograman visual karena saya dapat mengetahui lebih banyak lagi apa itu pemrograman berbasis java. Saya dapat membuat berbagi macam program menggunakan bahasa pemrograman java dengan menggunakan software Eclipse.. Insya allah nantinya semua ilmu yang saya dapatkan dalam belajar pemrograman visual ini akan saya manfaatkan dengan sebaik-baiknya... Aminn :))

Kesan selama kuliah di Politeknik Telkom : 
Saya sudah hampir 2 tahun kuliah di Politeknik Telkom. Selama saya kuliah di Politeknik Telkom banyak sekali ilmu dan pengalaman yang saya dapatkan. Insya allah ilmu yang saya dapatkan ini nantinya akan berguna bagi saya dalam melanjutkan perkuliahan selanjutnya (S1) dan di dunia kerja saya... Aminn :))
Terima kasih untuk semua dosen-dosen yang sudah mengajar saya, selama saya kuliah di Politeknik Telkom..... ^_^