diagnosis kerusakan komputer menggunakan sistem pakar

31
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

Upload: tita-sari-rahmawati

Post on 22-Oct-2015

157 views

Category:

Documents


5 download

DESCRIPTION

Kecerdasan buatan

TRANSCRIPT

Page 1: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

Email : [email protected]; [email protected];

Page 2: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

1.1. Pendahuluan

Saat ini di SMK khususnya dalam program keahlian Teknik Komputer dan Jaringan

dalam kurikulum KTSP terdapat kompetensi dasar “instalasi PC dan perbaikan PC” dimana

siswa harus dapat melakukan instalasi PC dan melakukan perbaikan terhadap kerusakan yang

ditemui dalam kegiatan praktikum. Dalam kompetensi dasar ini siswa hanya terbatas pada

kegiatan praktikum saja, tanpa adanya suatu trik untuk membangkitkan kemampuan mereka

dalam instalasi PC dan perbaikannya.

Pada umumnya siswa hanya bisa menggunakan atau mengoperasikan komputer tanpa

tahu cara memperbaiki kerusakan. Sedangkan untuk mengetahui kerusakan dan cara

memperbaiki dari kerusakan tersebut dibutuhkan seorang pakar atau ahli dari kerusakan

perangkat keras komputer tersebut. Tetapi seorang pakar yang umumnya dijumpai untuk

berkonsultasi atau memperbaiki kerusakan perangkat keras komputer tersebut membutuhkan

biaya yang cukup mahal. Selain itu, dalam praktikum peran guru sangat dominan, karena

untuk membimbing siswa satu per satu jika terdapat troubleshooting dalam instalasi PC dan

perbaikannya. Jika semua hal yang berkaitan dengan kesulitan siswa dalam KD ini hanya

dibantu oleh seorang guru maka sangat tidak efisien.

Untuk mengatasi permasalahan tersebut, ada sebuah sistem yang dapat mewakili

kemampuan seorang pakar dengan mempertimbangkan segi ekonomi (biaya) untuk

mengetahui informasi kerusakan komputer dan cara memperbaikinya sehingga dapat

digunakan siswa sebagai tutorial pembelajaran praktikum, selain itu dapat membantu siswa

dalam proses praktikum ketika menemui sebuah kesulitan.

Perancangan dan implementasi Sistem Pakar Untuk Troubleshooting Komputer

dirancang menggunakan metode ESDLC (Expert System Development Life Cycle)

sedangkan metode penalaran menggunakan metode penalaran maju, dan teknik penulusuran

menggunakan Depth First Search (DFS). Hasil pengujian setelah implementasi Sistem Pakar

Untuk Troubleshooting Komputer bisa membantu menganalisa kerusakan komputer dengan

memberikan diagnosa-diagnosa awal sampai ditemukan suatu hasil diagnosa dan kesimpulan

berdasarkan fakta-fakta yang ditemukan sebelumnya.

1.2. Tujuan Pembuatan Sistem

Membuat sebuah aplikasi sistem pakar untuk mendiagnosis masalah kerusakan

komputer yang dihadapi siswa pada saat praktikum berlangsung.

Page 3: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

1.3 Rumusan Masalah

1. Bagaimana mengatasi kerusakan/troubleshooting pada hardware komputer dengan

menggunakan teknik sistem pakar ?

1.4 Batasan Masalah

Kerusakan komputer yang ada dalam basis pengetahuan adalah kerusakan pada

perangkat keras (hardware) komputer dengan bagian : Motherboard, VGA, RAM, prosesor

dan Harddisk.

1.5 Metodologi

1.5.1 Metode Pengembangan Software

Sistem pakar dikembangkan dengan metode yang disebut dengan Expert System

Development Life Cycle (ESDL) merupakan konsep dasar dalam perancangan dan

pengembangan sistem pakar. Tahapan-tahapan dalam ESDLC adalah :

1. Penilaian Keadaan (Assesment)

• Mendefinisikan masalah

• Mendefinisikan tujuan umum dan ruang lingkup dari sistem

• Memverifikasi kesesuaian Sistem Pakar dengan masalah

2. Akuisisi Pengetahuan (Knowledge Acquisition)

• Menentukan sumber pengetahuan

• Mendapatkan pengetahuan yang berhubungan dengan masalah yang akan dibahas

• Melakukan pertemuan dengan pakar

3. Perancangan(Design)

• Membangun konsep desain

• Menentukan strategi pengembangan

• Memilih bahasa pemograman yang digunakan

4. Pengujian(Testing)

• Melakukan pengujian dan memodifikasi pengetahuan sistem

5. Dokumentasi(documentation)

• Membuatkan diagram dan user dictionary dalam sebuah dokumen yang berguna bagi user

6. Pemeliharaan(Maintenance)

1.6 Pembahasan

Page 4: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

1.6.1 Identifikasi Masalah

Dalam praktikum instalasi PC dan perbaikan PC di SMK Program Keahlian TKJ siswa masih

kesulitan dalam mengatasi kerusakan hardware pada saat praktikum berlangsung, guru tidak

bisa memberikan arahan kepada siswa satu persatu, hal ini tidak efektif. Maka dari itu

diperlukan suatu sistem yang dapat membatu peran guru dan membantu siswa dalam

mengatasi kesulitan dalam menangani kerusakan hardware komputer. Sistem ini merupakan

sistem pakar, dimana sistem ini bukan menggantikan peran manusia tetapi bisa melakukan

sesuatu seperti manusia sesuai dengan tujuan pembuat sistem.

1.6.2 Data

1. Akuisisi Pengetahuan

Akuisisi pengetahuan dalam pengembangan sistem pakar untuk troubleshooting

komputer dimulai dengan pengumpulan data jenis kerusakan, penyebab kerusakan serta

sampai pada penyelesaian masalah atau solusi kerusakannya.

2. Basis Pengetahuan

Setelah akuisisi pengetahuan selesai, selanjutnya pengetahuan tersebut di

representasikan menjadi basis pengetahuan. Sebagai acuan dalam struktur tabel yang

nantinya diimplementasikan dalam basis data, jenis kerusakan komputer dibagi menjadi 3

kategori :

1. Kerusakan pada harddisk

2. Kerusakan pada motherboard

3. Kerusakan pada prosesor

4. Kerusakan pada RAM

3. Representasi Pengetahuan

Dalam representasi pengetahuan yang dilakukan, menggunakan teknik representasi aturan

produksi atau production rule. Yaitu format aturannya sebagai berikut :

IF pilih jenis kerusakan

THEN form Diagnosis

IF Jawaban Ya

THEN Pertanyaan

IF Jawaban Tidak

THEN Solusi

Page 5: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

IF Selesai

THEN Penanganan/Kesimpulan

1.6.3 Perancangan Mesin Inferensi

Dalam perancangan mesin inferensi ini metode penalaran yang digunakan adalah metode

penalaran maju (forward chaining) dimana penelusuran akan dimulai dari pemilihan jenis

kerusakan, lalu diteruskan ke proses diagnosis dan kemudian sampai pada solusi kerusakan.

Sedangkan teknik penelusuran yang digunakan adalah teknik Depth First Search (DFS).

DFS melakukan penelusuran data pada semua node-node secara vertikal dan sudah

terdefinisikan misalnya dari kiri ke kanan.

1

2 4

3

5

Gambar 3.2. Teknik Penelusuran DFS

Peracangan Model Data

Jenis Kerusakan

Pertanyaan diagnosa

ke-n

Jenis ke-n

Pertanyaan diagnosa

ke-1

Pertanyaan diagnosa

ke-1

Pertanyaan diagnosa

ke-n

Hasil Diagnos

a

Hasil Diagnosa

Hasil Diagnos

a

Jenis ke-1

Kesimpulan/evaluasi

Kesimpulan/evaluasi

Kesimpulan/evaluasi

Page 6: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

a. Perancangan Flowchart Inferensi

Gambar Desain Flowchart Inferensi

Tampilkan Kesimpulan/evaluasi

Mulai

Pilih macam Kerusakan

Data

Data

Simpan Tampilkan seluruh data terpilih

Seluruh data terpilih

Proses sistem pakar

Pilih jenis Kerusakan

Tampilkan solusi permasalahan

Diagnosis Kerusakan ke-

Data

Page 7: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

1.6.4 Implementasi

1. Tampilan Awal Sistem

1.2 Form Pengguna

Page 8: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

Form Pengguna, akan menampilkan diagnosia kerusakan sesuai dengan jenis kerusakan yang

dipilih pengguna.

1.2.1 Form Pilih Kerusakan

Form Diagnosis Kerusakan

Dalam form diagnosis kerusakan, sistem akan memberikan pertanyaan-pertanyaan diagnosis

untuk menemukan fakta-fakta yang nantinya untuk dianalisis pada hasil diagnosis dan solusi

lalu ke penanganan

Page 9: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

Form Hasil Diagnosa dan Solusi

Form Penanganan

Page 10: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar
Page 11: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

LAPORAN TUGAS BESAR ARTIFICIAL INTELLIGENT

”DIAGNOSA PERMASALAHAN KOMPUTER DENGAN EXPERT SYSTEM

(KNOWLEDGE BASED SYSTEM)”

Oleh

Tita Sari Rahmawati

Rokhimatul R.

M. Ramzul Haq

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

Page 12: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA

APRIL 2010

Script :

1. Form Login

==================================================================Private Sub cboLevel_Click()If cboLevel.Text = "Pengguna" Then txtLogin.Enabled = False txtPass.Enabled = FalseElseIf cboLevel.Text = "Pakar" Then txtLogin.Enabled = True txtPass.Enabled = True txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocusElseIf cboLevel.Text = "Administrator" Then txtLogin.Enabled = True txtPass.Enabled = True txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocusEnd IfcmdMasuk.Enabled = TrueEnd Sub

Private Sub cmdKeluar_Click()Unload MeEnd Sub

Private Sub cmdMasuk_Click()On Error GoTo login_errIf cboLevel.Text = "Pengguna" Thenuserid = "Pengguna"levelid = "Pengguna"Unload MefrmUtama.ShowExit Sub

Page 13: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

Page 14: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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 Timer1_Timer()Label3.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)End Sub==============================================================

2. Form Utama

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

Page 15: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

3. Form Pilih Kerusakan

==============================================================

Private Sub cboKerusakan_Click()Command1.Enabled = TrueEnd Sub

Private Sub Command1_Click()frmDiagnosis.Show vbModalEnd Sub

Private Sub Form_Load()Dim i As Integer

Page 16: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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 cmdYa_Click()On Error Resume Next rsTemp.AddNewrsTemp!ID_temp = rsKnowledge!IDrsTemp!fakta = rsKnowledge!faktaYArsTemp.Updatejwb = rsKnowledge!YaIf Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaanElsersSolusi.MoveFirstrsSolusi.Find " ID_solusi= '" & jwb & "' "frmHasilDiagnosis.Label1.Caption = rsSolusi!solusifrmHasilDiagnosis.Show vbModalEnd IfEnd Sub

Private Sub cmdTIDAK_Click()On Error Resume Next rsTemp.AddNewrsTemp!ID_temp = rsKnowledge!IDrsTemp!fakta = rsKnowledge!faktaTIDAKrsTemp.Update

Page 17: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

jwb = rsKnowledge!TidakIf Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaanElsersSolusi.MoveFirstrsSolusi.Find " ID_solusi= '" & jwb & "' "frmHasilDiagnosis.Label1.Caption = rsSolusi!solusifrmHasilDiagnosis.Show vbModalEnd If End Sub Private Sub Form_Activate()Call Form_LoadEnd Sub

Private Sub Form_Load()On Error Resume Next

rsTemp.RequeryWhile Not rsTemp.EOFrsTemp.DeletersTemp.MoveNextWend

rsKnowledge.MoveFirstSelect Case frmPilihKerusakan.cboKerusakan.ListIndexCase 0 rsKnowledge.Find " ID='T1' " Label1.Caption = rsKnowledge!pertanyaanCase 1 rsKnowledge.Find " ID='T2' " Label1.Caption = rsKnowledge!pertanyaanCase 2 rsKnowledge.Find " ID='T3' " Label1.Caption = rsKnowledge!pertanyaanCase 3 rsKnowledge.Find " ID='T5' " Label1.Caption = rsKnowledge!pertanyaan End SelectEnd Sub

Private Sub Form_Unload(Cancel As Integer)Call cmdSelesai_ClickEnd Sub==============================================================

5. Form Basis Pengetahuan==============================================================

Page 18: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

hapusErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"End 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

Page 19: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"txtIDKnowledge.SetFocusElse

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

simpanErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"End Sub

Private Sub cmdTambah_Click()baru = TrueKunciTeks FalsetombolAwal FalsetxtIDKnowledge.SetFocus

End Sub

Sub tombolAwal(kunci As Boolean)cmdTambah.Enabled = kuncicmdSimpan.Enabled = Not kuncicmdBatal.Enabled = Not kuncicmdUbah.Enabled = kunci

Page 20: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

cmdHapus.Enabled = kuncicmdKeluar.Enabled = kunciEnd Sub

Private Sub cmdUbah_Click()On Error GoTo ubahErrKunciTeks FalsetombolAwal False

With Adodc1.RecordsettxtIDKnowledge.Text = !IDtxtIDKerusakan.Text = !ID_kerusakantxtPertanyaan.Text = !pertanyaantxtFaktaYA.Text = !faktaYAtxtFaktaTIDAK.Text = !faktaTIDAKcboYA.Text = !YacboTIDAK.Text = !Tidak

Set rsRusak = New ADODB.RecordsetrsRusak.Open "select * from kerusakan where ID_kerusakan='" & txtIDKerusakan.Text & "'", ConncboKerusakan.Text = rsRusak!jenis_kerusakan

End WithtxtIDKnowledge.SetFocus

baru = FalseExit Sub

ubahErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"End Sub

Private Sub Form_Activate()Dim i As IntegerFor i = 0 To 6 gridKnowledge.Columns(i).Locked = TrueNext i

For i = 0 To 1 gridKerusakan.Columns(i).Locked = True gridSolusi.Columns(i).Locked = TrueNext i

cboCari.AddItem "ID Pengetahuan"cboCari.AddItem "Pertanyaan"cboCari.AddItem "ID Kerusakan"

'If Not rsKerusakan.EOF ThencboKerusakan.ClearrsKerusakan.MoveFirstWhile Not rsKerusakan.EOF cboKerusakan.AddItem rsKerusakan!jenis_kerusakan

Page 21: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

Adodc1.ConnectionString = Conn.ConnectionStringAdodc1.RecordSource = "select * from knowledge"Adodc1.RefreshSet gridKnowledge.DataSource = Adodc1

Adodc3.ConnectionString = Conn.ConnectionStringAdodc3.RecordSource = "select * from kerusakan"Adodc3.RefreshSet gridKerusakan.DataSource = Adodc3

Adodc2.ConnectionString = Conn.ConnectionStringAdodc2.RecordSource = "select * from solusi"Adodc2.RefreshSet gridSolusi.DataSource = Adodc2

gridKerusakan.Columns(0).Width = 400gridKerusakan.Columns(1).Width = 5000

gridSolusi.Columns(0).Width = 400gridSolusi.Columns(1).Width = 5000

gridKnowledge.Columns(0).Width = 400gridKnowledge.Columns(4).Width = 400gridKnowledge.Columns(5).Width = 400gridKnowledge.Columns(6).Width = 400End Sub

Page 22: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

rusakErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"End 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"

Page 23: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

pesan: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"End Sub

Private Sub txtCari_Change()DaftarCariEnd Sub==============================================================

6. Form Hasil Diagnosis

==============================================================

Private Sub cmdAlasan_Click()frmPenanganan.Label2.Text = ""rsTemp.MoveFirstWhile Not rsTemp.EOFfrmPenanganan.Label2.Text = frmPenanganan.Label2.Text + _rsTemp!fakta + vbCrLfrsTemp.MoveNext

Page 24: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

Page 25: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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

Page 26: Diagnosis Kerusakan Komputer Menggunakan Sistem Pakar

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==============================================================