www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
APLIKASI PENGGAJIAN - VB.NET Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) Phone : 0812 8438 1118
4.2 Normalisasi File Dan Relasi Tabel Normalisasi file dalam aplikasi penggajian terlihat pada gambar di bawah ini.
4.3 Membuat Module Imports System.Data.OleDb Module Module1 Public Conn As OleDbConnection Public da As OleDbDataAdapter Public ds As DataSet Public cmd As OleDbCommand Public rd As OleDbDataReader Public str As String Public Sub Koneksi() str = "provider=microsoft.jet.oledb.4.0;data source=DBpenggajian.mdb" Conn = New OleDbConnection(str) If Conn.State = ConnectionState.Closed Then Conn.Open() End If End Sub End Module
1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 4.4 Menu Utama Menu utama berfungsi untuk mengintegrasikan semua form dalam satu project. Pembahasan tentang pembuatan menu utama berikut MenuStrip dan StatusStrip telah dilakukan pada bab 1 dan silakan dipelajari kembali. Adapun pembuatan Toolbar dengan TabControl akan dibahas pada bab berikutnya.
4.5 Form Petugas Form petugas berguna untuk mengolah data kasir (petugas) yang mengoperasikan aplikasi. Status petugas yang login akan menentukan hak akses terhadap aplikasi tersebut.
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
4.6 Login Form login digunakan sebagai sarana keamanan penggunaan aplikasi agar tidak sembarang orang melakukan pengolahan data dan melakukan transaksi di dalam aplikasi ini. Form login juga berguna untuk menentukan hak akses pengguna aplikasi pada menu-menu tertentu sesuai dengan otoritasnya.
Coding dan penjelasan Pada saat Button1 diklik, maka carilah data petugas yang nama dan passwordnya terdapat pada textbox1 dan 2, jika data ditemukan maka tampilkan menu utama dan tampilkan pula Kode petugas, nama petugas dan status petugas di masing-masing panel, jika panel 3 di menu bukan Administrator, maka matikan menu kasir. Jika data tidak ditemukan maka tampilkan pesan bahwa nama user dan password salah. Imports System.Data.OleDb Public Class Login
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Koneksi() cmd = New OleDbCommand("select * from Petugas where Nama_Petugas='" & TextBox1.Text & "' and Password_Petugas='" & TextBox2.Text & "'", Conn) rd = cmd.ExecuteReader rd.Read() If rd.HasRows Then Me.Visible = False MenuUtama.Show() MenuUtama.Panel1.Text = rd.GetString(0) MenuUtama.Panel2.Text = rd.GetString(1) MenuUtama.Panel3.Text = rd.GetString(3) If MenuUtama.Panel3.Text <> "ADMINISTRATOR" Then MenuUtama.PetugasToolStripMenuItem.Enabled = False Else MenuUtama.PetugasToolStripMenuItem.Enabled = True End If Else MsgBox("login salah, periksan kembali user name dan password") TextBox1.Focus() End If End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then TextBox2.Focus() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If e.KeyChar = Chr(13) Then Button1.Focus() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Clear() TextBox2.Clear() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click End End Sub End Class
4.7 Form Golongan
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
4.8 Form Jabatan
4.9 Form Potongan
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
4.10 Form Pegawai
4.11 Transaksi Penggajian
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Proses yang terjadi dalam form penggajian adalah sebagai berikut : 1.
Pada saat form dipanggil, tampilkan nomor slip gaji otomatis, tanggal transaksi
2.
Ketika mengisi NIP, sistem akan mencari NIP yang sudah gajian di bulan ini, jika data tidak ditemukan maka lanjutkan ke pengisian jumlah hadir dalam sebulan
3.
Kemudian dilanjutkan dengan pengisian jumlah jam lembur dalam sebulan
4.
Kemudian dilajutkan dengan pengisian rincian potongan mulai dari pajak sampai asuransi jiwa.
5.
Jika data sudah benar, maka klik button simpan
Coding Public Class Penggajian Sub Tampilkan() da = New OleDbDataAdapter("Select Kode_Potongan as Kode,nama_Potongan as [Nama Potongan]from Potongan where left(kode_Potongan,1)='1'", Conn) ds = New DataSet ds.Clear() da.Fill(ds, "Potongan") DGV.DataSource = (ds.Tables("Potongan")) DGV.Columns.Add("Jumlah", "Jumlah") DGV.Columns(0).ReadOnly = True DGV.Columns(1).ReadOnly = True DGV.Columns(0).Width = 40
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi DGV.Columns(1).Width = 125 End Sub
Private Sub Penggajian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call NomorOtomatis() TextBox2.Text = Today Call Tampilkan() End Sub
Private Sub TextBox19_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox19.KeyPress If e.KeyChar = Chr(13) Then TextBox21.Text = Val(TextBox13.Text) * Val(TextBox19.Text) TextBox16.Text = Val(TextBox9.Text) + Val(TextBox10.Text) + Val(TextBox11.Text) + Val(TextBox23.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox15.Text) TextBox20.Focus() End If If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True End Sub
Private Sub TextBox20_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox20.KeyPress If e.KeyChar = Chr(13) Then TextBox22.Text = Val(TextBox14.Text) * Val(TextBox20.Text) TextBox16.Text = Val(TextBox9.Text) + Val(TextBox10.Text) + Val(TextBox11.Text) + Val(TextBox23.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox15.Text) DGV.Focus() End If If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True End Sub Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellEndEdit If e.ColumnIndex = 2 Then Call TotalPotongan() TextBox18.Text = Val(TextBox16.Text) - Val(TextBox17.Text) End If End Sub
Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Batalkan() Call BersihkanGrid() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Call Batalkan() Me.Close() 'End End Sub End Class
4.12 Laporan Data Master Tahapan pembuatan laporan dilakukan dengan lanhkah-langkah sebagai berikut : 1.
Membuat laporan dengan Crystal Report. Pembuatan laporan ini ada dua cara.
2.
Membuat form khusus untuk menampilkan laporan. Form ini hanya terdiri dari sebuah object CrystalReportViewer dengan properti DOCK = FILL dan form dalam kondisi maximized
3.
Membuat form pemanggil laporan
9
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Coding Imports System.Data.OleDb Public Class LaporanMaster Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "laporan golongan.rpt" End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "laporan jabatan.rpt" End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "laporan petugas.rpt" End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "laporan potongan.rpt" End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing
10
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "laporan pegawai.rpt" End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click System.Windows.Forms.Help.ShowHelp(Me, "mengubah posisi database dalam crystal report.doc") End Sub End Class
11
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
4.13 Laporan Penggajian 1.
Langkah pembuatan laporan penggajian sama dengan pembuatan laporan data master, yaitu membuat laporan penggajian dengan bentuk sesuai kebutuhan, membuat form khusus untuk menampilkan Laporan, dan membuat form pemanggil laporan.
Hasil laporan terlihat pada gambar di bawah ini:
12
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
13