• Tidak ada hasil yang ditemukan

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()

Dalam dokumen RANCANG BANGUN SISTEM PRESENSI KARYAWAN (Halaman 61-83)

Dokumen terkait