BAB V PENUTUP
5.2 Saran
Aplikasi presensi ini memiliki kekurangan dimana karyawan yang telah melakukan prosesi kehadiran tidak mampu dideteksi manakala yang bersangkutan tidak melakukan prosesi pencatatan jam pulang kerja. Hal ini tentu mengganggu ketika bagian SDM memerlukan detail jam masuk dan jam pulang karyawan. Solusi yang dapat ditempuh adalah dengan melakukan sosialisasi kepada karyawan mengenai pentingnya melakukan prosesi presensi masuk dan presensi pulang, dan atau modifikasi aplikasi yang ada menjadi aplikasi yang lebih kompleks semisal menggunakan id-card, magnetic-card, finger-print dan lain
sebagainya yang mana saat ini memang belum dibutuhkan pihak STEI SEBI sehubungan dengan efisiensi anggaran untuk pengadaan perangkat terkait jumlah karyawan yang kurang dari 30 orang.
51
DAFTAR PUSTAKA
Albahra, L. b. (2005). Analisis Desain Sistem Informasi. Yogyakarta: Graha Ilmu. Al-Fatta, H. (2007). Analisis dan Perancangan Sistem Informasi untuk
Keunggulan Bersaing Perusahaan & Organisasi Modern. Yogyakarta: ANDI OFFSET.
Darmayuda, K. (2010). Pemrograman Aplikasi Database dengan Microsoft Visual Basic .Net 2008. Bandung: Penerbit Informatika.
Dhanta, R. (2009). Kamus Istilah Komputer, Grafis, dan Internet. Surabaya: Indah.
Fathansyah. (2001). Basis Data. Bandung: Informatika.
Hermawan, J. (2004). Analisa Desain dan Pemrograman Berorientasi Objek dengan UML dan Visual Basic .Net. Yogyakarta: Penerbit Andi.
Irawan, D. (2012, Maret 18). Warta Warga Gunadarma University. Dipetik April 13, 2012, dari Sistem Biometriks Absensi Karyawan Dalam Menunjang
Efektifitas Kinerja Perusahaan:
http://wartawarga.gunadarma.ac.id/2012/03/sistem-biometriks-absensi-karyawan-dalam-menunjang-efektifitas-kinerja-perusahaan/
Jogiyanto, H. (2005). Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Andi.
Jogiyanto, H. (1993). Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan. Yogyakarta: Andi Offset.
Kadir, A. (2003). Konsep & Tuntunan Praktis Basis Data. Yogyakarta: Penerbit Andi.
Kristanto, A. (2003). Perancangan Sistem Informasi dan Aplikasi. Yogyakarta: Gava Media.
Nugroho, A. (2004). Konsep Pengembangan Sistem Basis Data. Bandung: Informatika.
Oetomo, B. S. (2002). Perencanaan dan Pembangunan Sistem Informasi. Yogyakarta: Andi Offset.
52
Panggabean, M. S. (2002). Manajemen Sumber Daya Manusia. Bogor: Ghalia Indonesia.
Phan, D. (2005). Flow Map Layout. Stanford University InfoVis 2005 .
Pressman, R. S. (2002). Rekayasa Perangkat Lunak, Pendekatan Praktis (Buku Dua). Yogyakarta: Andi Publisher.
Romney, M., & Steinbart, P. (2006). Accounting Information Systems (10 ed.). New Jersey: Pearson Prentice Hall.
Suhendar, A., & Gunadi, H. (2002). Visual Modeling Menggunakan UML dan Rational Rose. Bandung: Informatika.
Tomy. (2008). Tip dan Trik Profesional MySQL 5. Jakarta: Elex Media Komputindo.
Wahana Komputer. (2011). Microsoft Visual Basic 2010 & MySQL untuk Aplikasi Point of Sales. Semarang: Penerbit Andi.
Yayasan Lembaga Sabda. (t.thn.). Kamus Kata Bahasa Indonesia. Dipetik April 8, 2012, dari Kamus Sabda: http://kamus.sabda.org
Public Class _01Login
Private Sub _01Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load altconnect() tbID.Focus() 'nambahin baru tbPIN.Enabled = False btnLogin.Enabled = False 'nambahin baru End Sub
'kode untuk timer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label2.Text = Format(Now, "dddd,___") Label3.Text = Format(Now, "dd") Label4.Text = Format(Now, "MMM") Label5.Text = Format(Now, "yyyy") Label6.Text = Format(Now, "HH:mm") Label7.Text = Format(Now, "ss") End Sub
'kode untuk timer
Private Sub btnPresence_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPresence.Click
Me.Hide()
_02Daftar_Kehadiran.Show() End Sub
Dim idstaf As String
Dim altdr As MySqlDataReader Dim altcmd As MySqlCommand Dim temptable As DataTable
Private Sub tbID_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbID.KeyPress If e.KeyChar = Chr(13) And tbID.Text <> "" Then 'nambahin baru
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idstaf='" & tbID.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
Select Case altdr.Item("idGrup") Case "3"
altdr.Close()
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tpresensi where idstaf='" & tbID.Text & "' AND tanggal= CURDATE() ", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
'jika hari ini sudah melakukan presensi, maka lakukan: tbPIN.Enabled = True
tbPIN.Focus()
btnLogin.Enabled = True Else
'jika hari ini belum melakukan presensi, maka lakukan: altdr.Close()
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idstaf='" & tbID.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
tbPIN.Text = altdr.Item("pin")
'kemudian setelah btnLogin ditekan akan muncul pesan "kedatangan anda sudah tercatat"
prosespresensi() End If Case "2" tbPIN.Enabled = True btnLogin.Enabled = True tbPIN.Focus() Case "1" tbPIN.Enabled = True btnLogin.Enabled = True tbPIN.Focus() End Select 'nambahin baru End If 'MsgBox("error") End Sub
'kode untuk nge-load data di kolom yg lain
Private Sub tbID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbID.TextChanged
btnPresence.Enabled = False Try
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idstaf='" & tbID.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
Dim gambar As New IO.MemoryStream(CType(altdr.Item("foto"), Byte())) PictureBox2.Image = Image.FromStream(gambar) Label1.Text = altdr.Item("nama") 'tbPIN.Focus() End If altdr.Close() Catch ex As Exception End Try End Sub
Private Sub tbPIN_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles tbPIN.Enter btnPresence.Enabled = False
End Sub
'kode untuk ngeload data di kolom yg lain
Private Sub tbPIN_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbPIN.KeyPress If e.KeyChar = Chr(13) Then
presensilogin() End If
End Sub
Public Sub presensilogin() Try
altdr.Close()
altcmd = New MySqlCommand("select * from tstaf where idstaf='" & tbID.Text & "' and pin='" & tbPIN.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
Select Case altdr.Item("idGrup") Case "3" _03Menu_Utama.ToolStripStatusLabel1.Text = "Karyawan" Case "2" _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Case "1" _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" End Select altdr.Close()
altdr.Read()
If altdr.HasRows Then afterlogin() Else
altdr.Close()
If Format(Now, "HH") < 8 And Format(Now, "mm") < 60 Then
altcmd = New MySqlCommand("INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), '00:00:00', '-', '17:00:00', '-')", altconn)
Else
altcmd = New MySqlCommand("INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), TIMEDIFF(CURTIME(),'08:00:00'), '-', '17:00:00', '-')", altconn)
End If altcmd.ExecuteNonQuery() afterlogin() End If Else tbID.Focus()
MsgBox("ID atau PIN yang anda masukkan masih salah") altdr.Close() End If Catch ex As MySqlException MsgBox(ex.Message) End Try End Sub 'presensi aja
Public Sub prosespresensi() Try
altcmd = New MySqlCommand("select * from tstaf where idstaf='" & tbID.Text & "' and pin='" & tbPIN.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
Select Case altdr.Item("idGrup") Case "3" _03Menu_Utama.ToolStripStatusLabel1.Text = "Karyawan" Case "2" _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Case "1" _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" End Select altdr.Close()
altcmd = New MySqlCommand("select * from tpresensi where tanggal = '" & Format(Now, "yyMMdd") & "' and idstaf = '" & tbID.Text & "' order by tanggal desc", altconn)
altdr = altcmd.ExecuteReader altdr.Read() If altdr.HasRows Then afterlogin() Else altdr.Close()
If Format(Now, "HH") < 8 And Format(Now, "mm") < 60 Then
altcmd = New MySqlCommand("INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), '00:00:00', '-', '17:00:00', '-')", altconn)
Else
altcmd = New MySqlCommand("INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), TIMEDIFF(CURTIME(),'08:00:00'), '-', '17:00:00', '-')", altconn)
End If altcmd.ExecuteNonQuery() 'nambahin baru btnLogin.Enabled = False tbID.Clear() tbPIN.Clear()
Label1.Text = "Nama Lengkap"
PictureBox2.Image = My.Resources.logo tbID.Focus()
End If Else
tbID.Focus()
MsgBox("ID atau PIN yang anda masukkan masih salah") altdr.Close() End If Catch ex As MySqlException MsgBox(ex.Message) End Try End Sub 'presensi aja Sub afterlogin() altdr.Close() Me.Hide() _03Menu_Utama.Show()
If _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" Then _03Menu_Utama.SuperuserToolStripMenuItem1.Visible = True _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = False _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = False ElseIf _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Then _03Menu_Utama.SuperuserToolStripMenuItem1.Visible = False _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = True _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = False Else _03Menu_Utama.SuperuserToolStripMenuItem1.Visible = False _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = False _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = True End If _03Menu_Utama.ToolStripStatusLabel2.Text = Label1.Text _03Menu_Utama.Label4.Text = tbID.Text End Sub
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
If tbID.Text = "" And tbPIN.Text = "" Then MsgBox("Anda belum mengisi ID dan PIN") tbID.Focus()
Else
presensilogin() End If
End Sub
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
altdr.Close() tbID.Clear() tbPIN.Clear()
Label1.Text = "Nama Lengkap"
PictureBox2.Image = My.Resources.logo tbID.Focus() 'nambahin baru tbPIN.Enabled = False btnLogin.Enabled = False 'nambahin baru btnPresence.Enabled = True End Sub
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
End End Sub End Class
Public Class _02Daftar_Kehadiran
Protected Overrides ReadOnly Property CreateParams() As CreateParams Get
Dim cp As CreateParams = MyBase.CreateParams Const CS_DBLCLKS As Int32 = &H8
Const CS_NOCLOSE As Int32 = &H200
cp.ClassStyle = CS_DBLCLKS Or CS_NOCLOSE Return cp
End Get End Property
Private Sub btnBack_Click(sender As System.Object, e As System.EventArgs) Handles btnBack.Click Me.Close()
_01Login.Show() _01Login.tbID.Clear() _01Login.tbPIN.Clear()
_01Login.Label1.Text = "Nama Lengkap"
_01Login.PictureBox2.Image = My.Resources.logo _01Login.tbID.Focus() 'nambahin baru _01Login.tbPIN.Enabled = False _01Login.btnLogin.Enabled = False 'nambahin baru End Sub
Private Sub _02Daftar_Hadir_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.daftarhadir() Me.daftarabsen() End Sub Sub daftarhadir() Try lvDaftarPresen.Items.Clear()
altcmd = New MySqlCommand("select tpresensi.idstaf as id, tstaf.nama as nama,
tpresensi.jammasuk as jam, tpresensi.telat as telat, tpresensi.ketmasuk as alasan from tstaf, tpresensi where tstaf.idstaf=tpresensi.idstaf and tpresensi.tanggal=CURDATE() and tstaf.idstaf <> '0000'",
altconn) altdr = altcmd.ExecuteReader While (altdr.Read()) With lvDaftarPresen.Items.Add(altdr.Item("id")) .subitems.add(altdr("nama")) .subitems.add(altdr("jam").ToString) .subitems.add(altdr("telat").ToString) .subitems.add(altdr("alasan")) End With End While altdr.Dispose() altdr.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub Sub daftarabsen() Try lvDaftarAbsen.Items.Clear()
'altcmd = New MySqlCommand("select tpresensi.idstaf as id, tstaf.nama as nama, tstaf.alamat as alamat from tstaf, tpresensi where tstaf.idstaf=tpresensi.idstaf and tpresensi.tanggal=CURDATE()", altconn)
altcmd = New MySqlCommand("select idstaf, nama, alamat from tstaf where idstaf not in (select idstaf from tpresensi where tanggal=curdate()) and idstaf <> '0000'", altconn)
altdr = altcmd.ExecuteReader While (altdr.Read())
End With End While altdr.Dispose() altdr.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class
Public Class _03Menu_Utama
'kode untuk menonaktifkan tombol "x"
Protected Overrides ReadOnly Property CreateParams() As CreateParams Get
Dim cp As CreateParams = MyBase.CreateParams Const CS_DBLCLKS As Int32 = &H8
Const CS_NOCLOSE As Int32 = &H200
cp.ClassStyle = CS_DBLCLKS Or CS_NOCLOSE Return cp
End Get End Property
'kode untuk menonaktifkan tombol "x"
Private Sub btnBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click
Me.Close() _01Login.Show() _01Login.tbID.Clear() _01Login.tbPIN.Clear()
_01Login.Label1.Text = "Nama Lengkap"
_01Login.PictureBox2.Image = My.Resources.logo _01Login.tbID.Focus() 'nambahin baru _01Login.tbPIN.Enabled = False _01Login.btnLogin.Enabled = False _01Login.btnPresence.Enabled = True 'nambahin baru End Sub
'kode untuk timer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ToolStripStatusLabel3.Text = Format(Now, "dd/MM/yy HH:mm:ss") If Format(Now, "dd") <= 26 Then
If Month(Now) = 1 Then
Label8.Text = "27 " & MonthName(12) & " " & Year(Now) - 1 & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)
Else
Label8.Text = "27 " & MonthName(Month(Now) - 1) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)
End If Else
If Month(Now) = 12 Then
Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(1) & " " & Year(Now) + 1
Else
Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now) + 1) & " " & Year(Now)
End If End If End Sub
'kode untuk timer
Private Sub _03Menu_Utama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
datapresensi()
altcmd = New MySqlCommand("select hour(telat) as jam, minute(telat) as menit, ketmasuk, jampulang, ketpulang from tpresensi where idstaf='" & _01Login.tbID.Text & "' and tanggal = '" & Format(Now, "yyMMdd") & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read() If altdr.HasRows Then If altdr.Item("jampulang").ToString <> "17:00:00" Then btnUpdatePulang.Enabled = False TextBox2.Enabled = False
End If
Label11.Text = altdr.Item("jam") & " Jam " & altdr.Item("menit") & " Menit" TextBox1.Text = altdr.Item("ketmasuk")
TextBox2.Text = altdr.Item("ketpulang") End If
altdr.Close() End Sub
Private Sub btnUpdateAlasanTelat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateAlasanTelat.Click
altcmd = New MySqlCommand("UPDATE tpresensi SET tpresensi.ketmasuk='" & Replace(TextBox1.Text, "'", "''") & "' where tpresensi.idstaf='" & _01Login.tbID.Text & "' and tanggal = '" & Format(Now, "yyMMdd") & "'", altconn)
altcmd.ExecuteNonQuery() TextBox1.Text = "-" datapresensi() End Sub Sub datapresensi() Try lvPresensi.Items.Clear() If Format(Now, "dd") <= 26 Then If Month(Now) = 1 Then
'Label8.Text = "27 " & MonthName(12) & " " & Year(Now) - 1 & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)
altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &
_01Login.tbID.Text & " and tanggal between '" & Year(Now) - 1 & "-12-27' and '" & Year(Now) & "-" & Month(Now) & "-26' order by tanggal desc", altconn)
Else
'Label8.Text = "27 " & MonthName(Month(Now) - 1) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)
altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &
_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) - 1 & "-27' and '" & Year(Now) & "-" & Month(Now) & "-26' order by tanggal desc", altconn)
End If Else
If Month(Now) = 12 Then
'Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(1) & " " & Year(Now) + 1
altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &
_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) & "-27' and '" & Year(Now) + 1 & "-01-26' order by tanggal desc", altconn)
Else
'Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now) + 1) & " " & Year(Now)
altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &
_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) & "-27' and '" & Year(Now) & "-" & Month(Now) + 1 & "-26' order by tanggal desc", altconn)
End If End If altdr = altcmd.ExecuteReader While (altdr.Read()) With lvPresensi.Items.Add(altdr.Item("tanggal")) .subitems.add(altdr("jammasuk").ToString) .subitems.add(altdr("telat").ToString) .subitems.add(altdr("ketmasuk")) .subitems.add(altdr("jampulang").ToString) .subitems.add(altdr("ketpulang")) End With End While altdr.Dispose() altdr.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Dim cmd As New MySqlCommand("UPDATE tpresensi SET jampulang=CURTIME(), ketpulang='" &
Replace(TextBox2.Text, "'", "''") & "' where idpresensi='" & Format(Now, "yyMMdd") + _01Login.tbID.Text & "'", altconn) cmd.ExecuteNonQuery() TextBox2.Text = "-" datapresensi() btnUpdatePulang.Enabled = False End Sub
Private Sub KelolaDataPribadiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem.Click
_04Data_Pribadi.ShowDialog() End Sub
Private Sub KelolaDataPribadiToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem1.Click
_04Data_Pribadi.ShowDialog() End Sub
Private Sub KelolaDataPribadiToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem2.Click
_04Data_Pribadi.ShowDialog() End Sub
Private Sub UbahPINToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem.Click
_05Ubah_PIN.ShowDialog() End Sub
Private Sub UbahPINToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem1.Click
_05Ubah_PIN.ShowDialog() End Sub
Private Sub UbahPINToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem2.Click
_05Ubah_PIN.ShowDialog() End Sub
Private Sub TambahAdminSDMToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ManajemenAdminSDMToolStripMenuItem.Click
_06Tambah_Admin.ShowDialog() End Sub
Private Sub TambahDataKaryawanToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles TambahDataKaryawanToolStripMenuItem.Click
_07Tambah_Karyawan.ShowDialog() End Sub
Imports System.Drawing.Bitmap Public Class _04Data_Pribadi Dim strimagename As String Dim imgbyte As Byte = Nothing Dim rawdata() As Byte
Dim filesize As UInteger Dim fs As FileStream Dim gantifoto As Boolean
'kode untuk menonaktifkan tombol "x"
Protected Overrides ReadOnly Property CreateParams() As CreateParams Get
Dim cp As CreateParams = MyBase.CreateParams Const CS_DBLCLKS As Int32 = &H8
Const CS_NOCLOSE As Int32 = &H200
cp.ClassStyle = CS_DBLCLKS Or CS_NOCLOSE Return cp
End Get End Property
'kode untuk menonaktifkan tombol "x" Dim id As String
Sub enable(ByVal root As Control, ByVal state As Boolean) For Each ctrl As Control In root.Controls
'enable(ctrl, state)
If TypeOf ctrl Is TextBox Then
CType(ctrl, TextBox).Enabled = state End If Next ctrl DateTimePicker1.Enabled = state ComboBox1.Enabled = state btnUpdateFoto.Enabled = state End Sub
Private Sub _04Data_Pribadi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load altconnect() datakaryawan() enable(Me, False) btnUpdateData.Text = "Update" End Sub
Public Sub datakaryawan() Try
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idstaf='" & _01Login.tbID.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
id = altdr.Item("idstaf") GroupBox1.Text = "ID : " & id
Dim gambar As New IO.MemoryStream(CType(altdr.Item("foto"), Byte())) PictureBox1.Image = Image.FromStream(gambar) TextBox1.Text = altdr.Item("nama") ComboBox1.Text = altdr.Item("jenisKelamin") If ComboBox1.Text = 0 Then ComboBox1.Text = "Wanita" Else ComboBox1.Text = "Pria" End If TextBox2.Text = altdr.Item("tempatLahir") DateTimePicker1.Text = Convert.ToDateTime(altdr.Item("tanggalLahir")) TextBox4.Text = altdr.Item("alamat") TextBox5.Text = altdr.Item("telfon") End If altdr.Close()
Private Sub btnUpdateFoto_Click(sender As System.Object, e As System.EventArgs) Handles btnUpdateFoto.Click
On Error Resume Next
OpenFileDialog1.Filter = "Supported files|*.jpg;*.png" OpenFileDialog1.ShowDialog() PictureBox1.Load(OpenFileDialog1.FileName) strimagename = OpenFileDialog1.FileName PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage gantifoto = True End Sub
Private Sub btnUpdateData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateData.Click
Dim jk As Char
Dim mstream As New System.IO.MemoryStream()
'PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg) //jum'at Dim arrImage() As Byte = mstream.GetBuffer()
If btnUpdateData.Text = "Update" Then enable(Me, True)
btnUpdateData.Text = "Simpan" Else
If ComboBox1.SelectedItem = "Wanita" Then jk = "0"
Else
jk = "1" End If
If gantifoto = True Then
altcmd = New MySqlCommand("UPDATE tstaf SET nama='" & TextBox1.Text & _ "', jenisKelamin='" & jk & _
"', tempatLahir='" & TextBox2.Text & _
"', tanggalLahir='" & Format(DateTimePicker1.Value, "yyyy-MM-dd") & _
"', alamat ='" & TextBox4.Text & _ "', telfon='" & TextBox5.Text & _
"', foto = @File where idstaf='" & id & "'", altconn)
altcmd.Parameters.AddWithValue("@File", IO.File.ReadAllBytes(OpenFileDialog1.FileName)) Else
altcmd = New MySqlCommand("UPDATE tstaf SET nama='" & TextBox1.Text & _ "', jenisKelamin='" & jk & _
"', tempatLahir='" & TextBox2.Text & _
"', tanggalLahir='" & Format(DateTimePicker1.Value, "yyyy-MM-dd") & _
"', alamat ='" & TextBox4.Text & _
"', telfon='" & TextBox5.Text & "' where idstaf='" & id & "'", altconn) End If altcmd.ExecuteNonQuery() btnUpdateData.Text = "Update" enable(Me, False) End If End Sub
Private Sub btnUpdatePin_Click(sender As System.Object, e As System.EventArgs) _05Ubah_PIN.ShowDialog()
End Sub
Private Sub btnTutupDataPribadi_Click(sender As System.Object, e As System.EventArgs) Handles btnTutupDataPribadi.Click
Me.Close() End Sub
Public Class _05Ubah_PIN
Private Sub _05Ubah_PIN_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TextBox1.Focus()
End Sub
Private Sub TextBox3_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If e.KeyChar = Chr(13) Then ubahpin() End Sub
Private Sub btnUbah_Click(sender As System.Object, e As System.EventArgs) Handles btnUbah.Click ubahpin()
End Sub
Public Sub ubahpin()
If TextBox2.Text = "" Or TextBox3.Text = "" Then
MsgBox("PIN baru tidak boleh kosong", MsgBoxStyle.Critical) Else
altcmd = New MySqlCommand("select * from tstaf where idstaf='" & _01Login.tbID.Text & "' and pin='" & TextBox1.Text & "'", altconn)
altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
If TextBox2.Text <> TextBox3.Text Then
MsgBox("PIN yang anda masukkan tidak sama") TextBox2.Clear()
TextBox2.Focus() TextBox3.Clear() Else
altcmd = New MySqlCommand("UPDATE tstaf SET pin='" & TextBox2.Text & "' where idstaf='" & _01Login.tbID.Text & "'", altconn)
altdr.Close()
altcmd.ExecuteNonQuery()
MsgBox("PIN lama anda sudah diubah") Me.Close() TextBox1.Clear() TextBox1.Focus() TextBox2.Clear() TextBox3.Clear() End If Else
MsgBox("PIN lama yang anda masukkan masih salah") TextBox1.Clear() TextBox1.Focus() TextBox2.Clear() TextBox3.Clear() End If altdr.Close() End If End Sub
Private Sub btnBatalUbahPIN_Click(sender As System.Object, e As System.EventArgs) Handles btnBatalUbahPIN.Click
Me.Close() End Sub
Private Sub btnTambahAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnTambahAdmin.Click
Dim mstream As New System.IO.MemoryStream() Dim arrImage() As Byte = mstream.GetBuffer()
altcmd = New MySqlCommand("INSERT INTO tstaf(idstaf, pin, nama, jenisKelamin, tempatLahir, tanggalLahir, alamat, telfon, idgrup, foto) values('" & tbIDAdmin.Text & "','" & tbPINAdmin.Text & "','" & tbNamaAdmin.Text & "', 1, '-', 2013-01-01, '-', '-', 2, @foto)", altconn)
altcmd.Parameters.AddWithValue("@foto", IO.File.ReadAllBytes("../../Resources/logo.png")) altcmd.ExecuteNonQuery() altcmd.Dispose() MsgBox("Added") Me.filllistview() tbIDAdmin.Clear() End Sub
Private Sub _06Tambah_Admin_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.filllistview() btnPerbaruiAdmin.Enabled = False btnHapusAdmin.Enabled = False tbNamaAdmin.Text = "Admin SDM" tbPINAdmin.Text = "1231" End Sub Sub filllistview() Try ListView1.Items.Clear()
altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idgrup=2", altconn) altdr = altcmd.ExecuteReader While (altdr.Read()) With ListView1.Items.Add(altdr("idstaf")) .subitems.add(altdr("nama")) .subitems.add(altdr("pin")) End With End While altcmd.Dispose() altdr.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Private Sub ListView1_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick With ListView1.SelectedItems(0) tbIDAdmin.Text = .SubItems(0).Text tbIDAdmin.Enabled = False tbNamaAdmin.Text = .SubItems(1).Text tbPINAdmin.Text = .SubItems(2).Text btnTambahAdmin.Enabled = False btnPerbaruiAdmin.Enabled = True btnHapusAdmin.Enabled = True End With End Sub
Private Sub btnPerbaruiAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnPerbaruiAdmin.Click
altcmd = New MySql.Data.MySqlClient.MySqlCommand("update tstaf set nama = '" & tbNamaAdmin.Text & "', pin = '" & tbPINAdmin.Text & "' where idstaf = '" & tbIDAdmin.Text & "'", altconn)
altcmd.ExecuteNonQuery() altcmd.Dispose()
MsgBox("Updated")
btnHapusAdmin.Enabled = False Me.filllistview()
tbIDAdmin.Clear()
tbNamaAdmin.Text = "Admin SDM" tbPINAdmin.Text = "1231" End Sub
Private Sub btnHapusAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnHapusAdmin.Click
altcmd = New MySql.Data.MySqlClient.MySqlCommand("delete from tstaf where idstaf = '" & tbIDAdmin.Text & "'", altconn)
altcmd.ExecuteNonQuery() altcmd.Dispose() MsgBox("Deleted") btnHapusAdmin.Enabled = True Me.filllistview() btnTambahAdmin.Enabled = True btnPerbaruiAdmin.Enabled = False tbIDAdmin.Enabled = True tbIDAdmin.Clear() tbNamaAdmin.Text = "Admin SDM" tbPINAdmin.Text = "1231" End Sub
Private Sub btnResetAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnResetAdmin.Click btnHapusAdmin.Enabled = False Me.filllistview() btnTambahAdmin.Enabled = True btnPerbaruiAdmin.Enabled = False tbIDAdmin.Enabled = True tbIDAdmin.Clear() tbNamaAdmin.Text = "Admin SDM" tbPINAdmin.Text = "1231" End Sub
Private Sub btnTutupAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnTutupAdmin.Click
Me.Close() End Sub
Private Sub btnTambahKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnTambahKaryawan.Click
Dim mstream As New System.IO.MemoryStream()