- Proses Desain Database
- Analisis Persyaratan : Langkah yang sangat penting dalam merancang aplikasi database adalah untuk memahami data apa yang akan disimpan dalam database.
- Database Desain Konseptual : Informasi data yang dikumpulkan secara konseptual.
- Desain Database Logical : Memilih sebuah Software Database untuk desain, dan mengubah desain dari bentuk konseptual ke skema Database dalam model data.
- Skema Perbaikan : Menganalisis koleksi hubungan dalam skema relasional database.
- Database Desain Fisik: Beban kerja database yang melibatkan indeks pada beberapa tabel dan clustering.
- Keamanan Desain: Mengidentifikasi bagian-bagian dari database yang dapat mengakses sebuah DBMS.
- Model Data
- Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antar data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi, yang meliputi:
- Hubungan (relationship) antar data.
- Arti (semantic) data.
- Batasan (consistency constraint) data.
- Representasi data.
- Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antar data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi, yang meliputi:
- Jenis-jenis Model Data
- Object-Based Logical Model
- Record-Based Logical Model
- Jenis-jenis Aplikasi
- Aplikasi Terkoneksi, suatu aplikasi dimana pemakai aplikasi secara terus-menerus melakukan koneksi ke suatu sumber data sepanjang aplikasi tersebut dijalankan.
- Aplikasi Terputus, suatu aplikasi dimana pemakai aplikasi tidak secara berkelanjutan melakukan koneksi ke sumber data, melainkan koneksi hanya dibuka pada saat mengambil atau menyimpan perubahan data ke suatu sumber data saja.
- Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut.
- Jenjang Data
- Character, merupakan bagian data yang terkecil, dapat berupa karakter numeric, huruf maupun karakter-karakter khusus yang membentuk suatu field.
- Field, mempresentasikan suatu atribut dari record yang menunjukkan suatu item dari data. (3 Bagian Field -> Field Name, Field Type, Field Value)
- Record, Kumpulan dari field membentuk suatu record yang menggambarkan suatu unit data individu tertentu. Dalam Satu record minimal mempunyai 1 Field Khusus (Primary Key).
- File / Table, terdiri dari record-record yang menggambarkan suatu kesatuan data yang sejenis.
- Database, kumpulan dari file/table.
- SQL (Structured Query Language) adalah Suatu bahasa komputer yang mengikuti standard ANSI (American National Standard Institute), yaitu sebuah bahasa standard yang digunakan untuk mengakses dan melakukan manipulasi suatu sistem database.
- Secara umum bahasa SQl (Structure Quiery Language) terdiri dari dua bagian yaitu :
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
- Data Definition Language digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data.
- Data Definition Language berfungsi lebih ke dalam memanipulasi struktur dari database, table, trigger, Store Procedure, index, rule, schema dll.
- Beberapa statemen atau sintaks yang sering dijumpai dalam DDL adalah sebagai berikut:
- CREATE TABLE : untuk membuat tabel.
- ALTER TABLE : untuk merubah struktur suatu tabel.
- DROP TABLE : untuk menghapus suatu tabel .
- CREATE INDEX : untuk membuat suatu index dalam tabel .
- DROP INDEX : untuk menghapus suatu index dalam tabel.
- Data Manipulation Language digunakan untuk memanipulasi data yang ada dalam suatu tabel (menspesifikasikan queries, menyisipkan, menghapus, dan memodifikasi baris-baris tabel).
- Perintah yang umum dilakukan dalam DML adalah:
- INSERT untuk menambahkan data baru
- SELECT untuk menampilkan data
- UPDATE untuk mengubah data yang sudah ada
- DELETE untuk menghapus data
- Object Command digunakan untuk menjalankan perintah yang akan memanggil data dari database.
- Object command diperuntukkan untuk perintah-perintah SQL (Insert, Update, Delete, Select) atau menjalankan suatu stored procedure.
- Properti dari Obyek Command:
- Connection, Properti ini digunakan untuk mengakses penyimpanan data.
- CommandText, Properti ini digunakan untuk menetapkan nama tabel, penyataan SQL atau nama stored procedure untuk memilih data.
- CommandType, Properti ini digunakan untuk menetapkan sebuah nilai yang menentukan bagaimana properti CommandText diterapkan.
- Aplikasi CRUD
- CRUD adalah singkatan dari Create Read Update Delete.
- Create yang berarti membuat sebuah data baru dalam database.
- Read : membaca atau menampilkan data dari dalam database untuk di tampilkan dalam aplikasi yang kita buat.
- Update : mengubah atau mengedit data yang berada dalam database menggunakan aplikasi yang kita buat.
- Delete : menghapus data dari dalam database melalui aplikasi yang kita buat.
- CRUD adalah singkatan dari Create Read Update Delete.
Praktikum
Form 1 (Koneksi Database)

Imports System.Data.OleDb
Public Class Form1
'Created by Ruthyana Vita
Function OpenConnection() As Boolean
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
"Data Source=penjualan.accdb;" &
"Persist Security Info=False;")
Try
con.Open()
con.Close()
Return True
Catch ex As Exception
MsgBox("Error : " & ex.Message)
Return False
End Try
End Function
Private Sub btkoneksi_Click(sender As Object, e As EventArgs) Handles btkoneksi.Click
If OpenConnection() = True Then
MsgBox("Koneksi Database Berhasil")
End If
End Sub
Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
Me.Close()
End Sub
End Class
Form 2 (Menampilkan Data View)

Imports System.Data.OleDb
Public Class Form2
'Created by Ruthyana Vita
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
"Data Source=penjualan.accdb;" &
"Persist Security Info=False;")
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim cmd As New OleDbCommand
Dim adapt As New OleDbDataAdapter
Dim dt As New DataTable
Try
con.Open()
cmd.Connection = con
cmd.CommandText = "SELECT Nama, Harga " &
"FROM barang"
adapt.SelectCommand = cmd
adapt.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
Catch myerror As OleDbException
MessageBox.Show("Error : " & myerror.Message)
Finally
con.Dispose()
End Try
End Sub
Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
Application.Exit()
End Sub
End Class
Form 3 (Menampilkan List Tabel ke GridView)

Imports System.Data.OleDb
Public Class Form3
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
"Data Source=penjualan.accdb;" &
"Persist Security Info=False;")
Sub ListTables()
Dim SchemaTable As DataTable
Try
ListBox1.Items.Clear()
con.Open()
SchemaTable = con.GetOleDbSchemaTable(
System.Data.OleDb.OleDbSchemaGuid.Tables,
New Object() {Nothing, Nothing, Nothing, Nothing})
For i As Integer = 0 To SchemaTable.Rows.Count - 1
If SchemaTable.Rows(i).Item("TABLE_TYPE").ToString() = "TABLE" Then
ListBox1.Items.Add(SchemaTable.Rows(i).Item("TABLE_NAME").ToString())
End If
Next
Catch ex As Exception
MessageBox.Show("Error : " & ex.Message)
Finally
con.close()
End Try
End Sub
Sub GetDataTable(ByVal TableName As String, ByVal Limit As Integer)
Dim cmd As New OleDbCommand
Dim adapt As New OleDbDataAdapter
Dim dt As New DataTable
Try
con.Open()
cmd.Connection = con
cmd.CommandText = "SELECT TOP" & Limit.ToString() &
" * FROM " & TableName
adapt.SelectCommand = cmd
adapt.Fill(dt)
DataGridView1.DataSource = dt
Catch ex As OleDbException
MessageBox.Show("Error : " & ex.Message)
Finally
con.Close()
End Try
End Sub
Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
Application.Exit()
End Sub
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ListTables()
If ListBox1.Items.Count > 0 Then
ListBox1.SelectedIndex = 0
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
GetDataTable(ListBox1.SelectedItem.ToString, 100)
End Sub
End Class
Form 4 (Form Barang)

Imports System.Data.OleDb
Public Class Form4
'Created by Ruthyana Vita
Dim Conn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim LokasiDB As String
Sub Koneksi()
LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=penjualan.accb"
Conn = New OleDbConnection(LokasiDB)
If Conn.State = ConnectionState.Closed Then Conn.Open()
End Sub
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Koneksi()
da = New OleDbDataAdapter("Select * from barang2", Conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "barang2")
DataGridView1.DataSource = (ds.Tables("barang2"))
End Sub
Private Sub btinput_Click(sender As Object, e As EventArgs) Handles btinput.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or ComboBox1.Text = "" Then
MsgBox("Silahkan Isi Semua Form")
Else
Dim CMD As OleDbCommand
Call Koneksi()
Dim simpan As String = "insert into barang2 values ('" & TextBox1.Text & "', '" & TextBox2.Text & "', '" &
TextBox3.Text & "', '" & TextBox4.Text & "', '" & ComboBox1.Text & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
MsgBox("Input Data Berhasil")
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 6
Call Koneksi()
Dim CMD As OleDbCommand
Dim RD As OleDbDataReader
CMD = New OleDbCommand("Select * From barang2 where KodeBarang = '" & TextBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
MsgBox("Kode Barang Tidak Ada, Silahkan Coba Lagi!")
TextBox1.Focus()
Else
TextBox2.Text = RD.Item("NamaBarang")
TextBox3.Text = RD.Item("HargaBarang")
TextBox4.Text = RD.Item("JumlahBarang")
ComboBox1.Text = RD.Item("SatuanBarang")
TextBox2.Focus()
End If
End Sub
Private Sub btedit_Click(sender As Object, e As EventArgs) Handles btedit.Click
Call Koneksi()
Dim CMD As OleDbCommand
Dim edit As String = "update barang2 set NamaBarang= '" & TextBox2.Text & "', HargaBarang= '" & TextBox3.Text &
"', JumlahBarang= '" & TextBox4.Text & "', SatuanBarang='" & ComboBox1.Text & "' where KodeBarang = '" &
TextBox1.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
MsgBox("Data Berhasil diUpdate")
End Sub
Private Sub bthapus_Click(sender As Object, e As EventArgs) Handles bthapus.Click
If TextBox1.Text = "" Then
MsgBox("Silahkan Pilih Data yang Akan Dihapus dengan Memasukkan Kode Barang dan Enter")
Else
If MessageBox.Show("Yakin Akan Dihapus?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim CMD As OleDbCommand
Dim hapus As String = "Delete Drom barang2 where KodeBarang='" & TextBox1.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
End If
End If
End Sub
End Class
Form 5 (CRUD 1)

Imports System.Data.OleDb
Public Class Form5
'Created by Ruthyana Vita
Dim Conn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim LokasiDB As String
Sub Koneksi()
LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=penjualan.accdb"
Conn = New OleDbConnection(LokasiDB)
If Conn.State = ConnectionState.Closed Then Conn.Open()
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Koneksi()
da = New OleDbDataAdapter("Select * from kategori2", Conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "kategori2")
DataGridView1.DataSource = (ds.Tables("kategori2"))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Then
MsgBox("Silakan Isi Semua Form")
Else
Dim CMD As OleDbCommand
Call Koneksi()
Dim simpan As String = "insert into kategori2 values ('" & TextBox1.Text & "','" & TextBox2.Text & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
MsgBox("Input data berhasil")
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 6
If e.KeyChar = Chr(13) Then
Call Koneksi()
Dim CMD As OleDbCommand
Dim RD As OleDbDataReader
CMD = New OleDbCommand("Select * From kategori2 where Kodekategori='" & TextBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
MsgBox("Kode Barang Tidak Ada, Silakan coba lagi!")
TextBox1.Focus()
Else
TextBox2.Text = RD.Item("Namakategori")
TextBox2.Focus()
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Call Koneksi()
Dim CMD As OleDbCommand
Dim edit As String = "update kategori2 set Namakategori='" & TextBox2.Text & "' where Kodekategori='" &
TextBox1.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
MsgBox("Data Berhasil diUpdate")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If TextBox1.Text = "" Then
MsgBox("Silakan Pilih Data yang akan di hapus dengan Masukan Kode Barang dan ENTER")
Else
If MessageBox.Show("Yakin akan dihapus..?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim CMD As OleDbCommand
Dim hapus As String = "delete From kategori2 where Kodekategori='" & TextBox1.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
End If
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Application.Exit()
End Sub
End Class
Form 6 (CRUD 2)

Imports System.Data.OleDb
Public Class Form6
'Created by Ruthyana Vita
Dim Conn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim LokasiDB As String
Sub Koneksi()
LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=penjualan.accdb"
Conn = New OleDbConnection(LokasiDB)
If Conn.State = ConnectionState.Closed Then Conn.Open()
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Koneksi()
da = New OleDbDataAdapter("Select * from item2", Conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "item2")
DataGridView1.DataSource = (ds.Tables("item2"))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Then
MsgBox("Silakan Isi Semua Form")
Else
Dim CMD As OleDbCommand
Call Koneksi()
Dim simpan As String = "insert into item2 values ('" & TextBox1.Text & "','" & TextBox2.Text & "', '" &
TextBox3.Text & "')"
CMD = New OleDbCommand(simpan, Conn)
CMD.ExecuteNonQuery()
MsgBox("Input data berhasil")
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 6
If e.KeyChar = Chr(13) Then
Call Koneksi()
Dim CMD As OleDbCommand
Dim RD As OleDbDataReader
CMD = New OleDbCommand("Select * From item2 where Kodeitem='" & TextBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
MsgBox("Kode Barang Tidak Ada, Silakan coba lagi!")
TextBox1.Focus()
Else
TextBox2.Text = RD.Item("Jenisintem")
TextBox3.Text = RD.Item("Namaitem")
TextBox2.Focus()
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Call Koneksi()
Dim CMD As OleDbCommand
Dim edit As String = "update item2 set Kodeitem='" & TextBox2.Text & "', Namaitem = '" &
TextBox3.Text & "'where Kodeitem = '" & TextBox1.Text & "'"
CMD = New OleDbCommand(edit, Conn)
CMD.ExecuteNonQuery()
MsgBox("Data Berhasil diUpdate")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If TextBox1.Text = "" Then
MsgBox("Silakan Pilih Data yang akan di hapus dengan Masukan Kode Barang dan ENTER")
Else
If MessageBox.Show("Yakin akan dihapus..?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Dim CMD As OleDbCommand
Dim hapus As String = "delete From item2 where Kodeitem='" & TextBox1.Text & "'"
CMD = New OleDbCommand(hapus, Conn)
CMD.ExecuteNonQuery()
End If
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Application.Exit()
End Sub
End Class