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:
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.
Health and Human Services. National Institute of Health.
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;
}