Jumat, 26 Mei 2017

UAS LAB SMBD
-----
Database Penjualan Buku

Saya menggunakan asp.net yang digunakan untuk mengelola data penjualan buku, data base ini memiliki 3 tabel, yaitu TableDaftarBuku, TablePelanggan, dan TabelTransaksi.



 




Screenshoot Desainnya:




Source Code Visual Studio :

Imports System.Data
Imports System.Data.OleDb
Public Class WebForm1
    Inherits System.Web.UI.Page

    Public constring As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
    Public oConn As New OleDbConnection(constring)
    Public oTbl As New DataTable
    Public xReader As OleDbDataReader
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim sql As String = "INSERT INTO TableDaftarBuku VALUES ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "')"
        Dim oCmd As New OleDbCommand
        oConn.Open()
        oCmd.CommandText = sql
        oCmd.ExecuteNonQuery()

    End Sub

    Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim sql As String = "UPDATE TableDaftarBuku set IDBuku = '" & TextBox1.Text & "', Harga = '" & TextBox3.Text & ""
        Dim oCmd As New OleDbCommand
        oConn.Close()
        oConn.Open()
        oCmd.Connection = oConn
        oCmd.CommandText = sql
        oCmd.ExecuteNonQuery()
    End Sub

    Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim delete = MsgBox("Konfirmasi", MsgBoxStyle.YesNo, "Delete")
        If delete = vbYes Then
            oConn.Close()
            oConn.Open()
            Dim hapus As String = "DELETE FROM TablePelanggan where IDPelanggan =" + TextBox4.Text + ""
            Dim oCmd As New OleDbCommand
            oConn.Close()
            oConn.Open()
            oCmd.Connection = oConn
            oCmd.CommandText = hapus
            oCmd.ExecuteNonQuery()
            MsgBox("Delete Complete", vbArchive)

            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
        End If
    End Sub

    Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        oConn.Close()
        oConn.Open()
        Dim Cmd As New OleDbCommand("SELECT * FROM TableTransaksi where IDPelanggan =" + TextBox1.Text + "", oConn)
        xReader = Cmd.ExecuteReader
        If xReader.HasRows Then
            xReader.Read()
            TextBox1.Text = xReader("NoFaktur")
            TextBox2.Text = xReader("IDPelanggan")
            TextBox3.Text = xReader("IDBuku")
        Else
            MsgBox("Data tidak ditemukan")
            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            Exit Sub
        End If
        xReader.Close()


    End Sub
End Class

Kamis, 06 April 2017



UTS Lab SMBD
Normalisasi DBMS

Normalisasi adalah  proses pendesainan struktur database sehingga sebagian besar ambiguity bisa dihilangkan dan menghasilkan sebuah tabel yang normal.

Berikut Ini adalah Contoh Tabel Penjualan Barang Elektronik di Toko Jaya Elektronik yang belum di Normalisasi.

Setelah dilakukan tahap normalisasi 1 NF maka dapat terlihat seperti tabel dibawah ini.

Lalu dilakukan tahap normalisasi 2 NF dapat dilihat seperti gambar dibawah ini.


Pada tahap normalisasi 2 NF ini, setiap Tabel terdapat  masing – masing Primary Key. Dan dari table 1 NF diatas, sudah di jabarkan menjadi tiga table yang terpisah.
Ada TableTransaksi seperti gambar dibawah ini, dengan NoTransaksi sebagai Primary Key.



TablePelanggan, dengan KodePelanggan sebagai Primary Key.



Dan TableBarang, dengan KodeBarang sebagai Primary Key.



Selanjutnya adalah Tahap normalisasi 3 NF, dapat dilihat seperti gambar dibawah ini. Masing – masing table memiliki Primary Key dan ada satu table yang memiliki Foreign Key dari tabel lain. KodePelanggan dan KodeBarang yang terdapat pada TableTransaksi berperan sebagai Foreign Key.



Pada tahap 3 NF ini, maka table yang di tampilkan adalah seperti dibawah ini, 




Dan selanjutnya adalah BCNF yang dapat dilihat seperti gambar dibawah ini.


Jika pada database Ms Access yang telah dibuat diketikkan Kode Barang, maka secara otomatis akan menampilkan NamaBarang dan Harga.


Tampilan Web


SourceCode
Imports System.Data
Imports System.Data.OleDb

Public Class WebForm1
    Inherits System.Web.UI.Page

    Public constring As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
    Public oConn As New OleDbConnection(constring)
    Public oTable As New DataTable
    Public xReader As OleDbDataReader
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    'Button Insert
    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim sql As String = "INSERT INTO TableBarang VALUES ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"
        Dim oCmd As New OleDbCommand
        oConn.Open()
        oCmd.CommandText = sql
        oCmd.ExecuteNonQuery()

    End Sub

    'Button Refresh
    Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Response.Redirect("WebForm1.aspx")
    End Sub

    'Button Update
    Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim sql As String = "UPDATE TableBarang set NoBarang = '" & TextBox1.Text & "', NamaBarang = '" & TextBox2.Text & "', Sewa = '" & TextBox3.Text & "', IDPenyewa '" & TextBox4.Text & ""
        Dim oCmd As New OleDbCommand
        oConn.Close()
        oConn.Open()
        oCmd.Connection = oConn
        oCmd.CommandText = sql

        oCmd.ExecuteNonQuery()

    End Sub

    'Button Delete
    Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim delete = MsgBox("Konfirmasi", MsgBoxStyle.YesNo, "Delete")
        If delete = vbYes Then
            oConn.Close()
            oConn.Open()
            Dim hapus As String = "DELETE FROM TableBarang where IDPenyewa =" + TextBox4.Text + ""
            Dim oCmd As New OleDbCommand
            oConn.Close()
            oConn.Open()
            oCmd.Connection = oConn
            oCmd.CommandText = hapus
            oCmd.ExecuteNonQuery()
            MsgBox("Delete Complete", vbArchive)

            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""

        End If
    End Sub
End Class