100% found this document useful (2 votes)
175 views35 pages

Aplikasi Ujian Digital

The document describes code for creating a VB.NET application for a digital exam system using a database. It includes modules for database connection and report generation. It also includes forms for admin login, user management, and searching users. The code allows admins to login, view and manage user accounts, and generate reports from the database.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
175 views35 pages

Aplikasi Ujian Digital

The document describes code for creating a VB.NET application for a digital exam system using a database. It includes modules for database connection and report generation. It also includes forms for admin login, user management, and searching users. The code allows admins to login, view and manage user accounts, and generate reports from the database.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

www.konsultasivb.

com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

APLIKASI UJIAN DIGITAL MENGGUNAKAN VB.NET


Membuat database dan tabel

Membuat project
Membuat module koneksi

Imports System.Data.OleDb
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Module Module1

Public Conn As OleDbConnection


Public DA As OleDbDataAdapter
Public DS As DataSet
Public CMD As OleDbCommand
Public DR As OleDbDataReader

Public cryRpt As New ReportDocument


Public crtableLogoninfos As New TableLogOnInfos
Public crtableLogoninfo As New TableLogOnInfo
Public crConnectionInfo As New ConnectionInfo
Public CrTables As Tables

Public Sub seting_laporan()


With crConnectionInfo
.ServerName = (Application.StartupPath.ToString &
"\DTUjian.mdb")
.DatabaseName = (Application.StartupPath.ToString &
"\DTUjian.mdb")
.UserID = ""
.Password = ""
End With

CrTables = cryRpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo

1
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
End Sub

Public Sub Koneksi()


Try
Conn = New
OleDbConnection("provider=microsoft.jet.oledb.4.0;data
source=DTUjian.mdb")
Conn.Open()
Catch ex As Exception
MsgBox(ex.Message)
End
End Try
End Sub
End Module

Form login admin

Imports System.Data.OleDb

Public Class Login

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnama.KeyPress
If e.KeyChar = Chr(13) Then
txtpassword.Focus()
End If
End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtpassword.KeyPress
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
Try
CMD = New OleDbCommand("select * from tbluser where
nama_user='" & txtnama.Text & "' and PASS_user='" & txtpassword.Text &
"'", Conn)

2
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
MsgBox("Login gagal")
txtnama.Clear()
txtpassword.Clear()
txtnama.Focus()
Else
Me.Visible = False
MenuUtama.Show()
MenuUtama.Panel1.Text = DR.Item("kode_user")
MenuUtama.Panel2.Text = DR.Item("nama_user")
MenuUtama.Panel3.Text = DR.Item("status_user")
MenuUtama.GroupBox1.Visible = True
MenuUtama.GroupBox2.Visible = False

CMD = New OleDbCommand("select * from tblperusahaan",


Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
MasterPerusahaan.Show()
End If
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class

3
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Menu admin

Form User

4
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Imports System.Data.OleDb

Public Class User

Sub Kosongkan()
txtkode.Enabled = True
txtkode.Clear()
txtnama.Clear()
txtpassword.Clear()
cmbstatus.Text = ""
txtkode.Focus()
End Sub

Sub DataBaru()
txtnama.Clear()
txtpassword.Clear()
cmbstatus.Text = ""
txtnama.Focus()
End Sub

Sub Tampilgrid()
'Call Koneksi()
DA = New oledbDataAdapter("select * from tbluser", CONN)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub

Private Sub User_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Tampilgrid()
Me.CenterToScreen()
End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtkode.KeyPress
txtkode.MaxLength = 5
If e.KeyChar = Chr(13) Then
Call Koneksi()
CMD = New OleDbCommand("select * from tbluser where
Kode_user='" & txtkode.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
txtnama.Text = DR.Item("Nama_User")
txtpassword.Text = DR.Item("Pass_User")
cmbstatus.Text = DR.Item("Status_User")
txtnama.Focus()
Else
Call DataBaru()
End If
End If
End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnama.KeyPress
txtnama.MaxLength = 30

5
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
If e.KeyChar = Chr(13) Then
txtpassword.Focus()
End If
End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtpassword.KeyPress
txtpassword.MaxLength = 10
If e.KeyChar = Chr(13) Then
cmbstatus.Focus()
End If
End Sub

Private Sub combobox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles cmbstatus.KeyPress
cmbstatus.MaxLength = 15
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
If txtkode.Text = "" Or txtnama.Text = "" Or txtpassword.Text
= "" Or cmbstatus.Text = "" Then
MsgBox("data belum lengkap")
Exit Sub
Else
'Call Koneksi()
CMD = New OleDbCommand("select * from tbluser where
Kode_user='" & txtkode.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
Call Koneksi()
Dim simpan As String = "insert into tbluser values('"
& txtkode.Text & "','" & txtnama.Text & "','" & txtpassword.Text &
"','" & UCase(cmbstatus.Text) & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
Else
Call Koneksi()
Dim edit As String = "update tbluser set Nama_User='"
& txtnama.Text & "',Pass_User='" & txtpassword.Text &
"',Status_User='" & UCase(cmbstatus.Text) & "' where Kode_user='" &
txtkode.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
End If
Call Kosongkan()
Call Tampilgrid()
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
If txtkode.Text = "" Then
MsgBox("Kode_user user harus diisi dulu")
txtkode.Focus()

6
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Exit Sub
Else
If MessageBox.Show("hapus data ini...?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim hapus As String = "delete from tbluser where
Kode_user='" & txtkode.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilgrid()
Else
Call Kosongkan()
End If
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button3.Click
Call Kosongkan()
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub

Private Sub TextBox4_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtcari.TextChanged
Call Koneksi()
CMD = New OleDbCommand("select * from tbluser where Nama_User
like '%" & txtcari.Text & "%'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
Call Koneksi()
DA = New OleDbDataAdapter("select * from tbluser where
Nama_User like '%" & txtcari.Text & "%'", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
Else
MsgBox("Nama_User user tidak ditemukan")
End If
End Sub

Private Sub DGV_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGV.CellMouseClick
On Error Resume Next
txtkode.Enabled = False
txtkode.Text = DGV.Rows(e.RowIndex).Cells(0).Value
txtnama.Text = DGV.Rows(e.RowIndex).Cells(1).Value
txtpassword.Text = DGV.Rows(e.RowIndex).Cells(2).Value
cmbstatus.Text = DGV.Rows(e.RowIndex).Cells(3).Value
End Sub
End Class

7
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Form Siswa

Imports System.Data.OleDb

Public Class DataSiswa

Sub Tampilgrid()
DA = New OleDbDataAdapter("select * from TBLSiswa", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub

Private Sub DataSiswa_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Call Koneksi()
cmbjurusan.Items.Add("MANAJEMEN INFORMATIKA")
cmbjurusan.Items.Add("MANAJEMEN ADMINISTRASI")
cmbjurusan.Items.Add("AKUNTANSI")
cmbjurusan.Items.Add("SEKRETARI")
Call Tampilgrid()
txtkelas.Enabled = False
txtnim.Enabled = False
txtjumlahsiswa.Enabled = False
End Sub

8
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles cmbjurusan.KeyPress
If e.KeyChar = Chr(13) Then
Call CariJumlahSiswa()
Call Carikelas()
txtnamasiswa.Focus()
End If
End Sub

'mencari jumlah siswa di jurusan tertentu


Sub CariJumlahSiswa()
Call Koneksi()
CMD = New OleDbCommand("select count(*) from tblsiswa where
jurusan='" & cmbjurusan.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
txtjumlahsiswa.Text = 1
Else
txtjumlahsiswa.Text = DR.Item(0) + 1
End If
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cmbjurusan.SelectedIndexChanged
Call CariJumlahSiswa()
Call Carikelas()
txtnamasiswa.Focus()
End Sub

Sub Carikelas() 'MI14A, MI14B..., MA14A, MA14B..., AK14A,


AJ14B..., SK14A, SK14B...
If cmbjurusan.Text = "MANAJEMEN INFORMATIKA" And
Val(txtjumlahsiswa.Text) <= 3 Then
txtkelas.Text = "MI" & Format(Today, "yy") & "A"
ElseIf cmbjurusan.Text = "MANAJEMEN INFORMATIKA" And
Val(txtjumlahsiswa.Text) > 3 And Val(txtjumlahsiswa.Text) <= 6 Then
txtkelas.Text = "MI" & Format(Today, "yy") & "B"
ElseIf cmbjurusan.Text = "MANAJEMEN INFORMATIKA" And
Val(txtjumlahsiswa.Text) > 6 And Val(txtjumlahsiswa.Text) <= 9 Then
txtkelas.Text = "MI" & Format(Today, "yy") & "C"
ElseIf cmbjurusan.Text = "MANAJEMEN INFORMATIKA" And
Val(txtjumlahsiswa.Text) > 9 Then
txtkelas.Text = "MI" & Format(Today, "yy") & "Z"

ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" And


Val(txtjumlahsiswa.Text) <= 3 Then
txtkelas.Text = "MA" & Format(Today, "yy") & "A"
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" And
Val(txtjumlahsiswa.Text) > 3 And Val(txtjumlahsiswa.Text) <= 6 Then
txtkelas.Text = "MA" & Format(Today, "yy") & "B"
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" And
Val(txtjumlahsiswa.Text) > 6 And Val(txtjumlahsiswa.Text) <= 9 Then
txtkelas.Text = "MA" & Format(Today, "yy") & "C"
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" And
Val(txtjumlahsiswa.Text) > 9 Then
txtkelas.Text = "MA" & Format(Today, "yy") & "Z"

9
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

ElseIf cmbjurusan.Text = "AKUNTANSI" And


Val(txtjumlahsiswa.Text) <= 3 Then
txtkelas.Text = "AK" & Format(Today, "yy") & "A"
ElseIf cmbjurusan.Text = "AKUNTANSI" And
Val(txtjumlahsiswa.Text) > 3 And Val(txtjumlahsiswa.Text) <= 6 Then
txtkelas.Text = "AK" & Format(Today, "yy") & "B"
ElseIf cmbjurusan.Text = "AKUNTANSI" And
Val(txtjumlahsiswa.Text) > 6 And Val(txtjumlahsiswa.Text) <= 9 Then
txtkelas.Text = "AK" & Format(Today, "yy") & "C"
ElseIf cmbjurusan.Text = "AKUNTANSI" And
Val(txtjumlahsiswa.Text) > 9 Then
txtkelas.Text = "AK" & Format(Today, "yy") & "Z"

ElseIf cmbjurusan.Text = "SEKRETARI" And


Val(txtjumlahsiswa.Text) <= 3 Then
txtkelas.Text = "SK" & Format(Today, "yy") & "A"
ElseIf cmbjurusan.Text = "SEKRETARI" And
Val(txtjumlahsiswa.Text) > 3 And Val(txtjumlahsiswa.Text) <= 6 Then
txtkelas.Text = "SK" & Format(Today, "yy") & "B"
ElseIf cmbjurusan.Text = "SEKRETARI" And
Val(txtjumlahsiswa.Text) > 6 And Val(txtjumlahsiswa.Text) <= 9 Then
txtkelas.Text = "SK" & Format(Today, "yy") & "C"
ElseIf cmbjurusan.Text = "SEKRETARI" And
Val(txtjumlahsiswa.Text) > 9 Then
txtkelas.Text = "SK" & Format(Today, "yy") & "Z"
End If

Call CariNIM()
End Sub

'membuat nim otomatis dengan pola tahun + kode jurusan + nomor


urut
Sub CariNIM()
Call Koneksi()
CMD = New OleDbCommand("select nim from tblsiswa where
jurusan='" & cmbjurusan.Text & "' order by nim desc", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
If cmbjurusan.Text = "MANAJEMEN INFORMATIKA" Then
txtnim.Text = Format(Today, "yy") + "01" + "001"
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" Then
txtnim.Text = Format(Today, "yy") + "02" + "001"
ElseIf cmbjurusan.Text = "AKUNTANSI" Then
txtnim.Text = Format(Today, "yy") + "03" + "001"
ElseIf cmbjurusan.Text = "SEKRETARI" Then
txtnim.Text = Format(Today, "yy") + "04" + "001"
End If
Else
Dim Hitung As String =
Microsoft.VisualBasic.Right(DR.Item("NIM"), 3) + 1

If cmbjurusan.Text = "MANAJEMEN INFORMATIKA" Then


txtnim.Text = Format(Today, "yy") + "01" +
Microsoft.VisualBasic.Right("000" & Hitung, 3)
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" Then
txtnim.Text = Format(Today, "yy") + "02" +
Microsoft.VisualBasic.Right("000" & Hitung, 3)

10
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
ElseIf cmbjurusan.Text = "AKUNTANSI" Then
txtnim.Text = Format(Today, "yy") + "03" +
Microsoft.VisualBasic.Right("000" & Hitung, 3)
ElseIf cmbjurusan.Text = "SEKRETARI" Then
txtnim.Text = Format(Today, "yy") + "04" +
Microsoft.VisualBasic.Right("000" & Hitung, 3)
End If
End If

End Sub

Sub Kosongkan()
cmbjurusan.Text = ""
txtkelas.Clear()
txtnim.Clear()
txtnamasiswa.Clear()
txtjumlahsiswa.Clear()
TextBox4.Clear()
cmbjurusan.Enabled = True
txtnamasiswa.Enabled = True
cmbjurusan.Focus()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
If cmbjurusan.Text = "" Or txtkelas.Text = "" Or txtnim.Text =
"" Or txtnamasiswa.Text = "" Then
MsgBox("data belum lengkap")
Exit Sub
Else
Call Koneksi()
'cari data siswa
CMD = New OleDbCommand("select * from TBLSiswa where
NIM='" & txtnim.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
Call Koneksi()
'jika tidak ditemukan maka simpan
Dim simpan As String = "insert into TBLSiswa values('"
& txtnim.Text & "','" & txtnamasiswa.Text & "','" & txtkelas.Text &
"','" & UCase(cmbjurusan.Text) & "','" & txtnim.Text & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
Else
Call Koneksi()
'jika ditemukan maka edit (update)
Dim edit As String = "update TBLSiswa set Nama='" &
txtnamasiswa.Text & "',jurusan='" & UCase(cmbjurusan.Text) &
"',kelas='" & txtkelas.Text & "' where NIM='" & txtnim.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
End If
Call Kosongkan()
Call Tampilgrid()
End If
End Sub

11
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Call Kosongkan()
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
If txtnim.Text = "" Then
MsgBox("NIM harus diisi dulu")
txtnim.Focus()
Exit Sub
Else
If MessageBox.Show("hapus data ini...?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim hapus As String = "delete from TBLSiswa where
NIM='" & txtnim.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilgrid()
Else
Call Kosongkan()
End If
End If
End Sub

Private Sub DGV_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGV.CellMouseClick
On Error Resume Next
cmbjurusan.Enabled = False
txtkelas.Enabled = False
txtnim.Enabled = False

txtnamasiswa.Text = DGV.Rows(e.RowIndex).Cells(1).Value
txtkelas.Text = DGV.Rows(e.RowIndex).Cells(2).Value
txtnim.Text = DGV.Rows(e.RowIndex).Cells(0).Value
cmbjurusan.Text = DGV.Rows(e.RowIndex).Cells(3).Value
End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnamasiswa.KeyPress
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub TextBox4_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles TextBox4.TextChanged
Call Koneksi()
CMD = New OleDbCommand("select * from TBLSiswa where Nama like
'%" & TextBox4.Text & "%'", Conn)
DR = CMD.ExecuteReader

12
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
DR.Read()
If DR.HasRows Then
Call Koneksi()
DA = New OleDbDataAdapter("select * from TBLSiswa where
Nama like '%" & TextBox4.Text & "%'", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
Else
MsgBox("Nama user tidak ditemukan")
End If
End Sub
End Class

Form mata kuliah

Imports System.Data.OleDb

Public Class DataMataKuliah

Sub Kosongkan()
cmbjurusan.Text = ""
cmbsemester.Text = ""
txtidkuliah.Clear()
txtmatakuliah.Clear()
txtsks.Clear()
TextBox4.Clear()
cmbjurusan.Enabled = True
cmbjurusan.Enabled = True

13
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
txtidkuliah.Enabled = False
txtmatakuliah.Enabled = True
txtsks.Enabled = True
cmbjurusan.Focus()
End Sub

Sub Tampilgrid()
DA = New OleDbDataAdapter("select * from TBLKUliah", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub

Sub TampilKuliah()
CMD = New OleDbCommand("select distinct jurusan from
tblsiswa", Conn)
DR = CMD.ExecuteReader
cmbjurusan.Items.Clear()
Do While DR.Read
cmbjurusan.Items.Add(DR.Item("Jurusan"))
Loop
End Sub

Private Sub DataMataKuliah_Load(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call TampilKuliah()
Call Tampilgrid()
'menampilkan semeter 1 - 6 dalam combobox2
For smt As Integer = 1 To 6
cmbsemester.Items.Add(smt)
Next
txtidkuliah.Enabled = False
End Sub

Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles cmbjurusan.KeyPress
If e.KeyChar = Chr(13) Then

End If
End Sub

'membuat kode mata kuliah secara otomatis berdasarkan jurusan


Sub CariKodeKuliah()
Call Koneksi()
CMD = New OleDbCommand("select idkuliah from TBLKUliah where
jurusan='" & cmbjurusan.Text & "' order by idkuliah desc", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
If cmbjurusan.Text = "MANAJEMEN INFORMATIKA" Then
txtidkuliah.Text = "101"
ElseIf cmbjurusan.Text = "MANAJEMEN ADMINISTRASI" Then
txtidkuliah.Text = "201"
ElseIf cmbjurusan.Text = "AKUNTANSI" Then
txtidkuliah.Text = "301"
ElseIf cmbjurusan.Text = "SEKRETARI" Then
txtidkuliah.Text = "401"

14
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
End If
Else
txtidkuliah.Text = DR.Item("idkuliah") + 1
End If
End Sub

Private Sub Textbox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtmatakuliah.KeyPress
If e.KeyChar = Chr(13) Then
txtsks.Focus()
End If
End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtsks.KeyPress
txtsks.MaxLength = 1
If e.KeyChar = Chr(13) Then
cmbsemester.Focus()
End If
If Not (e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar =
vbBack) Then
e.Handled = True
End If

End Sub

Private Sub Combobox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles cmbsemester.KeyPress
cmbsemester.MaxLength = 1
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
If cmbjurusan.Text = "" Or txtidkuliah.Text = "" Or
txtmatakuliah.Text = "" Or txtsks.Text = "" Or cmbsemester.Text = ""
Then
MsgBox("data belum lengkap")
Exit Sub
Else
Call Koneksi()
'cari kode mata kuliah
CMD = New OleDbCommand("select * from TBLKUliah where
idkuliah='" & txtidkuliah.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
Call Koneksi()
'jika tidak ada maka lakukan insert
Dim simpan As String = "insert into TBLKUliah
values('" & txtidkuliah.Text & "','" & txtmatakuliah.Text & "','" &
txtsks.Text & "','" & cmbsemester.Text & "','" & cmbjurusan.Text &
"')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
Else
Call Koneksi()

15
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
'jika sudah ada maka lakukan update
Dim edit As String = "update TBLKUliah set
MataKuliah='" & txtmatakuliah.Text & "',SKS='" & txtsks.Text & "',
SEmESTER='" & cmbsemester.Text & "',JURUSAN='" & cmbsemester.Text & "'
where idkuliah='" & txtidkuliah.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
End If
Call Kosongkan()
Call Tampilgrid()
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button3.Click
Call Kosongkan()
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
If txtmatakuliah.Text = "" Then
MsgBox("idkuliah harus diisi dulu")
txtmatakuliah.Focus()
Exit Sub
Else
If MessageBox.Show("hapus data ini...?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim hapus As String = "delete from TBLKUliah where
idkuliah='" & txtidkuliah.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilgrid()
Else
Call Kosongkan()
End If
End If
End Sub

Private Sub DGV_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGV.CellMouseClick
On Error Resume Next
cmbjurusan.Enabled = False
txtidkuliah.Enabled = False
txtidkuliah.Text = DGV.Rows(e.RowIndex).Cells(0).Value
txtmatakuliah.Text = DGV.Rows(e.RowIndex).Cells(1).Value
txtsks.Text = DGV.Rows(e.RowIndex).Cells(2).Value
cmbjurusan.Text = DGV.Rows(e.RowIndex).Cells(4).Value
cmbsemester.Text = DGV.Rows(e.RowIndex).Cells(3).Value
End Sub

16
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Private Sub TextBox4_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles TextBox4.TextChanged
Call Koneksi()
CMD = New OleDbCommand("select * from TBLKUliah where
MataKuliah like '%" & TextBox4.Text & "%'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
Call Koneksi()
DA = New OleDbDataAdapter("select * from TBLKUliah where
MataKuliah like '%" & TextBox4.Text & "%'", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
Else
MsgBox("MataKuliah tidak ditemukan")
End If
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cmbjurusan.SelectedIndexChanged
Call CariKodeKuliah()
txtmatakuliah.Focus()
End Sub
End Class

Form soal

17
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Imports System.Data.OleDb

Public Class MasterSoal

Sub Idsoal()
CMD = New OleDbCommand("select id_soal from tblmastersoal
where left(id_soal,3) ='" & Microsoft.VisualBasic.Left(ComboBox1.Text,
3) & "' order by id_soal desc", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
txtIDSoal.Text =
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) + "01"
Else
txtIDSoal.Text =
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) +
Format(Microsoft.VisualBasic.Right(DR.Item("id_soal"), 2) + 1, "00")
End If
txtIDSoal.Enabled = False
End Sub

Sub TampilKuliah()
CMD = New oledbCommand("select * from TBLKuliah order by 1",
CONN)
DR = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While DR.Read
ComboBox1.Items.Add(DR.Item("IDKuliah") & Space(2) &
DR.Item("MataKuliah"))
Loop
End Sub

Sub Kosongkan()
On Error Resume Next
txtIDSoal.Clear()
ComboBox1.Text = ""
txtjumlah.Clear()
txtkoordinator.Clear()
txtanggota.Clear()
txttype.Clear()
lblLokasi.Text = ""
DGV.Columns.Clear()
FilePDF.src = Nothing
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnupload.Click
On Error Resume Next
OpenFileDialog1.Filter = "*.pdf|*.pdf"
OpenFileDialog1.ShowDialog()
Me.FilePDF.src = OpenFileDialog1.FileName
lblLokasi.Text = OpenFileDialog1.FileName
End Sub

Private Sub btnTutup_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnTutup.Click
Me.Close()
End Sub

18
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnBatal.Click
Call kosongkan()
End Sub

Private Sub MasterSoal_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call kosongkan()
Call TampilKuliah()
End Sub

Private Sub txtjumlah_KeyDown(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles txtjumlah.KeyDown

If e.KeyCode = Keys.Enter Then


DGV.Columns.Clear()
DGV.Columns.Add("Nomor", "Nomor")
DGV.Columns.Add("Kunci", "Kunci Jawaban")
For nomor As Integer = 0 To Val(txtjumlah.Text) - 1
DR.Read()
DGV.RowCount = DGV.RowCount + 1
DGV.Rows(nomor).Cells(0).Value = DGV.RowCount - 1
Next
DGV.Columns(0).ReadOnly = True
End If
End Sub

Private Sub txtjumlah_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtjumlah.KeyPress
If Not (e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar =
vbBack) Then
e.Handled = True
End If
End Sub

Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnSimpan.Click

Try
If ComboBox1.Text = "" Or txtjumlah.Text = "" Or
txtanggota.Text = "" Or txtkoordinator.Text = "" Or txttype.Text = ""
Or lblLokasi.Text = "" Then
MsgBox("data belum lengkap")
Exit Sub
Else
CMD = New OleDbCommand("select * from tblmastersoal
where id_soal='" & txtIDSoal.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
Dim simpanmastersoal As String = "insert into
TBLmastersoal values('" & txtIDSoal.Text & "','" &
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) & "','" & txtjumlah.Text
& "','" & txttype.Text & "','" & txtkoordinator.Text & "','" &
txtanggota.Text & "','" & lblLokasi.Text & "')"
CMD = New OleDbCommand(simpanmastersoal, Conn)
CMD.ExecuteNonQuery()

19
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Else
Dim editmastersoal As String = "update
TBLmastersoal set idkuliah='" &
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) & "',jumlah_soal='" &
txtjumlah.Text & "',type_soal='" & txttype.Text & "',koordinator='" &
txtkoordinator.Text & "',anggota='" & txtanggota.Text & "','" &
lblLokasi.Text & "' where id_soal='" & txtIDSoal.Text & "'"
CMD = New OleDbCommand(editmastersoal, Conn)
CMD.ExecuteNonQuery()
End If

For baris As Integer = 0 To DGV.RowCount - 2


CMD = New OleDbCommand("select
id_soal,Nomor,Jawaban from tblsoal where id_soal='" & txtIDSoal.Text &
"' and idkuliah='" & Microsoft.VisualBasic.Left(ComboBox1.Text, 3) &
"' and val(nomor)='" & DGV.Rows(baris).Cells(0).Value & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
'jika data sudah ada, maka lakukan edit -
update
Dim edit As String = "update tblsoal set
jawaban='" & DGV.Rows(baris).Cells(1).Value & "' where id_soal='" &
txtIDSoal.Text & "', and VAL(nomor)='" &
DGV.Rows(baris).Cells(0).Value & "' and idkuliah='" &
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
Else
'jika data belum ada maka lakukan insert
Dim simpan As String = "insert into tblsoal
values ('" & txtIDSoal.Text & "','" &
Microsoft.VisualBasic.Left(ComboBox1.Text, 3) & "','" &
DGV.Rows(baris).Cells(0).Value & "','" &
DGV.Rows(baris).Cells(1).Value & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
End If
Next

MsgBox("data berhasil disimpan")


Call Kosongkan()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
txtIDSoal.Enabled = True
End Sub

Private Sub txtIDSoal_KeyDown(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles txtIDSoal.KeyDown
If e.KeyCode = Keys.Enter Then
CMD = New OleDbCommand("select * from tblmastersoal where
id_soal='" & txtIDSoal.Text & "'", Conn)

20
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
On Error Resume Next
ComboBox1.Text = DR.Item("idkuliah")
txtjumlah.Text = DR.Item("jumlah_soal")
txttype.Text = DR.Item("type_soal")
txtkoordinator.Text = DR.Item("koordinator")
txtanggota.Text = DR.Item("anggota")
lblLokasi.Text = DR.Item("lokasi")
FilePDF.src = lblLokasi.Text

DA = New OleDbDataAdapter("select Nomor,Jawaban from


tblsoal where id_soal='" & txtIDSoal.Text & "'", Conn)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.Columns(0).ReadOnly = True
Else
MsgBox("id soal tidak ditemukan")
End If
End If
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
Call Idsoal()
End Sub

Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles
DGV.CellEndEdit
If e.ColumnIndex = 1 Then
DGV.Rows(e.RowIndex).Cells(1).Value =
UCase(DGV.Rows(e.RowIndex).Cells(1).Value)
End If
End Sub

End Class

21
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Form laporan master

Imports System.Data.OleDb

Public Class LaporanMaster

Private Sub LaporanMaster_Load(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()

CMD = New OleDbCommand("select distinct kelas from tblsiswa",


Conn)
DR = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While DR.Read
ComboBox1.Items.Add(DR.Item("kelas"))
Loop

CMD = New OleDbCommand("select nama from tblsiswa", Conn)


DR = CMD.ExecuteReader
ComboBox2.Items.Clear()
Do While DR.Read
ComboBox2.Items.Add(DR.Item("nama"))
Loop

CMD = New OleDbCommand("select matakuliah from tblkuliah",


Conn)
DR = CMD.ExecuteReader
ComboBox3.Items.Clear()
Do While DR.Read
ComboBox3.Items.Add(DR.Item("matakuliah"))

22
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
ComboBox5.Items.Add(DR.Item("matakuliah"))
Loop

CMD = New OleDbCommand("select distinct jurusan from


tblkuliah", Conn)
DR = CMD.ExecuteReader
ComboBox4.Items.Clear()
Do While DR.Read
ComboBox4.Items.Add(DR.Item("jurusan"))
Loop

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblsiswa.kelas}='" & ComboBox1.Text &
"'"
cryRpt.Load("LAPORAN siswa.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox2.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblsiswa.nama}='" & ComboBox2.Text &
"'"
cryRpt.Load("LAPORAN siswa.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox3.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblkuliah.matakuliah} like '*" &
ComboBox3.Text & "*'"
cryRpt.Load("LAPORAN mtkuliah.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub ComboBox4_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox4.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblkuliah.jurusan} like '*" &
ComboBox4.Text & "*'"
cryRpt.Load("LAPORAN mtkuliah.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()

23
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
CRV.ReportSource = Nothing
cryRpt.Load("LAPORAN siswa.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
CRV.ReportSource = Nothing
cryRpt.Load("LAPORAN mtkuliah.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button3.Click
CRV.ReportSource = Nothing
cryRpt.Load("LAPORAN soal ujian.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub ComboBox5_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox5.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblkuliah.matakuliah} like '*" &
ComboBox5.Text & "*'"
cryRpt.Load("LAPORAN soal ujian.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub
End Class

24
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Form laporan nilai

Imports System.Data.OleDb

Public Class LaporanNilai

Private Sub LaporanNilai_Load(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
CMD = New OleDbCommand("select distinct kelas from
tblsiswa,tblmasterjawaban where tblsiswa.nim=tblmasterjawaban.nim",
Conn)
DR = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While DR.Read
ComboBox1.Items.Add(DR.Item("kelas"))
ListBox1.Items.Add(DR.Item("kelas"))
Loop

CMD = New OleDbCommand("select distinct matakuliah from


tblkuliah,tblmasterjawaban where
tblkuliah.idkuliah=tblmasterjawaban.idkuliah", Conn)
DR = CMD.ExecuteReader
ComboBox2.Items.Clear()
Do While DR.Read
ComboBox2.Items.Add(DR.Item("matakuliah"))
Loop

CMD = New OleDbCommand("select distinct NIM from


tblmasterjawaban", Conn)
DR = CMD.ExecuteReader
ComboBox3.Items.Clear()
Do While DR.Read

25
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
ComboBox3.Items.Add(DR.Item("NIM"))
Loop
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblsiswa.kelas}='" & ComboBox1.Text &
"' and {tblkuliah.matakuliah}='" & ComboBox2.Text & "'"
cryRpt.Load("LAPORAN per kelas.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblmasterjawaban.nim}='" &
ComboBox3.Text & "'"
cryRpt.Load("LAPORAN per nim.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt
CRV.RefreshReport()
End Sub

Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox3.SelectedIndexChanged

CMD = New OleDbCommand("select distinct smt from


tblmasterjawaban where nim='" & ComboBox3.Text & "'", Conn)
DR = CMD.ExecuteReader
ComboBox4.Items.Clear()
ComboBox4.Text = ""
Do While DR.Read
ComboBox4.Items.Add(DR.Item("smt"))
Loop
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
CMD = New OleDbCommand("select * from tblsiswa where kelas='"
& ListBox1.Text & "'", Conn)
DR = CMD.ExecuteReader
ComboBox2.Items.Clear()
ListBox3.Items.Clear()
Do While DR.Read
ListBox3.Items.Add(DR.Item("nim") & Space(2) &
DR.Item("nama"))
Loop

CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblsiswa.kelas}='" & ListBox1.Text &
"' "
cryRpt.Load("LAPORAN per kelas.rpt")
Call seting_laporan()
CRV.ReportSource = cryRpt

26
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
CRV.RefreshReport()
End Sub

Private Sub ListBox3_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ListBox3.SelectedIndexChanged

CMD = New OleDbCommand("select distinct smt from


tblmasterjawaban where nim='" &
Microsoft.VisualBasic.Left(ListBox3.Text, 7) & "'", Conn)
DR = CMD.ExecuteReader
ListBox4.Items.Clear()
Do While DR.Read
ListBox4.Items.Add(DR.Item("smt"))
Loop
End Sub
End Class

Form login siswa

Imports System.Data.OleDb

Public Class LoginPeserta

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnama.KeyPress
If e.KeyChar = Chr(13) Then
txtpassword.Focus()
End If
End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtpassword.KeyPress
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click

Try
CMD = New OleDbCommand("select * from tblsiswa where
nama='" & txtnama.Text & "' and Pwd='" & txtpassword.Text & "'", Conn)

27
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
MsgBox("Login gagal")
txtnama.Clear()
txtpassword.Clear()
txtnama.Focus()
MenuUtama.ListBox1.Visible = True
Else
Me.Visible = False
MenuUtama.Show()
MenuUtama.ListBox1.Visible = False
MenuUtama.Panel1.Text = DR.Item("nim")
MenuUtama.Panel2.Text = DR.Item("nama")
Dim nim As String = DR.Item("NIM")
Dim nama As String = DR.Item("nama")
Dim Kelas As String = DR.Item("kELAS")
UjianSiswa.Show()
UjianSiswa.lblnim.Text = nim
UjianSiswa.lblnamasiswa.Text = nama
UjianSiswa.lblkelas.Text = Kelas
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub

Private Sub LoginPeserta_Load(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
End Sub
End Class

28
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Form ujian online

Imports System.Data.OleDb

Public Class UjianSiswa

Private Sub UjianSiswa_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
lbltanggal.Text = Format(Today, "MM/dd/yyyy")
Call Koneksi()
'tampilkan mata kuliah yang cocok dengan hasil login yang
tercantum di panel1 menu utama (sesuai jurusan)

CMD = New OleDbCommand("select * from tblmastersoal WHERE


LEFT(IDKULIAH,1)='" &
Trim(Microsoft.VisualBasic.Mid(MenuUtama.Panel1.Text, 4, 1)) & "'",
Conn)
DR = CMD.ExecuteReader
cmbidsoal.Items.Clear()
Do While DR.Read
cmbidsoal.Items.Add(DR.Item("id_soal"))
Loop
lbldurasi.Text = 0
lbljumlahsoal.Text = 0
lbljumlahdijawab.Text = 0
lbljumlahbenar.Text = 0
lbljumlahsalah.Text = 0
lblketerangan.Text = "-"
DGV.ReadOnly = True
DGV.Rows.Clear()
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cmbidsoal.SelectedIndexChanged

29
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
'cari data NIM yang pernah melakukan ujian di mata kuliah yang
dipilih di combobox1
CMD = New OleDbCommand("select * from tblmasterjawaban where
nim='" & lblnim.Text & "' and idKULIAH='" &
Microsoft.VisualBasic.Left(cmbidsoal.Text, 3) & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
'jika sudah ada maka tampilkan pesan
MsgBox("Anda sudah mengikuti test mata kuliah ini " &
Chr(13) & _
"Tanggal :" & Format(DR.Item("tanggal"), "dd-
MMM-yyyy") & " " & Chr(13) & _
"Mulai :" & Format(DR.Item("Mulai"),
"hh:mm:ss") & " " & vbCrLf & _
"Selesai :" & Format(DR.Item("selesai"),
"hh:mm:ss") & " " & vbCrLf & _
"Jml Soal :" & DR.Item("jmlsoal") & " " & vbCrLf
& _
"Dijawab :" & DR.Item("dijawab") & " " & vbCrLf
& _
"Jml Benar :" & DR.Item("benar") & " " & vbCrLf &
_
"Jml Salah :" & DR.Item("salah") & " " & vbCrLf &
_
"Keterangan :" & DR.Item("keterangan") & " ")
Exit Sub
End If

'jika belum ada maka tampilkan nomor soal ujiannya


CMD = New OleDbCommand("select nomor from tblsoal where
id_soal='" & cmbidsoal.Text & "' order by 1", Conn)
DR = CMD.ExecuteReader
ListBox1.Items.Clear()
Do While DR.Read
ListBox1.Items.Add(DR.Item("Nomor"))
Loop

CMD = New OleDbCommand("select semester from tblkuliah where


idkuliah='" & Microsoft.VisualBasic.Left(cmbidsoal.Text, 3) & "'",
Conn)
DR = CMD.ExecuteReader
DR.Read()
lblsmt.Text = DR.Item("semester")

CMD = New OleDbCommand("select


id_soal,Lokasi,tblkuliah.matakuliah from tblmastersoal,tblkuliah where
tblmastersoal.idkuliah=tblkuliah.idkuliah and tblmastersoal.id_soal='"
& cmbidsoal.Text & "' order by 1", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
Label30.Text = DR.Item("matakuliah")
FileSoal.src = DR.Item("Lokasi")
End If
ListBox1.Focus()
End Sub

30
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
On Error Resume Next
Call BersihkanJawaban()
'tampilkan pertanyaan soal ujian dalam textbox1 sesuai dengan
nomor soal yang dipilih
CMD = New OleDbCommand("select * from tblsoal where
idkuliah='" & Microsoft.VisualBasic.Left(cmbidsoal.Text, 3) & "' and
VAL(nomor)='" & Val(ListBox1.Text) & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
'TextBox1.Text = DR.Item("pertanyaan")
RadioButton1.Text = DR.Item("A")
RadioButton2.Text = DR.Item("B")
RadioButton3.Text = DR.Item("C")
RadioButton4.Text = DR.Item("D")
End If
End Sub

Sub BersihkanJawaban()
RadioButton1.Checked = False
RadioButton2.Checked = False
RadioButton3.Checked = False
RadioButton4.Checked = False
End Sub

Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton1.Click
'jika jawaban A dipilih maka lakukan proses penyesuaian
jawaban apakah benar atau salah
CMD = New OleDbCommand("select * from tblsoal where ID_SOAL='"
& cmbidsoal.Text & "' and VAL(nomor)='" & ListBox1.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lbldijawab.Text = "A"
lbljawaban.Text = DR.Item("Jawaban")
If lbldijawab.Text = lbljawaban.Text Then lblstatus.Text =
"BENAR" Else lblstatus.Text = "SALAH"
End If
End Sub

Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton2.Click
'jika jawaban B dipilih maka lakukan proses penyesuaian
jawaban apakah benar atau salah
CMD = New OleDbCommand("select * from tblsoal where ID_SOAL='"
& cmbidsoal.Text & "' and VAL(nomor)='" & ListBox1.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lbldijawab.Text = "B"
lbljawaban.Text = DR.Item("Jawaban")
If lbldijawab.Text = lbljawaban.Text Then lblstatus.Text =
"BENAR" Else lblstatus.Text = "SALAH"
End If
End Sub

31
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir

Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton3.Click
'jika jawaban C dipilih maka lakukan proses penyesuaian
jawaban apakah benar atau salah
CMD = New OleDbCommand("select * from tblsoal where ID_SOAL='"
& cmbidsoal.Text & "' and VAL(nomor)='" & ListBox1.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lbldijawab.Text = "C"
lbljawaban.Text = DR.Item("Jawaban")
If lbldijawab.Text = lbljawaban.Text Then lblstatus.Text =
"BENAR" Else lblstatus.Text = "SALAH"
End If
End Sub

Private Sub RadioButton4_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton4.Click
'jika jawaban D dipilih maka lakukan proses penyesuaian
jawaban apakah benar atau salah
CMD = New OleDbCommand("select * from tblsoal where ID_SOAL='"
& cmbidsoal.Text & "' and VAL(nomor)='" & ListBox1.Text & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
lbldijawab.Text = "D"
lbljawaban.Text = DR.Item("Jawaban")
If lbldijawab.Text = lbljawaban.Text Then lblstatus.Text =
"BENAR" Else lblstatus.Text = "SALAH"
End If
End Sub

Private Sub BTNJawab_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNJawab.Click

'jika mata kuliah belum dipilih


If cmbidsoal.Text = "" Then
MsgBox("Anda belum memilih mata kuliah")
Exit Sub
End If
'jika belum memeilih nomor soal
If ListBox1.Text = "" Then
MsgBox("Anda belum memilih nomor soal")
Exit Sub
End If

'jika belum memilih jawaban


If RadioButton1.Checked = False And RadioButton2.Checked =
False And RadioButton3.Checked = False And RadioButton4.Checked =
False Then
MsgBox("Anda belum memilih jawaban")
Exit Sub
End If

'jika nomor soal tersebut sudah dijawab


For BARIS As Integer = 0 To DGV.RowCount - 1
If ListBox1.Text = DGV.Rows(BARIS).Cells(0).Value Then
MsgBox("Nomor ini sudah dijawab")

32
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Exit Sub
End If
Next
'jawaban akan tampil di dalam grid sebelah kanan
DGV.Rows.Add(ListBox1.Text, lbldijawab.Text, lbljawaban.Text,
lblstatus.Text)
ListBox1.Focus()
ListBox1.SelectedItem = ListBox1.SelectedItem + 1
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Timer1.Tick
lblmulai.Text = TimeOfDay
Timer1.Enabled = False
End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Timer2.Tick
lblselesai.Text = TimeOfDay
End Sub

'membuat fungsi untuk menghitung jumlah jawaban yang benar


Sub JumlahBenar()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 2
If DGV.Rows(baris).Cells(3).Value = "BENAR" Then
hitung = hitung + 1
lbljumlahbenar.Text = hitung
End If
Next
End Sub

'membuat fungsi untuk menghitung jumlah jawaban yang benar


Sub JumlahSalah()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 2
If DGV.Rows(baris).Cells(3).Value = "SALAH" Then
hitung = hitung + 1
lbljumlahsalah.Text = hitung
End If
Next
End Sub

Private Sub BTNSelesai_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles BTNSelesai.Click
Try
'ketika BTNselesai di klik maka....
Timer2.Enabled = False
Dim awal As Date = TimeValue(lblmulai.Text)
Dim hasil As TimeSpan = Now - awal
'hitung durasi pengerjaan soal ujian
lbldurasi.Text = (String.Format("{0}:{1}:{2}",
hasil.Hours, hasil.Minutes, hasil.Seconds))

'hitung banyaknya nomor soal ujian


lbljumlahsoal.Text = ListBox1.Items.Count
lbljumlahdijawab.Text = DGV.RowCount - 1

Call JumlahBenar()

33
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Call JumlahSalah()
'jika jumlah benar > jumlah salah maka "LULUS"
If Val(lbljumlahbenar.Text) > Val(lbljumlahsalah.Text)
Then
lblketerangan.Text = "LULUS"
Else
lblketerangan.Text = "GAGAL"
End If

'simoan semua hasil ujian ke tabel detail jawaban


For baris As Integer = 0 To DGV.RowCount - 2
Dim simpandetail As String = "insert into
tbldetailjawaban values ('" & lblnim.Text & "','" & cmbidsoal.Text &
"','" & Microsoft.VisualBasic.Left(cmbidsoal.Text, 3) & "','" &
DGV.Rows(baris).Cells(0).Value & "','" &
DGV.Rows(baris).Cells(1).Value & "','" &
DGV.Rows(baris).Cells(2).Value & "','" &
DGV.Rows(baris).Cells(3).Value & "')"
CMD = New OleDbCommand(simpandetail, Conn)
CMD.ExecuteNonQuery()
Next

'simpan summary hasil ujian ke tabel master jawaban


Dim simpanmaster As String = "insert into tblmasterjawaban
values ('" & lblnim.Text & "','" & lblsmt.Text & "','" &
cmbidsoal.Text & "','" & Microsoft.VisualBasic.Left(cmbidsoal.Text, 3)
& "','" & lbltanggal.Text & "','" & lblmulai.Text & "','" &
lblselesai.Text & "','" & lbldurasi.Text & "','" & lbljumlahsoal.Text
& "','" & lbljumlahdijawab.Text & "','" & lbljumlahbenar.Text & "','"
& lbljumlahsalah.Text & "','" & lblketerangan.Text & "')"
CMD = New OleDbCommand(simpanmaster, Conn)
CMD.ExecuteNonQuery()
cmbidsoal.Enabled = False
ListBox1.Enabled = False
BTNJawab.Enabled = False
RadioButton1.Enabled = False
RadioButton2.Enabled = False
RadioButton3.Enabled = False
RadioButton4.Enabled = False
BTNSelesai.Enabled = False
cmbidsoal.Text = ""
ListBox1.Items.Clear()
'TextBox1.Clear()
Call BersihkanJawaban()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub BTNTutup_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNTutup.Click
cmbidsoal.Text = ""
ListBox1.Items.Clear()
'TextBox1.Clear()
DGV.Rows.Clear()
Me.Close()
End Sub

34
www.konsultasivb.com
Pusat Kursus VB.Net & Bimbingan Tugas Akhir
Private Sub BTNPetunjuk_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles BTNPetunjuk.Click
MsgBox("1. Pilih Materi di combo paling atas" & Chr(13) & _
"2. Pilih Nomor Soal dalam list di sebelah kiri" & Chr(13) & _
"3. Pilih Jawaban pada option button" & vbCrLf & _
"4. Klik Jawab" & vbCrLf & _
"5. Lanjutkan ke soal nomor Berikutnya")
End Sub

Private Sub BTNBatal_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNBatal.Click
cmbidsoal.Text = ""
ListBox1.Items.Clear()
Label30.Text = ""
DGV.Rows.Clear()
Call BersihkanJawaban()
End Sub
End Class

35

You might also like