1
BAB I
PENDAHULUAN
yang beradab dan melahan kelangsungan hidup dari peradaban itu sendiri
kan eksistensi dan peranan suatu organisasi bukanlah merupakan suatu sistem
dinamika dari suprasistem dan sub sistem dari organisasi tersebut. Demikian
1
2
bagi pemimpin.
daya manusia sangat dibutuhkan, akan tetapi kemampuan manusia itu sendiri
sangat terbatas. Oleh karena itu untuk memperingan dan memperlancar tugas
kat lunak) dari komputer, bahkan dalam beberapa segi misalnya dalam daya
kenyataan bahwa hingga saat ini masih ada yang memanfaatkan mesin manual
penggunaan lainnya.
lingkup kerja yang luas serta beban kerja yang berat memerlukan sarana
sistem dan tata arus dari prosedur administrasi, juga persiapan personal yang
baik.
adanya perubahan atau pembaharuan. Oleh karena itu maka perlu adanya
Semarang. Program yang banyak beredar dan pembuatannya juga mudah salah
satunya adalah Microsoft Visual Basic versi 6.0 berbasis Microsoft Window.
Sebagai bahasa pemrograman yang mutahir, Microscoft Visual Basic versi 6.0
1. Rumusan Masalah
2. Pembatasan Masalah
1. Tujuan Kegiatan
Spektronik Semarang.
Spektronik Semarang.
6
2. Manfaat Kegiatan
a. Bagi Penyusun
Spektronik Semarang.
D. Sistematika Laporan
BAB I : PENDAHULUAN
BAB IV : PEMBAHASAN
BAB V : PENUTUP
KAJIAN TEORI
A. Data Base
1. Pengertian Database.
elektronis pada sebuah file. Database merupakan salah satu yang penting
dengan yang lainnya dan membuat tersedia untuk beberapa aplikasi yang
bermacam-macam.
2. Kegunaan Database.
21
22
c. Isolasi data.
Jika data yang tersimpan dalam beberapa file memiliki format yang
d. Multiple user
merupakan field yang nilainya unik untuk mewakili record dan setiap
tidak menyebabkan program harus diubah pada saat itu. Ini berarti
g. Masalah keamanan.
3. Elemen-elemen Database.
a. Data
b. Software
pengolahan data.
c. Hardware
dapat disentuh.
d. Brainware
sistem komputer.
24
B. Basis Data
dapat dimengerti.
fakta, berita, pendapat yang bersumber dari data yang telah diatur,
b. Hirarki Data
yang terdiri atas elemen data, rekaman (record) dan berkas (file).
sebuah berkas (dengan ekstensi DBD biasa disebut istilah basis data).
Istilah yang tidak tepat ini kemudian diluruskan kembali oleh pencipta
dipakai,
26
untuk diperiksa dengan mengambil sampel darah atau urine atau sampel
lainnya.
pemeriksaan.
masyarakat.
b. Visi
c. Misi
pelayanan terbaik.
28
Ada tiga edisi Visual Basic 6.0 yang dikeluarkan oleh Microsoft ialah
sebagai berikut:
1. Standard Edition
2. Professional Edition
Program ini tidak ada perbedaan dengan standart edition, hanya ada
tambahan yaitu:
3. Enterprise Edition
e. SQL Debugging.
a. Tampilan Microsoft Visual Basic dapat dilihat pada gambar 2.1. Kotak
1. Title Bar.
Close
Maxzimize
Minimize
2. Menu Bar.
3. Toolbar.
4. Form.
5. Jendela project.
6. Toolbox.
dalam form.
7. Jendela properties.
8. Form layout.
dijalankan.
9. Code Editor.
BAB III
METODELOGI PENELITIAN
A. Studi Lapangan
a. Daftar Pemeriksaan
1) Kode Periksa
2) Nama Periksa
3) Harga
4) Jumlah
b. Data Pembayaran
1) No Faktur
2) Tanggal
3) Kode Periksa
4) Kode Analis
5) Harga
6) Jumlah Periksa
7) Total Harga
8) Total Bayar
9) Dibayar
10) Kembali
36
c. Data Analis
1) Login
2) Kode Analis
3) Nama Analis
d. Data Transaksi
1) Nomor
2) Kode
3) Nama
4) Harga
5) Jumlah
6) Total
1. Metode Wawancara
2. Metode Observasi
dan laporan.
3. Metode Pustaka
a. Studi Literatur
b. Dokumentasi
C. Metode Kegiatan
5. Mengkompilasi program,
6. Menguji program,
D. Analisis Data
BAB IV
PEMBAHASAN
A. Hasil Kegiatan
1. Identifikasi masalah
2. Observasi
2) Tabel Pembayaran
4) Tabel Transaksi
b. Data-data output
1) Faktur Pembayaran
2) Laporan Pembayaran
3. Pemecahan Masalah
6.0, sehingga dapat membantu melayani pasien dengan cepat dan tepat
B. Pengembangan Sistem
tersebut yaitu:
a. Software
b. Hardware
Harddisk min 20 GB
sistem yang akan ditangani. Hal ini digunakan untuk menentukan jadwal
DFD konteks (atau sering juga disebut diagram konteks). DFD (Data
Pimpinan Laboratorium
Laporan Transaksi
Laporan Transaksi
Laporan Data Pemeriksaan Faktur Pembayaran
Analis
tahapan yang dilakukan adalah dengan membuat diagram alur data konteks,
seperti gambar 4.2. Pada tahap selanjutnya, tahapan analisis sistem, DAD
No. DAD :1
Nama DAD : Penanganan
1.1
Mencatat
Pemeriksaan
Catatan
Catatan
Waktu
Jumlah Pembayaran
pemeriksaan Pemeriksaan
Perhitungan
Pembayaran
waktu pemeriksaan
Pemeriksaan
2.1
Membuat
Laporan
Persediaan Dapat diperiksa
3.1
Identitas Memproses
Pemeriksaan
Data Pemerikasaan
Pasien
Pemeriksaan
No. DAD :2
Nama DAD : Pembuatan Laporan Pembayaran
Analis
2.1.1
Cek Jenis
periksa
Waktu Pemeriksaan
2.1.2
Pemilihan
Pemeriksan
Rincian Pemeriksaan
2.1.3
Membuat
Rincian
Pemeriksaan
laboratorium.
sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan
masing-masing relasi tersusun atas tupel atau baris atau atribut. Relasi
data dan menggunakan kunci tamu untuk berhungan dengan relasi lain.
Entitas yang ada pada suatu sistem umumnya banyak. Antar entitas
antar entitas di dalam diagram stuktur data dinyatakan dengan garis dan
program.
a. Hubungan ( Relations ).
C. Hasil Pemrograman
Pada form ini terdapat menu help dan keluar, dua tombol Masuk dan
Baru, jika tombol masuk diklik maka akan keluar menu login (gambar 4.8).
password saja. Hasil program pada saat dijalankan terlihat pada gambar 4.9.
Setelah di enter akan keluar pesan sukses dan masuk program menu
utama.
Jika login salah dan belum terdaftar maka akan keluar perintah pesan
mengeklik tombol Baru maka akan muncul form data analis sebagai
berikut.
Pada form ini terdapat tombol edit, input, hapus dan tutup. Dari ke tiga
tombol kecuali tutup, jika diklik maka akan muncul tombol simpan dan
batal. Jika isian belum lengkap maka akan keluar pesan seperti gambar 4.13
51
Pada tombol edit jika kode belum terdaftar kemudian dienter maka
Pada menu ini muncul menu pilihan file, edit, laporan, abaout, help dan
keluar.
52
Pada form pemeriksaan terdapat tombol input, edit, hapus dan tutup.
Jika klik tombol input maka akan berubah tombol simpan selanjutnya
sama dengan tombol yang lain. Pada menu ini kode periksa akan
muncul secara otomatis secara terurut mulai dari 0001 sampai 9999.
Jika pengisian data belum lengkap maka akan keluar pesan seperti pada
gambar 4.17
e. Menu Pembayaran
Pada form ini terdapat pilihan pengisian pada grid, ketika proses
gambar 4.18.
gambar 4.19.
54
belum lengkap maka akan keluar pesan seperti gambar 4.20, dan gambar
4.21.
berdasarkan faktur, tanggal, kode periksa, kode analis dan secara umum
juga dapat dicari dengan memasukkan kode yang akan dicari seperti
g. Menu Edit
digunakan menu edit pembayaran seperti pada gambar 4.24 berikut ini.
Menu edit yang lain adalah menu edit jumlah pemeriksaan yang
h. Menu Laporan
Menu laporan ini dibuat dengan crystal report dan tata letaknya disatukan
dengan tampilan pada gambar 4.26. Untuk hasil laporan dapat dilihat
pada lampiran.
Pada menu ini terdapat dua pilihan yaitu hapus faktur dan hapus
Pada menu hapus ini hanya memasukkan kode faktur maka faktur akan
Jika kode faktur suadah dimasukkan dan tekan enter maka akan keluar
j. Menu Help
k. Menu About
Pada menu about ini menceritakan tentang data dari penulis yang
Pada menu bantu ini terdapat tombol OK, tombol ini untuk
BAB V
PENUTUP
A. Simpulan
3. Dari hasil aplikasi program baru ini diharapkan akan lebih bagus dan lebih
mudah dipahami oleh para pengguna karena dalam aplikasi program baru
B. Saran
DAFTAR PUSTAKA
64
Listing program.
Login Analis
Option Explicit
Dim Pesan As String
'Transaksi.TxtNamaAnls = NamaAnalis
Else
Pesan = MsgBox(" Maaf Password Anda Salah!Silahkan daftar dulu!", 0,
"Peringatan")
TxtLogin = ""
TxtLogin.SetFocus
End If
End If
End Sub
Menu Utama
Dim Pesan As String
Dim Bergerak As Integer
Dim Teks As String
Sub Form_Activate()
If Login = False Then
Menu.MnFile.Visible = False
Menu.MnPencarian.Visible = False
Menu.mnlapcrystal.Visible = False
Menu.MnPerubahan.Visible = False
Menu.MnHapus.Visible = False
Menu.MnAbout.Visible = False
Else
Menu.MnFile.Visible = True
Menu.MnPencarian.Visible = True
Menu.mnlapcrystal.Visible = True
Menu.MnPerubahan.Visible = True
Menu.MnHapus.Visible = True
Menu.MnAbout.Visible = True
Command1.Visible = False
Command2.Visible = False
Frame1.Visible = False
End If
End Sub
Data Analis
Function JmlAnalis()
MJmlanls = RSAnalis.RecordCount
SkinLabel6.Caption = MJmlanls
End Function
Else
With RSAnalis
.AddNew
!Login = Text1
!KodeAnls = Text2
!NamaAnls = Text3
.Update
End With
Kosongkan
Semula
TidakSiapIsi
JmlAnalis
End If
End If
Case 1 'Edit
If Command1(1).Caption = "&Edit" Then
Command1(1).Caption = "&Simpan"
Command1(0).Enabled = False
Command1(2).Enabled = False
Command1(3).Caption = "&Batal"
Text1.SetFocus
Else
If Text1 = "" Or Text2 = "" Or Text3 = "" Then
MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data"
If Text1 = "" Then
Text1.SetFocus
ElseIf Text2 = "" Then
Text2.SetFocus
ElseIf Text3 = "" Then
Text3.SetFocus
End If
Else
With RSAnalis
.Edit
!Login = Text1
!KodeAnls = Text2
!NamaAnls = Text3
.Update
End With
Kosongkan
Semula
TidakSiapIsi
JmlAnalis
End If
End If
Case 2 'Hapus
Text1.SetFocus
70
Command1(3).Caption = "&Batal"
Command1(0).Enabled = False
Command1(1).Enabled = False
Case 3 'keluar
Select Case Command1(3).Caption
Case "&Tutup"
Unload Me
Case "&Batal"
TidakSiapIsi
Semula
Kosongkan
End Select
End Select
End Sub
x = MsgBox("Login Analis <<" & Text1 & ">> belum terdaftar, coba
kode lain...!", 0, "Informasi")
Text1.SetFocus
End If
End With
'untuk hapus
ElseIf Command1(2).Caption = "&Hapus" Then
With RSAnalis
.index = "Logindex"
.Seek "=", Text1
If Not .NoMatch Then
Tampilkan
x = MsgBox("Yakin Data Ini Akan Dihapus ...?", vbYesNo, "Konfirmasi
Hapus")
If x = vbYes Then
.Delete
Kosongkan
TidakSiapIsi
Semula
JmlAnalis
Command1(2).SetFocus
Else
Kosongkan
TidakSiapIsi
Semula
Command1(2).SetFocus
End If
Else
x = MsgBox("Login Analis <<" & Text1 & ">> belum terdaftar", 0,
"Informasi")
Text1.SetFocus
End If
End With
End If
End If
End Sub
Text2.SetFocus
Else
Text3.SetFocus
End If
End With
End If
End If
End Sub
Sub TidakSiapIsi()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
End Sub
Sub SiapIsi()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
End Sub
Sub Kosongkan()
Text1 = ""
Text2 = ""
Text3 = ""
End Sub
Sub Tampilkan()
With RSAnalis
Text2 = !KodeAnls
Text3 = !NamaAnls
End With
End Sub
73
Sub Semula()
Kosongkan
TidakSiapIsi
Command1(0).Caption = "&Input"
Command1(1).Caption = "&Edit"
Command1(2).Caption = "&Hapus"
Command1(3).Caption = "&Tutup"
Command1(0).Enabled = True
Command1(1).Enabled = True
Command1(2).Enabled = True
End Sub
Data periksa
Function JmlPeriksa()
MJmlPrsk = Data1.Recordset.RecordCount
Text5.Text = MJmlPrsk
End Function
!Harga = Val(Text3)
!Jumlah = Val(Text4)
.Update
End With
Kosongkan
Semula
TidakSiapIsi
JmlPeriksa
End If
End If
Case 1 'Edit
If Command1(1).Caption = "&Edit" Then
Command1(1).Caption = "&Simpan"
Command1(0).Enabled = False
Command1(2).Enabled = False
Command1(3).Caption = "&Batal"
Text1.SetFocus
Else
If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Then
MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data"
If Text1 = "" Then
Text1.SetFocus
ElseIf Text2 = "" Then
Text2.SetFocus
ElseIf Text3 = "" Then
Text3.SetFocus
ElseIf Text4 = "" Then
Text4.SetFocus
End If
Else
With Data1.Recordset
.Edit
!KodePrks = Text1
!NamaPrsk = Text2
!Harga = Val(Text3)
!Jumlah = Val(Text4)
.Update
End With
Kosongkan
Semula
TidakSiapIsi
JmlPeriksa
End If
End If
Case 2 'Hapus
Text1.SetFocus
Command1(3).Caption = "&Batal"
76
Command1(0).Enabled = False
Command1(1).Enabled = False
Case 3 'keluar
Select Case Command1(3).Caption
Case "&Tutup"
Unload Me
Case "&Batal"
TidakSiapIsi
Semula
Kosongkan
End Select
End Select
End Sub
TidakSiapIsi
Semula
Command1(2).SetFocus
End If
Else
x = MsgBox("Kode <<" & Text1 & ">> tidak terdaftar", 0, "Informasi")
Text1.SetFocus
End If
End With
End If
End If
End Sub
Sub TidakSiapIsi()
Text1.Enabled = False: Text2.Enabled = False
Text3.Enabled = False: Text4.Enabled = False
End Sub
78
Sub SiapIsi()
Text1.Enabled = True: Text2.Enabled = True
Text3.Enabled = True: Text4.Enabled = True
End Sub
Sub Kosongkan()
Text1 = "": Text2 = ""
Text3 = "": Text4 = ""
End Sub
Sub Tampilkan()
With Data1.Recordset
Text2 = !NamaPrsk
Text3 = !Harga
Text4 = !Jumlah
End With
End Sub
Sub Semula()
Kosongkan
TidakSiapIsi
Command1(0).Caption = "&Input"
Command1(1).Caption = "&Edit"
Command1(2).Caption = "&Hapus"
Command1(3).Caption = "&Tutup"
Command1(0).Enabled = True
Command1(1).Enabled = True
Command1(2).Enabled = True
End Sub
Transaksi Pembayaran
If .RecordCount = 0 Then
Urutan = "0001"
Else
.MoveLast
Hitung = Val(!Faktur) + 1
Urutan = Right("0000" & Hitung, 4)
End If
TxtNoFaktur = Urutan
End With
End Sub
End Sub
End If
DTTRans.Recordset.Edit
DTTRans.Recordset!Kode = DTPeriksa.Recordset!KodePrks
DTTRans.Recordset!Nama = DTPeriksa.Recordset!NamaPrsk
DTTRans.Recordset!Harga = DTPeriksa.Recordset!Harga * 1.1
DTTRans.Recordset.Update
DBGrid1.Col = 4
DBGrid1.Refresh
Exit Sub
End If
If DBGrid1.Col = 2 Then
DTTRans.Recordset.Edit
DTTRans.Recordset!Kode = DTPeriksa.Recordset!KodePrks
DTTRans.Recordset!Nama = DTPeriksa.Recordset!NamaPrsk
DTTRans.Recordset!Harga = DTPeriksa.Recordset!Harga * 1.1
DTTRans.Recordset.Update
DBGrid1.Col = 4
DBGrid1.Refresh
Exit Sub
End If
If DBGrid1.Col = 3 Then
DTTRans.Recordset.Edit
DTTRans.Recordset!Harga = DBGrid1.SelText
DTTRans.Recordset!total = DBGrid1.SelText * DTTRans.Recordset!Jumlah
DTTRans.Recordset.Update
TxtJmlPeriksa = Str(JmlPrks)
TxtTotalHarga = Format(JMLHarga, "#,###")
TxtJmlItem = Str(JMLItem)
DBGrid1.Col = 4
Exit Sub
End If
If DBGrid1.Col = 4 Then
DTTRans.Recordset.Edit
DTTRans.Recordset!Jumlah = DBGrid1.SelText
DTTRans.Recordset!total = DBGrid1.SelText * DTTRans.Recordset!Harga
DTTRans.Recordset.Update
TxtTotalHarga.Text = DBGrid1.Columns(5).Value
TxtJmlPeriksa = Str(JmlPrks)
TxtTotalHarga = Format(JMLHarga, "#,###")
TxtJmlItem = Str(JMLItem)
DBGrid1.Col = 5
End If
If DBGrid1.Col = 5 Then
DTTRans.Recordset.MoveNext
DBGrid1.Col = 1
End If
Exit Sub
81
On Error GoTo 0
'salahProses:
'Pesan = MsgBox("Ada kesalahan proses program", , "Informasi")
End Sub
Sub KosongkanTabel()
If Not DTTRans.Recordset.RecordCount = 0 Then
DTTRans.Recordset.MoveFirst
Do While Not DTTRans.Recordset.EOF
DTTRans.Recordset.Delete
DTTRans.Recordset.MoveNext
Loop
End If
For i = 1 To 30
DTTRans.Recordset.AddNew
DTTRans.Recordset!Nomor = i
DTTRans.Recordset.Update
Next i
DTTRans.Recordset.MoveFirst
DBGrid1.SetFocus
DBGrid1.Col = 1
End Sub
Function JMLItem()
Dim RSJmlItem As Recordset
Set RSJmlItem = DTBS.OpenRecordset("select count(Kode) as jmlitem from
Transaksi where total<>0")
JMLItem = RSJmlItem!JMLItem
End Function
Function JmlPrks()
Dim rsJMLPRKS As Recordset
Set rsJMLPRKS = DTBS.OpenRecordset("select sum(Jumlah) as jmlperiksa
from Transaksi where jumlah<>0")
JmlPrks = rsJMLPRKS!JmlPeriksa
End Function
Function JMLHarga()
Dim RSTotal As Recordset
Set RSTotal = DTBS.OpenRecordset("Select sum(Total) as THarga from
Transaksi", dbOpenDynaset)
82
JMLHarga = RSTotal!THarga
End Function
CmdSimpan.SetFocus
End If
End If
End Sub
DTTRans.Recordset.MoveNext
Loop
'Pengurangan Jumlah Periksa
DTTRans.Recordset.MoveFirst
Do While Not DTTRans.Recordset.EOF
If DTTRans.Recordset!Kode <> vbNullString Then
DTPeriksa.Recordset.index = "Periksadex"
DTPeriksa.Recordset.Seek "=", DTTRans.Recordset!Kode
If Not DTPeriksa.Recordset.NoMatch Then
DTPeriksa.Recordset.Edit
DTPeriksa.Recordset!Jumlah = DTPeriksa.Recordset!Jumlah -
DTTRans.Recordset!Jumlah
DTPeriksa.Recordset.Update
End If
End If
DTTRans.Recordset.MoveNext
Loop
KosongkanHitungan
Form_Activate
Call Cetak
End Sub
Function Cetak()
DTBayar.RecordSource = "select * from DataPembayaran Order By Faktur Desc,
Nomor Asc"
DTBayar.Refresh
Tampil.Show
Dim MSubtotal, MTotal As Long
Dim MNo, MHal, MBaris As Integer
Dim MJumlah As Double
Dim Mharga, Mjual, mhasil As Double
Dim MGrs As String
Tampil.Font = "Courier New"
DTBayar.Recordset.MoveFirst
mtotalharga = 0
mtotalJual = 0
Mtotalhasil = 0
MNo = 0
84
MHal = 0
Do While DTBayar.Recordset!Faktur = FakturTerakhir
MHal = MHal + 1
DTAnalis.Recordset.index = "Analisdex"
DTAnalis.Recordset.Seek "=", DTBayar.Recordset!KodeAnls
Tampil.Print
Tampil.FontBold = True
Tampil.FontSize = 13
Tampil.Print Tab(20); "Faktur Pembayaran Laboratorium SPEKTRONIK"
Tampil.Print
Tampil.FontBold = False
Tampil.FontSize = 9
Tampil.Print Tab(5); "Faktur : "; DTBayar.Recordset!Faktur
Tampil.Print Tab(5); "Tanggal : "; Format(Date, "DD-MMMM-YYYY")
Tampil.Print Tab(5); "Analis : "; DTAnalis.Recordset!NamaAnls
Tampil.Print Tab(85); "Hal :"; Format(MHal, "###")
MGrs = String$(90, "-")
Tampil.Print Tab(5); MGrs
Tampil.Print Tab(5); "No";
Tampil.Print Tab(10); "Nama Periksa";
Tampil.Print Tab(50); "Harga";
Tampil.Print Tab(65); "JML";
Tampil.Print Tab(80); "Total"
Tampil.Print Tab(5); MGrs
MBaris = 0
Do While DTBayar.Recordset!Faktur = FakturTerakhir
MNo = MNo + 1
DTPeriksa.Recordset.index = "Periksadex"
DTPeriksa.Recordset.Seek "=", DTBayar.Recordset!KodePrks
Mharga = DTBayar.Recordset!Harga
Mjual = DTBayar.Recordset!Jumlah
mhasil = Mharga * Mjual
Tampil.Print Tab(4); RKanan(MNo, "###");
Tampil.Print Tab(10); DTPeriksa.Recordset!NamaPrsk;
Tampil.Print Tab(45); "Rp."; RKanan(Mharga, "###,###,###");
Tampil.Print Tab(63); RKanan(Mjual, "#,###");
Tampil.Print Tab(75); "Rp."; RKanan(mhasil, "###,###,###")
MBaris = MBaris + 1
DTBayar.Recordset.MoveNext
Loop
Tampil.Print Tab(5); MGrs
Tampil.Print Tab(5); "Jumlah Total";
Tampil.Print Tab(63); RKanan(JumlahPeriksa, "#,###");
Tampil.Print Tab(75); "Rp."; RKanan(JumlahTotal, "###,###,###");
Tampil.Print Tab(5); MGrs
Tampil.Print Tab(5); "Jumlah Bayar";
Tampil.Print Tab(75); "Rp."; RKanan(JumlahBayar, "###,###,###");
85
Function JumlahItem()
Dim RSJmlItem As Recordset
Set RSJmlItem = DTBS.OpenRecordset("Select Count(KodePrks) As JmlItem
From DataJual Where Faktur In(Select Max(Faktur)From DataPembayaran)")
JumlahItem = RSJmlItem!JMLItem
End Function
Function JumlahPeriksa()
Dim RSJmlPeriksa As Recordset
Set RSJmlPeriksa = DTBS.OpenRecordset("Select Sum(Jumlah) As JmlPeriksa
From DataPembayaran Where Faktur In(Select Max(Faktur)From
DataPembayaran)")
JumlahPeriksa = RSJmlPeriksa!JmlPeriksa
End Function
Function JumlahTotal()
Dim RSJmlTotal As Recordset
Set RSJmlTotal = DTBS.OpenRecordset("Select Sum(Jumlah*harga) As
JmlTotal From DataPembayaran Where Faktur In(Select Max(Faktur)From
DataPembayaran)")
JumlahTotal = RSJmlTotal!JmlTotal
End Function
Function JumlahBayar()
Dim RSJmlBayar As Recordset
Set RSJmlBayar = DTBS.OpenRecordset("Select DiBayar As JmlBayar From
DataPembayaran Where Faktur In(Select Max(Faktur)From DataPembayaran)")
JumlahBayar = RSJmlBayar!JmlBayar
End Function
Function JumlahKembali()
Dim RSJmlKembali As Recordset
Set RSJmlKembali = DTBS.OpenRecordset("Select Kembali As JmlKembali
From DataPembayaran Where Faktur In(Select Max(Faktur)From
DataPembayaran)")
86
JumlahKembali = RSJmlKembali!JmlKembali
End Function
Function FakturTerakhir()
Dim RSFaktur As Recordset
Set RSFaktur = DTBS.OpenRecordset("Select Max(Faktur)as FakturTerbesar
from DataPembayaran ", dbOpenDynaset)
FakturTerakhir = RSFaktur!FakturTerbesar
End Function
Sub Terkunci()
TxtNoFaktur.Enabled = False: TxtTglFaktur.Enabled = False
TxtNamaAnls.Enabled = False: TxtJmlPeriksa.Enabled = False
TxtTotalHarga.Enabled = False: txtkembali.Enabled = False
TxtKodeAnls.Enabled = False: TxtJmlItem.Enabled = False
End Sub
Tampil/ cetak
Pencarian data
Dim DB As Database
Dim RSBayar, RSAnalis, RSPeriksa As Recordset
Dim Pesan As String
Sub Form_Load()
Skin1.LoadSkin App.Path + "\b-studio.skn"
Skin1.ApplySkin hWnd
Set DB = OpenDatabase("C:\Pembayaran\Database\Induk.mdb")
Set RSBayar = DB.OpenRecordset("DataPembayaran")
Set RSAnalis = DB.OpenRecordset("Analis")
Set RSPeriksa = DB.OpenRecordset("Pemeriksaan")
End Sub
88
Text5.Enabled = False
DTPembayaran.RecordSource = "Select * From DataPembayaran Where
KodePrks= '" & CboKodePrks & "'"
DTPembayaran.Refresh
With DTPeriksa.Recordset
.index = "Periksadex"
.Seek "=", DTPembayaran.Recordset!KodePrks
Text3 = Space(1) & DTPeriksa.Recordset!NamaPrsk
Text5 = Space(1) & "Rp." & DTPeriksa.Recordset!Harga +
(DTPeriksa.Recordset!Harga * 0.1)
DTHasil.RecordSource = "Select distinct Faktur,Format(Tanggal,'DD-MMM-
YYYY') as Tgl_Jual,NamaAnls As Analis,datapembayaran.Jumlah,
datapembayaran.Harga*datapembayaran.Jumlah As Total From Data
Pembayaran,Analis where KodePrks='" & CboKodePrks & "' and Data
Pembayaran.KodeAnls=Analis.KodeAnls"
'DTHasil.Refresh
End With
End Sub
If KeyAscii = 13 Then
DTHasil.RecordSource = "Select Faktur,Format(Tanggal,'DD-MMM-
YYYY')As Tgl_Jual,KodePrks as [Kode Periksa],KodeAnls as [Kode
Analis],Harga,Jumlah,Harga*Jumlah As Total From DataPembayaran where
Faktur='" & TxtCari & "' or Cdate(Tanggal)='" & TxtCari & "' or KodePrks='" &
TxtCari & "' or KodeAnls='" & TxtCari & "'"
DTHasil.Refresh
If DTHasil.Recordset.EOF Then
Pesan = MsgBox("Maaf data tidak ditemukan", , "Informasi")
TxtCari.SetFocus
Exit Sub
End If
End If
End Sub
93
Edit Periksa
SQLPeriksa = "Select * From DataPembayaran where Faktur='" & Combo1 & "'
and datapembayaran.KodePrks='" & Combo2 & "'"
Set RSBayar = DTBS.OpenRecordset(SQLPeriksa)
TxtJumlah = RSBayar!Jumlah
TxtTotalSemula = Val(TxtHarga) * Val(TxtJumlah)
End Sub
End Sub
95
Sub Gelap()
TxtNamaPrks.Enabled = False
TxtHarga.Enabled = False
TxtJumlah.Enabled = False
TxtTotalSemula.Enabled = False
TxtTotalSekarang.Enabled = False
End Sub
Perubahan Bayar
Dim DB As Database
Dim RS As Recordset
Sub Form_Activate()
Call Panggil
Gelap
TxtFaktur.SetFocus
Set RS = DTBS.OpenRecordset("DataPembayaran")
End Sub
Private Sub Form_Load()
Skin1.LoadSkin App.Path + "\b-studio.skn"
Skin1.ApplySkin hWnd
End Sub
Private Sub TxtFaktur_Keypress(KeyAscii As Integer)
'If KeyAscii = 27 Then Unload Me
TxtFaktur.MaxLength = 6
If KeyAscii = 13 Then
Dim SQLCari As String
SQLCari = "Select * From DataPembayaran Where Faktur = '" & TxtFaktur &
"'"
Dim RS As Recordset
Set RS = DTBS.OpenRecordset(SQLCari)
If RS.EOF Then
MsgBox "Maaf Nomor Faktur Tidak Ditemukan", , "Informasi"
TxtFaktur.SetFocus
Exit Sub
End If
Dim RSTtlBayar As Recordset
SQLGRTotal = "Select Sum(TotalHarga) as TtlBayar From DataPembayaran
Where Faktur='" & TxtFaktur & "'"
Set RSTtlBayar = DTBS.OpenRecordset(SQLGRTotal)
TxtTotalHarga = RSTtlBayar!TtlBayar
TxtDibayar = RS!Dibayar
TxtKembali1 = RS!Kembali
TxtEditBayar.SetFocus
End If
End Sub
96
Sub Gelap()
TxtTotalHarga.Enabled = False
TxtDibayar.Enabled = False
TxtKembali1.Enabled = False
TxtKembali2.Enabled = False
End Sub
Laporan Pembayaran
Sub Form_Load()
Skin1.LoadSkin App.Path + "\B-STUDIO.skn"
Skin1.ApplySkin hWnd
DTBayar.RecordSource = "Select Distinct Tanggal From DataPembayaran order
By 1"
DTBayar.Refresh
Do Until DTBayar.Recordset.EOF
CboHarian.AddItem DTBayar.Recordset!Tanggal
CboAwal.AddItem Format(DTBayar.Recordset!Tanggal, "YYYY ,MM, DD")
CboAkhir.AddItem Format(DTBayar.Recordset!Tanggal, "YYYY ,MM, DD")
97
CboBulanan.AddItem DTBayar.Recordset!Tanggal
DTBayar.Recordset.MoveNext
Loop
DTBayar.RecordSource = "Select Distinct KodeAnls From DataPembayaran
order By 1"
DTBayar.Refresh
Do Until DTBayar.Recordset.EOF
List1.AddItem DTBayar.Recordset!KodeAnls
DTBayar.Recordset.MoveNext
Loop
DTBayar.RecordSource = "Select Distinct KodePrks From DataPembayaran order
By 1"
DTBayar.Refresh
Do Until DTBayar.Recordset.EOF
List2.AddItem DTBayar.Recordset!KodePrks
DTBayar.Recordset.MoveNext
Loop
DTBayar.RecordSource = "Select Distinct Faktur From DataPembayaran order
By 1"
DTBayar.Refresh
Do Until DTBayar.Recordset.EOF
List3.AddItem DTBayar.Recordset!Faktur
DTBayar.Recordset.MoveNext
Loop
End Sub
Private Sub SSTab1_GotFocus()
If SSTab1.Caption = "Laporan Harian" Then
CboHarian.SetFocus
ElseIf SSTab1.Caption = "Laporan Mingguan" Then
CboAwal.SetFocus
ElseIf SSTab1.Caption = "Laporan Bulanan" Then
CboBulanan.SetFocus
End If
End Sub
'Laporan Harian
Private Sub CboHarian_Click()
CrystalReport1.SelectionFormula = "Totext({DataPembayaran.Tanggal})='" &
CboHarian & "'"
CrystalReport1.ReportFileName = "C:\Pemayaran\Laporan\Lap Jual
Harian.rpt"
CrystalReport1.WindowState = crptMaximized
CrystalReport1.RetrieveDataFiles
CrystalReport1.Action = 1
End Sub
Hapus
Private Sub Command1_Click()
Unload Me
Hapus_Faktur.Show
End Sub
Private Sub Command2_Click()
Unload Me
Hapus_Periksa.Show
End Sub
Hapus Faktur
Dim RS As Recordset
Private Sub Form_Load()
Skin1.LoadSkin App.Path + "\B-STUDIO.skn"
Skin1.ApplySkin hWnd
Call Panggil
Set RS = DTBS.OpenRecordset("DataPembayaran")
TxtHapusFaktur.MaxLength = 6
End Sub
If KeyAscii = 13 Then
Dim RSCari As Recordset
Set RSCari = DTBS.OpenRecordset("Select * From DataPembayaran where
Faktur='" & TxtHapusFaktur & "'", dbOpenDynaset)
If RSCari.EOF Then
MsgBox "Faktur tidak ditemukan", , "Informasi"
TxtHapusFaktur.SetFocus
Exit Sub
101
End If
Pesan = MsgBox("Yakin Faktur ini akan di hapus", vbYesNo, "Konfirmasi
Hapus")
If Pesan = vbYes Then
Dim SQLHapus As String
SQLHapus = "delete from datapembayaran where faktur='" &
TxtHapusFaktur & "'"
DTBS.Execute (SQLHapus)
MsgBox "Faktur << " & TxtHapusFaktur & " >> telah dihapus", , "Informasi
Hapus"
Unload Me
Hapus.Show
Else
TxtHapusFaktur.SetFocus
End If
End If
End Sub
Hapus periksa
Dim RS As Recordset
Private Sub Form_Load()
Skin1.LoadSkin App.Path + "\B-STUDIO.skn"
Skin1.ApplySkin hWnd
Call Panggil
Set RS = DTBS.OpenRecordset("DataPembayaran")
TxtHapusFaktur.MaxLength = 6
End Sub
If KeyAscii = 13 Then
Dim RSCari As Recordset
Set RSCari = DTBS.OpenRecordset("Select * From DataPembayaran where
Faktur='" & TxtHapusFaktur & "'", dbOpenDynaset)
If RSCari.EOF Then
MsgBox "Faktur tidak ditemukan", , "Informasi"
TxtHapusFaktur.SetFocus
Exit Sub
End If
Pesan = MsgBox("Yakin Faktur ini akan di hapus", vbYesNo, "Konfirmasi
Hapus")
If Pesan = vbYes Then
Dim SQLHapus As String
SQLHapus = "delete from datapembayaran where faktur='" &
TxtHapusFaktur & "'"
102
DTBS.Execute (SQLHapus)
MsgBox "Faktur << " & TxtHapusFaktur & " >> telah dihapus", , "Informasi
Hapus"
Unload Me
Hapus.Show
Else
TxtHapusFaktur.SetFocus
End If
End If
End Sub
Menu About
Private Sub Command1_Click()
Unload Me
Menu.Show
End Sub
Modul Pembayaran
Option Explicit
Public Login As Boolean
Public DTBS As Database