Langsung saja pada tutorial , pertama yang kita lakukan adalah membuat project baru , tekan CTRL+SHIFT+N pada keyboad, pilih Java Application , klik Next.
Lalu buat nama project nya dan hapus ceklis pada Create Main Class dan klik finish.
Buatlah Package baru , silahkan perhatikan Gambar 3.
Berinama package tersebut
Pada package yang telah kita buat, kemudian buat sebuah frame gui.
Beri nama JFrame Form tersebut.
Langsung saja pada frame yang tampil , masukan 3 panel yang terdapat pada palette. Dimana panel tersebut digunakan untuk judul program , input nilai dan output nilai.
Selanjutnya masukan JTextField , JLable dan JComboBox pada palette ke Frame , sehingga kurang lebih seperti gambar dibawah setelah mengganti text defaultnya.
Selanjutnya memberi variable , untuk variable bisa samakan dengan variable yang saya buat :
jTextField1 = txtNama
jTextField2 = txtNim
jTextField3 = txtNilaiTgs
jTextField4 = txtNilaiKuis
jTextField5 = txtNilaiUts
jTextField6 = txtNilaiUas
jLable9 = outNama
jLabel11 = outNim
jLabel13 = outRerata
jLabel15 = outGrade
jLable17 = outKeterangan
jButton1 = hitung
jButton2 = reset
jButton3 = simpan
Untuk merubah variable , klik kanan pada komponen > pilih Change Variable Name > masukan nama variable baru dan OK.
Selanjutnya kita akan memasukan kode program untuk menghitung nilai, klik kanan pada button hitung pilih Event , pilih Action dan klik actionPerformed.
Kode program hitung akan di tulis di pada bagian ini, hapus komentar //TODO add your ....... dan replace dengan kode programnya.
Berikut kode programnya :
//untuk rerata
String nama = txtNama.getText();
String nim = txtNim.getText();
if (txtNilaiTgs.getText().isEmpty()||txtNilaiKuis.getText().isEmpty()|| txtNilaiUts.getText().isEmpty()||txtNilaiUas.getText().isEmpty()){
JOptionPane.showMessageDialog(null, "Maaf , form masih kosong");
}
else {
Double rerata = (Double.parseDouble(txtNilaiTgs.getText())+
Double.parseDouble(txtNilaiKuis.getText())+
Double.parseDouble(txtNilaiUts.getText())+Double.parseDouble (txtNilaiUas.getText()))/4;
outRerata.setText(rerata.toString().substring(0,5));
outNama.setText(nama);
outNim.setText(nim);
}
//Untuk grade
Double a = Double.parseDouble(outRerata.getText());
char grade=' ';
if (a >= 90.00){
grade = 'A';
outGrade.setText(""+grade);
}
else if (a >= 80.00 && a <=89.00 ){
grade ='B';
outGrade.setText(""+grade);
}
else if (a >= 70.00 && a <= 79.00){
grade = 'C';
outGrade.setText(""+grade);
}
else if (a >= 40.00 && a <= 69.00){
grade = 'D';
outGrade.setText(""+grade);
}
else if (a <= 39.00){
grade = 'E';
outGrade.setText(""+grade);
}
//keterangan
if (grade == 'A' || grade =='B' || grade == 'C'){
outKeterangan.setText("Dinyatakan Lulus");
}
else {
outKeterangan.setText("Dinyatakan Tidak Lulus");
}
Coba run program yang dibuat dengan tekan Shift+F6 pada keyboard,Selanjutnya kita akan menulis kode program reset, beri action pada tombol reset dan masukan kode program berikut :
txtNama.setText(null);
txtNim.setText(null);
txtNilaiTgs.setText(null);
txtNilaiKuis.setText(null);
txtNilaiUts.setText(null);
txtNilaiUas.setText(null);
outNama.setText(null);
outNim.setText(null);
outRerata.setText(null);
outGrade.setText(null);
outKeterangan.setText(null);
Kode program berikutnya adalah tombol simpan , disini data akan di export ke dalam bentuk file txt. try {
BufferedWriter simpan = new BufferedWriter (new FileWriter("nilai.txt"));
String hasil = "Nama : \t"+outNama.getText()+"\n"+
"Nim : \t"+outNim.getText()+"\n"+
"Rata-rata :\t"+outRerata.getText()+"\n"+
"Grade : \t"+outGrade.getText()+"\n"+
"Keterangan : \t"+outKeterangan.getText();
simpan.write(hasil);
JOptionPane.showMessageDialog(null,"Data berhasil disimpan");
simpan.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null ,e);
}
Jalankan kembali program dan lihat hasil export data nya pada folder NetbeansProject/menghitungNilaiMhs/ dengan nama file nilai.txt.Sekian tutorial untuk membuat Program Menghitung Nilai Mahasiswa Dengan Java GUI , masih banyak tutorial lain yang akan saya share.
Video tutorial Program Menghitung Nilai Mahasiswa Dengan Java GUI
mantap bang :thumbup
BalasHapusgimana tu cara buat background untk code program java nya bang?
BalasHapus:bingung
Kalau untuk background gambar bisa pakai jLabel Gik yang mudahnya , tapi kalo warna bisa pakai panel aja.
Hapusbukan background itunya bang..background script java yg bisa di copy tu yg warna hijo putih garis2..gmna cara bikinnya ?
BalasHapusCari aja mengenai blockquote berwarna gi.
HapusMantap...
BalasHapusTapi kalau untuk menghitung ipk akhir, bagaimana bang.?
boleh tidak dibuat projeknya..
soalnya lagi butuh contoh nihh...
Terima Kasih Admin
BalasHapussangat ngebantu :)
maaf mau tanya, apakah di gui bisa dikombinasikan dengan menggunakan perulangan do while?
BalasHapussangat bisa., tergantung kasus yang di buat.
HapusMaaf komandan, saya muncul error ini ketika execute hitung
BalasHapusException in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: JOptionPane.showMessageDialog
at gui.hitungNilaiMHS.hitungActionPerformed(hitungNilaiMHS.java:278)
at gui.hitungNilaiMHS.access$000(hitungNilaiMHS.java:12)
at gui.hitungNilaiMHS$1.actionPerformed(hitungNilaiMHS.java:97)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: JOptionPane.showMessageDialog
at gui.hitungNilaiMHS.hitungActionPerformed(hitungNilaiMHS.java:278)
at gui.hitungNilaiMHS.access$000(hitungNilaiMHS.java:12)
at gui.hitungNilaiMHS$1.actionPerformed(hitungNilaiMHS.java:97)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
Mohon bantuannya
coba di cek variabel sama library yang di gunakan.
HapusUpdate dong, Jika kita inputkan Nilai UAS/Tugas/UTS lebih dari 100 dan program error gimana?
BalasHapusScriptnya giamana biar bisa caranya gitu?
buat saja if(salahsatunilai > 100) {System.out.print("Nilai Terlalu Besar. Hanya bisa 1-100")}
Hapusbisa di kostum pakai joptionpane gan .
bang, kalo nilai nya sama semua kok hasilnya gk keluar y?
BalasHapussama kalo diatas nya rata-rata diberi jumlah nilai, code nya gmn bang?
bang mau tanya kalo dibuat di intelej idea bisa ? terima kasih
BalasHapusBg bagian simpan nya knpa error ya
BalasHapus