Efektivitas Pelayanan Sertifikasi Tanah Dalam Proyek Operasi Nasional Agraria Pada Kantor Pertanahan Kota Medan

(1)

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 SIRAIT

Nomor 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