Pages

Kamis, 08 November 2012

Latihan_40B_46110027


              Deskripsi Form Latihan 40B
Pada form latihan 40B ada 6 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker, Status Strip dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 4 (no. transaksi, tanggal, jenis transaksi dan total).

Object TextBox
Pada form ini ada 3 textbox yang digunakan (2 status input dan 1 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi dan jenis transaksi”.

Object DateTimePicker
Pada latihan 40B terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa tahun, bulan dan tanggal.

Object Button                                                          
Terdapat 1 object button (save). Tombol “save” digunakan untuk menyimpan data yang telah ditambahkan ke “Data Majemuk”.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

Object StatusStrip
Ada 2 statusstrip yang digunakan (no transaksi dan -). “-“ nantinya akan menampilkan no transaksi.


 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_40B
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_40B  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain seperti berikut menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 




Public Class Latihan_40b_46110027
    Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim yosna As New DataTable
    Dim baru(1) As DataColumn

    Public Sub YUYU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In yosna.Rows
            TTOTAL += hasil("Jumlah")
        Next
        tot_46110027.Text = TTOTAL
    End Sub
    Public Sub makecolumn()
        'mendeklarasikan kendaraan
        Dim BUBU As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        BUBU = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & nt_46110027.Text & "'", rsty)

        'bersihkan data
        yosna.Rows.Clear()

        'untuk memasukkan data yg telah di angkut ke dalam datatable
        BUBU.Fill(yosna)
        BUBU.Dispose()

        'untuk menampilkan isi datatable ke data grid view
        yosna.Columns("Kodebarang").DefaultValue = ""
        yosna.Columns("NamaBarang").DefaultValue = ""
        yosna.Columns("unit").DefaultValue = 0
        yosna.Columns("harga").DefaultValue = 0
        yosna.Columns("jumlah").DefaultValue = 0

        yosna.Columns("NamaBarang").ReadOnly = True


        baru(0) = yosna.Columns("kodebarang")
        yosna.PrimaryKey = baru
        dgv_46110027.DataSource = yosna

    End Sub


    Private Sub Latihan_40B_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        makecolumn()
    End Sub

    Private Sub dgv1_46110027_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_46110027.CellEndEdit
        'mengosongkan data
        If e.ColumnIndex = 0 Then
            dgv_46110027.CurrentRow.Cells("NamaBarang").Value = ""
            dgv_46110027.CurrentRow.Cells("Unit").Value = 0
            dgv_46110027.CurrentRow.Cells("harga").Value = 0
            dgv_46110027.CurrentRow.Cells("Jumlah").Value = 0

            'mencari data yang ada di tabel
            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", dgv_46110027.CurrentRow.Cells("kodebarang").Value, 1, rsty)
            If Pencari.JumlanBaris > 0 Then
                dgv_46110027.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                dgv_46110027.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")
                If Latihan_383940_46110027.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv_46110027.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("KodeBarang").Value
                    dgv_46110027.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("namabarang").Value
                End If
            End If

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv_46110027.CurrentRow.Cells("jumlah").Value = dgv_46110027.CurrentRow.Cells("unit").Value * dgv_46110027.CurrentRow.Cells("harga").Value
            YUYU()
        End If
    End Sub

    Private Sub simpan_46110027_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_46110027.Click
        'Memeriksa isi textbox
        If nt_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

        If jetrans_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the type of the transaction")
            Exit Sub
        End If

        If yosna.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        'Memeriksa nomor transaksi pd master transaksi
        If replace_46110027.Text <> notrans_46110027.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", nt_46110027.Text, 1, rsty)

            If PENCARI.JumlanBaris > 0 Then
                MsgBox("The data has been exist please insert new data")
                Exit Sub
            End If
        End If

        'Proses delete dan Penyimpanan ke tabel master transaksi
        Dim data As Integer = Val(replace_46110027.Text)
        Dim FUFU As New OleDb.OleDbCommand
        FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110027.Text & "'", rsty)
        rsty.Open()
        FUFU.ExecuteNonQuery()
        rsty.Close()

        FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110027.Text & "'", rsty)
        rsty.Open()
        FUFU.ExecuteNonQuery()
        rsty.Close()

        FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & nt_46110027.Text & "',#" & tgl_46110027.Value.Month & "/" & tgl_46110027.Value.Day & "/" & tgl_46110027.Value.Year & "#,'" & jetrans_46110027.Text & "')", rsty)
        rsty.Open()
        FUFU.ExecuteNonQuery()
        rsty.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each PAPA As DataRow In yosna.Rows
            FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & nt_46110027.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", rsty)
            rsty.Open()
            FUFU.ExecuteNonQuery()
            rsty.Close()

        Next
        FUFU.Dispose()

        'Mengosongkan isi text box
        nt_46110027.Text = ""
        jetrans_46110027.Text = ""

        'Mengosongkan baris datatable
        yosna.Rows.Clear()

        'mengambildata
        Latihan_40A_46110027.grabdata()

        'menutup form
        Me.Close()

    End Sub
End Class



6.    Klik start debugging
7. Maka akan tampil sbb:

8. Jika button "Hapus" di pilih akan tampil sbb:
jika button "Tambah" atau "edit" dipilih maka akan tampil sbb:





Latihan_40A_46110027


              Deskripsi Form Latihan 40A
Pada form latihan 40A ada 3 object yang digunakan yaitu Label, Button, dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 1 (Data Transaksi).

Object Button                                                          
Terdapat 3 object button (hapus, tambah dan edit). Tombol “hapus” digunakan untuk menghapus data yang telah dipilih sebelumnya. Tombol “tambah” digunakan untuk menambah data. Tombol “edit” digunakan untuk mengedit data yang telah ada sebelumnya.

Object DataGridView
Terdapat 2 object datagridview yang berfungsi untuk menampilkan data tabel.


 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_40A
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_40A  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 





Public Class Latihan_40A_46110027
    Dim go As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim dtdetail As New DataTable
    Dim dtmaster As New DataTable
    Dim atur2 As New DataSet
    Dim bsdetail As New BindingSource
    Dim bsmaster As New BindingSource

    Public Sub grabdata()
        'proses pengosongan dan pengisian data tabel
        dtdetail.Rows.Clear()
        dtmaster.Rows.Clear()

        Dim master As New OleDb.OleDbDataAdapter
        master = New OleDb.OleDbDataAdapter("select* from mastertransaksi", go)
        master.Fill(dtmaster)
        master.Dispose()

        Dim detail As New OleDb.OleDbDataAdapter
        detail = New OleDb.OleDbDataAdapter("select* from detailtransaksi", go)
        detail.Fill(dtdetail)
        detail.Dispose()

    End Sub

    Private Sub Latihan_40A_46110027_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        grabdata()
        'memasukkan datatabel ke dalam dataset
        dtmaster.TableName = "CINTA"
        dtdetail.TableName = "SAYANG"

        DGV_46110027.DataSource = bsmaster
        DGV1_46110027.DataSource = bsdetail

        atur2.Tables.Add(dtmaster)
        atur2.Tables.Add(dtdetail)

        atur2.Relations.Add(New DataRelation("relasi", atur2.Tables("CINTA").Columns("notrans"), atur2.Tables("SAYANG").Columns("notrans")))

        'menampilkan datatabel ke dGV dg menggunakan binding
        bsmaster.DataSource = atur2
        bsmaster.DataMember = "CINTA"
        bsdetail.DataSource = bsmaster
        bsdetail.DataMember = "relasi"
    End Sub

    Private Sub EDIT_46110027_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EDIT_46110027.Click
        Latihan_40B_46110027.Show()
        Latihan_40B_46110027.replace_46110027.Text = DGV_46110027.CurrentRow.Cells("notrans").Value
        Latihan_40B_46110027.NT_46110027.Text = DGV_46110027.CurrentRow.Cells("notrans").Value
        Latihan_40b_46110027.tgl_46110027.Text = dgv_46110027.CurrentRow.Cells("tanggaltransaksi").Value
        Latihan_40b_46110027.jetrans_46110027.Text = dgv_46110027.CurrentRow.Cells("jenistransaksi").Value
        Latihan_40B_46110027.makecolumn()
        Latihan_40B_46110027.YUYU()
    End Sub

    Private Sub TAMBAH_46110027_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_46110027.Click
        Latihan_40B_46110027.Show()
        Latihan_40B_46110027.NT_46110027.Text = ""
        Latihan_40b_46110027.jetrans_46110027.Text = ""
        Latihan_40B_46110027.replace_46110027.Text = "-"
        Latihan_40B_46110027.makecolumn()
    End Sub

    Private Sub HAPUS_46110027_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUS_46110027.Click
        If MsgBox("seriously want to delete the record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
            Exit Sub
        End If

        Dim GUGU As New OleDb.OleDbCommand
        GUGU = New OleDb.OleDbCommand("delete* from mastertransaksi where notrans='" & DGV_46110027.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        GUGU.ExecuteNonQuery()
        go.Close()

        GUGU = New OleDb.OleDbCommand("delete* from detailtransaksi where notrans='" & DGV_46110027.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        GUGU.ExecuteNonQuery()
        go.Close()

        grabdata()
    End Sub
End Class



6.    Klik start debugging
7. Maka akan tampil sbb:



Latihan_39_46110027


              Deskripsi Form Latihan 39
Pada form latihan 39 ada 5 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 4 (no. transaksi, tanggal, jenis transaksi dan total).

Object TextBox
Pada form ini ada 3 textbox yang digunakan (2 status input dan 1 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi dan jenis transaksi”.

Object DateTimePicker
Pada latihan 39 terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa tahun, bulan dan tanggal.

Object Button                                                          
Terdapat 1 object button (save). Tombol “save” digunakan untuk menyimpan data yang telah ditambahkan ke “Data Majemuk”.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

Script Unique

Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_39
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_39  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain seperti berikut menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 

Public Class Latihan_39_46110027
    Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim yosna As New DataTable
    Private Sub BATU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In yosna.Rows
            TTOTAL += hasil("Jumlah")
        Next
        tot_46110027.Text = TTOTAL
    End Sub

    Private Sub Latihan_39_46110020_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'mendeklarasikan kendaraan
        Dim RINDU As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        RINDU = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & notrans_46110027.Text & "'", rsty)

        'bersihkan data
        yosna.Rows.Clear()

        'untuk memasukkan data yg telah di angkut ke dalam datatable
        RINDU.Fill(yosna)
        RINDU.Dispose()

        'untuk menampilkan isi datatable ke data grid view
        yosna.Columns("Kodebarang").DefaultValue = ""
        yosna.Columns("NamaBarang").DefaultValue = ""
        yosna.Columns("unit").DefaultValue = 0
        yosna.Columns("harga").DefaultValue = 0
        yosna.Columns("jumlah").DefaultValue = 0

        yosna.Columns("NamaBarang").ReadOnly = True


        dgv_46110027.DataSource = yosna

        'perintah primarykey
        Dim WAHrsty(2) As DataColumn
        WAHrsty(0) = yosna.Columns("Kodebarang")
        yosna.PrimaryKey = WAHrsty
    End Sub

    Private Sub DGV_46110020_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_46110027.CellContentClick
        'mengosongkan data
        If e.ColumnIndex = 0 Then
            dgv_46110027.CurrentRow.Cells("NamaBarang").Value = ""
            dgv_46110027.CurrentRow.Cells("Unit").Value = 0
            dgv_46110027.CurrentRow.Cells("harga").Value = 0
            dgv_46110027.CurrentRow.Cells("Jumlah").Value = 0

            'mencari data yang ada di tabel
            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", dgv_46110027.CurrentRow.Cells("kodebarang").Value, 1, rsty)
            If Pencari.JumlanBaris > 0 Then
                dgv_46110027.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                dgv_46110027.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")
                If Latihan_383940_46110027.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv_46110027.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("KodeBarang").Value
                    dgv_46110027.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("namabarang").Value
                End If
            End If

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv_46110027.CurrentRow.Cells("jumlah").Value = dgv_46110027.CurrentRow.Cells("unit").Value * dgv_46110027.CurrentRow.Cells("harga").Value
            BATU()
        End If
    End Sub

    Private Sub Simpan_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_46110027.Click
        'Memeriksa isi textbox
        If notrans_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

        If jetrans_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the type of the transaction")
            Exit Sub
        End If

        If yosna.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        'Memeriksa nomor transaksi pd master transaksi
        Dim search As New ByIskandar.CariKeDataBaseByIskandar
        search.AturPencarianDataBase("mastertransaksi", "notrans", notrans_46110027.Text, 1, rsty)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        'Proses Penyimpanan ke tabel master transaksi
        Dim SABAR As New OleDb.OleDbCommand
        SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & notrans_46110027.Text & "',#" & tgl_46110027.Value.Month & "/" & tgl_46110027.Value.Day & "/" & tgl_46110027.Value.Year & "#,'" & jetrans_46110027.Text & "')", rsty)
        rsty.Open()
        SABAR.ExecuteNonQuery()
        rsty.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each YUYU As DataRow In yosna.Rows
            SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & notrans_46110027.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", rsty)
            rsty.Open()
            SABAR.ExecuteNonQuery()
            rsty.Close()

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        notrans_46110027.Text = ""
        jetrans_46110027.Text = ""

        'Mengosongkan baris datatable
        yosna.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub
End Class



6.    Klik start debugging
7. Maka akan tampil sbb:

8. Masukkan data transaksi  yg ada pada Latihan_383940 dan klik button "Insert", data akan tampil pada datagridview lalu pilih "Save"




Latihan_383940_46110027


              Deskripsi Form Latihan 383940
Pada form latihan 383940 hanya ada satu object yaitu Data Grid View.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

Even
Load


 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Langkah-Langkah membuat Form Latihan_383940
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_3383940  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain seperti berikut menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 


Public Class Latihan_383940_46110027
    Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim yosna As New DataTable
    Public Sub BATU()
        'mendeklarasikan kendaraan
        Dim tan As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        tan = New OleDb.OleDbDataAdapter("SELECT* FROM BARANG", rsty)
        yosna.Rows.Clear()

        'untuk memasukkan data yg telah di angkut ke dalam datatable
        tan.Fill(yosna)
        tan.Dispose()

    End Sub

    Private Sub Latihan_383940_46110027_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        BATU()
        dgv1_46110027.DataSource = yosna
    End Sub
End Class



6.    Klik start debugging
7. Maka akan tampil sbb:






Latihan_38_46110027


              Deskripsi Form Latihan 38
Pada form latihan 38 ada 5 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 6 (no. transaksi, tanggal, jenis transaksi, kode barang, nama barang, unit, harga, jumlah dan total).

Object TextBox
Pada form ini ada 8 textbox yang digunakan (6 status input dan 3 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi, tanggal, jenis transaksi, kode barang, unit dan harga”.

Object DateTimePicker
Pada latihan 38 terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa tahun, bulan dan tanggal.

Object Button                                                          
Terdapat 2 object button (insert dan save). Tombol “insert” digunakan untuk menambah data dan tombol “save” untuk menyimpan data yang telah ditambahkan ke “Data Majemuk”.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_38
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_38  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain seperti berikut menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 

Public Class Latihan_38A_46110027
    Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim yosna As New DataTable
    Private Sub BATU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In yosna.Rows
            TTOTAL += hasil("Jumlah")
        Next
        tot_46110027.Text = TTOTAL
    End Sub

    Private Sub Latihan_38_46110020_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'mendeklarasikan kendaraan
        Dim RINDU As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        RINDU = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & notrans_46110027.Text & "'", rsty)

        'bersihkan data
        yosna.Rows.Clear()

        'untuk memasukkan data yg telah di angkut ke dalam datatable
        RINDU.Fill(yosna)

        'untuk menampilkan isi datatable ke data grid view
        RINDU.Dispose()
        dgv_46110027.DataSource = yosna

        'perintah primarykey
        Dim WAHrsty(2) As DataColumn
        WAHrsty(0) = yosna.Columns("Kodebarang")
        yosna.PrimaryKey = WAHrsty
    End Sub
    Private Sub KB_46110020Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_46110027.Leave
        If kb_46110027.Text.Length = 0 Then
            Exit Sub
        End If
        'mencari data yang ada di tabel
        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("barang", "kodebarang", kb_46110027.Text, 1, rsty)
        If Pencari.JumlanBaris > 0 Then
            nabar_46110027.Text = Pencari.DataTablenya.Rows(0).Item(1)
        Else
            MsgBox("the data is not exist, please choose from the this list")
            If Latihan_383940_46110027.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("KodeBarang").Value
                nabar_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("namabarang").Value
                h_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("hargajual").Value
            Else
                kb_46110027.Text = ""
                nabar_46110027.Text = ""
            End If
        End If

    End Sub

    Private Sub INSERT_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles insert_46110027.Click
        'Memeriksa isi textbox
        If kb_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the code of goods")
            Exit Sub
        End If

        If u_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the unit of goods")
            Exit Sub
        End If

        If h_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the cost of goods")
            Exit Sub
        End If

        'perintah pencarian data
        Dim CINTA As DataRow
        CINTA = yosna.Rows.Find(kb_46110027.Text)
        If Not CINTA Is Nothing Then
            MsgBox("Sorry, the data has been exist!!! Please insert new data")
            Exit Sub
        End If

        'penyimpanan data ke datatable
        yosna.Rows.Add(kb_46110027.Text, nabar_46110027.Text, Val(u_46110027.Text), Val(h_46110027.Text), jml_46110027.Text)

        BATU()

        'mengosongkan textbox
        kb_46110027.Text = ""
        nabar_46110027.Text = ""
        u_46110027.Text = ""
        h_46110027.Text = ""
        jml_46110027.Text = ""
    End Sub

    Private Sub Unit_46110020_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u_46110027.TextChanged
        jml_46110027.Text = Val(u_46110027.Text) * Val(h_46110027.Text)
    End Sub

    Private Sub Simpan_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save_46110027.Click
        'Memeriksa isi textbox
        If notrans_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

        If jetrans_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the type of the transaction")
            Exit Sub
        End If

        If yosna.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        'Memeriksa nomor transaksi pd master transaksi
        Dim search As New ByIskandar.CariKeDataBaseByIskandar
        search.AturPencarianDataBase("mastertransaksi", "notrans", notrans_46110027.Text, 1, rsty)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        'Proses Penyimpanan ke tabel master transaksi
        Dim SABAR As New OleDb.OleDbCommand
        SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & notrans_46110027.Text & "',#" & tgl_46110027.Value.Month & "/" & tgl_46110027.Value.Day & "/" & tgl_46110027.Value.Year & "#,'" & jetrans_46110027.Text & "')", rsty)
        rsty.Open()
        SABAR.ExecuteNonQuery()
        rsty.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each YUYU As DataRow In yosna.Rows
            SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & notrans_46110027.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", rsty)
            rsty.Open()
            SABAR.ExecuteNonQuery()
            rsty.Close()

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        notrans_46110027.Text = ""
        jetrans_46110027.Text = ""

        'Mengosongkan baris datatable
        yosna.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub
End Class


6.    Klik start debugging
7. Maka akan tampil sbb:

8. Masukkan data transaksi  yg ada pada Latihan_383940 dan klik button "Insert", data akan tampil pada datagridview lalu pilih button "Save"





Latihan_37_46110027


             Deskripsi Form Latihan 37
Pada form latihan 37 ada 5 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 6 (no. transaksi, tanggal, jenis transaksi, kode barang, nama barang, unit, harga, jumlah dan total).

Object TextBox
Pada form ini ada 8 textbox yang digunakan (6 status input dan 3 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi, tanggal, jenis transaksi, kode barang, unit dan harga”.

Object DateTimePicker
Pada latihan 37 terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa tahun, bulan dan tanggal.

Object Button                                                          
Terdapat 2 object button (insert dan save). Tombol “insert” digunakan untuk menambah data dan tombol “save” untuk menyimpan data yang telah ditambahkan ke “Data Majemuk”.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini



Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_37
    1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
    2.  Ketik nama Latihan_37  yang akan dibuat pada kotak “NAME” lalu pilih “add”
     3. Buatlah desain seperti berikut menggunakan toolbox
         


         

    Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

    4. Pilih menu “view” klik  “code”
    5. Masukkan rumus berikut: 




    Public Class Latihan_37_46110027
        Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
        Dim yosna As New DataTable
        Private Sub BATU()
            Dim TTOTAL As Integer
            For Each hasil As DataRow In yosna.Rows
                TTOTAL += hasil("Jumlah")
            Next
            tot_46110027.Text = TTOTAL
        End Sub

        Private Sub Latihan_37_46110020_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            'mendeklarasikan kendaraan
            Dim RINDU As New OleDb.OleDbDataAdapter

            'Mengatur data yang akan di angkut
            RINDU = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & notrans_46110027.Text & "'", rsty)

            'bersihkan data
            yosna.Rows.Clear()

            'untuk memasukkan data yg telah di angkut ke dalam datatable
            RINDU.Fill(yosna)

            'untuk menampilkan isi datatable ke data grid view
            RINDU.Dispose()
            dgv_46110027.DataSource = yosna

            'perintah primarykey
            Dim WAHYUNI(2) As DataColumn
            WAHYUNI(0) = yosna.Columns("Kodebarang")
            yosna.PrimaryKey = WAHYUNI
        End Sub

        Private Sub KB_46110020Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_46110027.Leave
            If kb_46110027.Text.Length = 0 Then
                Exit Sub
            End If

            'mencari data yang ada di tabel
            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", kb_46110027.Text, 1, rsty)
            If Pencari.JumlanBaris > 0 Then
                nb_46110027.Text = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not exist")
                kb_46110027.Text = ""
                nb_46110027.Text = ""
                Exit Sub
            End If

        End Sub

        Private Sub INSERT_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles insert_46110027.Click
            'Memeriksa isi textbox
            If kb_46110027.Text.Length = 0 Then
                MsgBox("Please, insert the code of goods")
                Exit Sub
            End If

            If u_46110027.Text.Length = 0 Then
                MsgBox("Please, insert the unit of goods")
                Exit Sub
            End If

            If h_46110027.Text.Length = 0 Then
                MsgBox("Please, insert the cost of goods")
                Exit Sub
            End If

            'perintah pencarian data
            Dim CINTA As DataRow
            CINTA = yosna.Rows.Find(kb_46110027.Text)
            If Not CINTA Is Nothing Then
                MsgBox("Sorry, the data has been exist!!! Please insert new data")
                Exit Sub
            End If

            'penyimpanan data ke datatable
            yosna.Rows.Add(kb_46110027.Text, nb_46110027.Text, Val(u_46110027.Text), Val(h_46110027.Text), jml_46110027.Text)

            BATU()

            'mengosongkan textbox
            kb_46110027.Text = ""
            nb_46110027.Text = ""
            u_46110027.Text = ""
            h_46110027.Text = ""
            jml_46110027.Text = ""
        End Sub

        Private Sub Unit_46110020_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u_46110027.TextChanged
            jml_46110027.Text = Val(u_46110027.Text) * Val(h_46110027.Text)
        End Sub

        Private Sub Simpan_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_46110027.Click
            'Memeriksa isi textbox
            If notrans_46110027.Text.Length = 0 Then
                MsgBox("Please, insert the Number of the transaction")
                Exit Sub
            End If

            If jetrans_46110027.Text.Length = 0 Then
                MsgBox("Please, insert the type of the transaction")
                Exit Sub
            End If

            If yosna.Rows.Count = 0 Then
                MsgBox("the data is none")
                Exit Sub
            End If

            'Memeriksa nomor transaksi pd master transaksi
            Dim search As New ByIskandar.CariKeDataBaseByIskandar
            search.AturPencarianDataBase("mastertransaksi", "notrans", notrans_46110027.Text, 1, rsty)
            If search.JumlanBaris > 0 Then
                MsgBox("the code has been exist")
                Exit Sub
            End If

            'Proses Penyimpanan ke tabel master transaksi
            Dim SABAR As New OleDb.OleDbCommand
            SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & notrans_46110027.Text & "',#" & tgl_46110027.Value.Month & "/" & tgl_46110027.Value.Day & "/" & tgl_46110027.Value.Year & "#,'" & jetrans_46110027.Text & "')", rsty)
            rsty.Open()
            SABAR.ExecuteNonQuery()
            rsty.Close()

            'penyimpanan isi datatable ke detail transaksi
            For Each YUYU As DataRow In yosna.Rows
                SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & notrans_46110027.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", rsty)
                rsty.Open()
                SABAR.ExecuteNonQuery()
                rsty.Close()

            Next
            SABAR.Dispose()

            'Mengosongkan isi text box
            notrans_46110027.Text = ""
            jetrans_46110027.Text = ""

            'Mengosongkan baris datatable
            yosna.Rows.Clear()

            'menutup form
            Me.Close()

        End Sub
    End Class




    6.    Klik start debugging
    7. Maka akan tampil sbb:

    8. Masukkan data transaksi dan klik button "Insert", data akan tampil pada datagridview lalu pilih button "Save"