Program studi informatika fakultas teknologi informasi dan elektro universitas teknologi yogyakarta



Yüklə 2,32 Mb.
səhifə13/13
tarix31.10.2018
ölçüsü2,32 Mb.
#77461
1   ...   5   6   7   8   9   10   11   12   13

" UNION ALL " +

" SELECT a.nama,0 AS bobot1,SUM(a.bobot) AS bobot2,0 AS bobot3,a.kode_gangguan,a.kode_kategori,a.ket " +

" FROM perolehan_copy AS a " +

" WHERE a.kode_kategori=2 GROUP BY a.nama " +

" UNION ALL " +

" SELECT a.nama,0 AS bobot1,0 AS bobot2,SUM(a.bobot) AS bobot3,a.kode_gangguan,a.kode_kategori,a.ket " +

" FROM perolehan_copy AS a " +

" WHERE a.kode_kategori=3 GROUP BY a.nama) AS aa, gangguan AS bb, kategori AS cc " +

" WHERE aa.kode_gangguan=bb.kode_gangguan AND aa.kode_kategori=cc.kode_kategori AND aa.ket='"+jenisData+"' " +

" GROUP BY aa.nama";

ResultSet r = s.executeQuery(sql);

while (r.next()){

Object[] o = new Object[8];

o[0]=false;

o[1]=r.getString("nama");

o[2]=r.getString("bobot1");

o[3]=r.getString("bobot2");

o[4]=r.getString("bobot3");

o[5]=r.getString("bb.nama_gangguan");

o[6]=r.getString("t1");

o[7]=r.getString("t2");

tabel.addRow(o);

}

r.close();



s.close();

}catch (SQLException e){

JOptionPane.showMessageDialog(this, "Error Load Data Pilih","Error Message",0);

}finally{

System.out.println("Berhasil load data dipilih");

}

}



public void getBobotBias(){

int i,j;


Statement s;

ResultSet r;

String sql;

try{


s = c.createStatement();

//jumlah hidden

sql = "SELECT * FROM bobotbias_hidden WHERE bobotbias='jumlah hidden'";

r = s.executeQuery(sql);

while (r.next()) {

jumHL = Integer.parseInt(r.getString("nilai"));

}

r.close();



//nilai max

sql = "SELECT * FROM bobotbias_hidden WHERE bobotbias='nilai max'";

r = s.executeQuery(sql);

while (r.next()) {

max = r.getDouble("nilai");

}

r.close();



//bobot hidden

v = new double[jumInput][jumHL];

for(i=0;i

for(j=0;j

sql = "SELECT * from bobotbias_hidden WHERE bobotbias='v["+i+"]["+j+"]'";

r = s.executeQuery(sql);

while (r.next()) {

v[i][j] = r.getDouble("nilai");

}

}

}



r.close();

//bias hidden

bv = new double[1][jumHL];

for(i=0;i

sql = "SELECT * from bobotbias_hidden WHERE bobotbias='bv["+i+"]'";

r = s.executeQuery(sql);

while (r.next()) {

bv[0][i] = r.getDouble("nilai");

}

}

r.close();



//bobot output

w = new double[jumHL][jumOutput];

for(i=0;i

for(j=0;j

sql = "SELECT * from bobotbias_output WHERE bobotbias='w["+i+"]["+j+"]'";

r = s.executeQuery(sql);

while (r.next()) {

w[i][j] = r.getDouble("nilai");

}

}

}



r.close();

//bias output

bw = new double[1][jumOutput];

for(i=0;i

sql = "SELECT * from bobotbias_output WHERE bobotbias='bw["+i+"]'";

r = s.executeQuery(sql);

while (r.next()) {

bw[0][i] = r.getDouble("nilai");

}

}

r.close();



s.close();

System.out.println("Berhasil load bobot dan bias");

}catch (SQLException e){

JOptionPane.showMessageDialog(this, "Error Load Bobot Bias","Error Message",0);

}

}

private void dataPengujian(){



int i,j,rowCount;

ArrayList list = new ArrayList();

jumData = 0;

//get jumlah data

rowCount = jTable1.getModel().getRowCount();

if(jRadioButton1.isSelected()){

for(i=0;i

jumData = jTable1.getModel().getRowCount();

list.add(i);

}

}else{



for(i=0;i

if((Boolean)jTable1.getModel().getValueAt(i, 0)==true){

jumData += 1;

list.add(i);

}

}

}



//get data

data = new double[jumData][jumInput];

target = new int[jumData][jumOutput];

nama = new String[jumData];

gangguan = new String[jumData];

for(i=0;i

int a = (Integer)list.get(i);

nama[i] = (String)jTable1.getModel().getValueAt(a,1);

gangguan[i] = (String)jTable1.getModel().getValueAt(a,5);

for(j=0;j

data[i][j] = Double.parseDouble((String)jTable1.getModel().getValueAt(a,j+2));

}

target[i][0] = Integer.parseInt((String)jTable1.getModel().getValueAt(a,6));



target[i][1] = Integer.parseInt((String)jTable1.getModel().getValueAt(a,7));

}

}



private void forwardPass(){

final double e = 2.718281828;

double[][] z;

int i,j,k;

double zin,yin;

// System.out.println("max:" +max);

/** hitung dan cari nilai z **/

zin = 0;


z = new double[jumData][jumHL];

for(i=0;i

for(j=0;j

zin = 1*bv[0][j];

for(k=0;k

zin += ((data[i][k]/max)*v[k][j]);

}

z[i][j] = 1/(1 + (Math.pow(e, (-(zin)))));



}

}

/** hitung dan cari nilai y **/



yin = 0;

y = new double[jumData][jumOutput];

for(i=0;i

for(j=0;j

yin = 1*bw[0][j];

for(k=0;k

yin += (z[i][k]*w[k][j]);

}

y[i][j] = 1/(1 + (Math.pow(e, (-(yin)))));



}

}

}



private void hasil(){

DefaultTableModel tabel2 = new DefaultTableModel();

int t1,t2;

int jumBenar=0;

String gangguanOut="";

String cek = "";

jTable2.setModel(tabel2);

tabel2.addColumn("Nama");

tabel2.addColumn("T1");

tabel2.addColumn("T2");

tabel2.addColumn("Target");

tabel2.addColumn("Y1");

tabel2.addColumn("Y2");

tabel2.addColumn("Output");

tabel2.addColumn("Hasil");

tabel2.getDataVector().removeAllElements();

tabel2.fireTableDataChanged();

int jumCol = tabel2.getColumnCount();

for(int i=0;i

//target


t1 = (int) Math.round(y[i][0]);

t2 = (int) Math.round(y[i][1]);

try{

Statement s = c.createStatement();



String sql = "SELECT * FROM gangguan WHERE target1="+t1+" AND target2="+t2;

ResultSet r = s.executeQuery(sql);

while (r.next()) {

gangguanOut = r.getString("nama_gangguan");

}

r.close();



s.close();

}catch (SQLException e){

System.out.println("Error Load Data Gangguan");

}

if((target[i][0]==t1)&&(target[i][1]==t2)){



cek = "Benar";

jumBenar++;

}else{

cek = "Salah";



}

Object[] obj = new Object[jumCol];

obj[0] = nama[i];

obj[1] = target[i][0];

obj[2] = target[i][1];

obj[3] = gangguan[i];

obj[4] = y[i][0];

obj[5] = y[i][1];

obj[6] = gangguanOut;

obj[7] = cek;

tabel2.addRow(obj);

}

double persen = (jumBenar*100)/jumData;



jTextField2.setText(new DecimalFormat("##.##").format(persen)+" %");

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

// TODO add your handling code here:

home utama = new home();

this.dispose();

utama.setVisible(true);

}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

DefaultTableModel data1 = (DefaultTableModel)jTable1.getModel();

DefaultTableModel data2 = (DefaultTableModel)jTable2.getModel();

jRadioButton2.setSelected(false);

data1.setRowCount(0);

data2.setRowCount(0);

dataPilih("Data Latih");

jTable1.setEnabled(false);

}
private void formWindowOpened(java.awt.event.WindowEvent evt) {

// TODO add your handling code here:

tampilData();

}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

DefaultTableModel data1 = (DefaultTableModel)jTable1.getModel();

DefaultTableModel data2 = (DefaultTableModel)jTable2.getModel();

jRadioButton1.setSelected(false);

data1.setRowCount(0);

data2.setRowCount(0);

dataPilih("Data Awal");

jTable1.setEnabled(true);

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

// TODO add your handling code here:

dataPengujian();

getBobotBias();

forwardPass();

hasil();

}
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

int i = jTable1.getSelectedRow();

if((Boolean)jTable1.getValueAt(jTable1.getSelectedRow(), 0)==false){

jTable1.setValueAt(true, i, 0);

}else{

jTable1.setValueAt(false, i, 0);



}

}
From Prediksi

public class prediksi extends javax.swing.JFrame {

Connection cc = TugasAkhir.getConnection();

DefaultTableModel tabel = new DefaultTableModel();

String[] kategori = null;

String[] soal = null;

double[] bobot = null;

String[] a = null;

String[] b = null;

String[] c = null;

String[] d = null;

String[] e = null;

int[] jumPerKategori = null;

int jumSoal = 0;

int jumKategori = 0;

int pointer = 0;

int poin = 0;

String jawaban;

Boolean edit = false;

public prediksi() {

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

int x = (dim.width-getWidth())/2;

int y = (dim.height-getHeight())/2;

setLocation(y, y);

initComponents();

}

public void tampilSoal(){



int i = 0;

jTable1.setModel(tabel);

//set table column

tabel.addColumn("Soal");

tabel.addColumn("Jawaban");

tabel.getDataVector().removeAllElements();

tabel.fireTableDataChanged();

//get data soal

try{

Statement s = cc.createStatement();



//get jumlah kategori soal

String jumKategoriSQL = "SELECT COUNT(kode_kategori) AS jum_kategori FROM kategori";

ResultSet r = s.executeQuery(jumKategoriSQL);

while (r.next()){

jumKategori = r.getInt("jum_kategori");

}

r.close();



//get jumlah perKategori

jumPerKategori = new int[jumKategori];

String jumPerKategoriSQL = "SELECT COUNT(kode_kategori) AS jum_per_kategori FROM pertanyaan GROUP BY kode_kategori;";

r = s.executeQuery(jumPerKategoriSQL);

i = 0;

while (r.next()){



jumPerKategori[i] = r.getInt("jum_per_kategori");

i++;


}

r.close();

//get jumlah soal

String jumSQL = "SELECT COUNT(kode_pertanyaan) AS jumlah FROM pertanyaan";

r = s.executeQuery(jumSQL);

while (r.next()){

jumSoal = r.getInt("jumlah");

}

r.close();



//assign array length

kategori = new String[jumSoal];

soal = new String[jumSoal];

bobot = new double[jumSoal];

a = new String[jumSoal];

b = new String[jumSoal];

c = new String[jumSoal];

d = new String[jumSoal];

e = new String[jumSoal];

//get pertanyaan

String sql = "SELECT * FROM pertanyaan ORDER BY kode_pertanyaan";

r = s.executeQuery(sql);

i = 0;

while (r.next()){



kategori[i] = r.getString("kode_kategori");

soal[i] = r.getString("soal");

bobot[i] = 0.0;

a[i] = r.getString("pilihanA");

b[i]=r.getString("pilihanB");

c[i]=r.getString("pilihanC");

d[i]=r.getString("pilihanD");

e[i]=r.getString("pilihanE");

i++;

}

r.close();



s.close();

}catch(SQLException ee){

System.out.println(ee);

}

jTable1.setEnabled(false);



jLabel1.setText(""+(pointer+1));

jLabel9.setText(""+jumSoal);

jTextArea1.setText(soal[0]);

jRadioButton2.setText(a[0]);

jRadioButton1.setText(b[0]);

jRadioButton3.setText(c[0]);

jRadioButton4.setText(d[0]);

jRadioButton5.setText(e[0]);

}

public void radioEnable(){



jRadioButton1.setEnabled(true);

jRadioButton2.setEnabled(true);

jRadioButton3.setEnabled(true);

jRadioButton4.setEnabled(true);

jRadioButton5.setEnabled(true);

}

public void radioDisable(){



jRadioButton1.setEnabled(false);

jRadioButton2.setEnabled(false);

jRadioButton3.setEnabled(false);

jRadioButton4.setEnabled(false);

jRadioButton5.setEnabled(false);

}

public void pilih(){



if(pointer

//set pilihan ke table

Object[] o = new Object[2];

o[0] = soal[pointer];

o[1] = jawaban;

tabel.addRow(o);

pointer++;

if(pointer==jumSoal){

jTextArea1.setText("SELESAI");

jLabel1.setText("-");

jTable1.setEnabled(true);

radioDisable();

}else{

jLabel1.setText(""+(pointer+1));



jTextArea1.setText(soal[pointer]);

}

}



if(edit){

jTable1.setValueAt(soal[poin], poin, 0);

jTable1.setValueAt(jawaban, poin, 1);

jTextArea1.setText("SELESAI");

jLabel1.setText("-");

jTable1.setEnabled(true);

radioDisable();

edit = false;

}

buttonGroup1.clearSelection();



}

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

// TODO add your handling code here:

home utama = new home();

this.dispose();

utama.setVisible(true);

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

int i,j,k;

pengujian p = new pengujian();

//get bobot dan bias

p.getBobotBias();

//assign all variable

int jumInput = p.jumInput;

int jumOutput = p.jumOutput;

int jumData = 1;

int jumHL = p.jumHL;

double max = p.max;

double[][] y;

//assign data

double[] jumBobot = new double[jumInput];

double[][] data = new double[jumData][jumInput];

//menjumlahkan bobot

k=0;

for(i=0;i

j = 0;

jumBobot[i] = 0.0;

while(j

jumBobot[i] += bobot[k];

j++;

k++;


}

System.out.println("jumBobot["+i+"]: "+jumBobot[i]);

}

//konversi data



for(i=0;i

data[0][i] = jumBobot[i];

}

//forward pass



final double e = 2.718281828;

double[][] z;

double zin,yin;

System.out.println("max:" +max);

/** hitung dan cari nilai z **/

zin = 0;


z = new double[jumData][jumHL];

for(i=0;i

for(j=0;j

zin = 1*p.bv[0][j];

for(k=0;k

zin += ((data[i][k]/max)*p.v[k][j]);

}

z[i][j] = 1/(1 + (Math.pow(e, (-(zin)))));



}

}

/** hitung dan cari nilai y **/



yin = 0;

y = new double[jumData][jumOutput];

for(i=0;i

for(j=0;j

yin = 1*p.bw[0][j];

for(k=0;k

yin += (z[i][k]*p.w[k][j]);

}

y[i][j] = 1/(1 + (Math.pow(e, (-(yin)))));



}

}

//result



int t1,t2;

t1 = (int) Math.round(y[0][0]);

t2 = (int) Math.round(y[0][1]);

String hasil="";

try{

Statement s = cc.createStatement();



String sql = "SELECT * FROM gangguan WHERE target1="+t1+" AND target2="+t2;
ResultSet r = s.executeQuery(sql);

while (r.next()) {

hasil = r.getString("nama_gangguan");

}

r.close();



s.close();

}catch (SQLException ee){

System.out.println("Error Load Data Gangguan");

}

jTextField1.setText(hasil);



}
private void formWindowOpened(java.awt.event.WindowEvent evt) {

// TODO add your handling code here:

tampilSoal();

}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.00;

}else{


bobot[pointer] = 0.00;

}

jawaban = jRadioButton2.getText();



pilih();

}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.25;

}else{


bobot[pointer] = 0.25;

}

jawaban = jRadioButton1.getText();



pilih();

}
private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.5;

}else{


bobot[pointer] = 0.5;

}

jawaban = jRadioButton3.getText();



pilih();

}
private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.75;

}else{


bobot[pointer] = 0.75;

}

jawaban = jRadioButton4.getText();



pilih();

}
private void jRadioButton5ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(edit){

bobot[poin] = 1.0;

}else{


bobot[pointer] = 1.0;

}

jawaban = jRadioButton5.getText();



pilih();

}
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

poin = jTable1.getSelectedRow();

jTextArea1.setText(jTable1.getValueAt(poin, 0).toString());

jLabel1.setText(""+(poin+1));

radioEnable();

edit = true;



}


Yüklə 2,32 Mb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   13




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə