RANCANGAN PROGRAM
PERPUSTAKAAN STMIK MERCUSUAR
BERBASIS MICROSOFT VISUAL BASIC 2010
UJIAN AKHIR SEMESTER
Oleh
:
DEWI
RATNA SARI
1757201051
PROGRAM STUDI SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER MERCUSUAR
BEKASI
2017
KATA
PENGANTAR
Puji dan syukur kehadirat Allah SWT, atas limpahan
rahmat dan hidayahnya kepada kita. Dengan rahmatnya itulah makalah ini dapat
diselesaikan. shalawat dan salam selalu tercurah kepada suri taulan dan abadi
dan kekasih kita Nabi Muhammad SAW, sosok pembawa cahaya kebenaran yang
Alhamdulillah sampai pada diri kita sehingga menjadi nikmat bagi kita bersama. Atas berkat rahmat dan
karunia-Nya saya telah berhasil menyusun Makalah ini.
Program
yang kami susuan dalama makalah ini, merupakan jawaban tugas Ujian Akhir Semester
untuk mata kuliah Pemrograman Visual Basic yang diampu oleh Dosen : Abdur
Rohman, S.Kom.
Pada program ini, dibuat 4 buah
form sebagai berikut :
1. Form Buku
2. Form Anggota
3. Form Peminjaman
4. Form Cetak Kwitansi
Selain itu, pada program ini dibuat juga
1 module untuk mengkoneksikan database ke form pada Visual Basic, lalu dibuat
juga MySQL sebagai databasenya dan juga membuat output berupa kwitansi
peminjaman dengan Crystal Report
Program
dibuat dan disusun berdasarkan hasil dari beberapa sumber seperti : buku dan
internet (youtube, blog pribadi, situs matakuliah, situs universitas yang
relevan) maupun jurnal mata kuliah yang berkaitan dengan pemrograman visual
basic.
Bekasi, Januari 2018
Penyusun,
Dewi
Ratna Sari
PERANCANGAN
PROGRAM PERPUSTAKAAN
· RANCANGAN DATABASE
Berikut
ini adalah struktur tampilan database MySQL yang diakses melalui localhost//
dengan App Xampp versi 1.7.3.
Nama database yang
digunakan adalah dbperpustakaan. Pada
dbperpustakaan terdapat 4 tabel yang saling berelasi yaitu :
-
Tabel Buku (tblbuku)
-
Tabel Anggota (tblanggota)
-
Tabel Detail peminjaman (tbldetailpeminjaman)
-
Tabel Peminjaman (tblpeminjaman).
· Struktur Tabel
Ø Rancangan
Tabel Buku
Tabel buku ini
berfungsi untuk menyimpan data buku yang ada di dalam perpustakaan.
Nama Tabel : tblbuku
Primary Key : KodeBuku
Field-fieldnya
adalah sebagai berikut :
Gambar
Tampilan Strukture tblbuku
Table
yang ada didalam database diatas berjudul tblbuku
yang terdiri dari 12 field yang berisi Kodebuku sampai Display. Untuk font
style yang digunakan adalah Latin1_Swedia_Ci_1. Fungsi table diatas adalah menambah,
menginput, edit, dan menghapus data buku yang kemudian disimpan didalam
database. Fungsi tersebut akan masuk dalam sub Browse contoh tampilan browse
adalah sebagai berikut :
Gambar Tampilan Browse tblbuku
Ø Rancangan
Tabel Anggota
Form ini berfungsi untuk menginput dan menampilkan
data anggota dalam perpustakaan.
Nama Tabel : tblanggota
Primary Key : KodeAnggota
Field-fieldnya
adalah sebagai berikut :
Gambar
Tampilan Strukture tblanggota
Table
yang ada didalam database diatas berjudul tblanggota
yang terdiri dari 5 field yang berisi KodeAnggota sampai Email. Untuk font
style yang digunakan adalah Latin1_Swedia_Ci_1. Fungsi table diatas adalah menambah,
menginput, edit, dan menghapus data anggota yang kemudian disimpan didalam
database. Fungsi tersebut akan masuk dalam sub Browse contoh tampilan browse
adalah sebagai berikut :
Gambar Tampilan Browse tblanggota
Ø Rancangan
Tabel Detail Peminjaman
Form ini berfungsi untuk menginput dan menampilkan
detail peminjamana buku.
Nama Tabel : tbldetailpeminjaman
Primary Key : notransaksi
Field-fieldnya
adalah sebagai berikut :
Gambar
Tampilan Strukture tbldetailpeminjaman
Table
yang ada didalam database diatas berjudul
tbldetailpeminjaman yang terdiri
dari 3 field yang berisi notransaksi sampai Email. Untuk font style yang
digunakan adalah Latin1_Swedia_Ci_1. Fungsi table detail peminjaman adalah
untuk memasukan no transaksi, dan memasukan harga sewa sesuai kode buku. Fungsi
tersebut akan masuk dalam sub Browse contoh tampilan browse adalah sebagai berikut
:
Gambar Tampilan Browse tbldetailpeminjaman
Ø Rancangan
Tabel Peminjaman
Form ini berfungsi untuk menampilkan semua relasi
pada tabel sebelumnya, data yang telah di simpan dapat di cetak langsung.
Nama Tabel : tblpeminjaman
Primary Key : notransaksi, tanggal,
kodeanggota, total
Field-fieldnya
adalah sebagai berikut :
Gambar
Tampilan Strukture tblpeminjaman
Table
yang ada didalam database diatas berjudul
tblpeminjaman yang terdiri dari
4 field yang berisi notransaksi sampai Total. Untuk font style yang digunakan
adalah Latin1_Swedia_Ci_1. Contoh browse tampilan browse adalah sebagai berikut
:
Gambar Tampilan Browse tblpeminjaman
· MODUL KONEKSI
Ø Persiapan
Model Koneksi database yang dipakai menggunakan oledbconnection, program
dapat digunakan dalam model stand alone computer. Module/Mod
Koneksi ini digunakan untuk menghubungkan atau mengkoneksikan database MySQL
dengan form pada Visual Basic. Penambahan module tersebut pada Visual Basic
2010 dapat dilakukan dengan cara Instal
terlebih dahulu .net connector tambahkan referensi MySql ke dalam Project
dengan mengklik Project >> properties >> pilih References >> Add>> .Net Pilih Mysql.data.dll
Ø Koneksi Database
Tambahkan sebuah module baru (klik project >> Module
>> Add )
Gambar
Koneksi Database
Setelah itu diisi dengan script
code dibawah ini untuk mengkoneksikannya :
Imports Microsoft.VisualBasic
Imports MySql.Data.MySqlClient
Public Class
Koneksi
Protected
tbluser = New DataTable
Protected
SQL As String
Protected
Cn As MySqlConnection
Protected
Cmd As MySqlCommand
Protected
Da As MySqlDataAdapter
Protected
Ds As DataSet
Protected
Dt As DataTable
|
Public Function
OpenConn() As Boolean
Cn = New
MySqlConnection("server=localhost;User
Id=root;database=dbperpustakaan;Convert Zero Datetime=True")
Cn.Open()
If
Cn.State <> ConnectionState.Open Then
Return
False
Else
Return
True
End If
End Function
Public Sub CloseConn()
If Not IsNothing(Cn) Then
Cn.Close()
Cn = Nothing
End If
End Sub
Public Function ExecuteQuery(ByVal
Query As String)
As DataTable
If Not OpenConn() Then
MsgBox("Koneksi
Gagal..!!", MsgBoxStyle.Critical,
"Access Failed")
Return
Nothing
Exit
Function
End If
Cmd = New
MySqlCommand(Query, Cn)
'Cmd = New
OleDb.OleDbCommand(Query, Cn)
'Da = New
OleDb.OleDbDataAdapter
Da = New
MySqlDataAdapter
Da.SelectCommand = Cmd
Ds = New
Data.DataSet
Da.Fill(Ds)
Dt = Ds.Tables(0)
Return
Dt
Dt = Nothing
Ds = Nothing
Da = Nothing
Cmd = Nothing
CloseConn()
End Function
Public Sub ExecuteNonQuery(ByVal
Query As String)
If Not OpenConn() Then
MsgBox("Koneksi
Gagal..!!", MsgBoxStyle.Critical,
"Access Failed..!!")
Exit Sub
End If
Cmd = New
MySqlCommand(Query, Cn)
Cmd.Connection = Cn
Cmd.CommandType = CommandType.Text
Cmd.CommandText = Query
Cmd.ExecuteNonQuery()
Cmd = Nothing
CloseConn()
End Sub
End Class
|
· RANCANGAN INTERFACE DENGAN KODING
1.
Form Buku
Gambar
Tampilan Form Buku
Form Buku ini berfungsi
untuk menginput dan menampilkan data buku-buku dalam sebuah perpustakaan.
Didalam form ini menggunakan 2 group Box, 11 Text Box, 13 Label, 1 panel, dan 2
Combo Box yang digunakan untuk penginputan data detail sebuah buku. Juga
menggunakan 7 Button untuk tombol
Display, Simpan, Baru, Hapus, Cari, Batal dan Keluar yang masing-masing
tombol memiliki fungsi tersendiri. Selain itu juga menggunakan 1 buah ListView
sebagai tampilan data buku yang sudah tersambung dengan database tblbuku.
Berikut ini adalah tampilan script code
dari Form Buku :
Public Class
FormBuku
Dim SQL As String
Dim
Proses As New
Koneksi
Dim
tblbuku As DataTable
Public
MyListItem As ListViewItem
Dim x As Integer
Sub
Header()
ListView1.Columns.Add("No", 35, HorizontalAlignment.Center)
ListView1.Columns.Add("Kode Buku", 84, HorizontalAlignment.Center)
ListView1.Columns.Add("Judul", 80, HorizontalAlignment.Center)
ListView1.Columns.Add("Pengarang", 80, HorizontalAlignment.Center)
End Sub
Sub
Tampil()
Dim i
As Integer
Dim
urut As Integer
Dim
jml As Double
urut = 1
jml = 0
Try
If
ListView1.Items.Count > 0 Then
ListView1.Clear()
End
If
ListView1.View = View.Details
Call
Header()
tblbuku = Proses.ExecuteQuery("Select * from tblbuku")
For
i = 0 To tblbuku.Rows.Count - 1
With
tblbuku.Rows(i)
MyListItem =
ListView1.Items.Add(urut)
MyListItem.SubItems.Add(.Item("KodeBuku").ToString)
MyListItem.SubItems.Add(.Item("Judul").ToString)
MyListItem.SubItems.Add(.Item("Pengarang").ToString)
End
With
urut = urut + 1
Next
Catch
exp As Exception
MsgBox("Program
Error" & vbCrLf & Err.Description)
End Try
Me.ListView1.FullRowSelect
= True
End Sub
Private Sub Form_Buku_Load_1(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
MyBase.Load
Tampil()
Call
Nonaktif()
Me.Cbokategori.Items.Add("Buku Cerita")
Me.Cbokategori.Items.Add("Buku Teks Pelajaran")
Me.Cbokategori.Items.Add("Majalah")
Me.Cbokategori.Items.Add("Kamus")
End Sub
Sub
tampilfoto()
Me.PictureBox1.ImageLocation
= Me.Txtfoto.Text
Me.PictureBox1.SizeMode
= PictureBoxSizeMode.StretchImage
End Sub
Sub
Nonaktif()
Btnsimpan.Enabled = False
Txtkode.Enabled = False
Txtjudul.Enabled = False
Cbopenerbit.Enabled = False
Txtpengarang.Enabled = False
Txtthn.Enabled = False
Cbokategori.Enabled = False
Txtjml.Enabled = False
Txtsewa.Enabled = False
Txtsumber.Enabled = False
Txtket.Enabled = False
Txtlokasi.Enabled = False
Txtfoto.Enabled = False
Txtkode.BackColor = Color.White
Txtjudul.BackColor = Color.White
Cbopenerbit.BackColor = Color.White
Txtpengarang.BackColor = Color.White
Txtthn.BackColor = Color.White
Cbokategori.BackColor = Color.White
Txtjml.BackColor = Color.White
Txtsewa.BackColor = Color.White
Txtsumber.BackColor = Color.White
Txtket.BackColor = Color.White
Txtlokasi.BackColor = Color.White
Txtfoto.BackColor = Color.White
End Sub
Sub
Aktif()
Txtkode.Enabled = True
Txtjudul.Enabled = True
Cbopenerbit.Enabled = True
Txtpengarang.Enabled = True
Txtthn.Enabled = True
Cbokategori.Enabled = True
Txtjml.Enabled = True
Txtsewa.Enabled = True
Txtsumber.Enabled = True
Txtket.Enabled = True
Txtlokasi.Enabled = True
Txtfoto.Enabled = True
Txtkode.BackColor = Color.Aquamarine
Txtjudul.BackColor = Color.Aquamarine
Cbopenerbit.BackColor = Color.Aquamarine
Txtpengarang.BackColor = Color.Aquamarine
Txtthn.BackColor = Color.Aquamarine
Cbokategori.BackColor = Color.Aquamarine
Txtjml.BackColor = Color.Aquamarine
Txtsewa.BackColor = Color.Aquamarine
Txtsumber.BackColor = Color.Aquamarine
Txtket.BackColor = Color.Aquamarine
Txtlokasi.BackColor = Color.Aquamarine
Txtfoto.BackColor = Color.Aquamarine
End Sub
Sub
Bersih()
Txtjudul.Text = ""
Cbopenerbit.Text = ""
Txtpengarang.Text = ""
Txtthn.Text = ""
Cbokategori.Text = ""
Txtjml.Text = ""
Txtsewa.Text = ""
Txtsumber.Text = ""
Txtlokasi.Text = ""
Txtcari.Text = ""
Txtket.Text = ""
Txtfoto.Text = ""
Call
Tampil()
Nonaktif()
Btnsimpan.Enabled = False : Btnhapus.Enabled = False
Btnbaru.Enabled = False : Btnkeluar.Enabled = True
Txtkode.Enabled = True
Txtkode.Focus()
Call
tampilfoto()
End Sub
Sub
Simpan()
SQL = "Insert
Into tblbuku " & _
"(KodeBuku,Judul,Pengarang,Penerbit,ThnTerbit,BiayaSewa,Kategori,Jumlah,Sumber,Keterangan,Lokasi,Display)"
& _
"Values"
& _
"('"
& Txtkode.Text & _
"','"
& Txtjudul.Text & _
"','"
& Txtpengarang.Text & _
"','"
& Cbopenerbit.Text & _
"','"
& Txtthn.Text & _
"','"
& Txtsewa.Text & _
"','"
& Cbokategori.Text & _
"','"
& Txtjml.Text & _
"','"
& Txtsumber.Text & _
"','"
& Txtket.Text & _
"','"
& Txtlokasi.Text & _
"','"
& Txtfoto.Text & "')"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Baru Telah Di Simpan..!!", "Penyimpanan Sukses", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
Call
Bersih()
End Sub
Sub
UpdateData()
SQL = "Update
tblbuku Set judul = '" & Txtjudul.Text & _
"',
Pengarang='" & Txtpengarang.Text & _
"',
Penerbit='" & Cbopenerbit.Text & _
"',
ThnTerbit='" & Txtthn.Text & _
"',
BiayaSewa='" & Txtsewa.Text & _
"',
Kategori='" & Cbokategori.Text & _
"', Jumlah='" & Txtjml.Text &
_
"',
Sumber='" & Txtsumber.Text & _
"',
Keterangan='" & Txtket.Text & _
"',
Lokasi='" & Txtlokasi.Text & _
"',
Display='" & Txtfoto.Text & _
"'
where KodeBuku = '" & Txtkode.Text & "'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Telah Diubah..!!", "SUKSES", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Call
Bersih()
End Sub
Sub
Hapus()
SQL = "Delete
From tblbuku Where KodeBuku ='" & Txtkode.Text & "'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Telah Dihapuus..!!", "HAPUS", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Call
Bersih()
End Sub
Private Sub BtnSimpan_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnsimpan.Click
If Me.Txtkode.Text = ""
Then
Exit Sub
End If
If Me.BtnSimpan.Text = "Simpan"
Then
Call
Simpan()
Else
Call
UpdateData()
End If
End Sub
Private Sub ListView1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles ListView1.SelectedIndexChanged
On Error Resume Next
Me.Txtkode.Text
= ListView1.SelectedItems(0).SubItems(1).Text
Me.Btnhapus.Enabled
= True
Me.BtnBatal.Enabled
= True
Me.BtnSimpan.Enabled
= True
End Sub
Private Sub Txtkode_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles Txtkode.KeyDown
If
e.KeyCode = Keys.Enter Then
Me.Txtjudul.Focus()
End If
End Sub
Private Sub Txtkode_TextChanged(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Txtkode.TextChanged
If
Len(Txtkode.Text) < 6 Then Exit Sub
tblbuku = Proses.ExecuteQuery("Select * From tblbuku Where KodeBuku='"
& Txtkode.Text & "'")
If
tblbuku.Rows.Count > 0 Then
With
Me
.Txtjudul.Text =
tblbuku.Rows(0).Item("Judul")
.Cbopenerbit.Text =
tblbuku.Rows(0).Item("Penerbit")
.Txtpengarang.Text =
tblbuku.Rows(0).Item("pengarang")
.Txtthn.Text =
tblbuku.Rows(0).Item("ThnTerbit")
.Txtkode.Text =
tblbuku.Rows(0).Item("KodeBuku")
.Cbokategori.Text =
tblbuku.Rows(0).Item("Kategori")
.Txtjml.Text =
tblbuku.Rows(0).Item("Jumlah")
.Txtsewa.Text =
tblbuku.Rows(0).Item("BiayaSewa")
.Txtsumber.Text =
tblbuku.Rows(0).Item("Sumber")
.Txtket.Text =
tblbuku.Rows(0).Item("Keterangan")
.Txtlokasi.Text =
tblbuku.Rows(0).Item("Lokasi")
.Txtfoto.Text = tblbuku.Rows(0).Item("Display")
End
With
Call
Aktif()
Txtjudul.Enabled = True
Txtjudul.Focus()
Btnsimpan.Text = "Update"
Else
Call
Bersih()
Call
Aktif()
Txtkode.Enabled = False
Txtkode.Focus()
Btnsimpan.Text = "Simpan" : Btnsimpan.Enabled = True
Btnhapus.Enabled = False : Btnbatal.Enabled = True
End If
End Sub
Private Sub Btnhapus_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnhapus.Click
Dim
Pesan As String
Pesan = MsgBox("Yakin Akan Hapus Berkas Ini..!!??", MsgBoxStyle.YesNo, "Hapus")
If
Pesan = MsgBoxResult.Yes Then
Hapus()
Else
Exit Sub
End If
End Sub
Private Sub BtnKeluar_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnkeluar.Click
Me.Close()
End Sub
Private Sub BtnBatal_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnbatal.Click
Call
Nonaktif()
Call
Bersih()
BtnBaru.Enabled = True
BtnSimpan.Enabled = True
BtnSimpan.Text = "Simpan"
Txtkode.Text = ""
End Sub
Private Sub BtnBaru_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnbaru.Click
Me.Txtkode.Focus()
Call
Aktif()
Call
Bersih()
Me.Txtkode.Text
= ""
Me.Txtkode.Focus()
End Sub
Private Sub Btnphoto_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnphoto.Click
OpenFileDialog1.Filter = "File Gambar (*.jpg)|*.jpg|png (*.png)|*.png"
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal
sender As System.Object,
ByVal e As
System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Me.Txtfoto.Text
= OpenFileDialog1.FileName
Call
tampilfoto()
End Sub
Private Sub Txtjudul_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles Txtjudul.KeyDown
If
e.KeyCode = Keys.Enter Then
If
Me.Txtjudul.Text = ""
Then
MsgBox("Tidak Boleh Kosong!!")
Txtjudul.Focus()
Else
Cbokategori.Focus()
End
If
End If
End Sub
Private Sub Txtjudul_TextChanged(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Txtjudul.TextChanged
Dim
kata As String
kata = Txtjudul.Text
Txtjudul.Text = kata.Replace(" ", "")
Txtjudul.SelectionStart =
Txtjudul.Text.Length
Txtjudul.Text = Txtjudul.Text.ToUpper
End Sub
Private Sub Txtthn_KeyPress(ByVal
sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
Txtthn.KeyPress
If (Not e.KeyChar = ChrW(Keys.Back)
And _
("0123456789").IndexOf(e.KeyChar)
= -1) Or _
(e.KeyChar = "'"
And Txtthn.Text.ToCharArray() _
.Count(Function(c)
c = ",") > 0) Then
e.Handled = True
End If
End Sub
End Class
|
2. Form Anggota
Gambar
Tampilan Form Anggota
Form ini berfungsi
untuk menginput dan menampilkan data anggota dalam perpustakaan, Pada Form
Anggota ini berisi 5 textBox, 2 RadioBox, 5 button, 5 Label, dan ListView yang digunakan untuk penginputan data para
anggota dan terhubung ke database tblanggota.
Berikut ini adalah tampilan script code
dari Form Anggota :
Public Class
FormAnggota
Dim SQL As String
Dim
proses As New
Koneksi
Dim
tblanggota As DataTable
Public
MyListItem As ListViewItem
Dim x As Integer
Sub
header()
ListView1.Columns.Add("No", 35, HorizontalAlignment.Center)
ListView1.Columns.Add("Kode Anggota", 84, HorizontalAlignment.Center)
ListView1.Columns.Add("Nama Anggota", 80, HorizontalAlignment.Center)
ListView1.Columns.Add("Jenis Kelamin", 80, HorizontalAlignment.Center)
ListView1.Columns.Add("Alamat", 80, HorizontalAlignment.Center)
ListView1.Columns.Add("Email", 80, HorizontalAlignment.Center)
End Sub
Sub
tampil()
Dim i
As Integer
Dim
urut As Integer
Dim
jml As Double
urut = 1
jml = 0
Try
If
ListView1.Items.Count > 0 Then
ListView1.Clear()
End
If
ListView1.View = View.Details
Call
header()
tblanggota = proses.ExecuteQuery("Select * from tblanggota")
For
i = 0 To tblanggota.Rows.Count - 1
With
tblanggota.Rows(i)
MyListItem =
ListView1.Items.Add(urut)
MyListItem.SubItems.Add(.Item("KodeAnggota").ToString)
MyListItem.SubItems.Add(.Item("Nama").ToString)
MyListItem.SubItems.Add(.Item("JenisKelamin").ToString)
MyListItem.SubItems.Add(.Item("Alamat").ToString)
MyListItem.SubItems.Add(.Item("Email").ToString)
End
With
urut = urut + 1
Next
Catch
exp As Exception
MsgBox("Program
Error" & vbCrLf & Err.Description)
End Try
Me.ListView1.FullRowSelect
= True
End Sub
Sub
nonaktif()
Btnsimpan.Enabled = False
Txtkodeanggota.Enabled = False
Txtnama.Enabled = False
Txtjenkel.Enabled = False
Txtalamat.Enabled = False
txtemail.Enabled = False
Txtkodeanggota.BackColor = Color.SteelBlue
Txtnama.BackColor = Color.SteelBlue
Txtjenkel.BackColor = Color.SteelBlue
Txtalamat.BackColor = Color.SteelBlue
txtemail.BackColor = Color.SteelBlue
End Sub
Sub
aktif()
Txtkodeanggota.Enabled = True
Txtnama.Enabled = True
Txtjenkel.Enabled = True
Txtalamat.Enabled = True
txtemail.Enabled = True
Txtkodeanggota.BackColor = Color.SkyBlue
Txtnama.BackColor = Color.SkyBlue
Txtjenkel.BackColor = Color.SkyBlue
Txtalamat.BackColor = Color.SkyBlue
txtemail.BackColor = Color.SkyBlue
End Sub
Sub
simpan()
Dim
xKodeAnggota, xNama, XJenisKelamin, xAlamat, xEmail As
String
Dim
Tanya As String
Tanya = MsgBox("APAKAH DATA AKAN DI SIMPAN?", MsgBoxStyle.YesNo + MessageBoxIcon.Question)
If
Tanya = vbNo Then
Exit Sub
Else
End If
xKodeAnggota = Me.Txtkodeanggota.Text
xNama = Me.Txtnama.Text
XJenisKelamin = Me.Txtjenkel.Text
xAlamat = Me.Txtalamat.Text
xEmail = Me.txtemail.Text
SQL = "Insert
Into tblanggota " & _
"(KodeAnggota,Nama,JenisKelamin,Alamat,Email)"
& _
"
Values " & _
"('"
& xKodeAnggota & _
"','"
& xNama & _
"','"
& XJenisKelamin & _
"','"
& xAlamat & _
"','"
& xEmail & "')"
proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call
bersih()
End Sub
Sub
updatedata()
SQL = "Update
tblanggota Set Nama = '" & Txtnama.Text & _
"',
JenisKelamin='" & Txtjenkel.Text & _
"',
Alamat='" & Txtalamat.Text & _
"',
Email='" & txtemail.Text & _
"'
where KodeAnggota = '" & Txtkodeanggota.Text & "'"
proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Telah Diubah..!!", "SUKSES", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Call
bersih()
End Sub
Sub
bersih()
Txtnama.Text = ""
Txtjenkel.Text = ""
Txtalamat.Text = ""
txtemail.Text = ""
Call
tampil()
nonaktif()
Btnsimpan.Enabled = False : Btnbatal.Enabled = False
Btnkeluar.Enabled = True : Btnhapus.Enabled = False
Txtkodeanggota.Enabled = True
Txtkodeanggota.Focus()
End Sub
Sub
hapus()
SQL = "Delete
From tblanggota Where KodeAnggota ='" & Txtkodeanggota.Text
& "'"
proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Telah Dihapuus..!!", "HAPUS", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Call
bersih()
End Sub
Private Sub FormAnggota_Load(ByVal
sender As System.Object,
ByVal e As System.EventArgs) Handles
MyBase.Load
tampil()
Call
nonaktif()
End Sub
Private Sub Btnsimpan_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnsimpan.Click
If Me.Txtkodeanggota.Text = ""
Then
Exit Sub
End If
If Me.Btnsimpan.Text = "Simpan"
Then
Call
simpan()
Else
Call
updatedata()
End If
End Sub
Private Sub Btnhapus_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnhapus.Click
Dim
Pesan As String
Pesan = MsgBox("Yakin Akan Hapus Berkas Ini..!!??", MsgBoxStyle.YesNo, "Hapus")
If
Pesan = MsgBoxResult.Yes Then
hapus()
Else
Exit Sub
End If
Call
tampil()
End Sub
Private Sub Btnbatal_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnbatal.Click
Call
nonaktif()
Call
bersih()
Btnsimpan.Enabled = True
Btnsimpan.Text = "Simpan"
Txtkodeanggota.Text = ""
End Sub
Private Sub Btnkeluar_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnkeluar.Click
Me.Close()
End Sub
Private Sub ListView1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles ListView1.SelectedIndexChanged
On Error Resume Next
Me.Txtkodeanggota.Text
= ListView1.SelectedItems(0).SubItems(1).Text
Me.Btnhapus.Enabled
= True
Me.Btnbatal.Enabled
= True
Me.Btnsimpan.Enabled
= True
End Sub
Private Sub Txtkodeanggota_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles Txtkodeanggota.KeyDown
If
e.KeyCode = Keys.Enter Then
Me.Txtnama.Focus()
End If
End Sub
Private Sub Txtkodeanggota_TextChanged(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Txtkodeanggota.TextChanged
If
Len(Txtkodeanggota.Text) < 10 Then Exit Sub
tblanggota = proses.ExecuteQuery("Select * From tblanggota Where
KodeAnggota='" & Txtkodeanggota.Text & "'")
If
tblanggota.Rows.Count > 0 Then
With
Me
.Txtnama.Text =
tblanggota.Rows(0).Item("Nama")
.Txtjenkel.Text = tblanggota.Rows(0).Item("JenisKelamin")
.Txtalamat.Text =
tblanggota.Rows(0).Item("Alamat")
.txtemail.Text =
tblanggota.Rows(0).Item("Email")
End
With
Call
aktif()
Txtnama.Enabled = True
Txtnama.Focus()
Btnsimpan.Text = "Update"
Else
Call
bersih()
Call
aktif()
Txtkodeanggota.Enabled = False
Txtkodeanggota.Focus()
Btnsimpan.Text = "Simpan" : Btnsimpan.Enabled = True
Btnhapus.Enabled = False : Btnbatal.Enabled = True
End If
End Sub
Private Sub Rdlaki_CheckedChanged(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Rdlaki.CheckedChanged
If
(Rdlaki.Checked) Then
Txtjenkel.Text = "Laki-Laki"
End If
End Sub
Private Sub Rdperempuan_CheckedChanged(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Rdperempuan.CheckedChanged
If
(Rdperempuan.Checked) Then
Txtjenkel.Text = "Perempuan"
End If
End Sub
Private Sub BtnBaru_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
BtnBaru.Click
Me.Txtkodeanggota.Focus()
Call
aktif()
Call
bersih()
Me.Txtkodeanggota.Text
= ""
Me.Txtkodeanggota.Focus()
End Sub
End Class
|
3.
Form Peminjaman
Gambar
Tampilan Form Peminjaman
Form Peminjaman merupakan
form yang digunakan sebagai alat output yang mengahsilkan kwitansi apabila data
telah disimpan. Pada form ini kita dapat memasukan Kode Anggota yang akan
otomatis muncul nama, lalu kita cukup memasukan Kode Buku yang akan dipinjam
lalu enter maka buku yang akan di pinjam tersebut akan muncul pada
DataGridView. Form peminjaman menggunakan 8 Label, 5 button, 1 DataGridView, 6
textBox, 1 comboBox, 1 DateTimePicker, dan Timer. Apabila data akan disimpan
dan di cetak di klik Yes maka akan menghasilkan output berupa Kwitansi.
Berikut adalah tampilan script code
pada Form Peminjaman :
Public Class
FormPeminjaman
Dim SQL As String
Dim
Proses As New
Koneksi
Dim
tbltransaksi, tbluser As DataTable
Public
MyListItem As ListViewItem
Dim x As Integer
Private Sub FormPeminjaman_Load(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
MyBase.Load
Call
Kode_Otomatis()
Call
comboKode()
End Sub
Sub
Kode_Otomatis()
SQL = "
SELECT COUNT(notransaksi) AS JUMLAH_DATA" & _
"
FROM tblpeminjaman " & _
"
WHERE day(tanggal) =" & Date.Now.Day
tbltransaksi =
Proses.ExecuteQuery(SQL)
Dim
noAkhir As Integer
= 0
With
tbltransaksi.Rows(0)
noAkhir = .Item("JUMLAH_DATA")
End With
Dim
xBULAN As String
= Format(Now, "MM")
Dim
xTAHUN As String
= Format(Now, "yy")
Dim
xHARI As String
= Format(Now, "dd")
Dim
xNOMER As String
= "0"
noAkhir = noAkhir + 1
xNOMER =
Microsoft.VisualBasic.Right(("00"
& noAkhir), 2)
Me.TxtTransaksi.Text
= xTAHUN & xBULAN & xHARI & "-"
& xNOMER
End Sub
Sub
bersih()
Me.Cbokodeanggota.Text
= ""
Me.Txtnama.Text
= ""
Me.TxtTransaksi.Text
= ""
Me.Txtkodebuku.Text
= ""
Me.DataGridView1.Rows.Clear()
Me.Txtbayar.Text
= ""
Me.Txttotal.Text
= ""
Me.Txtkembalian.Text
= ""
End Sub
Sub
comboKode()
Try
tbluser = Proses.ExecuteQuery("Select * from tblanggota")
For
i = 0 To tbluser.Rows.Count - 1
With
tbluser.Rows(i)
Me.Cbokodeanggota.Items.Add(.Item("KodeAnggota"))
End
With
Next
Catch
ex As Exception
MsgBox("Program
error" & vbCrLf & Err.Description)
End Try
End Sub
Sub
isiTxtNama()
On Error Resume Next
SQL = ("Select
* From tblanggota Where KodeAnggota ='" & Trim(Me.Cbokodeanggota.Text) & "'")
tbluser = Proses.ExecuteQuery(SQL)
For i
= 0 To tbluser.Rows.Count - 1
With
tbluser.Rows(i)
Me.Txtnama.Text
= .Item("Nama")
End
With
Next
End Sub
Sub
tampilbuku()
On Error Resume Next
SQL = ("Select
* From tblbuku Where KodeBuku ='" & Trim(Me.Txtkodebuku.Text) & "'")
tbluser = Proses.ExecuteQuery(SQL)
If
tbluser.Rows.Count = 0 Then
MsgBox("Kode
tidak tersedia")
End If
For i
= 0 To tbluser.Rows.Count - 1
With
tbluser.Rows(i)
Me.DataGridView1.Rows.Add(.Item("KodeBuku"), .Item("Judul"), .Item("BiayaSewa"))
Me.Txtkodebuku.Text
= ""
End
With
Next
End Sub
Sub
totalsewa()
Dim
totalsewa As Double
= 0
Dim
xdata As Double
= 0
For
aa As Integer
= 0 To Me.DataGridView1.Rows.Count
- 1
xdata = Me.DataGridView1.Item(2,
aa).Value
totalsewa = totalsewa + xdata
Next
Txttotal.Text = totalsewa
End Sub
Private Sub Timer1_Tick(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Timer1.Tick
Call
totalsewa()
End Sub
Sub
simpan()
Dim
xNotrans, xTanggal, XkodeAnggota, xTotal As String
Dim
Xkodebuku, Xjudul, Xharga As String
If Me.Txtbayar.Text = ""
Then
MsgBox("Masukkan
pembayaran")
Txtbayar.Focus()
Exit Sub
End If
Dim
Tanya As String
Tanya = MsgBox("APAKAH DATA AKAN DI SIMPAN dan DICETAK?",
MsgBoxStyle.YesNo + MessageBoxIcon.Question)
If
Tanya = vbNo Then
Exit Sub
Else
End If
''''''
xNotrans = Me.TxtTransaksi.Text
XkodeAnggota = Me.Cbokodeanggota.Text
xTanggal = Format(Me.DateTimePicker1.Value, "yyyy-MM-dd")
xTotal = Me.Txttotal.Text
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SQL = "Insert
Into tblpeminjaman " & _
"(notransaksi,tanggal,kodeanggota,total)"
& _
"
Values " & _
"('"
& xNotrans & _
"','"
& xTanggal & _
"','"
& XkodeAnggota & _
"','"
& xTotal & "')"
Proses.ExecuteNonQuery(SQL)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For
CC = 0 To Me.DataGridView1.Rows.Count
- 1
Xkodebuku = Me.DataGridView1.Item(0, CC).Value
Xjudul = Me.DataGridView1.Item(1,
CC).Value
Xharga = Me.DataGridView1.Item(2, CC).Value
If
Xkodebuku <> "" Then
SQL = "Insert Into tbldetailpeminjaman " & _
"(notransaksi,kodebuku,HargaSewa)"
& _
"
Values " & _
"('"
& xNotrans & _
"','"
& Xkodebuku & _
"','"
& Xharga & "')"
Proses.ExecuteNonQuery(SQL)
End
If
Next
MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call
printKwitansi()
Call
bersih()
End Sub
Private Sub Btnbaru_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnbaru.Click
Call
Kode_Otomatis()
End Sub
Sub
printKwitansi()
If Me.TxtTransaksi.Text = ""
Then
MsgBox("NO.Transaksi
DIPILIH..", MessageBoxIcon.Information)
Exit Sub
End If
Dim
AA As New FormCetakKwitansi
Dim
Laporan As New
CrystalReport1
Laporan.RecordSelectionFormula = "{tblpeminjaman1.notransaksi}='" &
Me.TxtTransaksi.Text & "'"
With
AA.CrystalReportViewer1
.ReportSource = Laporan
.Zoom(60)
.Refresh()
End With
AA.Show()
End Sub
Private Sub Cbokodeanggota_SelectedIndexChanged(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Cbokodeanggota.SelectedIndexChanged
Call
isiTxtNama()
End Sub
Private Sub Txtkodebuku_KeyDown(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) Handles Txtkodebuku.KeyDown
If
e.KeyCode = Keys.Enter Then
tampilbuku()
End If
End Sub
Private Sub Btncetak_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btncetak.Click
Call
printKwitansi()
End Sub
Private Sub Btnsimpan_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnsimpan.Click
Call
simpan()
End Sub
Private Sub Btnkeluar_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnkeluar.Click
Me.Close()
End Sub
Private Sub Txtbayar_TextChanged(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Txtbayar.TextChanged
On Error Resume Next
Txtkembalian.Text = Val(Me.Txtbayar.Text - Me.Txttotal.Text)
End Sub
Private Sub Btnbatal_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Btnbatal.Click
Call bersih()
End Sub
Private Sub Txttotal_TextChanged(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Txttotal.TextChanged
Call
totalsewa()
End Sub
End Class
|
4.
Form Cetak Kwitansi
Gambar
Tampilan form Cetak Kwitansi
Pada form ini
menggunakan 1 buah objek Crystal Report Viewer untuk menampilkan desain
kwitansi peminjaman.
Tampilan
dari Crystal Report Kwitansi Peminjaman
5.
Hasil Cetak Kwitansi
PENUTUP
Dari pembahasan diatas dapat di simpulkan bahwa
dengan adanya program perputakaan Pengelolaan data dapat
dilakukan dengan cepat, hal ini dirasakan lebih menguntungkan jika dibandingkan dengan
sistem manual, Penyimpanan data di
dalam media komputer akan lebih hemat dan aman serta dapat digunakan berkali-kali dan dapat diperbaharui isinya, akan diperoleh informasi yang cepat, tepat, akurat
dan handal, akan memberikan pelayanan yang baik kepada konsumen, Data
mudah diakses dan disimpan serta mudah
untuk di pertanggungjawabkan, Kebutuhan proses pengolahan data yang segera dan terus menerus.
Demikianlah
hasil dari Laporan Dokumentasi untuk Ujian Akhir Semester ini saya susun, besar
harapan saya, kiranya hasil yang saya susun ini dapat bermanfaat dalam
pengembangan ilmu pendidikan khususnya dalam dunia pemrograman Visual
Basic.Net. Karena keterbatasan pengetahuan dan kemampuan yang saya miliki saat
ini, saya menyadari hasil dari tugas ini masih jauh dari sempurna, Oleh karena
itu saran dan kritik yang membangun sangat diharapkan agar dapat menjadi lebih
baik lagi dimasa yang akan datang.
wakakkaka gokil :D
BalasHapuswkwkwkwk masih awam :(
Hapuskak bisa bantu ga buat tugas akhir semester juga,
BalasHapus