Selasa, 04 Mei 2010

Membuat Daftar Nilai Dengan Netbeans

Lengkapilah form Anda seperti dibawah ini

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

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)

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:

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:

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


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:

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

*/
// 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<=0)) JumlahData=1; lblDataKe.setText(“Data Ke :”+(JumlahData)); txtNT.setText(new Integer(Nilai[(JumlahData-1)][0]).toString()); txtNF.setText(new Integer(Nilai[(JumlahData-1)][1]).toString()); txtNUTS.setText(new Integer(Nilai[(JumlahData-1)][2]).toString()); txtNUAS.setText(new Integer(Nilai[(JumlahData-1)][3]).toString());

- btnClose :ActionPerformed
// boleh menggunakan dispose(); , hanya menutup form yang sedang aktif
System.exit(0); //keluar dari program aplikasi secara keseluruhan

0 komentar:

Posting Komentar