Professional Documents
Culture Documents
package sistempakar;
import java.awt.Dimension;
import java.awt.Toolkit;
/**
*
* @author Nabila Zahra Yulia
*/
public class formAwal extends javax.swing.JDialog {
private void
btnPenggunaActionPerformed(java.awt.event.ActionEvent evt) {
frmPengguna pengguna = new frmPengguna();
pengguna.setVisible(true);
this.setVisible(false);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
formAwal dialog = new formAwal(new javax.swing.JFrame(),
true);
dialog.addWindowListener(new
java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent
e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
}
2. Form Login Pakar
package sistempakar;
import com.miftah.db.DBQuery;
import com.miftah.db.DBTable;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
*
* @author Nabila Zahra Yulia
*/
public class LoginForm extends javax.swing.JDialog {
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height){
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height)/2);
DBTable db = new DBTable();
db.setTableName("admin");
db.setDriver(SistemPakarApp.getDriver());
db.setActive(true);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
LoginForm dialog = new LoginForm(new
javax.swing.JFrame(), true);
dialog.addWindowListener(new
java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent
e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
private void Login(){
try{
DBQuery q1 = new DBQuery();
q1.setDriver(SistemPakarApp.getDriver());
String strSql = "select * from admin where username= '" +
txtUser.getText() + "' AND password = ('" +
String.copyValueOf(txtPassword.getPassword(),0,txtPassword
.getPassword().length) + "')";
q1.setStrSql(strSql);
q1.makeActive(true);
if (q1.getRowCount() > 0){
SistemPakarApp.getInstanceMainMenu().setAuthentication(true);
SistemPakarApp.getApplication().ShowMainMenu();
this.dispose();
}else{
JOptionPane.showMessageDialog(LoginForm.this,
"Incorrect Username or Password", "Error",
JOptionPane.ERROR_MESSAGE);
}
}catch (SQLException ex){
System.out.println(ex);
}
}
}
3. Menu Utama Pakar
package sistempakar;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
/**
* The application's main frame.
*/
public class SistemPakarView extends FrameView {
initComponents();
@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame =
SistemPakarApp.getApplication().getMainFrame();
aboutBox = new SistemPakarAboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
SistemPakarApp.getApplication().show(aboutBox);
}
private void
logoutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
setAuthentication(false);
}
private void
loginMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
logoutMenuItemActionPerformed(evt);
new LoginForm(new javax.swing.JFrame(),true).setVisible(true);
}
private void
komponenMenuItemActionPerformed(java.awt.event.ActionEvent
evt) {
Komponen komponen = new Komponen();
jDesktopPane1.add(komponen,javax.swing.JLayeredPane.DEFA
ULT_LAYER);
komponen.show();
}
private void
solusiMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
Solusi solusi = new Solusi();
jDesktopPane1.add(solusi,javax.swing.JLayeredPane.DEFAULT_
LAYER);
solusi.show();
}
private void
pengetahuanMenuItemActionPerformed(java.awt.event.ActionEven
t evt) {
Pengetahuan pengetahuan = new Pengetahuan();
jDesktopPane1.add(pengetahuan,javax.swing.JLayeredPane.DE
FAULT_LAYER);
pengetahuan.show();
}
private void
registerMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
Register register = new Register();
jDesktopPane1.add(register,javax.swing.JLayeredPane.DEFAUL
T_LAYER);
register.show();
}
jDesktopPane1.add(register,javax.swing.JLayeredPane.DEFAUL
T_LAYER);
register.show();
}
private void
btnKomponenActionPerformed(java.awt.event.ActionEvent evt) {
Komponen komponen = new Komponen();
jDesktopPane1.add(komponen,javax.swing.JLayeredPane.DEFA
ULT_LAYER);
komponen.show();
}
private void
btnDiagnosaActionPerformed(java.awt.event.ActionEvent evt) {
Solusi solusi = new Solusi();
jDesktopPane1.add(solusi,javax.swing.JLayeredPane.DEFAULT_
LAYER);
solusi.show();
}
private void
btnPertanyaanActionPerformed(java.awt.event.ActionEvent evt) {
Pengetahuan pengetahuan = new Pengetahuan();
jDesktopPane1.add(pengetahuan,javax.swing.JLayeredPane.DE
FAULT_LAYER);
pengetahuan.show();
}
package sistempakar;
import com.miftah.db.*;
import java.awt.Event;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JTable;
import javax.swing.ImageIcon;
import javax.swing.filechooser.FileNameExtensionFilter;
/**
*
* @author Nabila Zahra Yulia
*/
public class Komponen extends javax.swing.JInternalFrame {
boolean append;
private DBTable tKomponen;
private MyTable myTable;
private JFileChooser fc = new JFileChooser();
private String imgSource="";
btnAdd.setEnabled(false);
btnEdit.setEnabled(false);
btnSave.setEnabled(true);
btnCancel.setEnabled(true);
btnDelete.setEnabled(true);
btnBrowse.setEnabled(true);
txtKode.setEnabled(false);
txtNama.requestFocus();
}else{
Utils.showMessage(this, "Silakan memilih record yang mau
Anda edit.", "Perhatian");
}
}
private void btnSaveActionPerformed(java.awt.event.ActionEvent
evt) {
if(isInputValid()==true){
save();
myTable.refresh();
Utils.showMessage(this, "Data tersimpan", "Informasi");
clearForm();
disableInput(true);
btnSave.setEnabled(false);
btnCancel.setEnabled(false);
btnAdd.setEnabled(true);
}
}
private void
jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
btnEditActionPerformed(evt);
btnEdit.setEnabled(false);
}
if((txtKode.getText().equals(""))||(txtNama.getText().equals(""))||(txtKet
erangan.getText().equals(""))){
Utils.showMessage(this, "Data tidak valid","Informasi");
txtNama.requestFocus();
result=false;
}
else result=true;
return result;
}
JTable tbl;
tbl=MyTable.getJTableObject();
//1
tbl.addMouseListener(new java.awt.event.MouseAdapter()
{@Override public void
mouseClicked(java.awt.event.MouseEvent
evt){myTableMouseClicked(evt);}});
//2
tbl.addFocusListener(new java.awt.event.FocusAdapter()
{@Override public void
focusGained(java.awt.event.FocusEvent
evt){enterTable(evt);}});
//3
tbl.addKeyListener(new java.awt.event.KeyAdapter()
{@Override public void keyReleased(java.awt.event.KeyEvent
evt){scrollTable(evt);}});
} catch (SQLException sqle) {
System.err.println(sqle);
}
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
btnEdit.setEnabled(false);
btnSave.setEnabled(false);
btnCancel.setEnabled(false);
btnDelete.setEnabled(false);
btnBrowse.setEnabled(false);
disableInput(true);
}
}
import com.miftah.db.*;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
/**
*
* @author Nabila Zahra Yulia
*/
public class Pengetahuan extends javax.swing.JInternalFrame {
boolean append;
private DBTable tPengetahuan;
private DBQuery qPengetahuan;
private MyTable myTable;
btnAdd.setEnabled(false);
btnEdit.setEnabled(false);
btnSave.setEnabled(true);
btnCancel.setEnabled(true);
btnDelete.setEnabled(true);
txtKode.setEnabled(false);
txtPertanyaan.requestFocus();
}else{
Utils.showMessage(this, "Silakan memilih record yang mau
Anda edit.", "Perhatian");
}
}
private void
jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
btnEditActionPerformed(evt);
btnEdit.setEnabled(false);
}
myTable=new MyTable();
myTable.setParent(pGrid);
myTable.setDB(qPengetahuan);
myTable.RenameCol(0, "Kode");
myTable.RenameCol(1, "Komponen");
myTable.RenameCol(2, "Pertanyaan");
myTable.RenameCol(3, "Fakta Ya");
myTable.RenameCol(4, "Fakta Tidak");
myTable.RenameCol(5, "Ya");
myTable.RenameCol(6, "Tidak");
myTable.setColumnWidth(new int[] {5,20,100,15,15,15,15});
myTable.setShow(true);
cboKomponen.setDriver(SistemPakarApp.getDriver());
cboKomponen.setQueryList("SELECT
kd_komponen,nm_komponen FROM tblkomponen ORDER
BY kd_komponen");
cboKomponen.setColumnList(2);
cboKomponen.iniCombo();
JTable tbl;
tbl=(JTable) MyTable.getJTableObject();
tbl.addMouseListener(new java.awt.event.MouseAdapter()
{@Override public void
mouseClicked(java.awt.event.MouseEvent
evt){myTableMouseClick(evt);}});
tbl.addFocusListener(new java.awt.event.FocusAdapter()
{@Override public void
focusGained(java.awt.event.FocusEvent
evt){enterTable(evt);}});
pGrid.add(myTable,java.awt.BorderLayout.CENTER);
}catch(SQLException sqle){
System.err.println(sqle);
}
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
btnSave.setEnabled(false);
btnCancel.setEnabled(false);
btnEdit.setEnabled(false);
btnDelete.setEnabled(false);
clearForm();
disableInput(true);
}
}
6. Form Data Diagnosa dan Solusi
package sistempakar;
import com.miftah.db.*;
import java.sql.SQLException;
import javax.swing.JTable;
import java.awt.*;
/**
*
* @author Nabila Zahra Yulia
*/
public class Solusi extends javax.swing.JInternalFrame {
boolean append;
private DBTable tDiagnosa;
private MyTable myTable;
btnAdd.setEnabled(false);
btnEdit.setEnabled(false);
btnSave.setEnabled(true);
btnCancel.setEnabled(true);
btnDelete.setEnabled(true);
txtKode.setEnabled(false);
txtDiagnosa.requestFocus();
}else{
Utils.showMessage(this, "SIlakan tentukan terlebih dahulu
record yang akan diedit", "Perhatian");
}
}
btnSave.setEnabled(false);
btnCancel.setEnabled(false);
btnAdd.setEnabled(true);
}
}
private void
jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
btnEditActionPerformed(evt);
btnEdit.setEnabled(false);
}
if((txtKode.getText().equals(""))||(txtDiagnosa.getText().equals(""))||(txt
Diagnosa.getText().equals(""))){
Utils.showMessage(this, "Data tidak valid", "Informasi");
txtKode.requestFocus();
result=false;
}
else result=true;
return result;
}
myTable=new MyTable();
myTable.setParent(pGrid);
myTable.setDB(tDiagnosa);
myTable.RenameCol(0, "Kode");
myTable.RenameCol(1, "Diagnosa");
myTable.RenameCol(2, "Solusi");
myTable.setColumnWidth(new int[]{10,50,140});
myTable.setShow(true);
JTable tbl;
tbl = MyTable.getJTableObject();
tbl.addMouseListener(new java.awt.event.MouseAdapter()
{@Override public void
mouseClicked(java.awt.event.MouseEvent
evt){myTableMouseClick(evt);}});
tbl.addFocusListener(new java.awt.event.FocusAdapter()
{@Override public void
focusGained(java.awt.event.FocusEvent
evt){enterTable(evt);}});
}catch(SQLException sqle){
System.err.println(sqle);
}
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
btnSave.setEnabled(false);
btnEdit.setEnabled(false);
btnDelete.setEnabled(false);
btnCancel.setEnabled(false);
disableInput(true);
}
}
package sistempakar;
import java.awt.Dimension;
import java.awt.Toolkit;
/**
*
* @author Nabila Zahra Yulia
*/
public class frmPengguna extends javax.swing.JFrame {
private void
btnKonsultasiActionPerformed(java.awt.event.ActionEvent evt) {
Konsultasi konsultasi = new Konsultasi();
konsultasi.setVisible(true);
this.dispose();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frmPengguna().setVisible(true);
}
});
}
}
8. Form Informasi Komponen
package sistempakar;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.SQLException;
import javax.swing.ImageIcon;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author Nabila Zahra Yulia
*/
public class InfoKomponen extends javax.swing.JFrame {
private String strFile;
private void
cboKomponenActionPerformed(java.awt.event.ActionEvent evt) {
actionCombo();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InfoKomponen().setVisible(true);
}
});
}
}
private void actionCombo(){
if(cboKomponen.getSelectedIndex()<0){
return;
}
try {
cboKomponen.getSelectedKey();
txtKeterangan.setText(cboKomponen.getResultSet().getString
("keterangan"));
strFile=cboKomponen.getResultSet().getString("gambar");
lblImage.setIcon(new ImageIcon(strFile));
btnPrint.setEnabled(true);
} catch (SQLException ex) {
System.err.println(ex);
}
}
}
/**
*
* @author Nabila Zahra Yulia
*/
public class Konsultasi extends javax.swing.JFrame {
private boolean append;
private DBTable tPengetahuan,tPengguna,tTemp;
private DBQuery qPertanyaan,qSolusi;
private String strNoReg,strKode,strFaktaYa,strFaktaTidak,strA;
private String strYa,strTidak,idTemp,tgl,komponen;
private void
cboKomponenItemStateChanged(java.awt.event.ItemEvent evt) {
//actionCombo();
}
strA=strYa.substring(0, 1);
if(strA.equalsIgnoreCase("P")){
try {
txtSolusi.setText("");
qPertanyaan = new DBQuery();
qPertanyaan.setDriver(SistemPakarApp.getDriver());
qPertanyaan.setStrSql("SELECT
pertanyaan,ya,tidak,faktaYa,faktaTidak,kode FROM
tblpengetahuan WHERE kode='" + strYa + "'");
qPertanyaan.makeActive(true);
int row=qPertanyaan.getRowCount();
qPertanyaan.absolute(row);
lblPertanyaan.setText(qPertanyaan.getString(1));
strYa=qPertanyaan.getString(2);
strTidak=qPertanyaan.getString(3);
strFaktaYa=qPertanyaan.getString(4);
strFaktaTidak=qPertanyaan.getString(5);
idTemp=qPertanyaan.getString(6).toString();
} catch (SQLException ex) {}
}else{
try {
qSolusi = new DBQuery();
qSolusi.setDriver(SistemPakarApp.getDriver());
qSolusi.setStrSql("SELECT diagnosa,solusi FROM
tbldiagnosa WHERE kode='" + strYa + "'");
qSolusi.makeActive(true);
qSolusi.absolute(1);
txtDiagnosa.setText(qSolusi.getString(1));
txtSolusi.setText(qSolusi.getString(2));
btnMulai.setEnabled(false);
btnYa.setEnabled(false);
btnTidak.setEnabled(false);
btnAlasan.setEnabled(true);
btnCancel.setEnabled(false);
btnUlang.setEnabled(true);
btnPrint.setEnabled(true);
} catch (SQLException ex) {
System.err.println(ex);
}
}
}
private void btnTidakActionPerformed(java.awt.event.ActionEvent
evt) {
try{
tTemp.append();
tTemp.updateString("id", idTemp.toString());
tTemp.updateString("fakta", strFaktaTidak.toString());
tTemp.post();
}catch (SQLException ex){}
strA=strTidak.substring(0, 1);
if(strA.equalsIgnoreCase("P")){
try {
txtSolusi.setText("");
qPertanyaan = new DBQuery();
qPertanyaan.setDriver(SistemPakarApp.getDriver());
qPertanyaan.setStrSql("SELECT
pertanyaan,ya,tidak,faktaYa,faktaTidak,kode FROM
tblpengetahuan WHERE kode='" + strTidak + "'");
qPertanyaan.makeActive(true);
int row=qPertanyaan.getRowCount();
qPertanyaan.absolute(row);
lblPertanyaan.setText(qPertanyaan.getString(1));
strYa=qPertanyaan.getString(2);
strTidak=qPertanyaan.getString(3);
strFaktaYa=qPertanyaan.getString(4);
strFaktaTidak=qPertanyaan.getString(5);
idTemp=qPertanyaan.getString(6).toString();
} catch (SQLException ex) {}
}else{
try {
qSolusi = new DBQuery();
qSolusi.setDriver(SistemPakarApp.getDriver());
qSolusi.setStrSql("SELECT diagnosa,solusi FROM
tbldiagnosa WHERE kode='" + strTidak + "'");
qSolusi.makeActive(true);
qSolusi.absolute(1);
txtDiagnosa.setText(qSolusi.getString(1));
txtSolusi.setText(qSolusi.getString(2));
btnMulai.setEnabled(false);
btnYa.setEnabled(false);
btnTidak.setEnabled(false);
btnAlasan.setEnabled(true);
btnCancel.setEnabled(false);
btnUlang.setEnabled(true);
btnPrint.setEnabled(true);
} catch (SQLException ex) {
System.err.println(ex);
}
}
private void
cboKomponenActionPerformed(java.awt.event.ActionEvent evt) {
actionCombo();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Konsultasi().setVisible(true);
}
});
}
}
private void actionCombo(){
if(cboKomponen.getSelectedIndex()<0){
return;
}
try {
cboKomponen.getSelectedKey();
strKode=cboKomponen.getResultSet().getString("id_tanya");
String
strFile=cboKomponen.getResultSet().getString("gambar");
komponen=cboKomponen.getResultSet().getString("nm_komp
onen");
lblImage.setIcon(new ImageIcon(strFile));
idTemp=strKode.toString();
lblPertanyaan.setText("");
clearDump();
nonAktif();
btnMulai.setEnabled(true);
} catch (SQLException ex) {
System.err.println(ex);
}
}
private boolean isInputValid(){
boolean result;
if(txtNama.getText().equals("")||txtAlamat.getText().equals("")){
result=false;
}
else result=true;
return result;
}
private void save(){
try{
if(append==true){
tPengguna.append();
tPengguna.updateString("no_reg", strNoReg.toString());
}else{
tPengguna.edit();
}
tPengguna.updateString("nama", txtNama.getText());
tPengguna.updateString("alamat", txtAlamat.getText());
tPengguna.updateString("nm_komponen", komponen);
tPengguna.updateString("diagnosa", txtDiagnosa.getText());
tPengguna.updateString("solusi", txtSolusi.getText());
tPengguna.updateString("tanggal", tgl);
tPengguna.post();
}catch(SQLException sqle){
System.err.println(sqle);
}
}
private void displayQuestion(){
try {
qPertanyaan = new DBQuery();
qPertanyaan.setDriver(SistemPakarApp.getDriver());
qPertanyaan.setStrSql("SELECT
pertanyaan,ya,tidak,faktaYa,faktaTidak FROM tblpengetahuan
WHERE kode='" + strKode + "'");
qPertanyaan.makeActive(true);
qPertanyaan.absolute(1);
lblPertanyaan.setText(qPertanyaan.getString(1));
strYa=qPertanyaan.getString(2);
strTidak=qPertanyaan.getString(3);
strFaktaYa=qPertanyaan.getString(4);
strFaktaTidak=qPertanyaan.getString(5);
} catch (SQLException ex) {
}
}
private void nonAktif(){
btnYa.setEnabled(false);
btnTidak.setEnabled(false);
btnAlasan.setEnabled(false);
btnCancel.setEnabled(false);
btnUlang.setEnabled(false);
btnPrint.setEnabled(false);
}
Logger.getLogger(Konsultasi.class.getName()).log(Level.SEVER
E, null, ex);
}
}
private void clearForm(){
strNoReg="";
txtNama.setText("");
txtAlamat.setText("");
cboKomponen.setSelectedIndex(-1);
}
package sistempakar;
import com.miftah.db.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.SQLException;
/**
*
* @author Nabila Zahra Yulia
*/
public class Penjelasan extends javax.swing.JFrame {
private DBQuery qPenjelasan;
private MyTable myTable;
package sistempakar;
import org.jdesktop.application.Action;