Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans ~ Coding IsmyNR - Cara Dan Contoh Pemrograman

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Awal mulanya saya mendapat inspirasi membuat program ini adalah ada pada sistem akademik di kampus, kadang saya membuat target nilai nilai yang harus didapatkan seperti nilai kehadiran, tugas, uts, dan uas agar mendapatkan nilai yang bagus lalu menghitungnya sebagaimana sistem perhitungan nilai diakademik.
 
Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans
Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Iseng saja saya akhirnya membuat program java GUI sederhana untuk menghitung nilai mahasiswa dengan netbeans agar lebih mudah untuk saya memperkirakan target nilai agar hasil nilai akhir bagus, daripada harus menghitungnya satu satu dan mencatatnya dibuku.

Program ini tidak menggunakan koneksi database, karena prorgam ini sederhana hanya menghitung saja ... langsung saja ke code program dan pembahasannya.

Membuat projek menggunakan JFrame

Alangkah baiknya ikuti tutorial jika anda paham apa itu variabel, package, class pada java gui agar tidak ada kesalahan dalam program yang ingin dibuat, karena kami sudah menguji coba program bahwa ini program dapat berjalan tanpa eror atau anda bisa download saja program ini di github ada di bawah postingan.

Buat projek java baru dengan nama terserah anda, lalu jangan buat main class nya dahulu yaitu jangan centang "create main class", karena akan menggunakan JFrame, jadi langsung saja buat projeknya.

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Lalu buat packagenya, klik kanan pada folder lalu pilih "New" ==> "source packages" pilih "java package..." isikan nama terserah atau ikutan saja dengan nama IP_Semester

Selanjutnya muncul package baru klik kanan pada package tersebut lalu pilih "New" ==> "JFrame From..." isikan nama terserah atau ikutan saja dengan nama FrameNilai , saya anggap anda pasti sudah mengerti cara-cara tersebut.

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Diartikel kali ini saya hanya akan menjelaskan tiap code dan bagaimana progam itu berjalan sesuai logikanya.

Membuat Program Aplikasi Menghitung Nilai Mahasiswa


Membuat Design Aplikasi

Tahap pertama anda ke bagian DESIGN, buat desain aplikasi nya dengan menambahkan form seperti label, button, table, text field, panel, sehingga akan menjadi seperti ini 

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans
Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans


Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Lalu ubah nama variabelnya sesuai dengan yang dibawah ini agar variabel sesuai dengan code code yang nanti kita buat.

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Menulis Code Program Aplikasi

Tahap kedua klik bagian SOURCE, disinilah kita isikan codingannya, buat library nya dulu agar tidak eror krna librarynya belum dipanggil, masukan code dibawah ini :
import java.awt.Frame;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
Letakan codenya seperti berikut ini
package IP_Semester;

import java.awt.Frame;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;

/**
 *
 * @author ISMYNR.XYZ
 */
public class FrameNilai extends javax.swing.JFrame {
Jangan samakan kode seperti diatas selain library diatas karena itu nama package dan class nya mungkin berbeda dengan yang anda buat.

Lalu buat table model, masukan code dibawah ini
DefaultTableModel model;
Taruh codenya seperti code berikut
public class FrameNilai extends javax.swing.JFrame {
    DefaultTableModel model;
    /**
     * Creates new form FrameNilai
     */
    public FrameNilai() {
        initComponents();
    }
Jangan samakan kode seperti diatas selain DefaultTableModel model; karena itu nama class nya mungkin berbeda dengan yang anda buat.

Buat method nya, masukan code dibawah ini
    private void setTable(){
        Object[] field = {"Mata Kuliah", "Kehadiran", "UTS", "Tugas", "UAS", "Nilai Akhir", "Nilai Huruf"};
        model = new DefaultTableModel(field, 0);
        tabel.setModel(model);
        JTableHeader th = tabel.getTableHeader();
        th.setReorderingAllowed(false);
        tabel.setRowHeight(30);
    }
    private String calculate(String... utm){
        for (int i = 0; i < utm.length; i++){
                if(utm[i].isEmpty()){
                    utm[i] = "0";
                }
        }
        double t1=0,t2=0,t3=0,t4=0;
        for (int i = 0; i < utm.length; i++) {
            double cv = Double.valueOf(utm[i]);
            switch (i) {
                case 0:
                    t1 = cv * 0.1;
                    break;
                case 1:
                    t2 = cv * 0.3;
                    break;
                case 2:
                    t3 = cv * 0.2;
                    break;
                case 3:
                    t4 = cv * 0.4;
                    break;
                default:
                    break;
            }
        }
        double jumlah = t1+t2+t3+t4;
        double as = Math.round(jumlah);
        String cvJumlah = indexOF(as);
        return cvJumlah;
    }
    
    public String indexOF(double b){
        String hsl;
        if(b %1 == 0){
            hsl = String.valueOf(b).substring(0,String.valueOf(b).lastIndexOf("."));
        }else{
            hsl = String.valueOf(b);
        }
        return hsl;
    }
    
    private String calAbjad(String jumlah){
        String nilai = "";
        double b = Double.valueOf(jumlah);
        if(b <= 100 && b >= 80){
            nilai = "A";
        }else if(b <= 79 && b >= 60){
            nilai = "B";
        }else if(b <= 69 && b >= 40){
            nilai = "C";
        }else if(b <= 39){
            nilai = "D";
        }
        return nilai;
    }
Taruh codenya dibawah code berikut
    public FrameNilai() {
        initComponents();
    }
Penjelasan :
Method setTable() untuk mensetting isi tabel yang nanti kita buat, membuat header tabel (nama kolom), variabel field itu untuk menampung nama kolom, lalu itu dijadikan table model

Method calculate (String... utm) untuk menghitung semua nilai sesuai dengan persentase nilai yang ada, saya membuat program dengan nilai kehadiran 10%, tugas 20%, nilai uts 30%, dan nilai uas 40%.
Arti String... utm pada parameter method adalah berapapun parameter yang dibutuhkan maka sebenarnya program tetap bisa berjalan dengan lancar selama nilai parameter pemanggilanya bertipe string,
Tetapi diprogram saya ini tidak dibuat seperti itu, karena disitu ada code double t1=0,t2=0,t3=0,t4=0; lalu switch case dan double jumlah = t1+t2+t3+t4; yang sudah jelas parameternya hanya bisa menampung 4 nilai. Math.round digunakan untuk membulatkan bilangan float(pecahan)

Method indexOF(double b) untuk mendeteksi bilangan, jika bilangan itu bernilai .0 maka hilangkan, selain itu hanya merubah tipe data saja, method ini digunakan pada method calculate saja

Method calAbjad(String jumlah) untuk memberikan nilai berupa huruf yang sudah diprogram pada method ini

Panggil method setTable(); untuk mensetting table saat awal program dijalankan, jadi code pada method setTable() seperti kolom kolom yang dibutuhkan akan disetting disini. Masukan code dibawah ini
setTable();
Taruh codenya seperti code berikut
    public FrameNilai() {
        initComponents();
        setTable(); //panggil method
    }

Membuat ActionPerformed pada Button

Klik kanan pada button untuk menghitung nilai mahasiswa "hitung dan simpan" ==> pilih event ==> pilih Action ==> pilih ActionPerformed, atau selain itu anda bisa klik kiri 2 kali langsung (hati-hati).

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans

Nanti akan muncul method baru seperti dibawah ini
private void txtHitungSimpanActionPerformed(java.awt.event.ActionEvent evt){
    // TODO add your handling code here:
}
Silahkan isikan didalam method tersebut, jadi ganti saja tulisan // TODO add your handling code here: dengan code berikut
        String MK = txtMK.getText();
        String hadir = txtKehadiran.getText();
        String uts = txtUts.getText();
        String tugas = txtTugas.getText();
        String uas = txtUas.getText();
        
        if(MK.isEmpty()){
            JOptionPane.showMessageDialog(this, "Masukan Nama Mata Kuliah Terlebih Dahulu");
            txtMK.requestFocus();
        }else{
            String[] data = {hadir, uts, tugas, uas};
            
            String jml = calculate(data);
            Object[] data2 = {MK, hadir, uts, tugas, uas, jml, calAbjad(jml)};
            model.addRow(data2);
        }
Jadi codenya akan seperti ini
    private void txtHitungSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                                
        String MK = txtMK.getText();
        String hadir = txtKehadiran.getText();
        String uts = txtUts.getText();
        String tugas = txtTugas.getText();
        String uas = txtUas.getText();
        
        if(MK.isEmpty()){
            JOptionPane.showMessageDialog(this, "Masukan Nama Mata Kuliah Terlebih Dahulu");
            txtMK.requestFocus();
        }else{
            String[] data = {hadir, uts, tugas, uas};
            
            String jml = calculate(data);
            Object[] data2 = {MK, hadir, uts, tugas, uas, jml, calAbjad(jml)};
            model.addRow(data2);
        }
    }           

Selanjutnya caranya sama seperti diatas, pada tombol "Clear Field" dikasih actionperformed isikan dengan code berikut
        txtMK.setText("");
        txtKehadiran.setText("");
        txtUts.setText("");
        txtTugas.setText("");
        txtUas.setText("");
Penjelasan :
clear field artinya membersihkan / menghapus semua isi filed (kolom isi) yang sebelumnya ada tulisannya. Menggunakan settext karena akan mensetting variabel dari pallet text field untuk mensettingnya menjadi "" (kosong)

Dan selanjutnya pada tombol "Clear Row" dikasih actionperformed isikan dengan code berikut
        int[] pilih = tabel.getSelectedRows();
        if(pilih.length > 0){
            for(int i = pilih.length-1; i >= 0; i--){
                model.removeRow(pilih[i]);
            }
        }else{
            JOptionPane.showMessageDialog(this, "Pilih row yang ingin dihapus");
        }
Penjelasan :
untuk menghapus row (baris) pada tabel, bisa langsung semua, bisa satu satu, karena modelnya dengan getSelectedRow, yaitu mengambil pilihan (select) yang user masukan, jadi ketika user memilih (select) 1 row / 2 row maka itu akan terhapus dari tabel, jika tidak ada row yang dipilih maka tidak ada aksi.

Jika nama PACKAGE, JFRAME FORM, dan VARIABEL nya tidak sama dengan tutorial yang diperlihatkan diatas maka anda bisa langsung melihat dan mendownload source codenya di github


Jadi beginilah prorgam java GUI untuk menghitung nilai akhir mahasiwa dengan netbeans itu berjalan ...

Program Java GUI Menghitung Nilai Mahasiswa Dengan Netbeans


tag:
membuat program nilai mahasiswa dengan netbeans
coding netbeans nilai mahasiswa
program menghitung nilai mahasiswa dengan java gui
menghitung nilai mahasiswa
prorgam java gui
cara membuat program menghitung nilai mahasiswa dengan java gui
menghitung nilai akhir mahasiswa dengan java gui
membuat aplikasi menghitung nilai mahasiswa
logoblog

Share :

2 comments:

  1. beberapa gambar di media source nya hilang tidak bisa dibuka , mohon dicek dan diupload ulang

    ReplyDelete
  2. Slamat malam Pak. Izin bertanya, apakah saya bisa mengunduh aplikasi ini untuk saya gunakan pribadi sebagai dosen? Terima kasih pak

    ReplyDelete

Berkomentarlah jika ada pertanyaan, Kesan pembaca atau saran yang membangun blog ini.
> Gunakan akun google dan ceklis kolom (Notify Me) agar mendapat notifikasi balasan komentar

 
Back to Top