• Breaking News

    Panduan dan Tutorial Lengkap serta Materi Pelajaran di Mulyono Blog. Konten Terlengkap dan Terpercaya

    Minggu, 09 Oktober 2011

    PEMROGRAMAN JAVA BERBASIS GUI MENGGUNAKAN NETBEANS

    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, teman, saudara, oppung, nenek, atho’ dan lain-lain….hehe…:))
    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<=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
    TUGAS (KERJASAMA KELOMPOK DISKUSI):
    1. DARI PROGRAM DI ATAS ANTA TAMBAHKAN PROSES UNTUK MENGHITUNG NILAI RATA-RATA… TENTUNYA VARIABEL NYA MERUPAKAN JENIS DATA FLOAT KARENA HASIL NYA DALAM BENTUK DESIMAL MISALKAN NILAI RATA : 80,50
    2. TAMBAHKAN LABEL YANG AKAN MENAMPILKAN NILAI DALAM HURUF, BERDASARKAN NILAI RATA-RATA YANG DIDAPAT:
    a. JIKA NILAI RATA-RATA >=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