• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI PROGRAM

5.5 Evaluasi

Hasil evaluasi dari uji coba terhadap beberapa sekenario yang telah dilakukan oleh montir membuktikan bahwa aplikasi yang telah berjalan sesuai dengan fungsinya masing-masing dan dapat membantu montir dalam memecahkan permasalahannya.

Selain itu proses uji coba yang dilakukan juga telah membuktikan bahwa aplikasi telah dilengkapi dengan fasilitas penanganan kesalahan saat berinteraksi dengan pengguna yang sangat membantu sistem untuk berjalan secara optimal.

92

BAB VI PENUTUP

6.1. Kesimpulan

Setelah dilakukan uji coba maka dapat diambil kesimpulan yaitu:

a. Aplikasi sistem pakar diagnosis kerusakan pada televisi berwarna dapat

mempermudah dan mempercepat proses diagnosis kerusakan pada televisi berwarna sehingga bisa membantu pengguna maupun pakar dalam menangani permasalahan kerusakan televisi tersebut.

b. Dengan menerapkan data flow diagram pada proses perancangan sistem,

dapat mengidentifikasi kebutuhan-kebutuhan sistem yang benar dan menspesifikasikannya ke dalam cara yang mudah dipahami oleh pengguna sehingga kebutuhan dapat diverifikasi dan divalidasi.

c. Dengan menerapkan activeX control untuk mengantisipasi semua

kemungkinan input user, aplikasi tetap responsif saat berinteraksi dengan pengguna.

6.2. Saran

Berdasarkan pengalaman dalam proses pembuatan aplikasi ini, terdapat beberapa saran yang diusulkan oleh penyusun terkait untuk pengembangan aplikasi lebih lanjut. Saran - saran tersebut antara lain:

a. Dilakukan pengembangan terhadap aplikasi yang ada untuk mengoptimalkan

b. Diharapkan sistem ini bisa dikembangkan lebih lanjut dengan menggunakan teknologi – teknologi baru seperti aplikasi hp mobile bersistem operasi java , symbian dan android, sehingga hasil yang didapatkan bisa benar – benar optimal

c. Pada aplikasi hanya mendiagnosis televisi berwarna dengan jenis tabung CRT (Cathode Ray Tube) karena sebagian masyarakat masih banyak yang mempunyai televisi tersebut. Di harapkan ada pengembangan dengan jenis LCD dan LED.

Andi, 2003, Pengembangan Sistem Pakar Menggunakan Visual Basic, Penerbit Andi, Yogyakarta

Aziz, M farid, 1994 : Belajar Sendiri Pemrograman Sistem Pakar, Penerbit PT Elex Media Komputindo Kelompok Gramedia, Jakarta.

Chang, Chin-Liang, 1990: Pengenalan Tekmik Kecerdasan Buatan (Artificial Intelegence), Penerbit Erlangga, Jakarta.

Jayadikara Edi A & Paulus Sigit, 2002: Merawat dan Memperbaiki Televisi Berwarna, Penerbit Puspa Swara, Jakarta.

Kusrini, S.Kom, 2006, Sistem Pakar, Teori dan Aplikasi, Penerbit Andi, Yogyakarta Rio, S. Reka,Yoshikatsu Sawamura, 2001: “Teknik Reparasi TV Berwarna”, Penerbit

Pradina Paramita, Jakarta.

Syarif, Iwan dan Badriyah 2002, Pembuatan Alat Bantu Ajar Sistem Pakar dengan Teknik Inferensi Forward Chaining, Penerbit PT INFORMATIKA, Bandung

Nama : Amar

Alamat : Jl. Kendangsari Gg VII/9 Hari/Tgl : Selasa, 10 Mei 2011 Merek TV : Thosiba 21”

Tujuan dari hasil uji coba ini untuk mengetahui tentang manfaat dan kepuasan para montir TV dalam menggunakan program ini.

Manfaat :

- Menghemat waktu dalam bekerja karena lebih cepat dari proses manual dan pendapatan otomatis meningkat

- Membantu proses berpikir para montir dalam menangani penyebab gejala kerusakan televisi

Kepuasan :

Puas, karena sangat membantu montir dalam bekerja dan perlu latihan dalam proses adaptasi untuk mengoperasikan program.

Saran – Saran :

- Sebaiknya di buatkan juga program untuk layar LCD dan LED karena untuk mengimbangi perkembangan teknologi.

-Dalam program sebaiknya diberi gambar masing – masing komponen untuk memudahkan mengoperasikan program.

Nama : Harsono

Alamat : Jl. Kendangsari Gg IV/45 Hari/Tgl : Senin, 09 Mei 2011 Merek TV : LG 21”

Tujuan dari hasil uji coba ini untuk mengetahui tentang manfaat dan kepuasan para montir TV dalam menggunakan program ini.

Manfaat :

- Bisa membantu dalam menangani gejala kerusakan televisi - Mengefisiensi waktu montir dalam bekerja

Kepuasan :

Puas, karena sudah di buatkan program untuk membantu dalam bekerja dan perlu belajar lagi untuk mengoperasikannya.

Saran – Saran :

- Kebanyakan montir masih belum mempunyai seperangkat alat komputer jadi belum terbiasa mengoperasikan komputer dan program.

-Dalam program sebaiknya diberi gambar komponen untuk memudahkan mengoperasikan program

Nama : Rokim

Alamat : Jl. Kendangsari Gg XIV/21 Hari/Tgl : Selasa, 10 Mei 2011

Merek TV : Sharp 21”

Tujuan dari hasil uji coba ini untuk mengetahui tentang manfaat dan kepuasan para montir TV dalam menggunakan program ini.

Manfaat :

- Menghemat waktu dalam bekerja karena lebih cepat dari proses manual dan pendapatan otomatis meningkat

- Membantu proses berpikir para montir dalam menangani penyebab gejala kerusakan televisi

Kepuasan :

Puas, di karenakan mayoritas montir belum mempunyai komputer maka perlu latihan lagi dalam mengoperasikan program.

Saran – Saran :

- Sebaiknya di buatkan juga program berbasis HP mobile karena lebih efisiensi biaya dan tempat.

-Dalam program sebaiknya diberi gambar masing – masing komponen untuk memudahkan mengoperasikan program.

On Error GoTo login_err

If cboLevel.Text = "Pengguna" Then userid = "Pengguna" levelid = "Pengguna" frmUtama.Show Unload Me Exit Sub Else 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 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.Show End If Exit Sub Koneksi Database

Public Conn As New ADODB.Connection Public rsKnowledge As New ADODB.Recordset Public rsSolusi As New ADODB.Recordset Public rsTemp As New ADODB.Recordset Public rsKerusakan As New ADODB.Recordset

Public Sub konek_db() On Error GoTo konekErr

If Conn.State = 1 Then Conn.Close

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\tv.mdb;Persist Security Info=False"

rsKnowledge.Open "select * from knowledge", Conn, adOpenDynamic, adLockOptimistic rsSolusi.Open "select * from solusi", Conn, adOpenDynamic, adLockOptimistic rsTemp.Open "select * from temp", Conn, adOpenDynamic, adLockOptimistic

rsKerusakan.Open "select * from kerusakan", Conn, adOpenDynamic, adLockOptimistic

Exit Sub

rsSolusi.Close rsTemp.Close rsKerusakan.Close

Conn.Close End Sub

Public adoRS As New ADODB.Recordset Public userid, levelid As String

' =============== check for valid chracters only .--============= Public Function validity(ByVal str As TextBox, ByVal field As String) If Len(str.Text) > 0 Then For i = 1 To Len(str.Text) xyz = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", Mid(str.Text, i, 1), vbBinaryCompare) If xyz = 0 Then

MsgBox "Invalid Character (" & Mid(str.Text, i, 1) & ") Found in " & field & " Field", vbCritical, "Cannot Proceed!"

invalid = True Exit For

End If Next i

If invalid = True Then validity = False Else validity = True End If Else validity = True End If End Function

' =============== check for valid of ' & " only .--============= Public Function validity2(ByVal str As TextBox, ByVal field As String) If Len(str.Text) > 0 Then

For i = 1 To Len(str.Text)

xyz = InStr(1, """'", Mid(str.Text, i, 1), vbBinaryCompare) If xyz > 0 Then

MsgBox "Invalid Character (" & Mid(str.Text, i, 1) & ") Found in " & field & " Field", vbCritical, "Cannot Proceed!"

invalid = True Exit For

End If Next i

If invalid = True Then validity2 = False Else validity2 = True End If Else validity2 = True End If End Function '********************************************************* '****************** Encryption/Decryption ****************

'Works for general text encryption/decryption in order to encrypt usernames 'and passwords all text with character string first and numeric

'later, is encrypted properly

Public Function Crypt(ByVal s_text As String)

s_text = Replace(s_text, "0", "%r", , , vbBinaryCompare) s_text = Replace(s_text, "1", "#g", , , vbBinaryCompare) s_text = Replace(s_text, "2", "1$", , , vbBinaryCompare) s_text = Replace(s_text, "3", "j~", , , vbBinaryCompare)

s_text = Replace(s_text, "9", "&x", , , vbBinaryCompare)

s_text = Replace(s_text, "a", "1!", , , vbBinaryCompare) s_text = Replace(s_text, "b", "2@", , , vbBinaryCompare) s_text = Replace(s_text, "c", "3#", , , vbBinaryCompare) s_text = Replace(s_text, "d", "4$", , , vbBinaryCompare) s_text = Replace(s_text, "e", "5$", , , vbBinaryCompare) s_text = Replace(s_text, "f", "7*", , , vbBinaryCompare) s_text = Replace(s_text, "g", "9#", , , vbBinaryCompare) s_text = Replace(s_text, "h", "0#", , , vbBinaryCompare) s_text = Replace(s_text, "i", "4@", , , vbBinaryCompare) s_text = Replace(s_text, "j", "7#", , , vbBinaryCompare) s_text = Replace(s_text, "k", "8^", , , vbBinaryCompare) s_text = Replace(s_text, "l", "0^", , , vbBinaryCompare) s_text = Replace(s_text, "m", "5%", , , vbBinaryCompare) s_text = Replace(s_text, "n", "a%", , , vbBinaryCompare) s_text = Replace(s_text, "o", "e$", , , vbBinaryCompare) s_text = Replace(s_text, "p", "f5", , , vbBinaryCompare) s_text = Replace(s_text, "q", "6$", , , vbBinaryCompare) s_text = Replace(s_text, "r", "h&", , , vbBinaryCompare) s_text = Replace(s_text, "s", "0.", , , vbBinaryCompare) s_text = Replace(s_text, "t", "e`", , , vbBinaryCompare) s_text = Replace(s_text, "u", "4r", , , vbBinaryCompare) s_text = Replace(s_text, "v", "7@", , , vbBinaryCompare) s_text = Replace(s_text, "w", "f^", , , vbBinaryCompare) s_text = Replace(s_text, "x", "t%", , , vbBinaryCompare) s_text = Replace(s_text, "y", "g@", , , vbBinaryCompare) s_text = Replace(s_text, "z", "h0", , , vbBinaryCompare)

s_text = Replace(s_text, "A", ".2", , , vbBinaryCompare) s_text = Replace(s_text, "B", ".3", , , vbBinaryCompare) s_text = Replace(s_text, "C", ".4", , , vbBinaryCompare) s_text = Replace(s_text, "D", ".5", , , vbBinaryCompare) s_text = Replace(s_text, "E", ".6", , , vbBinaryCompare) s_text = Replace(s_text, "F", ".7", , , vbBinaryCompare) s_text = Replace(s_text, "G", ".8", , , vbBinaryCompare) s_text = Replace(s_text, "H", ".9", , , vbBinaryCompare) s_text = Replace(s_text, "I", ".0", , , vbBinaryCompare) s_text = Replace(s_text, "J", ".1", , , vbBinaryCompare) s_text = Replace(s_text, "K", "/3", , , vbBinaryCompare) s_text = Replace(s_text, "L", "/5", , , vbBinaryCompare) s_text = Replace(s_text, "M", "/7", , , vbBinaryCompare) s_text = Replace(s_text, "N", "/9", , , vbBinaryCompare) s_text = Replace(s_text, "O", "/1", , , vbBinaryCompare) s_text = Replace(s_text, "P", "/0", , , vbBinaryCompare) s_text = Replace(s_text, "Q", "/8", , , vbBinaryCompare) s_text = Replace(s_text, "R", "/6", , , vbBinaryCompare) s_text = Replace(s_text, "S", "/4", , , vbBinaryCompare) s_text = Replace(s_text, "T", "/2", , , vbBinaryCompare) s_text = Replace(s_text, "U", ";0", , , vbBinaryCompare) s_text = Replace(s_text, "V", ";2", , , vbBinaryCompare) s_text = Replace(s_text, "W", ";3", , , vbBinaryCompare) s_text = Replace(s_text, "X", ";4", , , vbBinaryCompare) s_text = Replace(s_text, "Y", ";6", , , vbBinaryCompare) s_text = Replace(s_text, "Z", ";7", , , vbBinaryCompare)

Crypt = s_text End Function

Public Function Decrypt(ByVal s_text As String)

s_text = Replace(s_text, "1!", "a", , , vbBinaryCompare) s_text = Replace(s_text, "2@", "b", , , vbBinaryCompare) s_text = Replace(s_text, "3#", "c", , , vbBinaryCompare) s_text = Replace(s_text, "4$", "d", , , vbBinaryCompare) s_text = Replace(s_text, "5$", "e", , , vbBinaryCompare) s_text = Replace(s_text, "6#", "d", , , vbBinaryCompare) s_text = Replace(s_text, "7*", "f", , , vbBinaryCompare) s_text = Replace(s_text, "9#", "g", , , vbBinaryCompare) s_text = Replace(s_text, "0#", "h", , , vbBinaryCompare)

s_text = Replace(s_text, "a%", "n", , , vbBinaryCompare) s_text = Replace(s_text, "e$", "o", , , vbBinaryCompare) s_text = Replace(s_text, "f5", "p", , , vbBinaryCompare) s_text = Replace(s_text, "6$", "q", , , vbBinaryCompare) s_text = Replace(s_text, "h&", "r", , , vbBinaryCompare) s_text = Replace(s_text, "0.", "s", , , vbBinaryCompare) s_text = Replace(s_text, "e`", "t", , , vbBinaryCompare) s_text = Replace(s_text, "4r", "u", , , vbBinaryCompare) s_text = Replace(s_text, "7@", "v", , , vbBinaryCompare) s_text = Replace(s_text, "f^", "w", , , vbBinaryCompare) s_text = Replace(s_text, "t%", "x", , , vbBinaryCompare) s_text = Replace(s_text, "g@", "y", , , vbBinaryCompare) s_text = Replace(s_text, "h0", "z", , , vbBinaryCompare)

s_text = Replace(s_text, ".2", "A", , , vbBinaryCompare) s_text = Replace(s_text, ".3", "B", , , vbBinaryCompare) s_text = Replace(s_text, ".4", "C", , , vbBinaryCompare) s_text = Replace(s_text, ".5", "D", , , vbBinaryCompare) s_text = Replace(s_text, ".6", "E", , , vbBinaryCompare) s_text = Replace(s_text, ".7", "F", , , vbBinaryCompare) s_text = Replace(s_text, ".8", "G", , , vbBinaryCompare) s_text = Replace(s_text, ".9", "H", , , vbBinaryCompare) s_text = Replace(s_text, ".0", "I", , , vbBinaryCompare) s_text = Replace(s_text, ".1", "J", , , vbBinaryCompare) s_text = Replace(s_text, "/3", "K", , , vbBinaryCompare) s_text = Replace(s_text, "/5", "L", , , vbBinaryCompare) s_text = Replace(s_text, "/7", "M", , , vbBinaryCompare) s_text = Replace(s_text, "/9", "N", , , vbBinaryCompare) s_text = Replace(s_text, "/1", "O", , , vbBinaryCompare) s_text = Replace(s_text, "/0", "P", , , vbBinaryCompare) s_text = Replace(s_text, "/8", "Q", , , vbBinaryCompare) s_text = Replace(s_text, "/6", "R", , , vbBinaryCompare) s_text = Replace(s_text, "/4", "S", , , vbBinaryCompare) s_text = Replace(s_text, "/2", "T", , , vbBinaryCompare) s_text = Replace(s_text, ";0", "U", , , vbBinaryCompare) s_text = Replace(s_text, ";2", "V", , , vbBinaryCompare) s_text = Replace(s_text, ";3", "W", , , vbBinaryCompare) s_text = Replace(s_text, ";4", "X", , , vbBinaryCompare) s_text = Replace(s_text, ";6", "Y", , , vbBinaryCompare) s_text = Replace(s_text, ";7", "Z", , , vbBinaryCompare)

s_text = Replace(s_text, "%r", "0", , , vbBinaryCompare) s_text = Replace(s_text, "#g", "1", , , vbBinaryCompare) s_text = Replace(s_text, "1$", "2", , , vbBinaryCompare) s_text = Replace(s_text, "j~", "3", , , vbBinaryCompare) s_text = Replace(s_text, "j#", "4", , , vbBinaryCompare) s_text = Replace(s_text, "3?", "5", , , vbBinaryCompare) s_text = Replace(s_text, "*t", "6", , , vbBinaryCompare) s_text = Replace(s_text, "u@", "7", , , vbBinaryCompare) s_text = Replace(s_text, "n!", "8", , , vbBinaryCompare) s_text = Replace(s_text, "&x", "9", , , vbBinaryCompare) Decrypt = s_text

End Function

Public Sub closeconn()

On Error Resume Next adoRS.Close

Set adoRS = Nothing

End Sub

Menu Basis Pengetahuan

Public baru As Boolean

Dim rsRusak As New ADODB.Recordset

Private Sub cboCari_Click() txtCari.Text = ""

txtCari.SetFocus End Sub

Private Sub cmdInputKerusakan_Click() frmKerusakan.Show vbModal

End Sub

Private Sub cmdInputSolusi_Click() frmSolusi.Show vbModal

End Sub

Private Sub cmdKeluar_Click() Me.Hide

End 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.SetFocus Else

Dim rsCek As ADODB.Recordset Set rsCek = New ADODB.Recordset

rsCek.Open "select * from knowledge where ID='" & txtIDKnowledge.Text & "'", Conn If 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.Recordset If 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 True tombolAwal True KosongkanForm End With End If End If Exit Sub simpanErr:

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

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub

txtIDKnowledge.Text = !ID txtIDKerusakan.Text = !ID_kerusakan txtPertanyaan.Text = !pertanyaan txtFaktaYA.Text = !faktaYA txtFaktaTIDAK.Text = !faktaTIDAK cboYA.Text = !Ya cboTIDAK.Text = !Tidak

Set rsRusak = New ADODB.Recordset

rsRusak.Open "select * from kerusakan where ID_kerusakan='" & txtIDKerusakan.Text & "'", Conn cboKerusakan.Text = rsRusak!jenis_kerusakan End With txtIDKnowledge.SetFocus baru = False Exit Sub ubahErr:

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

Private Sub Form_Activate() Dim i As Integer For i = 0 To 6 gridKnowledge.Columns(i).Locked = True Next i For i = 0 To 1 gridKerusakan.Columns(i).Locked = True gridSolusi.Columns(i).Locked = True Next i

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

'If Not rsKerusakan.EOF Then cboKerusakan.Clear

rsKerusakan.MoveFirst While Not rsKerusakan.EOF

cboKerusakan.AddItem rsKerusakan!jenis_kerusakan rsKerusakan.MoveNext

Wend 'End If

'If Not rsKnowledge.EOF Then cboYA.Clear

cboTIDAK.Clear rsKnowledge.MoveFirst While Not rsKnowledge.EOF

cboYA.AddItem rsKnowledge!ID cboTIDAK.AddItem rsKnowledge!ID rsKnowledge.MoveNext

Wend 'End If

'If Not rsSolusi.EOF Then rsSolusi.MoveFirst While Not rsSolusi.EOF

cboYA.AddItem rsSolusi!ID_solusi cboTIDAK.AddItem rsSolusi!ID_solusi rsSolusi.MoveNext Wend 'End If End Sub

Private Sub Form_Load() KunciTeks True

Adodc3.ConnectionString = Conn.ConnectionString Adodc3.RecordSource = "select * from kerusakan" Adodc3.Refresh

Set gridKerusakan.DataSource = Adodc3

Adodc2.ConnectionString = Conn.ConnectionString Adodc2.RecordSource = "select * from solusi" Adodc2.Refresh

Set gridSolusi.DataSource = Adodc2

gridKerusakan.Columns(0).Width = 400 gridKerusakan.Columns(1).Width = 5000 gridSolusi.Columns(0).Width = 400 gridSolusi.Columns(1).Width = 5000 gridKnowledge.Columns(0).Width = 400 gridKnowledge.Columns(4).Width = 400 gridKnowledge.Columns(5).Width = 400 gridKnowledge.Columns(6).Width = 400 End Sub

Private Sub cboKerusakan_Click() On Error GoTo rusakErr

Set rsRusak = New ADODB.Recordset

rsRusak.Open "select * from kerusakan where jenis_kerusakan='" & cboKerusakan.Text & "'", Conn

txtIDKerusakan.Text = rsRusak!ID_kerusakan Exit 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

pesan:

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

Private Sub txtCari_Change() DaftarCari

End Sub

Menu Solusi

Public baru As Boolean

Private Sub cmdBatal_Click() KunciTeks True

tombolAwal True

Adodc1.Recordset.Cancel KosongkanForm

End Sub

Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil

pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast

MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If

Exit Sub

hapusErr:

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

Private Sub cmdKeluar_Click() Me.Hide

End Sub

Private Sub cmdSimpan_Click() On Error GoTo simpanErr

If txtIDSolusi.Text = Empty Or _ txtSolusi.Text = Empty Then

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

txtIDSolusi.SetFocus Else

Dim rsCek As ADODB.Recordset Set rsCek = New ADODB.Recordset

rsCek.Open "select * from solusi where ID_solusi='" & txtIDSolusi.Text & "'", Conn If Not rsCek.EOF And baru Then

MsgBox "Solusi dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"

txtIDSolusi.SetFocus: SendKeys "{HOME}+{END}" Else

With Adodc1.Recordset If baru Then .AddNew

!ID_solusi = txtIDSolusi.Text !solusi = txtSolusi.Text

.Update

MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True

simpanErr:

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

Private Sub cmdTambah_Click() baru = True

KunciTeks False tombolAwal False txtIDSolusi.SetFocus End Sub

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub

Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False tombolAwal False With Adodc1.Recordset txtIDSolusi.Text = !ID_solusi txtSolusi.Text = !solusi End With txtIDSolusi.SetFocus baru = False Exit Sub ubahErr:

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

Private Sub Form_Activate() Dim i As Integer For i = 0 To 1 gridSolusi.Columns(i).Locked = True Next i txtCari.Text = "" End Sub

Private Sub Form_Load() KunciTeks True

tombolAwal True

Adodc1.ConnectionString = Conn.ConnectionString Adodc1.RecordSource = "select * from solusi" Adodc1.Refresh

Set gridSolusi.DataSource = Adodc1

gridSolusi.Columns(0).Width = 400 gridSolusi.Columns(1).Width = 5000 End Sub Sub KosongkanForm() txtIDSolusi.Text = Empty txtSolusi.Text = Empty End Sub

Sub KunciTeks(kunci As Boolean) txtIDSolusi.Locked = kunci txtSolusi.Locked = kunci

Set adofilter = New ADODB.Recordset Dim sqlc As String

adofilter.CursorLocation = adUseClient

Select Case cboCari.Text Case "ID Solusi"

sqlc = "SELECT * FROM solusi where ID_Solusi like " & "'%" & txtCari.Text & "%'" & _

"ORDER BY ID_Solusi" Case "Solusi"

sqlc = "SELECT * FROM solusi where solusi like " & "'%" & txtCari.Text & "%'" & _

"ORDER BY ID_Solusi" Case Else

MsgBox "Pilih dulu mau mencari berdasarkan apa !", vbExclamation, "Peringatan" cboCari.SetFocus

Exit Sub End Select

adofilter.Open sqlc, Conn, adOpenDynamic, adLockOptimistic

If Not adofilter.EOF Then

Set gridSolusi.DataSource = adofilter Set Adodc1.Recordset = adofilter Else

MsgBox "Maaf, data yang anda cari tidak terdapat pada database !", vbInformation, "Informasi"

txtCari.Text = "" End If

Exit Sub

pesan:

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

Menu Pilih Kerusakan

Private Sub cboKerusakan_Click() nc_proses.Enabled = True

End Sub

Private Sub Form_Load() Dim i As Integer

i = 0

cboKerusakan.Clear rsKerusakan.MoveFirst While Not rsKerusakan.EOF

cboKerusakan.AddItem rsKerusakan!jenis_kerusakan, i i = i + 1 rsKerusakan.MoveNext Wend nc_proses.Enabled = False End Sub

Private Sub nc_proses_Click() frmDiagnosis.Show vbModal End Sub

Menu Diagnosis

Private Sub Form_Activate() Call Form_Load

End Sub

Private Sub Form_Load() On Error Resume Next

rsKnowledge.MoveFirst

Select Case frmPilihKerusakan.cboKerusakan.ListIndex Case 0 rsKnowledge.Find " ID='T1' " Label1.Caption = rsKnowledge!pertanyaan Case 1 rsKnowledge.Find " ID='T10' " Label1.Caption = rsKnowledge!pertanyaan Case 2 rsKnowledge.Find " ID='T21' " Label1.Caption = rsKnowledge!pertanyaan Case 3 rsKnowledge.Find " ID='T38' " Label1.Caption = rsKnowledge!pertanyaan Case 4 rsKnowledge.Find " ID='T33' " Label1.Caption = rsKnowledge!pertanyaan Case 5 rsKnowledge.Find " ID='T52' " Label1.Caption = rsKnowledge!pertanyaan End Select End Sub

Private Sub Form_Unload(Cancel As Integer) Call cmdSelesai_Click

End Sub

Private Sub nc_selesai_Click() Me.Hide

End Sub

Private Sub nc_tidak_Click() On Error Resume Next

rsTemp.AddNew rsTemp!ID_temp = rsKnowledge!ID rsTemp!fakta = rsKnowledge!faktaTIDAK rsTemp.Update jwb = rsKnowledge!Tidak If Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst

rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaan Else

rsSolusi.MoveFirst

rsSolusi.Find " ID_solusi= '" & jwb & "' "

frmHasilDiagnosis.Label1.Caption = rsSolusi!solusi frmHasilDiagnosis.Show vbModal

End If End Sub

Private Sub nc_ya_Click() On Error Resume Next rsTemp.AddNew rsTemp!ID_temp = rsKnowledge!ID rsTemp!fakta = rsKnowledge!faktaYA rsTemp.Update jwb = rsKnowledge!Ya If Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst

rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaan Else

rsSolusi.MoveFirst

Menu Hasil Diagnosis

Private Sub Form_Unload(Cancel As Integer) Call nc_selesai_Click

End Sub

Private Sub nc_alasan_Click() frmPenanganan.Label2.Text = "" rsTemp.MoveFirst

While Not rsTemp.EOF

frmPenanganan.Label2.Text = frmPenanganan.Label2.Text + _ rsTemp!fakta + vbCrLf

rsTemp.MoveNext Wend

frmPenanganan.Label2.Text = frmPenanganan.Label2.Text + vbCrLf + vbCrLf + _ "Maka Hasil Diagnosis : " + vbCrLf + rsSolusi!solusi

frmPenanganan.Show vbModal End Sub

Private Sub nc_selesai_Click() Me.Hide

frmDiagnosis.Hide End Sub

Menu Tambah Pakar

Private Sub nc_batal_Click() Unload Me

End Sub

Private Sub nc_buat_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

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"

Dokumen terkait