Rabu, 10 Desember 2014

[Tugas Pemrograman Visual] Aplikasi Penggajian Karyawan Menggunakan VB.Net

Selamat siang

Membuat sebuah program penggajian karyawan tidaklah sulit. Berikut ini saya akan bagikan kepada teman semua sourcecode yang telah saya pelajari. Untuk pertama, silakan desain terlebih dahulu form project yang tersedia.


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        NIK.Items.Add("PM010")
        NIK.Items.Add("PS111")
        NIK.Items.Add("KU101")
        NIK.Items.Add("GD100")
        NIK.Items.Add("PM011")

        jabatan.Items.Add("Kepala Dinas")
        jabatan.Items.Add("Staf")
        jabatan.Items.Add("Wakil Kepala")

        status.Items.Add("Menikah")
        status.Items.Add("Beum Menikah")

        perulangan()
    End Sub

    Sub perulangan()
        Dim a As Integer
        For a = 5 To 0 Step -1
            jumlah_anak.Items.Add(a)
        Next
    End Sub

    Private Sub NIK_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIK.SelectedIndexChanged
        Select Case NIK.Text
            Case ("PM010")
                nama.Text = "Duta"
                jabatan.Text = "Kepala Dinas"
                status.Text = "Menikah"
            Case ("PS111")
                nama.Text = "Abdi"
                jabatan.Text = "Staf"
                status.Text = "Belum Menikah"
            Case ("KU101")
                nama.Text = "Saka"
                jabatan.Text = "Wakil Kepala"
                status.Text = "Menikah"
            Case ("GD100")
                nama.Text = "Arief"
                jabatan.Text = "Staf"
                status.Text = "Menikah"
            Case ("PM011")
                nama.Text = "Kiki"
                jabatan.Text = "Staf"
                status.Text = "Belum Menikah"
        End Select
        x()
    End Sub

    Sub x()
        Dim i As String
        i = Microsoft.VisualBasic.Left(nik.Text, 2)
        If i = "PM" Then
            bagian.Text = "Pemesanan"
        ElseIf i = "PS" Then
            bagian.Text = "Personalia"
        ElseIf i = "KU" Then
            bagian.Text = "Keuangan"
        ElseIf i = "GD" Then
            bagian.Text = "Gudang"
        End If
    End Sub

    Private Sub Jabatan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jabatan.SelectedIndexChanged

        If NIK.Text = "" And Nama.Text = "" And Bagian.Text = "" Then
            MsgBox("Maaf, Harap Di Isi NIK Anda")
            jabatan.Items.Clear()
        Else
            Select Case Jabatan.Text
                Case ("Kepala Dinas")
                    gaji_pokok.Text = 5000000
                Case ("Staf")
                    gaji_pokok.Text = 2000000
                Case ("Wakil Kepala")
                    gaji_pokok.Text = 3500000
            End Select
            pajak.Text = 0.1 * gaji_pokok.Text
        End If

    End Sub

    Private Sub Status_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles status.SelectedIndexChanged
        If Jabatan.Text = "" And Gaji_Pokok.Text = "" And Pajak.Text = "" Then
            MsgBox("Maaf, Harap Di Isi Jabatan Anda")
            status.Items.Clear()
        Else
            y()
        End If
    End Sub

    Sub y()
        If status.Text = "Menikah" Then
            jumlah_anak.Enabled = True
            tunjangan_anak.Enabled = True
            tunjangan_keluarga.Enabled = True
            tunjangan_keluarga.Text = 0.05 * gaji_pokok.Text
            tunjangan_anak.Text = ""
            jumlah_anak.Text = ""
            tunjangan_anak.Text = ""
        Else
            tunjangan_keluarga.Text = "0"
            tunjangan_anak.Text = "0"
            tunjangan_keluarga.Enabled = False
            tunjangan_anak.Enabled = False
            jumlah_anak.Enabled = False
            total_gaji.Enabled = True
            jumlah_anak.Text = "0"
            total_gaji.Text = Val(gaji_pokok.Text) - pajak.Text
        End If
    End Sub

    Private Sub Jumlah_anak_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jumlah_anak.SelectedIndexChanged

        If status.Text = "" Then
            MsgBox("Maaf, Harap Di Isi Status Anda")
            jumlah_anak.Items.Clear() : perulangan()
        Else
            If jumlah_anak.Text = 1 Then
                tunjangan_anak.Text = 0.05 * gaji_pokok.Text
            ElseIf jumlah_anak.Text >= 2 Then
                tunjangan_anak.Text = 0.1 * gaji_pokok.Text
            Else
                tunjangan_anak.Text = 0
                tunjangan_anak.Enabled = False
            End If
            total()
        End If
    End Sub

    Sub total()
        total_gaji.Text = Val(gaji_pokok.Text) + Val(tunjangan_keluarga.Text) + Val(tunjangan_anak.Text) - pajak.Text
    End Sub

    Sub batal()
        NIK.Text = ""
        Nama.Text = ""
        Bagian.Text = ""
        Jabatan.Text = ""
        Gaji_Pokok.Text = ""
        Pajak.Text = ""
        Status.Text = ""
        jumlah_anak.Text = ""
        tunjangan_Keluarga.Text = ""
        Tunjangan_Anak.Text = ""
        Total_Gaji.Text = ""
    End Sub

    Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbatal.Click
        batal()
    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        Me.Close()
    End Sub
End Class

Maka, jika dijalankan hasilnya akan seperti ini.


Namun, jika salah satu combobox tidak diisi terlebih dahulu maka hasilnya akan terlihat seperti ini.

Sekian informasi dari saya. Semoga bermanfaat.



Subscribe to Our Blog Updates!




Share this article!

Tidak ada komentar:

Posting Komentar

Return to top of page
Powered By Blogger | Design by Genesis Awesome | Blogger Template by Lord HTML