• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

Copied!
27
0
0

Teks penuh

(1)

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

}

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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;

(7)

/** *

* @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");

(8)

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

}

(9)

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

(10)

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;

(11)

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;

(12)

}); }

}

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;

(13)

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;

(14)

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

(15)

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

(16)

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

(17)

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 ""; }

(18)

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 {

(19)

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

(20)

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

(21)

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] + ",

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

: [email protected]

---

Riwayat Pendidikan

[2010

2015]

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

[2007

2010]

: SMA Negeri 9 Medan

[2004

2007]

: SMP Negeri 44 Medan

[1998

2004]

: SD Negeri 060948 Medan

---

Keahlian/Kursus

Keahlian Bahasa

:

(27)

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

Referensi

Dokumen terkait