Tugas kali ini adalah membuat normalisasi database dari sebuah faktur dan membuat web design serta menampilkan hasil dari database tersebut kedalam web menggunakan Visual Studio 2012 dan juga Microsoft Office Access 2007.
Foto dari Faktur yang akan di normalisasi :
1. Normal Form (1NF)
Bentuk normal form yang pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
- Menghilangkan duplikasi kolom dari tabel yang sama.
- Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (Primary Key).
dari manual bon pembelian diatas kita dapat menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya.
2. Normal Form (2NF)
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.
- Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.
- Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.
- Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.
Contoh normalisasi database bentuk 2NF:
Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci haruslah unik.
3. Normal Form (3NF)
Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF adalah :
- Memenuhi semua persyaratan dari bentuk normal kedua.
- Menghapus kolom yang tidak tergantung pada primary key.
Contoh Normalisasi Database Bentuk 3NF
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF).
Screen Shoot Table Hasil Analisa
Screenshot Web + Source Code.
Transaksi:
Imports System.Data
Imports System.Data.OleDb
Public Class transaksi
Inherits System.Web.UI.Page
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\File Kampus\Semester 5\Selasa\Basis Data\Tugas\UTS\dbinvoice.mdb"
Dim con As New OleDb.OleDbConnection(constring)
Dim reader As OleDb.OleDbDataReader
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btninput_Click(sender As Object, e As EventArgs) Handles btninput.Click
con.Open()
Dim add As String = "INSERT INTO tbl_transaksi VALUES('" + txtinvoice.Text + "','" + txtpenjual.Text + "','" + txttgl.Text + "','" + txtshipping.Text + "','" + txtnamacustomer.Text + "','" + txtalamatcustomer.Text + "','" + txttlp.Text + "','" + txtindexid.Text + "','" + txtproduk.Text + "','" + txtqty.Text + "','" + txthargasatuan.Text + "','" + txthargatotal.Text + "','" + txttotalitem.Text + "','" + txtongkir.Text + "','" + txttotal.Text + "')"
Dim cmd = New OleDbCommand(add, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menambahkan List Data!")
End Sub
Protected Sub btnedit_Click(sender As Object, e As EventArgs) Handles btnedit.Click
con.Open()
Dim edit As String = "UPDATE tbl_transaksi set no_invoice ='" + txtinvoice.Text + "' WHERE nama_penjual = '" + txtpenjual.Text + "'"
Dim cmd = New OleDbCommand(edit, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Mengubah Data!")
End Sub
Protected Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
con.Open()
Dim delete As String = "DELETE * From tbl_transaksi WHERE nama_penjual = '" + txtpenjual.Text + "'"
Dim cmd = New OleDbCommand(delete, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menghapus Data!")
End Sub
Protected Sub btnfind_Click(sender As Object, e As EventArgs) Handles btnfind.Click
If Not Len(txtpenjual.Text) = 0 Then
con.Close()
con.Open()
Dim cmd As New OleDb.OleDbCommand("SELECT * From tbl_transaksi WHERE nama_penjual = '" + txtpenjual.Text + "'", con)
reader = cmd.ExecuteReader()
If reader.HasRows Then
reader.Read()
txtinvoice.Text = reader("no_invoice")
txtpenjual.Text = reader("nama_penjual")
txttgl.Text = reader("tanggal")
txtshipping.Text = reader("shipping")
txtnamacustomer.Text = reader("nama_Customer")
txtalamatcustomer.Text = reader("alamat")
txttlp.Text = reader("no_tlp")
txtindexid.Text = reader("index_id")
txtproduk.Text = reader("deskripsi_produk")
txtqty.Text = reader("qty")
txthargasatuan.Text = reader("harga_Satuan")
txthargatotal.Text = reader("harga_total")
txttotalitem.Text = reader("total_item")
txtongkir.Text = reader("ongkir")
txttotal.Text = reader("total")
btndelete.Enabled = True
btnedit.Enabled = True
MsgBox("Data Ditemukan!")
Else
MsgBox("Data Tidak Ditemukan!")
End If
End If
End Sub
Protected Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
txtinvoice.Text = ""
txtpenjual.Text = ""
txttgl.Text = ""
txtshipping.Text = ""
txtnamacustomer.Text = ""
txtalamatcustomer.Text = ""
txttlp.Text = ""
txtindexid.Text = ""
txtproduk.Text = ""
txtqty.Text = ""
txthargasatuan.Text = ""
txthargatotal.Text = ""
txttotalitem.Text = ""
txtongkir.Text = ""
txttotal.Text = ""
End Sub
End Class
Customer:
Imports System.Data
Imports System.Data.OleDb
Public Class customer
Inherits System.Web.UI.Page
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\File Kampus\Semester 5\Selasa\Basis Data\Tugas\UTS\dbinvoice.mdb"
Dim con As New OleDb.OleDbConnection(constring)
Dim reader As OleDb.OleDbDataReader
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btninput_Click(sender As Object, e As EventArgs) Handles btninput.Click
Dim add As String = "INSERT INTO tbl_customer values ('" + txtemail.Text + " ', '" + txtnama.Text + "','" + txtalamat.Text + "','" + txttlp.Text + "')"
Dim cmd = New OleDbCommand(add, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menambahkan Data!")
End Sub
Protected Sub btnedit_Click(sender As Object, e As EventArgs) Handles btnedit.Click
Dim edit As String = "update tbl_customer set email = '" + txtemail.Text + "' where nama_customer = '" + txtnama.Text + "'"
Dim cmd = New OleDbCommand(edit, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Mengubah Data!")
End Sub
Protected Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
con.Open()
Dim delete As String = "DELETE * From tbl_customer WHERE email = '" + txtemail.Text + "'"
Dim cmd = New OleDbCommand(delete, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menghapus Data!")
End Sub
Protected Sub btnfind_Click(sender As Object, e As EventArgs) Handles btnfind.Click
If Not Len(txtemail.Text) = 0 Then
con.Close()
con.Open()
Dim cmd As New OleDb.OleDbCommand("SELECT * From tbl_customer WHERE email = '" + txtemail.Text + "'", con)
reader = cmd.ExecuteReader()
If reader.HasRows Then
reader.Read()
txtnama.Text = reader("nama_customer")
txtalamat.Text = reader("alamat")
txtemail.Text = reader("email")
txttlp.Text = reader("no_tlp")
MsgBox("Data Ditemukan!")
Else
MsgBox("Data Tidak Ditemukan!")
End If
End If
End Sub
Protected Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
txtemail.Text = ""
txtnama.Text = ""
txtalamat.Text = ""
txttlp.Text = ""
End Sub
End Class
Barang:
Imports System.Data
Imports System.Data.OleDb
Public Class barang
Inherits System.Web.UI.Page
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\File Kampus\Semester 5\Selasa\Basis Data\Tugas\UTS\dbinvoice.mdb"
Dim con As New OleDb.OleDbConnection(constring)
Dim reader As OleDb.OleDbDataReader
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btninput_Click(sender As Object, e As EventArgs) Handles btninput.Click
Dim add As String = "INSERT INTO tbl_barang values ('" + txtindex.Text + " ', '" + txtproduk.Text + "','" + txtharga.Text + "','" + txtstok.Text + "')"
Dim cmd = New OleDbCommand(add, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menambahkan Data!")
End Sub
Protected Sub btnedit_Click(sender As Object, e As EventArgs) Handles btnedit.Click
Dim edit As String = "update tbl_barang set harga = '" + txtharga.Text + "' where deskripsi_produk = '" + txtproduk.Text + "'"
Dim cmd = New OleDbCommand(edit, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Mengubah Data!")
End Sub
Protected Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
con.Open()
Dim delete As String = "DELETE * From tbl_barang WHERE deskripsi_produk = '" + txtproduk.Text + "'"
Dim cmd = New OleDbCommand(delete, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menghapus Data!")
End Sub
Protected Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
txtindex.Text = ""
txtproduk.Text = ""
txtharga.Text = ""
txtstok.Text = ""
End Sub
Protected Sub btnfind_Click(sender As Object, e As EventArgs) Handles btnfind.Click
If Not Len(txtproduk.Text) = 0 Then
con.Close()
con.Open()
Dim cmd As New OleDb.OleDbCommand("SELECT * From tbl_barang WHERE deskripsi_produk = '" + txtproduk.Text + "'", con)
reader = cmd.ExecuteReader()
If reader.HasRows Then
reader.Read()
txtindex.Text = reader("index_id")
txtproduk.Text = reader("deskripsi_produk")
txtharga.Text = reader("harga")
txtstok.Text = reader("stok")
MsgBox("Data Ditemukan!")
Else
MsgBox("Data Tidak Ditemukan!")
End If
End If
End Sub
End Class
Toko:
Imports System.Data
Imports System.Data.OleDb
Public Class WebForm2
Inherits System.Web.UI.Page
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\File Kampus\Semester 5\Selasa\Basis Data\Tugas\UTS\dbinvoice.mdb"
Dim con As New OleDb.OleDbConnection(constring)
Dim reader As OleDb.OleDbDataReader
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btninput_Click(sender As Object, e As EventArgs) Handles btninput.Click
con.Open()
Dim add As String = "INSERT INTO tbl_toko VALUES('" + txtkode.Text + "','" + txtnama.Text + "','" + txtalamat.Text + "','" + txtemail.Text + "','" + txttlp.Text + "')"
Dim cmd = New OleDbCommand(add, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menambahkan List Data!")
End Sub
Protected Sub btnedit_Click(sender As Object, e As EventArgs) Handles btnedit.Click
con.Open()
Dim edit As String = "update tbl_toko set email_penjual = '" + txtemail.Text + "' where nama_penjual = '" + txtnama.Text + "'"
Dim cmd = New OleDbCommand(edit, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Mengubah Data!")
End Sub
Protected Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
con.Open()
Dim delete As String = "DELETE * From tbl_toko WHERE kd_penjual = '" + txtkode.Text + "'"
Dim cmd = New OleDbCommand(delete, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Berhasil Menghapus Data!")
End Sub
Protected Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
txtemail.Text = ""
txtnama.Text = ""
txtkode.Text = ""
txtalamat.Text = ""
txttlp.Text = ""
End Sub
Protected Sub btnfind_Click(sender As Object, e As EventArgs) Handles btnfind.Click
If Not Len(txtemail.Text) = 0 Then
con.Close()
con.Open()
Dim cmd As New OleDb.OleDbCommand("SELECT * From tbl_toko WHERE email_penjual = '" + txtemail.Text + "'", con)
reader = cmd.ExecuteReader()
If reader.HasRows Then
reader.Read()
txtkode.Text = reader("kd_penjual")
txtnama.Text = reader("nama_penjual")
txtalamat.Text = reader("alamat_penjual")
txtemail.Text = reader("email_penjual")
txttlp.Text = reader("tlp_penjual")
MsgBox("Data Ditemukan!")
Else
MsgBox("Data Tidak Ditemukan!")
End If
End If
End Sub
End Class
Sekian Postingan Saya kali ini, kurang lebihnya mohon maaf.
Wassallam :)











