Modul Ujikom SMK Aplikasi Penilaian
MODUL UJIKOM
APLIKASI PENILAIAN
Oleh : Agun Guntara, M.Kom.
1. Deskripsi
sistem
aplikasi penilaian yaitu aplikasi yang
dibuat untuk mengelola kontrak mata pelajaranan untuk guru, serta penilaian
guru terhadap siswa sesuai dengan kontrak yang sudah dierima. Sistem penilaian
memiliki 3 jenis hak akses yaitu untuk Siswa, Guru, dan Admin dengan
masing-masing user memiliki kewenangan yang berbeda.
2. Batasan
sistem
Agar aplikasi yang dibuat sesuai dengan
tujuan maka sistem perlu dibatasi, batasann sistem sebagai berikut :
a. Sistem
untuk mengelola nilai siswa
b. Sistem
untuk mengelola kontrak guru
c. Sistem
untuk mengelola mata pelajaran
d. Sistem
untuk mengelola data kelas
e. Sistem
untuk mengelola data siswa
f. Sistem
untuk mengelola data guru
g. Sistem
untuk mengelola data wali siswa
3. Kebutuhan
dalam Pengembangan Aplikasi
a. Software
database MySQL bisa menggunakan XAMPP
b. Visual
Studio .NET
c. mysql-connector-net-6.9.8
untuk koneksi database mysql ke VB NET
d. ODBC
driver
Untuk koneksi crystal report ke database
e. Crystal
Report
Aplikasi untuk membuat laporan
*Pilih
sesuai dengan visual studio yang digunakan.
4. Perancangan
database
Pada sistem aplikasi terdapat beberapa
tabel sebagai berikut :
*ceklis dan underline
merupakan primary key
1.
Interface
dan Coding
Buat
modul koneksi’
Nama
: Mdl_Koneksi
Imports MySql.Data.MySqlClient
Imports System.Data
Module Module1
Public conn As MySqlConnection
Public da As MySqlDataAdapter
Public cmd As MySqlCommand
Public ds As DataSet
Public str As String
Dim rawdata() As Byte
Public tabel As DataTable
Dim DR As MySqlDataReader
Sub koneksi()
Try
Dim str As String = "SERVER=localhost;DATABASE=dbpenilaian;UID=root;PWD=;PORT=3306"
conn = New MySqlConnection(str)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Module
Imports MySql.Data.MySqlClient
Imports System.IO
Imports System.Drawing.Image
Public Class FrmSiswa
Dim str As String = String.Empty
Dim pathfile As String = Nothing
Dim fs As FileStream
Dim imagebytes As Byte = Nothing
Dim filesize As UInt32
Dim strimagename As String
Private Property rd As MySqlDataReader
Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles BtnSimpan.Click
Dim tgl As Date
Dim foto() As Byte = IO.File.ReadAllBytes(LblFoto.Text)
If TxtNISN.Text = "" Then
MessageBox.Show("NISN tidak
boleh kosong")
TxtNISN.Focus()
ElseIf TxtNama.Text = "" Then
MessageBox.Show("Nama tidak
boleh kosong")
TxtNama.Focus()
ElseIf MEtgl.Text = "" Then
MessageBox.Show("Tanggal
lahir tidak boleh kosong")
TxtNama.Focus()
ElseIf TxtAlamat.Text = "" Then
MessageBox.Show("alamat tidak
boleh kosong")
TxtAlamat.Focus()
Else
tgl = MEtgl.Text
'Try
Call koneksi()
Dim str As String
str = "insert into
tbl_siswa(NISN,Nama,Alamat,Tgl_Lahir,Foto_Siswa,Nama_File,Path_File) values
(?,?,?,?,?,?,?)"
Dim cmd As New MySqlCommand(str, conn)
With cmd
.Parameters.Clear()
.Parameters.Add(New MySqlParameter("NISN", MySqlDbType.Text)).Value =
TxtNISN.Text ' NISN
.Parameters.Add(New MySqlParameter("Nama", MySqlDbType.Text)).Value =
TxtNama.Text ' Nama
.Parameters.Add(New MySqlParameter("Alamat", MySqlDbType.Text)).Value =
TxtAlamat.Text ' alamat
.Parameters.Add(New MySqlParameter("Tgl_Lahir", MySqlDbType.Date)).Value =
Format(tgl, "yyyy/MM/dd") ' tgl lahir
.Parameters.Add(New MySqlParameter("Foto_Siswa", MySqlDbType.Binary)).Value =
foto ' fot
.Parameters.Add(New MySqlParameter("Nama_File", MySqlDbType.Text)).Value =
TxtFoto.Text ' nama file foto
.Parameters.Add(New MySqlParameter("Path_File", MySqlDbType.Text)).Value =
LblFoto.Text ' lokasi file
.ExecuteNonQuery()
conn.Close()
End With
MessageBox.Show("Insert Data
Siswa Berhasil Dilakukan", "informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
'Catch
ex As Exception
'MessageBox.Show(ex.Message)
'End Try
End If
Call tampilSiswa()
Call input_nonaktif()
Call tombol_awal()
End Sub
Function getFotoByNISN(ByVal NISN As Integer) As Byte()
Call koneksi()
Dim foto(0) As Byte
Dim dc As MySqlCommand
Dim str As String = "select foto_siswa
from tbl_siswa where NISN=" & NISN
dc = New MySqlCommand(str, conn)
Dim dr As MySqlDataReader = dc.ExecuteReader
While dr.Read
foto = dr("foto_siswa")
End While
conn.Close()
Return foto
End Function
Sub aturDGV()
Try
dtgridSiswa.Columns(0).Width = 70
dtgridSiswa.Columns(1).Width = 100
dtgridSiswa.Columns(2).Width = 100
dtgridSiswa.Columns(3).Width = 80
dtgridSiswa.Columns(4).Width = 150
dtgridSiswa.Columns(5).Width = 150
dtgridSiswa.Columns(6).Width = 150
dtgridSiswa.Columns(7).Width = 100
dtgridSiswa.Columns(0).HeaderText =
"NISN"
dtgridSiswa.Columns(1).HeaderText =
"Nama"
dtgridSiswa.Columns(2).HeaderText =
"Alamat"
dtgridSiswa.Columns(3).HeaderText =
"Tanggal Lahir"
dtgridSiswa.Columns(4).HeaderText =
"Foto"
dtgridSiswa.Columns(5).HeaderText =
"Nama File"
dtgridSiswa.Columns(6).HeaderText =
"Path File"
dtgridSiswa.Columns(4).Visible = False
dtgridSiswa.Columns(5).Visible = False
dtgridSiswa.Columns(6).Visible = False
Catch ex As Exception
End Try
End Sub
Sub tampilSiswa()
Call koneksi()
da = New MySqlDataAdapter("select NISN, Nama,
Alamat, Tgl_Lahir, foto_siswa,Nama_File, Path_File from tbl_siswa", conn)
ds = New DataSet
da.Fill(ds, "tbl_siswa")
dtgridSiswa.DataSource = ds.Tables("tbl_siswa")
End Sub
Private Sub FrmSiswa_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call tampilSiswa()
Call aturDGV()
Call tombol_awal()
Call input_nonaktif()
End Sub
Sub tombol_awal()
BtnTambah.Enabled = True
BtnRefresh.Enabled = True
BtnBatal.Enabled = False
BtnSimpan.Enabled = False
BtnHapus.Enabled = False
BtnEdit.Enabled = False
BtnBrowse.Enabled = False
End Sub
Sub input_nonaktif()
TxtNISN.Enabled = False
TxtNama.Enabled = False
TxtAlamat.Enabled = False
MEtgl.Enabled = False
TxtFoto.Enabled = False
TxtFoto.Enabled = False
PBfoto.Image = Nothing
TxtCariNama.Enabled = True
TxtCariNISN.Enabled = True
End Sub
Sub input_aktif()
TxtNISN.Enabled = True
TxtNISN.ReadOnly = True
TxtNISN.ReadOnly = True
TxtNama.Enabled = True
TxtAlamat.Enabled = True
MEtgl.Enabled = True
TxtFoto.Enabled = True
TxtCariNama.Enabled = True
TxtCariNISN.Enabled = True
End Sub
Sub bersih()
TxtNISN.Text = ""
TxtNama.Text = ""
TxtAlamat.Text = ""
MEtgl.Text = Now
TxtFoto.Text = ""
PBfoto.Image = Nothing
TxtFoto.Text = ""
LblFoto.Text = ""
TxtCariNISN.Text = ""
TxtCariNama.Text = ""
End Sub
Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles BtnRefresh.Click
Call koneksi()
Call tampilSiswa()
End Sub
Sub NISNotomatis()
Call koneksi()
Dim tahun As String
tahun = Format(Now, "yyyy")
Dim DR As MySqlDataReader
cmd = New MySqlCommand("select * from
tbl_siswa where NISN in(select max(NISN) from tbl_siswa) order by NISN
desc", conn)
DR = cmd.ExecuteReader
DR.Read()
If DR.HasRows = 0 Then
TxtNISN.Text = tahun & "0001"
DR.Close()
End If
If Not DR.HasRows Then
TxtNISN.Text = tahun & "0001"
DR.Close()
Else
TxtNISN.Text =
Val(Microsoft.VisualBasic.Mid(DR.Item("NISN").ToString, 5, 4)) + 1
If Len(TxtNISN.Text) = 1 Then
TxtNISN.Text = tahun & "000" &
TxtNISN.Text
ElseIf Len(TxtNISN.Text) = 2 Then
TxtNISN.Text = tahun & "00" &
TxtNISN.Text
ElseIf Len(TxtNISN.Text) = 3 Then
TxtNISN.Text = tahun & "0" &
TxtNISN.Text
End If
DR.Close()
End If
End Sub
Private Sub BtnTambah_Click(sender As Object, e As EventArgs) Handles BtnTambah.Click
Call NISNotomatis()
Call input_aktif()
Call bersih()
Call NISNotomatis()
BtnSimpan.Enabled = True
BtnBatal.Enabled = True
BtnTambah.Enabled = False
BtnBrowse.Enabled = True
End Sub
Private Sub TxtCariNISN_TextChanged(sender As Object, e As EventArgs) Handles
TxtCariNISN.TextChanged
Call koneksi()
Dim RD As MySqlDataReader
cmd = New MySqlCommand("select * from
tbl_siswa where NISN like '%" &
TxtCariNISN.Text & "%'", conn)
RD = cmd.ExecuteReader
RD.Read()
If RD.HasRows Then
da = New MySqlDataAdapter("select * from
tbl_siswa where NISN like '%" &
TxtCariNISN.Text & "%'", conn)
ds = New DataSet
conn.Close()
da.Fill(ds, "ada")
dtgridSiswa.DataSource = ds.Tables("ada")
dtgridSiswa.ReadOnly = True
Else
da = New MySqlDataAdapter("select * from
tbl_siswa where NISN like '%" &
TxtCariNISN.Text & "%'", conn)
ds = New DataSet
conn.Close()
da.Fill(ds, "ada")
dtgridSiswa.DataSource = ds.Tables("ada")
dtgridSiswa.ReadOnly = True
End If
End Sub
Private Sub TxtCariNama_TextChanged(sender As Object, e As EventArgs) Handles
TxtCariNama.TextChanged
Call koneksi()
Dim RD As MySqlDataReader
cmd = New MySqlCommand("select * from
tbl_siswa where Nama like '%" &
TxtCariNama.Text & "%'", conn)
RD = cmd.ExecuteReader
RD.Read()
If RD.HasRows Then
da = New MySqlDataAdapter("select * from
tbl_siswa where Nama like '%" &
TxtCariNama.Text & "%'", conn)
ds = New DataSet
conn.Close()
da.Fill(ds, "ada")
dtgridSiswa.DataSource = ds.Tables("ada")
dtgridSiswa.ReadOnly = True
Else
da = New MySqlDataAdapter("select * from
tbl_siswa where Nama like '%" &
TxtCariNama.Text & "%'", conn)
ds = New DataSet
conn.Close()
da.Fill(ds, "ada")
dtgridSiswa.DataSource = ds.Tables("ada")
dtgridSiswa.ReadOnly = True
End If
End Sub
Private Sub dtgridSiswa_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dtgridSiswa.CellMouseClick
Dim st As New IO.MemoryStream(getFotoByNISN(dtgridSiswa.Rows(e.RowIndex).Cells(0).Value))
Dim bit As New Bitmap(st)
PBfoto.SizeMode = PictureBoxSizeMode.StretchImage
TxtNISN.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(0).Value
TxtNama.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(1).Value
TxtAlamat.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(2).Value
MEtgl.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(3).Value
PBfoto.Image = bit
LblFoto.Text = PBfoto.ImageLocation
TxtFoto.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(5).Value
LblFoto.Text =
dtgridSiswa.Rows(e.RowIndex).Cells(6).Value
BtnHapus.Enabled = True
BtnEdit.Enabled = True
BtnTambah.Enabled = False
BtnBatal.Enabled = True
Call input_aktif()
BtnBrowse.Enabled = True
End Sub
Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles BtnHapus.Click
Try
Call koneksi()
Dim str As String
str = "delete from tbl_siswa where NISN = '" & TxtNISN.Text & "'"
cmd = New MySqlCommand(str,
conn)
cmd.ExecuteNonQuery()
MessageBox.Show("Data Siswa
Berhasil Dihapus.")
Catch ex As Exception
MessageBox.Show("Data Siswa
Gagal Dihapus.")
End Try
Call tampilSiswa()
Call input_nonaktif()
Call tombol_awal()
End Sub
Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click
Dim tgl As Date
Dim foto() As Byte = IO.File.ReadAllBytes(LblFoto.Text)
tgl = MEtgl.Text
Try
Call koneksi()
Dim str As String
str = "update
tbl_siswa set Nama=?,Alamat=?,Tgl_Lahir=?,Foto_Siswa=?, Nama_File=?,
Path_File=? where NISN = '" & TxtNISN.Text
& "'"
Dim cmd As New MySqlCommand(str, conn)
With cmd
.Parameters.Clear()
.Parameters.Add(New MySqlParameter("Nama", MySqlDbType.Text)).Value =
TxtNama.Text ' Nama
.Parameters.Add(New MySqlParameter("Alamat", MySqlDbType.Text)).Value =
TxtAlamat.Text ' alamat
.Parameters.Add(New MySqlParameter("Tgl_Lahir", MySqlDbType.Text)).Value =
Format(tgl, "yyyy/MM/dd") ' tgl lahir
.Parameters.Add(New MySqlParameter("Foto_Siswa", MySqlDbType.Binary)).Value =
foto ' foto
.Parameters.Add(New MySqlParameter("Nama_File", MySqlDbType.Text)).Value =
TxtFoto.Text ' nama foto
.Parameters.Add(New MySqlParameter("Path_File", MySqlDbType.Text)).Value =
LblFoto.Text ' lokasi foto
.ExecuteNonQuery()
conn.Close()
End With
MessageBox.Show("Update Data
Siswa Berhasil Dilakukan", "informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Call tampilSiswa()
Call input_nonaktif()
Call tombol_awal()
End Sub
Private Sub BtnBatal_Click(sender As Object, e As EventArgs) Handles BtnBatal.Click
Call tampilSiswa()
Call tombol_awal()
Call input_nonaktif()
Call bersih()
End Sub
Private Sub BtnBrowse_Click(sender As Object, e As EventArgs) Handles BtnBrowse.Click
On Error Resume Next
OpenFileDialog1.Filter = "JPG files(*.jpg)|*.jpg|JPEG Files(*.jpeg)|*.jpeg|GIF
FIles(*.gif)|*.gif|PNG FIles(*.png)|*.png|BMP Files(*.bmp)|*.bmp|TIFF
Files(*.tiff)|*.tiff"
OpenFileDialog1.FileName = ""
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PBfoto.SizeMode = PictureBoxSizeMode.StretchImage
PBfoto.Image = New Bitmap(OpenFileDialog1.FileName)
pathfile = OpenFileDialog1.FileName
TxtFoto.Text =
pathfile.Substring(pathfile.LastIndexOf("\") + 1)
LblFoto.Text =
OpenFileDialog1.FileName
PBfoto.Image = Image.FromFile(LblFoto.Text)
End If
End Sub
End Class
Gan request program penilaiannya, tolong dikirim ke email dotnet1985@gmail.com. Thank's
ReplyDeleteBetarena Prediction – Betarena Prediction for December - Casinofib 1XBET 1XBET 우리카지노 우리카지노 9279Racecapper: Horse Racing Tips & Betting Offers
ReplyDelete