Wednesday, May 8, 2013

SISTEM INFORMASI PENGGAJIAN KARYAWAN



SISTEM INFORMASI PENGGAJIAN KARYAWAN


Belajar Bahasa Pemrograman 
                          Dipostingan saya kali ini akan membahas mengenai pembuatan program SISTEM INFORMASI PENGGAJIAN KARYAWAN dengan menggunakan Visual Studio 2008 dan database nya menggunakan Microsoft Access. Program ini ada 3 form jadi kita memanggilnya dengan MENU STRIP di mana 3 form tadi terdiri dari form karyawan,form bagian,dan form jabatan .Langsung saja lah kita desain database nya terlebih dahulu seperti di bawah ini:

  Berikut ini adalah desain form MENU UTAMA nya 

Listing Program Menu Utama

Public Class Form1

    Private Sub FormKaryawanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormKaryawanToolStripMenuItem.Click
        karyawan.MdiParent = Me
        karyawan.Show()
    End Sub

    Private Sub FormBagianToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormBagianToolStripMenuItem.Click
        bagian.MdiParent = Me
        bagian.Show()
    End Sub

    Private Sub FormJabatanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormJabatanToolStripMenuItem.Click
        jabatan.MdiParent = Me
        jabatan.Show()
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        Me.Close()
    End Sub
End Class
 
                   Selanjutnya kita masuk ke form karyawan langsung saja lah kita desain form nya sebagai berikut:



Listing Program From Karyawan
 
Imports System.Data.OleDb
Public Class karyawan
    Public DB As OleDbConnection
    Public CMD As OleDbCommand
    Public ADP As OleDbDataAdapter
    Public DR As OleDbDataReader
    Public DS As New DataSet
    Dim SQL As String

    Public Sub OPENDB()
        Dim LOKASI = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\penjualan\karyawan.mdb"
        DB = New OleDbConnection(LOKASI)
        If DB.State = ConnectionState.Closed Then
            DB.Open()
        End If
    End Sub

    Sub Recordkaryawan()
        ADP = New OleDbDataAdapter("SELECT * FROM karyawan", DB)
        DS = New DataSet
        ADP.Fill(DS, "karyawan")
        DataGridView1.DataSource = DS.Tables("karyawan")

    End Sub

    Sub butoonbaru()
        baru.Enabled = True
        simpan.Enabled = False
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = False
        keluar.Enabled = True
    End Sub

    Sub butoonedit()
        baru.Enabled = False
        simpan.Enabled = False
        edit.Enabled = True
        hapus.Enabled = True
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub butoonsimpan()
        baru.Enabled = False
        simpan.Enabled = True
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub hapustext()
        NIK.Text = ""
        Nama.Text = ""
        kdjabatan.Text = ""
        Jenis_Kelamin.Text = ""
        Bagian.Text = ""
        Call butoonbaru()
    End Sub

    Sub tampilkodejabatan()
        kdjabatan.Items.Clear()
        SQL = "SELECT *FROM jabatan"
        CMD = New OleDbCommand(SQL, DB)
        DR = CMD.ExecuteReader
        While DR.Read
            kdjabatan.Items.Add(DR("KdJabatan"))
        End While
        DR.Close()
    End Sub

    Private Sub karyawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call OPENDB()
        Call hapustext()
        Call Recordkaryawan()
        Call tampilkodejabatan()
    End Sub
    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        SQL = "DELETE FROM karyawan Where NIK='" & NIK.Text & "'"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordkaryawan()
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call hapustext()
        NIK.Focus()
    End Sub

    Private Sub edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit.Click
        SQL = "UPDATE karyawan SET Nama='" & Nama.Text & "'," & _
                                       " Jabatan='" & kdjabatan.Text & "'," & _
                                       " Jenis_Kelamin='" & Jenis_Kelamin.Text & "'," & _
                                       " Bagian='" & Bagian.Text & "' " & _
                                       " Where NIK='" & NIK.Text & "'"

        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordkaryawan()
    End Sub

    Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
        SQL = "INSERT INTO karyawan (NIK, Nama, Jabatan, Jenis_Kelamin, Bagian)" & _
                               "Values ('" & NIK.Text & "','" & _
                                               Nama.Text & "','" & _
                                               kdjabatan.Text & "','" & _
                                               Jenis_Kelamin.Text & "','" & _
                                               Bagian.Text & "')"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordkaryawan()
    End Sub

    Private Sub NIK_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NIK.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        Dim xkode As String
        If tombol = 13 Then
            SQL = "SELECT * FROM karyawan Where NIK='" & NIK.Text & "'"
            CMD = New OleDbCommand(SQL, DB)
            DR = CMD.ExecuteReader
            DR.Read()
            If DR.HasRows = True Then
                Nama.Text = DR.Item(1)
                xkode = DR.Item(2)
                Jenis_Kelamin.Text = DR.Item(3)
                Bagian.Text = DR.Item(4)
                Call butoonedit()
                MsgBox("Waaawww...DATA DITEMUKAN!")
            Else
                xkode = NIK.Text
                Call hapustext()
                NIK.Text = xkode
                Call butoonsimpan()
            End If
            DR.Close()
            kdjabatan.Text = xkode
            Nama.Focus()
        End If
    End Sub

    Private Sub baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles baru.Click
        Call hapustext()
        NIK.Focus()
    End Sub

    Private Sub NIK_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIK.TextChanged

    End Sub

    Private Sub kdjabatan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kdjabatan.SelectedIndexChanged
        SQL = "SELECT *FROM jabatan where KdJabatan='" & kdjabatan.Text & "'"
        CMD = New OleDbCommand(SQL, DB)
        DR = CMD.ExecuteReader

        If DR.HasRows Then
            DR.Read()
            jabatan.Text = DR("NmJabatan")
        End If
    End Sub
End Class

                     Nah, tadi kan kita sudah mendesain form karyawan dan juga listing program nya....jadi sekarang kita bahas form bagian. Langsung saja lah ya kita desain form bagian nya seperti di bawah ini:

Listing Program form bagian

Imports System.Data.OleDb
Public Class bagian
    Public DB As OleDbConnection
    Public CMD As OleDbCommand
    Public ADP As OleDbDataAdapter
    Public DR As OleDbDataReader
    Public DS As New DataSet
    Dim SQL As String

    Public Sub OPENDB()
        Dim LOKASI = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\penjualan\bagian.mdb"
        DB = New OleDbConnection(LOKASI)
        If DB.State = ConnectionState.Closed Then
            DB.Open()
        End If
    End Sub
    Sub Recordbagian()
        ADP = New OleDbDataAdapter("SELECT * FROM bagian", DB)
        DS = New DataSet
        ADP.Fill(DS, "bagian")
        DataGridView1.DataSource = DS.Tables("bagian")

    End Sub

    Sub butoonbaru()
        baru.Enabled = True
        simpan.Enabled = False
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = False
        keluar.Enabled = True
    End Sub

    Sub butoonedit()
        baru.Enabled = False
        simpan.Enabled = False
        edit.Enabled = True
        hapus.Enabled = True
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub butoonsimpan()
        baru.Enabled = False
        simpan.Enabled = True
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub hapustext()
        kode_bagian.Text = ""
        nama_bagian.Text = ""
        Call butoonbaru()
    End Sub

    Private Sub Bagian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call OPENDB()
        Call hapustext()
        Call Recordbagian()
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        SQL = "DELETE FROM bagian Where Kdbagian='" & kode_bagian.Text & "'"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordbagian()
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call hapustext()
        kode_bagian.Focus()
    End Sub

    Private Sub edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit.Click
        SQL = "UPDATE bagian SET Nmbagian='" & nama_bagian.Text & "' " & _
                                      " Where Kdbagian='" & kode_bagian.Text & "'"

        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordbagian()
    End Sub

    Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
        SQL = "INSERT INTO bagian (Kdbagian, Nmbagian)" & _
                              "Values ('" & kode_bagian.Text & "','" & _
                                              nama_bagian.Text & "')"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordbagian()
    End Sub

    Private Sub baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles baru.Click
        Call hapustext()
        kode_bagian.Focus()
    End Sub

    Private Sub kode_bagian_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kode_bagian.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        Dim xkode As String
        If tombol = 13 Then
            SQL = "SELECT * FROM bagian Where Kdbagian='" & kode_bagian.Text & "'"
            CMD = New OleDbCommand(SQL, DB)
            DR = CMD.ExecuteReader
            DR.Read()
            If DR.HasRows = True Then
                nama_bagian.Text = DR.Item(1)
                Call butoonedit()
                MsgBox("DATA DITEMUKAN!")
            Else
                xkode = kode_bagian.Text
                Call hapustext()
                kode_bagian.Text = xkode
                Call butoonsimpan()
            End If
            nama_bagian.Focus()
        End If
    End Sub
End Class

                   Nah sudah 2 form yang telah kita bahas,tinggal 1 lagi ini yang terkhir formnya yaitu form jabatan. Langsung saja tidak usah menunggu lama-lama kita desain form nya seperti di bawah ini:


Listing program form jabatan

Imports System.Data.OleDb
Public Class jabatan
    Public DB As OleDbConnection
    Public CMD As OleDbCommand
    Public ADP As OleDbDataAdapter
    Public DR As OleDbDataReader
    Public DS As New DataSet
    Dim SQL As String

    Public Sub OPENDB()
        Dim LOKASI = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\penjualan\jabatan.mdb"
        DB = New OleDbConnection(LOKASI)
        If DB.State = ConnectionState.Closed Then
            DB.Open()
        End If
    End Sub
    Sub Recordjabatan()
        ADP = New OleDbDataAdapter("SELECT * FROM jabatan", DB)
        DS = New DataSet
        ADP.Fill(DS, "jabatan")
        DataGridView1.DataSource = DS.Tables("jabatan")

    End Sub

    Sub butoonbaru()
        baru.Enabled = True
        simpan.Enabled = False
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = False
        keluar.Enabled = True
    End Sub

    Sub butoonedit()
        baru.Enabled = False
        simpan.Enabled = False
        edit.Enabled = True
        hapus.Enabled = True
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub butoonsimpan()
        baru.Enabled = False
        simpan.Enabled = True
        edit.Enabled = False
        hapus.Enabled = False
        batal.Enabled = True
        keluar.Enabled = False
    End Sub

    Sub hapustext()
        kode_jabatan.Text = ""
        nama_jabatan.Text = ""
        Call butoonbaru()
    End Sub

    Private Sub Bagian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call OPENDB()
        Call hapustext()
        Call Recordjabatan()
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        SQL = "DELETE FROM jabatan Where Kdjabatan='" & kode_jabatan.Text & "'"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordjabatan()
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call hapustext()
        kode_jabatan.Focus()
    End Sub

    Private Sub edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit.Click
        SQL = "UPDATE jabatan SET Nmjabatan='" & nama_jabatan.Text & "' " & _
                                      " Where Kdjabatan='" & kode_jabatan.Text & "'"

        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordjabatan()
    End Sub

    Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
        SQL = "INSERT INTO jabatan (Kdjabatan, Nmjabatan)" & _
                              "Values ('" & kode_jabatan.Text & "','" & _
                                              nama_jabatan.Text & "')"
        CMD = New OleDbCommand(SQL, DB)
        CMD.ExecuteNonQuery()
        Call baru_Click(sender, e)
        Call Recordjabatan()
    End Sub

    Private Sub baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles baru.Click
        Call hapustext()
        kode_jabatan.Focus()
    End Sub

    Private Sub kode_jabatan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kode_jabatan.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        Dim xkode As String
        If tombol = 13 Then
            SQL = "SELECT * FROM jabatan Where Kdjabatan='" & kode_jabatan.Text & "'"
            CMD = New OleDbCommand(SQL, DB)
            DR = CMD.ExecuteReader
            DR.Read()
            If DR.HasRows = True Then
                nama_jabatan.Text = DR.Item(1)
                Call butoonedit()
                MsgBox("DATA DITEMUKAN!")
            Else
                xkode = kode_jabatan.Text
                Call hapustext()
                kode_jabatan.Text = xkode
                Call butoonsimpan()
            End If
            nama_jabatan.Focus()
        End If
    End Sub
End Class
          
 
                   Selesai sudah pembahasan kita membuat Program SISTEM INFORMASI PENGGAJIAN KARYAWAN dengan menggunakan visual basic 2008 dan database Microsoft Access. Oke deh selamat mencobaa...^_^