PENDAHULUAN
ini semakin
pesat. Komputer merupakan salah satu bentuk teknologi yang
berperan untuk
membantu pekerjaan manusia agar dapat lebih mudah, efektif
dan efisien.
Berbagai kegiatan yang pada awalnya dilakukan secara
pelayanan dan
1
perpustakaan. Walaupun telah menggunakan komputer
Buku Tamu
pada Perpustakan.
2
2. Bagaimana prosedur penggunaan Database tersebut
dalam sistem
informasi Perpustakaan.
3
BAB II
LANDASAN TEORI
data.
4
Beberapa hal yang harus ada dalam sebuah sistem
informasi yaitu :
5
itu sistem analis juga membutuhkan jadwal perancangan
sistem.
program aplikasi.
melakukan
6
operasi terhadap file-file, seperti:
mengurangi atau
pengolahan data
berikut.
programmer yang
7
berbeda maka ada kemungkinan terjadi penggandaan beberapa
pemborosan ruang
Inconsistency data
data yang
mengalami redudansi.
format yang
mengakses data.
8
Untuk mengatasi masalah tersebut, maka data yang diletakkan
dalam satu
aplikasinya
mudah dibuat.
C. Keamanan data
hak untuk
aplikasinya
adalah cara
9
untuk menghubungkan file-file tersebut. File tersebut
dihubungkan dengan
mewakili record, setiap orang atau objek yang mewakili satu field
kunci.
e. Multiple User
akses dan
pemakai untuk
banyak orang,
10
Kesulitan untuk mengakses data tertentu akan mucul jika
belum tersedia
dengan adanya
g. Kebebasan data
aplikasi tersebut
juga harus diubah. Hal ini disebut bahasa program yang telah
dibuat DBMS,
menyebabkan
11
program harus diubah pada saat itu.
menangani data
sehingga bisa
Sistem adalah
sekumpulan data yang saling berelasi dan satu set program yang
digunakan untuk
untuk
pemrogram dari
12
masalah penyusunan file yang kacau. Sebuah sistem database
pada dasarnya
yang berbasis
elektronik seperti
yang berbasis
Microsoft windows.
pemrograman Object
13
Oriented Programing (OOP), yaitu pemrograman yang berorientasi
objek. Visual
yang cukup
dipelajari. Visual basic telah menjadi tools yang terkenal bagi para
14
interface memegang peranan penting, karena dalam pemakaian
program pada
program pada
properties dan
program dapat
langsung dijalankan
15
b. Pemrograman Visual
aplikasi
menggunakan
mudah dan
pada pembuatan
pengembangan suatu
pemrograman
oleh kejadian
pemrograman
16
berorientasi objek, komponen-komponen yang menyusun
antarmuka berupa
kemampuan
sifat.
explorer
17
Tool Box From Windows Jendela Kode Properties From Layout
winndows
Title Bar
6.0 yang
berfungsi untuk
18
menampilkan judul atau nama jendela. Selain itu juga berfungsi
bar tersebut dan untuk mengatur ukuran Title Bar, Menu Bar,
Toolbars, Project
Form Layout
Window.
Menu Bar
bar yang
mengoperasikan
basic terbuka
dapat dilihat tiga belas menu utama yaitu file, edit, view, project,
format, debug,
19
run, quey, diagram, tools, addins, window, dan help. Menu bar
mempunyai
fungsi yang
berbeda.
Toolbars
tombol yang
menjalankan
menampilkan
toolbars standar.
Project Explorer
merupakan
20
program aplikasi itu sendiri. Dalam visual basic, file project
disimpan dengan
menyimpan seluruh
komponen program.
terkandung di dalamnya.
Form
user interface.
21
Merupakan tampilan berbasis grafis yang dimasukkan pada
tersebut
digunakan ketika
22
memilih kontrol yang sudah berada pada form.
menampilkan image
WMF
dapat diperbaiki.
dipakai oleh
kontrol
lainnya.
setiap form
23
dan digunakan untuk membangkitkan event proses tertentu
ketika pemakai
atau false.
pilihan terhadap
satu.
ListBox di mana
maupun pemilihan.
24
k) HScrollbar/VScrollbar digunakan untuk membentuk scrollbar
berdiri
sendiri.
berdasarkan
untuk
seperti garis,
digunakan
diketahui
25
dibandingkan dengan Picture Box.
eksternal seperti
lembaran dapat
grid seperti di
worksheet excel.
dalam
Properties
26
Properties merupakan nilai yang dimiliki oleh sebuah objek
Jendela Code
dalam visual
instruksi untuk
ditambahai kode-kode
membatalkan
digunakan untuk
27
mengatur posisi dari form pada form saat program dijalankan.
Pada saat
akan berubah
memindah posisi
form pada layar monitor dapat dilakukan dengan proses drag and
drop.
28
BAB III
melaksanakan penelitian.
data yang
diperlukan adalah :
dengan cara:
29
a) Pengamatan (Observation)
selama ini.
b) Wawancara (Interview)
diteliti.
30
Penelitian Kepustakaan adalah penelitian dengan sumber-
Komputer,
31
BAB IV
dalam sehari.
32
informasi pengisian buku tamu pada perpustakan ini adalah
sebagai berikut :
a. Tabel Admin
Tabel 4.1 Srtuktur Tabel Admin
buku tamu yang terdiri dari nama field, tipe data, size, dan
keterangan.
33
Jenis_Kelamin Text 20 Jenis
Kelamin
Struktur tabel 4.2 menjelaskan tentang susunan atau tempat
sistem password.
mempermudah dalam
34
merancang suatu program. Diagram alir data merupakan
implementasi dari
Dari diagram alir data yang sudah dibuat pada tahap rancangan
visual basic 6.0 agar computer dapat melakukan apa yang akan
diinginkan.
4.2 Pembahasan
35
sub-sub menu, lalu dipilih sub menu mana yang akan dijalankan
awal seperti pada gambar 4.3 yang merupakan form login admin.
maka akan menuju menu utama yang terdiri dari 4 menu yaitu
gambar 4.4 Selain itu juga terdapat sub menu seperti Data Tamu,
36
Gambar 4.2 Form Menu Utama
37
perpustakan. Form Data Tamu didesaign dengan 2 (dua) tabs.
Saat form data tamu tampil maka kita akan melihat File yang
38
diinput maka data tersebut akan tersimpan dengan menekan
sistem tersebut.
b. Menu Laporan
39
Gambar 4.4 menunjukkan keluaran akhir sebagai laporan
c. Menu Keluar
Didalam menu keluar juga terdapat sub menu yaitu exit yang
berfungsi
40
BAB V
5.1 Kesimpulan
disimpulkan
bahwa:
code-nya.
41
4. Dengan menggunakan sistem informasi yang di usulkan,
5.2 Saran
kebutuhan.
42
cadangan) data untuk menghindari kehilangan data karena
43
DAFTAR PUSTAKA
Yogyakarta.
Winarno, Wing Wahyu, (2006), Sisitem Informasi Manajemen.
44
LINSTING PROGRAM
Form Login
Dim A As Byte
Dim B As Byte
45
'cari nama kasir yang diketik
RSKasir.Open "Select NamaKsr from Kasir where NamaKsr
='" & TxtNamaKsr & "'", Conn
'jika tidak ditemukan, maka
If RSKasir.EOF Then
'batasi akses ke nama kasir 3 kali kesempatan
A=A+1
If 1 - A = 0 Then
MsgBox "Kesempatan ke " & A & " Salah" & Chr(13) & _
"Nama '" & TxtNamaKsr & "' tidak dikenal"
TxtNamaKsr = ""
TxtNamaKsr.SetFocus
ElseIf 2 - A = 0 Then
MsgBox "Kesempatan ke " & A & " Salah" & Chr(13) & _
"Nama '" & TxtNamaKsr & "' tidak dikenal"
TxtNamaKsr = ""
TxtNamaKsr.SetFocus
ElseIf 3 - A = 0 Then
MsgBox "Kesempatan ke " & A & " Salah" & Chr(13) & _
"Nama '" & TxtNamaKsr & "' tidak dikenal" &
Chr(13) & _
"Kesempatan habis, Ulangi dari awal"
'End
Unload Me
End If
Else
'jika nama kasir benar, maka nama kasir menjadi false
46
TxtNamaKsr.Enabled = False
'password kasir menjadi true dan menjadi fokus kursor
TxtPasswordKsr.Enabled = True
TxtPasswordKsr.SetFocus
End If
End If
End Sub
47
TxtPasswordKsr = ""
TxtPasswordKsr.SetFocus
ElseIf 3 - B = 0 Then
MsgBox "Kesempatan ke " & B & " Salah"
'End
Unload Me
End If
Else
'jika nama dan password benar, maka...tutup form login
Unload Me
'panggil menu utama
Menu.Show
End If
End If
End Sub
Form Menu
Private Sub Form_KeyPress(Keyascii As Integer)
If Keyascii = 27 Then End
End Sub
48
End
End Sub
49
End Sub
End Sub
Form Anggota
Sub Form_Load()
Call BukaDB
TxtNomor.MaxLength = 4
50
TxtNama.MaxLength = 20
TxtAlamat.MaxLength = 20
TxtTelepon.MaxLength = 15
KondisiAwal
End Sub
Function CariData()
Call BukaDB
RSAnggota.Open "Select * From Anggota where
NomorAgt='" & TxtNomor & "'", Conn
End Function
51
CmdTutup.Caption = "&Tutup"
CmdInput.Enabled = True
CmdEdit.Enabled = True
CmdHapus.Enabled = True
End Sub
52
CmdEdit.Enabled = False
CmdHapus.Enabled = False
CmdTutup.Caption = "&Batal"
SiapIsi
KosongkanText
Call AutoNomor
TxtNomor.Enabled = False
TxtNama.SetFocus
Else
If TxtNomor = "" Or TxtNama = "" Or TxtAlamat = "" Or
TxtTelepon = "" Then
MsgBox "Data Belum Lengkap...!"
Else
Dim SQLTambah As String
SQLTambah = "Insert Into Anggota
(NomorAgt,NamaAgt,AlamatAgt,TeleponAgt) values ('" &
TxtNomor & "','" & TxtNama & "','" & TxtAlamat & "','" &
TxtTelepon & "')"
Conn.Execute SQLTambah
KondisiAwal
End If
End If
End Sub
53
SQLEdit = "Update Anggota Set NamaAgt= '" &
TxtNama & "', AlamatAgt='" & TxtAlamat & "',TeleponAgt='"
& TxtTelepon & "' where NomorAgt='" & TxtNomor & "'"
Conn.Execute SQLEdit
KondisiAwal
End If
End If
End Sub
54
If CmdInput.Caption = "&Simpan" Then
Call CariData
If Not RSAnggota.EOF Then
TampilkanData
MsgBox "Kode Anggota Sudah Ada"
KosongkanText
TxtNomor.SetFocus
Else
TxtNama.SetFocus
End If
End If
55
End If
Else
MsgBox "Data Tidak ditemukan"
TxtNomor.SetFocus
End If
End If
End If
End Sub
Sub Form_Load()
Call BukaDB
TxtNomor.MaxLength = 4
TxtJudul.MaxLength = 30
TxtPengarang.MaxLength = 20
TxtPenerbit.MaxLength = 30
TxtTahun.MaxLength = 4
56
TxtStok.MaxLength = 3
KondisiAwal
End Sub
Function CariData()
Call BukaDB
RSBuku.Open "Select * From Buku where NomorBk='" &
TxtNomor & "'", Conn
End Function
57
TidakSiapIsi
CmdInput.Caption = "&Input"
CmdEdit.Caption = "&Edit"
CmdHapus.Caption = "&Hapus"
CmdTutup.Caption = "&Tutup"
CmdInput.Enabled = True
CmdEdit.Enabled = True
CmdHapus.Enabled = True
End Sub
58
End Sub
59
If TxtJudul = "" Or TxtPengarang = "" Or TxtPenerbit =
"" Or TxtTahun = "" Or TxtStok = "" Then
MsgBox "Masih Ada Data Yang Kosong"
Else
Dim SQLEdit As String
SQLEdit = "Update Buku Set Judul= '" & TxtJudul & "',
pengarang='" & TxtPengarang & "',penerbit='" & TxtPenerbit
& "', tahun='" & TxtTahun & "',stok='" & TxtStok & "' where
NomorBk='" & TxtNomor & "'"
Conn.Execute SQLEdit
KondisiAwal
End If
End If
End Sub
60
If Len(TxtNomor) < 4 Then
MsgBox "Kode Harus 4 Digit"
TxtNomor.SetFocus
Else
TxtJudul.SetFocus
End If
61
SQLHapus = "Delete From Buku where
NomorBk= '" & TxtNomor & "'"
Conn.Execute SQLHapus
KondisiAwal
Else
KondisiAwal
CmdHapus.SetFocus
End If
Else
MsgBox "Data Tidak ditemukan"
TxtNomor.SetFocus
End If
End If
End If
End Sub
62
If CmdInput.Enabled = True Then
CmdInput.SetFocus
ElseIf CmdEdit.Enabled = True Then
CmdEdit.SetFocus
End If
End If
If Not (Keyascii >= Asc("0") And Keyascii <= Asc("9") Or
Keyascii = vbKeyBack) Then Keyascii = 0
End Sub
Form Kembali
63
RSKembali.Requery
Dim Urutan As String * 8
Dim Hitung As Long
With RSKembali
If .EOF Then
Urutan = Format(Date, "yymmdd") + "01"
LblNomorKbl = Urutan
Else
If Left(!NomorKbl, 6) <> Format(Date, "yymmdd")
Then
Urutan = Format(Date, "yymmdd") + "01"
Else
Hitung = (!NomorKbl) + 1
Urutan = Format(Date, "yymmdd") + Right("00" &
Hitung, 2)
End If
End If
LblNomorKbl = Urutan
End With
End Sub
64
If Not RSAnggota.EOF Then
LblNamaAgt.Caption = RSAnggota!Namaagt
DG1.SetFocus
DG1.Col = 1
Else
MsgBox "Nomor anggota tidak terdaftar"
TxtNomorAgt.SetFocus
Exit Sub
End If
Call Pinjaman
If LbltelahPjm = "" Or LbltelahPjm = 0 Then
MsgBox "'" & LblNamaAgt & "' tidak punya pinjaman"
TxtNomorAgt.SetFocus
Exit Sub
End If
End If
End Sub
Sub Pinjaman()
DTCari.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " &
App.Path & "\ADOPustaka.mdb"
DTCari.RecordSource = "Select Distinct
Detailpjm.Nomorpjm,Buku.Nomorbk,Judul,Tanggalpjm,
(Tanggalpjm+4) As Harus_Kembali,Jumlahbk, (Date()-
Tanggalpjm)+1 As Lmpinjam_Hari From
Anggota,Pinjam,Buku,Detailpjm Where
Buku.Nomorbk=Detailpjm.Nomorbk And
Pinjam.Nomorpjm=Left(Detailpjm.Nomorpjm,8) And
Anggota.Nomoragt=Pinjam.Nomoragt And
Anggota.Nomoragt='" & TxtNomorAgt & "'"
DTCari.Refresh
DG2.Refresh
LbltelahPjm.Caption = DTCari.Recordset.RecordCount
End Sub
65
MsgBox "jumlah pembayaran kosong"
TxtDibayar.SetFocus
Exit Sub
ElseIf Val(TxtDibayar) = LblDenda Then
LblKembali = 0
CmdSimpan.Enabled = True
CmdSimpan.SetFocus
Exit Sub
ElseIf Val(TxtDibayar) < LblDenda Then
MsgBox "jumlah pembayaran kurang"
TxtDibayar.SetFocus
Exit Sub
ElseIf Val(TxtDibayar) > LblDenda Then
LblKembali = Val(TxtDibayar) - LblDenda
CmdSimpan.Enabled = True
CmdSimpan.SetFocus
ElseIf TxtDibayar = "" And LblDenda = 0 Then
LblKembali = 0
CmdSimpan.Enabled = True
CmdSimpan.SetFocus
End If
End If
If Not (Keyascii >= Asc("0") And Keyascii <= Asc("9") Or
Keyascii = vbKeyBack) Then Keyascii = 0
End Sub
66
End If
67
End If
End If
DT.Recordset.MoveNext
Loop
'hapus pinjaman
DT.Recordset.MoveFirst
Do While Not DT.Recordset.EOF
If DT.Recordset!NomorPjm <> vbNullString Then
Call BukaDB
RSDetailPjm.Open "Select * from detailpjm where
nomorpjm='" & DT.Recordset!NomorPjm & "'", Conn
If Not RSDetailPjm.EOF Then
Dim hapus As String
hapus = "delete from detailpjm where nomorpjm ='"
& DT.Recordset!NomorPjm & "'"
Conn.Execute (hapus)
End If
End If
DT.Recordset.MoveNext
Loop
'kurangi pinjaman
DT.Recordset.MoveFirst
Do While Not DT.Recordset.EOF
If DT.Recordset!NomorPjm <> vbNullString Then
Call BukaDB
RSPinjam.Open "Select * from pinjam where
nomorpjm='" & Left(DT.Recordset!NomorPjm, 8) & "'", Conn
If Not RSPinjam.EOF Then
Dim kurangi As String
kurangi = "update pinjam set totalpjm= '" &
RSPinjam!TotalPjm - DT.Recordset!Jumlah & " ' where
nomorpjm='" & Left(DT.Recordset!NomorPjm, 8) & "' and
nomoragt='" & TxtNomorAgt & "'"
Conn.Execute (kurangi)
End If
End If
DT.Recordset.MoveNext
68
Loop
Bersihkan
Form_Activate
cmdbatal_Click
End Sub
Sub Bersihkan()
TxtNomorAgt = ""
LblNamaAgt.Caption = ""
LblTotalKbl.Caption = ""
LbltelahPjm.Caption = ""
LblDenda = 0
TxtDibayar = 0
LblKembali.Caption = 0
End Sub
Function Tabel_Kosong()
DT.Recordset.MoveFirst
Do While Not DT.Recordset.EOF
DT.Recordset.Delete
DT.Recordset.MoveNext
Loop
For i = 1 To 1
DT.Recordset.AddNew
DT.Recordset!Nomor = i
DT.Recordset.Update
Next i
End Function
Function TotalKbl()
DT.Recordset.MoveFirst
A=0
Do While Not DT.Recordset.EOF And DT.Recordset!Jumlah <>
vbNullString
A = A + DT.Recordset!Jumlah
DT.Recordset.MoveNext
LblTotalKbl = A
Loop
69
End Function
Function JmlDenda()
DT.Recordset.MoveFirst
A=0
Do While Not DT.Recordset.EOF And DT.Recordset!NomorPjm
<> vbNullString
A = A + DT.Recordset!Denda
DT.Recordset.MoveNext
LblDenda = A
Loop
End Function
Function Tambah_Baris()
For i = DT.Recordset.RecordCount To
DT.Recordset.RecordCount
DT.Recordset.AddNew
DT.Recordset!Nomor = i + 1
DT.Recordset.Update
Next i
End Function
Function Kurangi_Baris()
For i = DT.Recordset.RecordCount To
DT.Recordset.RecordCount
DT.Recordset.Delete
DT.Recordset.Update
Next i
70
End Function
Sub SelectAllVisible()
'On Error Resume Next
'pengembalian buku dicari berdasarkan nomor pinjam di
grid2
'cukup dengan cara memilih baris kemudian menekan enter
71
DT.Recordset!NomorPjm = DG2.Columns(0)
DT.Recordset!NomorBk = DG2.Columns(1)
DT.Recordset!Judul = DG2.Columns(2)
DT.Recordset!Tanggal = DG2.Columns(3)
DT.Recordset!Jumlah = DG2.Columns(5)
Call Tambah_Baris
DT.Recordset.MoveNext
DG1.Col = 1
DT.Recordset.MoveLast
'LblTotalKbl = Format(TotalKbl, "#,###,###")
Call TotalKbl
Call JmlDenda
'LblDenda = Str(JmlDenda)
End Sub
Form Lamporan
72
Combo3.AddItem Format(RSPinjam!TanggalPjm, "YYYY
,MM, DD")
RSPinjam.MoveNext
Loop
Conn.Close
Call BukaDB
Dim RSTGLPJM As New ADODB.Recordset
RSTGLPJM.Open "select distinct month(TanggalPjm) as Bulan
from Pinjam", Conn
Do While Not RSTGLPJM.EOF
Combo4.AddItem RSTGLPJM!Bulan & Space(5) &
MonthName(RSTGLPJM!Bulan)
RSTGLPJM.MoveNext
Loop
Conn.Close
Call BukaDB
Dim RSTHNPJM As New ADODB.Recordset
RSTHNPJM.Open "select distinct year(TanggalPjm) as Tahun
from Pinjam", Conn
Do While Not RSTHNPJM.EOF
Combo5.AddItem RSTHNPJM!Tahun
RSTHNPJM.MoveNext
Loop
Conn.Close
Call BukaDB
RSKembali.Open "Select Distinct TanggalKbl From Kembali
order By 1", Conn
RSKembali.Requery
Do Until RSKembali.EOF
'Combo6.AddItem Format(RSKembali!TanggalKbl, "DD-
MMM-YYYY")
Combo6.AddItem RSKembali!TanggalKbl
Combo7.AddItem Format(RSKembali!TanggalKbl, "YYYY
,MM, DD")
Combo8.AddItem Format(RSKembali!TanggalKbl, "YYYY
,MM, DD")
73
RSKembali.MoveNext
Loop
Conn.Close
Call BukaDB
Dim RSTGLKBL As New ADODB.Recordset
RSTGLKBL.Open "select distinct month(TanggalKbl) as Bulan
from Kembali", Conn
Do While Not RSTGLKBL.EOF
Combo9.AddItem RSTGLKBL!Bulan & Space(5) &
MonthName(RSTGLKBL!Bulan)
RSTGLKBL.MoveNext
Loop
Conn.Close
Call BukaDB
Dim RSTHNKBL As New ADODB.Recordset
RSTHNKBL.Open "select distinct year(TanggalKbl) as Tahun
from Kembali", Conn
Do While Not RSTHNKBL.EOF
Combo10.AddItem RSTHNKBL!Tahun
RSTHNKBL.MoveNext
Loop
Conn.Close
End Sub
'laporan peminjaman
'Lap Harian
Private Sub Combo1_Click()
CR.SelectionFormula = "Totext({Pinjam.TanggalPjm})='" &
Combo1 & "'"
74
'CR.ReportFileName = App.Path & "\Lap Pinjam Harian.rpt"
CR.ReportFileName = App.Path & "\Lap Pinjam Harian.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
'Lap Bulanan
Private Sub Combo5_Click()
Call BukaDB
RSPinjam.Open "select * from Pinjam where
month(TanggalPjm)='" & Val(Combo4) & "' and
year(TanggalPjm)='" & (Combo5) & "'", Conn
If RSPinjam.EOF Then
MsgBox "Data tidak ditemukan"
75
Exit Sub
Combo4.SetFocus
End If
'Lap Harian
Private Sub Combo6_Click()
CR.SelectionFormula = "Totext({Kembali.TanggalKbl})='"
& Combo6 & "'"
CR.ReportFileName = App.Path & "\Lap Kembali
Harian.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
76
If Combo7 = "" Then
MsgBox "TanggalKbl awal kosong", , "Informasi"
Combo7.SetFocus
Exit Sub
End If
CR.SelectionFormula = "{Kembali.TanggalKbl} in date (" &
Combo7.Text & ") to date (" & Combo8.Text & ")"
CR.ReportFileName = App.Path & "\Lap Kembali
Mingguan.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
'Lap Bulanan
Private Sub combo10_Click()
Call BukaDB
RSKembali.Open "select * from Kembali where
month(TanggalKbl)='" & Val(Combo9) & "' and
year(TanggalKbl)='" & (Combo10) & "'", Conn
If RSKembali.EOF Then
MsgBox "Data tidak ditemukan"
Exit Sub
Combo9.SetFocus
End If
77
Form Pinjaman
78
RSPinjam.Open "select * from Pinjam Where NomorPjm
In(Select Max(NomorPjm)From Pinjam)Order By NomorPjm
Desc", Conn
RSPinjam.Requery
Dim Urutan As String * 8
Dim Hitung As Long
With RSPinjam
If .EOF Then
Urutan = Format(Date, "yymmdd") + "01"
LblNomorPjm = Urutan
Else
If Left(!NomorPjm, 6) <> Format(Date, "yymmdd")
Then
Urutan = Format(Date, "yymmdd") + "01"
Else
Hitung = (!NomorPjm) + 1
Urutan = Format(Date, "yymmdd") + Right("00" &
Hitung, 2)
End If
End If
LblNomorPjm = Urutan
End With
End Sub
79
Else
'jika tidak ditemukan, munculkan pesan
MsgBox "Nomor anggota tidak terdaftar"
TxtNomorAgt.SetFocus
Exit Sub
End If
Call Pinjaman
'batas-batas peminjaman
If LbltelahPjm = 0 Or LbltelahPjm = "" Then
Pesan = MsgBox(" " & LblNamaAgt & " Silahkan Pinjam
Maksimal " & 4 & " Buku", 0, "Informasi Peminjaman Buku")
DG1.SetFocus
DG1.Col = 1
ElseIf LbltelahPjm = 1 Then
Pesan = MsgBox(" " & LblNamaAgt & " Boleh Meminjam
" & 3 & " Buku Lagi", 0, "Informasi Peminjaman Buku")
DG1.SetFocus
DG1.Col = 1
Exit Sub
ElseIf LbltelahPjm = 2 Then
Pesan = MsgBox(" " & LblNamaAgt & " Boleh Meminjam
" & 2 & " Buku Lagi", 0, "Informasi Peminjaman Buku")
DG1.SetFocus
DG1.Col = 1
Exit Sub
ElseIf LbltelahPjm = 3 Then
Pesan = MsgBox(" " & LblNamaAgt & " Boleh Meminjam
" & 1 & " Buku Lagi", 0, "Informasi Peminjaman Buku")
DG1.SetFocus
DG1.Col = 1
Exit Sub
ElseIf LbltelahPjm >= 4 Then
Pesan = MsgBox(" " & LblNamaAgt & " Tidak Boleh
Meminjam Lagi...!", 0, "Informasi Peminjaman")
LbltelahPjm = ""
LblNamaAgt = ""
TxtNomorAgt.SetFocus
Exit Sub
80
End If
End If
End Sub
Sub Pinjaman()
DTCari.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " &
App.Path & "\ADOPustaka.mdb"
DTCari.RecordSource = "Select
Buku.Nomorbk,Judul,Jumlahbk From
Anggota,Pinjam,Buku,Detailpjm Where
Buku.Nomorbk=Detailpjm.Nomorbk And
Pinjam.Nomorpjm=Left(Detailpjm.Nomorpjm,8) And
Anggota.Nomoragt=Pinjam.Nomoragt And
Anggota.Nomoragt='" & TxtNomorAgt & "'"
DTCari.Refresh
DG2.Refresh
LbltelahPjm.Caption = DTCari.Recordset.RecordCount
End Sub
81
End If
'jika ditemukan, tampilkan nomor dan judul buku
DT.Recordset!KODE = RSBuku!NomorBk
DT.Recordset!Judul = RSBuku!Judul
'jumlah pinjam asumsinya 1 buku
DT.Recordset!Jumlah = 1
'pindah ke baris berikutnya
Call Tambah_Baris
DT.Recordset.MoveNext
DG1.Col = 1
DT.Recordset.MoveLast
'tampilkan jumlah total pinjaman
LblTotalPjm.Caption = DT.Recordset.RecordCount - 1
End If
If DG1.Col = 3 Then
DT.Recordset!Jumlah = DT.Recordset!Jumlah
DT.Recordset.Update
DT.Recordset.MoveNext
DG1.Refresh
DG1.Col = 1
LblTotalPjm.Caption = DT.Recordset.RecordCount - 1
End If
82
End If
End Sub
83
Call BukaDB
RSBuku.Open "Select * from Buku where Nomorbk='" &
DT.Recordset!KODE & "'", Conn
If Not RSBuku.EOF Then
Dim kurangi As String
kurangi = "update buku set stok='" & RSBuku!Stok -
DT.Recordset!Jumlah & "' where nomorbk='" & DT.Recordset!
KODE & "'"
Conn.Execute (kurangi)
End If
End If
DT.Recordset.MoveNext
Loop
Bersihkan
Form_Activate
cmdbatal_Click
End Sub
Sub Bersihkan()
TxtNomorAgt = ""
LblNamaAgt.Caption = ""
LblTotalPjm.Caption = ""
LbltelahPjm.Caption = ""
End Sub
Function Tabel_Kosong()
DT.Recordset.MoveFirst
Do While Not DT.Recordset.EOF
DT.Recordset.Delete
DT.Recordset.MoveNext
Loop
For i = 1 To 1
DT.Recordset.AddNew
DT.Recordset!Nomor = i
DT.Recordset.Update
Next i
End Function
84
Form_Activate
TxtNomorAgt = ""
LblNamaAgt = ""
LblTotalPjm = ""
LbltelahPjm = ""
DG1.Enabled = True
Call Pinjaman
TxtNomorAgt.SetFocus
End Sub
Function Tambah_Baris()
For i = DT.Recordset.RecordCount To
DT.Recordset.RecordCount
DT.Recordset.AddNew
DT.Recordset!Nomor = i + 1
DT.Recordset.Update
Next i
End Function
Function Kurangi_Baris()
For i = DT.Recordset.RecordCount To
DT.Recordset.RecordCount
DT.Recordset.Delete
DT.Recordset.Update
Next i
End Function
Keyascii = Asc(UCase(Chr(Keyascii)))
If Keyascii = 27 Then
DT.Recordset!KODE = Null
85
DT.Recordset!Judul = Null
DT.Recordset!Jumlah = Null
DT.Recordset.Update
Call Kurangi_Baris
LblTotalPjm.Caption = DT.Recordset.RecordCount - 1
End If
On Error GoTo 0
Exit Sub
salah:
cmdbatal_Click
End Sub
'Call BukaDB
Dim cari As New ADODB.Recordset
cari.Open "select * from transaksi where KODE= '" &
Right(List1, 4) & "'", Conn
'cari.Open "select * from transaksi where KODE= '" &
DT.Recordset!KODE & "'", Conn
If Not cari.EOF Then
MsgBox "data jangan dientri dua kali"
Exit Sub
Else
' Call SelectAllVisible
'End If
86
DT.Recordset.MoveNext
DG1.Col = 1
DT.Recordset.MoveLast
'LblTotalPjm.Caption = Format(TotalPjm, "##")
LblTotalPjm.Caption =
DT.Recordset.RecordCount - 1
87
Do Until RSKembali.EOF
List1.AddItem RSKembali!NomorKbl
RSKembali.MoveNext
Loop
Conn.Close
End Sub
Adodc1.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " &
App.Path & "\ADOPustaka.mdb"
Adodc1.RecordSource = "select Judul, jumlahbk as
Jumlah,Denda from Buku,detailKbl,Kembali where
DetailKbl.Nomorbk=Buku.Nomorbk and
left(detailKbl.NomorKbl,8)=Kembali.NomorKbl and
Kembali.NomorKbl='" & List1 & "'"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
LblJumlah = Adodc1.Recordset.RecordCount
Call JmlDenda
End Sub
88
If Keyascii = 27 Then Unload Me
End Sub
Sub JmlDenda()
Adodc1.Recordset.MoveFirst
Denda = 0
Do While Not Adodc1.Recordset.EOF
Denda = Denda + Adodc1.Recordset!Denda
Adodc1.Recordset.MoveNext
Loop
LblDenda = Denda
End Sub
Form RincianPJM
End Sub
89
If Not RSAnggota.EOF Then Anggota = RSAnggota!Namaagt
Conn.Close
Adodc1.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " &
App.Path & "\ADOPustaka.mdb"
Adodc1.RecordSource = "select Judul, jumlahbk as Jumlah
from Buku,detailpjm,Pinjam where
DetailPjm.Nomorbk=Buku.Nomorbk and
left(detailPjm.NomorPjm,8)=Pinjam.NomorPjm and
Pinjam.NomorPjm='" & List1 & "'"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
Jumlah = Adodc1.Recordset.RecordCount
End Sub
90
Biodata Penulis 1
Nama Lengkap : Nanda Firdausi Nuzula
Tempat/Tgl Lahir: Bogor,07-Juli-1999
Sekolah : SMA Plus PGRI Cibinong
Kelas : XI IPS 2
Agama : Islam
Pekerjaan : Pelajar
E-mail : Nfirdaus002@gmail.com
91
Biodata Penulis 1
Agama : Islam
Pekerjaan : Pelajar
E-mail : Fauzirahmanfr03@gmail.com
92