L-1
Listing Program Form Utama
Private Sub Form_Activate() Option3.SetFocus
End Sub
Private Sub MnuKeluar_Click() End
End Sub
Private Sub Option1_Click() Unload Me
Load FrmLogin FrmLogin.Show End Sub
Private Sub Option2_Click() Unload Me
Load FrmPass FrmPass.Show End Sub
Listing Program Login Dosen
Dim dbBankSoal As Database Dim TblDosen As Recordset Private Sub Command2_Click()
Unload Me Load FrmUtama FrmUtama.Show End Sub
Private Sub Command3_Click() If Text1.Text <> "" Then
TblDosen.Index = "idDosen" TblDosen.Seek "=", Text1.Text If TblDosen.NoMatch = False Then
Load FrmGanti FrmGanti.Show Else
Text1.SetFocus End If
Else
MsgBox "Masukan NIP dosen yang ingin diganti passwordnya", vbInformation, _ "Login"
Text1.SetFocus End If
End Sub
Private Sub Form_Activate() Text1.SetFocus
End Sub
Private Sub Form_Load()
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblDosen = dbBankSoal.OpenRecordset("TblDosen", dbOpenTable) End Sub
Private Sub Form_Unload(Cancel As Integer) TblDosen.Close
dbBankSoal.Close End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub Text2_Change() TblDosen.MoveFirst
TblDosen.Index = "idDosen" TblDosen.Seek "=", Text1.Text If TblDosen.NoMatch Then
MsgBox "Dosen Belum Terdaftar!" & vbCrLf & "Hubungi Bagian Soal", vbInformation, "Login"
Text1.SetFocus Else
If Text2.Text = TblDosen!Pass Then
MsgBox "Selamat Datang " & TblDosen!NmDosen, , "Login" Load MDIUtama
MDIUtama.Show With MDIUtama
.MnuAdmin.Checked = False .MnuInput.Enabled = True .MnuTambahMk.Enabled = False .MnuDatabase.Enabled = False .MnuCetak.Enabled = True .MnuDosen.Enabled = False
.SB.Panels(1).Text = TblDosen!NIP
.SB.Panels(2).Text = "Dosen : " & TblDosen!NmDosen
.SB.Panels(3).Text = "Input : " & TblDosen!JmlInput & " Soal" .SB.Panels(4).Text = "User"
End With Unload Me Else
Exit Sub End If End If End Sub
Listing Program Login Bagian Soal
Option Explicit
Dim dbPswd As Database Dim dbBankSoal As Database Dim TblDosen As Recordset Dim TblPswd As Recordset Private Sub Bersih()
TxtPass.Text = "" TxtPassB.Text = "" TxtPassB.SetFocus End Sub
Private Sub PswdSalah()
MsgBox "Password salah!" & vbCrLf & "Mohon periksa lagi." _ , vbCritical, "Peringatan"
End Sub
Private Sub PswdKosong()
Private Sub CmdBatal_Click() Unload Me
Load FrmUtama FrmUtama.Show End Sub
Private Sub CmdGanti_Click() Unload Me
Load FrmGanti FrmGanti.Show End Sub
Private Sub Form_Activate() TxtPassB.SetFocus
End Sub
Private Sub Form_Load()
Set dbPswd = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbPswd.mdb", True, False, ";pwd=rahasia")
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblDosen = dbBankSoal.OpenRecordset("TblDosen", dbOpenTable) Set TblPswd = dbPswd.OpenRecordset("TblPswd", dbOpenTable) End Sub
Private Sub Form_Unload(Cancel As Integer) TblPswd.Close
TblDosen.Close dbBankSoal.Close dbPswd.Close End Sub
Private Sub TxtPass_Change() TblPswd.MoveFirst
TblDosen.MoveFirst
TblDosen.Index = "idDosen" TblDosen.Seek "=", TxtPassB.Text If TblDosen.NoMatch Then
MsgBox "Dosen Belum Terdaftar!" & vbCrLf & "Hubungi Bagian Soal", _ vbInformation, "Login"
TxtPassB.SetFocus Else
Exit Sub Else
MsgBox "Selamat Datang " & TblDosen!NmDosen, , "Login" Load MDIUtama
MDIUtama.Show With MDIUtama
.MnuAdmin.Checked = True .MnuUser.Checked = False .MnuInput.Enabled = True .MnuTambahMk.Enabled = True .MnuDatabase.Enabled = True .MnuCetak.Enabled = True .MnuDosen.Enabled = True
.SB.Panels(1).Text = TblDosen!NIP
.SB.Panels(2).Text = "Dosen : " & TblDosen!NmDosen
.SB.Panels(3).Text = "Input : " & TblDosen!JmlInput & " Soal" .SB.Panels(4).Text = "Administrator"
End With Unload Me End If End If End Sub
Private Sub TxtPassB_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Listing Program Form MdiUtama
Option Explicit
Private Sub MDIForm_Load()
MDIUtama.Picture = LoadPicture(App.Path & "\STIK01.jpg") MDIUtama.Icon = LoadPicture(App.Path & "\Sims2.ico") MnuInput.Enabled = False
Private Sub MnuAdmin_Click() Unload FrmLogin
Load FrmPass FrmPass.Show
Me.MnuUser.Checked = False Me.MnuAdmin.Checked = True End Sub
Private Sub MnuCetak_Click() Load FrmPilih
FrmPilih.Show End Sub
Private Sub MnuCompact_Click()
If Len(Dir(App.Path & "\Backup\dbBankSoal.mdb")) Then _ Kill App.Path & "\Backup\dbBankSoal.mdb"
FileCopy App.Path & "\DB\dbBankSoal.mdb", App.Path & "\Backup\dbBankSoal.mdb"
Kill App.Path & "\DB\dbBankSoal.mdb"
DBEngine.CompactDatabase App.Path & "\Backup\dbBankSoal.mdb", _ App.Path & "\DB\dbBankSoal.mdb", , , ";pwd=rahasiajuga;"
MsgBox "Database berhasil di-Compact/Compress", , "Compact Database" End Sub
Private Sub MnuDosen_Click() Load FrmDosen
FrmDosen.Show End Sub
Private Sub MnuGanti_Click() Load FrmGanti
FrmGanti.Show End Sub
Private Sub MnuInput_Click() Load FrmSoal
FrmSoal.Show End Sub
Private Sub MnuKeluar_Click() End
Private Sub MnuRepair_Click() On Error GoTo Handler
DBEngine.RepairDatabase App.Path & "\dbBankSoal.mdb" Handler:
Select Case Err.Number Case 3251
MsgBox "Database ini belum perlu di-Repair", , "Repair Database" Case Else
MsgBox "Error tidak dikenali." & vbCrLf & "Hubungi programmer anda.", , _ "Repair Database"
End Select End Sub
Private Sub MnuTambahMk_Click() Load FrmMk
FrmMk.Show End Sub
Private Sub MnuTolong_Click() CD1.HelpCommand = &HB
CD1.HelpFile = App.Path & "\Pertolongan.hlp" CD1.ShowHelp
End Sub
Private Sub MnuUser_Click() Unload FrmPass
Load FrmLogin FrmLogin.Show
Me.MnuUser.Checked = True Me.MnuAdmin.Checked = False End Sub
Listing Program Input Soal
Option Explicit
Dim Tbh As Byte Private Sub KTbl()
CmdSimpan.Enabled = True CmdTambah.Enabled = False CmdEdit.Enabled = False End Sub
Private Sub BTbl()
CmdSimpan.Enabled = False CmdTambah.Enabled = True CmdEdit.Enabled = True End Sub
Private Sub Kosong() TxtSoal.Text = "" TxtJawab.Text = "" End Sub
Private Sub Kunci()
TxtKodeMk.Locked = True TxtKodeMk.Enabled = False TxtNamaMk.Locked = True TxtNamaMk.Enabled = False TxtSoal.Locked = True TxtJawab.Locked = True End Sub
Private Sub Buka()
TxtSoal.Locked = False TxtJawab.Locked = False TxtSoal.SetFocus
End Sub
Private Sub Tampil_Soal() TblSoal.MoveFirst
TblSoal.Index = "idKodeMk"
TblSoal.Seek "=", KodeMk, CboJenis.Text LstSoal.Clear
If TblSoal.NoMatch = False Then For i = 1 To TblSoal.RecordCount If TblSoal.EOF = False Then
LstSoal.AddItem TblSoal!Soal Call Kosong
LblJml.Caption = "Jumlah Soal :" & " " & LstSoal.ListCount LblJdl.Caption = "Daftar Soal" & vbCrLf & TxtNamaMk.Text End Sub
Private Sub CboJenis_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub CboMk_Change() Call CboMk_Click
End Sub
Private Sub CboMk_Click()
KodeMk = Mid(CboMk.Text, 1, 8) TblMk.Index = "idKodeMk" TblMk.Seek "=", KodeMk
TxtKodeMk.Text = TblMk!KodeMk TxtNamaMk.Text = TblMk!NamaMk CboJenis.Text = TblMk!Jenis
Call CboJenis_Change Call Kunci
CboJenis.Enabled = True End Sub
Private Sub CmdEdit_Click() TblSoal.MoveFirst
If TxtSoal.Text <> "" Then TblSoal.Index = "idKodeMk"
TblSoal.Seek "=", KodeMk, CboJenis.Text, TxtSoal.Text
If MDIUtama.SB.Panels(4).Text = "Administrator" Then GoTo EditSoal If TblSoal!NIP = MDIUtama.SB.Panels(1).Text Then
EditSoal:
Call Buka TblSoal.Edit Call KTbl
LstSoal.Enabled = False CboJenis.Enabled = False Else
MsgBox "Tidak bisa mengedit soal milik dosen lain!", vbInformation, _ "Edit Soal"
End If Else
MsgBox "Pilihlah soal yang ingin diedit pada daftar soal di sebelah kanan anda", _ vbInformation, "Pilih Soal"
End If End Sub
Private Sub CmdHapus_Click() Dim Konf As String
TblSoal.MoveFirst
If TxtSoal.Text <> "" Then
For i = 1 To TblSoal.RecordCount
If (TblSoal!KodeMk = KodeMk) And (TblSoal!Soal = TxtSoal.Text) And _ TblSoal!Jenis = CboJenis.Text Then
Konf = MsgBox("Yakin ingin dihapus?", vbExclamation + vbOKCancel, _ "Konfirmasi")
If Konf = vbOK Then TblDosen.MoveFirst
TblDosen.Index = "idDosen"
TblDosen.Seek "=", MDIUtama.SB.Panels(1).Text If TblDosen!JmlInput = 0 Then
MsgBox "Anda belum menginput soal!" & vbCrLf & _
"Tidak ada hak untuk menghapus!", vbInformation, "Hapus Soal" Else
TblSoal.Delete TblDosen.Edit
TblDosen!JmlInput = TblDosen!JmlInput - 1 TblDosen.Update
MDIUtama.SB.Panels(3) = "Input : " & TblDosen!JmlInput & " Soal" Label5.Caption = TblDosen!NmDosen & " (" & TblDosen!JmlInput & ")" End If
End If
Call CboMk_Click Exit Sub
End If
TblSoal.MoveNext Next i
MsgBox "Pilihlah soal yang ingin dihapus pada daftar soal di sebelah kanan anda", _ vbInformation, "Pilih Soal"
End Sub
Private Sub CmdKeluar_Click() Unload Me
End Sub
Private Sub CmdSimpan_Click() On Error GoTo ErrHand
Dim Konf2 As String
CmdWord.Enabled = False
If TxtSoal.Text <> "" And TxtJawab.Text <> "" Then TblSoal!KodeMk = KodeMk
TblSoal!Jenis = CboJenis.Text TblSoal!Soal = TxtSoal.Text TblSoal!Jawaban = TxtJawab.Text
TblSoal!NIP = MDIUtama.SB.Panels(1).Text TblDosen.Index = "idDosen"
TblDosen.Seek "=", MDIUtama.SB.Panels(1).Text TblSoal.Update
If Tbh = 1 Then TblDosen.Edit
TblDosen!JmlInput = TblDosen!JmlInput + 1 TblDosen.Update
MDIUtama.SB.Panels(3) = "Input : " & TblDosen!JmlInput & " Soal" Label5.Caption = TblDosen!NmDosen & " (" & TblDosen!JmlInput & ") " End If
Call CboMk_Click Call BTbl
CboMk.Enabled = True Tbh = 0
LstSoal.Enabled = True CboJenis.Enabled = True Exit Sub
Else
Konf2 = MsgBox("Soal atau jawaban belum diinput!" & vbCrLf & "Batal menginput?", _
vbQuestion + vbYesNo, "Input Soal") If Konf2 = vbNo Then
End If
TblSoal.CancelUpdate Call Kosong
Call Kunci Call BTbl
CboMk.Enabled = True End If
Tbh = 0
LstSoal.Enabled = True ErrHand:
If Err.Number = 3022 Then
MsgBox "Soal sudah ada!", vbInformation, "Tambah Soal" Call CmdTambah_Click
End If End Sub
Private Sub CmdTambah_Click() Call Buka
Call Kosong Call KTbl
TblSoal.AddNew CboMk.Enabled = False LstSoal.Enabled = False Tbh = 1
CmdWord.Enabled = True End Sub
Private Sub CboJenis_Change() KodeMk = Mid(CboMk.Text, 1, 8) TblMk.Index = "idKodeMk"
TblMk.Seek "=", KodeMk, CboJenis.Text If TblMk.NoMatch Then
TxtKodeMk.Text = "" TxtNamaMk.Text = "" Call KTbl
CmdSimpan.Enabled = False Else
TxtKodeMk.Text = TblMk!KodeMk TxtNamaMk.Text = TblMk!NamaMk If Tbh = 0 Then
Else
Call Buka Call KTbl End If End If
Call Tampil_Soal TblSoal.AddNew TblDosen.AddNew End Sub
Private Sub CboJenis_Click() Call CboJenis_Change End Sub
Private Sub CmdWord_Click() Load FrmWord
FrmWord.Show End Sub
Private Sub Form_Load()
FrmSoal.Icon = LoadPicture(App.Path & "\eauninstall.ico") Me.Left = 0
Me.Top = 0
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblMk = dbBankSoal.OpenRecordset("TblMk", dbOpenTable) Set TblSoal = dbBankSoal.OpenRecordset("TblSoal", dbOpenTable) Set TblDosen = dbBankSoal.OpenRecordset("TblDosen", dbOpenTable) TblMk.MoveFirst
If TblMk.RecordCount <> 0 Then For i = 1 To TblMk.RecordCount
CboMk.AddItem TblMk!KodeMk & " " & TblMk!NamaMk TblMk.MoveNext
Next i End If Call Kunci Call Kosong
Call KTbl
CmdSimpan.Enabled = False Tbh = 0
Label7.Caption = TblSoal.RecordCount End Sub
Private Sub Form_Unload(Cancel As Integer) TblDosen.Close
TblSoal.Close TblMk.Close dbBankSoal.Close End Sub
Private Sub LstSoal_Click() TblSoal.MoveFirst
TblSoal.Index = "idKodeMk"
TblSoal.Seek "=", KodeMk, CboJenis.Text, LstSoal.Text TxtSoal.Text = TblSoal!Soal
TxtJawab.Text = TblSoal!Jawaban TblDosen.Index = "idDosen" TblDosen.Seek "=", TblSoal!NIP
Label5.Caption = TblDosen!NmDosen & " (" & TblDosen!JmlInput & ") " End Sub
Listing Program Pilih Soal
Option Explicit
Dim dbBankSoal As Database Dim TblMk As Recordset Dim TblSoal As Recordset Dim TblDosen As Recordset Dim i As Integer
Dim KodeMk As String Dim No As Integer Dim Soal As String
Private Sub CboJenis_Change() Call CboJenis_Click
Private Sub Bersih() LstSoal.Clear Label1.Caption = ""
LblJml.Caption = "Jumlah Soal :" & " " & LstSoal.ListCount End Sub
Private Sub CboJenis_Click() On Error Resume Next
TblSoal.MoveFirst
KodeMk = Mid(CboMk.Text, 1, 8) TblSoal.Index = "idKodeMk"
TblSoal.Seek "=", KodeMk, CboJenis.Text LstSoal.Clear
No = 0
For i = 1 To TblSoal.RecordCount If TblSoal.EOF = False Then
If TblSoal!KodeMk = KodeMk And TblSoal!Jenis = CboJenis.Text Then No = No + 1
LstSoal.AddItem No & ". " & TblSoal!Soal End If
TblSoal.MoveNext Else
Exit For End If Next i
LblJml.Caption = "Jumlah Soal :" & " " & LstSoal.ListCount If LstSoal.ListCount <> 0 Then
LstSoal.Enabled = True CmdTransfer.Enabled = True Else
CmdTransfer.Enabled = False End If
Label1.Caption = "" End Sub
Private Sub CboJenis_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub CboMk_Change() Call CboMk_Click
Private Sub CboMk_Click() CboJenis.Enabled = True
CboJenis.Text = "--Pilih Jenis--" Label1.Caption = ""
End Sub
Private Sub CmdKeluar_Click() Unload Me
End Sub
Private Sub CmdTransfer_Click()
MsgBox "Soal yang telah ditransfer ke Word masih memerlukan proses peng-edit-an." & vbCrLf & "Seperti penomoran ulang, penyisipan kop serta gambar, dll", vbInformation, Transfer ke Word..."
If LstSoal.ListIndex = -1 Then Exit Sub Dim Word As Object
TblSoal.MoveFirst
TblSoal.Index = "idKodeMk"
Set Word = CreateObject("Word.basic") Word.appshow
Word.filenew
For i = 0 To LstSoal.ListCount - 1 If LstSoal.Selected(i) = True Then
Word.Insert LstSoal.List(i) & vbCrLf
Soal = Mid(LstSoal.List(i), 6, Len(LstSoal.List(i))) TblSoal.Seek "=", KodeMk, CboJenis.Text, Trim(Soal) TblSoal.Edit
TblSoal!Ambil = TblSoal!Ambil + 1 TblSoal.Update
End If Next i
For i = LstSoal.ListCount - 1 To 0 Step -1
If LstSoal.Selected(i) = True Then LstSoal.RemoveItem (i) Next i
MDIUtama.WindowState = 1 CmdTransfer.Enabled = False End Sub
Private Sub Form_Load()
FrmPilih.Icon = LoadPicture(App.Path & "\eauninstall.ico") Me.Left = 0
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblMk = dbBankSoal.OpenRecordset("TblMk", dbOpenTable) Set TblSoal = dbBankSoal.OpenRecordset("TblSoal", dbOpenTable) Set TblDosen = dbBankSoal.OpenRecordset("TblDosen", dbOpenTable) TblMk.MoveFirst
TblSoal.MoveFirst
If TblMk.RecordCount <> 0 Then For i = 1 To TblMk.RecordCount
CboMk.AddItem TblMk!KodeMk & " " & TblMk!NamaMk TblMk.MoveNext
Next i End If
CboJenis.AddItem "A" CboJenis.AddItem "B" CboJenis.AddItem "C" LstSoal.Enabled = False CboJenis.Enabled = False CmdTransfer.Enabled = False TblDosen.MoveFirst
TblDosen.Index = "idDosen"
TblDosen.Seek "=", MDIUtama.SB.Panels(1).Text End Sub
Private Sub Form_Unload(Cancel As Integer) TblDosen.Close
TblMk.Close TblSoal.Close dbBankSoal.Close End Sub
Private Sub LstSoal_Click()
Label1.Caption = LstSoal.SelCount
Soal = Mid(LstSoal.List(LstSoal.ListIndex), 6, Len(LstSoal.Text)) TblSoal.MoveFirst
TblSoal.Index = "idKodeMk"
TblSoal.Seek "=", KodeMk, CboJenis.Text, Trim(Soal)
Label3.Caption = "Sudah pernah dipilih " & TblSoal!Ambil & " Kali" If MDIUtama.SB.Panels(4).Text = "Administrator" Then Exit Sub If TblDosen!JmlInput <> 0 Then
If LstSoal.SelCount >= TblDosen!JmlInput Then
i = 0 Exit Sub End If
MsgBox "Pilih soal Maksimal " & TblDosen!JmlInput & " Soal", vbInformation, "Pilih Soal"
i = 1 End If Else
MsgBox "Anda belum menginput soal!" & vbCrLf & "Harap input dahulu, sebelum dapat memilih soal", vbInformation, "Pilih Soal"
Call Bersih End If
End Sub
Listing Program Tambah Mata Kuliah
Option Explicit
Dim dbBankSoal As Database Dim TblMk As Recordset Dim i As Integer
Private Sub KTbl()
CmdSimpan.Enabled = True CmdTambah.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub
Private Sub BTbl()
CmdSimpan.Enabled = False CmdTambah.Enabled = True CmdEdit.Enabled = True CmdHapus.Enabled = True End Sub
Private Sub Kunci()
Private Sub Buka()
TxtKodeMk.Locked = False TxtKodeMk.Enabled = True TxtNamaMk.Locked = False TxtNamaMk.Enabled = True TxtKodeMk.SetFocus
End Sub
Private Sub Kosong() TxtKodeMk.Text = "" TxtNamaMk.Text = "" End Sub
Private Sub DaftarMk() LstMk.Clear
TblMk.MoveFirst
If TblMk.RecordCount <> 0 Then For i = 1 To TblMk.RecordCount
LstMk.AddItem TblMk!KodeMk & " " & TblMk!NamaMk TblMk.MoveNext
Next i End If
LblJml.Caption = "Jumlah Mata Kuliah :" & " " & LstMk.ListCount End Sub
Private Sub CmdEdit_Click()
If TxtKodeMk.Text <> "" And TxtNamaMk.Text <> "" Then Call Buka
Call KTbl
LstMk.Enabled = False TblMk.Edit
Exit Sub End If
MsgBox "Pilihlah mata kuliah yang ingin diedit pada daftar mata kuliah di sebelah kanan anda", vbInformation, "Pilih Mata Kuliah"
End Sub
Private Sub CmdHapus_Click() Dim Konf As String
If TxtKodeMk.Text <> "" And TxtNamaMk.Text <> "" Then
Konf = MsgBox("Yakin ingin dihapus?", vbExclamation + vbOKCancel, "Konfirmasi")
Call DaftarMk Call Kosong Exit Sub End If
MsgBox "Pilihlah mata kuliah yang ingin dihapus pada daftar mata kuliah di sebelah kanan anda", vbInformation, "Pilih Mata Kuliah"
End Sub
Private Sub CmdKeluar_Click() Unload Me
End Sub
Private Sub CmdSimpan_Click() On Error GoTo ErrHand
Dim Tanya As String
If (TxtKodeMk.Text <> "") And (TxtNamaMk.Text <> "") Then If Len(TxtKodeMk.Text) = 8 Then
TblMk!KodeMk = TxtKodeMk.Text TblMk!NamaMk = TxtNamaMk.Text TblMk!Jenis = CboJenis.Text
TblMk.Update Call DaftarMk Call BTbl Call Kunci Call Kosong Else
MsgBox "KodeMk kurang dari karakter!" & vbCrLf & "Harap diperbaiki.", _ vbCritical, "Tambah Mata Kuliah"
Call CmdTambah_Click Exit Sub
End If Else
Tanya = MsgBox("Kode atau/dan nama mata kuliah belum diinput!" & vbCrLf & "Batal menginput?", vbQuestion + vbYesNo, "Input Mata Kuliah")
If Tanya = vbNo Then Call CmdTambah_Click Exit Sub
End If
TblMk.CancelUpdate Call Kosong
LstMk.Enabled = True CboJenis.Text = "" CboJenis.Enabled = False ErrHand:
If Err.Number = 3022 Then
MsgBox "Mata kuliah sudah ada!", vbInformation, "Tambah Mata Kuliah" Call CmdTambah_Click
End If End Sub
Private Sub CmdTambah_Click() Call Buka
Call Kosong Call KTbl
LstMk.Enabled = False LstMk.Refresh
CboJenis.Enabled = True CboJenis.Text = "A" TblMk.AddNew End Sub
Private Sub CboJenis_Change() Call CboJenis_Click
End Sub
Private Sub CboJenis_Click() Dim KodeMk As String
If CmdTambah.Enabled = True Then KodeMk = Mid(LstMk.Text, 1, 8) TblMk.Index = "idKodeMk"
TblMk.Seek "=", KodeMk, CboJenis.Text If TblMk.NoMatch Then
TxtNamaMk.Text = "" Exit Sub
End If
TxtKodeMk.Text = TblMk!KodeMk TxtNamaMk.Text = TblMk!NamaMk Exit Sub
If TxtKodeMk.Text = "" Or TxtNamaMk.Text = "" Then TblMk.AddNew
Else
TblMk.Edit End If
End Sub
Private Sub Form_Activate() TxtKodeMk.MaxLength = 8 End Sub
Private Sub Form_Load()
FrmMk.Icon = LoadPicture(App.Path & "\eauninstall.ico") Me.Left = 0
Me.Top = 0
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblMk = dbBankSoal.OpenRecordset("TblMk", dbOpenTable) Call DaftarMk
Call Kunci Call KTbl Call Kosong
CboJenis.AddItem "A" CboJenis.AddItem "B" CboJenis.AddItem "C"
LblJml.Caption = "Jumlah Mata Kuliah :" & " " & LstMk.ListCount CmdSimpan.Enabled = False
CmdTambah.Enabled = True CboJenis.Enabled = False End Sub
Private Sub Form_Unload(Cancel As Integer) TblMk.Close
dbBankSoal.Close End Sub
Private Sub LstMk_Click() Dim KodeMk As String
KodeMk = Mid(LstMk.Text, 1, 8) TblMk.Index = "idKodeMk" TblMk.Seek "=", KodeMk
CboJenis.Text = TblMk!Jenis CboJenis.Enabled = True Call BTbl
End Sub
Private Sub TxtKodeMk_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Listing Program Daftar Dosen
Option Explicit
Dim dbBankSoal As Database Dim TblDosen As Recordset Dim i As Integer
Private Sub KTbl()
CmdSimpan.Enabled = True CmdTambah.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub
Private Sub BTbl()
CmdSimpan.Enabled = False CmdTambah.Enabled = True CmdEdit.Enabled = True CmdHapus.Enabled = True End Sub
Private Sub Kunci()
TxtKodeMk.Locked = True TxtKodeMk.Enabled = False TxtNamaMk.Locked = True TxtNamaMk.Enabled = False End Sub
Private Sub Buka()
TxtKodeMk.Locked = False TxtKodeMk.Enabled = True TxtNamaMk.Locked = False TxtNamaMk.Enabled = True TxtKodeMk.SetFocus
Private Sub Kosong() TxtKodeMk.Text = "" TxtNamaMk.Text = "" End Sub
Private Sub DaftarMk() LstMk.Clear
TblDosen.MoveFirst
If TblDosen.RecordCount <> 0 Then For i = 1 To TblDosen.RecordCount
LstMk.AddItem TblDosen!NIP & " " & TblDosen!NmDosen TblDosen.MoveNext
Next i End If
LblJml.Caption = "Jumlah Dosen Terdaftar :" & " " & LstMk.ListCount End Sub
Private Sub CmdEdit_Click()
If TxtKodeMk.Text <> "" And TxtNamaMk.Text <> "" Then Call Buka
Call KTbl
LstMk.Enabled = False TblDosen.Edit
Exit Sub End If
MsgBox "Pilihlah dosen yang ingin diedit pada daftar dosen di sebelah kanan" & _ " " & "anda", vbInformation, "Daftar Dosen"
End Sub
Private Sub CmdHapus_Click() Dim Konf As String
If TxtKodeMk.Text <> "" And TxtNamaMk.Text <> "" Then
Konf = MsgBox("Yakin ingin dihapus?", vbExclamation + vbOKCancel, "Konfirmasi")
If Konf = vbOK Then TblDosen.Delete Call DaftarMk
Call Kosong Exit Sub End If
MsgBox "Pilihlah dosen yang ingin dihapus pada daftar dosen di sebelah kanan" & " " & "anda", vbInformation, "Daftar Dosen"
Private Sub CmdKeluar_Click() Unload Me
End Sub
Private Sub CmdSimpan_Click() On Error GoTo ErrHand
Dim Tanya As String
If (TxtKodeMk.Text <> "") And (TxtNamaMk.Text <> "") Then If Len(TxtKodeMk.Text) = 4 Then
TblDosen!NIP = TxtKodeMk.Text TblDosen!NmDosen = TxtNamaMk.Text TblDosen!Pass = "12345"
TblDosen.Update Call DaftarMk Call BTbl Call Kunci Call Kosong Else
MsgBox "NIP kurang dari karakter!" & vbCrLf & "Harap diperbaiki.", _ vbCritical, "Tambah Dosen"
Call CmdTambah_Click Exit Sub
End If Else
Tanya = MsgBox("NIP atau/dan nama dosen belum diinput!" & vbCrLf & _ "Batal menginput?", vbQuestion + vbYesNo, "Daftar Dosen")
If Tanya = vbNo Then Call CmdTambah_Click Exit Sub
End If
TblDosen.CancelUpdate Call Kosong
Call Kunci Call BTbl End If
LstMk.Enabled = True ErrHand:
If Err.Number = 3022 Then
MsgBox "Dosen sudah ada!", vbInformation, "Daftar Dosen" Call CmdTambah_Click
Private Sub CmdTambah_Click() Call Buka
Call Kosong Call KTbl
LstMk.Enabled = False LstMk.Refresh
TblDosen.AddNew End Sub
Private Sub Form_Activate() TxtKodeMk.MaxLength = 4 End Sub
Private Sub Form_Load()
FrmDosen.Icon = LoadPicture(App.Path & "\eauninstall.ico") Me.Left = 0
Me.Top = 0
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Set TblDosen = dbBankSoal.OpenRecordset("TblDosen", dbOpenTable) Call DaftarMk
Call Kunci Call KTbl Call Kosong
LblJml.Caption = "Jumlah Dosen Terdaftar :" & " " & LstMk.ListCount CmdSimpan.Enabled = False
CmdTambah.Enabled = True End Sub
Private Sub Form_Unload(Cancel As Integer) TblDosen.Close
dbBankSoal.Close End Sub
Private Sub LstMk_Click() Dim KodeMk As String
KodeMk = Mid(LstMk.Text, 1, 4) TblDosen.Index = "idDosen" TblDosen.Seek "=", KodeMk TxtKodeMk.Text = TblDosen!NIP TxtNamaMk.Text = TblDosen!NmDosen Call BTbl
Private Sub TxtKodeMk_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Listing Program Ganti Password
Dim dbPswd As Database Dim dbBankSoal As Database Dim TblDosen As Recordset Dim TblPswd As Recordset Private Sub Bersih()
Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub
Private Sub PswdSalah()
MsgBox "Password lama salah!" & vbCrLf & "Mohon periksa lagi." _ , vbCritical, "Peringatan"
End Sub
Private Sub PswdKosong()
MsgBox "Semua field harus diisi!", vbCritical, "Peringatan" End Sub
Private Sub Command1_Click()
If MDIUtama.MnuAdmin.Checked = True Then TblPswd.MoveFirst
If Text1.Text <> "" And Text2.Text <> "" Then If Text1.Text = TblPswd!Password Then
TblPswd.Edit
TblPswd!Password = Text2.Text TblPswd.Update
MsgBox "Password berhasil diganti!", vbInformation, "Ganti Password" Unload Me
Else
Call PswdSalah Call Bersih End If
Else
Call Bersih End If
Else
TblDosen.MoveFirst
TblDosen.Index = "idDosen"
TblDosen.Seek "=", MDIUtama.SB.Panels(1).Text If Text1.Text <> "" And Text2.Text <> "" Then
If Text1.Text = TblDosen!Pass Then TblDosen.Edit
TblDosen!Pass = Text2.Text TblDosen.Update
MsgBox "Password berhasil diganti!", vbInformation, "Ganti Password" Unload Me
Else
Call PswdSalah Call Bersih End If
Else
Call PswdKosong Call Bersih End If
End If End Sub
Private Sub Command2_Click() Unload Me
End Sub
Private Sub Form_Activate() Text1.SetFocus
End Sub
Private Sub Form_Load() Me.Left = 0
Me.Top = 0
Set dbPswd = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbPswd.mdb", True, False, ";pwd=rahasia")
Set dbBankSoal = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\DB\dbBankSoal.mdb", True, False, ";pwd=rahasiajuga;")
Private Sub Form_Unload(Cancel As Integer) TblDosen.Close
LAMPIRAN
1. Form Utama
3. Form MdiUtama
5. Form Pilih Soal
7. Form Daftar Dosen
9. Output Soal Sebelum diedit
1. Kegiatan mempelajari sistem bertahan dan menentukan solusi non teknis dilakukan dalam fase...
a. Analisa b. Perancangan c. Coding d. Testing
2. Model pengembangan yang dimulai dari fase analisa, kemudian fase desain dan diakhiri dengan fase test disebut ...
a. Linear Sequential Model b. Prototyping Model c. Rapid Aplication Model d. Incremental Model
4. Perangkat lunak mempunyai karakterisitk... a. Semakin lama dipakai semakin lecet
b. Semakin lama dipakai semakin lusuh c. Semakin lama dipakai semakin aus/rusak d. Semua salah
6. Sebuah organisasi pengembang yang memiliki kemampuan mengulang kesuksesan terdahulu berada pada CMM level...
10. Output Soal Setelah diedit
Sekolah Tinggi Manajemen Informatika dan Komputer STMIK JAKARTA STI&K
SK No.017/BAN-PT/AK-VII/S1/V/2004 SK No.013/BAN-PT/AK-I/Dpl-III/VIII/2002
Sistem Informasi, Sistem Komputer, Manajemen Informasi, Teknik Komputer
Soal Ujian Tengah Semester :
Mata Kuliah : Rekayasa Perangkat Lunak Tanggal: 27-04-2007
Tingkat / Kelas : 402 Waktu : 60 Menit
Jenjang / Jurusan : S1 / SI Dosen : Nofriyadi Nurdam
Semester / Tahun : PTA / ATA 2006-2007 Sifat : Tutup Buku Petunjuk :
Mulailah dengan berdo’a Kerjakan soal apa adanya
Jawablah soal dengan jujur dan fair Soal:
1. Kegiatan mempelajari sistem bertahan dan menentukan solusi non teknis dilakukan dalam fase...
a. Analisa b. Perancangan c. Coding d. Testing
2. Model pengembangan yang dimulai dari fase analisa, kemudian fase desain dan diakhiri dengan fase test disebut ...
a. Linear Sequential Model b. Prototyping Model c. Rapid Aplication Model d. Incremental Model
11. Daftar Pertanyaan Wawancara
YA TIDAK 1 Apakahbapak/ibu memiliki database soal piihanganda yang
menggunakanperangkat lunak database?
2 Apakahbapak/ibu mengalami kesulitan dalampenyusunan soal? 3 Apakahkesulitanitu berupa pengetikansoalkembali dan
pemilihan soal dari kumpulansoal yangdimiliki? 4 Apakahbapak/ibu perlu melihat bentuk soaldosen lain?
5 Apakahbapak/ibu dapat menyerahkansoal ujiantepat waktudan sesuai dengan format yangditentukan?
6 Apakahkumpulansoal bapak/ibuboleh dilihat oleh semua dosen? 7 Bersediakah bapak/ibusharing soal dengandosenyanglain? 8 Perlukahmengetahui berapa kalisuatusoal dijadikan ujian? 9 Apakahbapak/ibu mentolerir perulangan soal satu/dua kali dalam
ujian?
10 Apakahbapak/ibu merasa perluadanya perangkat lunak untuk mengelola kumpulan soal ujian
JAWABAN
FLOWCHART
Flowchart Program
Mulai
Input NIP Input Password
Field Kosong? Atau NIP Tak Terdaftar?
Y
T
Password Benar?
Y T
Login? T Selesai
Keluar? T
Y
Mulai
Input Password Lama Input Password Baru
Field Kosong? Y
T
Pswd Lama Benar?
T
T
Y Ganti
Password? T
Keluar?
Selesai
Ganti Password!
Y
Mata Kuliah
Ada? T
Y
Pilih Mata Kuliah
Soal Ada? T Tambah Soal T Keluar T Y
1
Tambah Soal Y
2
T
Input Soal Input Jawaban
Y
Soal Sudah
Ada? Y 2
T
Simpan
1 Pilih Soal
Edit Soal
Edit Soal Edit Jawaban
Y Pilih Jenis
Mata Kuliah + Jenis Ada? Y T
Mulai
Selesai 3
3
Mata Kuliah
Ada? T
Y
Pilih Mata Kuliah
Soal Ada?
Y
Pilih Soal Untuk Ujian 4
T
Transfer ke Word?
Y
Transfer T
Keluar?
Y
T 4
Pilih Jenis Mulai
Selesai 5
5
Mata Kuliah Ada?
Tambah Mata Kuliah
7 Tambah Mata
Kuliah Y
6
T
Input Kode Input Nama
Mata Kuliah
Sudah Ada? Y 6
T
Simpan
7 Pilih Mata Kuliah
Edit Mata Kuliah Edit Kode Edit Nama Y
T Y
7 Keluar
Y
Pilih Jenis
Mata Kuliah + Jenis Ada? T
Y Mulai
Selesai 8
8
Dosen Ada? Tambah Dosen?
10 Tambah Dosen
Y
9
T
Input NIP Input Nama
Dosen Sudah
Ada? Y 9
T
Simpan
10 Pilih Dosen
Edit Dosen Edit NIP Edit Nama Y
T Y
10 Keluar
Y
T
9
T
Y
T
Y Mulai
Selesai 11
11
Hapus Dosen?
T
Y Hapus