DIAGNOSIS KERUSAKAN PERANGKAT KERAS KOMPUTER MENGGUNAKAN SISTEM PAKAR (KNOWLEDGE BASED SYSTEM) Di susun oleh: Tita Sari Rahmawati (107533407679) Rokhimatul Ro’idah (107533407705) M. Ramzul Haq (107533407709) UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PENDIDIKAN TEKNIK INFORMATIKA Mei 2010
31
Embed
Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
DIAGNOSIS KERUSAKAN PERANGKAT KERAS KOMPUTER MENGGUNAKAN
Private Sub cmdMasuk_Click()On Error GoTo login_errIf cboLevel.Text = "Pengguna" Thenuserid = "Pengguna"levelid = "Pengguna"Unload MefrmUtama.ShowExit Sub
ElseIf txtLogin.Text = "" Then MsgBox "Masukkan User ID !", vbCritical txtLogin.SetFocus Exit Sub End If If Not validity(txtLogin, "User ID") Then txtLogin.SetFocus Exit Sub End If If txtPass.Text = "" Then MsgBox "Masukkan Password !", vbCritical txtPass.SetFocus Exit Sub End If If Not validity(txtPass, "Password") Then txtPass.SetFocus Exit Sub End If konek_db Dim sql As String Set adoRS = New ADODB.Recordset sql = "select * from list_user where user_id = '" & txtLogin.Text & "' and pass = '" & Crypt(txtPass.Text) & "'" adoRS.Open sql, Conn, adOpenDynamic, adLockOptimistic If (adoRS.EOF) Then MsgBox "User ID dan Password salah! Coba Lagi !", vbCritical, "Peringatan" txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocus Call closeconn Exit Sub End If levelid = adoRS!Level Call closeconn userid = txtLogin.Text Unload Me frmUtama.ShowEnd IfExit Sub
login_err: MsgBox Err.DescriptionEnd Sub
Private Sub Label6_Click()frmUserBaru.Show vbModalEnd Sub
Private Sub Label7_Click()frmGantiPass.Show vbModalEnd Sub
Private Sub Label9_Click()frmHapusUser.Show vbModalEnd Sub
Private Sub Form_Load()cboLevel.AddItem "Pengguna"cboLevel.AddItem "Pakar"cboLevel.AddItem "Administrator"cmdMasuk.Enabled = FalseEnd Sub
Private Sub cmdDiagnosis_Click()frmPilihKerusakan.Show vbModalEnd Sub
Private Sub cmdPengetahuan_Click()frmPengetahuan.Show vbModalEnd Sub
Private Sub Form_Activate()Call Form_LoadEnd Sub
Private Sub Form_Load()konek_dbStatusBar1.Panels(1) = useridStatusBar1.Panels(2) = levelidIf levelid = "Pengguna" Then cmdPengetahuan.Visible = False mnBasis.Visible = FalseElse cmdPengetahuan.Visible = True mnBasis.Visible = TrueEnd IfEnd Sub
Private Sub Form_Unload(Cancel As Integer)diskonek_db
Unload MeEndEnd Sub
Private Sub mnDiagnosisKerusakan_Click()frmPilihKerusakan.Show vbModalEnd Sub
Private Sub mnEdit_Click()frmPengetahuan.Show vbModalEnd Sub
Private Sub mnKeluar_Click()Dim pesanpesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")If pesan = vbYes Then Unload MeEnd IfEnd Sub
Private Sub mnLogOff_Click()Dim pesanpesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")If pesan = vbYes Then frmLogin.Show Me.HideEnd IfEnd Sub
Private Sub mnPembuat_Click()frmPembuat.Show vbModalEnd Sub
Private Sub mnProgram_Click()frmProgram.Show vbModalEnd Sub
Private Sub cboKerusakan_Click()Command1.Enabled = TrueEnd Sub
Private Sub Command1_Click()frmDiagnosis.Show vbModalEnd Sub
Private Sub Form_Load()Dim i As Integer
i = 0cboKerusakan.ClearrsKerusakan.MoveFirstWhile Not rsKerusakan.EOF cboKerusakan.AddItem rsKerusakan!jenis_kerusakan, i i = i + 1 rsKerusakan.MoveNextWendCommand1.Enabled = FalseEnd Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub============================================================
4. Form Diagnosis
============================================================== Private Sub cmdSelesai_Click()Me.HideEnd Sub
Private Sub Form_Unload(Cancel As Integer)Call cmdSelesai_ClickEnd Sub==============================================================
5. Form Basis Pengetahuan==============================================================
Public baru As BooleanDim rsRusak As New ADODB.Recordset
Private Sub cboCari_Click()txtCari.Text = ""txtCari.SetFocusEnd Sub
Private Sub cmdBatal_Click()KunciTeks TruetombolAwal TrueAdodc1.Recordset.CancelKosongkanFormEnd Sub
Private Sub cmdHapus_Click()On Error GoTo hapusErrDim pilpil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")If pil = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveLastMsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi"End IfExit Sub
Private Sub cmdInputKerusakan_Click()frmKerusakan.Show vbModalEnd Sub
Private Sub cmdInputSolusi_Click()frmSolusi.Show vbModalEnd Sub
Private Sub cmdKeluar_Click()Me.HideEnd Sub
Private Sub cmdSimpan_Click()On Error GoTo simpanErr
If txtIDKnowledge.Text = Empty Or _cboKerusakan.Text = "" Or _txtPertanyaan.Text = Empty Or _txtFaktaYA.Text = Empty Or _txtFaktaTIDAK.Text = Empty Or _cboYA.Text = Empty Or _cboTIDAK.Text = Empty Then
Dim rsCek As ADODB.RecordsetSet rsCek = New ADODB.RecordsetrsCek.Open "select * from knowledge where ID='" & txtIDKnowledge.Text & "'", ConnIf Not rsCek.EOF And baru Then MsgBox "Aturan dengan kode " & txtIDKnowledge.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan" txtIDKnowledge.SetFocus: SendKeys "{HOME}+{END}"Else
With Adodc1.RecordsetIf baru Then .AddNew!ID = txtIDKnowledge.Text!ID_kerusakan = txtIDKerusakan.Text!pertanyaan = txtPertanyaan.Text!faktaYA = txtFaktaYA.Text!faktaTIDAK = txtFaktaTIDAK.Text!Ya = cboYA.Text!Tidak = cboTIDAK.Text
.Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi"KunciTeks TruetombolAwal TrueKosongkanFormEnd WithEnd IfEnd IfExit Sub
Set rsRusak = New ADODB.RecordsetrsRusak.Open "select * from kerusakan where ID_kerusakan='" & txtIDKerusakan.Text & "'", ConncboKerusakan.Text = rsRusak!jenis_kerusakan
'If Not rsKerusakan.EOF ThencboKerusakan.ClearrsKerusakan.MoveFirstWhile Not rsKerusakan.EOF cboKerusakan.AddItem rsKerusakan!jenis_kerusakan
rsKerusakan.MoveNextWend'End If
'If Not rsKnowledge.EOF ThencboYA.ClearcboTIDAK.ClearrsKnowledge.MoveFirstWhile Not rsKnowledge.EOF cboYA.AddItem rsKnowledge!ID cboTIDAK.AddItem rsKnowledge!ID rsKnowledge.MoveNextWend'End If'If Not rsSolusi.EOF ThenrsSolusi.MoveFirstWhile Not rsSolusi.EOF cboYA.AddItem rsSolusi!ID_solusi cboTIDAK.AddItem rsSolusi!ID_solusi rsSolusi.MoveNextWend'End IfEnd Sub
Private Sub Form_Load()KunciTeks TruetombolAwal True
gridKnowledge.Columns(0).Width = 400gridKnowledge.Columns(4).Width = 400gridKnowledge.Columns(5).Width = 400gridKnowledge.Columns(6).Width = 400End Sub
Sub KosongkanForm()txtIDKnowledge.Text = EmptytxtIDKerusakan.Text = EmptycboKerusakan.Text = EmptytxtPertanyaan.Text = EmptytxtFaktaYA.Text = EmptytxtFaktaTIDAK.Text = EmptycboYA.Text = EmptycboTIDAK.Text = EmptyEnd Sub
Sub KunciTeks(kunci As Boolean)txtIDKnowledge.Locked = kuncicboKerusakan.Locked = kuncitxtPertanyaan.Locked = kuncitxtFaktaYA.Locked = kuncitxtFaktaTIDAK.Locked = kuncicboYA.Locked = kuncicboTIDAK.Locked = kunciEnd Sub
Private Sub cboKerusakan_Click()On Error GoTo rusakErr
Set rsRusak = New ADODB.RecordsetrsRusak.Open "select * from kerusakan where jenis_kerusakan='" & cboKerusakan.Text & "'", ConntxtIDKerusakan.Text = rsRusak!ID_kerusakanExit Sub
Sub DaftarCari()On Error GoTo pesan Dim adofilter As New ADODB.Recordset Set adofilter = New ADODB.Recordset Dim sqlc As String adofilter.CursorLocation = adUseClient Select Case cboCari.Text Case "ID Pengetahuan" sqlc = "SELECT * FROM knowledge where ID like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case "Pertanyaan" sqlc = "SELECT * FROM knowledge where pertanyaan like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case "ID Kerusakan"
sqlc = "SELECT * FROM knowledge where ID_kerusakan like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case Else MsgBox "Pilih dulu mau mencari berdasarkan apa !", vbExclamation, "Peringatan" 'txtCari.Text = "" cboCari.SetFocus Exit Sub End Select adofilter.Open sqlc, Conn, adOpenDynamic, adLockOptimistic If Not adofilter.EOF Then Set gridKnowledge.DataSource = adofilter Set Adodc1.Recordset = adofilter Else MsgBox "Maaf, data yang anda cari tidak terdapat pada database !", vbInformation, "Informasi" txtCari.Text = "" End IfExit Sub
Private Sub cmdAlasan_Click()frmPenanganan.Label2.Text = ""rsTemp.MoveFirstWhile Not rsTemp.EOFfrmPenanganan.Label2.Text = frmPenanganan.Label2.Text + _rsTemp!fakta + vbCrLfrsTemp.MoveNext
WendfrmPenanganan.Label2.Text = frmPenanganan.Label2.Text + vbCrLf + vbCrLf + _"Maka Hasil Diagnosis : " + vbCrLf + rsSolusi!solusifrmPenanganan.Show vbModalEnd Sub
Private Sub cmdSelesai_Click()Me.HidefrmDiagnosis.HideEnd Sub
Private Sub Form_Unload(Cancel As Integer)Call cmdSelesai_ClickEnd Sub==============================================================
7. Form User Baru, Ganti Pass, dan Hapus User
==============================================================Private Sub cmdlogin_Click() If txtlogin.Text = "" Then MsgBox "Masukkan User ID !", vbCritical txtlogin.SetFocus Exit Sub End If If Not validity(txtlogin, "User ID") Then txtlogin.SetFocus Exit Sub End If If txtpass.Text = "" Then MsgBox "Masukkan Password !", vbCritical txtpass.SetFocus Exit Sub End If If Not validity(txtpass, "Password") Then txtpass.SetFocus Exit Sub End If If txtpass2.Text = "" Then MsgBox "Ulangi Memasukkan Password !", vbCritical txtpass2.SetFocus Exit Sub End If If Not validity(txtpass2, "Konfirmasi Password") Then txtpass2.SetFocus Exit Sub
End If If txtpass.Text <> txtpass2.Text Then MsgBox "Password dan ulangi password tidak sesuai !", vbCritical txtpass.Text = "" txtpass2.Text = "" txtpass.SetFocus Exit Sub End If If cboTipe.Text = "" Then MsgBox "Pilih tipe user !", vbCritical cboTipe.SetFocus Exit Sub End If If txtadmin.Text = "" Then MsgBox "Masukkan Password Administrator !", vbCritical txtadmin.SetFocus Exit Sub End If If Not validity(txtadmin, "Administrator Password") Then txtadmin.SetFocus Exit Sub End If konek_db sql = "select * from list_user where level = '" & "Administrator" & "' and pass = '" & Crypt(txtadmin.Text) & "'" adoRS.Open sql, Conn, adOpenDynamic, adLockOptimistic If (adoRS.EOF) Then MsgBox "Password Administrator Salah! Coba lagi dengan password Administrator yang benar !", vbCritical txtadmin.Text = "" txtadmin.SetFocus Call closeconn Exit Sub End If Call closeconn
sql = "select * from list_user where user_id = '" & txtlogin.Text & "'" adoRS.Open sql, Conn, adOpenDynamic, adLockOptimistic If Not (adoRS.EOF) Then MsgBox "User ID sudah ada! Masukkan user ID yang lain!", vbCritical, "Peringatan" txtlogin.Text = "" txtlogin.SetFocus Call closeconn Exit Sub End If
Call closeconn
sql = "insert into list_user values('" & txtlogin.Text & "','" & Crypt(txtpass.Text) & "','" & cboTipe.Text & "')" adoRS.Open sql, Conn, adOpenDynamic, adLockOptimistic Call closeconn MsgBox "User Baru Berhasil dibuat!", vbInformation, "Informasi" Unload MeEnd Sub
Private Sub Command1_Click()Unload MeEnd Sub
Private Sub Form_Load()
End Sub==============================================================