Efektivitas Pelayanan Sertifikasi Tanah Dalam Proyek Operasi Nasional Agraria Pada Kantor Pertanahan Kota Medan
Listing Program
1. Form Login
Imports System.Data.OleDb Public Class Login
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
End End Sub
Private Sub TUsername_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TUsername.KeyPress If e.KeyChar = Chr(13) Then TPassword.Focus()
End Sub
Private Sub TPassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TPassword.KeyPress If e.KeyChar = Chr(13) Then BtnLogin.Focus()
End Sub
Private Sub BtnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click
Koneksi()
CMD = New OleDbCommand("select * from Admin where Username='" & TUsername.Text & "' and Password='" & TPassword.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then Home.Show() Me.Hide()
(2)
TPassword.Clear()
Home.Panel1.Text = DR.GetString(0) Home.Panel2.Text = DR.GetString(1) Home.Panel3.Text = DR.GetString(3) Else
MsgBox("Login gagal, Username dan Password anda mungkin tidak cocok") TUsername.Clear()
TPassword.Clear() TUsername.Focus() End If
End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
TUsername.Clear() TPassword.Clear()
End Sub End Class
2. Form Home
Public Class Home
Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
End End Sub
Private Sub BtnLogout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
Login.Show() Me.Close() End Sub
(3)
Private Sub BtnAnggota_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAnggota.Click
DaftarAnggota.Show() Me.Hide()
End Sub
Private Sub BtnBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBuku.Click
DaftarBuku.Show() Me.Hide()
End Sub
Private Sub BtnPetugas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPetugas.Click
DaftarPetugas.Show() Me.Hide()
End Sub
Private Sub BtnPinjam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPinjam.Click
Peminjaman.Show() Me.Hide()
End Sub
Private Sub BtnKembali_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKembali.Click
Pengembalian.Show() Me.Hide()
(4)
End Sub
Private Sub BtnPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPassword.Click
GantiPassword.Show() Me.Hide()
End Sub
Private Sub LaporanSiswaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanSiswaToolStripMenuItem.Click
Dim a As New ReportSiswa Dim b As New LaporanUmum b.CRVUmum.ReportSource = a b.ShowDialog()
End Sub
Private Sub LaporanBukuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanBukuToolStripMenuItem.Click
Dim a As New ReportBuku Dim b As New LaporanUmum b.CRVUmum.ReportSource = a b.ShowDialog()
End Sub
Private Sub LaporanBulananTransaksiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanBulananTransaksiToolStripMenuItem.Click
LaporanTransaksi.Show() Me.Hide()
(5)
Private Sub GantiPasswordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GantiPasswordToolStripMenuItem.Click
GantiPassword.Show() Me.Hide()
End Sub
Private Sub GantiPetugasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GantiPetugasToolStripMenuItem.Click
Login.Show() Me.Close() End Sub End Class
3. Form DaftarAnggota
Imports System.Data.OleDb
Public Class DaftarAnggota Sub Kosongkan()
TNIS.Text = "" TNama.Text = "" TKelas.Text = "" TAlamat.Text = "" TTelepon.Text = "" TNIS.Focus() End Sub
Sub DataBaru() TNama.Text = ""
(6)
TKelas.Text = "" TAlamat.Text = "" TTelepon.Text = "" TNama.Focus() End Sub
Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Anggota", CONN) DS = New DataSet
DS.Clear()
DA.Fill(DS, "Anggota")
DGVAnggota.DataSource = (DS.Tables("Anggota")) DGVAnggota.ReadOnly = True
DGVAnggota.Columns(0).Width = 120 DGVAnggota.Columns(1).Width = 220 DGVAnggota.Columns(2).Width = 86 DGVAnggota.Columns(3).Width = 300 DGVAnggota.Columns(4).Width = 150 End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Close() End Sub
Private Sub Anggota_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi() Call Tampilkan() End Sub
(7)
Private Sub TNIS_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TNIS.KeyPress
TNIS.MaxLength = 6
If e.KeyChar = Chr(13) Then TNIS.Text = UCase(TNIS.Text)
CMD = New OleDbCommand("select * from Anggota where NIS='" & TNIS.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows = True Then TNama.Text = DR.Item(1) TKelas.Text = DR.Item(2) TAlamat.Text = DR.Item(3) TTelepon.Text = DR.Item(4) TNama.Focus()
Else
Call DataBaru() TNama.Focus() End If
End If End Sub
Private Sub TNama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TNama.KeyPress
If e.KeyChar = Chr(13) Then
TNama.Text = UCase(TNama.Text) TKelas.Focus()
End If End Sub
Private Sub TKelas_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TKelas.KeyPress
(8)
If e.KeyChar = Chr(13) Then
TKelas.Text = UCase(TKelas.Text) TAlamat.Focus()
End If End Sub
Private Sub TAlamat_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TAlamat.KeyPress
If e.KeyChar = Chr(13) Then
TAlamat.Text = UCase(TAlamat.Text) TTelepon.Focus()
End If End Sub
Private Sub TTelepon_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TTelepon.KeyPress
TTelepon.MaxLength = 12
If e.KeyChar = Chr(13) Then BtnSimpan.Focus() End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
If TNIS.Text = "" Or TNama.Text = "" Or TKelas.Text = "" Or TAlamat.Text = "" Or TTelepon.Text = "" Then
MsgBox("Data Belum Lengkap") Exit Sub
Else
CMD = New OleDbCommand("Select * from Anggota where NIS='" & TNIS.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
(9)
If Not DR.HasRows Then
Dim oledbtambah As String = "Insert into Anggota values ('" & TNIS.Text & "','" & TNama.Text & "','" & TKelas.Text & "','" & TAlamat.Text & "','" & TTelepon.Text & "')"
CMD = New OleDbCommand(oledbtambah, CONN) CMD.ExecuteNonQuery()
Call Kosongkan() Call Tampilkan()
Else
Dim oledbedit As String = "Update Anggota set " & _ "Nama='" & TNama.Text & "', " & _
"Kelas='" & TKelas.Text & "', " & _ "Alamat='" & TAlamat.Text & "', " & _
"Telepon='" & TTelepon.Text & "' where NIS='" & TNIS.Text & "'" CMD = New OleDbCommand(oledbedit, CONN)
CMD.ExecuteNonQuery() Call Kosongkan()
Call Tampilkan() End If
End If End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If TNIS.Text = "" Then
MsgBox("Isi NIS Anggota terlebih dahulu") TNIS.Focus()
Exit Sub Else
(10)
If MessageBox.Show("Yakin akan dihapus?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
CMD = New OleDbCommand("Delete * from Anggota where NIS='" & TNIS.Text & "'", CONN)
CMD.ExecuteNonQuery() Call Kosongkan()
Call Tampilkan() Else
Call Kosongkan() End If
End If End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
Call Kosongkan() End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Peminjaman.Show() Me.Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Pengembalian.Show() Me.Hide()
End Sub End Class
(11)
4. Form DaftarBuku
Imports System.Data.OleDb
Public Class DaftarBuku Sub Kosongkan()
TNomor.Text = "" TJudul.Text = "" TPengarang.Text = "" TPenerbit.Text = "" TTahun.Text = "" TStok.Text = "" TNomor.Focus() End Sub
Sub DataBaru() TJudul.Text = "" TPengarang.Text = "" TPenerbit.Text = "" TTahun.Text = "" TStok.Text = "" TJudul.Focus() End Sub
Sub TampilGrid()
DA = New OleDbDataAdapter("Select * from Buku", CONN) DS = New DataSet
DS.Clear()
DA.Fill(DS, "Buku")
DGVBuku.DataSource = (DS.Tables("Buku")) DGVBuku.ReadOnly = True
DGVBuku.Columns(0).Width = 50 DGVBuku.Columns(1).Width = 218
(12)
DGVBuku.Columns(2).Width = 130 DGVBuku.Columns(3).Width = 130 DGVBuku.Columns(4).Width = 70 DGVBuku.Columns(5).Width = 55 End Sub
Sub TampilData()
TJudul.Text = DR.Item("Judul")
TPengarang.Text = DR.Item("Pengarang") TPenerbit.Text = DR.Item("Penerbit") TTahun.Text = DR.Item("Tahun") TStok.Text = DR.Item("Stok") End Sub
Private Sub Buku_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi() Call TampilGrid() End Sub
Private Sub TNomor_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TNomor.KeyPress
TNomor.MaxLength = 4 If e.KeyChar = Chr(13) Then
TNomor.Text = UCase(TNomor.Text)
CMD = New OleDbCommand("select * from Buku where Kode_Buku='" & TNomor.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows = True Then Call TampilData()
(13)
Else
Call DataBaru() TJudul.Focus() End If
End If End Sub
Private Sub TJudul_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TJudul.KeyPress
If e.KeyChar = Chr(13) Then
TJudul.Text = UCase(TJudul.Text) TPengarang.Focus()
End If End Sub
Private Sub TPengarang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TPengarang.KeyPress If e.KeyChar = Chr(13) Then
TPengarang.Text = UCase(TPengarang.Text) TPenerbit.Focus()
End If End Sub
Private Sub TPenerbit_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TPenerbit.KeyPress
If e.KeyChar = Chr(13) Then
TPenerbit.Text = UCase(TPenerbit.Text) TTahun.Focus()
End If End Sub
(14)
Private Sub TTahun_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TTahun.KeyPress
If e.KeyChar = Chr(13) Then TStok.Focus()
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
End Sub
Private Sub TStok_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TStok.KeyPress
If e.KeyChar = Chr(13) Then BtnSimpan.Focus()
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Close() End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
If TNomor.Text = "" Or TJudul.Text = "" Or TPengarang.Text = "" Or TPenerbit.Text = "" Or TTahun.Text = "" Or TStok.Text = "" Then
MsgBox("Data Belum Lengkap") Exit Sub
Else
CMD = New OleDbCommand("Select * from Buku where Kode_Buku='" & TNomor.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
(15)
Dim oledbtambah As String = "Insert into Buku values ('" & TNomor.Text & "','" & TJudul.Text & "','" & TPengarang.Text & "','" & TPenerbit.Text & "','" & TTahun.Text & "','" & TStok.Text & "')"
CMD = New OleDbCommand(oledbtambah, CONN) CMD.ExecuteNonQuery()
Call Kosongkan() Call TampilGrid() Else
Dim oledbedit As String = "Update Buku set " & _ "Judul='" & TJudul.Text & "', " & _
"Pengarang='" & TPengarang.Text & "', " & _ "Penerbit='" & TPenerbit.Text & "', " & _ "Tahun='" & TTahun.Text & "', " & _
"Stok='" & TStok.Text & "' where Kode_Buku='" & TNomor.Text & "'" CMD = New OleDbCommand(oledbedit, CONN)
CMD.ExecuteNonQuery() Call Kosongkan()
Call TampilGrid() End If
End If End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
Call Kosongkan() End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If TNomor.Text = "" Then
MsgBox("Isi Kode Buku terlebih dahulu") TNomor.Focus()
(16)
Exit Sub Else
If MessageBox.Show("Yakin akan dihapus?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
CMD = New OleDbCommand("Delete * from Buku where Kode_Buku='" & TNomor.Text & "'", CONN)
CMD.ExecuteNonQuery() Call Kosongkan()
Call TampilGrid() Else
Call Kosongkan() End If
End If End Sub End Class
5. Form DaftarPetugas
Imports System.Data.OleDb
Public Class DaftarPetugas
Sub Kosongkan() TKode.Text = "" TNama.Text = "" TPassword.Text = "" CBStatus.Text = "" TKode.Focus() End Sub
Sub DataBaru() TNama.Text = "" TPassword.Text = ""
(17)
CBStatus.Text = "" TNama.Focus() End Sub
Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Admin Order By 1", CONN) DS = New DataSet
DS.Clear()
DA.Fill(DS, "Admin")
DGVPetugas.DataSource = (DS.Tables("Admin")) DGVPetugas.ReadOnly = True
DGVPetugas.Columns(0).Width = 80 DGVPetugas.Columns(1).Width = 220 DGVPetugas.Columns(2).Width = 200 DGVPetugas.Columns(3).Width = 150 End Sub
Sub TampilStatus()
CBStatus.Items.Clear()
CMD = New OleDbCommand("select distinct Status from Admin", CONN) DR = CMD.ExecuteReader
While DR.Read
CBStatus.Items.Add(DR.GetString(0)) End While
End Sub
Private Sub Petugas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi() Call Tampilkan()
(18)
CBStatus.Items.Add("OPERATOR") End Sub
Private Sub TKode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TKode.KeyPress
If e.KeyChar = Chr(13) Then
TKode.Text = UCase(TKode.Text)
CMD = New OleDbCommand("select * from Admin where IDPetugas='" & TKode.Text & "'", CONN)
DR = cmd.ExecuteReader DR.Read()
If DR.HasRows = True Then TNama.Text = DR.GetString(1) TPassword.Text = DR.GetString(2) CBStatus.Text = DR.GetString(3) TNama.Focus()
Else
Call DataBaru() TNama.Focus() End If
End If End Sub
Private Sub TNama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TNama.KeyPress
If e.KeyChar = Chr(13) Then TPassword.Focus()
TNama.Text = UCase(TNama.Text) End If
(19)
End Sub
Private Sub TPassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TPassword.KeyPress If e.KeyChar = Chr(13) Then CBStatus.Focus()
End Sub
Private Sub CBStatus_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CBStatus.KeyPress
If e.KeyChar = Chr(13) Then BtnSimpan.Focus() End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
If TKode.Text = "" Or TNama.Text = "" Or TPassword.Text = "" Or CBStatus.Text = "" Then
MsgBox("Data Belum Lengkap") Exit Sub
Else
CMD = New OleDbCommand("Select * from Admin where IDPetugas='" & TKode.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
Dim oledbtambah As String = "Insert into Admin values ('" & TKode.Text & "','" & TNama.Text & "','" & TPassword.Text & "','" & CBStatus.Text & "')"
CMD = New OleDbCommand(oledbtambah, CONN) CMD.ExecuteNonQuery()
Call Kosongkan() Call Tampilkan()
(20)
Else
Dim oledbedit As String = "Update Admin set " & _ "Username='" & TNama.Text & "', " & _
"Password='" & TPassword.Text & "', " & _
"Status='" & CBStatus.Text & "' where IDPetugas='" & TKode.Text & "'"
CMD = New OleDbCommand(oledbedit, CONN) CMD.ExecuteNonQuery()
Call Kosongkan() Call Tampilkan() End If
End If End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Close() End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If TKode.Text = "" Then
MsgBox("Isi Kode Petugas terlebih dahulu") TKode.Focus()
Exit Sub Else
If MessageBox.Show("Yakin akan dihapus?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
CMD = New OleDbCommand("Delete * from Admin where IDPetugas='" & TKode.Text & "'", CONN)
(21)
Call Kosongkan() Call Tampilkan() Else
Call Kosongkan() End If
End If End Sub End Class
6. Form Peminjaman
Imports System.Data.OleDb
Public Class Peminjaman
Private Sub NomorPjm_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Koneksi() Call Otomatis()
LblTglPinjam.Text = Today End Sub
Sub TampilNIS()
CMD = New OleDbCommand("select * FROM Anggota", CONN) DR = CMD.ExecuteReader
Do While DR.Read
ComboBox1.Items.Add(DR.Item(0)) Loop
End Sub
Sub TampilGrid1()
DGVPinjam1.Columns.Add("Kode_Buku", "Kode Buku") DGVPinjam1.Columns.Add("Judul", "Judul Buku")
(22)
DGVPinjam1.Columns.Add("Stok", "Stok")
DGVPinjam1.Columns.Add("Jumlah_Buku", "Jumlah") Call AturKolomGrid1()
End Sub
Sub AturKolomGrid1()
DGVPinjam1.Columns(0).Width = 50 DGVPinjam1.Columns(1).Width = 400 DGVPinjam1.Columns(2).Width = 75 DGVPinjam1.Columns(3).Width = 75 End Sub
Sub TampilGrid2()
DGVPinjam2.Columns.Add("Kode_Buku", "Kode") DGVPinjam2.Columns.Add("Judul", "Judul Buku") DGVPinjam2.Columns.Add("Jumlah", "Jumlah") Call AturKolomGrid2()
DGVPinjam2.ReadOnly = True End Sub
Sub AturKolomGrid2()
DGVPinjam2.Columns(0).Width = 75 DGVPinjam2.Columns(1).Width = 400 DGVPinjam2.Columns(2).Width = 120 End Sub
Private Sub Otomatis()
CMD = New OleDbCommand("Select * from Pinjam where Nomor_Pinjam in (select max(Nomor_Pinjam) from Pinjam) order by Nomor_Pinjam desc", CONN)
Dim urutan As String Dim hitung As Long
(23)
DR = cmd.ExecuteReader DR.Read()
If Not DR.HasRows Then
urutan = Format(Now, "yyMMdd") + "01" Else
If Microsoft.VisualBasic.Left(DR.GetString(0), 6) <> Format(Now, "yyMMdd") Then
urutan = Format(Now, "yyMMdd") + "01" Else
hitung = DR.GetString(0) + 1
urutan = Format(Now, "yyMMdd") + Microsoft.VisualBasic.Right("00" & hitung, 2)
End If End If
LblNomorPjm.Text = urutan End Sub
Sub TotalPinjam()
Dim subtot As Integer = 0
For I As Integer = 0 To DGVPinjam1.Rows.Count - 1 subtot += Val(DGVPinjam1.Rows(I).Cells(3).Value) LblTotalPjm.Text = subtot
Next End Sub
Private Sub DGVPinjam1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVPinjam1.CellEndEdit
If e.ColumnIndex = 0 Then Call Koneksi()
CMD = New OleDbCommand("select Kode_Buku from Anggota,Pinjam,LapPinjam where Kode_Buku ='" &
(24)
DGVPinjam1.Rows(e.RowIndex).Cells(0).Value & "' and Pinjam.Nomor_Pinjam=LapPinjam.Nomor_Pinjam and Anggota.NIS=Pinjam.NIS and Anggota.NIS='" & ComboBox1.Text & "' AND LapPinjam.Jumlah_Buku>0", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then
MsgBox("Buku sedang dipinjam dan belum dikembalikan") 'DGV1.ReadOnly = True
Call HapusBaris() Exit Sub
End If
Call Koneksi()
CMD = New OleDbCommand("Select * from Buku where Kode_Buku='" & DGVPinjam1.Rows(e.RowIndex).Cells(0).Value & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then If DR.Item(5) <= 0 Then
MsgBox("Stok Buku kosong") Else
DGVPinjam1.Rows(e.RowIndex).Cells(1).Value = DR.Item("Judul") DGVPinjam1.Rows(e.RowIndex).Cells(2).Value = DR.Item("Stok")
DGVPinjam1.Rows(e.RowIndex).Cells(3).Value = 1 Call TotalPinjam()
Call BatasPinjaman() Exit Sub
End If Else
(25)
MsgBox("Kode Buku tidak terdaftar") Exit Sub
End If
End If
If e.ColumnIndex = 3 Then
If DGVPinjam1.Rows(e.RowIndex).Cells(3).Value = DGVPinjam1.Rows(e.RowIndex).Cells(3).Value Then
MsgBox("Stok hanya ada &
DGVPinjam1.Rows(e.RowIndex).Cells(2).Value & """) Exit Sub
Else
Call TotalPinjam() End If
If Val(LblTotalPjm.Text) + Val(LblTelahPjm.Text) >= 5 Then MsgBox("pinjaman sudah maksimal")
DGVPinjam1.ReadOnly = True BtnSave.Focus()
End If End If End Sub
Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
If ComboBox1.Text = "" Or LblTotalPjm.Text = "" Then MsgBox("Data belum lengkap")
Exit Sub End If
(26)
'simpan ke tabel Pinjam Call Koneksi()
Dim oledbInput1 As String = "Insert Into Pinjam values('" & LblNomorPjm.Text & "','" & LblTglPinjam.Text & "','" & LblTotalPjm.Text & "','" & ComboBox1.Text & "','" & Home.Panel1.Text & "')"
CMD = New OleDbCommand(oledbInput1, CONN) CMD.ExecuteNonQuery()
For baris As Integer = 0 To DGVPinjam1.Rows.Count - 2 'simpan ke tabel detail
Call Koneksi()
Dim oledbsimpan As String = "Insert Into LapPinjam values ('" & LblNomorPjm.Text & "','" & DGVPinjam1.Rows(baris).Cells(0).Value & "','" & DGVPinjam1.Rows(baris).Cells(3).Value & "')"
CMD = New OleDbCommand(oledbsimpan, CONN) CMD.ExecuteNonQuery()
'kurangi stok Buku Call Koneksi()
Dim kurangistok As String = "update Buku set Stok= '" &
DGVPinjam1.Rows(baris).Cells(2).Value -
DGVPinjam1.Rows(baris).Cells(3).Value & "' where Kode_Buku='" & DGVPinjam1.Rows(baris).Cells(0).Value & "'"
CMD = New OleDbCommand(kurangistok, CONN) CMD.ExecuteNonQuery()
Next baris
Me.Hide()
MsgBox("Peminjaman Berhasil") DGVPinjam1.Columns.Clear() DGVPinjam2.Columns.Clear() Call Otomatis()
(27)
Call TampilGrid1() Call HapusMaster() Home.Show()
ComboBox1.Focus() End Sub
Sub HapusMaster()
LblTelahPjm.Text = "" LblTotalPjm.Text = "" LblNamaAgt.Text = "" ComboBox1.Text = "" End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
DGVPinjam1.Columns.Clear() DGVPinjam2.Columns.Clear() 'DGVPinjam2.Rows.Clear() Call HapusMaster()
Call TampilGrid1() Call TampilGrid2() End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Hide()
End Sub
(28)
Dim baris As Integer Dim kolom As Integer
baris = DGVPinjam1.CurrentCell.RowIndex kolom = DGVPinjam1.CurrentCell.ColumnIndex
DGVPinjam1.Rows.RemoveAt(baris) Call TotalPinjam()
DGVPinjam1.ReadOnly = False End Sub
Private Sub DGVPinjam1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DGVPinjam1.KeyPress Dim baris As Integer
Dim kolom As Integer
baris = DGVPinjam1.CurrentCell.RowIndex kolom = DGVPinjam1.CurrentCell.ColumnIndex
If e.KeyChar = Chr(27) Then Try
DGVPinjam1.Rows.RemoveAt(baris) Call TotalPinjam()
'Call TotalHarga()
DGVPinjam1.ReadOnly = False Catch ex As Exception
End Try End If End Sub
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress If e.KeyChar = Chr(13) Then
(29)
Call CariData() DGVPinjam1.Focus() End If
End Sub
Sub CariData()
ComboBox1.MaxLength = 4 Call Koneksi()
CMD = New OleDbCommand("Select * from Anggota where NIS='" & ComboBox1.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then
LblNamaAgt.Text = DR.Item("Nama") Call Pinjaman()
If Val(LblTotalPjm.Text) + Val(LblTelahPjm.Text) >= 4 Then MsgBox("pinjaman sudah maksimal")
DGVPinjam1.ReadOnly = True BtnSave.Focus()
Else
DGVPinjam1.ReadOnly = False DGVPinjam1.Focus()
End If Else
MsgBox("Nomor anggota tidak tedaftar") Call HapusMaster()
ComboBox1.Focus() Exit Sub
End If End Sub
(30)
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox1.MaxLength = 4
Call CariData() End Sub
Sub Pinjaman() Call Koneksi()
DA = New OleDbDataAdapter("Select
Buku.Kode_Buku,Judul,Jumlah_Buku From Anggota,Pinjam,Buku,LapPinjam
Where Buku.Kode_buku=LapPinjam.Kode_Buku And
Pinjam.Nomor_Pinjam=LapPinjam.Nomor_Pinjam And
Anggota.NIS=Pinjam.NIS And Anggota.NIS='" & ComboBox1.Text & "' AND LapPinjam.Jumlah_Buku>0", CONN)
DS = New DataSet DS.Clear()
DA.Fill(DS, "LapPinjam")
DGVPinjam2.DataSource = DS.Tables("LapPinjam") LblTelahPjm.Text = DGVPinjam2.Rows.Count - 1 Call AturKolomGrid2()
DGVPinjam2.ReadOnly = True End Sub
Sub BatasPinjaman()
If Val(LblTotalPjm.Text) + Val(LblTelahPjm.Text) >= 4 Then MsgBox("Pinjaman sudah maksimal")
DGVPinjam1.ReadOnly = True BtnSave.Focus()
Else
DGVPinjam1.ReadOnly = False DGVPinjam1.Focus()
(31)
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Pengembalian.Show() Me.Hide()
End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
MsgBox("Petunjuk penggunaan : " & Chr(13) & _
"1. Pilih nomor anggota di combobox atau ketik nomor anggota di combobox (akan tampil Buku yang telah dipinjam di grid kedua)" & Chr(13) & _
"2. Ketik kode Buku di grid pertama di kolom pertama, jika file telah dipinjam sebelumnya maka akan tampil pesan bahwa Buku itu sedang dipinjam " & vbCrLf & _
"3. Pembatalan peminjaman pada kode Buku tertentu dapat dilakukan dengan menekan ESC di baris Buku yang bersangkutan ")
End Sub
Private Sub Peminjaman_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi() Call TampilNIS() Call TampilGrid1() Call HapusMaster() End Sub
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
(32)
Me.Hide() End Sub End Class
7. Form Pengembalian
Imports System.Data.OleDb
Public Class Pengembalian
Sub TampilNIS()
CMD = New OleDbCommand("select distinct NIS from Pinjam", CONN) DR = CMD.ExecuteReader
Do While DR.Read
ComboBox1.Items.Add(DR.Item(0)) Loop
End Sub
Sub TampilGrid1()
DGVKembali1.Columns.Add("Kode_Buku", "Nomor Buku") DGVKembali1.Columns.Add("Nomor_Pinjam", "Nomor Pinjam") DGVKembali1.Columns.Add("Judul", "Judul Buku")
DGVKembali1.Columns.Add("Jumlah_Buku", "Jumlah Pinjam") DGVKembali1.Columns.Add("Tanggal_Pinjam", "Tanggal Pinjam") DGVKembali1.Columns.Add("Lama_Pinjam", "Lama Pinjam") DGVKembali1.Columns.Add("Denda", "Denda")
Call AturKolomGrid1() End Sub
Sub AturKolomGrid1()
DGVKembali1.Columns(0).Width = 50 DGVKembali1.Columns(1).Width = 75 DGVKembali1.Columns(2).Width = 150
(33)
DGVKembali1.Columns(3).Width = 50 DGVKembali1.Columns(4).Width = 75 DGVKembali1.Columns(5).Width = 50 DGVKembali1.Columns(6).Width = 75 End Sub
Sub TampilGrid2()
DGVKembali2.Columns.Add("Kode_Buku", "Kode Buku") DGVKembali2.Columns.Add("Judul", "Judul Buku") DGVKembali2.Columns.Add("Jumlah_Buku", "Jumlah") Call AturKolomGrid2()
DGVKembali2.ReadOnly = True End Sub
Sub AturKolomGrid2()
DGVKembali2.Columns(0).Width = 75 DGVKembali2.Columns(1).Width = 200 DGVKembali2.Columns(2).Width = 100 End Sub
Private Sub Otomatis() Call Koneksi()
CMD = New OleDbCommand("Select * from Kembali where Nomor_Kembali in (select max(Nomor_Kembali) from Kembali) order by Nomor_Kembali desc", CONN)
Dim urutan As String Dim hitung As Long DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
urutan = Format(Now, "yyMMdd") + "01" Else
(34)
If Microsoft.VisualBasic.Left(DR.GetString(0), 6) <> Format(Now, "yyMMdd") Then
urutan = Format(Now, "yyMMdd") + "01" Else
hitung = DR.GetString(0) + 1
urutan = Format(Now, "yyMMdd") + Microsoft.VisualBasic.Right("00" & hitung, 2)
End If End If
LblNomorKembali.Text = urutan End Sub
Sub TotalKEMBALI()
Dim subtot As Integer = 0
For I As Integer = 0 To DGVKembali1.Rows.Count - 1 subtot += Val(DGVKembali1.Rows(I).Cells(3).Value) LblTotalKembali.Text = subtot
Next End Sub
Sub TotalDENDA()
Dim subtot As Integer = 0
For I As Integer = 0 To DGVKembali1.Rows.Count - 1 subtot += Val(DGVKembali1.Rows(I).Cells(6).Value) LblDenda.Text = subtot
Next End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
(35)
If ComboBox1.Text = "" Or LblTotalKembali.Text = 0 Or LblDenda.Text = "" Or TDibayar.Text = "" Or LblKembali.Text = "" Then
MsgBox("Tidak ada transaksi pengembalian Buku") Exit Sub
End If
'simpan ke tabel kembali
Dim Simpan As String = "Insert Into Kembali values ('" & LblNomorKembali.Text & "','" & CDate(LblTglKembali.Text) & "','" & LblTotalKembali.Text & "','" & LblDenda.Text & "','" & TDibayar.Text & "','" & LblKembali.Text & "','" & ComboBox1.Text & "','" & Home.Panel1.Text & "')" CMD = New OleDbCommand(Simpan, CONN)
CMD.ExecuteNonQuery()
'simpan data ke tabel Laporan berulang-ulang sesuai banyaknya data For baris As Integer = 0 To DGVKembali1.Rows.Count - 2
'simpan ke tabel Laporan
Dim oledbsimpan As String = "Insert Into LapKembali values ('" & LblNomorKembali.Text & "','" & DGVKembali1.Rows(baris).Cells(0).Value & "','" & DGVKembali1.Rows(baris).Cells(3).Value & "')"
CMD = New OleDbCommand(oledbsimpan, CONN) CMD.ExecuteNonQuery()
'tambahstok Buku
CMD = New OleDbCommand("select * from Buku where Kode_Buku='" & DGVKembali1.Rows(baris).Cells(0).Value & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then
Dim TambahStok As String = "update Buku set Stok= '" & DR.Item(5) + DGVKembali1.Rows(baris).Cells(3).Value & "' where Kode_Buku='" & DGVKembali1.Rows(baris).Cells(0).Value & "'"
(36)
CMD = New OleDbCommand(TambahStok, CONN) CMD.ExecuteNonQuery()
End If
CMD = New OleDbCommand("select Jumlah_Buku from LapPinjam where Kode_Buku='" & DGVKembali1.Rows(baris).Cells(0).Value & "' and Nomor_Pinjam='" & DGVKembali1.Rows(baris).Cells(1).Value & "'", CONN) DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
Dim updatelappinjam As String = "update LapPinjam set Jumlah_Buku='" & DR.Item(0) - DGVKembali1.Rows(baris).Cells(3).Value & "' where Kode_Buku='" & DGVKembali1.Rows(baris).Cells(0).Value & "' and Nomor_Pinjam='" & DGVKembali1.Rows(baris).Cells(1).Value & "'"
CMD = New OleDbCommand(updatelappinjam, CONN) CMD.ExecuteNonQuery()
End If
CMD = New OleDbCommand("select Total_Pinjam from Pinjam where Nomor_Pinjam='" & DGVKembali1.Rows(baris).Cells(1).Value & "'", CONN) DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
Dim oledbeditpjm As String = "update Pinjam set Total_Pinjam= '" & DR.Item(0) - DGVKembali1.Rows(baris).Cells(3).Value & "' where Nomor_Pinjam='" & DGVKembali1.Rows(baris).Cells(1).Value & "'" ' and Nomor_Buku='" & DGVKembali1.Rows(baris).Cells(0).Value & "'"
CMD = New OleDbCommand(oledbeditpjm, CONN) CMD.ExecuteNonQuery()
(37)
Next baris
MsgBox("Pengembalian Buku Berhasil") Call Otomatis()
DGVKembali1.Columns.Clear() DGVKembali2.Columns.Clear() Call TampilGrid1()
Call Otomatis() Call HapusMaster()
End Sub
Sub HapusMaster()
LblTelahPjm.Text = "" LblTotalKembali.Text = "" LblNamaAgt.Text = "" ComboBox1.Text = "" LblDenda.Text = "" TDibayar.Text = "" LblKembali.Text = "" End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
DGVKembali1.Columns.Clear() DGVKembali2.Columns.Clear() Call HapusMaster()
Call TampilGrid1() End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
(38)
Me.Hide() End Sub
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress If e.KeyChar = Chr(13) Then
Call CariData()
DGVKembali1.Focus() End If
End Sub
Sub CariData()
CMD = New OleDbCommand("Select * from Anggota where NIS='" & ComboBox1.Text & "'", CONN)
DR = cmd.ExecuteReader DR.Read()
If DR.HasRows Then
LblNamaAgt.Text = DR.Item("Nama")
CMD = New OleDbCommand("Select SUM(Total_Pinjam) AS KETEMU FROM Pinjam WHERE NIS='" & ComboBox1.Text & "'", CONN)
DR = cmd.ExecuteReader DR.Read()
LblTelahPjm.Text = DR.Item(0) If LblTelahPjm.Text = 0 Then
MsgBox("" & LblNamaAgt.Text & " Tidak punya pinjaman") End If
Else
MsgBox("Nomor anggota tidak terdaftar") ComboBox1.Focus()
Exit Sub End If
(39)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox1.MaxLength = 6
Call CariData() End Sub
Sub Pinjaman()
DA = New OleDbDataAdapter("Select Buku.Kode_Buku,Judul,Jumlah_Buku From Anggota,Pinjam,Buku,LapPinjam Where Buku.Kode_Buku = LapPinjam.Kode_buku And Pinjam.Nomor_Pinjam=LapPinjam.Nomor_Pinjam And Anggota.NIS = Pinjam.NIS And Anggota.NIS='" & ComboBox1.Text & "' AND LapPinjam.Jumlah_Buku>0", CONN)
ds = New DataSet ds.Clear()
DA.Fill(DS, "LapPinjam")
DGVKembali2.DataSource = DS.Tables("LapPinjam") LblTelahPjm.Text = DGVKembali2.Rows.Count - 1 Call AturKolomGrid2()
DGVKembali2.ReadOnly = True End Sub
Private Sub DGVKembali1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim baris As Integer Dim kolom As Integer
baris = DGVKembali1.CurrentCell.RowIndex kolom = DGVKembali1.CurrentCell.ColumnIndex If e.KeyChar = Chr(27) Then
DGVKembali1.Rows.RemoveAt(baris) Call TotalKEMBALI()
(40)
Call TotalDENDA() End If
End Sub
Private Sub TDibayar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TDibayar.KeyPress
If e.KeyChar = Chr(13) Then
If Val(TDibayar.Text) < Val(LblDenda.Text) Then MsgBox("Pembayaran kurang")
LblKembali.Text = "" TDibayar.Focus() Exit Sub
ElseIf Val(TDibayar.Text) = Val(LblDenda.Text) Then LblKembali.Text = 0
BtnSave.Focus() Else
LblKembali.Text = Val(TDibayar.Text) - Val(LblDenda.Text) BtnSave.Focus()
End If End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
End Sub
Sub pembayaran()
If Val(LblDenda.Text) = 0 Then TDibayar.Text = 0
LblKembali.Text = 0 Else
TDibayar.Text = "" LblKembali.Text = "" End If
(41)
End Sub
Sub HapusBaris()
Dim baris As Integer Dim kolom As Integer
baris = DGVKembali1.CurrentCell.RowIndex kolom = DGVKembali1.CurrentCell.ColumnIndex
DGVKembali1.Rows.RemoveAt(baris) Call TotalKEMBALI()
Call TotalDENDA() End Sub
Private Sub DGVKembali1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVKembali1.CellEndEdit
If e.ColumnIndex = 0 Then
CMD = New OleDbCommand ("Select distinct
Buku.Kode_Buku,LapPinjam.Nomor_Pinjam,Judul,Jumlah_Buku,Tanggal_Pinja m, (Date()-Tanggal_Pinjam) + 1 As Lama_Pinjam, IIF(Lama_Pinjam>5, (Lama_Pinjam-5) *500,0) AS Denda From Anggota,Pinjam,Buku,LapPinjam Where Buku.Kode_Buku = LapPinjam.Kode_Buku And Pinjam.Nomor_Pinjam= LapPinjam.Nomor_Pinjam And Anggota.NIS=Pinjam.NIS And Anggota.NIS='" & ComboBox1.Text & "' AND LapPinjam.Kode_Buku='" & DGVKembali1.Rows(e.RowIndex).Cells(0).Value & "' AND LapPinjam.Jumlah_Buku>0", CONN)
DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then
DGVKembali1.Rows(e.RowIndex).Cells(1).Value = DR.Item(1) DGVKembali1.Rows(e.RowIndex).Cells(2).Value = DR.Item(2)
(42)
DGVKembali1.Rows(e.RowIndex).Cells(3).Value = DR.Item(3) DGVKembali1.Rows(e.RowIndex).Cells(4).Value = DR.Item(4) DGVKembali1.Rows(e.RowIndex).Cells(5).Value = DR.Item(5) DGVKembali1.Rows(e.RowIndex).Cells(6).Value = DR.Item(6)
DGVKembali1.CurrentCell =
DGVKembali1.Rows(e.RowIndex).Cells(0) Call TotalKEMBALI()
Call TotalDENDA() Call pembayaran() Else
MsgBox(" " & LblNamaAgt.Text & " tidak meminjam kode Buku " & DGVKembali1.Rows(e.RowIndex).Cells(0).Value & "")
End If End If End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Hide()
Peminjaman.Show() End Sub
Private Sub DGVKembali1_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DGVKembali1.KeyPress If e.KeyChar = Chr(27) Then
Call HapusBaris() End If
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
(43)
"1. Pilih NIS di combobox atau ketik NIS di combobox (akan tampil Buku yang telah dipinjam di grid kedua)" & Chr(13) & _
"2. Ketik kode Buku di grid pertama di kolom pertama, jika file tidak pernah dipinjam maka akan tampil pesan bahwa Buku itu tidak penah dipinjam" & vbCrLf & _
"3. Pembatalan pengembalian pada kode Buku tertentu dapat dilakukan dengan menekan ESC di baris Buku yang bersangkutan " & vbCrLf & _
"4. Sebelum disimpan, isi dulu jumlah pembayaran") End Sub
Private Sub Pengembalian_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Koneksi() Call Otomatis()
LblTglKembali.Text = Today End Sub
Private Sub Pengembalian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi() Call TampilNIS() Call TampilGrid1() Call HapusMaster() End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
DaftarAnggota.Show() Me.Hide()
End Sub End Class
(44)
8. Form GantiPassword
Imports System.Data.OleDb
Public Class GantiPassword
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then
CMD = New OleDbCommand("select * from Admin where Username='" & TextBox1.Text & "' and IDPetugas ='" & Home.Panel1.Text & "'", CONN) DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then TextBox2.Enabled = True TextBox2.Focus()
Else
MsgBox("Anda tidak berhak mengganti password disini") TextBox1.Focus()
End If End If 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
CMD = New OleDbCommand("select * from Admin where Username='" & Home.Panel2.Text & "' and Password='" & TextBox2.Text & "' ", CONN) DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then TextBox3.Enabled = True TextBox3.Focus()
(45)
MsgBox("Password lama salah") TextBox2.Focus()
End If End If End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If e.KeyChar = Chr(13) Then
If TextBox3.Text = "" Then
MsgBox("Password baru wajib diisi") TextBox3.Focus()
Else
TextBox4.Enabled = True TextBox4.Focus()
End If End If End Sub
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress If e.KeyChar = Chr(13) Then
If TextBox4.Text <> TextBox3.Text Then MsgBox("Password konfirmasi salah") TextBox4.Focus()
Else
If MessageBox.Show("Yakin akan ganti password?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Dim update As String = ("Update Admin set [Password]='" & TextBox3.Text & "' where [Username]='" & TextBox1.Text & "'")
CMD = New OleDbCommand(update, CONN) CMD.ExecuteNonQuery()
(46)
TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() TextBox4.Clear() Login.Show() Me.Close() Else
TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() TextBox4.Clear() Login.Show() Me.Close() End If
End If End If End Sub
Private Sub GantiPasswoDR_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox2.Enabled = False TextBox3.Enabled = False TextBox4.Enabled = False End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Hide() End Sub End Class
(47)
9. Form LaporanTransaksi
Public Class LaporanTransaksi
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CRV.SelectionFormula = "month ({@Tanggal_Pinjam})=(" & Month(DTPPinjam.Text) & ") and year ({@Tanggal_Pinjam})=(" & Year(DTPPinjam.Text) & ")"
CRV.ReportSource = "C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\PerpustakaanSMASantaMariaMedan\PerpustakaanSMASantaMaria Medan\Reporting\ReportPeminjaman.rpt"
CRV.RefreshReport() End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Home.Show() Me.Hide() End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
CRV.SelectionFormula = "month ({@TanggalKembali})=(" & Month(DTPKembali.Text) & ") and year ({@TanggalKembali})=(" & Year(DTPKembali.Text) & ")"
CRV.ReportSource = "C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\PerpustakaanSMASantaMariaMedan\PerpustakaanSMASantaMaria Medan\Reporting\ReportPengembalian.rpt"
CRV.RefreshReport() End Sub
(48)
KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM Jl. Bioteknologi No.1 Kampus USU Padang Bulan Medan-20155
Telp. (061) 8211050, Fax. (061) 8214290
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : ANDREAS H SIRAITNomor Stambuk : 132406018
Judul Tugas Akhir : PERANCANGAN SISTEM APLIKASI
PERPUSTAKAAN PADA PERPUSTAKAAN SMA SANTA MARIA MEDAN
Dosen Pembimbin : Prof. Dr. Tulus,M.Si. Ph.D Tanggal Mulai Bimbingan :
Tanggal Selesai Bimbingan : No. Tanggal
Asisten Bimbingan
Pembahasan pada Asistensi Mengenai, pada
Bab : Paraf Dosen Pembimbing Keterangan 1. 2. 3. 4. 5. 6. 7. 8.
Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah selesai.
Diketahui, Disetujui,
Program Studi D-3 Teknik Informatika
Ketua, Pembimbing
Dra.Elly Rosmaini, M.Si Prof. Dr. Tulus,M.Si. Ph.D NIP. 19600520 198503 2 002 NIP. 19620901 198803 1 002
(49)
SURAT KETERANGAN Hasil Uji Program Tugas Akhir
Yang bertanda tangan di bawah ini, menerangkan bahwa Mahasiswa Tugas Akhir Program D3 Teknik Informatika :
Nama : ANDREAS H SIRAIT
NIM : 132406018
Program Studi : DIPLOMA (D-3) TEKNIK INFORMATIKA
Judul Tugas Akhir :PERANCANGAN SISTEM APLIKASI PERPUSTAKAAN PADA PERPUSTAKAAN SMA SANTA MARIA MEDAN
telah melakukan test program Tugas Akhir Mahasiswa tersebut di atas pada tanggal …..../07/2016.
Dengan hasil : SUKSES / GAGAL
Demikian diterangkan untuk digunakan melengkapi Syarat Pendaftaran Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU Medan.
Medan, Juli 2016 Dosen Pembimbing
Program D-3 Teknik Informatika
Prof. Dr. Tulus,M.Si. Ph.D NIP. 19620901 198803 1 002
(50)
DAFTAR PUSTAKA
Suryana, Taryana. 2009. Visual Basic. Yogyakarta: Graha Ilmu.
Malik, Jaja Jamaludin. 2006. Animasi Form pada Visual Basic. Yogyakarta: Andi.
Panduan Tatacara Penulisan Skripsi & Tugas akhir 2010. Dokumen Nomor:
Akad/05/2005.Medan: Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
Wahana, K. 2013. Visual Basic 2012 Source Code. Yogyakarta: Andi Offset. Suharli, Suryanto. 2005. Membangun Aplikasi Berbasis Windows Dengan Visual
Basic .Net. Jakarta: PT Elex Media Komputindo.
Kristanto. 2004. Konsep dan Perancangan Database. Yogyakarta: Andi Offset. Yuswanto, Subari. 2010. Boom..! Visual Studio .Net 2010 Meledak. Jakarta: Cerdas
Pustaka Publisher.
Basuki, Sulistyo. 1991. Pengantar Ilmu Perpustakaan. Jakarta: Gramedia Utama. Kadir, Abdul. 1999. Konsep dan Tuntutan Praktis Basis Data. Yogyakarta: Andi. http://id.wikipedia.org/wiki/Visual_Basic. Diakses tanggal 17 Maret 2016
(51)
BAB 3
PERANCANGAN SISTEM
3.1.Analisis Sistem
Seiring dengan perkembangan teknologi informasi saat ini serta untuk meningkatkan efesiensi kerja dan waktu, maka sistem yang masih manual yang digunakan saat ini, harus diganti dengan system yang lebih baik lagi, yaitu dengan membangun sistem yang terkomputerisasi.
Untuk memulai membangun suatu program mengenai Aplikasi perpustakaan, maka penulis terlebih dahulu merencanakan alur kerja berdasarkan kebutuhan dari user yang akan menggunakan aplikasi basis data ini. Aplikasi perpustakaan ini dibuat atas dasar kebutuhan perpustakaan SMA Santa Maria Medan.
Berdasarkan pengamatan penulis mengenai analisis sitem yang berjalan pada perpustakaan sekolah ini masih ada ditemui kendala diantaranya yaitu, lambannya proses pengolahan data, tingkat akurasi yang rendah, dan data yang tidak dapat cepat di update. Mengetahui kendala yang ada, maka penulis mencoba merancang sebuah aplikasi perpustakaan sekolah untuk menjawab persoalan tersebut.
(52)
27
3.2.Perancangan Sistem
Perancangan Sistem adalah suatu pendekatan yang sistematis untuk mendefinisikan masalah, peluang dan tujuan, menganalisis arus informasi dalam organisasi serta untuk merancang sistem terkomputerisasi untuk menyelesaikan masalah dengan memperbaiki sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada.
3.2.1. Pendefinisian Masalah
Untuk membuat laporan data buku, data anggota, data peminjaman secara manual, misalnya untuk memasukkan data buku baru atau buku yang sedang dipinjam merupakan pekerjaan yang membutuhkan banyak waktu. Dalam hal ini ketelitian dari pembuat laporan sangat diperlukan agar dapat dijamin kebenarannya. Mengingat kelemahan tersebut maka penulis mencoba memecahkan permasalahan tersebut dengan cara menerapkan pengoperasian sistem pengolahan data mengaplikasikan Visual Basic sebagai bahasa pemrogramannya. Hal ini disebabkan karena Visual Basic juga menyediakan alokasi memori yang cukup besar sehingga memudahkan pemakaiannya dalam merancang dan membuat program.
3.3.Perancangan Program
Menu yang akan dirancang adalah sebagai berikut: 1. Menu Login.
(53)
28
2. Menu utama. Menu utama terdiri dari: a. Menu anggota
Menu anggota terdiri dari menu entry, edit dan hapus. Menu anggota berfungsi untuk menambah data anggota, mengubah data anggota dan menghapus data anggota.
b. Menu buku
Menu buku terdiri dari menu entry, edit dan hapus. Menu buku berfungsi untuk menambah buku baru, mengubah data buku dan menghapus data buku.
c. Menu Admin
Menu admin terdiri dari menu entry, edit dan hapus. Menu admin berfungsi untuk menambah data petugas, mengubah data petugas dan menghapus data petugas.
d. Menu Peminjaman dan Pengembalian Buku
Sub menu ini berfungsi untuk mengisi dan menambah data peminjaman dan pengembalian buku.
e. Menu Laporan
Terdiri dari sub menu laporan data anggota, buku, peminjaman dan pengembalian.
f. Menu Ganti Password
Sub menu ini berfungsi untuk mengubah password dari petugas. g. Menu Logout
Berfungsi untuk mengganti petugas yang sedang menggunakan program.
(54)
29
h. Menu Exit
Berfungsi untuk mengakhiri program.
3.4.Perancangan Database
Perancangan database adalah salah satu langkah untuk menentukan file database, tabel, tipe data dan ukuran data dari data yang digunakan. Database yang digunakan penulis dalam program data perpustakaan adalah DBPerpus.mdb dan perancangan database menggunakan Microsoft Access 2013 sebagai databasenya. Berikut rancangan tabel yang penulis gunakan dalam membangun system informasi ini:
a. Tabel Admin
Tabel 3.4.1. Tabel Admin
Nama Field Tipe Data Lebar Data
* IDPetugas Short Text 5
Username Short Text 30
Password Short Text 50
Status Short Text 13
b. Tabel Anggota
Tabel 3.4.2. Tabel Anggota
Nama Field Tipe Data Lebar Data
* NIS Short Text 5
Nama Short Text 30
(55)
30
Alamat Short Text 50
Telepon Short Text 12
c. Tabel Buku
Tabel 3.4.3. Tabel Buku
Nama Field Tipe Data Lebar Data
* Kode_Buku Short Text 4
Judul Short Text 50
Pengarang Short Text 50
Penerbit Short Text 50
Tahun Short Text 4
Stok Number Byte
d. Tabel Kembali
Tabel 3.4.4. Tabel Kembali
Nama Field Tipe Data Lebar Data
* Nomor_Kembali Short Text 8
Tanggal_Kembali Date/Time dd mm yyyy
Total_Kembali Number Byte
Denda Number Long Integer
Dibayar Number Long Integer
Kembali Number Long Integer
NIS Short Text 5
(56)
31
e. Tabel LapKembali
Tabel 3.4.5. Tabel LapKembali
Nama Field Tipe Data Lebar Data
* Nomor_Kembali Short Text 8
Kode_Buku Short Text 4
Jumlah_Buku Number Byte
f. Tabel LapPinjam
Tabel 3.4.6. Tabel LapPinjam
Nama Field Tipe Data Lebar Data
* Nomor_Pinjam Short Text 8
Kode_Buku Short Text 4
Jumlah_Buku Number Byte
g. Tabel Pinjam
Tabel 3.4.7. Tabel Pinjam
Nama Field Tipe Data Lebar Data
* Nomor_Pinjam Short Text 8
Tanggal_Pinjam Date/Time dd mm yyyy
Total_Pinjam Number Byte
NIS Short Text 5
(57)
32
3.5.Flowchart
Flowchart adalah sekumpulan simbol-simbol yang menunjukkan atau
menggambarkan rangkaian kegiatan-kegiatan program dari awal hingga akhir.
Flowchart juga dapat digunakan untuk menggambarkan urutan langkah-langkah
pekerjaan di suatu algoritma.
Dalam program Aplikasi Sistem Perpustakaan SMA Santa Maria Medan terdapat alur-alur aktivitas yang dapat digambarkan dalam bentuk flowchart. Bentuk keseluruhan flowchart secara keseluruhan dari program aplikasi ini adalah sebagai berikut:
Gambar 3.1. Aliran Data Sistem
(58)
33
a. Flowchart Input Data
Flowchart dibawah ini digunakan untuk “Form DaftarAnggota”, “Form
DaftarBuku” dan “Form DaftarPetugas”, seperti berikut ini:
(59)
34
b. Flowchart Form Peminjaman
Flowchart Form Peminjaman dapat dilihat pada gambar dibawah ini:
Gambar 3.3. Aliran Data Form Peminjaman
NIS Tidak
Ada
(60)
35
c. Flowchart Form Pengembalian
Flowchart Form Pengembalian dapat dilihat pada gambar dibawah ini:
Gambar 3.4. Aliran Data Form Pengembalian d. Flowchart Laporan
Flowchart Laporan dapat dilihat pada gambar dibawah ini:
Gambar 3.5. Aliran Data Laporan
No
No
Yes Yes
(61)
36
e. Flowchart Tools
Flowchart Tools dapat dilihat pada gambar dibawah ini:
(62)
37
f. Flowchart Login
Flowchart Login dapat dilihat pada gambar dibawah ini:
Gambar 3.7. Aliran Data Form Login
3.6.Algoritma Program Aplikasi Perpustakaan
Algoritma adalah cara untuk memeriksa/menjelaskan urutan dan hubungan antara kegiartan-kegiatan yang akan ditempuh untuk memecahkan masalah hingga tercapainya tujuan yang diinginkan. Dalam aplikasi ini penulis membuat algoritma
(63)
38
untuk setiap form yang ada. Adapun algoritma dari tiap form yang dibuat penulis adalah sebagai berikut:
3.6.1. Algoritma Form Login
Langkah 1 : Jalankan Program.
Langkah 2 : Menampilkan Form Login. Langkah 3 : Isi Username dan Password.
Langkah 4 : Username dan Password akan dicocokkan sesuai record pada tabel admin, jika cocok masuk ke halaman utama, jika tidak ulangi pengisian Username dan Password.
3.6.2. Algoritma Form Home
Langkah 1 : Pilih Menu yang ingin di tampilkan. Langkah 2 : Menu yang dipilih ditampilkan.
3.6.3. Algoritma Form DaftarAnggota
Langkah 1 : Pilih Menu Anggota.
Langkah 2 : Menu Anggota di tampilkan. Langkah 3 : Isi semua data anggota.
Langkah 4 : Jika meng-klik save data akan disimpan ke tabel Anggota, jika user meng-klik hapus maka data akan dihapus sesuai field kunci yang dimasukkan, jika meng-klik cancel maka semua textbox akan di kosongkan datanya.
Langkah 5 : Jika meng-klik form peminjaman, form peminjaman di tampilkan. Langkah 6 : Jika meng-klik form pengembalian, form pengembalian tampil.
(64)
39
3.6.4.Algoritma Form DaftarBuku
Langkah 1 : Pilih Menu Buku.
Langkah 2 : Menu Buku di tampilkan. Langkah 3 : Isi semua data buku.
Langkah 4 : Jika meng-klik save data akan disimpan ke tabel Buku, jika user meng-klik hapus maka data akan dihapus sesuai field kunci yang dimasukkan, jika meng-klik cancel maka semua textbox akan di kosongkan datanya.
Langkah 5 : Jika meng-klik form peminjaman, form peminjaman di tampilkan. Langkah 6 : Jika meng-klik form pengembalian, form pengembalian tampil.
3.6.5. Algoritma Form DaftarPetugas
Langkah 1 : Pilih Menu Petugas.
Langkah 2 : Menu Petugas di tampilkan. Langkah 3 : Isi semua data petugas.
Langkah 4 : Jika meng-klik save data akan disimpan ke tabel Admin, jika user meng-klik hapus maka data akan dihapus sesuai field kunci yang dimasukkan, jika meng-klik cancel maka semua textbox akan di kosongkan datanya.
Langkah 5 : Jika meng-klik form peminjaman, form peminjaman di tampilkan. Langkah 6 : Jika meng-klik form pengembalian, form pengembalian tampil.
3.6.6. Algoritma Form Peminjaman
Langkah 1 : Pilih Menu Peminjaman.
Langkah 2 : Menu Peminjaman ditampilkan.
(65)
40
tampil pada DGVPinjam2, isi kode buku yang dipinjam pada DGVPinjam1, klik simpan maka data buku dan transaksi peminjaman akan disimpan pada tabel Pinjam dan LapPinjam serta stok buku pada tabel Buku akan dikurangi.
3.6.7. Algoritma Form Pengembalian
Langkah 1 : Pilih Menu Pengembalian.
Langkah 2 : Menu Pengembalian ditampilkan.
Langkah 3 : Isi NIS pada combo box, data buku yang dipinjam akan tampil pada DGVKembali2, isi kode buku yang dikembalikan pada DGVKembali1, klik simpan maka data transaksi pengembalian akan disimpan pada tabel Kembali dan LapKembali, serta stok buku pada tabel Buku akan ditambahkan.
3.6.8. Algoritma Form GantiPassword
Langkah 1 : Pilih Menu Ganti Password pada home atau menustrip tools. Langkah 2 : Menu Ganti Password akan ditampilkan.
Langkah 3 : Masukkan Username, maka textbox password lama diaktifkan. Langkah 4 : Masukkan password lama, maka textbox password baru diaktifkan. Langkah 5 : Masukkan password baru, maka textbox Konfirmasi password
diaktifkan.
Langkah 6 : Tekan Enter, maka password yang ada tabel Admin akan di update sesuai password baru yang dimasukkan, kemudian form login ditampilkan
(66)
41
3.6.9. Algoritma MenuStrip
Langkah 1 : Pilih Menustrip yang diinginkan.
Langkah 2 : Jika memilih menustrip laporan maka pilihan laporan siswa, laporan buku dan laporan transaksi bulanan akan tampil. Langkah 3 : Pilih laporan yang ingin ditampilkan.
Langkah 4 : Jika memilih laporan buku, maka ReportBuku.rpt akan tampil. Langkah 4 : Jika memilih laporan siswa, maka ReportSiswa.rpt akan tampil. Langkah 5 : Jika memilih laporan bulanan transaksi, form LaporanTransaksi
Akan ditampilkan.
3.6.10.Algoritma Form LaporanTransaksi
Langkah 1 : Pilih Menu Laporan Bulanan Transaksi pada menustrip. Langkah 2 : Form LaporanTransaksi ditampilkan.
Langkah 3 : Pilih bulan dan tahun pada groupbox1 kemudian klik tampilkan maka ReportPeminjaman.rpt akan ditampilkan pada CRV sesuai bulan dan tahun yang dipilih.
Langkah 3 : Pilih bulan dan tahun pada groupbox2 kemudian klik tampilkan maka ReportPengembalian.rpt akan ditampilkan pada CRV sesuai bulan dan tahun yang dipilih
(67)
BAB 4
IMPLEMENTASI SISTEM
4.1.Pengertian Implementasi Sistem
Impelementasi sistem adalah tahapan yang dilakukan dalam menyelesaikan desain sistem yang telah disetujui, untuk menginstal, menguji dan memulai sistem baru atau sistem yang diperbaiki. Adapun langkah-langkah yang dibutuhkan dalam implementasis sistem adalah:
1. Mendapatkan software dan hardware yang tepat serta sesuai untuk merancang aplikasi Perpustakaan.
2. Menyelesaikan rancangan sistem.
3. Menulis, menguji, mengontrol dan mendokumentasikan sistem. 4. Mendapatkan persetujuan
4.2.Tujuan Implementasi Sistem
Adapun tujuan dari implementasi sistem adalah sebagai berikut:
1. Mengkaji rangkaian sistem baik dari segi software maupun hardware
sebagai sarana pengolah data dan penyaji informasi, 2. Menyelesaikan desain sistem yang telah disetujui.
(68)
43
3. Memastikan apakah sistem yang dibangun telah dapat digunakan atau belum baik dari segi sistem, maupun dari segi tampilan antar muka aplikasi.
4. Memasikan bahwa user (pengguna) dapat mengoperasikan sistem yang telah dibuat.
5. Menguji apakah sistem tersebut sesuai dengan keinginan dan kebutuhan pemakai.
6. Memastikan bahwa konversi ke sistem baru berjalan dengan baik dengan cara mengontrol dan melakukan istalasi baru secara benar.
4.3.Tahap Implementasi
Tahapan implementasi berfokus kepada penerapan dari sistem yang telah didsesain ke bahasa pemrograman, sehingga akhirnya diperoleh hasil seperti yang diinginkan.
Tahap-tahap yang dilakukan dalam pembuatan sistem ini ada beberapa langkah antara lain:
1. Persiapan
Pada tahap ini dilakukan penganalisaan terhadap masalah yang akan diproses. Adapun kebutuhan sistem yang akan diperlukan dalam pembuatan sistem ini adalah:
a. Perangkat Keras (Hardware)
Hardware adalah seluruh komponen-komponen computer yang
(69)
44
yang digunakan dapat berjalan sebagaimana yang diinginkan. Dalam hal ini komponen yang digunakan yaitu notebook dan printer untuk mencetak laporan.
b. Perangkat Lunak (Software)
Software merupakan komponen yang paling penting yang dapat
menjembatani antara pengguna dan computer sehingga dapat menampilkan gambaran sistem seperti yang diinginkan. Software yang digunakan untuk menjalankan perangkat keras untuk aplikasi ini adalah Sistem Operasi Windows 10, Visual Basic 2010, SAP Crystal Report, Microsoft Office Access 2013 dan Adobe Photoshop CS4.
c. Perangkat manusia (Brainware)
Brainware disebut juga dengan lifeware yang merupakan orang yang
bekerja dalam menangani fasilitas komputer dan juga menangani sistem. Adapun unsur manusia yang dibutuhkan yaitu operator dan programmer.
2. Analisa
Tahap berikutnya adalah menganalisa hubungan antara data input dengan output dari sistem yang dirancang.
3. Penulisan
Tahap berikutnya adalah penyusunan/penulisan program kedalam bahasa komputer dengan bahasa pemrograman yang telah ditentukan.
(70)
45
4. Compiling
Bila menggunakan bahasa yang memerlukan compiling, maka digunakan
processor program atau compiler untuk merubah bahasa simbol mejadi
bahasa mesin. 5. Pengujian Program
Sebelum program ditetapkan dan dinyatakan benar, maka program terlebih dahulu harus bebas dari kesalahan-kesalahan. Oleh sebab itu program harus diuji kembali untuk mengetahui kembali apakah program dapat menerima input dengan baik, dapat memproses input dengan baik serta dapat memberikan/menghasilan output sesuai dengan yang diharapkan.
4.4.Tampilan Program
Sistem aplikasi perpustakaan yang dibangun dengan menggunakan software Microsoft Visual Basic 2010 ini memiliki berapa form sebagai tampilan dari program ini. Berikut ada penjelasan dari setiap form yang terdapat pada program ini:
a. Form Login
Form Login adalah form awal ketika menjalankan program. Form login merupakan pintu masuk dari program perpustakaan. Form login berfungsi sebagai gerbang dari program ini. Jika ingin masuk lebih dalam lagi kedalam program ini user/admin harus memasukkan Username dan Password sesuai dengan data dalam tabel Admin. Jika Username dan
(71)
46
Password yang dimasukkan telah sesuai dengan data tabel Admin, maka data tersebut akan disimpan kedalam statussrip yang berada pada form Home sebagai penanda admin yang sedang menggunakan sistem. Tampilan dapat dilihat pada Gambar 4.4.1.
Gambar 4.4.1. Tampilan Form Login b. Form Home
Form Home akan tampil ketika admin telah berhasil masuk. Form Home dapat disebut sebagai User Interface dari sistem aplikasi perpustakaan ini. Dalam form ini user dapat memilih beberapa menu seperti Menu Anggota, Buku, Peminjaman, Pengembalian, Ganti Password serta terdapat Menustrip yang berisi menu laporan dan tools. Pada menustrip laporan berfungsi untuk menampilkan laporan dari perpustakaan, sedangkan pada menu tools terdapat beberapa menu seperti Ganti Password dan Ganti Petugas, dan setiap admin/user kembali masuk
(72)
47
melalui form Login maka status user pada Statusstrip akan terganti. Tampilan dapat dilihat pada Gambar 4.4.2.
Gambar 4.4.2. Tampilan Form Home c. Form DaftarAnggota
Form DaftarAnggota akan tampil ketika user memilih menu Anggota pada Form Home. Pada form ini user dapat menampilkan data anggota,
(73)
48
menambah anggota baru, meng-update data anggota dan menghapus data anggota. Tampilan dapat dilihat pada Gambar 4.4.3.
Gambar 4.4.3. Tampilan Form DaftarAnggota
d. Form DaftarBuku
Form DaftarBuku akan tampil ketika user memilih menu Anggota pada Form Home. Pada form ini user dapat menampilkan data buku,
(74)
49
menambah daftar buku, meng-update data buku dan menghapus data buku. Tampilan dapat dilihat pada Gambar 4.4.4.
Gambar 4.4.4. Tampilan Form DaftarBuku
e. Form DaftarPetugas
Form DaftarPetugas akan tampil ketika user memilih menu Petugas pada Form Home. Pada form ini user dapat menampilkan data petugas,
(75)
50
menambah daftar petugas, meng-update data petugas dan menghapus data petugas. Tampilan dapat dilihat pada Gambar 4.4.5.
Gambar 4.4.5. Tampilan Form DaftarPetugas f. Form Peminjaman
Form Peminjaman tampil ketika menu Peminjaman pada Form Home dipilih. Form ini berfungsi untuk mengelola transaksi peminjaman pada perpustakaan SMA Santa Maria secara terkomputerisasi. Sebelum melakukan peminjaman isi terlebih dahulu NIS peminjam, ketika telah diisi DGVPinjam2 akan menampilkan daftar buku yang sedang dipinjam,
(76)
51
dan jika ingin melakukan peminjaman isi kode buku pada DGVPinjam1. Tampilan dapat dilihat pada Gambar 4.4.6.
Gambar 4.4.6. Tampilan Form Peminjaman g. Form Pengembalian
Form Pengembalian tampil ketika menu Pengembalian pada Form Home dipilih. Form ini berfungsi untuk mengelola transaksi pengembalian pada perpustakaan SMA Santa Maria secara terkomputerisasi. Sebelum melakukan peengembalian isi terlebih dahulu NIS, ketika telah diisi DGVKembali2 akan menampilkan daftar buku yang sedang dipinjam, jika anggota bersangkutan tidak memiliki daftar pinjaman maka akan
(77)
52
tampil message box, jika ingin melakukan pengembalian isi kode buku pada DGVKembali1. Tampilan dapat dilihat pada Gambar 4.4.7.
Gambar 4.4.7. Tampilan Form Pengembalian Buku h. Form GantiPassword
Form GantiPassword akan tampil ketika menu Ganti Password pada form Home dipilih. Form ini berfungsi untuk mengganti password dari petugas perpustakaan. Pada form ini textbox yang terbuka di awal hanya textbox Username, jika ingin mengaktifkan textbox berikutnya isi terlebih dahulu
(78)
53
data textbox kemudian tekan enter. Tampilan dapat dilihat pada Gambar 4.4.8.
Gambar 4.4.8. Tampilan Form Ganti Password i. Form LaporanUmum
Form LaporanUmum akan tampil ketika memilih menu Laporan Siswa atau Laporan Buku pada Form Home. Form LaporanUmum berfungsi untuk menampilkan laporan dari data perpustakaan seperti data siswa dan buku. Tampilan dapat dilihat pada Gambar 4.4.9. dan Gambar 4.4.10.
(79)
54
Gambar 4.4.10. Tampilan Form LaporanUmum Buku j. Form LaporanTransaksi
Form LaporanTransaksi akan tampil ketika memilih menu Laporan Bulanan Transaksi pada Menustrip Laporan yang berada pada Form Home. Form LaporanTransaksi berfungsi untuk menampilkan laporan
(80)
55
bulanan dari setiap transaksi peminjaman maupun pengembalian. Tampilan dapat dilihat pada Gambar 4.4.11. dan Gambar 4.4.12.
Gambar 4.4.11. Tampilan Form LaporanTransaksi Peminjaman
(81)
BAB 5
KESIMPULAN DAN SARAN
5.1.Kesimpulan
Maka dari uraian yang telah disajikan sebelumnya penulis mengambil kesimpulan bahwa bidang mata kuliah Microsoft Visual Basic perlu dipelajari dan dipahami. Karena Visual Basic merupakan salah satu program pengolah database yang dirancang untuk mengefisienkan sistem aplikasi perpustakaan, baik dari segi waktu, tenaga dan memperkecil kesalahan dalam penyajian data, apabila dibandingkan dengan sistem yang berjalan secara manual.
Berdasarkan dari hasil penelitian dan pengamatan yang penulis lakukan, maka dapat ditarik kesimpulan sebagai berikut:
1. Sistem aplikasi perpustakaan yang dibuat penulis akan membantu, mempermudah dan mempercepat kinerja petugas perpustakaan dalam mengola data yang ada dalam sistem.
2. Sistem aplikasi ini peng-updatean (insert, hapus, update) data yang diperlukan secara cepat, khususnya pada peng-updatean data buku dan anggota.
3. Penulis mendapat tambahan ilmu pengetahuan dalam pembuatan program database, teruatama dengan menggunakan bahasa pemrograman
(82)
57
Visual Basic karena bahasa pemrograman ini relative mudah untuk dipelajari, karena tidak memiliki perintah terlalu banyak.
4. Data-data perpustakaan seperti data buku, siswa dan transaksi yang dilakukan anggota perpustakaan akan tersimpan secara rapi dengan
database Microsoft Access yang dibuat oleh penulis.
5.2.Saran
Setelah melakukan penelitian dan pengamatan pada Perpustakaan SMA Santa Maria Medan, penulis ingin memberikan saran-saran yang kiranya dapat membrikan manfaat, antara lain:
1. Hendaknya Perpustakaan SMA Santa Maria Medan menerapkan sistem terkomputerisasi dan tidak memakai sistem manual agar segala aktivitas perpustakaan dapat dengan cepat diproses dan proses pengerjaaannya tidak lagi menjadi rumit.
2. Hendaknya para tenaga pekerja pada Perpustakaan SMA Santa Maria belajar mengoperasikan sistem yang telah di buat oleh penulis, sehingga proses pengolahan data pada perpustakaan tersebut dapat dilakukan dengan lebih efektif dan efisien.
3. Penulis berharap adanya pengembangan lebih lanjut dari sistem aplikasi yang terpadu untuk menanggulangi dan mengolah data yang lebih besar dimasa yang akan datang.
(83)
58
Dengan adanya saran-saran yang disampaikan penulis, diharapkan kiranya segala kekurangan dan ketertinggalan dapat diperbaiki dan dikembangkan agar sistem aplikasi perpustakaan dapat lebih akurat dan efisien sehingga tidak terdapat kekeliruan dalam pengolahan data.
(1)
Sumatera Utara yang telah memberikan bimbingan dan arahan selama ini dalam penyelesaian tugas akhir.
4. Seluruh Staf Pengajar Program Studi D-3 Teknik Informatika FMIPA Universitas Sumatera Utara yang telah memberikan ilmu dan pengetahuannya selama masa perkuliahan.
5. Teristimewa kepada wanita yang selalu berada di samping saya Dian Wahyu Novita Sari Simorangkir, yang senantiasa memberikan dukungan dan doa dalam penyusunan Tugas Akhir ini, Tuhan memberkati.
6. Teman-teman seperjuangan KOM B 2013, teman-teman D-3 Teknik Informatika 2013, abang dan kakak senior, adik-adik junior yang memberik dukungan dan bantuan kepada saya dalam pengerjaan Tugas Akhir ini.
7. Pihak-pihak lain yang telah banyak membantu penulis, yang tidak dapat disebutkan satu-persatu.
Dalam penyusunan Tugas Akhir ini, penulis menyadari masih terdapat banyak kekurangan karena keterbatasan kemampuan yang penulis miliki, baik dari segi teknis, tata penyajian maupun dari tata cara penulisan. Untuk itu kiranya pembaca dapat memaklumi kekurangan dalam Tugas Akhir ini.
Akhir kata penulis berharap semoga Tugas Akhir ini bermanfaat bagi siapapun yang membacanya. Semoga Tuhan Yang Maha Esa senantiasa memberikan rahmat kepada kita semua. Amin.
Medan, Juni 2016
Penulis
(2)
vi
ABSTRAK
Perpustakaan merupakan sarana pendukung peningkatan mutu pengetahuan melalui penyediaan informasi, bahan pustaka dan layanan baca. Tugas Akhir ini bertujuan untuk membangun suatu sistem aplikasi yang dapat membantu melakukan pekerjaan untuk mengolah data pada Perpustakaan SMA Santa Maria Medan. Aplikasi ini dirancang dengan menggunakan Microsoft Visual Basic 2010 dan Microsoft Access. Dengan demikian, perancangan suatu aplikasi memerlukan sistem yang tepat agar hasil yang diperoleh dapat memenuhi kebutuhan pemakai dan sesuai dengan yang diinginkan. Adapun tujuan dari perancangan sistem ini adalah untuk mempermudah pengolahan data perpustakaan dan meningkatkan produktivitas dan efektivitas kerja pegawai dalam mengolah data hingga penyajian laporan.
(3)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
BAB 1 PENDAHULUAN
1.1. Latar Belakang Masalah 1
1.2. Rumusan Masalah 3
1.3. Batasan Masalah 3
1.4. Maksud dan tujuan 4
1.5. Manfaat Penelitian 5
1.6. Metodologi Penelitian 5
1.7. Tinjauan Pustaka 6
1.8. Sistematika Penulisan 8
BAB 2 LANDASAN TEORI
2.1. Pengertian Sistem 10
2.2. Pengertian Program atau Aplikasi 12
2.3. Komputer 12
2.4. Pengertian Perpustakaan 13
2.5. Visual Basic 14
2.5.1. Sejarah Visual Basic 15
2.5.2. Perkembangan Visual Basic 16
2.5.3. Struktur Aplikasi Visual Basic 20 2.5.4. Kelebihan dan Kekurangan Visual Basic 22
2.6. Microsoft Access 23
2.7. Pengertian Database 24
2.7.1. Database Management System 24
2.8. Crystal Report 25
BAB 3 PERANCANGAN SISTEM
3.1. Analisis Sistem 26
3.2. Perancangan Sistem 27
3.2.1. Pendefinisian Masalah 27
3.3. Perancangan Program 27
3.4. Perancangan Database 29
3.5. Flowchart 32
3.6. Algoritma Program Aplikasi Perpustakaan 37
(4)
viii
3.6.2. Algoritma Form Home 38
3.6.3. Algoritma Form DaftarAnggota 38
3.6.4. Algoritma Form DaftarBuku 39
3.6.5. Algoritma Form DaftarPetugas 39
3.6.6. Algoritma Form Peminjaman 39
3.6.7. Algoritma Form Peminjaman 40
3.6.8. Algoritma Form GantiPassword 40
3.6.9. Algoritma MenuStrip 41
3.6.10.Algoritma Form LaporanTransaksi 41
BAB 4 IMPLEMENTASI SISTEM
4.1. Pengertian Implementasi Sistem 42
4.2. Tujuan Implementasi Sistem 42
4.3. Tahap Implementasi 43
4.4. Tampilan Program 45
BAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan 56
5.2. Saran 57
Daftar Pustaka Lampiran
(5)
DAFTAR TABEL
Nomor Tabel Judul Halaman
3.4.1. Tabel Admin 29
3.4.2. Tabel Anggota 29
3.4.3. Tabel Buku 30
3.4.4. Tabel Kembali 30
3.4.5. Tabel LapKembali 31
3.4.6. Tabel LapPinjam 31
(6)
x
DAFTAR GAMBAR
Nomor Gambar Judul Halaman
3.1. Aliran Data Sistem 32
3.2. Aliran Data Input Data 33
3.3. Aliran Data Form Peminjaman 34
3.4. Aliran Data Form Pengembalian 35
3.5. Aliran Data Laporan 35
3.6. Aliran Data Tools 36
3.7. Aliran Data Form Login 37
4.4.1. Tampilan Form Login 46
4.4.2. Tampilan Form Home 47
4.4.3. Tampilan Form DaftarAnggota 58
4.4.4. Tampilan Form DaftarBuku 59
4.4.5. Tampilan Form DaftarPetugas 50
4.4.6. Tampilan Form Peminjaman 51
4.4.7. Tampilan Form Pengembalian Buku 52
4.4.8. Tampilan Form Ganti Password 53
4.4.9. Tampilan Form LaporanUmum Siswa 53
4.4.10. Tampilan Form LaporanUmum Buku 54
4.4.11. Tampilan Form LaporanTransaksi Peminjaman 55 4.4.12. Tampilan Form LaporanTransaksi Pengembalian 55