Selasa, 07 Februari 2012

Dasar-dasar GUI


TUTORIAL DASAR PEMROGRAMAN JAVA BERBASIS GUI MENGGUNAKAN NETBEANS

MAri kita belajar dasar dasar netbeans
Tutorial ini sengaja disediakan BENAR-BENAR UNTUK PEMULA

1. INSTALASI NETBEANS
Untuk menginstall Netbeans Anda harus punya DVD nya yang bisa didapat dengan Cuma-Cuma dari NetBeans.org (tergantung keberuntungan) tinggal dipesan aja via Internet lalu Anda akan menerima DVDnya langsung ke tangan Anda dalam sekejab (nunggu

beberapa hari/gak sampe berminggu-minggu), lebih gampang 1agi Anda silahkan unduh dari netbeans.org hanya beberapa menit kalau kamu punya bandwith Internet Connection yang tinggi. Setelah Anda punya package nya silahkan install aja sendiri, boleh juga ditemani pacar, paman, engkong, papi, mami, atu siapa aja deh yg penting lancar dan bisa
he……………….he………….

Sebagai catatan, dalam tutorial ini penulis menggunakan NetBeans IDE 6.0 dan JDK 1.6 yang sudah terintegrasi langsung pada netbeans, Sistem Operasi Windows XP SP2 (comment: ternyata penulis masih doyan produk microsoft: sekarang ini sedang migrasi ke Linux: Ubuntu, sedang dicoba, Slackware12 pernah dicoba agak payah bagi pemula, OpenSuse lumayan enak dengan Yast nya. Kini juga sedang mencoba FreeBSD dan Solaris… masih coba-coba terus)

2. MEMULAI NETBEANS
Yang pasti kalo kamu pake SO dari keluarga Microsoft, ada shortcut nya di desktop kamu, ya tinggal di double click aja terus nunggu sambil minum coffeemix

3. MEMBUAT PROJECT BARU
Nih stepnya, ikuti saja (bahasanya/kalimatnya akag aneh, maklum….):
- Pilih File
- New Project
javagui01.jpg
- Pada Category: pilih Java
- Pada Projects: pilih Java Application
- Kemudian Click tombol Next

javagui02.jpg

- Pada Project Name: ketik nama project misalnya prjPaletteButton
- Pada Project Locaton: click Browse untuk memilih folder diaman Anda akan menyimpan project
- Checklist pada Set as Main Project
- Checklist juga apda Create Main Class
- Kemudian click Finish, maka hasilnya akan tampak seperti di bawah ini:

4. MEMBUAT FORM
- Click kanan pada nama project Anda disisi sebelah kiri yang ada pada Project Explorer

javagui04.jpg

- Pilih JFrame Form
- Kemudian pada Class Name : ketik nama form misal frmButton
- Pada Location : pilih Sources Packages (ini pilihan default)
- Pada Package : pilih prjpalletbutton (sesuai nama project)
- Setelah itu click Finish

5. MENAMBAHKAN CODE PROGRAM PADA MAIN.JAVA
Karna pada saat membuat project pertama sekali dichecklist pada Creat Main Class dan Set as Main Project, maka yang selalu dijalankan pertama sekali ketika program di run adalah main.java, dari program inilah dipanggil form frmButton (nama form / class name), bagaimana caranya?:
- Buka Code main.java dengan mengclick pada tab Main.java yang ada di bawah toolbar

javagui05.jpg

- Kemudian tambahkan code pada class utama (class main)
public static void main (String[] args) {
//TODO code application logic here
new frmButton().setVisible(true);
}
Lihat gambar dibawah ini:

- Setelah itu coba jalankan program Anda dengan menekan tombol F6
Atau click tombol ?yang terdapat pada toolbar

- Lalu akan tampil form yang masih kosong, click pada sudut form (x) untuk menutup form yang sedang running dan kembalilah edit form Anda dan tambahkan beberapa palette (bacanya bukan pelet tetapi pælet) (di visual basic disebut toolbox) sesuai dengan kebutuhan Anda

- Sekarang lanjutkan mengedit form Anda

6. MENAMBAH PALETTE PADA FORM

Ada banyak palette yang dapat Anda tambahkan pada form sesuai kebutuhan program Anda, pada project Anda biasanya jendela palette terletak di sebelah kanan layar Anda, lihat gambar dibawah ini perhatikan garis merahnya (comment:sebaiknya di jelaskan di awal ?):

javagui06.jpg

DAFTAR PALETTE
- Swing Control:
o Label
o Button
o Toggle Button
o Check Box
o Radio Button
o Button Group
o Combo Box
o List
o Text Field
o Text Area
o Scroll Bar, banyak lagi (lihat saja gambar di atas)
Sekarang bagaimana cara menambahkan palette tersebut ke form, gampang aja pada dasarnya sama dengan ketika Anda menggunakan bahasa pemrograman visual lainnya, tinggal click pada palette yang kamu butuhkan dan drag, kemudian letakkan pada form.
Atau boleh juga dengan mengclick sekali pada palette dan bawa mouse Anda ke area form maka palette yang Anda click tadi akan tampil, sekarang Anda tinggal click sekali pada area form dimana Anda akan meletakkan objek palette tersebut.

Sebagai contoh lihat gambar di bawah ini:
javagui07.jpg
- Arahkan mouse pada palette Label, Click sekali(jangan ditahan, click biasa aja)
- kemudian Arahkan mouse Anda pada area form (lihat posisinya disesuaikan) lalu click sekali, pallete Label akan tampak pada form Anda
- kemudian ubah bacaan jLabel1 (caption di VB) menjadi Nilai Tugas, caranya:
o click kanan pada objek label
o pilih Edit Text

javagui08.jpg

o lalu ketik judul yang baru (Nilai Tugas) dan click OK
o Anda dapat merubah ukuran objek dengan mengclick pada titik-titik yang ada di setiap sisi dan sudut objek yang sedang Anda edit (objek yang aktif)
- kemudian ubah nama objek, biasanya disesuaikan dengan jenis palette yang Anda gunakan misalnya kalau label, maka nama objek biasanya diawali dengan lbl misal lblNilaiTugas, kalau button penamaannya biasanya diawali dengan btn, misalnya btnClose. Dll, bagaimana cara merubah nama palette:
? click kanan pada palette yang akan Anda rubah namanya
? pilih Change Variable Name
? kemudian ketik nama Variable Namenya, misal lblNilaiTugas, lihat gambar:

javagui09.jpg

? click Ok
? Anda dapat melakukan perubahan Variable Name atau yang lainnya (properties) melalui jendela Properties:

javagui10.jpg

o Selanjutnya kalau Anda mau menambahkan palette yang sama boleh saja kamu copy paste lalu rubah Text, Variable Name dan lain-lain sesuai kebutuhan. Kemudian…. kemudian… dan selanjutnya kerjakan kasus dibawah ini

7. KASUS 1
Lengkapilah form Anda seperti dibawah ini

javagui11.jpg

Catatan:
- Jika project dijalankan, maka form yang tampil adalah seperti yang Anda lihat diatas
- Pertama sekali textfield tidak dapat di isi/diclick dan tombol New, Save, Show, hanya tombol Close dan Release Array saja yang dapat di Click

- Fungsi tombol:

o Release Array ?

apabila di click berarti mengalokasikan variabel Array dengan jumlah row data yang baru, dengan mengclick tombol ini, maka tombol New dan Show akan aktif sementara tombol Save belum aktif
javagui12.jpg

Setelah Anda ketik jumlah data lalu click OK, maka tombol New akan aktif

o New ?

apabila di click maka semua textfield menjadi aktif dan bernilai kosong, kemudian cursor akan aktif pada txtNT (text nilai tugas), kemudian tombol Save akan aktif dan tombol New dan tombol Show malah tidak aktif. Dan akan tampil nomor data yang akan di isi pada label Data Ke :

o Save ?

hanya dapat di click setelah tombol New di click, tombol ini akan menyimpan data yang ada pada textfield ke Array yang sudah didefenisikan sebelumnya sesuai urutan row, apabila salahsatu textfield masih kosong maka penyimpanan tidak dikerjakan dan cursor akan kembali ke textfield (jadi ada validasi textfield)

javagui13.jpg

o Show ?

untuk menampilkan data sesuai dengan permintaan data keberapa yang akan di tampilkan kembali ke textfield, ketika Anda click tombol ini akan tampil inputbox:

javagui14.jpg

Ketiklah nomor record yang akan Anda tampilkan ke textfield form
Setelah Anda click OK, maka akan tampil data dari Array yang sudah tersimpan, jika Anda masukkan angka 1 maka data yang akan tampil adalah yang ada pada Index Array 0, jika Anda input dengan jumlah yang melebihi Array, maka akan ditampilkan data 1 (array 0)

o Close ?

menutup Form atau keluar dari aplikasi.

8. MENYELESAIKAN KASUS 1
- setelah Anda melengkapi object yang dibutuhkan pada form, diantaranya:
Kelompok Label:
- label yang perlu dirubah hanya text(caption nya saja) , disesuaikan (lihat form diatas)

Kelompok TextField :
Variable Name | Keterangan
txtNT : jenis palette TextField, Variable Name untuk menampung Nilai Tugas yang di input dari keyboard
txtNF : jenis palette TextField, untuk menampung Nilai Formatif
txtNUTS : jenis palette TextField, Nilai UTS
txtNUAS : jenis palette TextField, Nilai UAS
txtNRata : jenis palette TextField, Nilai Rata-Rata, tidak di input langsung dari keyboard, melainkan melalui proses setelah tombol Save di click
Kelompok Button:
btnNew : jenis palette Button, judul text New, shortcut:N
btnSave : jenis palette Button, judul text Save, shortcut:S
btnShow : jenis palette Button, judul text Show, shortcut:O
btnRelease : jenis palette Button, judul text Release Array, shortcut:R
btnClose : jenis palette Button, judul text Close, shortcut:C
- Sekarang Anda lengkapi Code program untuk setiap objek sesuai dengan kebutuhan

- frmButton (form utama Anda),
pada awal program kenalkan dulu beberapa variabel yang akan digunakan secara public di seluruh form:
public int[][] Nilai;
public int datake;
lihat gambar dibawah ini:

javagui15.jpg

Kemudian tambahkan code program pada Events Window Opened, agar apabila form ini dipanggil/dijalankan dari main.java, maka ketika pertama sekali tampil dilayar code program pada windowOpened dijalankan hanya sekali saja, cara membuat code nya:
o dalam mode Design/Click bebas pada area form yang kosong (aktifkan objek yang akan di isi code programnya)
o Kemudian perhatikan, bawa mouse pointer Anda ke jendela properties
o Pada Properties pilih tab menu Events, lihat gambar di bawah ini

javagui16.jpg

o Jika Anda belum melihat properti windowsOpened, geser scroll yang ada di sebelah kanan jendela properties ke bawah, lalu Seperti pada gambar di atas, click properties windowOpened pada kolom Value nya.
o Pada value yang tadinya bernilai akan berubah menjadi formWindowOpened
o Kemudian Anda tekan panah ke bawah, maka akan tampil jendela code untuk event tersebut, lihat gambar dibawah ini:

javagui17.jpg

o Lalu sediakan baris kosong dan ketik code programnya, lihat gambar di atas.
o Code programnya :
this.setTitle(“Form Data Nilai”); //membuat judul form
this.setSize(350, 360); //mengatur ukuran form
this.setLocationRelativeTo(null);
this.setVisible(true);
// semua textfield dikunci saat form dubuka/dipanggil dari main.java
txtNT.setEnabled(false);
txtNF.setEnabled(false);
txtNUTS.setEnabled(false);
txtNUAS.setEnabled(false);
txtNRata.setEnabled(false);
btnSave.setEnabled(false);
btnNew.setEnabled(false);
btnShow.setEnabled(false);

// semua tombol diset shortcut nya
btnNew.setMnemonic(‘N’);
btnSave.setMnemonic(‘S’);
btnShow.setMnemonic(‘O’);
btnClose.setMnemonic(‘C’);
btnRelease.setMnemonic(‘R’);
// pointer difokuskan pada btnRelease
btnRelease.requestFocus();

- btnRelease :

event nya adalah ActionPerformed (sama dengan click), boleh dengan double click pada buttonnya atau mengikuti langkah pada frmButton. Adapun code programnya adalah :
// alokasikan array Nilai sebanyak yang dibutuhkan
/* oleh karena JoptionPane.showInputDialog menghasilkan nilai string,
Maka dikonversi ke integer menggunakan perintah Integer.parseInt berfungsi
mengkonversi data yang di input menjadi data angka Integer dan
disimpan kedalam variable JumlahData
*/
int JumlahData=Integer.parseInt(JOptionPane.showInputDialog(null,”Masukkan Jumlah Data?”,”5?));
/*
Jangan lupa aktifkan dulu library javax.swing.JoptionPane,
Pada awal code pada form, posisinya kira-kira dibawah package namapackageanda;
Ketikkan code berikut: import javax.swing.JOptionPane;
jika tidak Maka pada saat anda selesai mengetik int JumlahData dst…. pada nomor baris disebelah kiri anda akan tampil gambar bola lampu kuning dan tanda merah tanda seru, itu artinya library harus di aktifkan.
Untuk mengaktifkan kamu boleh saja mengclick pada gambar bola lampu tersebut, kemudian pilih Add import for javax.swing.JOptionPane

javagui18.jpg

javagui19.jpg

*/
// Alokasikan index array Nilai
Nilai=new int[JumlahData][4]; //JumlahData adalah jumlah row,4 adlh jlh kolom
datake=0;
btnSave.setEnabled(false);
btnNew.setEnabled(true);
btnShow.setEnabled(true);

- btnNew : ActionPerformed

//tambahkan nilai array
datake=datake+1;
// deteksi apabila jumlah array yang didefenisikan rownya sudah terisi
// Nilai.length berfungsi mendeteksi jumlah row array
if (datake>Nilai.length)
JOptionPane.showMessageDialog(null,”ups… aray yang didefenisikan tidak
cukup maksimum row :”+Nilai.length);

else {
lblDataKe.setText(“Data Ke :”+(datake));
// set agar textfield dan tombol dapat
// diakses, mirip properti enabled pada vb
btnSave.setEnabled(true);
btnNew.setEnabled(false);
btnShow.setEnabled(false);
btnClose.setEnabled(false);
txtNT.setEnabled(true);
txtNF.setEnabled(true);
txtNUTS.setEnabled(true);
txtNUAS.setEnabled(true);
txtNRata.setEnabled(true);
//kosongkan isi textfield
txtNT.setText(“”);
txtNF.setText(“”);
txtNUTS.setText(“”);
txtNUAS.setText(“”);
//meletakkan cursor aktif pada textfield txtNT
txtNT.requestFocus();
}

- btnSave : ActionPerformed

// validasi data
String nt=txtNT.getText();
String nf=txtNF.getText();
String nut=txtNUTS.getText();
String nus=txtNUAS.getText();
// deteksi kalau masih ada textfield yang belum di isi
if ((nt.isEmpty()) | (nf.isEmpty()) |(nut.isEmpty()) | (nus.isEmpty()))
{
JOptionPane.showMessageDialog(null,”Masih ada nilai yang kosong, silahkan dilengkapi”);
txtNT.requestFocus();
}
else {
// simpan data ke array
Nilai[(datake-1)][0]=Integer.parseInt(txtNT.getText());
Nilai[(datake-1)][1]=Integer.parseInt(txtNF.getText());
Nilai[(datake-1)][2]=Integer.parseInt(txtNUTS.getText());
Nilai[(datake-1)][3]=Integer.parseInt(txtNUAS.getText());
// semua textfield dikunci
txtNT.setEnabled(false);
txtNF.setEnabled(false);
txtNUTS.setEnabled(false);
txtNUAS.setEnabled(false);
btnSave.setEnabled(false);
btnNew.setEnabled(true);
btnShow.setEnabled(true);
btnClose.setEnabled(true);
}

- btnShow : ActionPerformed
int JumlahData=Integer.parseInt(JOptionPane.showInputDialog(null,”Masukkan
Nomor Row/Record Data?”,”1?));
//deteksi kalau data yang ditampilkan melewati batas row array
if ((JumlahData>Nilai.length) | (JumlahData=85, MAKA AKAN TAMPIL PADA LABEL NILAI HURUF A
b. 70 S/D <85 NILAI HURUF B
c. 60 S/D <70 NILAI HURUF C
d. 45 S/D <60 NILAI HURUF D
e. <45 NILAI HURUF E


Tidak ada komentar:

Posting Komentar