Tuesday , October 8 2024
Membuat Form Daftar Pegawai Sistem Penggajian

Membuat Form Daftar Pegawai Sistem Penggajian

Membuat Form Daftar Pegawai Sistem Penggajian

Lebakcyber.net – Setelah pada tutorial sebelumnya kita sudah berhasil membuat form kasir di sistem informasi penggajian. Kali ini kita akan membuat form daftar pegawai sistem penggajian yang sedang kita buat. Dimana nantinya form daftar pegawai tersebut akan kita gunakan untuk menambahkan data pegawai, mengedit data pegawai dan juga menghapus data pegawai.

  • Tambahkan sebuah form baru kedalam project sistem penggajian, lalu berinama form tersebut dengan nama Daftar Pegawai
  • Tambahkan dua Group Box, tiga TextBox, satu ComboBox, tiga Button dan satu DataGridView, lalu atur tampilannya seperti pada gambar berikut ini :

Membuat Form Daftar Pegawai Sistem Penggajian

Atur properties dari masing masing tool tersebut menjadi seperti berikut :

Tool Name Text
TextBox1 txtNIP
TextBox2 txtNamaPegawai
TextBox3 txtAlamat
ComboBox1 cmbJabatan
Button1 btnSimpan Simpan
Button2 btnUbah Ubah
Button3 btnHapus Hapus
DataGridView dgvPegawai

Menambahkan Perintah Untuk Membersihkan TextBox

Perintah ini dimaksudkan untuk menghapus semua teks yang ada didalam TextBox, baik itu untuk txtNIP, txtNamaPegawai, txtAlamat dan juga teks yang ada di cmbJabatan. Jadi silahkan buat subroutine baru dengan nama bersihkan lalu masukan perintahnya seperti berikut ini :

Sub bersihkan()
        txtNIP.Text = ""
        txtNamaPegawai.Text = ""
        txtAlamat.Text = ""
    End Sub

 

Menampilkan Daftar Pegawai Kedalam dgvPegawai

Perintah ini nantinya digunakan untuk menampilkan daftar pegawai yang ada didalam tabel pegawai, jadi pada saat form Daftar Pegawai dibuka, daftar dari nama pegawai akan dimunculkan didalam dgvPegawai. Untuk itu silahkan buat sebuah subroutine baru dengan nama tampilPegawai lalu tambahkan kode seperti berikut ini :

Sub tampilPegawai()
        Try
            Call koneksi()
            da = New MySqlDataAdapter("select * from tbl_pegawai order by nip Asc", conn)
            ds = New DataSet
            da.Fill(ds, "tbl_pegawai")
            dgvPegawai.DataSource = ds.Tables("tbl_pegawai")
        Catch ex As Exception

        End Try
    End Sub

 

Menampilkan Data Jabatan Kedalam cmbJabatan

Perintah dibawah ini dimaksudkan untuk menampilkan data yang ada didalam field nama_jabatan yang terdapat pada tabel tbl_jabatan kedalam cmbJabatan. Untuk itu silahkan buat subroutine baru dengan nama tampilDataComboBox lalu tambahkan perintah seperti berikut ini :

Sub tampilDataComboBox()
        Try

            Call koneksi()
            Dim str As String
            str = "select nama_jabatan from tbl_jabatan"
            cmd = New MySqlCommand(str, conn)
            rd = cmd.ExecuteReader
            If rd.HasRows Then
                Do While rd.Read
                    cmbJabatan.Items.Add(rd("nama_jabatan"))
                Loop
            Else
                MessageBox.Show("Data Jabatan Tidak Ditemukan")
            End If

        Catch ex As Exception

        End Try
    End Sub

Jika subroutine tampilPegawai dan tampilDataComboBox sudah dibuat, sekarang tinggal kita panggil subroutine subroutine tersebut pada saat form di load dengan perintah dibawah ini :

Private Sub Daftar_Pegawai_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call tampilPegawai()
        Call tampilDataComboBox()
    End Sub

 

Menampilkan Data Dari dgvPegawai Ke TextBox Dan ComboBox

Perintah ini akan menampilkan data yang ada didalam dgvPegawai kedalam textbox dan juga combobox pada saat baris atau data yang ada di dgvPegawai di klik. Jadi nanti kita bisa melakukan proses penghapusan atau melakukan update data pegawai. Untuk itu silahkan ketikan perintah seperti dibawah ini :

Private Sub dgvPegawai_CellMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvPegawai.CellMouseClick
        Try
            txtNIP.Text = dgvPegawai.Rows(e.RowIndex).Cells(0).Value
            txtNamaPegawai.Text = dgvPegawai.Rows(e.RowIndex).Cells(1).Value
            txtAlamat.Text = dgvPegawai.Rows(e.RowIndex).Cells(2).Value
            cmbJabatan.Text = dgvPegawai.Rows(e.RowIndex).Cells(3).Value
        Catch ex As Exception

        End Try
    End Sub

 

Membuat Perintah Insert Data Pegawai

Selanjutnya adalah membuat perintah untuk memasukan data kedalam tabel pegawai. Jadi silahkan buat sebuah subroutine baru dengan nama simpanPegawai lalu tambahkan perintah seperti pada contoh dibawah ini :

Sub simpanPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "insert into tbl_pegawai (nip, nama_pegawai, alamat, jabatan) values ('" & txtNIP.Text & "', '" & txtNamaPegawai.Text & "','" & txtAlamat.Text & "','" & cmbJabatan.Text & "')"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()

            MessageBox.Show("Data Pegawai Berhasil Ditambahkan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai gagal ditambahkan " + ex.Message)
        End Try
    End Sub

Selanjutnya klik dua kali tombol simpan, lalu masukan perintah seperti berikut ini :

Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        Try
            If MessageBox.Show("Yakin ingin menambahkan data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call simpanPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

 

Membuat Perintah Ubah Data Pegawai

Setelah kita membuat perintah untuk menambahkan data pegawai, sekarang kita buat perintah untuk merubah data pegawai yang sudah ada didalam tabel pegawai. Jadi silahkan tambahkan sebuah subroutine baru lalu berinama ubahPegawai. Selanjutnya masukan perintah seperti dibawah ini :

Sub ubahPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "update tbl_pegawai set nama_pegawai = '" & txtNamaPegawai.Text & "', alamat = '" & txtAlamat.Text & "', jabatan = '" & cmbJabatan.Text & "' where nip = '" & txtNIP.Text & "'"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()

            MessageBox.Show("Data Pegawai Berhasil Dirubah.", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai dirubah ditambahkan " + ex.Message)
        End Try
    End Sub

Sekarang tinggal klik dua kali tombol ubah lalu masukan perintah berikut ini agar proses ubah data pegawai dapat dilakukan :

Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUbah.Click
        Try
            If MessageBox.Show("Yakin ingin merubah data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call ubahPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

 

Membuat Perintah Hapus Pegawai

Oke sekarang kita tinggal membuat perintah untuk melakukan proses penghapusan data pegawai, jadi silahkan buat sebuah subroutine baru lalu beri nama hapusPegawai. Selanjutnya masukan perintah seperti berikut ini :

Sub hapusPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "delete from tbl_pegawai where nip = '" & txtNIP.Text & "'"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()
            MessageBox.Show("Data Pegawai Berhasil Dihapus", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai gagal dihapus " + ex.Message)
        End Try
    End Sub

Seperti biasa, klik dua kali tombol hapus untuk memanggil subroutine hapusPegawai lalu masukan perintah seperti berikut ini :

Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click
        Try
            If MessageBox.Show("Yakin ingin menghapus data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call hapusPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

Terakhir adalah memunculkan form daftar pegawai pada saat tombol Daftar Pegawai diklik, jadi silahkan kembali ke form utama lalu klik dua kali tombol Daftar Pegawai lalu masukan perintah seperti berikut ini

Private Sub btnPegawai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPegawai.Click
        Daftar_Pegawai.Show()
    End Sub

Oke itulah bagaimana cara membuat form daftar pegawai di sistem penggajian yang sedang kita buat, jika kalian ingin menihat source code lengkapnya. Silahkan lihat code lengkapnya dari membuat form daftar pegawai sistem penggajian dibawah ini :

Imports MySql.Data.MySqlClient
Public Class Daftar_Pegawai

    Private Sub Daftar_Pegawai_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call tampilPegawai()
        Call tampilDataComboBox()
    End Sub

    Sub bersihkan()
        txtNIP.Text = ""
        txtNamaPegawai.Text = ""
        txtAlamat.Text = ""
    End Sub

    Sub tampilPegawai()
        Try
            Call koneksi()
            da = New MySqlDataAdapter("select * from tbl_pegawai order by nip Asc", conn)
            ds = New DataSet
            da.Fill(ds, "tbl_pegawai")
            dgvPegawai.DataSource = ds.Tables("tbl_pegawai")
        Catch ex As Exception

        End Try
    End Sub

    Sub tampilDataComboBox()
        Try

            Call koneksi()
            Dim str As String
            str = "select nama_jabatan from tbl_jabatan"
            cmd = New MySqlCommand(str, conn)
            rd = cmd.ExecuteReader
            If rd.HasRows Then
                Do While rd.Read
                    cmbJabatan.Items.Add(rd("nama_jabatan"))
                Loop
            Else
                MessageBox.Show("Data Jabatan Tidak Ditemukan")
            End If

        Catch ex As Exception

        End Try
    End Sub

    Sub simpanPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "insert into tbl_pegawai (nip, nama_pegawai, alamat, jabatan) values ('" & txtNIP.Text & "', '" & txtNamaPegawai.Text & "','" & txtAlamat.Text & "','" & cmbJabatan.Text & "')"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()

            MessageBox.Show("Data Pegawai Berhasil Ditambahkan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai gagal ditambahkan " + ex.Message)
        End Try
    End Sub

    Sub ubahPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "update tbl_pegawai set nama_pegawai = '" & txtNamaPegawai.Text & "', alamat = '" & txtAlamat.Text & "', jabatan = '" & cmbJabatan.Text & "' where nip = '" & txtNIP.Text & "'"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()

            MessageBox.Show("Data Pegawai Berhasil Dirubah.", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai dirubah ditambahkan " + ex.Message)
        End Try
    End Sub

    Sub hapusPegawai()
        Try
            Call koneksi()
            Dim str As String
            str = "delete from tbl_pegawai where nip = '" & txtNIP.Text & "'"
            cmd = New MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()
            MessageBox.Show("Data Pegawai Berhasil Dihapus", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show("Data pegawai gagal dihapus " + ex.Message)
        End Try
    End Sub


    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        Try
            If MessageBox.Show("Yakin ingin menambahkan data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call simpanPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

    Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUbah.Click
        Try
            If MessageBox.Show("Yakin ingin merubah data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call ubahPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

    Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click
        Try
            If MessageBox.Show("Yakin ingin menghapus data pegawai", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Call hapusPegawai()
                Call bersihkan()
                Call tampilPegawai()
            End If
        Catch ex As Exception

        End Try
    End Sub

    Private Sub dgvPegawai_CellMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvPegawai.CellMouseClick
        Try
            txtNIP.Text = dgvPegawai.Rows(e.RowIndex).Cells(0).Value
            txtNamaPegawai.Text = dgvPegawai.Rows(e.RowIndex).Cells(1).Value
            txtAlamat.Text = dgvPegawai.Rows(e.RowIndex).Cells(2).Value
            cmbJabatan.Text = dgvPegawai.Rows(e.RowIndex).Cells(3).Value
        Catch ex As Exception

        End Try
    End Sub
End Class

About Firdan Ardiansyah

Admin di lebakcyber.net Untuk berhubungan dengan saya, silahkan kirim email ke : firdan@lebakcyber.net

Leave a Reply

Your email address will not be published. Required fields are marked *