Program Penghitungan Indeks Prestasi Semester Mahasiswa (IP Semester)
Program Perhitungan IP Semester ini adalah program menghitung nilai mahasiswa dari beberapa mata kuliah yang diambil, dimulai dari meng input nama mahasiswa, NPM, Fakultas, Tahun Akademik dan Tanggal Pembuatan.
Dilanjutkan dengan menginput data mata kuliah, jumlah SKS dan nilai huruf yang diperoleh (mis: A, B, C, D, E) kemudian proses selanjutnya adalah meng klik tombol input untuk menampilkan mata kuliah, SKS dan nilai huruf pada tabel nilai.
Berikut ini adalah code yang diimbuhkan dalam tombol Input:
private void Input1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Menambahkan baris baru dengan inputan dari field
DefaultTableModel model= (DefaultTableModel)tabelNilai.getModel();
model.addRow(new Object[]{mataKuliahField.getText(),sksField.getText(),nilaiHurufField.getText()});
//Merubah nilai huruf menjadi nilai angka
int nilaiAngka;
if (nilaiHurufField.getText().equals("A")){
nilaiAngka= 4;
}
else if (nilaiHurufField.getText().equals("B")){
nilaiAngka= 3;
}
else if (nilaiHurufField.getText().equals("C")){
nilaiAngka= 2;
}
else if (nilaiHurufField.getText().equals("D")){
nilaiAngka= 1;
}
else nilaiAngka=0;
//Menghitung jumlah nilai dan nilai SKS lalu dikalkulasikan menjadi nilai IP
jumlahNilai= (nilaiAngka * Integer.parseInt(sksField.getText())) + jumlahNilai;
jumlahSKS= (Integer.parseInt(sksField.getText())) + jumlahSKS;
ip= jumlahNilai/jumlahSKS;
//Menset ipField dengan nilai dari ip
ipField.setText(String.valueOf(ip));
mataKuliahField.setText("");
sksField.setText("");
nilaiHurufField.setText("");
Untuk field mataKuliahField dan field-field lainnya sesuaikan dengan nama variabel yang berikan pada field itu. Selain itu jangan lupa untuk menambahkan variabel jumlahNilai, jumlahSKS, dan ip pada class tersebut dengan inisialisasi nilai nol dan beritipe double.
Untuk code program lengkapnya sebagai berikut :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* UTS OOP Teknik Informatika.java
*
* Created on 10 Apr 14, 9:06:35
*/
package counterPackage;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Aldy A. R. Setiawan
*/
public class FormNilaiMahasiswa extends javax.swing.JFrame {
private double jumlahNilai=0;
private double jumlahSKS=0;
private double ip=0;
/** Creates new form gpaCounterUI */
public FormNilaiMahasiswa() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
tabelNilai = new javax.swing.JTable();
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
mataKuliahField = new javax.swing.JTextField();
sksField = new javax.swing.JTextField();
nilaiHurufField = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
Input1 = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
ipField = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
TxtNamaMahasiswa = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
TxtNPM = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
CmbFakultas = new javax.swing.JComboBox();
jLabel8 = new javax.swing.JLabel();
TxtTA = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
CmbTgl = new javax.swing.JComboBox();
CmbBln = new javax.swing.JComboBox();
CmbTahun = new javax.swing.JComboBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowActivated(java.awt.event.WindowEvent evt) {
formWindowActivated(evt);
}
});
tabelNilai.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Mata Kuliah", "SKS", "Nilai"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(tabelNilai);
if (tabelNilai.getColumnModel().getColumnCount() > 0) {
tabelNilai.getColumnModel().getColumn(0).setResizable(false);
tabelNilai.getColumnModel().getColumn(1).setResizable(false);
tabelNilai.getColumnModel().getColumn(2).setResizable(false);
}
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Input Nilai"));
jLabel1.setText("Mata Kuliah");
mataKuliahField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mataKuliahFieldActionPerformed(evt);
}
});
jLabel2.setText("SKS");
jLabel3.setText("Nilai");
Input1.setText("Input");
Input1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Input1ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(mataKuliahField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)
.addComponent(sksField, javax.swing.GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)
.addComponent(nilaiHurufField, javax.swing.GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE))
.addGap(25, 25, 25))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(Input1)
.addContainerGap())))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(23, 23, 23)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(mataKuliahField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(sksField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(nilaiHurufField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Input1)
.addContainerGap())
);
jLabel4.setText("IP Semester");
jLabel5.setText("Nama Mahasiswa");
jLabel6.setText("NPM");
jLabel7.setText("Fakultas");
CmbFakultas.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Teknik Informatika", "Teknik Industri", "Teknik Perminyakan", "Teknik Kimia" }));
jLabel8.setText("Tahun Akademik");
jLabel9.setText("Tanggal");
CmbTgl.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Tanggal" }));
CmbBln.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Bulan", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" }));
CmbTahun.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Tahun" }));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ipField, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel8)
.addComponent(jLabel9))
.addGap(34, 34, 34)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TxtNamaMahasiswa)
.addComponent(TxtNPM)
.addComponent(CmbFakultas, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(TxtTA)
.addGroup(layout.createSequentialGroup()
.addComponent(CmbTgl, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CmbBln, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CmbTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(TxtNamaMahasiswa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(TxtNPM, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CmbFakultas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(TxtTA, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel9)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CmbTgl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbBln, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(ipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(23, 23, 23))
);
pack();
}//
private void Input1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Menambahkan baris baru dengan inputan dari field
DefaultTableModel model= (DefaultTableModel)tabelNilai.getModel();
model.addRow(new Object[]{mataKuliahField.getText(),sksField.getText(),nilaiHurufField.getText()});
//Merubah nilai huruf menjadi nilai angka
int nilaiAngka;
if (nilaiHurufField.getText().equals("A")){
nilaiAngka= 4;
}
else if (nilaiHurufField.getText().equals("B")){
nilaiAngka= 3;
}
else if (nilaiHurufField.getText().equals("C")){
nilaiAngka= 2;
}
else if (nilaiHurufField.getText().equals("D")){
nilaiAngka= 1;
}
else nilaiAngka=0;
//Menghitung jumlah nilai dan nilai SKS lalu dikalkulasikan menjadi nilai IP
jumlahNilai= (nilaiAngka * Integer.parseInt(sksField.getText())) + jumlahNilai;
jumlahSKS= (Integer.parseInt(sksField.getText())) + jumlahSKS;
ip= jumlahNilai/jumlahSKS;
//Menset ipField dengan nilai dari ip
ipField.setText(String.valueOf(ip));
mataKuliahField.setText("");
sksField.setText("");
nilaiHurufField.setText("");
}
private void mataKuliahFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
for(int tgl=0;tgl<31 br="" tgl=""> CmbTgl.addItem(tgl+1);
}
for(int thn=2015;thn>1990;thn--){
CmbTahun.addItem(thn-1);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormNilaiMahasiswa().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JComboBox CmbBln;
private javax.swing.JComboBox CmbFakultas;
private javax.swing.JComboBox CmbTahun;
private javax.swing.JComboBox CmbTgl;
private javax.swing.JButton Input1;
private javax.swing.JTextField TxtNPM;
private javax.swing.JTextField TxtNamaMahasiswa;
private javax.swing.JTextField TxtTA;
private javax.swing.JTextField ipField;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField mataKuliahField;
private javax.swing.JTextField nilaiHurufField;
private javax.swing.JTextField sksField;
private javax.swing.JTable tabelNilai;
// End of variables declaration
}31>
Terima kasih dan mohon maaf jika ada kekurangan
Tidak ada komentar:
Posting Komentar