Selasa, 21 Mei 2013

Penggajian Karyawan Menggunakan Listview


PENGGAJIAN KARYAWAN MENGGUNAKAN LISTVIEW


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        buatTabel()
        NIP.Items.Add("001")
        NIP.Items.Add("002")
        NIP.Items.Add("003")
        Jabatan.Items.Add("Mandor")
        Jabatan.Items.Add("Kepala Bagian")
        Jabatan.Items.Add("Staff")
        Status.Items.Add("Menikah")
        Status.Items.Add("Tidak Menikah")
        For i = 1 To 4
            J_Anak.Items.Add(i)
        Next i
        For i = 1 To 10
            J_Lembur.Items.Add(i)
        Next i
    End Sub

    Private Sub Jabatan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jabatan.SelectedIndexChanged
        Select Case Jabatan.Text
            Case "Mandor" : Gaji.Text = 1750000
            Case "Kepala Bagian" : Gaji.Text = 2500000
            Case "Staff" : Gaji.Text = 1250000
        End Select
        Pajak.Text = 0.015 * Gaji.Text
    End Sub
    Private Sub NIP_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIP.SelectedIndexChanged
        Select Case NIP.Text
            Case ("001") : Nama.Text = ("Rina")
            Case ("002") : Nama.Text = ("Erni")
            Case ("003") : Nama.Text = ("Liana")
            Case ("004") : Nama.Text = ("Rusli")
        End Select
    End Sub

    Private Sub Status_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Status.SelectedIndexChanged
        Select Case Status.Text
            Case "Menikah" : T_Istri.Text = 0.09 * Gaji.Text
            Case "Tidak Menikah" : T_Istri.Text = 0
        End Select
    End Sub

    Private Sub J_Anak_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles J_Anak.SelectedIndexChanged
        If J_Anak.Text = 1 And Status.Text = "Menikah" Then
            T_Anak.Text = 0.03 * Gaji.Text
        ElseIf J_Anak.Text >= 2 And Status.Text = "Menikah" Then
            T_Anak.Text = 0.07 * Gaji.Text
        Else
            T_Anak.Text = 0
        End If
    End Sub

    Private Sub Btn_Proses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Proses.Click
        If Jabatan.Text = "Mandor" Then
            U_Lembur.Text = 7500
        ElseIf Jabatan.Text = "Kepala Bagian" Then
            U_Lembur.Text = 10000
        ElseIf Jabatan.Text = "Staff" Then
            U_Lembur.Text = 5000
        Else
            U_Lembur.Text = 0
        End If
        Total.Text = Val(U_Lembur.Text * J_Lembur.Text) + Val(Gaji.Text) + Val(T_Istri.Text) + Val(T_Anak.Text)
    End Sub

    Private Sub Btn_Baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Baru.Click
        NIP.Text = ""
        Nama.Text = ""
        Jabatan.Text = ""
        Gaji.Text = ""
        Status.Text = ""
        T_Istri.Text = ""
        J_Anak.Text = ""
        T_Anak.Text = ""
        J_Lembur.Text = ""
        U_Lembur.Text = ""
        Pajak.Text = ""
        Total.Text = ""
    End Sub
    Sub buattabel()
        Lv.Columns.Add("Nik", 50, HorizontalAlignment.Left)
        LV.Columns.Add("Nama", 50, HorizontalAlignment.Left)
        LV.Columns.Add("Jabatan", 80, HorizontalAlignment.Left)
        LV.Columns.Add("Gaji", 80, HorizontalAlignment.Left)
        LV.Columns.Add("Status", 90, HorizontalAlignment.Left)
        LV.Columns.Add("Tunjangan istri", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Jumlah Anak", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Tunjangan Anak", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Jam Lembur", 60, HorizontalAlignment.Left)
        LV.Columns.Add("Honor lembur", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Pajak", 50, HorizontalAlignment.Left)
        Lv.Columns.Add("Total", 90, HorizontalAlignment.Left)
        Lv.View = View.Details
        Lv.GridLines = True
        Lv.FullRowSelect = True
    End Sub
    Sub isitabel()
        Dim lst As New ListViewItem
        lst.Text = NIP.Text
        lst.SubItems.Add(Nama.Text)
        lst.SubItems.Add(Jabatan.Text)
        lst.SubItems.Add(Gaji.Text)
        lst.SubItems.Add(Status.Text)
        lst.SubItems.Add(T_Istri.Text)
        lst.SubItems.Add(J_Anak.Text)
        lst.SubItems.Add(T_Anak.Text)
        lst.SubItems.Add(J_Lembur.Text)
        lst.SubItems.Add(U_Lembur.Text)
        lst.SubItems.Add(Pajak.Text)
        lst.SubItems.Add(Total.Text)
        Lv.Items.Add(lst)
    End Sub

    Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click
        isitabel()
    End Sub

    Private Sub Hapusdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapusdata.Click
        LV.Items.Clear()
    End Sub

    Private Sub Hapusdatadipilih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapusdatadipilih.Click
        LV.Items.Remove(LV.SelectedItems(0))
    End Sub
    Private Sub Keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Keluar.Click
        Me.Close()
    End Sub
   
   
End Class