Perbandingan Metode Weighted Product Model Dan Profile Matching Untuk Pemilihan Guru Berprestasi (Studi Kasus Smp Dr. Wahidin Sudirohusodo)

LISTING PROGRAM 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

  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 (); //model.addRow(new Object [] { ((jTextField1.getText())) }) 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()),

  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) {

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.;

  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, 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 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; 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);

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 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=" +
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(),

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(MouseE vent 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 evt) { home frm = new home (); 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 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(); // TODO add your handling code here: } /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Help().setVisible(true); } });

CURRICULUM VITAE

  Ahmad Rasyidi ahmdrsyd

  • Data Pribadi

  Nama : Ahmad Rasyidi Tempat/Tanggal Lahir : Medan / 11 September 1992 Tinggi/Berat Badan : 170 cm / 65 kg Agama : Islam Kewarganegaraan : Indonesia

Alamat Sekarang : Jl. Young Panah Hijau Lr.Kayu Sepang Link. IX Kec. Medan Marelan

Alamat Orang Tua : Jl. Young Panah Hijau Lr.Kayu Sepang Link. IX Kec. Medan Marelan Telp/ Hp : 0877-6644-8684 Email : ahmadrasyidi11@gmail.com

  • Riwayat Pendidikan

  [2010 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan

  • – 2015] [2007 : SMA Negeri 9 Medan – 2010] [2004 : SMP Negeri 44 Medan – 2007] [1998 : SD Negeri 060948 Medan – 2004]
    • Keahlian/Kursus

  Keahlian Bahasa : [2006 : Kursus Bahasa Inggris HERMAN

  • – 2008]
Keahlian Komputer : Pemrograman : Java Database : MysQL Perkantoran : Microsoft Office

  • Pengalaman Organisasi

  [2008

  • – 2009] OSIS SMA Negeri 9 Medan [2007
  • – 2009] Anggota Wawasan dan Kontemporer IMILKOM 2011/2012 [2012
  • – 2013] Anggota Kominfo IMILKOM 2012 - 2013
    • Pengalaman Kepanitiaan

  [2010] Sekretaris Acara Pelantikan Ketua Imilkom 2010/2011 [2012] Koordinator Acara PORSENI IMILKOM 2012 [2012] Bendahara Umum PMB IMILKOM 2012

  • Seminar

  [2014] Seminar Nasional

Literasi Informasi “SENARAI”