Anda di halaman 1dari 46

MODUL NETBEANS

Jendela jendela IDE NETBEANS



Gambar 1 : Tampilan IDE NetBeans ketika pertama kali dijalankan
Daftar Jendela jendela pokok dari NetBeans
Jendela Keterangan
Project Jendela terpenting yang berisi daftar dari semua kandungan proyek, merupakan
logical-view dari isi proyek, seperti daftar packet dan web page. Klik kanan pada
sebuah node proyek akan menampilkan menu popup yang berisi operasi operasi
yang dapat dilakukan terhadap proyek
Files Jendela ini menampilkan daftar struktural dari file - file dan folder yang tidak
Nampak dalam jendela Project. Dari jendela ini sebuah file sumber dapat dibuka
untuk diedit. File sumber dapat berupa file Java, file HTM, file Konfigurasi proyek.
Selain file sumber , juga didaftar file file output hasil proses build. Misalnya file
.class, JAR,WAR, file Javadoc.
Navigator Jendela ini menampilkan informasi mengenai file file sumber yang berada dalam
proyek yang sedang aktif. Ditampilkan elemen elemen file dalam bentuk daftar
atau bentuk pohon (inheritance-tree)
Source Editor Editor teks untuk mengedit file file sumber. Editor ini dapat dibuka dengan klik
ganda pada sebuah node dalam jendela project.
Palette Jendela Palette menampilkan daftar semua komponen yang terinstal di dalam
NetBeans. Misalnya komponen yang berasal dari packet Swing, AWT, BEANS. Juga
daftar layout yang dapat dipakai untuk mengatur format susunan komponen. Anda
juga dapat menambahkan komponen atau paket sendiri
Inspector Jendela Inspector menunjukkan struktur dari form. Daftar layout dan komponen
yang ada dalam form ditampilkan dalam bentuk pohon (inheritance-tree)
Properties Menampilkan daftar property dan tingkah laku (behavior) dari sebuah komponen,
layout, atau form.
Debugging NetBeans memiliki JDPA debugger. Jendela Debugger manampilkan informasi
runtime dari program Java yang sedang dieksekusi. Kita juga dapat mengawasi,
mendefinisikan atau melakukan breakpoint, watch,step-through,variable-
examination, class examination, serta callstack, threads dan session.
Favorites Jendela ini dapat dipakai untuk memudahkan pengaksesan sebuah lokasi dalam
system computer, seperti file file dan direktori yang berada di luar proyek.
Output Jendela ini akan menampilkan output dari program jika ada. Misalnya program
menuliskan teks ke standar output-stream. Maka tampilannya dapat dilihat di
Jendela ini. Selain itu proses dari hasil build (atau kompilasi) juga akan ditampilkan
disini. Kita dapat melihat pesan keberhasilan atau pesan error di sini.

Operasi Terhadap Proyek
Ketika membuat sebuah proyek, ada banyak fase yang dapat atau harus dilakukan. Mulai dari membuat
sebuah proyek baru sampai dengan melakukan deployment. Operasi untuk melakukan fase atau
menjalankan fitur tertentu memiliki langkah-langkah tertentu.
Daftar operasi terhadap proyek dan langkah-langkahnya.
Operasi Langkah - langkah
Membuat Proyek 1. Jalankan File | New Project (Ctrl+Shift+N)
2. Pilih salah satu template
3. Ikuti wizard yang akan ditampilkan
Mengubah properti dari
proyek
1. Di dalam Jendela Project, lakukan klik kanan di atas node dari proyek.
Pilih Properties.
2. Akan ditampilkan dialog Project Properties
3. Ubah property yang diinginkan
Menambahkan proyek-
proyek lainnya sebagai
library dari proyek yang
aktif. (Compilation
Dependencies)
1. Di dalam jendela Project, klik kanan di atas node dari proyek yang aktif
(biasanya main project).
2. Pilihlan Properties dari menu kontekstual.
3. Di dalam dialog Project Properties, pilihlan Categories=Libraries.
4. Di jendela sebelah kanan pilihlan tab Compile
5. Tekan tombol Add Project
6. Pilihlah Direktori lokasi file JAR dari proyek yang akan ditambahkan
7. Tekan tombol Add Project JAR Files.
Membuka Proyek yang
diperlukan
1. Di dalam Jendela Projects, klik kanan di atas node proyek.
2. Pilihlah menu open Required Projects
Melakukan build terhadap
proyek
Jalankan menu Run | Build Main Project. Atau tekan shortcut-key F11. Atau
klik kanan di atas node proyek dan pilih menu Build.
Membersihkan (clean)
proyek
Di dalam jendela Projects, klik kanan di atas node proyek dan pilih menu
Clean.
Melakukan clean dan build
terhadap proyek
Di dalam jendela Projects, klik kanan di atas node proyek dan pilih menu
Clean and Build. Atau tekan shift-F11. Atau jalankan menu Run | Clean and
Build Main Project
Menjalankan (run ) proyek Jalankan menu Run | Run Main Project. Atau tekan shortcut-key F6. Atau klik
kanan di atas node proyek dan pilih menu Run.
Melakukan debug
terhadap proyek
Jalankan menu Debug | Debug Main Project. Atau tekan shortcut-key F5.
Atau, klik kanan di atas node proyek dan pilih menu Debug
Melakukan kompilasi
terhadap sebuah file
Jalankan menu Run | Compile File . Atau tekan F9. Atau, klik kanan pada node
file lalu pilihlah menu Compile File
Menambahkan file sumber
JAR pada classpath dari
proyek.
1. Jalankan menu Tools | Libraries. Akan tampil kotak dialog Library
Manager.
2. Jika file JAR yang dimaksud belum terdaftar di dalam Library Manager,
tekanlah tombol New Library untuk membuat library baru.
3. Isikan nama library.
4. Pilihlah library baru pada pane sebelah kiri (pane Libraries).
5. Dalam pane sebelah kanan, pilihlan tab Classpath.
6. Tekan tombol Add JAR/Folder.
7. Tentukan lokasi direktori dari file JARyang berisi file kelas yang
diharapkan.
8. Buka tab Sources dalam pane sebelah kanan.
9. Tambahkan folder atau file archive yang berisikan kode sumber (source
code).
Menambahkan Javadoc
untuk file JAR pada
Classpath dari proyek.
1. Jalankan menu Tool | Libraries. Akan tampil kotak dialog Library
Manager.
2. Jika file JAR yang dimaksud belum terdaftar di dalam library Manager,
daftarkan file JAR tersebut dengan langkah seperti yang dijelaskan di
atas.
3. Dalam pane sebelah kanan, bukalah tab Javadoc.
4. Tekan tombol Add ZIP/Folder lalu tentukan lokasi dari file file Javadoc.
Menentukan Main Project Dalam jendela Projects, klik kanan di atas node proyek, lalu pilih menu Set as
Main Project

Membuat Proyek
Berikut ini kita akan membuat sebuah proyek yang berisi satu file program java sederhana. Program ini
berupa aplikasi dengan tampilan sebatas teks (Program Java konsol). Tujuannya adalah untuk
memperkenalkan garis besar pemrograman dengan NetBeans yang paling mendasar..
Proyek
Sebuah program java dalam NetBeans selalu berada di dalam sebuah lingkup yang disebut proyek. Semua
sumber program, baik berupa file, gambar, form, file web dan sebagainya berada di dalam sebuah proyek.
Dengan demikian langkah pertama untuk membuat program Java adalah dengan membuat proyek terlebih
dulu.
1. Jalankan menu File | New Project (atau Ctrl+Shift+N) untuk membuka dialog New Project

Gambar 2 : Kotak Dialog New Project step 1

2. Dalam Dialog, pilih Categories=Java, Projects=Java Application. Lalu klik pada tombol Next.

Gambar 3 : Kotak Dialog New Project step 2

3. Pada langkah kedua, pilih terlebih dulu lokasi proyek. Klik pada tombol Browse di sebelah kanan
isian Project Location. Akan tampil dialog Select Project Location

Gambar 4 : Kotak Dialog Select Project Location

4. Di dalam dialog tersebut, pilih lokasi direktori kerja default. Perhatikan bahwa direktori ini
selanjutnya akan menjadi default. (misalnya dalam gambar di atas, direktori kerja default =
D:\java11).
5. Setelah memilih sebuah direktori, klik tombol Open.
6. Kebali ke dialog New Project. Isikan Project Name=HelloWorld.
7. Perhatikan bahwa Project folder secara otomatis akan diset sesuai dengan nama proyek.
8. Centang pada pilihan Set as Main Project dan centang pada pilihan Create Main Class. Isikan nama
main-class=helloworld.Main
9. Terakhir klik pada tombol Finish.
Di dalam NetBeans akan dibuka secara otomatis file utama java bernama Main.java. Perhatikan
ekstensi dari setiap program java adalah java.

Gambar 5. Tampilan IDE setelah sebuah project baru dibuat melalui wizard.
Jendela Project dan Files
Perhatikan sebelah kiri atas dimana terdapat kelompok kelompok jendela yang terdiri dari Project dan Files.
Di dalam jendela Projects, terlihat struktur dari proyek. Struktur terdiri dari node node. Dalam hirarki
struktur proyek, yang paling atas adalah nama proyek HelloWorld. Di bawahnya terdapat beberapa node.
Node yang pokok adalah Source Packages dan Libraries.
Node Source Packages berisi file file sumber. Setiap node file sumber dapat terdiri dari node node kelas,
form dan lain lain. Setiap node kelas dapat teridiri dari node node anggota kelas seperti method,field,
bean pattern dan sebagainya.
Node Libraries berisi daftar library yang dipakai oleh proyek. Library pada umumnya dalam bentuk JAR. Kita
dapat menambahkan file baru, folder baru, atau kelas baru, ke dalam Source Packages. Kita juga dapat
menambahkan library baru ke dalam Libraries.
Jendela Files menampilkan struktur dari file file yang ada di dalam proyek. File file ini berupa file yang
dihasilkan oleh wizard, proses build, penambahan resource, dan sebagainya. Terhadap setiap node yang
ada di dalam jendela jendela tersebut, kita dapat menampilkan menu kontekstual. Menu ini dapat dibuka
dengan melakukan klik kanan di atas node.
Package & Class
Node yang sering dipakai adalah Source Packages. Di dalamnya terdaftar file file sumber yang dipakai oleh
program. Setiap node file dapat memiliki node node lagi di dalamnya secara hierarkis.
Di dalam node Source Packages, pada level paling atas terdapat daftar beberapa paket Java. Kita tadi telah
mengisikan nama main-class = helloworld.Main. Ini berarti kita telah membuat sebuah paket Java bernama
helloworld serta sebuah kelas Java bernama Main. Lihatlah di dalam jendela Source-Editor, yang di
dalamnya dapat ditemukan deklarasi :
package helloword;
public class Main {
public Main() {
}
public static void Main(String[] args) {
}
}
Dalam kode program terdapat beberapa blok komentar yang diawali /** dan diakhiri */. Ini merupakan teks
dokumentasi Javadoc. Perhatikan constructor Main() yang telah ditambahkan, serta method utama main().
Method main() hanya ditambahkan jika program merupakan aplikasi Java, seperti yang kita buat disini.
Sebuah proyek bias saja terdiri lebih dari satu paket. Setiap paket dapat terdiri lebih dari satu kelas.
Perhatikan aturan utama dari kelas dan file Java :
Setiap kelas Java (dengan modifier public) selalu disimpan dalam satu file dengan nama yang sama
dengan nama kelas. Dalam contoh di atas, nama kelas adalah Main sehingga nama file java itu adalah
Main.java. (Kelas dengan modifier non-public diperbolehkan berada dalam file yang sama dengan kelas
public.)
Jendela Navigator
Jendela ini secara default berada di sebelah kiri bawah IDE. Klik sebuah node file di jendela Project maka
akan tampil informasi mengenai file tersebut di dalam jendela Navigator. Di bagian bawah dari jendela ini
terdapat beberapa tombol yang berguna untuk menentukan apa saja yang akan ditampilkan. Kita dapat
memilih untuk menampilkan jenis jenis anggota kelas : static, non-public, filed, dan anggota anggota
yang diturunkan (inherited) dari kelas induk.
Menambahkan Program
Di dalam jendela Source-Editor, tambahkan satu baris program ke dalam method main() sehingga program
keseluruhan akan menjadi seperti berikut :
package helloword;
public class Main {
public Main() {
}
public static void Main(String[] args) {
System.out.println(Hello World !!!);
}
}
Setelah mengetikkan program, jangan lupa untuk menyimpannya. Jalankan menu File | Save atau File |
Save All jika perubahan dilakukan terhadap lebih dari satu file. Perintah println() di dalam method main()
berfungsi untuk menampilkan teks pesan. Dalam hal ini pesan akan ditampilkan dalam standar output dari
system (System.out). Sedangkan dalam constructor Main() (berbeda dengan main() !), kita tidak
menambahkan kode program apapun.
Melakukan Build terhadap Proyek
Setelah membuat program Java, maka dapat dilakukan proses build terhadap proyek. Proses Build berarti
juga melakukan kompilasi terhadap file atau file file Java yang ada di dalam proyek.
1. Jalankan menu Run | Build Main Project. Proses build juga dapat dilakukan di dalam Jendela
Projects. Caranya , klik kanan di atas node proyek (HelloWorld). Akan tampil menu popup yang
disebut dengan menu kontekstual. Pilih menu Build.
2. Perhatikan jendela Output yang ditampilkan di bagian bawah dari IDE, yang akan menampilkan
pesan berupa hasil dari proses build.

Gambar 6 : Tampilan hasil proses build dalam jendela Output

Pesan BUILD SUCCESSFUL menandakan proses build berjalan dengan baik. Ini berarti tidak ada kesalahan
dalam program. Jika ada kesalahan maka akan ditampilkan pesan error yang berarti Anda harus meneliti
dan membetulkan terlebih dulu kesalahan dalam kode program. Bukalah jendela Files. Buka node build|
classes | helloworld. Akan terlihat sebuah file bernama Main.class. File ini merupakan file binary Java, hasil
output dari proses kompilasi terhadap file Main.java.File Main.class juga dihasilkan dalam bentuk JAR (Java
Archive). Dalam contoh ini, file JAR berada di dalam folder dist bernama HelloWorld.jar


Gambar 7 : File .class hasil proses build ditampilkan dalam jendela Files

Jika Anda ingin melakukan distribusi program, maka file JAR ini dapat didistribusikan.

Menjalankan Proyek
Setelah proses build selesai, proyek atau program dapat dijalankan di dalam IDE.
1. Jalankan menu Run | Run Main Project. Dapat juga dilakukan dari dalam jendela Project. Caranya
lakukan klik kanan dan pilih menu kontekstual Run.
2. Teks Output dari program akan ditampilkan di jendela Output.


Gambar 8 : Output program java konsol berupa teks ditampilkan dalam jendela Output

Perhatikan teks Hello world !!! yang ditampilkan. Teks ini berasal dari perintah yang tadi telah kita
tambahkan :
System.out.println(Hello World !!!);

Keluaran dari program java konsol ini hanya sebatas teks. Sesungguhnya program java sangat luas
cakupannya. Pada tingkat paling dasar, ia dapat dipakai untuk membuat program yang tampilannya sebatas
teks seperti contoh ini. Namun Java dan NetBeans juga dapat dipakai untuk membuat program yang
menampilkan grafik atau gambar dengan warna true-color. Bahkan dengan Library dari Java 2D dan Java 3D
kita dapat memakai gambar 2 dimensi dan 3 dimensi. Bukansekedar gambar, multimedia (audio dan video)
juga dapat dijalankan oleh program java.

Java dan NetBeans juga menyediakan palet lengkap yang berisi bermacam macam komponendari paket
AWT dan Swing/JFC. Paket paket ini berisi macam macam komponen seperti line-edit,combo-box,check-
box,radio-button sampai dialog dialog standar, seperti dialog pencetakan, dialog untuk memilih warna ,
dan sebagainya.

Mengenal GUI Builder

DAFTAR PALETTE
Palette Komponen Keterangan
Swing Container Panel (JPanel) Kontainer yang paling sederhana.
Menyediakan space untuk meletakkan
komponen ataupun panel lainnya.
SplitPanel (JSplitPanel) Membagi dua ruang komponen
Tool Bar (JToolBar) Untuk menampilkan daftar toolbar sebagai
shortcut-button bagi menu menu yang
sering dipakai
Internal Frame (JInternalFrame) Sebuah frame yang menyediakan fungsi
fungsi dragging, closing, icon, resize, title dan
mendukung menu bar. Umumnya sebuah
JInternalFrame ditambahkan ke dalam
sebuah JDesktopPane. Ke dalam
JInternalFrame kita biasanya menambahkan
komponen atau container sebagai children
Tabbed Pane (JTabbedPane) Mengelompokkan komponen komponen
dalam satu box, dengan judul berupa teks
dan / atau icon
Scroll Pane (JScrollPane) Menyediakan scrollable-view dari sebuah
lightweight-component
Desktop Pane (JDesktopPane) Kontainer yang dipakai untuk
mengimplementasikan MDI (multiple
document interface) atau desktop virtual.
Kelas ini diturunkan dari JLayeredPane
Layered Pane (JLayeredPane) Merupakan kontainer yang membuat
komponen dapat overlapping satu sama lain
dalam bentuk layer layer.
Swing Controls Label (JLabel) Untuk meletakkan teks statis, atau image
atau keduanya.
Button (JButton) Push-button atau tombol yang jika ditekan
akan mengerjakan instruksi tertentu.
Toggle Button (JToggleButton) Button dengan dua state (keadaan),
merupakan superclass bagi JRadioButton
dan JCheckBox
Check Box (JCheckBox) Tombol berbentuk kotak yang dapat di check
atau uncheck untuk menyatakan keadaan on
atau off.
Radio Button (JRadioButton) Button untuk menampilkan keadaan select
atau deselect.
Button Group (JButtonGroup) Untuk mengelompokkan beberapa button,
biasanya radio-button atau check-box
Combo Box (JComboBox) Daftar yang ditampilkan dropdown. Dapat
juga ditambah editable-field.
List (JList) Menampilkan pilihan obyek dalam daftar.
Text Field (JTextField) Untuk mengedit satu baris teks
Text Area (JTextArea) Untuk menampilkan teks multi-line. Teks
dapat diedit oleh user
Scroll Bar (JScrollBar) ScrollBar, untuk memilih nilai dalam range
tertentu
Slider (JSlider) Memilih nilai tertentu dengan menggeser
kenop di dalam range tertentu. Memiliki
tick-mark pada kotaknya.
Progress Bar (JProgressBar) Menampilkan kemajuan dari suatu proses
secara grafis.
Formatted Field
(JFormattedTextField)
Perluasan dari JTextField dengan
kemampuan melakukan format terhadap
teks.
Password Field (JPasswordField) Untuk mengedit satu baris teks berupa
password. Tampilan teks akan
disembunyikan.
Spinner (JSpinner) Untuk memilih nilai atau obyek tertentu
dengan tombol up dan down.
Separator (JSeparator) Komponen untuk mengimplementasikan
garis pembagi. Terutama dipakai untuk
membagi item item menu ke dalam
kelompok kelompok logikal.
Text Pane (JTextPane) Komponen teks yang dapat ditandai dengan
attribute yang ditampilkan secara grafis.
Editor Pane (JEditorPane) Komponen teks untuk mengedit bermacam
macam content.
Tree (JTree) Menampilkan satu set data dalam bentuk
hierarkis sebagai suatu outline.
Table (JTable) Menampilkan dan mengedit tabel dalam
bentuk sel dua dimensi.
Swing Menus Menu Bar (JMenuBar) Menampilkan menu dalam frame
Menu (JMenu) Menampilkan menu yang ditempatkan di
dalam JMenuBar
Menu Item (JMenuItem) Menampilkan menu item
Menu Item / Check Box
(JCheckBoxMenuItem)
Menampilkan menu item yang berupa
check-box
Menu Item / Radio Button
(JRadioButtonMenuItem)
Menampilkan menu item yang berupa radio-
button
Popup Menu (JPopupMenu) Menampilkan menu pop-up yang dapat
ditampilkan dalam posisi dinamis tertentu.
Swing windows Dialog (JDialog) Kelas utama untuk membuat jendela custom
dialog
Color Chooser (JColorChooser) Menampilkan dialog box untuk memilih
warna.
Frame (JFrame) Perluasan dari java.awt.Frame. Sebuah
container frame yang mendukung arsitektur
komponen swing.
File Chooser (JFileChooser) Menampilkan dialog box untuk memilih file
OptionPane (JOptionPane) Popup dialog box untuk menampilkan pesan
atau meminta masukan dari user.
AWT Label Komponen untuk meletakkan teks statis di
dalam container. Teks satu baris tidak dapat
diedit.
Button Push-button atau tombol yang jika ditekan
akan mengerjakan instruksi tertentu.
Text Field Untuk editing satu baris teks
Text Area Untuk menampilkan teks multi-line. Teks
dapat diedit oleh user
Choice Menu popup yang teridiri dari beberapa
pilihan.
List Untuk menyajikan beberapa pilihan teks
dalam satu daftar yang dapat di-scroll
(gulung)
Scroll Bar Scroll Bar, untuk memilih nilai dalam range
tertentu.
Scroll Pane Kontainer dengan Scroll Bar horizontal dan
vertical yang otomatis diset sesuai
ukurannya.
Panel Kontainer yang paling sederhana.
Menyediakan space untuk meletakkan
komponen ataupun panel lainnya.
Canvas Kontainer yang diletakkan di dalam Panel
Menu Bar Menampilkan menu dalam frame. Dipakai
bersama obyek Frame. Memakai
setMenuBar().
Popup Menu Menampilkan menu pop-up yang dapat
ditampilkan dalam posisi dinamis tertentu.
Beans Choose Bean Untuk menggunakan kelas dari Java Bean
Java Persistence Entity Manager
Query
Query Result



Gambar 9 : Palette Swing Containers


Gambar 10 : Palette Swing Windows


Gambar 11 : Palette Swing Controls



Gambar 12 : Palette Swing Menus


Gambar 13 : Palette AWT


Gambar 14 : Palette Beans


Gambar 15 : Palette Java Persistence




Struktur Database Akademik

Contoh isi data :

Membuat Proyek baru untuk akademik
1. Jalankan menu File | New Project (atau Ctrl+Shift+N) untuk membuka dialog New Project

Gambar 16 : Tampilan Dialog New Project step 1

2. Dalam Dialog, pilih Categories=Java, Projects=Java Application. Lalu klik pada tombol Next.

Gambar 17 : Tampilan Dialog New Project step2

3. Pada langkah kedua, pilih terlebih dulu lokasi proyek. Klik pada tombol Browse di sebelah kanan isian
Project Location. Akan tampil dialog Select Project Location

Gambar 18 : Tampilan Dialog Select Project Location

4. Di dalam dialog tersebut, pilih lokasi direktori kerja default. Perhatikan bahwa direktori ini selanjutnya
akan menjadi default. (misalnya dalam gambar di atas, direktori kerja default = D:\java_gui).
5. Setelah memilih sebuah direktori, klik tombol Open.
6. Kebali ke dialog New Project. Isikan Project Name=akademik.
7. Perhatikan bahwa Project folder secara otomatis akan diset sesuai dengan nama proyek.
8. Centang pada pilihan Set as Main Project dan centang pada pilihan Create Main Class. Isikan nama
main-class=akademik.Main
9. Terakhir klik pada tombol Finish. Akan muncul tampilan IDE seperti gambar berikut ini :

Gambar 19 : Tampilan IDE setelah Project baru dibuat melalui wizard

10. Selanjutnya buat file baru yang berbentuk GUI dengan klik di atas node proyek yang akan dibuatkan
file baru lalu klik menu File | New File (Ctrl+N). Akan muncul kotak dialog sebagai berikut :

Gambar 20 : Tampilan Dialog untuk File baru yang berbentuk GUi step 1

11. Pada dialog pilih Project=akademik Categories=Swing GUI Forms dan File Types=JFrameForm. Lalu klik
tombol Next

Gambar 21 : Tampilan Dialog untuk File baru GUI step 2

12. Isikan Class Name = siswa, karena node proyek yang tadi kita pilih adalah akademik, maka secara
otomatis Project akan terisi dengan akademik. Lokasi dari file akan ditempatkan dalam Source
Packages. Dan file akan ditempakan dalam direktori default dari project. Lalu klik tombol Finish. Maka
akan tampil Free design template dari Siswa berupa JFrame.

Gambar 22 : Tampilan IDE setelah file baru yang berbentuk Swing GUI dibuat melalui wizard

13. Selanjutnya tambahkan 3 kontainer JPanel pada JFrame. JPanel1 untuk Identity, JPanel2 untuk tombol,
dan JPanel3 untuk tabel. JPanel merupakan kontainer Swing. Kontainer ini akan kita letakkan di dalam
kontainer utama JFrame.
14. Perhatikan jendela Palette. Di dalam tab Swing Container, carilah komponen JPanel.
15. Masih dalam jendela Palette, klik mouse pada komponen JPanel tersebut dan kemudian lepaskan
16. Gerakkan kursor mouse ke atas Form, ke arah ujung kiri atas.
ko_
Gambar 23 : Komponen JPanel sedang diposisikan di atas form

17. Perhatikan garis bantu (putus putus) yang ditampilkan. Tepat ketika garis bantu muncul, maka
lakukan klik mouse untuk meletakkan komponen JPanel.
18. Garis bantu horizontal menunjukkan margin atas yang disarankan.Sedangkan garis bantu vertikal
menunjukkan margin kiri yang disarankan.
19. JPanel akan diberi nama default JPanel1. Perhatikan jendela Inspector. Posisi JPanel1 berada di bawah
garis hierarki dari JFrame.
20. Setelah diletakkan , perhatikan bahwa ada 8 kotak kecil di sekeliling JPanel. Kotak kotak tersebut
merupakan alat bantu resize. Yaitu untuk mengubah ukuran komponen.
21. Untuk mengubah ukuran JPanel itu, letakkan kursor mouse pada kotak kecil di sebelah kanan. Kursor
mouse akan berubah menjadi tanda panah ganda.
22. Lakukan klik dan drag mouse kea rah kanan. Ini akan membuat JPanel melebar ukurannya. Setelah
mencapai ujung kanan, perhatikan garis bantu yang muncul. Tepat ketika garis bantu muncul di sisi
kanan, lepaskan klik mouse. Sekarang ukuran JPanel akan memenuhi bagian atas dari JFrame, dengan
padding beberapa pixel di tepinya.

Gambar 24 : Komponen JPanel diperlebar ke arah horisontal

23. Lakukan hal yang sama untuk komponen panel berikutnya ubah ukurannya sesuai keinginan anda.
24. Beri tepi dan judul pada komponen JPanel yang telah kita tambahkan. Ini bias dilakukan dengan cara
mengubah property border. Ada dua cara untuk mengubah property, yang pertama secara langsung
dalam jendela Properties. Cara yang kedua dengan klik kanan di dalam komponen dan kemudian
memilih menu Properties dari menu kontekstual yang muncul. Akan muncul kotak dialog properties
sebagai berikut :

Gambar 25 : Tampilan dialog Properties dari JPanel

25. Pilih properties border , isi Title dengan Form Data Siswa

Gambar 26 : Tampilan Dialog dari Property border dari komponen JPanel

26. Lalu klik tombol OK, dan close kotak dialog Properties, lakukan hal yang sama untuk panel berikutnya
hanya saja Title untuk JPanel 2 diubah menjadi Tombol dan Title untuk JPanel3 menjadi Tabel.
Sehingga hasilnya menjadi seperti berikut ini :

Gambar 27 : Tampilan Form setelah Perubahan Properties pada ketiga JPanel

27. Selanjutnya tambahkan 7 JLabel pada panel Form Data Siswa. JLabel1 untuk Judul Form isi teks nya
Master Data Siswa dan ubah ukuran hurufnya menjadi 18 Arial Bold. Caranya dengan mengubah
Properties Font untuk JLabel


Gambar 28 : Tampilan Dialog properties dari JLabel


Gambar 29 : Tampilan Dialog Property Font dari komponen JLabel

28. Lalu Klik tombol OK dan close dialog Properties
29. Untuk JLabel2 sampai 7 hanya mengubah teks nya saja. JLabel2=NIS, JLabel3=Nama, JLabel4=Alamat,
JLabel5=Jenis Kelamin, JLabel6=Jurusan dan Jlabel7=Kelas sehingga hasilnya menjadi seperti gambar
berikut :]

Gambar 29 : Tampilan Form setelah ditambahkan komponen JLabel

30. Kemudian tambahkan 4 komponen JTextField pada panel Identity sejajarkan dengan NIS, Nama dan
Alamat.
31. Hapus teksnya dengan cara klik kanan pada komponen JTextField dan klik menu Edit Text dan
kemudian hapus teks nya.
32. Ukuran JTextField menjadi kecil. Untuk mengubah ukurannya dapat dilakukan dengan klik dan drag
mouse ke arah kanan pada kotak kecil sebelah kanan JTextField.
33. Kemudian ubah variable name nya menjadi JTextField1=txtnis, JTextField2=txtnama,
JTextField3=txtalamat dan JTextField4=txtkelas dengan cara klik kanan pada komponen JTextField
dan klik menu Change Variable Name sehingga muncul kotak dialog berikut :

Gambar 30 : Tampilan Dialog dari Chang Variable Name dari komponen JTextField

34. Ganti New Name menjadi txtnis. Lakukan hal yang sama untuk JTextField2=txtnama,
JTextField3=txtalamat dan JTextField4=txtkelas. Sehingga hasilnya menjadi seperti berikut :

Gambar 31 : Tampilan Form setelah ditambahkan komponen JTextField

35. Selanjutnya tambahkan 1 komponen ButtonGroup pada Form tersebut.

Gambar 32 : Tampilan Form setelah ditambahkan komponen ButtonGroup

36. Komponen ButtonGroup tersebut tidak akan terlihat di Form nantinya, tapi anda bisa melihat ada atau
tidaknya ButtonGroup tersebut dalam jendela Inspector seperti gambar berikut :

Gambar 33 : Tampilan Jendela Inspector setelah ditambahkan komponen ButtonGroup

37. Lalu ubah nama variable dari ButtonGroup tersebut dengan cara masuk ke Jendela Inspector. Klik
tanda + yang ada di Other Component kemudian klik kanan komponen buttonGroup1 lalu klik menu
Change Variable Name, lalu ganti teks yang ada di New Name dengan btngroup. Sehingga hasilnya
menjadi seperti gambar berikut dalam Jendela Inspector nya.

Gambar 34 : Tampilan Jendela Inspector setelah perubahan nama variable dari komponen ButtonGroup

38. Selanjutnya tambahkan 2 komponen JRadioButton untuk Jenis Kelamin pada panel Form Data Siswa.
Ubah teks JRadioButton1 dengan cara klik kanan pada komponen JRadioButton lalu klik menu Edit
Text. Kemudian edit text menjadi Laki laki dan kemudian ubah juga variable name nya dengan cara
klik kanan pada komponen JRadioButton lalu klik menu Change Variable Name, lalu ganti New Name
nya menjadi rblaki.
39. Lakukan hal yang sama pada JRadioButton2 Edit text menjadi Perempuan dan variable name nya
menjadi rbpr. Dan hasilnya menjadi seperti berikut :

Gambar 35 : Tampilan Form setelah ditambahkan komponen JRadioButton

40. Kemudian tambahkan 1 komponen JCombo Box untuk Jurusan pada panel Form Data Siswa.Ubah
variable name nya dengan cara klik kanan pada komponen JComboBox lalu klik menu Change Variable
Name dang anti New Name menjadi cmbjurusan.
41. Kemudian ubah nama nama item nya dengan cara mengubah properties model pada JComboBox

Gambar 36 : Tampilan Dialog Properties JComboBox


Gambar 37 : Tampilan Dialog Property Model dari komponen JComboBox

42. Lalu klik tombol Ok, kemudian close dialog Properties dari JComboBox, dan hasilnya menjadi seperti
berikut :

Gambar 38 : Tampilan Form setelah ditambahkan komponen JComboBox

43. Selanjutnya tambahkan 5 komponen JButton pada panel Tombol untuk tombol Simpan, Edit, Hapus,
Tambah dan Keluar. Edit text nya dengan cara klik kanan pada komponen JButton1 lalu klik menu Edit
Text pada menu kontekstual dan ganti teks nya menjadi Simpan, demikian hal nya pada
JButton2=Edit, JButton3=Hapus, JButton4=Tambah dan JButton5=Keluar.
44. Setelah itu ubah juga variable name nya dengan cara klik kanan pada komponen JButton1 lalu klik
menu Change Variable Name dan ganti New Name menjadi tbsimpan, demikian halnya juga pada
variable name untuk JButton2=tbedit, JButton3=tbhapus, JButton4=tbtambah dan JButton5=tbkeluar
sehingga hasilnya seperti berikut :

Gambar 39 : Tampilan Form setelah ditambahkan komponen JButton

45. Selanjutnya tambahkan 1 komponen JTable pada panel Tabel seperti gambar berikut :

Gambar 40 : Tampilan Form setelah ditambahkan komponen JTable

46. Untuk mengubah Title kolom dan jumlah kolom dapat dilakukan dengan 2 cara yaitu pertama dengan
klik komponen JTable klik tombol TableModel pada jendela Properties atau bisa juga dengan klik kanan
pada komponen JTable lalu klik menu Table Content pada menu kontekstual. Dan akan muncul kotak
dialog sebagai berikut :

Gambar 41 : Tampilan Customizer Dialog dari Table Content -> TableModel dari komponen JTable

47. Klik tombol Column sehingga muncul :

Gambar 42 : Tampilan Customizer Dialog dari Table Content -> Column dari komponen JTable

48. Untuk mengubah Title dapat lakukan double klik pada item Title, sehingga teks nya bisa di ubah. Jika
kolomnya kurang maka dapat ditambah dengan cara klik tombol insert, dan jika kolomnya lebih dapat
dikurangi dengan cara klik item kolom lalu klik tombol Delete.maka kolom akan terhapus. Setelah itu
close dialog. Sehingga Form akan berubah menjadi seperti berikut :

Gambar 43 : Tampilan Utuh dari Form Master Siswa setelah properties dari komponen komponen SWING nya

49. Kemudian ubah variable name dari JTable dengan cara klik kanan pada komponen JTable lalu klik
menu Change Variable Name dan ganti New Name menjadi tabel.
50. Setelah itu tinggal setting source code nya. Pada baris paling akhir di source nya sebelum } paling akhir
kita bikin objek untuk TableModel langsung ketik coding di bawah ini :
private javax.swing.table.DefaultTableModel tblModel = getDefaultTabelModel();

51. lalu kita buat fungsi getDefaultTabelModel(); dan Tabel untuk pengaturan table nya dengan coding
berikut ini tambahkan dibawah deklarasi objek TableModel sehingga seperti coding berikut:
private javax.swing.table.DefaultTableModel tblModel = getDefaultTabelModel();

private void Tabel(javax.swing.JTable tb,int lebar[])
{
tb.setAutoResizeMode(tb.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0; i<kolom;i++)
{
javax.swing.table.TableColumn
tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}


private javax.swing.table.DefaultTableModel getDefaultTabelModel()
{
return new javax.swing.table.DefaultTableModel(
new Object [][] {},
new String [] {"NIS","Nama","Alamat","JK","Jurusan",Kelas}
) {
boolean[] canEdit=new boolean [] {
false,false,false,false,false,false};

public boolean isCellEditable(int rowIndex,int columnIndex)
{
return canEdit [columnIndex];
}
};
}

52. Setelah itu kita setting di konstruktornya,untuk pengaturan lebar kolomnya.Tambahin source code
berikut:
this.setSize(600,700);
// kita modelkan tablenya sesuai dgn objek tblModel
tabel.setModel(tblModel);
// kita kirim data ke fungsi Tabel :nama tabelnya,dan lebar tiap kolom2nya
Tabel(tabel,new int[]{120,180,120,120,120,120});
setDefaultTable(); // untuk menampilkan data dari databse secara default

53. Form Siswa telah selesai dibuat selanjutnya tambahkan library MySQL J/Connector untuk dapat
koneksi dengan database. Caranya yaitu dengan klik kanan pada Libraries yang ada di dalam Project
kesiswaan lalu klik menu Add Library pada menu kontekstual. Maka akan muncul dialog berikut :

Gambar 41 : Tampilan Dialog untuk Add Library

54. Pilih MySQL JDBC Driver, kemudian klik tombol Add Library. Maka Jendela Project menjadi seperti
berikut :

Gambar 42 : Tampilan Jendela Project setelah penambahan library pada project kesiswaan

55. Dalam Libraries terdapat MySQL JDBC Driver. Selanjutnya kita harus membuat file untuk koneksi ke
database. Caranya yaitu dengan klik menu File | New File (Ctrl+N). Akan muncul kotak dialog step 1
56. Kemudian Pilih Project = kesiswaan, Categories = Java, dan File Types = Java Class lalu klik tombol Next
dan akan muncul kotak dialog step2. Lalu isikan Class Name = Koneksi, maka nama dari file menjadi
Koneksi.java lalu klik tombol Finish. Maka akan muncul source editor dari Koneksi.java
57. Kemudian isikan code berikut pada file Koneksi.java
package kesiswaan;

/**
*
* @author na2push
*/
public class Koneksi {
static String driver = "com.mysql.jdbc.Driver";
static String database =
"jdbc:mysql://localhost:3306/akademik";
static String user = "root";
static String pass = "smkn11bdg";
}

58. Kemudian untuk menampilkan data dari database secara default maka buat function setDefaultTable()
yang isinya sebagai berikut :
Pertama kali kita deklarasikan dulu variable array satu dimensi diluar fungsi supaya dikenal di semua
fungsi yang lain.
String data[]=new String[6]; // 6 adalah jumlah kolom dalam tabel

public void setDefaultTable()
{
String stat="";
try {
Class.forName(Koneksi.driver);
Connection
kon=DriverManager.getConnection(Koneksi.database,Koneksi.user,Koneksi.pass);
Statement stt=kon.createStatement();
String sql="select * from siswa";
ResultSet res=stt.executeQuery(sql);

while(res.next())
{
data[0]=res.getString(1);
data[1]=res.getString(2);
data[2]=res.getString(3);
data[3]=res.getString(4);
data[4]=res.getString(5);
data[5]=res.getString(6);
tblModel.addRow(data);
}
res.close();
stt.close();
kon.close();
}

catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

59. Cara menginput data ke dalam JTable dapat dilakukan dengan cara klik kanan tombol Simpan lalu
klik menu Event ->action ->Action Performed. Setelah itu buatlah coding dalam function yang baru
terbentuk seperti di bawah ini :
private void tbsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String jenkel="";
if(rblaki.isSelected())
jenkel="L";
else
jenkel="P";
try
{
Class.forName(Koneksi.driver);
Connection kon=DriverManager.getConnection(Koneksi.database,Koneksi.user,Koneksi.pass);
Statement stt=kon.createStatement();
String sql="insert into siswa
values('"+nis.getText()+"','"+nama.getText()+"','"+alamat.getText()+"','"+jenkel+"','"+jurusan.getSelectedItem().toString()+"',+txt
kelas.getText()+)";

stt.executeUpdate(sql);
data[0]=txtnis.getText();
data[1]=txtnama.getText();
data[2]=txtalamat.getText();
data[3]=jenkel;
data[4]=cmbjurusan.getSelectedItem().toString();
data[5]=txtkelas.getText();
tblModel.insertRow(0,data);
stt.close();
kon.close();
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

60. Cara menampilkan data dari JTable ke dalam Form yaitu dengan cara klik kanan pada komponen JTable
lalu pilih menu Event ->Mouse ->Mouse Clicked. Kita menggunakan metode klik,jika tablenya diklik
maka data dari table akan tertampil di Formnya.Lalu tambahkan coding dalam Fungsi
tabelMouseClicked seperti coding dibawah ini :
private void tabelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(evt.getClickCount()==2)
{
Tampil();
}
}
int row=0;

public void Tampil()
{
row=tabel.getSelectedRow();
txtnis.setText(tblModel.getValueAt(row,0).toString());
txtnama.setText(tblModel.getValueAt(row,1).toString());
txtalamat.setText(tblModel.getValueAt(row,2).toString());
if(tblModel.getValueAt(row,3).toString().equals("L"))
{
rblaki.setSelected(true);
rbpr.setSelected(false);
}
else
{
rbpr.setSelected(true);
rblaki.setSelected(false);
}

cmbjurusan.setSelectedItem(tblModel.getValueAt(row,4).toString());
txtkelas.setText(tblModel.getValueAt(row,5).toString());
}

61. Selanjutnya untuk edit data dapat dilakukan dengan cara klik kanan tombol Edit lalu klik menu Event
-> action ->Action Performed. Setelah itu buatlah coding pada function yang baru terbentuk dengan
coding sebagai berikut :

private void tbeditActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try
{
String jenkel="";
if(rblaki.isSelected())
jenkel="L";
else
jenkel="P";
Class.forName(Koneksi.driver);
Connection kon=DriverManager.getConnection(Koneksi.database,Koneksi.user,Koneksi.pass);
Statement stt=kon.createStatement();
String sql="update siswa set
nama='"+txtnama.getText()+"',alamat='"+txtalamat.getText()+"',jk='"+jenkel+"',jurusan='"+cmbjurusan.getSelectedItem().
toString()+"', kelas=+txtkelas.getText()+ where nis='"+txtnis.getText()+"'";

stt.executeUpdate(sql);
data[0]=txtnis.getText();
data[1]=txtnama.getText();
data[2]=txtalamat.getText();
data[3]=jenkel;
data[4]=cmbjurusan.getSelectedItem().toString();
data[5]=txtkelas.getText();
tblModel.removeRow(row);
tblModel.insertRow(row,data);
stt.close();
kon.close();
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

62. Kemudian untuk hapus data dapat dilakukan dengan cara klik kanan tombol Hapus, lalu klik menu
Event ->action ->Action Performed. Setelah itu buatlah coding pada function yang baru terbentuk
dengan coding sebagai berikut :

private void tbhapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try
{
Class.forName(Koneksi.driver);
Connection kon=DriverManager.getConnection(Koneksi.database,Koneksi.user,Koneksi.pass);
Statement stt=kon.createStatement();
String sql="delete from siswa where nis='"+txtnis.getText()+"'";

stt.executeUpdate(sql);
tblModel.removeRow(row);

stt.close();
kon.close();
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

63. Kemudian untuk tambah data dapat dilakukan dengan cara klik kanan tombol Tambah, lalu klik
menu Event->Action->ActionPerformed. Setelah itu tambahkan coding pada function atau method
yang baru terbentuk tersebut dengan coding sebagai berikut :
private void tbtambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.clear();
}

64. Jika coding tersebut sudah ditambahkan, maka nanti pasti akan terjadi error di source code siswa nya
dikarenakan method atau function clear() tersebut belum ada. Untuk itu maka harus dibuat method
atau function clear() nya di dalam kelas siswa tersebut.Coding berikut merupakan method clear() pada
kelas siswa :
public void clear() {
txtnis.setText("");
txtnama.setText("");
txtalamat.setText("");
rblaki.setSelected(true);
cmbjurusan.setSelectedItem("RPL");
txtkelas.setText("");
}

65. Dan untuk tombol Keluar dilakukan dengan klik kanan pada tombol Keluar lalu klik menu Event ->
Action -> Action Performed dan pada fungsi yang baru terbuat itu dapat ditambahkan coding berikut :

private void keluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

66. Jika semua coding sudah ditambahkan, maka tinggal di save dengan klik menu File |Save atau File |
Save All (Ctrl+S).
67. Setelah itu build project dengan klik menu Run | Build Main Project atau dengan cara klik kanan di atas
node proyek lalu klik menu Clean & Build pada menu kontekstual.
68. Jika tampilan jendela output menunjukkan Build Success, maka proses selanjutnya adalah menjalankan
program yaitu dengan cara klik menu Run | Run Main Project atau dengan cara klik kanan di atas node
proyek lalu klik menu Run pada menu kontekstual. Maka hasil nya akan tampil seperti berikut ini :


Gambar 43 : Tampilan hasil dari proses Run untuk proyek akademik




















Setelah membuat form master data siswa dari jobsheet sebelumnya, sekarang kita akan lanjutkan
melengkapi data master dengan membuat form master data guru dan mata pelajaran, sebelum membuat
form-form tersebut kita buat dulu database akademik dengan 5 table yaitu table siswa, guru, matpel,
jadwal dan nilai. Masing-masing struktur tablenya seperti berikut :

Struktur Database Akademik

Contoh isi data :

Setelah membuat table-table tersebut, sekarang kita membuat form master data guru dan form master
data mata pelajaran dengan cara yang sama seperti membuat form master data siswa pada jobsheet
sebelumnya

Tampilan Form Guru



Tampilan form Mata Pelajaran




Tampilan form data jadwal


Setelah membuat form untuk data master, sekarang kita akan buat form untuk data yang sifatnya transaksi,
dalam hal ini kita akan membuat form inputan untuk mengolah data nilai siswa yang akan diisi oleh
user/guru untuk melakukan penilaian kepada siswa.

Tampilan form Penilaian


Proses Pembuatan Form Penilaian
Untuk textfield Nama tidak bisa diedit oleh user, maka pada jendela properties centang pada editable
dihilangkan.


Kemudian untuk komponen JTable nama variabelnya diganti dengan tblSiswa. Setelah membuat tampilan
formnya, selanjutnya masuk ke jendela source dan buatlah variable tblModel sebelum kurawal tutup class
private javax.swing.table.DefaultTableModel tblModel = getDefaultTabelModel();
setelah itu buat method getDefaultTableModel dibawah pendeklarasian tblModel, codenya sebagai
berikut:
private javax.swing.table.DefaultTableModel getDefaultTabelModel()
{
return new javax.swing.table.DefaultTableModel(
new Object [][] {},
new String [] {"NIS","Nama","Nilai"}
) {
boolean[] canEdit=new boolean [] { false,false,true};

public boolean isCellEditable(int rowIndex,int columnIndex)
{
return canEdit [columnIndex];
}
};
}

Setelah itu buatlah method Tabel dibawah method getDefaultTabelModel dengan code berikut :
private void Tabel(javax.swing.JTable tb,int lebar[])
{
int kolom=tb.getColumnCount();
for(int i=0; i<kolom;i++)
{
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(20);
}
}

Setelah itu di bagian konstruktor dibawah method initComponents() tambahkan code berikut :
this.setLocationRelativeTo(null);
this.setSize(600, 700);
tblSiswa.setModel(tblModel);
Tabel(tblSiswa,new int[]{100,120,120});
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

lalu deklarasikan variable array satu dimensi diluar fungsi agar dikenali oleh semua fungsi.
String data[]=new String[2]; //2 adalah jumlah kolom dalam table

Kemudian dibawah pendeklarasian variabel array buat method tampil_nama() untuk menampilkan nama
guru secara otomatis ketika kita mengetikkan nip dengan code berikut :

public void tampil_nama(){
try{
Class.forName(Database.driver);
Connection kon=DriverManager.getConnection(Database.database,Database.user,Database.pass);
Statement stt=kon.createStatement();
String sql="select nama from guru where nip='"+txtNip.getText()+"'";
ResultSet res=stt.executeQuery(sql);
res.next();
txtNama.setText(res.getString(1));
res.close();
stt.close();
kon.close();
}

catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

Selanjutnya, kita akan membuat method tampil_matpel() agar pada cmbMatpel daftar mata pelajaran yang
tampil tidak semua melainkan hanya mata pelajaran yang diajarkan oleh guru yang bersangkutan.
Detail code tampil_matpel adalah sebagai berikut :
public void tampil_matpel(){
try{
Class.forName(Database.driver);
Connection
kon=DriverManager.getConnection(Database.database,Database.user,Database.pass);
Statement stt=kon.createStatement();
String sql="select matpel.nama_matpel from matpel,guru,jadwal " +
"where guru.nip=jadwal.nip and jadwal.kode_matpel=matpel.kode_matpel " +
"and guru.nip='"+txtNip.getText()+"' group by matpel.kode_matpel";

ResultSet res=stt.executeQuery(sql);
cmbMatpel.removeAllItems();
while(res.next())
{

cmbMatpel.addItem(res.getString(1));
}
res.close();
stt.close();
kon.close();
}

catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

Setelah membuat method tampil_matpel untuk cmbMatpel, sekarang kita akan membuat method
tampil_kelas() yang peruntukkannya sama seperti tampil_matpel, bahwa pada cmbKelas kita hanya akan
menampilkan daftar kelas yang diajar saja oleh guru yang bersangkutan, berikut detail dari method
tampil_kelas() :

public void tampil_kelas(){
try{
Class.forName(Database.driver);
Connection
kon=DriverManager.getConnection(Database.database,Database.user,Database.pass);
Statement stt=kon.createStatement();
String sql="select jadwal.kelas from guru,jadwal " +
"where guru.nip=jadwal.nip " +
"and guru.nip='"+txtNip.getText()+"'";

ResultSet res=stt.executeQuery(sql);
cmbKelas.removeAllItems();
while(res.next())
{

cmbKelas.addItem(res.getString(1));
}
res.close();
stt.close();
kon.close();
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

Setelah mengisi semua form, pada saat diklik button tampil siswa maka daftar siswa dari kelas yang dipilih
akan tampil pada Jtable, pada kolom nis dan nama tidak bisa diedit oleh user, maka kita set table contents
pada Jtable seperti ini


Atribut editable hanya dicentang pada kolom nilai, Kemudian buat method tampil_data() untuk
menampilkan data siswa secara otomatis dengan code berikut :
public void tampil_data()
{
String stat="";
try {
Class.forName(Database.driver);
Connection
kon=DriverManager.getConnection(Database.database,Database.user,Database.pass);
Statement stt=kon.createStatement();
String sql="select nis,nama from siswa inner join kelas on kelas.kelas=siswa.kelas and
siswa.kelas='"+cmbKelas.getSelectedItem()+"' group by nis";
ResultSet res=stt.executeQuery(sql);

while(res.next())
{
data[0]=res.getString(1);
data[1]=res.getString(2);

tblModel.addRow(data);
}
res.close();
stt.close();
kon.close();
}

catch(Exception exc)
{
System.err.println(exc.getMessage());
}
}

Setelah user memasukan nilai siswa pada Jtable kemudian mengklik tombol simpan untuk menyimpan data
nilai, maka kita harus membuat method simpan_nilai() sebagai berikut :

public void simpan_nilai(){
try {
Class.forName(Database.driver);
Connection
kon=DriverManager.getConnection(Database.database,Database.user,Database.pass);
Statement stt=kon.createStatement();
String query1="select kode_matpel from matpel where
nama_matpel='"+cmbMatpel.getSelectedItem()+"'";
ResultSet hasil=stt.executeQuery(query1);
hasil.next();
String kode=hasil.getString(1);

for(int i=0;i < tblSiswa.getRowCount();i++){
String query = "insert into nilai(nis,kode_matpel,nilai) values(?,?,?)";
PreparedStatement stmt=kon.prepareStatement(query);
stmt.setString(1,tblModel.getValueAt(i, 0).toString());
stmt.setString(2,kode);
stmt.setString(3,tblModel.getValueAt(i, 2).toString());
int h=stmt.executeUpdate();

}


}

catch(Exception exc)
{
System.err.println(exc.getMessage());
}
hapusTabel();
}
Kemudian buat method hapusTabel() untuk menghapus semua isi tabel dengan code berikut :

public void hapusTabel()
{
int r = tblModel.getRowCount();
for (int i = 0; i < r; i++)
{
tblModel.removeRow(0);
}
}

Untuk menampilkan method tampil_nama(),tampil_matpel(), dan tampil_kelas() secara otomatis ketika
kita mengetikkan nip yaitu dengan cara klik kanan pada komponen textfield nip kemudian klik menu
events->Key->keyRelease
private void txtNipKeyReleased(java.awt.event.KeyEvent evt) {
tampil_nama();
tampil_matpel();
tampil_kelas();
}

Untuk menampilkan data siswa yang dipilih sesuai kelasnya dapat dilakukan dengan cara klik kanan
komponen button btnTampil kemudian klik menu event->action->actionPerformed.
private void btnTampilActionPerformed(java.awt.event.ActionEvent evt) {
hapusTabel();
tampil_data();
}

Untuk menyimpan data nilai yang dimasukkan dapat dilakukan dengan cara klik kanan komponen button
tbSimpan kemudian klik menu event->action->actionPerformed.
private void tbsimpanActionPerformed(java.awt.event.ActionEvent evt) {
simpan_nilai();
}

Untuk merefresh Tabel yang ada di form dengan cara klik kanan komponen button tbRefresh dengan
kemudian pilih menu event->action->actionPerformed
private void tbRefreshActionPerformed(java.awt.event.ActionEvent evt) {
this.hapusTabel();
}


Membuat Menu
Buat file baru SWING GUI dengan nama menu.java. Kemudian pada tampilan form (Jframe) tambahkan
komponen JmenuBar dari komponen Palette Swing Menus. Setelah itu kemudian tambahkan 2 komponen
Jmenu pada JmenuBar. Kemudian ganti edit texnya, untuk JMenu1 = Master Data dan untuk JMenu2=
Transaksi. Selanjutnya tambahkan 4 komponen JmenuItem pada komponen JMenu1. Change variabel
name nya. Untuk JMenuItem1 = mn_siswa, dan edit text nya dengan Data Siswa, JMenuItem2 = mn_guru,
dan edit textnya Data Guru, JMenuItem3 = mn_matpel, edit textnya Data Matpel, dan untuk JMenuItem4
= mn_exit, dan edit textnya Exit. Kemudian untuk JMenu2 tambahkan 1 komponen JMenuItem. Change
variable name nya dengan nilai_siswa dan edit text nya dengan Nilai Siswa. Tampilan form nya menjadi
seperti gambar berikut :

Selanjutnya masuk ke jendela source dari menu.java. Kemudian pada bagian konstruktornya tambahkan
code berikut :
this.setLocationRelativeTo(null);
this.setSize(1000,1000);
Kemudian untuk mengaktifkan menu item mn_siswa dapat dilakukan dengan cara klik kanan pada
komponen JMenuItem mn_siswa kemudian klik menu event->action->actionPerformed. Berikut detail
code nya :
private void mn_siswaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
siswa s=new siswa();
s.setLocationRelativeTo(this);
s.setVisible(true);
}

Kemudian lakukan hal yang sama untuk mn_guru,mn_matpel,mn_exit dan nilai_siswa. Berikut detail code
dari masing masing menu item :

private void mn_guruActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
guru g=new guru();
g.setLocationRelativeTo(this);
g.setVisible(true);
}

private void mn_matpelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
matpel mp=new matpel();
mp.setLocationRelativeTo(this);
mp.setVisible(true);
}

private void mn_exitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
}

private void nilai_siswaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
nilai ns=new nilai();
ns.setLocationRelativeTo(this);
ns.setVisible(true);
}

Selanjutnya di bagian konstruktor kelas siswa, guru dan matpel tambahkan juga code berikut :
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

code tersebut upaya ketika jendela dari form2 menu item di close tidak akan mngclose semua jendela
project.