Kamis, 30 Oktober 2014

Data Gaji Karyawan (Tugas Pertemuan 6)



Saya akan membuat aplikasi untuk menghitung gaji perusahaan utnutk tugas pertemuan 6 ini. Lanngkah pertama membuat splash terlebih dahulu. Tampilan sebagai berikut :







Public Class FormSplash

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FormLogin.Show()
    End Sub
End Class
Pada tombol Log in kemudian akan muncul form yang memunculkan untk mengisi username dan password yang menandakan kita adalah sebagai karyawan di prusahaan CMY tersebut atau bukan





Public Class FormLogin

    Sub bersihkan()
        ComboBox1.Text = ""
        ComboBox1.Text = ""
        ComboBox1.Focus()
    End Sub


    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If (ComboBox1.Text = "ambarwati" And Txtpassword.Text = "001") Then
            MDIParent1.Show()
            Me.Close()
        Else
            MsgBox("Username atau Password yang Anda Masukkan Salah!", , "Peringatan")
            Call bersihkan()
        End If
    End Sub

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim x As Integer
        x = MsgBox("Apakah Anda yakin ingin keluar dari aplikasi?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Konfirmasi")
        If x = vbYes Then
            Me.Close()
            FormSplash.Close()
        End If
    End Sub
End Class
setelah akun yang dimiliki benar maka muncul form untuk pengisian data gaji karyawaan sebagai berikut :



Imports Microsoft.Office.Interop.Word

Public Class Form3
    Sub bersih()
        TextBoxNIP.Text = ""
        TextBoxNama.Text = ""
        TextBoxJabatan.Text = ""
        TextBoxGapok.Text = ""
        TextBoxAnggota.Text = ""
        ComboBoxStatus.Text = ""
        TextBoxTunjIstriSuami.Text = ""
        TextBoxTunjAnak.Text = ""
        TextBoxTunjKesehatan.Text = ""
        ComboBoxGol.Text = ""
        ComboBoxJmlAnak.Text = ""
    End Sub

    Function tunjanganistrisuami()
        If ComboBoxStatus.Text = "Lajang" Then
            tunjanganistrisuami = 0
        ElseIf ComboBoxStatus.Text = "Menikah" Then
            tunjanganistrisuami = 8 / 100 * TextBoxGapok.Text
        End If
    End Function

    Function tunjangananak(ByVal jumlahanak)
        'Dim jumlahanak As Integer
        If ComboBoxStatus.Text = "Menikah" Then
            If (jumlahanak = "0") Then
                tunjangananak = 0
            ElseIf (jumlahanak = "1") Then
                tunjangananak = TextBoxGapok.Text * 10 / 100
            ElseIf (jumlahanak = "2") Then
                tunjangananak = TextBoxGapok.Text * 10 / 100 * 2
            ElseIf (jumlahanak = "3") Then
                tunjangananak = TextBoxGapok.Text * 10 / 100 * 3
            Else
                tunjangananak = TextBoxGapok.Text * 10 / 100 * 3
            End If
        Else
            MsgBox("Terjadi Kesalahan Pada Status Anda!", , "Peringatan")
        End If
    End Function

    Private Sub ButtonMulai_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonMulai.Click
        Call bersih()
    End Sub

    Private Sub ButtonHitung_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonHitung.Click
        Dim kelasgaji As ClassGaji
        kelasgaji = New ClassGaji

        LabelGaKot.Text = kelasgaji.gajikotor(TextBoxGapok.Text, TextBoxTunjIstriSuami.Text, TextBoxTunjAnak.Text, TextBoxTunjKesehatan.Text)

        Dim penghasilannetto As Integer
        Dim pkp As Integer
        Dim pph21 As Integer

        penghasilannetto = LabelGaKot.Text - (0.05 * LabelGaKot.Text)

        If ComboBoxStatus.Text = "Lajang" Then
            pkp = penghasilannetto - 2025000
            pph21 = 0.05 * pkp
            Labelpph.Text = pph21
        ElseIf ComboBoxStatus.Text = "Menikah" Then
            If ComboBoxJmlAnak.Text = "1" Then
                pkp = penghasilannetto - 2025000 - 168750 - 168750
                pph21 = 0.05 * pkp
                Labelpph.Text = pph21
            ElseIf ComboBoxJmlAnak.Text = "2" Then
                pkp = penghasilannetto - 2025000 - 168750 - 168750
                pph21 = 0.05 * pkp
                Labelpph.Text = pph21
            ElseIf ComboBoxJmlAnak.Text = "3" Then
                pkp = penghasilannetto - 2025000 - 168750 - 168750
                pph21 = 0.05 * pkp
                Labelpph.Text = pph21
            Else
                pkp = penghasilannetto - 2025000 - 168750 - 168750
                pph21 = 0.05 * pkp
                Labelpph.Text = pph21
            End If
        End If

        Labelgaber.Text = Val(LabelGaKot.Text) - Val(Labelpph.Text)
    End Sub

    Private Sub ComboBoxGol_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBoxGol.SelectedIndexChanged
        Dim kelasgaji As ClassGaji
        kelasgaji = New ClassGaji

        TextBoxJabatan.Text = kelasgaji.jabatan(ComboBoxGol.Text)
        TextBoxGapok.Text = kelasgaji.gajipokok(ComboBoxGol.Text)
    End Sub

    Private Sub ComboBoxStatus_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBoxStatus.SelectedIndexChanged
        TextBoxTunjIstriSuami.Text = tunjanganistrisuami()
    End Sub

    Private Sub TextBoxAnggota_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBoxAnggota.TextChanged
        Dim kelasgaji As ClassGaji
        kelasgaji = New ClassGaji
        TextBoxTunjKesehatan.Text = kelasgaji.tunjangankesehatan(TextBoxAnggota.Text)
    End Sub

    Private Sub ComboBoxJmlAnak_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBoxJmlAnak.SelectedIndexChanged
        TextBoxTunjAnak.Text = tunjangananak(ComboBoxJmlAnak.Text)
    End Sub

    Private Sub ButtonSelesai_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonSelesai.Click
        Dim x As Integer
        x = MsgBox("Apakah Anda yakin ingin keluar dari program?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Konfirmasi")
        If x = vbYes Then
            Me.Close()
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim myapp As New Microsoft.Office.Interop.Word.Application
        Dim mybook As New Microsoft.Office.Interop.Word.Document
        mybook = myapp.Documents.Open("D:\ambar\datagajikaryawan.doc")

        mybook.Bookmarks("nama") = TextBoxNama.Text
        mybook.Bookmarks("NIP") = TextBoxNIP.Text
        mybook.Bookmarks("golongan") = ComboBoxGol.Text
        mybook.Bookmarks("jabatan") = TextBoxJabatan.Text
        mybook.Bookmarks("gapok") = TextBoxGapok.Text
        mybook.Bookmarks("status") = ComboBoxStatus.Text
        mybook.Bookmarks("jumnak") = ComboBoxJmlAnak.Text
        mybook.Bookmarks("jmkel") = TextBoxAnggota.Text
        mybook.Bookmarks("tunis") = TextBoxTunjIstriSuami.Text
        mybook.Bookmarks("tunak") = TextBoxTunjAnak.Text
        mybook.Bookmarks("tukes") = TextBoxTunjKesehatan.Text
  mybook.Bookmarks("gator") = LabelGaKot.Text
        mybook.Bookmarks("pph21") = Labelpph.Text
        mybook.Bookmarks("gaber") = Labelgaber.Text


        myapp.Quit()
    End Sub

End Class
Automaion yang saya buat pada aplikasi ini adalah pada microsoft word jadi saya membuat un  peyimpanan data tersebut pada ms.word sbg berikut

tuk tempat



Kemudian tersedia menu-menu yang sayabuat pada MDIparent yang berupa menustrip untuk menampilkan data, menginput, mengedit dsb berikut adalah menu-menu yang saya buat pada mdi parent berseta codenya


Imports System.Windows.Forms

Public Class MDIParent1
    Dim frm1 As New Form3
    Dim frm2 As New FormOpen

    Private Sub ShowNewForm(ByVal sender As Object, ByVal e As EventArgs) Handles NewToolStripMenuItem.Click, NewToolStripButton.Click, NewWindowToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.Show()
    End Sub

    Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ExitToolStripMenuItem.Click
        Me.Close()
        formsplash.Close()
    End Sub

    Private Sub CutToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CutToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.Cut()
    End Sub

    Private Sub CopyToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CopyToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.Copy()
    End Sub

    Private Sub PasteToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PasteToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.Paste()
    End Sub

    Private Sub ToolBarToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ToolBarToolStripMenuItem.Click
        Dim nofile As Integer
        nofile = FreeFile()

        FileOpen(nofile, "D:\Pengantar Pemrograman Bisnis 1\Tugas Akhir VB\gajitugas4.csv", OpenMode.Input)
        frm2.MdiParent = Me

        frm2.RichTextBox1.Text = InputString(nofile, LOF(nofile))
        frm2.Show()
    End Sub


    Private Sub CascadeToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CascadeToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.Cascade)
    End Sub

    Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles TileVerticalToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileVertical)
    End Sub

    Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles TileHorizontalToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileHorizontal)
    End Sub

    Private Sub ArrangeIconsToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ArrangeIconsToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.ArrangeIcons)
    End Sub

    Private Sub CloseAllToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CloseAllToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.Hide()
    End Sub

    Private Sub UndoToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles UndoToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.Undo()
    End Sub

    Private Sub RedoToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles RedoToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.ClearUndo()
    End Sub

    Private Sub SelectAllToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SelectAllToolStripMenuItem.Click
        frm1.MdiParent = Me
        frm1.TextBoxAnggota.SelectAll()
    End Sub

    Private Sub OpenToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles OpenToolStripMenuItem.Click
        Dim nofile As Integer
        nofile = FreeFile()

        FileOpen(nofile, "D:\Pengantar Pemrograman Bisnis 1\Tugas Akhir VB\gajitugas4.csv", OpenMode.Input)
        frm2.MdiParent = Me

        frm2.RichTextBox1.Text = InputString(nofile, LOF(nofile))
        frm2.Show()
    End Sub

    Private Sub OpenToolStripButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles OpenToolStripButton.Click
        Dim nofile As Integer
        nofile = FreeFile()

        FileOpen(nofile, "D:\Pengantar Pemrograman Bisnis 1\Tugas Akhir VB\gajitugas4.csv", OpenMode.Input)
        frm2.MdiParent = Me

        frm2.RichTextBox1.Text = InputString(nofile, LOF(nofile))
        frm2.Show()
    End Sub

    Private Sub CloseToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CloseToolStripMenuItem.Click
        frm1.MdiParent = Me
        Dim x As Integer
        x = MsgBox("Apakah Anda yakin ingin keluar dari program?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Konfirmasi")
        If x = vbYes Then
            Me.Hide()
            FormSplash.Close()
        End If
    End Sub
End Class

Data yang ingin diliahat ataupun ditampilkan bautlah form baru contoh seperti yang saya buat form beserta toolbox -à RichTextBox1

Demikian program atau aplikasi yang saya buat untuk menghitung gaji karyawan berserta automationnya ke dalam ms.word.
Terimakasih