Aplikasi Perpustakaan Berbasis Desktop menggunakan VB.NET 2010 dengan Database MYSQL

Unknown
By -
0

A. Latar Belakang

Perpustakaan tak bisa dipisahkan dari pembelajaran siswa-siswi di sekolah maupun mahasiswa-mahasiswi disebuah perguruan tinggi dalam mencari ilmu pengetahuan. Fasilitas yang disediakan sekolah atau sebuah perguruan tinggi ini, sangatlah bermanfaat bagi semua siswa, mahasiswa, apabila bisa memanfaatkannya secara maksimal. Koleksi buku pada perpustakaan hendaknya selalu diperbaharui pada setiap periodenya sesuai dengan penerapan sistem pendidikan yang diterapkan oleh pemerintah. Namun, tidak semua perpustakaan menerapkan teknologi dalam proses kegiatan perpustakaan seperti peminjaman buku, pendaftaran anggota, pencarian buku dan lain-lain. Hal ini membuat kegiatan perpustakaan dilakukan secara manual atau menggunakan pembukuan. Salah satunya adalah belum terkomputerisasinya sistem pengelolaan perpustakaan, dengan penerapa sistem manual membuat kurang maksimalnya kinerja perpustakaan. Beberapa Contohnya, sistem pencarian buku yang memakan waktu dan peminjaman buku yang masih dicatat dalam bentuk pembukuan. Hal ini membuat pelayanan terhadap siswa-siswi atau mahasiswa juga mahasiswi yang sedang menempuh pendidikan menjadi kurang baik.
Dengan menganalisa gejala-gejala permasalahan tersebut, kami dapat menarik kesimpulan mengenai suatu peluang pengembangan sebuah aplikasi perpustakaan yang diterapkan pada sebuah lembaga pendidikan. Aplikasi tersebut berbentuk software yang berisi kegiatan-kegiatan perpustakaan yang sebelumnya dilakukan secara manual menjadi sebuah sistem terkomputerisasi, contoh seperti pengelolaan daftar buku yang didimiliki oleh perpustakaan dalam bentuk database. Aplikasi ini dibangun dengan tampilan user interface yang user friendly, sehingga bagi pengguna yaitu pegawai perpustakaan bisa menggunakannya dengan mudah. Tampilan dibuat menggunakan VB.Net 2010 beserta pengkodingan/sourcecode dan menggunakan database MySql sebagai basis data penyimpanannya.

B.     Tujuan

Adapun tujuan dari pembuatan aplikasi ini yaitu, dengan adanya Sistem informasi Perpustakaan ini diharapkan tertib,teratur dan akurat dapat tercapai serta informasi yang diperlukan dapat disajikan dengan cepat, tepat, akurat dan handal.

C.      Manfaat

Pengembangan sistem ini tentunya akan meningkatkan kinerja dari perpustakan dan mendukung suatu lembaga pendidikan menjadi yang tidak hanya berbasis internasional, namun menjadi lembaga pendidikan negeri yang berbasis teknologi informasi kedepannya.

BAB II
PERANCANGAN PROGRAM


A. Konsep Sistem Informasi

1). Definisi Sistem Informasi

Sistem Informasi adalah sekumpulan hardware, software, brainware, prosedur atau aturan yang diorganisasikan secara integral untuk mengolah data menjadi informasi yang bermanfaat guna memecahkan masalah dan pengambilan keputusan.
2). Visual Basic Net 2010

Microsoft Visual Basic Net (sering disingkat sebagai VB.Net saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas.Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.
l  Program berbasis GUI (graphical user interface)
l  Memakai bahasa basic
l Mudah dalam membuat program, karena bahasa-nya mendekati bahasa manusia (instant programming)
lKode-kode program biasanya dijalankan pada prosedur event.
 3). Mysql Phpmyadmin
Adalah suatu aplikasi yang  dapat membantu kita membuat sebuah aplikasi.
Database dalam waktu yang relatif singkat.Biasanya digunakan untuk pembuatan
aplikasi-aplikasi yang kecil.


B. Rancangn Database
Perangkat lunak yang digunakan:
Perangkat lunak yang dibutuhkan dalam merancang dan mengembangkan system yang bersangkutan, misalnya untuk basis data, sistem operasi, bahasa pemrograman, dsb. Beberapa perangkat lunak yang diperlukan adalah Mysql untuk basis data, sedangkan bahasa pemrograman yang digunakan adalah Microsoft Visual Studio 2010, dan Crystal Report untuk Reporting.
        Entitas-entitas  yang  terlibat  dalam  system  ini
1.Buku
2.Petugas
3.Anggota
4. Peminjaman
5. Pengembalian
Tabel relasi(tabel anak):
1.Buku-peminjaman-pengembalian (hub:pinjam-kembali)
2.buku-petugas(hub:mengelola)
3.buku-anggota(hub:meminjam)
         Deskripsi dari  tabel-tabel diatas  adalah
       1) Struktur Tabel
                  Tabel  Buku
                  Tabel buku di simpan dengan nama buku
                                  Tabel Anggota
                 Tabel anggota di simpan dengan nama anggota
3.                                         Tabel Petugas 
                  Tabel petugas di simpan dengan nama petugas
4.                                       Tabel Peminjaman
                 Tabel Peminjaman di simpan dengan nama Peminjaman
5.                                       Tabel Pengembalian
                Tabel Pengembalian di simpan dengan nama Pengembalian
        RELASI TABLE:
C. Rancangan interface dan Koding Program
Berikut ini adalah Rancangan interface dari “Program Aplikasi Perpustakaan“ yang terdiri dari berbagai aplikasi :

1.       Menu Utama


Dengan koding sebagai berikut:

Public Class FormMenuUtama
    Sub Terkunci()
        LoginToolStripMenuItem.Enabled = True
        LogoutToolStripMenuItem.Enabled = False
        MasterToolStripMenuItem.Enabled = False
        TransaksiToolStripMenuItem.Enabled = False
        LaporanToolStripMenuItem.Enabled = False
    End Sub

    Private Sub FormMenuUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Terkunci()
        Timer1.Enabled = True
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub

    Private Sub LoginToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoginToolStripMenuItem.Click
        FormLogin.ShowDialog()
    End Sub

    Private Sub LogoutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LogoutToolStripMenuItem.Click
        Call Terkunci()
    End Sub

    Private Sub AnggotaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnggotaToolStripMenuItem.Click
        FormAnggota.ShowDialog()
    End Sub

    Private Sub PetugasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PetugasToolStripMenuItem.Click
        FormPetugas.ShowDialog()
    End Sub

    Private Sub BukuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BukuToolStripMenuItem.Click
        FormBuku.ShowDialog()
    End Sub

    Private Sub PeminjamanBukuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PeminjamanBukuToolStripMenuItem.Click
        FormPeminjaman.ShowDialog()
    End Sub

    Private Sub PengembalianBukuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PengembalianBukuToolStripMenuItem.Click
        FormPengembalian.Show()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        label_tanggal.Text = Format(Now, "dd / MMM / yyyy")
        label_jam.Text = Format(Now, "HH:mm:ss")
    End Sub

    Private Sub LaporanDataAnggotaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanDataAnggotaToolStripMenuItem.Click
        LaporanAnggota.Show()
    End Sub

    Private Sub LaporanDataPetugasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanDataPetugasToolStripMenuItem.Click
        LaporanPetugas.Show()
    End Sub

    Private Sub LaporanDataBukuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanDataBukuToolStripMenuItem.Click
        LaporanBukuvb.Show()
    End Sub

    Private Sub LaporanDataPeminjamanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanDataPeminjamanToolStripMenuItem.Click
        LaporanPeminjaman.Show()
    End Sub

    Private Sub LaporanDataPengembalianToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanDataPengembalianToolStripMenuItem.Click
        LaporanPengembalian.Show()
    End Sub
End Class

            2. Form Login

Dengan koding sebagai berikut:
Imports System.Data.Odbc
Public Class FormLogin
    Dim CMD As New OdbcCommand
    Dim RD As OdbcDataReader

    Private Sub ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        If TextBox1.Text = "" Or TextBox2.Text = "" Then
            MessageBox.Show("username & password kosong", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Exit Sub
        Else
            Call bukaDB()
            CMD = New OdbcCommand("select * from petugas where nama_petugas='" & TextBox1.Text & "' and password_petugas='" & TextBox2.Text & "'", konek)
            RD = CMD.ExecuteReader
            RD.Read()

            If RD.HasRows Then
                Me.Close()
                MessageBox.Show("LOGIN Berhasil :)!", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
                FormMenuUtama.Show()
                FormMenuUtama.LoginToolStripMenuItem.Enabled = False
                FormMenuUtama.LogoutToolStripMenuItem.Enabled = True
                FormMenuUtama.MasterToolStripMenuItem.Enabled = True
                FormMenuUtama.TransaksiToolStripMenuItem.Enabled = True
                FormMenuUtama.LaporanToolStripMenuItem.Enabled = True
            Else
                MessageBox.Show("LOGIN GAGAL! username/password salah", "Gagal", MessageBoxButtons.OK, MessageBoxIcon.Error)
                TextBox1.Text = ""
                TextBox2.Text = ""
            End If
        End If
    End Sub

    Private Sub FormLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.MaxLength = 6
        TextBox2.PasswordChar = "X"
        TextBox1.Clear()
        TextBox2.Clear()
    End Sub

    Private Sub cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        MessageBox.Show("Batal login?", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Question)
        Me.Close()

    End Sub

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = True Then
            TextBox2.PasswordChar = ""
        Else
            TextBox2.PasswordChar = "X"
        End If
    End Sub
End Class

Sebelum Login dijalankan terlebih dahulu buat modul Koneksinya

Buka ODBC MYSQL CONNECTOR buat Data Source nya /DSN : Control Pannel-Administrative tools-ODBC-DSN



3. Form-Form Aplikasi Perpustakaan :
a) Form Master Data Anggota.
Dengan koding sebagai berikut:
Imports System.Data.Odbc
Public Class FormAnggota
    Dim databaru As Boolean
    Dim Conn As OdbcConnection
    Dim da As OdbcDataAdapter
    Dim ds As DataSet
    Dim str As String
    Dim CMD As OdbcCommand
    Dim RD As OdbcDataReader
    Private Function carinama(ByVal anggota As String) As Integer
        Try
            Dim foundrow As DataGridViewRow = (
            From row As DataGridViewRow In DataGridView1.Rows
             Where row.Cells(1).Value = anggota
            Select row
            ).First
            If foundrow IsNot Nothing Then
                Return (foundrow.Index)
            Else
                Return -1
            End If
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Private Sub FormAnggota_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        databaru = False
        isigrid()
        Me.ComboBox1.Enabled = False
        Me.Textbox1.Enabled = False
        Me.Textbox2.Enabled = False
        Me.Textbox3.Enabled = False
        Me.tambah.Enabled = True
        Me.batal.Enabled = False
    End Sub

    Private Sub tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        If tambah.Text = "simpan" Then
        End If
        Dim simpan As String
        ComboBox1.Focus()
        ttp()
        databaru = True
        If ComboBox1.Text = "" Then Exit Sub
        If databaru Then
            simpan = "INSERT INTO anggota(Nomor_Anggota,nama_Anggota,alamat_Anggota,telepon_Anggota) VALUES ('" & ComboBox1.Text & "','" & Textbox1.Text & "','" & Textbox2.Text & "','" & Textbox3.Text & "') "
        End If
        MsgBox("Apakah Anda Yakin Data Akan ditambahkan ke Database ?", vbYesNo + vbInformation, "Perhatian")
        jalankansql(simpan)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        hapus.Enabled = False
        batal.Enabled = True
        bersih()
        tambah.Text = "simpan"
        ComboBox1.Enabled = True
        Textbox1.Enabled = True
        Textbox2.Enabled = True
        Textbox3.Enabled = True
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub
    Sub isigrid()
        bukaDB()
        DA = New Odbc.OdbcDataAdapter("SELECT * FROM anggota", konek)
        DS = New DataSet
        DS.Clear()
        DA.Fill(DS, "anggota")
        DataGridView1.DataSource = (DS.Tables("anggota"))
        DataGridView1.Enabled = True
    End Sub

    Sub bersih()
        ComboBox1.Text = ""
        Textbox1.Text = ""
        Textbox2.Text = ""
        Textbox3.Text = ""
    End Sub

    Private Sub jalankansql(ByVal sQl As String)
        Dim objcmd As New System.Data.Odbc.OdbcCommand
        Call bukaDB()
        Try
            objcmd.Connection = konek
            objcmd.CommandType = CommandType.Text
            objcmd.CommandText = sQl
            objcmd.ExecuteNonQuery()
            objcmd.Dispose()
            MsgBox("berhasil ditambahkan ke Database ", vbInformation)
        Catch ex As Exception
            MsgBox("Tidak Bisa Menyimpan data ke Server" & ex.Message)
        End Try
    End Sub

    Sub ttp()
        Me.ComboBox1.Enabled = True
        Me.Textbox1.Enabled = True
        Me.Textbox2.Enabled = True
        Me.Textbox3.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Private Sub isiTextBox(ByVal x As Integer)
        Try
            ComboBox1.Text = DataGridView1.Rows(x).Cells(0).Value
            Textbox1.Text = DataGridView1.Rows(x).Cells(1).Value
            Textbox2.Text = DataGridView1.Rows(x).Cells(2).Value
            Textbox3.Text = DataGridView1.Rows(x).Cells(3).Value
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        isiTextBox(e.RowIndex)
        DATABARU = False
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Me.ComboBox1.Text = ""
        Me.Textbox1.Text = ""
        Me.Textbox2.Text = ""
        Me.Textbox3.Text = ""
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        Dim hapussql As String
        Dim pesan As Integer
        pesan = MsgBox("Apakah anda yakin akan menghapus Data pada server .. " + Textbox2.Text, vbExclamation + vbYesNo, "perhatian")
        If pesan = vbNo Then Exit Sub
        hapussql = "DELETE FROM anggota WHERE nomor_anggota='" & ComboBox1.Text & "'"
        jalankansql(hapussql)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        Call bersih()
    End Sub

    Private Sub cari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cari.TextChanged
        carinama(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ubah.Click
        Call ttp()
        Dim ubah As String = "UPDATE anggota SET " _
                                 + "nama_Anggota ='" & Textbox1.Text & "'," _
                                 + "alamat_Anggota ='" & Textbox2.Text & "'," _
                                 + "telepon_Anggota ='" & Textbox3.Text & "' WHERE nomor_anggota = '" & ComboBox1.Text & "' "
        jalankansql(ubah)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        bersih()
        hapus.Enabled = True
    End Sub
End Class

b). Form Master Data Buku
Dengan koding sebagai berikut:
Imports System.Data.Odbc
Public Class FormBuku
    Dim databaru As Boolean
    Dim Conn As OdbcConnection
    Dim da As OdbcDataAdapter
    Dim ds As DataSet
    Dim str As String
    Dim CMD As OdbcCommand
    Dim RD As OdbcDataReader
    Private Function caribuku(ByVal buku As String) As Integer
        Try
            Dim foundrow As DataGridViewRow = (
            From row As DataGridViewRow In DataGridView1.Rows
             Where row.Cells(1).Value = buku
            Select row
            ).First
            If foundrow IsNot Nothing Then
                Return (foundrow.Index)
            Else
                Return -1
            End If
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Private Sub FormBuku_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        databaru = False
        isigrid()
        Me.ComboBox1.Enabled = False
        Me.Textbox1.Enabled = False
        Me.Textbox2.Enabled = False
        Me.Textbox3.Enabled = False
        Me.TextBox4.Enabled = False
        Me.TextBox5.Enabled = False
        Me.TextBox6.Enabled = False
        Me.tambah.Enabled = True
        Me.batal.Enabled = False
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        Dim simpan As String
        Dim pesan As Integer
        ComboBox1.Focus()
        ttp()
        databaru = True
        If ComboBox1.Text = "" Then Exit Sub
        If databaru Then
            pesan = MsgBox("Apakah Anda Yakin Data Akan ditambahkan ke Database ?", vbYesNo + vbInformation, "Perhatian")
            If pesan = vbYesNo Then
                Exit Sub
            End If
            simpan = "INSERT INTO buku(nomor_buku,judul,kategori,pengarang,penerbit,tahun,stok) VALUES ('" & ComboBox1.Text & "','" & Textbox1.Text & "','" & Textbox2.Text & "','" & Textbox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "') "
        End If
        jalankansql(simpan)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        tambah.Text = "simpan"
        bersih()
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub
    Sub isigrid()
        bukaDB()
        da = New Odbc.OdbcDataAdapter("SELECT * FROM buku", konek)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "buku")
        DataGridView1.DataSource = (ds.Tables("buku"))
        DataGridView1.Enabled = True
    End Sub

    Sub bersih()
        ComboBox1.Text = ""
        Textbox1.Text = ""
        Textbox2.Text = ""
        Textbox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
    End Sub
    Private Sub jalankansql(ByVal sQl As String)
        Dim objcmd As New System.Data.Odbc.OdbcCommand
        Call bukaDB()
        Try
            objcmd.Connection = konek
            objcmd.CommandType = CommandType.Text
            objcmd.CommandText = sQl
            objcmd.ExecuteNonQuery()
            objcmd.Dispose()
            MsgBox("Data Sudah Disimpan", vbInformation)
        Catch ex As Exception
            MsgBox("Tidak Bisa Menyimpan data ke Server" & ex.Message)
        End Try
    End Sub

    Sub ttp()
        Me.ComboBox1.Enabled = True
        Me.Textbox1.Enabled = True
        Me.Textbox2.Enabled = True
        Me.Textbox3.Enabled = True
        Me.TextBox4.Enabled = True
        Me.TextBox5.Enabled = True
        Me.TextBox6.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Sub ttpcari()
        Me.ComboBox1.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Private Sub isiTextBox(ByVal x As Integer)
        Try
            ComboBox1.Text = DataGridView1.Rows(x).Cells(0).Value
            Textbox1.Text = DataGridView1.Rows(x).Cells(1).Value
            Textbox2.Text = DataGridView1.Rows(x).Cells(2).Value
            Textbox3.Text = DataGridView1.Rows(x).Cells(3).Value
            TextBox4.Text = DataGridView1.Rows(x).Cells(4).Value
            TextBox5.Text = DataGridView1.Rows(x).Cells(5).Value
            TextBox6.Text = DataGridView1.Rows(x).Cells(6).Value
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call bersih()
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        Dim hapussql As String
        Dim pesan As Integer
        pesan = MsgBox("Apakah anda yakin akan menghapus Data pada server .. " + ComboBox1.Text, vbExclamation + vbYesNo, "perhatian")
        If pesan = vbNo Then Exit Sub
        hapussql = "DELETE FROM buku WHERE nomor_buku='" & ComboBox1.Text & "'"
        jalankansql(hapussql)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        Call bersih()

    End Sub

    Private Sub cari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cari.TextChanged
        caribuku(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ubah.Click
        Call ttp()
        Dim ubah As String = "UPDATE buku SET " _
            + "judul ='" & Textbox1.Text & "'," _
            + "kategori ='" & Textbox2.Text & "'," _
            + "pengarang ='" & Textbox3.Text & "'," _
            + "penerbit ='" & Textbox3.Text & "'," _
            + "tahun ='" & TextBox4.Text & "'," _
            + "stok ='" & TextBox5.Text & "' WHERE nomor_buku = '" & ComboBox1.Text & "' "
        jalankansql(ubah)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        bersih()
        hapus.Enabled = True
    End Sub
End Class

c). Form Master Data Petugas
Dengan koding sebagai berikut:
Imports System.Data.Odbc
Public Class FormPetugas
    Dim databaru As Boolean
    Dim Conn As OdbcConnection
    Dim da As OdbcDataAdapter
    Dim ds As DataSet
    Dim str As String
    Dim CMD As OdbcCommand
    Dim RD As OdbcDataReader
    Private Function carinama(ByVal petugas As String) As Integer
        Try
            Dim foundrow As DataGridViewRow = (
            From row As DataGridViewRow In DataGridView1.Rows
             Where row.Cells(1).Value = petugas
            Select row
            ).First
            If foundrow IsNot Nothing Then
                Return (foundrow.Index)
            Else
                Return -1
            End If
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Private Sub FormPetugas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        databaru = False
        isigrid()
        Me.ComboBox1.Enabled = False
        Me.Textbox1.Enabled = False
        Me.Textbox2.Enabled = False
        Me.ComboBox2.Enabled = False
        Me.tambah.Enabled = True
        Me.batal.Enabled = False
    End Sub

    Private Sub tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        Dim simpan As String
        Dim pesan As Integer

        ComboBox1.Focus()
        ttp()
        databaru = True
        If ComboBox1.Text = "" Then Exit Sub
        If databaru Then
            pesan = MsgBox("Apakah Anda Yakin Data Akan ditambahkan ke Database ?", vbYesNo + vbInformation, "Perhatian")
            If pesan = vbYesNo Then
                Exit Sub
            End If
            simpan = "INSERT INTO petugas(kode_Petugas,nama_petugas,status_petugas,password_petugas) VALUES ('" & ComboBox1.Text & "','" & Textbox1.Text & "','" & ComboBox2.Text & "','" & Textbox2.Text & "') "
        End If
        jalankansql(simpan)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        tambah.Text = "simpan"
        bersih()
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Sub isigrid()
        bukaDB()
        da = New Odbc.OdbcDataAdapter("SELECT * FROM petugas", konek)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "petugas")
        DataGridView1.DataSource = (ds.Tables("petugas"))
        DataGridView1.Enabled = True
    End Sub

    Sub bersih()
        ComboBox1.Text = ""
        Textbox1.Text = ""
        Textbox2.Text = ""
        ComboBox2.Text = ""
    End Sub

    Private Sub jalankansql(ByVal sQl As String)
        Dim objcmd As New System.Data.Odbc.OdbcCommand
        Call bukaDB()
        Try
            objcmd.Connection = konek
            objcmd.CommandType = CommandType.Text
            objcmd.CommandText = sQl
            objcmd.ExecuteNonQuery()
            objcmd.Dispose()
            MsgBox("Data Sudah Disimpan", vbInformation)
        Catch ex As Exception
            MsgBox("Tidak Bisa Menyimpan data ke Server" & ex.Message)
        End Try
    End Sub

    Sub ttp()
        Me.ComboBox1.Enabled = True
        Me.Textbox1.Enabled = True
        Me.Textbox2.Enabled = True
        Me.ComboBox2.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Sub ttpcari()
        Me.ComboBox1.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Private Sub isiTextBox(ByVal x As Integer)
        Try
            ComboBox1.Text = DataGridView1.Rows(x).Cells(0).Value
            Textbox1.Text = DataGridView1.Rows(x).Cells(1).Value
            ComboBox2.Text = DataGridView1.Rows(x).Cells(2).Value
            Textbox2.Text = DataGridView1.Rows(x).Cells(3).Value
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub


    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Me.ComboBox1.Text = ""
        Me.Textbox1.Text = ""
        Me.Textbox2.Text = ""
        Me.ComboBox2.Text = ""
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        Dim hapussql As String
        Dim pesan As Integer
        pesan = MsgBox("Apakah anda yakin akan menghapus Data pada server .. " + Textbox1.Text, vbExclamation + vbYesNo, "perhatian")
        If pesan = vbNo Then Exit Sub
        hapussql = "DELETE FROM petugas WHERE kode_petugas='" & ComboBox1.Text & "'"
        jalankansql(hapussql)
        Me.Cursor = Cursors.WaitCursor
        MsgBox("Data berhasil dihapus ..", vbInformation)
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        Call bersih()
    End Sub

    Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        carinama(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub cari_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cari.TextChanged
        carinama(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ubah.Click
        Call ttp()
        Dim ubah As String = "UPDATE Petugas SET " _
            + "kode_Petugas = '" & ComboBox1.Text & "'," _
            + "nama_petugas ='" & Textbox1.Text & "'," _
            + "status_petugas ='" & ComboBox2.Text & "'," _
            + "password_petugas='" & Textbox2.Text & "' WHERE kode_petugas = '" & ComboBox1.Text & "' "
        jalankansql(ubah)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        bersih()
        hapus.Enabled = True
    End Sub
End Class

d). Form Transaksi Peminjaman

Dengan koding sebagai berikut:
Imports System.Data.Odbc
Public Class FormPeminjaman
    Dim databaru As Boolean
    Dim Conn As OdbcConnection
    Dim da As OdbcDataAdapter
    Dim ds As DataSet
    Dim str As String
    Dim CMD As OdbcCommand
    Dim RD As OdbcDataReader

    Private Function cari_pinjam(ByVal peminjaman As String) As Integer
        Try
            Dim foundrow As DataGridViewRow = (
            From row As DataGridViewRow In DataGridView1.Rows
             Where row.Cells(1).Value = peminjaman
            Select row
            ).First
            If foundrow IsNot Nothing Then
                Return (foundrow.Index)
            Else
                Return -1
            End If
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Private Sub FormPeminjaman_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        databaru = False
        isigrid()
        Me.ComboBox1.Enabled = False
        Me.ComboBox2.Enabled = False
        Me.ComboBox3.Enabled = False
        Me.ComboBox4.Enabled = False
        Me.Tanggal.Enabled = False
        Me.Textbox2.Enabled = False
        Me.Textbox3.Enabled = False
        Me.TextBox4.Enabled = False
        Me.TextBox5.Enabled = False
        Me.tambah.Enabled = True
        Me.batal.Enabled = False
    End Sub

    Private Sub tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        Dim simpan As String
        Dim vTanggal As String
        Dim vTgl As String
        Dim vBln As String
        Dim vThn As String
        Dim pesan As Integer
        vTgl = Tanggal.Value.Day
        vBln = Tanggal.Value.Month
        vThn = Tanggal.Value.Year
        vTanggal = vThn & "-" & vBln & "-" & vTgl
        ComboBox1.Focus()
        ttp()
        databaru = True
        If ComboBox1.Text = "" Then Exit Sub
        If databaru Then
            pesan = MsgBox("Apakah Anda Yakin Data Akan ditambahkan ke Database ?", vbYesNo + vbInformation, "Perhatian")
            If pesan = vbYesNo Then
                Exit Sub
            End If
            simpan = "INSERT INTO peminjaman(nomor_pinjam,tanggal_pinjam,total_pinjam,nomor_buku,judul,nomor_anggota,nama_anggota,kode_petugas,nama_petugas) VALUES ('" & ComboBox1.Text & "','" & vTanggal & "','" & Textbox2.Text & "','" & ComboBox2.Text & "','" & Textbox3.Text & "','" & ComboBox3.Text & "','" & TextBox4.Text & "','" & ComboBox4.Text & "','" & TextBox5.Text & "') "
        End If
        jalankansql(simpan)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        tambah.Text = "simpan"
        bersih()
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Sub isigrid()
        bukaDB()
        da = New Odbc.OdbcDataAdapter("SELECT * FROM peminjaman", konek)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "peminjaman")
        DataGridView1.DataSource = (ds.Tables("peminjaman"))
        DataGridView1.Enabled = True
    End Sub

    Sub bersih()
        ComboBox1.Text = ""
        ComboBox2.Text = ""
        ComboBox3.Text = ""
        ComboBox4.Text = ""
        Tanggal.Value = Date.Now
        Textbox2.Text = ""
        Textbox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
    End Sub

    Private Sub jalankansql(ByVal sQl As String)
        Dim objcmd As New System.Data.Odbc.OdbcCommand
        Call bukaDB()
        Try
            objcmd.Connection = konek
            objcmd.CommandType = CommandType.Text
            objcmd.CommandText = sQl
            objcmd.ExecuteNonQuery()
            objcmd.Dispose()
            MsgBox("Data Sudah Disimpan", vbInformation)
        Catch ex As Exception
            MsgBox("Tidak Bisa Menyimpan data ke Server" & ex.Message)
        End Try
    End Sub

    Sub ttp()
        Me.ComboBox1.Enabled = True
        Me.ComboBox2.Enabled = True
        Me.ComboBox3.Enabled = True
        Me.ComboBox4.Enabled = True
        Me.Tanggal.Enabled = True
        Me.Textbox2.Enabled = True
        Me.Textbox3.Enabled = True
        Me.TextBox4.Enabled = True
        Me.TextBox5.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Sub ttpcari()
        Me.ComboBox1.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Private Sub isiTextBox(ByVal x As Integer)
        Try
            ComboBox1.Text = DataGridView1.Rows(x).Cells(0).Value
            Tanggal.Value = IIf(IsDBNull(DataGridView1.Rows(x).Cells(1).Value), Date.Now,
                                         DataGridView1.Rows(x).Cells(1).Value)
            Textbox2.Text = DataGridView1.Rows(x).Cells(2).Value
            ComboBox2.Text = DataGridView1.Rows(x).Cells(3).Value
            Textbox3.Text = DataGridView1.Rows(x).Cells(4).Value
            ComboBox3.Text = DataGridView1.Rows(x).Cells(5).Value
            TextBox4.Text = DataGridView1.Rows(x).Cells(6).Value
            ComboBox4.Text = DataGridView1.Rows(x).Cells(7).Value
            TextBox5.Text = DataGridView1.Rows(x).Cells(8).Value
        Catch ex As Exception
        End Try
    End Sub

    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        Dim hapussql As String
        Dim pesan As Integer
        pesan = MsgBox("Apakah anda yakin akan menghapus Data pada server .. " + ComboBox1.Text, vbExclamation + vbYesNo, "perhatian")
        If pesan = vbNo Then Exit Sub
        hapussql = "DELETE FROM peminjaman WHERE nomor_pinjam='" & ComboBox1.Text & "'"
        jalankansql(hapussql)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        Call bersih()
    End Sub

    Private Sub cari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cari.TextChanged
        cari_pinjam(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call bersih()
    End Sub

    Private Sub ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ubah.Click
        Dim vTanggal As String
        Dim vTgl As String
        Dim vBln As String
        Dim vThn As String
        vTgl = Tanggal.Value.Day
        vBln = Tanggal.Value.Month
        vThn = Tanggal.Value.Year
        vTanggal = vThn & "-" & vBln & "-" & vTgl
        Call ttp()
        Dim ubah As String = "UPDATE peminjaman SET " _
            + "tanggal_pinjam ='" & vTanggal & "'," _
            + "total_pinjam ='" & Textbox2.Text & "'," _
            + "nomor_buku ='" & ComboBox2.Text & "'," _
            + "judul ='" & Textbox3.Text & "'," _
            + "nomor_anggota ='" & ComboBox3.Text & "'," _
            + "kode_petugas ='" & ComboBox4.Text & "'," _
            + "nama_petugas ='" & TextBox5.Text & "' WHERE nomor_pinjam = '" & ComboBox1.Text & "' "
        jalankansql(ubah)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        bersih()
        hapus.Enabled = True
    End Sub
End Class

e). Form Transaksi Pengembalian

Dengan koding sebagai berikut:

Imports System.Data.Odbc
Public Class FormPengembalian
    Dim databaru As Boolean
    Dim Conn As OdbcConnection
    Dim da As OdbcDataAdapter
    Dim ds As DataSet
    Dim str As String
    Dim CMD As OdbcCommand
    Dim RD As OdbcDataReader

    Private Function carikembali(ByVal pengembalian As String) As Integer
        Try
            Dim foundrow As DataGridViewRow = (
            From row As DataGridViewRow In DataGridView1.Rows
             Where row.Cells(1).Value = pengembalian
            Select row
            ).First
            If foundrow IsNot Nothing Then
                Return (foundrow.Index)
            Else
                Return -1
            End If
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Private Sub FormBuku_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        databaru = False
        isigrid()
        Me.ComboBox1.Enabled = False
        Me.ComboBox2.Enabled = False
        Me.ComboBox3.Enabled = False
        Me.ComboBox4.Enabled = False
        Me.Tanggal.Enabled = False
        Me.Textbox2.Enabled = False
        Me.Textbox3.Enabled = False
        Me.TextBox4.Enabled = False
        Me.TextBox5.Enabled = False
        Me.TextBox6.Enabled = False
        Me.tambah.Enabled = True
        Me.batal.Enabled = False  
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        Dim simpan As String
        Dim vTanggal As String
        Dim vTgl As String
        Dim vBln As String
        Dim vThn As String
        Dim pesan As Integer
        vTgl = Tanggal.Value.Day
        vBln = Tanggal.Value.Month
        vThn = Tanggal.Value.Year
        vTanggal = vThn & "-" & vBln & "-" & vTgl
        ComboBox1.Focus()
        ttp()
        databaru = True
        If ComboBox1.Text = "" Then Exit Sub
        If databaru Then
            pesan = MsgBox("Apakah Anda Yakin Data Akan ditambahkan ke Database ?", vbYesNo + vbInformation, "Perhatian")
            If pesan = vbYesNo Then
                Exit Sub
            End If
            simpan = "INSERT INTO pengembalian(nomor_kembali,tanggal_kembali,nomor_buku,judul,total_kembali,denda,nomor_anggota,nama_anggota,kode_petugas,nama_petugas) VALUES ('" & ComboBox1.Text & "','" & vTanggal & "','" & ComboBox2.Text & "','" & Textbox2.Text & "','" & Textbox3.Text & "','" & TextBox4.Text & "','" & ComboBox3.Text & "','" & TextBox5.Text & "','" & ComboBox4.Text & "','" & TextBox6.Text & "') "
        End If
        jalankansql(simpan)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        tambah.Text = "simpan"
        bersih()
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub
    Sub isigrid()
        bukaDB()
        da = New Odbc.OdbcDataAdapter("SELECT * FROM pengembalian", konek)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "pengembalian")
        DataGridView1.DataSource = (ds.Tables("pengembalian"))
        DataGridView1.Enabled = True
    End Sub

    Sub bersih()
        ComboBox1.Text = ""
        ComboBox2.Text = ""
        ComboBox3.Text = ""
        ComboBox4.Text = ""
        Tanggal.Value = Date.Now
        Textbox2.Text = ""
        Textbox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""

    End Sub
    Private Sub jalankansql(ByVal sQl As String)
        Dim objcmd As New System.Data.Odbc.OdbcCommand
        Call bukaDB()
        Try
            objcmd.Connection = konek
            objcmd.CommandType = CommandType.Text
            objcmd.CommandText = sQl
            objcmd.ExecuteNonQuery()
            objcmd.Dispose()
            MsgBox("Data Sudah Disimpan", vbInformation)
        Catch ex As Exception
            MsgBox("Tidak Bisa Menyimpan data ke Server" & ex.Message)
        End Try
    End Sub

    Sub ttp()
        Me.ComboBox1.Enabled = True
        Me.ComboBox2.Enabled = True
        Me.ComboBox3.Enabled = True
        Me.ComboBox4.Enabled = True
        Me.Tanggal.Enabled = True
        Me.Textbox2.Enabled = True
        Me.Textbox3.Enabled = True
        Me.TextBox4.Enabled = True
        Me.TextBox5.Enabled = True
        Me.TextBox6.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Sub ttpcari()
        Me.ComboBox1.Enabled = True
        Me.tambah.Enabled = True
        Me.batal.Enabled = True
    End Sub

    Private Sub isiTextBox(ByVal x As Integer)
        Try
            ComboBox1.Text = DataGridView1.Rows(x).Cells(0).Value
            Tanggal.Value = IIf(IsDBNull(DataGridView1.Rows(x).Cells(1).Value), Date.Now,
                                        DataGridView1.Rows(x).Cells(1).Value)
            ComboBox2.Text = DataGridView1.Rows(x).Cells(2).Value
            Textbox2.Text = DataGridView1.Rows(x).Cells(3).Value
            Textbox3.Text = DataGridView1.Rows(x).Cells(4).Value
            TextBox4.Text = DataGridView1.Rows(x).Cells(5).Value
            ComboBox3.Text = DataGridView1.Rows(x).Cells(6).Value
            TextBox5.Text = DataGridView1.Rows(x).Cells(7).Value
            ComboBox4.Text = DataGridView1.Rows(x).Cells(8).Value
            TextBox6.Text = DataGridView1.Rows(x).Cells(9).Value
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        isiTextBox(e.RowIndex)
        databaru = False
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
        Call bersih()
    End Sub

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus.Click
        Dim hapussql As String
        Dim pesan As Integer
        pesan = MsgBox("Apakah anda yakin akan menghapus Data pada server .. " + ComboBox1.Text, vbExclamation + vbYesNo, "perhatian")
        If pesan = vbNo Then Exit Sub
        hapussql = "DELETE FROM pengembalian WHERE nomor_kembali='" & ComboBox1.Text & "'"
        jalankansql(hapussql)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        Call bersih()
    End Sub

    Private Sub ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ubah.Click
        Dim vTanggal As String
        Dim vTgl As String
        Dim vBln As String
        Dim vThn As String
        vTgl = Tanggal.Value.Day
        vBln = Tanggal.Value.Month
        vThn = Tanggal.Value.Year
        vTanggal = vThn & "-" & vBln & "-" & vTgl
        Call ttp()
        Dim ubah As String = "UPDATE pengembalian SET " _
            + "tanggal_Kembali ='" & vTanggal & "'," _
            + "nomor_buku ='" & ComboBox2.Text & "'," _
            + "judul ='" & Textbox2.Text & "'," _
            + "total_kembali ='" & Textbox3.Text & "'," _
            + "denda ='" & TextBox4.Text & "'," _
            + "nomor_anggota ='" & ComboBox3.Text & "'," _
            + "nama_anggota ='" & TextBox5.Text & "'," _
            + "kode_Petugas ='" & ComboBox4.Text & "'," _
            + "nama_petugas ='" & TextBox6.Text & "' WHERE nomor_kembali = '" & ComboBox1.Text & "' "
        jalankansql(ubah)
        Me.Cursor = Cursors.WaitCursor
        DataGridView1.Refresh()
        isigrid()
        Me.Cursor = Cursors.Default
        bersih()
        hapus.Enabled = True
    End Sub


    Private Sub cari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cari.TextChanged
        carikembali(cari.Text)
        Dim xloop1 As Integer
        Dim spola As String
        Dim sbuka As String
        Dim sbetul As Boolean
        spola = cari.Text + "*"
        databaru = False
        Me.Cursor = Cursors.WaitCursor
        tambah.Enabled = True
        For xloop1 = 1 To DataGridView1.RowCount - 1
            sbuka = DataGridView1.Rows(xloop1 - 1).Cells(1).Value
            sbetul = UCase(sbuka) Like UCase(spola)
            If sbetul = True Then
                DataGridView1.CurrentCell = DataGridView1.Item(1, xloop1 - 1)
                isiTextBox(xloop1 - 1)
            End If
        Next
        Me.Cursor = Cursors.Default
    End Sub
End Class


Membuat Laporan
Klik Menu project-report-crystal report














BAB III
PENUTUP

A. Kesimpulan
Dengan adanya Sistem yang di rancang dapat diambil kesimpulan sebagai berikut :
a)    Pengelolaan data dapat dilakukan dengan cepat, hal ini dirasakan lebih menguntungkan                 jika dibandingkan dengan sistem manual.
b)  Penyimpanan data di dalam media komputer akan lebih hemat dan aman serta dapat                     digunakan berkali-kali dan dapat diperbaharui isinya.
c) Akan diperoleh informasi yang cepat, tepat, akurat dan handal, sehingga akan memberikan           pelayanan yang baik kepada konsumen maupun dalam Pengambilan keputusan bagi pihak     manajemen.
d)  Data mudah diakses dan disimpan  serta mudah untuk dipertanggungjawabkan.
e) Kebutuhan proses pengolahan data yang  segera  dan  terus  menerus.
f)  Efektif dan efisien


B. Saran
Untuk mendapatkan hasil yang optimal, beberapa hal yang perlu diperhatikan :
a).  Disiplin dari pengelola masing-masing usaha untuk selalu melakukan pencatatan melalui pemakaian program dan prosedur yang telah disusun.
b). Peningkatan kualitas perangkat keras dengan menambah memory akan meningkatkan kecepatan dan kemudahan dalam melakukan implementasi rancangan.
c). “Back Up” data sangat diperlukan untuk menghindari kehilangan data karena kerusakan media penyimpanan yang dapat timbul.



Untuk melihat langkah-langkah berupa visual bisa dilihat pada video di link:

mungkin sekian dan terima kasih :)
Tags:

Post a Comment

0Comments

Silakan tinggalkan komentar anda. DILARANG KERAS menyimpan link blog/web pada komentar dengan tujuan backlink, Spam.

Post a Comment (0)