Sabtu, 28 Januari 2012

Jawaban Soal 3 (Sylvia Hartati Saragih)

Kasus: (klik disini)

Form Login:
- Listing Program:

Public Class Form1

    Sub Masuk()
        If username.Text = "via" And password.Text = "hartati" Then
            Me.Hide()
            Form2.Show()
        Else
            MsgBox("Login gagal!")
            Call HapusIsian()
        End If
    End Sub

    Sub HapusIsian()
        username.Text = ""
        password.Text = ""
    End Sub

    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
        Call Masuk()
    End Sub

    Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click
        End
    End Sub
End Class

Hasil Program:






Form Menu Utama:
- Listing Program:

Public Class Form2

    Private Sub FormPenggajianToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormPenggajianToolStripMenuItem.Click
        Form3.show()
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub

End Class

Hasil Program:





Form Penggajian:
- Listing Program:

Public Class Form3

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

        jabatan.Items.Add("KaBag")
        jabatan.Items.Add("Mandor")
        jabatan.Items.Add("Staff")

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

        lembur.Items.Add("Lembur")
        lembur.Items.Add("Tidak Lembur")
    End Sub

    Sub BuatTabel()
        With LV
            .Columns.Add("NIK", 50, HorizontalAlignment.Left)
            .Columns.Add("Nama", 90, HorizontalAlignment.Left)
            .Columns.Add("Jabatan", 90, HorizontalAlignment.Left)
            .Columns.Add("Gaji", 70, HorizontalAlignment.Right)
            .Columns.Add("Status", 90, HorizontalAlignment.Center)
            .Columns.Add("Jlh Anak", 60, HorizontalAlignment.Center)
            .Columns.Add("Lembur", 50, HorizontalAlignment.Center)
            .Columns.Add("Jlh Jam", 60, HorizontalAlignment.Center)
            .Columns.Add("Tunj. Istri", 60, HorizontalAlignment.Right)
            .Columns.Add("Tunj. Anak", 70, HorizontalAlignment.Right)
            .Columns.Add("Lembur", 50, HorizontalAlignment.Right)
            .Columns.Add("Pajak", 50, HorizontalAlignment.Right)
            .Columns.Add("Total", 50, HorizontalAlignment.Right)
            .GridLines = True
            .FullRowSelect = True
            .View = View.Details
        End With
    End Sub

    Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click
        Call Proses()
    End Sub

    Sub Proses()
        Select Case jabatan.Text
            Case "Mandor"
                gaji.Text = 1750000
            Case "KaBag"
                gaji.Text = 2500000
            Case "Staff"
                gaji.Text = 1250000
        End Select

        Select Case status.Text
            Case "Belum Menikah"
                jumlahanak.Text = 0
                tunjanganistri.Text = 0
                tunjangananak.Text = 0
            Case "Menikah"
                tunjanganistri.Text = 0.09 * gaji.Text
                If jumlahanak.Text = 1 Then
                    tunjangananak.Text = 0.03 * gaji.Text
                ElseIf jumlahanak.Text >= 2 Then
                    tunjangananak.Text = 0.07 * gaji.Text
                Else
                    tunjangananak.Text = 0
                End If
        End Select

        Select Case lembur.Text
            Case "Tidak Lembur"
                jumlahlembur.Text = 0
                bonuslembur.Text = 0
            Case "Lembur"
                Select Case jabatan.Text
                    Case "Mandor"
                        bonuslembur.Text = 7500 * jumlahlembur.Text
                    Case "Staff"
                        bonuslembur.Text = 5000 * jumlahlembur.Text
                    Case "KaBag"
                        bonuslembur.Text = 10000 * jumlahlembur.Text
                End Select
        End Select
        pajak.Text = gaji.Text * 0.015
        totalgaji.Text = Val(gaji.Text) + Val(tunjanganistri.Text) + Val(tunjangananak.Text) + Val(bonuslembur.Text) - pajak.Text
    End Sub

    Sub Bersih()
        nik.Text = ""
        nama.Text = ""
        jabatan.Text = ""
        gaji.Text = ""
        status.Text = ""
        jumlahanak.Text = ""
        lembur.Text = ""
        jumlahlembur.Text = ""
        tunjanganistri.Text = ""
        tunjangananak.Text = ""
        bonuslembur.Text = ""
        pajak.Text = ""
        totalgaji.Text = ""
    End Sub

    Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
        Call Bersih()
    End Sub

    Sub IsiTabel()
        Dim lst As New ListViewItem
        With lst
            .Text = nik.Text
            .SubItems.Add(nama.Text)
            .SubItems.Add(jabatan.Text)
            .SubItems.Add(gaji.Text)
            .SubItems.Add(status.Text)
            .SubItems.Add(jumlahanak.Text)
            .SubItems.Add(lembur.Text)
            .SubItems.Add(jumlahlembur.Text)
            .SubItems.Add(tunjanganistri.Text)
            .SubItems.Add(tunjangananak.Text)
            .SubItems.Add(bonuslembur.Text)
            .SubItems.Add(pajak.Text)
            .SubItems.Add(totalgaji.Text)
            LV.Items.Add(lst)
        End With
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        Call IsiTabel()
        Call Bersih()
    End Sub

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

End Class

Hasil Program:

Jawaban Soal 2 (Sylvia Hartati Saragih)

Kasus: (klik disini)

Listing Program:

Public Class Form1

    Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        BuatTabel()
        NPM.Focus()
    End Sub

    Sub DataNPM()
        Dim x As String
        Tahun.Text = "20" & _
        Microsoft.VisualBasic.Left(NPM.Text, 2)

        x = Microsoft.VisualBasic.Mid(NPM.Text, 3, 1)
        If x = "1" Then
            Jenjang.Text = "Diploma-I"
        ElseIf x = "3" Then
            Jenjang.Text = "Diploma-III"
        ElseIf x = "4" Then
            Jenjang.Text = "Strata-I"
        Else
            Jenjang.Text = "Tidak terdaftar..!"
        End If

        x = Microsoft.VisualBasic.Mid(NPM.Text, 4, 2)
        If x = "01" Then
            Jurusan.Text = "Manajemen Informatika"
        ElseIf x = "02" Then
            Jurusan.Text = "Sistem Informasi"
        ElseIf x = "03" Then
            Jurusan.Text = "Teknik Informatika"
        ElseIf x = "04" Then
            Jurusan.Text = "Akuntansi"
        Else
            Jurusan.Text = "Tidak terdaftar..!"
        End If
    End Sub

    Private Sub Nama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Nama.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            Call DataNPM()
            Nilai.Focus()
        End If
    End Sub

    Private Sub Nilai_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Nilai.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            Call DataNilai()
            btnSimpan.Focus()
        End If
    End Sub

    Sub DataNilai()
        Select Case Nilai.Text
            Case Is >= 80
                Huruf.Text = "A"
            Case 70 To 79
                Huruf.Text = "B"
            Case 60 To 69
                Huruf.Text = "C"
            Case 50 To 59
                Huruf.Text = "D"
            Case Is <= 49
                Huruf.Text = "E"
        End Select
    End Sub

    Sub BuatTabel()
        LV.Columns.Add("NPM", 80, HorizontalAlignment.Center)
        LV.Columns.Add("Nama", 180, HorizontalAlignment.Left)
        LV.Columns.Add("Jurusan", 100, HorizontalAlignment.Left)
        LV.Columns.Add("Jenjang", 90, HorizontalAlignment.Center)
        LV.Columns.Add("Tahun", 80, HorizontalAlignment.Center)
        LV.Columns.Add("Nilai", 50, HorizontalAlignment.Center)
        LV.Columns.Add("Huruf", 50, HorizontalAlignment.Center)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True
    End Sub

    Sub IsiTabel()
        Dim Lst As New ListViewItem
        Lst.Text = NPM.Text
        Lst.SubItems.Add(Nama.Text)
        Lst.SubItems.Add(Jurusan.Text)
        Lst.SubItems.Add(Jenjang.Text)
        Lst.SubItems.Add(Tahun.Text)
        Lst.SubItems.Add(Nilai.Text)
        Lst.SubItems.Add(Huruf.Text)
        LV.Items.Add(Lst)
    End Sub

    Sub HapusIsian()
        NPM.Text = ""
        Nama.Text = ""
        Jurusan.Text = ""
        Jenjang.Text = ""
        Tahun.Text = ""
        Nilai.Text = ""
        Huruf.Text = ""
        NPM.Focus()
    End Sub

    Private Sub btnBersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBersih.Click
        HapusIsian()
    End Sub

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

    Private Sub btnHapusSatu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusSatu.Click
        LV.Items.Remove(LV.SelectedItems(0))
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        IsiTabel()
        HapusIsian()
    End Sub

End Class

Hasil Program: