Program studi informatika fakultas teknologi informasi dan elektro universitas teknologi yogyakarta



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

Tabel 5.17 Hasil pengujian

Konstanta belajar

Hidden Layer

SSE

MSE

Iterasi

Prosentae uji data latih

Prosentase uji data baru

0.04

10

0.099988

0.024997

30948

100%

40%

20

0.099999

0.024999

40152

100%

40%

30

TK

TK

TK

TK

TK

40

TK

TK

TK

TK

TK

50

TK

TK

TK

TK

TK

0.1

10

0.099987

0.024996

12956

100%

40%

20

0.099976

0.024994

14023

100%

40%

30

0.099973

0.024993

18253

100%

40%

40

TK

TK

TK

TK

TK

50

TK

TK

TK

TK

TK

0.5

10

0.099975

0.024993

3193

100%

40%

20

0.099879

0.024969

2829

100%

40%

30

0.09989

0.024972

6387

100%

40%

40

0.099953

0.24988

32254

100%

40%

50

TK

TK

TK

TK

TK

0.75

10

0.099893

0.024973

1887

100%

40%

20

0.099962

0.02499

2024

100%

40%

30

0.099944

0.024986

2691

100%

40%

40

TK

TK

TK

TK

TK

50

TK

TK

TK

TK

TK

TK= Tidak Konvergen (tidak ditemukannya nilai yang mendekati).

BAB VI

PENUTUP
VI.1. Kesimpulan

Berdasarkan penelitian yang telah dilakukan dan rumusan masalah mengenai bagaimana implementasi dari jaringan saraf tiruan dalam penentuan diagnosa awal jenis sakit kepala dengan metode backpropagation, dapat diambil kesimpulan sebagai berikut:



  1. Hasil implementasi metode menghasilkan deteksi kecenderungan gangguan makan, akan tetapi hasil ini bukan merupakan acuan bahwa remaja tersebut mengalami gangguan makan atau hanya merupakan deteksi awal dan akan lebih baik jika megalami gangguan makan langsung konsultasikan dengan psikolog agar tidak terjadi hal buruk dikemudian hari

  2. Setelah dilakukan pengujian JST dengan 22 data baru maka dihasilkan akurasi pengujian sebesar 59% dengan kesalahan absolute sebesar 41% dengan arsitektur pelatihan yang memiliki kontanta belajar bernilai 0,5 kemudian lapisan tersembunyi sejumlah 4 dan SSE bernilai 0,01. Pada kondisi tersebut, untuk mencapai tingkat konvergensi atau ketika SSE (Sum Square Error)<=0,01 hanya dibutuhkan 592.169 iterasi. Ketika iterasi ke-592.169 didapatkan SSE sebesar 0,001.


VI.2. Saran

Saran yang dapat disampaikan untuk pengembang selanjutnya yaitu implementasi ini dapat dikembangkan dengan melalui sebuah website maupun aplikasi android sehingga pengguna (remaja) yang tidak mempunyai laptop, komputer atau pc dapat menggunakannya untuk mengetahui jenis kecenderuan gangguan makan dideritanya sehingga bisa dilakukan penanganan lebih dini.


DAFTAR PUSTAKA
Andrian, Yudhi dan M. Rhifky Wahyudi. 2014. “Analisis Kinerja Jaringan Saraf Tiruan Metode Backpropagation dalam memprediksi cuaca di kota Medan”, Seminar Nasional Ilmu Komputer 2014 (SNIKOM).
Davison, Gerald C et al. 2010, Psikologi Abnormal Edisi ke 9, Rajawali Pers, Jakarta.
Fathansyah., 2015, Basis Data, Informatika Bandung; Bandung.
Hermawan, Arief, 2006, Jaringan Saraf Tiruan Teori dan Aplikasi, Andi; Yogyakarta.
National Institute of Mental Health, 2011, Eating Disorders, U.S. Department of

Health and Human Services. National Institute of Health.


Siswoyo, dkk. 2014. “Klasifikasi Sinyal Otak Menggunakan Metode Logika Fuzzy dan Nourosky Mindset”, ISSN : 1412-9612.
WHO, 2012, Growth Reference 5-19 year for Adolescent, diakses tanggal 19 November 2017, http://www.who.int/growthref/en/
WHO, 2012, Adolescent Health, diakses tanggal 19 November 2017, http://www.who.int/topics/adolescent_health/en/
Yakub, 2012, Pengantar Sistem Informasi. Graha Ilmu; Jakarta.
Yudhawati, Dian. 2014. “Implementasi Jaringan Saraf Tiruan untuk mendeteksi DayaTahan Terhadap Stress pada Mahasiswa Tingkat Akhir menggunakan metode Backpropagation”, Jurnal Psikologi-ISSN : 1858-3970.

LAMPIRAN


Form Kategori

public class datakategori extends javax.swing.JFrame {


Statement Stm;

ResultSet Rs;

public datakategori() {

initComponents();

tampilkategori();

}

private void tampilkategori() {



try {

DefaultTableModel dtm = new DefaultTableModel(){

@Override

public boolean isCellEditable(int row, int col) {

return false;

}

};



dtm.addColumn("Kode Kategori");

dtm.addColumn("Nama Kategori");

String sql = "SELECT kode_kategori, nama_kategori FROM kategori";

Statement stmt = TugasAkhir.getConnection().createStatement();

ResultSet rs = stmt.executeQuery(sql);

while(rs.next()) {

dtm.addRow(new Object[] {

rs.getString("kode_kategori"),

rs.getString("nama_kategori")

});


jTable1.setModel(dtm);

}

stmt.close();



} catch (SQLException ex) {

Logger.getLogger(datakategori.class.getName()).log(Level.SEVERE,null,ex);

}

}
Form Pertanyaan



public class pertanyaan extends javax.swing.JFrame {

Statement Stm;

ResultSet Rs;

public pertanyaan() {

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

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

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

setLocation(y, y);

initComponents();

kodepertanyaan();

clear();

tampilpertanyaan();

namakategori();

}

private void kodepertanyaan(){



try {

Statement Stm = (Statement)TugasAkhir.getConnection().createStatement();

String sql="select right(kode_pertanyaan,2) as nama from "

+ "pertanyaan order by kode_pertanyaan desc limit 1";

Rs=Stm.executeQuery(sql);

if(Rs.first()==false){

kodesoal.setText("1");

}

else{



Rs.last();

int no=Rs.getInt(1)+1;

String cno=String.valueOf(no);

int pjg_cno=cno.length();

for (int a=0;a<2-pjg_cno;a++){

cno="0"+cno;

}

kodesoal.setText(cno);



}

}

catch (Exception e) {



System.err.println("Error="+e);

}

}



private void namakategori(){

try{


Statement Stm = (Statement)TugasAkhir.getConnection().createStatement();

String sql="SELECT * FROM kategori";

Rs=Stm.executeQuery(sql);

while (Rs.next()){

jComboBox1.addItem(Rs.getString("kode_kategori"));

}

Rs.last();



int jmldata = Rs.getRow();

Rs.first();

}catch (Exception e) {

System.err.println("Error="+e);

}

}

private void clear(){



jComboBox1.setSelectedItem("-Pilih-");

soal.setText("");

jawaba.setText("");

jawabb.setText("");

jawabc.setText("");

jawabd.setText("");

jawabe.setText("");

}

private void tampilpertanyaan() {



try {

DefaultTableModel dtm = new DefaultTableModel();

dtm.addColumn("Kode Pertanyaan");

dtm.addColumn("Kategori Pertanyaan");

dtm.addColumn("Pertanyaan");

dtm.addColumn("Jawaban A");

dtm.addColumn("Jawaban B");

dtm.addColumn("Jawaban C");

dtm.addColumn("Jawaban D");

dtm.addColumn("Jawaban E");

String sql = "SELECT kode_pertanyaan, kode_kategori, soal, pilihanA, pilihanB, pilihanC, pilihanD, pilihanE FROM pertanyaan";

Statement stmt = TugasAkhir.getConnection().createStatement();

ResultSet rs = stmt.executeQuery(sql);

while(rs.next()) {

dtm.addRow(new Object[] {

rs.getString("kode_pertanyaan"),

rs.getString("kode_kategori"),

rs.getString("soal"),

rs.getString("pilihanA"),

rs.getString("pilihanB"),

rs.getString("pilihanC"),

rs.getString("pilihanD"),

rs.getString("pilihanE")

});


jTable1.setModel(dtm);

}

stmt.close();



} catch (SQLException ex) {

Logger.getLogger(datakategori.class.getName()).log(Level.SEVERE,null,ex);

}

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



// TODO add your handling code here:

String kd1=kodesoal.getText();

String ktg=(String)jComboBox1.getSelectedItem();

String pert=soal.getText();

String ja=jawaba.getText();

String jb=jawabb.getText();

String jc=jawabc.getText();

String jd=jawabd.getText();

String je=jawabe.getText();

if(pert.equals("")||ja.equals("")||jb.equals("")||jc.equals("")||jd.equals("")||je.equals(""))

{

JOptionPane.showMessageDialog(null, "Pengisian belum lengkap, Isilah data dengan lengkap !");



}

else


{

Statement stmt=null;

try

{

stmt = (Statement)TugasAkhir.getConnection().createStatement();



} catch (SQLException ex) {

Logger.getLogger(datauser.class.getName()).log(Level.SEVERE, null, ex);

}try{
if(stmt.executeUpdate("insert into pertanyaan values ('"+kd1+"','"+ktg+"','"+pert+"','"+ja+"','"+jb+"','"+jc+"','"+jd+"','"+je+"')")!=0) {

JOptionPane.showMessageDialog(null, "Berhasil disimpan");

} else {

JOptionPane.showMessageDialog(this, "Gagal simpan");

}

stmt.close();


} catch (SQLException ex) {

Logger.getLogger(datauser.class.getName()).log(Level.SEVERE, null, ex);

}

clear();


kodepertanyaan();

tampilpertanyaan();

}

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



// TODO add your handling code here:

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

// TODO add your handling code here:

try {


Statement Stm = (Statement)TugasAkhir.getConnection().createStatement();

int konfirm=JOptionPane.showConfirmDialog(this,

"Yakin data di ubah?","Konfirmasi",JOptionPane.YES_NO_OPTION);

if(konfirm==0)

{

String kd1=kodesoal.getText();



String ktg=(String)jComboBox1.getSelectedItem();

String pert=soal.getText();

String ja=jawaba.getText();

String jb=jawabb.getText();

String jc=jawabc.getText();

String jd=jawabd.getText();

String je=jawabe.getText();

Stm.executeUpdate("update pertanyaan set kode_kategori='"+ktg+"',soal='"+pert+

"',pilihanA='"+ja+"', pilihanB='"+jb+"', pilihanC='"+jc+"', pilihanD='"+jd+

"', pilihanE='"+je+"'"+" where kode_pertanyaan='"+kd1+"'");

JOptionPane.showMessageDialog(this, "Data Berhasil di Simpan");

clear();


kodepertanyaan();

tampilpertanyaan();

}

else


{

}

} catch(Exception e) {



JOptionPane.showMessageDialog(this, "Gagal Ubah");

}

}


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

// TODO add your handling code here:

try {

Statement Stm = (Statement)TugasAkhir.getConnection().createStatement();



int konfirm=JOptionPane.showConfirmDialog(this, "Yakin dihapus?",

"Konfirmasi",JOptionPane.YES_NO_OPTION);

if(konfirm==0)

{

String kd1=kodesoal.getText();



Stm.executeUpdate("delete from pertanyaan where kode_pertanyaan='"+kd1+"'");

JOptionPane.showMessageDialog(this, "Berhasil Hapus");

clear();

Stm.close();

clear();

kodepertanyaan();

tampilpertanyaan();

}

else



{

clear();


Stm.close();

kodepertanyaan();

tampilpertanyaan();

}

}



catch(Exception e)

{

JOptionPane.showMessageDialog(this, "Gagal Hapus"+e);



}

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

int row = jTable1.getSelectedRow();

kodesoal.setText(jTable1.getValueAt(row, 0).toString());

jComboBox1.setSelectedItem(jTable1.getValueAt(row, 1).toString());

soal.setText(jTable1.getValueAt(row, 2).toString());

jawaba.setText(jTable1.getValueAt(row, 3).toString());

jawabb.setText(jTable1.getValueAt(row, 4).toString());

jawabc.setText(jTable1.getValueAt(row, 5).toString());

jawabd.setText(jTable1.getValueAt(row, 6).toString());

jawabe.setText(jTable1.getValueAt(row, 7).toString());

}
Form Input Data

public class input_data extends javax.swing.JFrame {

Connection cc = TugasAkhir.getConnection();

DefaultTableModel tabel = new DefaultTableModel();

String[] kategori = null;

String[] kdPertanyaan = 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 input_data() {

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

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

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

setLocation(y, y);

initComponents();

jTextField1.setDocument(new validasiinput (validasiinput.huruf));

}

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



ResultSet r;

//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];

kdPertanyaan = new String[jumSoal];

soal = new String[jumSoal];

bobot = new double[jumSoal];

jawaban = new String[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");

kdPertanyaan[i] = r.getString("kode_pertanyaan");

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[pointer];

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], 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 kode=0;

//cek kode_perolehan terakhir

try{


Statement s = cc.createStatement();

ResultSet r;

//get jumlah soal

String jumSQL = "SELECT kode_perolehan FROM perolehan_copy ORDER BY kode_perolehan DESC LIMIT 1";

r = s.executeQuery(jumSQL);

while (r.next()){

kode = r.getInt("kode_perolehan");

kode++;


}

r.close();

}catch (SQLException e){

JOptionPane.showMessageDialog(null, "Kode perolehan gagal dibaca!", "Error Message", 0);

}finally{

//clear();

}

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



JOptionPane.showMessageDialog(this, "Isi nama terlebih dahulu..!!");

}else{


PreparedStatement p;

String sql;

try{

//simpan data baru



for(int i=0;i

sql = "INSERT INTO perolehan_copy VALUES(?,?,?,?,?,?,?,?)";

p = cc.prepareStatement(sql);

p.setInt(1, kode);

p.setString(2, jTextField1.getText());

p.setString(3, kdPertanyaan[i]);

p.setString(4, "null");

p.setString(5, kategori[i]);

p.setString(6, jawaban[i]);

p.setDouble(7, bobot[i]);

p.setString(8, "Data Awal");

p.executeUpdate();

p.close();

}

JOptionPane.showMessageDialog(null, "Data Awal Berhasil Disimpan!", "Error Message", 1);



}catch (SQLException e){

JOptionPane.showMessageDialog(null, "Data Awal Gagal Disimpan!", "Error Message", 0);

}finally{

//clear();

}

}

}


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;

jawaban[poin] = jRadioButton2.getText();

}else{

bobot[pointer] = 0.00;



jawaban[pointer] = jRadioButton2.getText();

}

pilih();



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

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.25;

jawaban[poin] = jRadioButton1.getText();

}else{


bobot[pointer] = 0.25;

jawaban[pointer] = jRadioButton1.getText();

}

pilih();


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

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.5;

jawaban[poin] = jRadioButton3.getText();

}else{


bobot[pointer] = 0.5;

jawaban[pointer] = jRadioButton3.getText();

}

pilih();


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

// TODO add your handling code here:

if(edit){

bobot[poin] = 0.75;

jawaban[poin] = jRadioButton4.getText();

}else{


bobot[pointer] = 0.75;

jawaban[pointer] = jRadioButton4.getText();

}

pilih();


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

// TODO add your handling code here:

if(edit){

bobot[poin] = 1.0;

jawaban[poin] = jRadioButton5.getText();

}else{


bobot[pointer] = 1.0;

jawaban[pointer] = 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ə