Minggu, 21 Juli 2013

Contoh Program Pascal If Perhitungan Gaji


Ketentuan Soal :
1. Nama Di input
2. Jabatan di input ,
Jabatan        Gaji             Tunjangan
Direktur       3000000     10 % dari gaji
Manager        2000000    5% dari gaji
Karyawan       1000000    2% dari gaji
OB                 800000        1% dari gaji

3. Dikenakan PPN 10 % dari gaji
4. Gaji Bersih didapat dari : gaji + tunjangan – PPn
 
Jawabannya:

Uses crt;
Var nama:string[20];jabatan:string;
Gaji:longint;
Tunj,ppn,gajibersih:real;
Begin
Clrscr;
Write(‘Nama Karyawan     : ‘); readln(nama);
Write(‘Masukkan Jabatan  : ‘); readln(jabatan);
If  (jabatan=’Direktur’) or (jabatan=’direktur’) then
     Begin
 Gaji:=3000000;
 Tunj:=0.1* gaji;
     End
Else If  (jabatan=’Manager’) or (jabatan=’manager’) then
     Begin
 Gaji:=2000000;
 Tunj:=0.05* gaji;
     End
Else If  (jabatan=’Karyawan’) or (jabatan=’karyawan’) then
     Begin
 Gaji:=1000000;
 Tunj:=0.1* gaji;
     End
Else
     Begin
 Gaji:=800000;
 Tunj:=0.1* gaji;
     End;
Writeln(‘Gaji Bersih      : Rp.‘,gaji);
Writeln(‘Tunjangan Jabatan      : Rp.‘,tunj:9:2);
Ppn:=0.1*gaji;
Writeln(‘PPN 10 %      :  Rp.‘,ppn:9:2);
Total:=(gaji+total)-ppn;
Writeln(‘Total Gaji   :  Rp.‘,total:9:2);
Readln;

End.

Membuat Form master dan child VB.NET

Pada modul sebelumnya kita telah belajar bagaimana menggunakan DataViewManager untuk menampilkan data dalam DataGrid yang memiliki Relasi antara DataTable Master dan Child.
Pada Modul ini kita masih akan bekerja dengan DataViewManager untuk keperluaan pembuatan Form Entry data dalam bentuk Master dan Child.
Contoh hasil Master dan Detail yang ditampilkan pada DataGrid1.

Mempersiapkan data source

Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataSet, membuat Relation antara master DataTable dan child, serta membuat DataViewManager. Akhirnya di binding ke DataGrid.
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn)
        ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn)
        ODABarang.Fill(ODS, "Barang")
        ODAPelanggan.Fill(ODS, "Pelanggan")
        'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child)
        ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar"))
        'Membuat DataViewManager untuk DataSet
        ODVM = New DataViewManager(ODS)
        'Binding DataViewManager ke DataGrid, DataTable Barang
        Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.KodeBar"))
        Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Keterangan"))
        Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Satuan"))
        Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Harga"))
        DataGrid1.SetDataBinding(ODVM, "Barang.PelangganBarang")
    End Sub

MoveFirst, Previous, Next dan Last

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        Me.BindingContext(ODVM, "Barang").Position = 0
    End Sub
    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        Me.BindingContext(ODVM, "Barang").Position = ODVM.DataSet.Tables("Barang").Rows.Count
    End Sub
    Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click
        Me.BindingContext(ODVM, "Barang").Position -= 1
    End Sub
    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Me.BindingContext(ODVM, "Barang").Position += 1
    End Sub

Add, Update, Delete dan Cancel

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        Me.BindingContext(ODVM, "Barang").AddNew()
    End Sub
    Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpd.Click
        Me.BindingContext(ODVM, "Barang").EndCurrentEdit()
    End Sub
    Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCnc.Click
        Me.BindingContext(ODVM, "Barang").CancelCurrentEdit()
    End Sub
    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
        If (Me.BindingContext(ODVM, "Barang").Count > 0) Then
            Me.BindingContext(ODVM, "Barang").RemoveAt(Me.BindingContext(ODVM, "Barang").Position)
        End If
    End Sub

Update data ke data source

Karena DataSet terdiri dari dua tabel, maka kita perlu mengupdatenya satu-persatu  melalui DataAdapter masing-masing.
    Private Sub Form4_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCB As New OleDbCommandBuilder(ODABarang)
        Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
 'Update ke masing-masing data source
        ODABarang.Update(ODS, "Barang")
        ODAPelanggan.Update(ODS, "Pelanggan")
    End Sub

Program Kongkrit

Imports System.Data.OleDb
Public Class Form4
    Inherits System.Windows.Forms.Form
    Dim Oledbconn As OleDbConnection
    Dim ODABarang As OleDbDataAdapter
    Dim ODAPelanggan As OleDbDataAdapter
    Dim ODS As New DataSet
    Dim ODVM As New DataViewManager
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn)
        ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn)
        ODABarang.Fill(ODS, "Barang")
        ODAPelanggan.Fill(ODS, "Pelanggan")
        'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child)
        ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar"))
        'Membuat DataViewManager untuk DataSet
        ODVM = New DataViewManager(ODS)
        'Binding DataViewManager ke DataGrid, DataTable Barang
        Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.KodeBar"))
        Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Keterangan"))
        Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Satuan"))
        Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("text", ODVM, "Barang.Harga"))
        DataGrid1.SetDataBinding(ODVM, "Barang.PelangganBarang")
    End Sub
    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        Me.BindingContext(ODVM, "Barang").Position = 0
    End Sub
    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        Me.BindingContext(ODVM, "Barang").Position = ODVM.DataSet.Tables("Barang").Rows.Count
    End Sub
    Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click
        Me.BindingContext(ODVM, "Barang").Position -= 1
    End Sub
    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Me.BindingContext(ODVM, "Barang").Position += 1
    End Sub
    Private Sub Form4_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCB As New OleDbCommandBuilder(ODABarang)
        Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
        ODABarang.Update(ODS, "Barang")
        ODAPelanggan.Update(ODS, "Pelanggan")
    End Sub
    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        Me.BindingContext(ODVM, "Barang").AddNew()
    End Sub
    Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpd.Click
        Me.BindingContext(ODVM, "Barang").EndCurrentEdit()
    End Sub
    Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCnc.Click
        Me.BindingContext(ODVM, "Barang").CancelCurrentEdit()
    End Sub
    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
        If (Me.BindingContext(ODVM, "Barang").Count > 0) Then
            Me.BindingContext(ODVM, "Barang").RemoveAt(Me.BindingContext(ODVM, "Barang").Position)
        End If
    End Sub
End Class
1

Membuat master dan child VB.NET

Pada modul-modul sebelumnya kita telah bekerja dengan DataSet, DataTable, dan DataView. Pada modul ini kita akan bekerja dengan DataSet yang memiliki beberapa DataTable dan masing-masing DataTable dihubungkan (Relation) berdasarkan kolom tertentu.

Contoh hasil Master dan Detail yang ditampilkan pada DataGrid1.

Mempersiapkan data source

Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataSet, membuat Relation antara master DataTable dan child, serta membuat DataViewManager. Akhirnya di binding ke DataGrid.
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;")
        ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn)
        ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn)
        ODABarang.Fill(ODS, "Barang")
        ODAPelanggan.Fill(ODS, "Pelanggan")
        'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child)
        ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar"))
        'Membuat DataViewManager untuk DataSet
        ODVM = New DataViewManager(ODS)
        'Binding DataViewManager ke DataGrid, DataTable Barang
        DataGrid1.SetDataBinding(ODVM, "Barang")
    End Sub

Update data ke data source

Karena DataSet terdiri dari dua tabel, maka kita perlu mengupdatenya satu-persatu  melalui DataAdapter masing-masing.
    Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCB As New OleDbCommandBuilder(ODABarang)
        Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
        'Update masing-masing DataSet 
        ODABarang.Update(ODS, "Barang")
        ODAPelanggan.Update(ODS, "Pelanggan")
    End Sub

Program Kongkrit

Imports System.Data.OleDb
Public Class Form3
    Inherits System.Windows.Forms.Form
    Dim Oledbconn As OleDbConnection
    Dim ODABarang As OleDbDataAdapter
    Dim ODAPelanggan As OleDbDataAdapter
    Dim ODS As New DataSet
    Dim ODVM As DataViewManager

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;")
        ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn)
        ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn)
        ODABarang.Fill(ODS, "Barang")
        ODAPelanggan.Fill(ODS, "Pelanggan")
        'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child)
        ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar"))
        'Membuat DataViewManager untuk DataSet
        ODVM = New DataViewManager(ODS)
        'Binding DataViewManager ke DataGrid, DataTable Barang
        DataGrid1.SetDataBinding(ODVM, "Barang")
    End Sub
    Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCB As New OleDbCommandBuilder(ODABarang)
        Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
        'Update masing-masing DataSet 
        ODABarang.Update(ODS, "Barang")
        ODAPelanggan.Update(ODS, "Pelanggan")
    End Sub
End Class
1

Program Data Form Entry

Pada modul ini kita akan membuat Entry data dengan menggunakan DataView, yang dibinding pada masing-masing textbox.

Mempersiapkan data source

Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataView, serta binding masing-masing textbox ke data field.
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        OleDbConn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        sSQL = "Select * From Barang"
        OleDbComm = New OleDbCommand(sSQL, OleDbConn)
        OleDA = New OleDbDataAdapter(OleDbComm)
        OleDA.Fill(ODS, "Barang")
        ODV = New DataView(ODS.Tables("Barang"))
        'Melakukan binding masing-masing textbox 
        Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "KodeBar"))
        Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Keterangan"))
        Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Satuan"))
        Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Harga"))
    End Sub

MoveFirst

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        Me.BindingContext(ODV).Position = 0
    End Sub

MovePrev

    Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click
        Me.BindingContext(ODV).Position -= 1
    End Sub

MoveNext

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Me.BindingContext(ODV).Position += 1
    End Sub

MoveLast

    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        Me.BindingContext(ODV).Position = ODV.Table.Rows.Count
    End Sub

AddNew

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).AddNew()
        Me.Update()
    End Sub

Update

    Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).EndCurrentEdit()
    End Sub

Cancel

    Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).CancelCurrentEdit()
    End Sub

Delete

    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If (Me.BindingContext(ODV).Count > 0) Then
            Me.BindingContext(ODV).RemoveAt(Me.BindingContext(ODV).Position)
        End If
    End Sub

Update data ke data source

Sesuatu hal yang harus anda pahami adalah bahwa perubahan pada DataView tidak secara langsung terupdate pada data source..
    Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCommBuilder As New OleDbCommandBuilder(OleDA)
        OleDA.Update(ODS, "Barang")
    End Sub

Program Kongkrit


Imports System.Data.OleDb
Public Class Form2
    Inherits System.Windows.Forms.Form
    Dim OleDbConn As OleDbConnection
    Dim OleDbComm As OleDbCommand
    Dim OleDA As OleDbDataAdapter
    Dim ODS As New DataSet
    Dim ODV As DataView
    Dim sSQL As String
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        OleDbConn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        sSQL = "Select * From Barang"
        OleDbComm = New OleDbCommand(sSQL, OleDbConn)
        OleDA = New OleDbDataAdapter(OleDbComm)
        OleDA.Fill(ODS, "Barang")
        ODV = New DataView(ODS.Tables("Barang"))
        Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "KodeBar"))
        Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Keterangan"))
        Me.TextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Satuan"))
        Me.TextBox4.DataBindings.Add(New System.Windows.Forms.Binding("Text", ODV, "Harga"))
    End Sub
    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        Me.BindingContext(ODV).Position = 0
    End Sub
    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        Me.BindingContext(ODV).Position = ODV.Table.Rows.Count
    End Sub
    Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click
        Me.BindingContext(ODV).Position -= 1
    End Sub
    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Me.BindingContext(ODV).Position += 1
    End Sub
    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).AddNew()
        Me.Update()
    End Sub
    Private Sub btnUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).EndCurrentEdit()
    End Sub
    Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim oleCommBuilder As New OleDbCommandBuilder(OleDA)
        OleDA.Update(ODS, "Barang")
    End Sub
    Private Sub btnCnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.BindingContext(ODV).CancelCurrentEdit()
    End Sub
    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If (Me.BindingContext(ODV).Count > 0) Then
            Me.BindingContext(ODV).RemoveAt(Me.BindingContext(ODV).Position)
        End If
    End Sub
End Class

Program Sort, Filter dan Cari DI VB.NET

Anda tidak dapat mengurut, menfilter data yang terdapat pada DataTable, untuk melakukan hal tersebut anda membutuhkan DataView.
Dengan menggunakan DataView, anda dapat mengurut, menfilter dan mencari data berdasarkan sort key. Karena kemampuan tersebut, biasanya DataView digunakan pada aplikasi yang membutuhkan data binding.

Membuat DataView

Misalnya anda telah memiliki DataTable "barang" yang berada dalam DataSet ODS, maka anda dapat menggunakan penulisan berikut untuk membentuk DataView dari DataTable tersebut :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Buat Connection
    OledbConn = New OleDbConnection("Provider=Microsoft.Jet.OleDB.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
    sSQL = "Select * From Barang"
    'Buat Select Command untuk DataAdapter
    OledbComm = New OleDbCommand(sSQL, OledbConn)
    OledbComm.CommandType = CommandType.Text
    'Buat DataAdapter
    OleDA = New OleDbDataAdapter(OledbComm)
    'Isi Data ke DataSet sebagai DataTable barang
    OleDA.Fill(ODS, "Barang")
    'Buat DataView dari DataTable barang
    ODV = New DataView(ODS.Tables("Barang"))
    'Ikat DataView sebagai DataSource DataGrid
    DataGrid1.DataSource = ODV
End Sub

Melakukan Filter

Misalkan txtFilter adalah sebuah textbox yang berisi ekspresi untuk filter, maka penulisan berikut untuk melakukan filter pada object DataView
ODV.RowFilter = txtFilter.Text

Melakukan Sort

Misalkan kita ingin melakukan sort terhadap kolom KodeBar, maka penulisan berikut untuk melakukan hal tersebut
ODV.Sort = "KodeBar ASC"

Melakukan Find

Misalkan kita ingin mencari data pada kolom yang di Sort berdasarkan isi textbox txtFind, maka dapat menggunakan penulisan :
Row = ODV.Find(txtFind.Text)
Dalam hal ini variabel Row akan berisi nomor baris hasil Find, atau -1 kalau tidak ditemukan.

Program Kongkrit


Imports System.data.OleDb
Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim OledbConn As OleDbConnection
    Dim OledbComm As OleDbCommand
    Dim sSQL As String
    Dim OleDA As OleDbDataAdapter
    Dim ODS As New DataSet
    Dim ODV As New DataView

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Buat Connection
        OledbConn = New OleDbConnection("Provider=Microsoft.Jet.OleDB.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        sSQL = "Select * From Barang"
        'Buat Select Command untuk DataAdapter
        OledbComm = New OleDbCommand(sSQL, OledbConn)
        OledbComm.CommandType = CommandType.Text
        'Buat DataAdapter
        OleDA = New OleDbDataAdapter(OledbComm)
        'Isi Data ke DataSet sebagai DataTable barang
        OleDA.Fill(ODS, "Barang")
        'Buat DataView dari DataTable barang
        ODV = New DataView(ODS.Tables("Barang"))
        'Ikat DataView sebagai DataSource DataGrid
        DataGrid1.DataSource = ODV
    End Sub

    Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Dim OCommBuilder As OleDbCommandBuilder
        DataGrid1.Update()
        OCommBuilder = New OleDbCommandBuilder(OleDA)
        OleDA.Update(ODS, "Barang")
        ODS.Dispose()
        OledbConn.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSortKode.Click
        ODV.Sort = "KodeBar DESC"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSortKeterangan.Click
        ODV.Sort = "Keterangan"
    End Sub

    Private Sub cmdFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFilter.Click
        Try
            ODV.RowFilter = txtFilter.Text
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub cmdFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFind.Click
        Dim Row As Integer
        Try
            Row = ODV.Find(txtFind.Text)
            If Row = -1 Then
                MsgBox("Tidak ketemu")
            Else
                Me.BindingContext(ODV).Position = Row
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

End Class
1

Program Tambah, Perbaiki, dan Hapus Data. DI VB.NET

Pada modul sebelumnya anda telah memahami peran .Net Framework Data Provider (Connection, Command, DataAdapter) dan Objek DataSet.
Sesuatu hal yang perlu anda pahami adalah DataAdapter digunakan untuk mengambil data dari data source dan mengisinya ke sebuah DataSet sebagai objekDataTable, masing-masing record dalam DataTable membentuk DataRow.
DataAdapter menggunakan SelectCommand untuk mengambil data dari data source.
DataAdapter menggunakan InsertCommand, UpdateCommand, dan DeleteCommand untuk mengupdate data source.

Mempersiapkan .Net Framework Data Provider

'Buat objek Connection
Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
'Buat objek Command untuk menjalankan SelectCommand
sSQL = "Select * From Barang"
OledbComm = New OleDbCommand(sSQL, Oledbconn)
OledbComm.CommandType = CommandType.Text
'Buat objek DataAdapter sebagai jembatan bagi DataSet
OledbDA = New OleDbDataAdapter(OledbComm)

Mengisi data ke DataSet sebagai objek DataTable

'Isi data ke DataTable Barang di DataSet melalui DataAdapter
OledbDA.Fill(ODS, "Barang")

Memambah record baru ke DataTable

'Membuat objek DataRow untuk record baru
ODR = ODS.Tables("Barang").NewRow
'Isi masing-masing kolom pada objek DataRow
ODR("KodeBar") = "Delphi"
ODR("Keterangan") = "Milist Indoprog-Delphi"
ODR("Satuan") = "Email"
ODR("Harga") = 0
'Tambah objek DataRow ke DataTable Barang
ODS.Tables("Barang").Rows.Add(ODR)

Mengubah record Pertama

'Mereferensikan ODR ke DataRow yang pertama
ODR = ODS.Tables("Barang").Rows(0)
'Ubah kolom Harga
ODR("Harga") = 10000

Menghapus record kedua

'Hapus DataRow yang kedua
ODS.Tables("Barang").Rows(1).Delete()

Update data ke record source

Sesuatu hal yang perlu anda sadari adalah DataSet merupakan cache data local yang sifatnya disconnect terhadap datasource, sehingga perubahan yang anda lakukan tidak secara otomatis di update, anda perlu mempersiapkan Command (InsertCommand, UpdateCommand, DeleteCommand), sehingga update dapat dilakukan oleh DataAdapter ke data source.
'Generate InsertCommand, UpdateCommand, DeleteCommand untuk update data
ODC = New OleDbCommandBuilder(OledbDA)
'Lakukan update data dari DataSet ke data source
OledbDA.Update(ODS, "Barang")

Tutup koneksi

'Tutup koneksi
Oledbconn.Close()

Program Kongkrit

Imports System.Data.OleDb
Module Module3
    Public Sub main()
        Dim Oledbconn As OleDb.OleDbConnection
        Dim OledbComm As OleDb.OleDbCommand
        Dim OledbDA As OleDb.OleDbDataAdapter
        Dim ODS As New DataSet
        Dim sSQL As String
        Dim ODR As DataRow
        Dim ODC As OleDbCommandBuilder
        'Buat objek connection
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        sSQL = "Select * From Barang"
        'Buat objek command untuk menjalankan SQL
        OledbComm = New OleDbCommand(sSQL, Oledbconn)
        OledbComm.CommandType = CommandType.Text
        'Buat objek dataadapter sebagai jembatan bagi DataSet
        OledbDA = New OleDbDataAdapter(OledbComm)
        'Isi data ke DataTable Barang di DataSet melalui DataAdapter
        OledbDA.Fill(ODS, "Barang")
        'Membuat objek datarow untuk record baru
        ODR = ODS.Tables("Barang").NewRow
        'Isi masing-masing field pada objek datarow
        ODR("KodeBar") = "Delphi"
        ODR("Keterangan") = "Milist Indoprog-Delphi"
        ODR("Satuan") = "Email"
        ODR("Harga") = 0
        'Tambah objek datarow ke DataTable Barang
        ODS.Tables("Barang").Rows.Add(ODR)
        ODR = ODS.Tables("Barang").Rows(0)
        ODR("Harga") = 10000
        ODS.Tables("Barang").Rows(1).Delete()
        'Generate perintah SQL untuk update data
        ODC = New OleDbCommandBuilder(OledbDA)
        'Lakukan update data dari DataSet ke data source
        OledbDA.Update(ODS, "Barang")
        Oledbconn.Close()
    End Sub
End Module
1

PROGRAM TAMBAH DATA

Pada modul sebelumnya kita telah menggunakan Connection untuk melakukan koneksi ke suatu data source, dan menggunakan Command untuk menjalankan perintah SQL untuk pembuatan tabel.
Berikut ini kita akan menggunakan DataAdapter dan DataSet untuk pengolahan data.
DataAdapter, merupakan objek .Net Framework Data Provider untuk mempopulasikan data ke Dataset, dan melakukan update data ke data source.
DataSet, merupakan cache dari data yang diambil dari data source melalui provider. Objek DataSet menggunakan scenario disconnected yang memang merupakan tujuan dari ADO.Net untuk mendukung model pemrograman n-Tier dan XML.

Catatan

  • DataAdapter merupakan jembatan antara data source dengan DataSet. DataAdapter menggunakan objek  Command untuk menjalankan perintah-perintah SQL terhadap data source untuk memuat data ke DataSet, dan melakukan rekonsiliasi terhadap perubahan (tambah, perbaiki, dan hapus) data pada  DataSet kembali ke data source.
  • Anda bisa membayangkan DataSet sebagai Recordset disconnected pada ADO, tetapi DataSet dapat terdiri dari beberapa DataTable yang berasal dari provider yang berbeda dan memiliki relation satu sama yang lain.


Tambah Data Tabel Barang

Imports System.Data.OleDb
Module Module3
    Public Sub main()
        Dim Oledbconn As OleDb.OleDbConnection
        Dim OledbComm As OleDb.OleDbCommand
        Dim OledbDA As OleDb.OleDbDataAdapter
        Dim ODS As New DataSet
        Dim sSQL As String
        Dim ODR As DataRow
        Dim ODC As OleDbCommandBuilder
        'Buat objek connection
        Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\BelajarVBnet\Belajar.mdb;")
        sSQL = "Select * From Barang"
        'Buat objek command untuk menjalankan SQL
        OledbComm = New OleDbCommand(sSQL, Oledbconn)
        OledbComm.CommandType = CommandType.Text
        'Buat objek dataadapter sebagai jembatan bagi DataSet
        OledbDA = New OleDbDataAdapter(OledbComm)
        'Isi data ke DataTable Barang di DataSet melalui DataAdapter
        OledbDA.Fill(ODS, "Barang")
        'Membuat objek datarow untuk record baru
        ODR = ODS.Tables("Barang").NewRow
        'Isi masing-masing field pada objek datarow
        ODR("KodeBar") = "VBnet"
        ODR("Keterangan") = "Milist Indoprog-VBnet"
        ODR("Satuan") = "Email"
        ODR("Harga") = 0
        'Tambah objek datarow ke DataTable Barang
        ODS.Tables("Barang").Rows.Add(ODR)
        'Generate perintah SQL untuk update data
        ODC = New OleDbCommandBuilder(OledbDA)
        'Lakukan update data dari DataSet ke data source
        OledbDA.Update(ODS, "Barang")
        Oledbconn.Close()
    End Sub
End Module
1