Kamis, 30 Oktober 2014

Tugas Pertemuan 6 - Data Gaji Karyawan

Untuk tugas pertemuan 6 ini saya akan membuat aplikasi untuk menghitung gaji perusahaan.

1.Langkah pertama pada tombol Log in kemudian akan muncul form yang memunculkan untk mengisi username dan password perusahaan.



Sourcecode nya yaitu:


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 = "diva" And Txtpassword.Text = "123") 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
 

2. Setelah akun yang dimiliki benar maka muncul form untuk pengisian data gaji karyawaan sebagai berikut :



 


Sourcecode nya yaitu:


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



3.Automaion pada aplikasi ini adalah pada microsoft word jadi saya membuat untuk tempat  peyimpanan data sebagai berikut :






4. Kemudian tersedia menu-menu pada MDIparent yang berupa menustrip untuk menampilkan data, menginput, mengedit, dsb. Berikut adalah menu-menu yang saya buat pada mdiparent berserta codenya:



Sourcecode nya yaitu:


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



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




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

Terimakasih..