DATABASE DAN KONSEP RDBMS

  • Proses Desain Database
    1. Analisis Persyaratan : Langkah yang sangat penting dalam merancang aplikasi database adalah untuk memahami data apa yang akan disimpan dalam database.
    2. Database Desain Konseptual : Informasi data yang dikumpulkan secara konseptual.
    3. Desain Database Logical : Memilih sebuah Software Database untuk desain, dan mengubah desain dari bentuk konseptual ke skema Database dalam model data.
    4. Skema Perbaikan : Menganalisis koleksi hubungan dalam skema relasional database.
    5. Database Desain Fisik: Beban kerja database yang melibatkan indeks pada beberapa tabel dan clustering.
    6. 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:
      1. Hubungan (relationship) antar data.
      2. Arti (semantic) data.
      3. Batasan (consistency constraint) data.
      4. Representasi data.
  • Jenis-jenis Model Data
    1. Object-Based Logical Model
    2. 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
    1. Character, merupakan bagian data yang terkecil, dapat berupa karakter numeric, huruf maupun karakter-karakter khusus yang membentuk suatu field.
    2. Field, mempresentasikan suatu atribut dari record yang menunjukkan suatu item dari data. (3 Bagian Field -> Field Name, Field Type, Field Value)
    3. Record, Kumpulan dari field membentuk suatu record yang menggambarkan suatu unit data individu tertentu. Dalam Satu record minimal mempunyai 1 Field Khusus (Primary Key).
    4. File / Table, terdiri dari record-record yang menggambarkan suatu kesatuan data yang sejenis.
    5. 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 :
    1. DDL (Data Definition Language)
    2. 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:
    1. CREATE TABLE : untuk membuat tabel.
    2. ALTER TABLE : untuk merubah struktur suatu tabel.
    3. DROP TABLE : untuk menghapus suatu tabel .
    4. CREATE INDEX : untuk membuat suatu index dalam tabel .
    5. 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:
    1. INSERT untuk menambahkan data baru
    2. SELECT untuk menampilkan data
    3. UPDATE untuk mengubah data yang sudah ada
    4. 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:
    1. Connection, Properti ini digunakan untuk mengakses penyimpanan data.
    2. CommandText, Properti ini digunakan untuk menetapkan nama tabel, penyataan SQL atau nama stored procedure untuk memilih data.
    3. CommandType, Properti ini digunakan untuk menetapkan sebuah nilai yang menentukan bagaimana properti CommandText diterapkan.
  • Aplikasi CRUD
    • CRUD adalah singkatan dari Create Read Update Delete.
      1. Create yang berarti membuat sebuah data baru dalam database.
      2. Read : membaca atau menampilkan data dari dalam database untuk di tampilkan dalam aplikasi yang kita buat.
      3. Update : mengubah atau mengedit data yang berada dalam database menggunakan aplikasi yang kita buat.
      4. Delete : menghapus data dari dalam database melalui aplikasi yang kita buat.

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

Leave a comment