dokumen-dokumen yang mirip










LAMPIRAN A : LISTING PROGRAM


Oleh : Uus Rusmawan Hal - 1 -

Oleh : Uus Rusmawan


Oleh : Uus Rusmawan



Oleh : Uus Rusmawan


Universitas Sumatera Utara





Program absen dengan menggunakan visual basic 6.0


KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Oleh : Uus Rusmawan

Oleh : Uus Rusmawan

Oleh : Uus Rusmawan Hal - 1 -

Oleh : Uus Rusmawan


Listing Program. Listing Form Login. Listing Form Menu Utama Private Sub MnDataPenerbangan_Click() FR_Penerbangan.Show 1 End Sub

Field Tipe Data Size Keterangan userid Text 12 Primary key namauser Text 30 - password Text 8 - akses Text 10 -

BAB 1 KONSEP DASAR...

Listing Program a. Form Login. Public LoginSucceeded As Boolean



LAMPIRAN LISTING PROGRAM




LISTING PROGRAM. lbljalan.caption = "Selamat Menggunakan Kamus Digital Istilahistilah

BAHASA PEMROGRAMAN (LISTING PROGRAM)

Praktekum VB 6.0 I. KOTAK PESAN. Contoh syntax kotak pesan

<Algoritma & Pemrograman Komputer/> Nama Kelompok

Praktikum 4 Program Aplikasi Bisnis Imam Gunawan, M. Kom 1. Tambahkan tabel berikut, pada database stockgudang :

Membuat Form Input Barang (Untuk Server)

KONEKSI VB DENGAN MYSQL (Wajib, S.Pd.)


Tutorial, Source code, Request Program Visual Basic

Bahasa Pemrograman-1 (Visual Basic)



Pertemuan III MENYIMPAN REKAMAN (RECORD) KE DALAM BASIS DATA

FUNGSI PENCABANGAN DAN PERULANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul Visual Basic 6.0. By: Dian nuryahdi Asman, S.Kom



FORM LOGIN. Option Explicit. Private Sub cmdexit_click() End End Sub

BAB IV PERANCANGAN SISTEM INFORMASI AKUNTANSI BELANJA


Kode Program : Koneksi. Klik Kanan Adobrg Pilih ADODC Properties Maka akan muncul tampilan sbb: Instruktur : Nani Purwati

Koneksi Visual Basic, MySQL (ODBC) dan Crystal Report

Koneksi Visual Basic 6.0 dengan SQL SERVER 2000

BAB IV IMPLEMENTASI DAN PENGUJIAN

Praktikum-19 AMIK-STMIK JAYANUSA Imam Gunawan, M. Kom FORM BARANG MASUK

Langkah ke 2 yaitu buat database form bukunya seperti gambar dibawah ini

Gambar 1 Table Petugas. Gambar 2 Penambahan Komonen Pada Form





LISTING PROGRAM. tanya = MsgBox("Apakah Anda yakin akan menghapus. kata : " & txtword.text & "?", vbquestion + gadoconn.

Listing Program. 1. FrmUser.frm


1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.

Pertemuan-1 TIPE DATA STRUKTUR

MODUL VII APLIKASI MULTIUSER TRANSAKSI PENJUALAN


BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Berdasarkan analisa dan perancangan sistem yang telah

Copyright by : ipi-leppindo jambi all reserved 2014 (japikinfo.com)



LAMPIRAN. Source Code Program Untuk MDI Utama

Me.Picture = LoadPicture(App.Path & "\pakar.jpg") App.HelpFile = App.Path & "\Help.hlp" End Sub



LISTING PROGRAM. Script Menu Utama Pada Game Tebak Kata

KODE PROGRAM FORM PENJUALAN


Gambar 4.60Tampilan Menu Utama

MODUL D :// Mahasiswa memahami konsep pembuatan database. Mahasiswa memahami konsep pembuatan program dasar aplikasi database

HandleError: MsgBox "Proses tidak bisa dikerjakan.", vbinformation, "Perhatian" On Error GoTo 0 End Sub

L - 1. Tampilan Aplikasi ( Form Menu Utama ) Tampilan Form login

1. Rancangan Input Program Form Menu Utama Form Data Barang [ Input Barang ]

LISTING PROGRAM. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ShowInputForm End Sub

Kartu Bimbingan Tugas Akhir Mahhasiswa

Transkripsi:

PROGRAM PENGGAJIAN VB 6.0 Peminat silakan hubungi : Email : uusrusmawan71@gmail.com Facebook : konsultasivb@ymail.com (Uus Rusmawan) Phone : 0812 8438 1118 8.1 Normalisasi File Program penggajian ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti gambar berikut. Gambar 8.1 Normalisasi File Program Penggajian Program penggajian ini menyimpan data ke dua tabel yaitu tabel Gaji dan DetailGaji seperti terlihat pada tabeltabel berikut ini. Tabel Gaji Gaji NomorSlp Tanggal Jam Pendapatan Potongan GajiBersih NIP KodeKsr 1

Gaji NomorSlp Tanggal Jam Pendapatan Potongan GajiBersih NIP KodeKsr 0709090001 09/09/07 11:43:32 PM 1350000 360000 990000 199607152 KSR01 Tabel DetailGaji DetailGaji NomorSlp KodePrk Jumlah 0709090001 001 1000000 0709090001 002 200000 0709090001 003 150000 0709090001 101 135000 0709090001 102 100000 0709090001 103 125000 8.2 Database Dan Tabel Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini. 8.3 Membuat Module Gambar 8.2 Database Dan Tabel 2

Untuk memulai membuat program penggajian, aktifkanlah VB kemudian awali dengan membuat module lalu ketik coding berikut ini. Coding : Public Conn As New ADODB.Connection Public RSPerkiraan As ADODB.Recordset Public RSDetail As ADODB.Recordset Public RSGaji As ADODB.Recordset Public RSKasir As ADODB.Recordset Public RSPegawai As ADODB.Recordset Public Sub BukaDB() Set Conn = New ADODB.Connection Set RSPerkiraan = New ADODB.Recordset Set RSDetail = New ADODB.Recordset Set RSGaji = New ADODB.Recordset Set RSKasir = New ADODB.Recordset Set RSPegawai = New ADODB.Recordset Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOGaji.mdb" Dengan asumsi form login, data pegawai, data perkiraan dan kasir telah dibuat, kini saatnya membuat form penggajian dengan bentuk seperti gambar 8.3. 8.4 Transaksi Penggajian Ilustrasi pada program ini adalah sebagai berikut: 1. Nomor slip gaji muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi setelah slip gaji sebelumnya disimpan. 2. Nama kasir dan kode kasir muncul secara otomatis dari hasil login. Kode kasir tidak ditampilkan dalam form (LblKodeKsr.Visible = False). 3. Tanggal dan jam muncul secara otomatis diambil dari sistem komputer, oleh karena itu diharapkan mengecek kembali validasi tanggal dan jam komputer sebelum program dijalankan. 4. Hal pertama yang harus dilakukan adalah memilih NIP kemudian menekan enter, jika bulan ini NIP tersebut telah menerima gaji maka akan muncul pesan bahwa NIP tersebut telah menerima gaji (mencegah penerimaan gaji dua kali dalam satu bulan). 5. Saat melakukan penggajian kode perkiraan (pembayaran) dapat dilakukan dalam Grid atau memilih dari list kemudian menekan enter. Setelah itu isilah jumlah pembayarannya. 6. Khusus untuk pajak, disini kami asumsikan sebesar 10% dari total pendapatan dan akan menjadi potongan bagi pemdapatan hingga akhirnya ditemukan gaji bersihnya. 3

8.5 Slip Gaji Gambar 8.3 Transaksi Penggajian 4

8.6 Laporan Penggajian Gambar 8.4 Slip Gaji Dalam pembuatan laporan, kita dapat melakukan banyak kreasi diantaranya membuat laporan yang bersifat parsial, artinya laporan dibuat per karyawan atau laporan yang bersifat akumulasi, artinya dalam satu halaman terdapat banyak NIP (karyawan). Buatlah form seperti bentuk di bawah ini. 5

Coding: Private Sub Form_Load() 'buatlah looping untuk bulan dari 1-12 'dan tahun mulai tahun 2001 s/d 2020 For i = 1 To 12 Combo1.AddItem i Combo3.AddItem i Next i For i = 1 To 20 Combo2.AddItem 2000 + i Combo4.AddItem 2000 + i Next i Private Sub Combo1_Keypress(Keyascii As Integer) If Combo1 = "" Or Keyascii = 27 Then Unload Me Gambar 8.5 Laporan Penggajian 'Lap Bulanan Private Sub Combo2_Click() 'buka database Call BukaDB 'cari data yang tanggal dan bulannya dipilih di Combo1 dan Combo2 RSGaji.Open "select * from Gaji where month(tanggal)='" & Val(Combo1) & "' and year(tanggal)='" & (Combo2) & "'", Conn 'jika tidak cocok, munculkan pesan If RSGaji.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo1.SetFocus 'jika ditemukan panggil file laporan yang 'datanya bulannya=combo1 dan tahunnya= Combo2 CR.SelectionFormula = "Month({Gaji.Tanggal})=" & Val(Combo1.Text) & " and Year({Gaji.Tanggal})=" & Val(Combo2.Text) CR.ReportFileName = App.Path & "\Lap Gaji.rpt" CR.WindowState = crptmaximized CR.RetrieveDataFiles CR.Action = 1 6

Private Sub Combo3_Keypress(Keyascii As Integer) If Combo3 = "" Or Keyascii = 27 Then Unload Me 'Lap Bulanan Private Sub combo4_click() 'buka database Call BukaDB 'cari data yang tanggal dan bulannya dipilih di Combo1 dan combo4 RSGaji.Open "select * from Gaji where month(tanggal)='" & Val(Combo3) & "' and year(tanggal)='" & (Combo4) & "'", Conn 'jika tidak cocok, munculkan pesan If RSGaji.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo1.SetFocus 'jika ditemukan panggil file laporan yang 'datanya bulannya=combo1 dan tahunnya= combo4 CR.SelectionFormula = "Month({Gaji.Tanggal})=" & Val(Combo3.Text) & " and Year({Gaji.Tanggal})=" & Val(Combo4.Text) CR.ReportFileName = App.Path & "\Lap Gaji1.rpt" CR.WindowState = crptmaximized CR.RetrieveDataFiles CR.Action = 1 Dengan program di atas dihasilkan laporan dengan bentuk seperti dua gambar berikut. Gambar 8.6 Laporan Gaji Per Pegawai 7

8.7 Rincian Penggajian Gambar 8.7 Laporan Gaji Akumulasi Per Bulan Program ini berfungsi untuk melihat kembali data penggajian yang telah disimpan. Buatlah form dengan bentuk seperti gambar di bawah ini. Coding: Gambar 8.8 Rincian Penggajian Private Sub CmdCetak_KeyPress(Keyascii As Integer) If Keyascii = 27 Then Unload Me 8

Private Sub Combo1_Keypress(Keyascii As Integer) If Keyascii = 27 Then Unload Me Private Sub Form_Load() Call BukaDB Combo1.Clear RSGaji.Open "Select Distinct NomorSlp from Gaji", Conn Do Until RSGaji.EOF Combo1.AddItem RSGaji!NomorSlp RSGaji.MoveNext Loop Conn.Close Private Sub Combo1_Click() Call BukaDB RSGaji.Open "select * from Gaji where NomorSlp='" & Combo1.Text & "'", Conn RSPegawai.Open "select * from Pegawai where NIP='" & RSGaji!NIP & "'", Conn If Not RSPegawai.EOF Then TxtNIP = RSPegawai!NIP TxtNama = RSPegawai!NamaPgw TxtBagian = RSPegawai!Bagian DTDetail.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\ADOGaji.mdb" DTDetail.RecordSource = "select NamaPrk as [Nama Pembayaran],Jumlah from Perkiraan,DetailGaji where DetailGaji.kodePrk=Perkiraan.kodePrk and NomorSlp='" & Combo1.Text & "'" Set DataGrid1.DataSource = DTDetail DTDetail.Refresh DataGrid1.Refresh TxtPendapatan = Format(GajiKotor, "##,###,###") TxtPotongan = Format(Potongan, "##,###,###") TxtTotal = Format(GajiKotor - Potongan, "##,###,###") Conn.Close Function GajiKotor() Set RSGajiKotor = New ADODB.Recordset RSGajiKotor.Open "Select sum(jumlah) as TTLPendapatan from DetailGaji where left(kodeprk,1)=0 and NomorSlp='" & Combo1 & "'", Conn GajiKotor = RSGajiKotor!TTLPendapatan End Function Function Potongan() Set RSPotongan = New ADODB.Recordset RSPotongan.Open "Select sum(jumlah) as TTLPotongan from DetailGaji where left(kodeprk,1)=1 and NomorSlp='" & Combo1 & "'", Conn Potongan = RSPotongan!TTLPotongan End Function Private Sub Bersihkan() TxtNamaPgw = "" TxtBagian = "" TxtPendapatan = "" TxtPotongan = "" TxtTotal = "" Private Sub CmdBatal_Click() Bersihkan 9

Form_Activate Private Sub CmdTutup_Click() CmdBatal_Click Unload Me Private Sub CmdCetak_click() If Combo1 = "" Then MsgBox "Nomor slip gaji kosong" Exit Sub Combo1.SetFocus Pesan = MsgBox("Printer sudah siap..?", vbyesno, "Konfirmasi") If Pesan = vbyes Then Dim MGrs As String Printer.Font = "Courier New" Call BukaDB RSGaji.Open "select * from Gaji Where NomorSlp ='" & Combo1 & "'", Conn RSKasir.Open "select * from kasir where kodeksr='" & RSGaji!KodeKsr & "'", Conn RSKasir.Requery RSPegawai.Open "select * from pegawai where NIP='" & RSGaji!NIP & "'", Conn RSPegawai.Requery Printer.Print Printer.FontBold = True Printer.Print Printer.FontBold = False Printer.CurrentX = 0 Printer.CurrentY = 0 Printer.Print Tab(5); "Nomor Slip : "; RSGaji!NomorSlp Printer.Print Tab(5); "Tanggal : "; Format(RSGaji!Tanggal, "DD-MMMM-YYYY") Printer.Print Tab(5); "NIP : "; RSGaji!NIP Printer.Print Tab(5); "Nama : "; RSPegawai!NamaPgw Printer.Print Tab(5); "Kasir : "; RSKasir!NamaKsr MGrs = String$(33, "-") Printer.Print Tab(5); MGrs RSDetail.Open "select * from DetailGaji Where NomorSlp ='" & Combo1 & "'", Conn RSDetail.Requery RSDetail.MoveFirst Do While Not RSDetail.EOF Set RSPerkiraan = New ADODB.Recordset RSPerkiraan.Open "select * from Perkiraan where KodePrk='" & RSDetail!KodePrk & "'", Conn Printer.Print Tab(5); RSPerkiraan!NamaPrk; If Left(RSDetail!KodePrk, 1) = "0" Then Printer.Print Tab(25); RKanan(RSDetail!Jumlah, "###,###,### +") Else Printer.Print Tab(25); RKanan(RSDetail!Jumlah, "###,###,### -") RSDetail.MoveNext Loop Printer.Print Tab(5); MGrs Printer.Print Tab(5); "Pendapatan :"; Printer.Print Tab(25); RKanan(RSGaji!Pendapatan, "###,###,### +"); Printer.Print Tab(5); "Potongan :"; Printer.Print Tab(25); RKanan(RSGaji!Potongan, "###,###,### -"); Printer.Print Tab(5); MGrs Printer.Print Tab(5); "Total :"; If RSGaji!Pendapatan = RSGaji!Potongan Then Printer.Print Tab(34); RSGaji!Pendapatan - RSGaji!Potongan Else Printer.Print Tab(25); RKanan(RSGaji!Pendapatan - RSGaji!Potongan, "###,###,### +"); Printer.Print Tab(5); MGrs 10

Printer.Print Printer.EndDoc Private Function RKanan(NData, CFormat) As String RKanan = Format(NData, CFormat) RKanan = Space(Len(CFormat) - Len(RKanan)) + RKanan End Function 11