Upload
tita-sari-rahmawati
View
153
Download
5
Embed Size (px)
DESCRIPTION
Kecerdasan buatan
Citation preview
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];
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.
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
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
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
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
1.6.4 Implementasi
1. Tampilan Awal Sistem
1.2 Form Pengguna
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
Form Hasil Diagnosa dan Solusi
Form Penanganan
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
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
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 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
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
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
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==============================================================
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
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
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
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
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"
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
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==============================================================