• Tidak ada hasil yang ditemukan

Adapun saran yang dapat diberikan untuk mengembangkan penelitian ini adalah sebagai berikut :

1. Pemilihan guru berprestasi hendaknya dibandingkan dengan metode Sistem Pendukung Keputusan lainnya. Seperti metode Weighted Sum Model dan Simple additive Weighting agar terlihat perbandingannya sehingga akan menghasilkan data yang lebih efektif dan efesien.

2. Aplikasi yang dirancang hendaknya dibuat dalam versi Mobile, Seperti pada platform Android maupun IOS.

3. Analisis yang dilakukan hendaknya lebih mendalam lagi, sehingga dapat mengetahui kompleksitas dari metode Weighted Product Model dan Profile Matching.

Dwijaya, Ilman Fahma. 2010. Sistem pendukung keputusan kenaikan jabatan pada PT. SYSMEX menggunakan metode profile matching. Universitas Komputer Indonesia: Bandung.

Hidayat, AL & Pinandita, T. 2013. Sistem Pendukung Keputusan Evaluasi Kinerja Karyawan Untuk Promosi Jabatan Struktural Pada Bimbingan Belajar Sciencemaster Menggunakan Metode Gap Kompetensi (Profile matching). Jurnal Teknologi Technoscienta 5(2): 1979-8415.

Keen, P.G.W. and Scott-Morton, M.S. 1978. Decision Support Systems: An organisational perspective, Addison-Wesley: Reading (Mass.).

Kementerian Pendidikan dan Kebudayaan Direktorat Jenderal Pendidikan Dasar. 2013. Pedoman Pemilihan Guru Berprestasi SD dan SMP Tingkat Nasional Tahun 2013. (Online) http:// id.scribd.com/doc/146615555/i-Pedoman-Guru-Berprestasi-(2013 Juni 9(

Kusumadewi, S., Hartati, S., Harjoko A. & Wardoyo, R. 2006. Fuzzy Multi-Attribute Decision Making (Fuzzy MADM). Graha Ilmu: Yogyakarta

Normawati, syarifah. 2014. Permasalahan mendasar pendidikan di indonesia. Jurnal manajemen pendidikan Islam Al-Idarah.Vol 1 No. 1

Pambayun, KH., RA, Setyawan & BD, Setiawan. 2013. Sistem pendukung keputusan seleksi penerimaan asisten praktikum menggunakan metode profile matching. Skripsi. Universitas Brawijaya : Malang.

Primarizky, A. 2013. Pembangunan sistem pendukung keputusan promosi jabatan menggunakan metode Weigthed Product (WP) study kasus: Badan Kepegawaian Negara Kantor Wilayah III Bandung. Skripsi. Universitas Pendidikan Indonesia: Bandung.

Savitha, K. dan Chandrasekar, C. 2011. Vertical Handover decision schemes using SAW and WPM for Network selection in Heterogeneous Wireles Netwoks. Double Blind Peer Reviewed International Research Journal. Vol 11 (9) : 19-24.

Suryadi, Kadarsah dan Ramdhani, M. Ali. 1998. Sistem Pendukung Keputusan : Suatu Wacana Struktural Idelisasi dan Implementasi Konsep Pengambilan Keputusan. Remaja Rosdakarya Offset: Bandung.

Turban, E, 2005. Decision Support System and Intelligent Systems.Yogyakarta :PenerbitAndi.

Wibisno, Dermawan. 2002. Riset Bisnis: Panduan bagi praktisi dan akademisi. PT. Gramedia Pustaka Utama: Jakarta.

Zhou, Mark. 2011. Communication in Computer and Information Science. Springer: New York.

Kode Program Mainform: package pemilihanguru; /** * * @author Ultimate */

public class home extends javax.swing.JFrame { /**

* Creates new form home */

public home() {

initComponents();

setLocationRelativeTo(null); }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose();

}

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose(); /

}

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

home frm = new home(); frm.show();

dispose();

}

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

about frm = new about (); frm.show();

dispose();

}

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

Help frm = new Help (); frm.show();

dispose();

}

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {

DataGuru frm = new DataGuru (); frm.show();

dispose();}

Kode Program Weighted Product Model:

package pemilihanguru; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.DecimalFormat; import java.util.ArrayList; import javax.swing.JOptionPane; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableRowSorter; /** * * @author Ultimate */

public class FormGuru extends javax.swing.JFrame { double totaltime;

/**

* Creates new form FormGuru */

public FormGuru() { initComponents();

setLocationRelativeTo(null); }

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent

evt) { ProfileMatching frm = new ProfileMatching (); frm.show();

dispose();

}

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent

evt) { home frm = new home ();

frm.show(); dispose();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

//DefaultTableModel model = (DefaultTableModel) jTable2.getModel ();

if(jTextField1.getText().equals("")||

jTextField2.getText().equals("")||jTextField3.getText().equals("")|| jTextField4.getText().equals("")||jTextField5.getText().equals(""))

JOptionPane.showMessageDialog(this, "Bobot harus terisi semua",

"Error", JOptionPane.ERROR_MESSAGE); else {

int[] a = new int[5]; try { a[0] = Integer.parseInt(jTextField1.getText()); a[1] = Integer.parseInt(jTextField2.getText()); a[2] = Integer.parseInt(jTextField3.getText()); a[3] = Integer.parseInt(jTextField4.getText()); a[4] = Integer.parseInt(jTextField5.getText()); }

catch (NumberFormatException e){

JOptionPane.showMessageDialog(this, "Isi bobot dengan angka"); }

if (a[0]+ a[1]+ a[2] + a[3]+ a[4] != 100) {

JOptionPane.showMessageDialog(this, "Bobot harus 100%"); }

else {

double[] weights = new double[5]; boolean next = true;

//masukkan bobot

long start = System.currentTimeMillis(); try { weights[0] = Integer.parseInt(jTextField1.getText()) / 100.; weights[1] = Integer.parseInt(jTextField2.getText()) / 100.; weights[2] = Integer.parseInt(jTextField3.getText()) / 100.; weights[3] = Integer.parseInt(jTextField4.getText()) / 100.; weights[4] = Integer.parseInt(jTextField5.getText()) / 100.; } catch(Exception e) { next = false;

JOptionPane.showMessageDialog(this, "Isi bobot dengan angka",

"Error", JOptionPane.ERROR_MESSAGE); }

if(next) {

int row = jTable1.getRowCount(); WPMResult[] R = new WPMResult[row];

DecimalFormat format = new DecimalFormat("0.0000"); for(int i = 0; i < row; i++) {

//main form double[] values = { Math.pow(Double.parseDouble(jTable1.getValueAt(i, 1).toString()), weights[0]), Math.pow(Double.parseDouble(jTable1.getValueAt(i, 2).toString()), weights[1]),

Math.pow(Double.parseDouble(jTable1.getValueAt(i, 3).toString()), weights[2]), Math.pow(Double.parseDouble(jTable1.getValueAt(i, 4).toString()), weights[3]), Math.pow(Double.parseDouble(jTable1.getValueAt(i, 5).toString()), weights[4]) };

double total = values[0] * values[1] * values[2] * values[3] * values[4];

R[i] = new WPMResult(

jTable1.getValueAt(i, 0).toString(), Double.parseDouble(format.format(values[0])), Double.parseDouble(format.format(values[1])), Double.parseDouble(format.format(values[2])), Double.parseDouble(format.format(values[3])), Double.parseDouble(format.format(values[4])), Double.parseDouble(format.format(total))); }

ArrayList<WPMResult> results = new ArrayList<>(); String tableName = "";

switch(jComboBox1.getSelectedIndex()){ case 1: tableName = "wpm"; break;

case 2: tableName = "hasil_wpm_2013_2014"; break; case 3: tableName = "hasil_wpm_2012_2013"; break; }

try {

Connection c =

DriverManager.getConnection("jdbc:mysql://localhost/wahidin", "root" , "");

Statement stat = c.createStatement();

stat.execute("truncate table " + tableName); for(int i = 0; i < R.length; i++)

stat.execute("insert into " + tableName + " value (\"" + R[i].getNama() + "\", " + R[i].getKehadiran() + ", " +

R[i].getKedisiplinan() + ", " + R[i].getPenilaian_Kompetensi() + ", " + R[i].getPenilaian_Pembelajaran() + ", " +

R[i].getPenilaian_Seharihari() + ", " + R[i].getResult() + ")"); ResultSet set = stat.executeQuery("select * from " + tableName + " order by Hasil DESC");

while(set.next()) results.add(new WPMResult(set.getString(GuruDb.COLUMN_LABEL[1]), set.getDouble(GuruDb.COLUMN_LABEL[2]), set.getDouble(GuruDb.COLUMN_LABEL[3]), set.getDouble(GuruDb.COLUMN_LABEL[4]), set.getDouble(GuruDb.COLUMN_LABEL[5]), set.getDouble(GuruDb.COLUMN_LABEL[6]), set.getDouble("Hasil"))); }

catch (SQLException e) { e.printStackTrace(); } AbstractTableModel model = new AbstractTableModel() { @Override

public int getRowCount() { return row;

}

@Override

public int getColumnCount() { return 7;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { WPMResult wpm = results.get(rowIndex);

switch(columnIndex) {

case 0: return wpm.getNama(); case 1: return wpm.getKehadiran(); case 2: return wpm.getKedisiplinan();

case 3: return wpm.getPenilaian_Kompetensi(); case 4: return wpm.getPenilaian_Pembelajaran(); case 5: return wpm.getPenilaian_Seharihari(); case 6: return wpm.getResult();

}

return null;

} @Override

public String getColumnName(int column) { if(column == 6)

return "Hasil";

return GuruDb.COLUMN_HEADERS[column + 1]; }};

totaltime = (System.currentTimeMillis() - start) / 100.;

JOptionPane.showMessageDialog(this, totaltime, "Running Time", JOptionPane.ERROR_MESSAGE);

jLabel2.setText(" Running Time = " + String.valueOf(totaltime)); jTable2.setModel(model);

//jTable2.setRowSorter(new TableRowSorter<>(model)); }}}}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

if(javax.swing.JOptionPane.showConfirmDialog(this,"Yakin ingiin

hapus?","Hapus?",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jTable2.setModel(new AbstractTableModel() {

public int getRowCount() { return 0;}

public int getColumnCount() { return 0;}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { return null;}});}}

evt) { about frm = new about ();

frm.show();

dispose(); // TODO add your handling code here: }

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); }

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

jTable1.setModel(new GuruDb(1)); }

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

Help frm = new Help (); frm.show();

dispose();

}

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {

DataGuru frm = new DataGuru (); frm.show();

dispose(); } /* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new FormGuru().setVisible(true); }

}); }

public class WPMResult extends db.model.Guru { private double result;

public WPMResult(String nama, double kehadiran, double Kedisiplinan, double Penilaian_Kompetensi, double

Penilaian_Pembelajaran, double Penilaian_Seharihari, double result) { super(nama, kehadiran, Kedisiplinan,

Penilaian_Kompetensi, Penilaian_Pembelajaran, Penilaian_Seharihari); this.result = result;}

public double getResult() { return result}}

Kode Program Profile Matching

package pemilihanguru;

import java.text.DecimalFormat; import java.util.ArrayList; import javax.swing.JOptionPane;

/** *

* @author Ultimate */

public class ProfileMatching extends javax.swing.JFrame { double totaltime;

/**

* Creates new form ProfileMatching */ public ProfileMatching() { initComponents(); jTable1.setModel(new GuruDb(1)); setLocationRelativeTo(null); }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

home frm = new home (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

about frm = new about (); frm.show();

dispose(); // TODO add your handling code here: }

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

if (jTable3.getRowCount() > 0 ) {

CFdanSF frm = new CFdanSF(jTable3.getModel(), totaltime); frm.setVisible(true);

dispose(); }

else

JOptionPane.showMessageDialog(this, "Hitung Gap terlebih dahulu");

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText("5"); jTextField2.setText("4"); jTextField3.setText("4"); jTextField4.setText("4"); jTextField5.setText("4"); }

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { if(jTextField1.getText().equals("") || jTextField2.getText().equals("") || jTextField3.getText().equals("") || jTextField4.getText().equals("") || jTextField5.getText().equals(""))

JOptionPane.showMessageDialog(this, "Profil target harus terisi semua", "Error", JOptionPane.ERROR_MESSAGE);

else if (jTable1.getRowCount()==0)

JOptionPane.showMessageDialog(this, "Tampilkan data guru terlebih dahulu", "Error", JOptionPane.ERROR_MESSAGE);

else {

long start = System.currentTimeMillis(); int[] val = new int [6];

ArrayList<Gap> gaps = new ArrayList<>();

for ( int i=0; i<jTable1.getRowCount(); i++) { val[0] = getRange1(Double.parseDouble(jTable1.getValueAt(i, 1).toString())); val[1] = getRange1(Double.parseDouble(jTable1.getValueAt(i, 2).toString())); val[2] = getRange2(Double.parseDouble(jTable1.getValueAt(i, 3).toString())); val[3] = getRange3(Double.parseDouble(jTable1.getValueAt(i, 4).toString())); val[4] = getRange4(Double.parseDouble(jTable1.getValueAt(i, 5).toString())); Gap gap = new Gap(

(String) jTable1.getValueAt(i, 0), val[0] - Double.parseDouble(jTextField1.getText()), val[1] - Double.parseDouble(jTextField2.getText()), val[2] - Double.parseDouble(jTextField3.getText()), val[3] - Double.parseDouble(jTextField4.getText()), val[4] - Double.parseDouble(jTextField5.getText())); gaps.add (gap ); }

totaltime = (System.currentTimeMillis() - start) / 100.; //JOptionPane.showMessageDialog(this, totaltime);

AbstractTableModel model = new AbstractTableModel() { @Override

public int getRowCount() { return gaps.size(); }

@Override

public int getColumnCount() {

return GuruDb.COLUMN_HEADERS.length - 1; }

@Override

public Object getValueAt(int rowIndex, int columnIndex) {

Gap gap = gaps.get(rowIndex);

DecimalFormat r = new DecimalFormat("0"); switch(columnIndex){

case 0: return gap.name;

case 1: return r.format(gap.gapKehadiran); case 2: return r.format(gap.gapKedisiplinan); case 3: return r.format(gap.gapPenilaian_Kompetensi); case 4: return r.format(gap.gapPenilaian_Pembelajaran); case 5: return r.format(gap.gapPenilaian_Seharihari); } return ""; } @Override

public String getColumnName(int column) { return GuruDb.COLUMN_HEADERS[column + 1]; } }; jTable2.setModel(model); } }

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

if (jTable2.getRowCount() == 0 )

JOptionPane.showMessageDialog(this, "Hitung Gap terlebih dahulu", "Error", JOptionPane.ERROR_MESSAGE);

else {

long start = System.currentTimeMillis(); ArrayList<Gap> gaps = new ArrayList<>(); for(int i=0; i<jTable2.getRowCount(); i++){ gaps.add(new Gap( (String) jTable2.getValueAt(i, 0), getNilaiBobot(Integer.parseInt(jTable2.getValueAt(i, 1).toString())), getNilaiBobot(Integer.parseInt(jTable2.getValueAt(i, 2).toString())),

getNilaiBobot(Integer.parseInt(jTable2.getValueAt(i, 3).toString())), getNilaiBobot(Integer.parseInt(jTable2.getValueAt(i, 4).toString())), getNilaiBobot(Integer.parseInt(jTable2.getValueAt(i, 5).toString())) )); }

totaltime += (System.currentTimeMillis() - start) / 100.; //JOptionPane.showMessageDialog(this, totaltime);

AbstractTableModel model = new AbstractTableModel() { @Override

public int getRowCount() { return gaps.size(); }

@Override

public int getColumnCount() {

return GuruDb.COLUMN_HEADERS.length - 1; }

@Override

public Object getValueAt(int rowIndex, int columnIndex) {

Gap gap = gaps.get(rowIndex); switch(columnIndex){

case 0: return gap.name;

case 1: return gap.gapKehadiran; case 2: return gap.gapKedisiplinan;

case 3: return gap.gapPenilaian_Kompetensi; case 4: return gap.gapPenilaian_Pembelajaran; case 5: return gap.gapPenilaian_Seharihari; }

return ""; }

@Override

public String getColumnName(int column) { return GuruDb.COLUMN_HEADERS[column + 1]; } }; jTable3.setModel(model); } } private int getRange1(double val) {

if(val <= 100 && val >= 91) return 5;

else if( val <= 90 && val >= 76) return 4;

else if (val <= 75 && val >= 61) return 3;

else if (val <=60 && val >= 51) return 2;

return 1; }

private int getRange2(double val) { if (val <= 56 && val >= 49) return 5;

else if (val <=48 && val >= 41) return 4;

else if (val <= 40 && val >= 33) return 3;

else if (val <= 32 && val >= 25) return 2;

return 1; }

private int getRange3(double val) { if (val <= 96 && val >= 87) return 5;

else if (val <=86 && val >= 66) return 4;

else if (val <= 65 && val >= 45) return 3;

else if (val <= 44 && val >= 24) return 2;

return 1; }

private int getRange4(double val) { if (val <= 1 && val >= 0.88) return 5;

else if (val <=0.87 && val >=0.77) return 4;

else if (val <= 0.76 && val >= 0.64) return 3;

else if (val <= 0.63 && val >=0.53) return 2;

return 1; }

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {

if(javax.swing.JOptionPane.showConfirmDialog(this,"Yakin ingiin

hapus?","Hapus?",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jTable2.setModel(new AbstractTableModel() {

public int getRowCount() { return 0;

}

public int getColumnCount() { return 0;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { return null;

}); }

}

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {

if(javax.swing.JOptionPane.showConfirmDialog(this,"Yakin ingiin

hapus?","Hapus?",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jTable3.setModel(new AbstractTableModel() {

public int getRowCount() { return 0;

}

public int getColumnCount() { return 0;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { return null;

} }); }

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); }

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

Help frm = new Help (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {

DataGuru frm = new DataGuru (); frm.show();

dispose(); // TODO add your handling code here: }

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { String tableName = ""; switch(jComboBox1.getSelectedIndex()){ case 1: tableName = "guru"; break; case 2:

tableName = "tahun_ajaran_2013_2014"; break; case 3: tableName = "tahun_ajaran_2012_2013"; break; } if(jComboBox1.getSelectedIndex() > 0)

jTable1.setModel(new GuruDb(1, tableName)); private double getNilaiBobot(int gap){

switch (gap){ case 0: return 5; case 1: return 4.5; case -1: return 4; case 2: return 3.5; case -2: return 3; case 3: return 2.5; case -3: return 2; case 4: return 1.5; case -4: return 1; } return 0; }

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new ProfileMatching().setVisible(true); }

}); }

private class Gap { public String name;

public double gapKehadiran, gapKedisiplinan, gapPenilaian_Kompetensi, gapPenilaian_Pembelajaran, gapPenilaian_Seharihari;

private Gap(String name, double gapKehadiran, double gapKedisiplinan, double gapPenilaian_Kompetensi, double gapPenilaian_Pembelajaran,

double gapPenilaian_Seharihari){ this.name = name;

this.gapKedisiplinan = gapKedisiplinan; this.gapPenilaian_Kompetensi = gapPenilaian_Kompetensi; this.gapPenilaian_Pembelajaran = gapPenilaian_Pembelajaran; this.gapPenilaian_Seharihari = gapPenilaian_Seharihari; } }

Kode Program CFdanSF package pemilihanguru; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.DecimalFormat; import java.util.ArrayList; import javax.swing.JOptionPane; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; /** *

* @author Ahmad Rasyidi */

public class CFdanSF extends javax.swing.JFrame { private TableModel model ;

private Connection c; private double totaltime; /**

* Creates new form CFdanSF */

public CFdanSF(TableModel model, double time) { initComponents(); jTextField1.setText("60"); jTextField2.setText("40"); this.model = model ; totaltime = time; setLocationRelativeTo(null); }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose(); // TODO add your handling code here: }

private void

jTextField2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

}

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

home frm = new home (); frm.show();

dispose();

}

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

about frm = new about (); frm.show();

dispose(); }

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

DataGuru frm = new DataGuru (); frm.show();

dispose();

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

Statement stat = null; try { c = DriverManager.getConnection("jdbc:mysql://localhost/wahidin", "root" , ""); stat = c.createStatement(); stat.execute("truncate table pm"); } catch (SQLException e) { e.printStackTrace(); }

long start = System.currentTimeMillis();

Result[] R = new Result[jTable1.getRowCount()]; for(int i = 0; i < R.length; i++) {

double x = Double.parseDouble(jTable1.getValueAt(i, 1).toString()) * Double.parseDouble(jTextField1.getText()), y = Double.parseDouble(jTable1.getValueAt(i, 2).toString()) * Double.parseDouble(jTextField2.getText()), result = (x / 100) + (y / 100);

R[i] = new Result(jTable1.getValueAt(i, 0).toString(), result); try {

stat.execute("insert into pm value (\"" + R[i].nama + "\", " + result + ")");

} catch(SQLException e) { e.printStackTrace(); } }

ArrayList<Result> resultFromDb = new ArrayList<>(); try {

ResultSet data = stat.executeQuery("select * from pm order by hasil desc"); while(data.next()) resultFromDb.add(new Result(data.getString("nama"), data.getDouble("hasil"))); } catch(SQLException e) { e.printStackTrace(); }

AbstractTableModel model = new AbstractTableModel() { @Override

public int getRowCount() {

return CFdanSF.this.model.getRowCount(); }

@Override

public int getColumnCount() { return 2;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { DecimalFormat df = new DecimalFormat("0.000");

Result r = resultFromDb.get(rowIndex); switch(columnIndex) {

case 0: return r.nama;

case 1: return df.format(r.hasil); }

return ""; } @Override

public String getColumnName(int column) { switch(column) {

case 0: return "Nama"; case 1: return "Ranking"; }

return ""; } };

totaltime += (System.currentTimeMillis() - start) / 1000.; JOptionPane.showMessageDialog(CFdanSF.this, totaltime, "Running Time", JOptionPane.ERROR_MESSAGE);

jLabel9.setText(" Running Time " + String.valueOf(totaltime));

jTable2.setModel(model);

jTable2.setRowSorter(new TableRowSorter<>(model)); }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

//JOptionPane.showMessageDialog(this, "Harus terisi semua!", "Error", JOptionPane.ERROR_MESSAGE);

long start = System.currentTimeMillis(); jTable1.setModel(new AbstractTableModel() { @Override

public int getRowCount() { return model.getRowCount(); }

@Override

public int getColumnCount() { return 3;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { DecimalFormat df = new DecimalFormat("0.00");

switch(columnIndex) {

case 0: return model.getValueAt(rowIndex, 0); case 1: double bobotKehadiran = Double.parseDouble(model.getValueAt(rowIndex, 1).toString()), bobotPenilaian_Kompetensi = Double.parseDouble(model.getValueAt(rowIndex, 3).toString()), bobotPenilaian_Pembelajaran = Double.parseDouble(model.getValueAt(rowIndex, 4).toString()); return df.format((bobotKehadiran + bobotPenilaian_Kompetensi + bobotPenilaian_Pembelajaran) / 3); case 2: double bobotKedisiplinan = Double.parseDouble(model.getValueAt(rowIndex, 2).toString()), bobotPenilaian_Seharihari = Double.parseDouble(model.getValueAt(rowIndex, 3).toString()); return df.format((bobotKedisiplinan + bobotPenilaian_Seharihari) / 2); } return ""; } @Override

public String getColumnName(int column) { switch(column) {

case 0: return "Nama";

case 1: return "Core Factor"; case 2: return "Secondary Factor"; }

return ""; }

});

totaltime += (System.currentTimeMillis() - start) / 1000.; //JOptionPane.showMessageDialog(CFdanSF.this, totaltime); }

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

if(javax.swing.JOptionPane.showConfirmDialog(this,"Yakin ingiin

hapus?","Hapus?",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jTable2.setModel(new AbstractTableModel() {

public int getRowCount() { return 0;

}

public int getColumnCount() { return 0;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { return null;

} }); }

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

if(javax.swing.JOptionPane.showConfirmDialog(this,"Yakin ingiin

hapus?","Hapus?",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jTable1.setModel(new AbstractTableModel() {

public int getRowCount() { return 0;

}

public int getColumnCount() { return 0;

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) { return null;

} }); }

}

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

Help frm = new Help (); frm.show();

dispose(); // TODO add your handling code here: } private class Result {

private String nama; private double hasil;

private Result(String nama, double hasil) { this.nama = nama;

this.hasil = hasil; }

}

Kode Program About package pemilihanguru; /**

*

* @author Ahmad Rasyidi */

public class about extends javax.swing.JFrame { /**

* Creates new form about */

public about() { initComponents();

setLocationRelativeTo(null); }

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

home frm = new home (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

about frm = new about (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

frm.show();

dispose(); // TODO add your handling code here: }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

aboutnext frm = new aboutnext (); frm.show();

dispose();// TODO add your handling code here: }

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

DataGuru frm = new DataGuru (); frm.show();

dispose(); // TODO add your handling code here: }

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new about().setVisible(true); }

}); }

Kode Program DataGuru package pemilihanguru; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; /** *

* @author Ahmad Rasyidi */

public class DataGuru extends javax.swing.JFrame implements MouseListener {

private long selectedId; private boolean edit; /**

* Creates new form DataGuru */

public DataGuru() { initComponents();

jTable1.setModel(new GuruDb(2)); jTable1.addMouseListener(this); setLocationRelativeTo(null); }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose(); // TODO add your handling code here: }

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

home frm = new home(); frm.setVisible(true);

dispose(); // TODO add your handling code here: }

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

Connection c = null; Statement stat = null; try { c = DriverManager.getConnection("jdbc:mysql://localhost/wahidin", "root" , ""); stat = c.createStatement(); } catch(SQLException e) { e.printStackTrace(); } String[] val = new String[6];

if((val[0] = jTextField3.getText()).equals("")) val[0] = "0"; if((val[1] = jTextField4.getText()).equals("")) val[1] = "0"; if((val[2] = jTextField5.getText()).equals("")) val[2] = "0"; if((val[3] = jTextField6.getText()).equals("")) val[3] = "0"; if((val[4] = jTextField7.getText()).equals("")) val[4] = "0"; if(edit) { edit = false; try {

stat.execute("update guru set Nama='" +

jTextField2.getText() + "', Kehadiran=" + val[0] + ", Kedisiplinan=" + val[1] + ", Penilaian_Kompetensi=" + val[2] + ",

Penilaian_Pembelajaran=" + val[3] + ", Penilaian_Seharihari=" + val[4] + " where id=" + selectedId);

jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); jTextField7.setText(""); jTable1.setModel(new GuruDb(2)); }

catch (SQLException ex) { ex.printStackTrace(); } } else { if(jTextField2.getText().equals("") || jTextField3.getText().equals("") || jTextField4.getText().equals("") || jTextField5.getText().equals("") || jTextField6.getText().equals("") || jTextField7.getText().equals(""))

JOptionPane.showMessageDialog(this, "Harus terisi semua!", "Error", JOptionPane.ERROR_MESSAGE);

else { try {

stat.execute("insert into guru(Nama, Kehadiran, Kedisiplinan, Penilaian_Kompetensi, Penilaian_Pembelajaran,

Penilaian_Seharihari) value('" + jTextField2.getText() + "', " + val[0] + ", " + val[1] + ", " + val[2] + ", " + val[3] + ", " + val[4] + ")"); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); jTextField7.setText(""); jTable1.setModel(new GuruDb(2)); }

catch (SQLException ex) { ex.printStackTrace(); } } } try { c.close(); } catch(SQLException e) { e.printStackTrace(); } }

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

about frm = new about (); frm.show();

dispose();

}

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

Help frm = new Help (); frm.show();

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

if(JOptionPane.showConfirmDialog(this, "Yakin ingin menghapus?", "Hapus...", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

try {

Connection c =

DriverManager.getConnection("jdbc:mysql://localhost/wahidin", "root", "");

Statement stat = c.createStatement();

stat.execute("DELETE FROM Guru WHERE ID=" + selectedId); c.close(); } catch(SQLException e) { e.printStackTrace(); } jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); jTextField7.setText(""); jTable1.setModel(new GuruDb(2)); } } /* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new DataGuru().setVisible(true); }

}); }

@Override

public void mouseClicked(MouseEvent e) { edit = true; selectedId = Long.parseLong(jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString()); jTextField2.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString()); jTextField3.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString()); jTextField4.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString()); jTextField5.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString()); jTextField6.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 5).toString());

jTextField7.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 6).toString());

}

@Override

public void mousePressed(MouseEvent e) { }

@Override

public void mouseReleased(MouseEvent e) { }

@Override

public void mouseEntered(MouseEvent e) { }

@Override

public void mouseExited(MouseEvent e){

}

Kode Program Help package pemilihanguru; /**

*

* @author Ahmad Rasyidi */

public class Help extends javax.swing.JFrame { /**

* Creates new form Help */

public Help() {

initComponents();

setLocationRelativeTo(null); }

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

FormGuru frm = new FormGuru (); frm.show();

dispose();

}

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

ProfileMatching frm = new ProfileMatching (); frm.show();

dispose();

}

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent

Dokumen terkait