latihan_13_46110004



Deskripsi form latihan 13
Dalam form Latihan 13 hanya terdapat
satu object yaitu DataGriedView

Object datagridview :
Dalam form ini terdapat  3 buah object datagridview.
Datagridview digunakan untuk menampilkan data kedalam bentuk table yang terdiri dari baris dan kolom.

Script Unique :
Tempat deklarasi untuk data tabel baru
Dim DTRI As New DataTable
Dim DTRS As New DataTable
Dim DTRSS As New DataTable

Deklarasi membuat datasheet baru
Dim ZAHRAH As New DataSet  ===> object yg dpt menampung object datatable

Untuk mendeklarasikan binding source
Dim herawati As New BindingSource
Dim LUKMAN As New BindingSource
Dim AKBAR As New BindingSource





Memasukkan datatabel ke data set dan jika sudah di dalam dataset nama data tabel sudah tdk dikenal lagi
ZAHRAH.Tables.Add(DTRI)
ZAHRAH.Tables.Add(DTRS)
ZAHRAH.Tables.Add(DTRSS)

Untuk mengganti nama dlm dataset yg tadinya tabel1 dst (bs dilakukan sebelum dttabel dmasukkan ke dlm dataset
DTRI.TableName = "ICA"
DTRS.TableName = "DIS"
DTRSS.TableName = "OCA"

Untuk menambah relasi dlm dataset dari ica ke dis dan dis ke oca
ZAHRAH.Relations.Add(New DataRelation("TA", ZAHRAH.Tables("ICA").Columns("kode rekening induk"), ZAHRAH.Tables("dis").Columns("kode rekening induk")))
ZAHRAH.Relations.Add(New DataRelation("HI", ZAHRAH.Tables("DIS").Columns("kode rekening sub"), ZAHRAH.Tables("oca").Columns("kode rekening sub")))

Membuat binding datasource (mengatur datasource dan data membernya)
herawati.DataSource = ZAHRAH
herawati.DataMember = "ica"

Datasource binding-binding adalah nama binding yg pertama dan data membernya adalah nama relasinya
LUKMAN.DataSource = herawati
LUKMAN.DataMember = "TA"

Datasource binding3 adlh nama binding yg kedua dan datamembernya adalah nama relasinya
AKBAR.DataSource = LUKMAN
AKBAR.DataMember = "HI"

Memunculkan dalam datagridview
DataGridView1.DataSource = herawati
DataGridView2.DataSource = LUKMAN
DataGridView3.DataSource = AKBAR
 


 
Even :
Load


Langkah-langkah penyelesaian form latihan 13
1.      1.. Buat form baru seperti langkah dibawah ini:
2. Input nama form seperti gambar dibawah ini:


3. Buat design form seperti gambar di bawah ini:
4. Input script di bawah ini:
Public Class latihan_13_46110004
    Dim DTRI As New DataTable
    Dim DTRS As New DataTable
    Dim DTRSS As New DataTable

    Dim ZAHRAH As New DataSet

    Dim herawati As New BindingSource
    Dim LUKMAN As New BindingSource
    Dim AKBAR As New BindingSource

 
    Private Sub latihan_13_46110004_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        DTRI.Columns.Add(New DataColumn("Kode Rekening Induk", GetType(String)))
        DTRI.Columns.Add(New DataColumn("Nama Rekening Induk", GetType(String)))

        DTRS.Columns.Add(New DataColumn("Kode Rekening Induk", GetType(String)))
        DTRS.Columns.Add(New DataColumn("Kode Rekening Sub", GetType(String)))
        DTRS.Columns.Add(New DataColumn("Nama Rekening Sub", GetType(String)))

        DTRSS.Columns.Add(New DataColumn("Kode Rekening Induk", GetType(String)))
        DTRSS.Columns.Add(New DataColumn("Kode Rekening sub", GetType(String)))
        DTRSS.Columns.Add(New DataColumn("Kode Rekening Sub-sub", GetType(String)))
        DTRSS.Columns.Add(New DataColumn("Nama Rekening Sub-sub", GetType(String)))


        Dim Acak As New Random

        For RI As Integer = 1 To Acak.Next(1, 5)
            DTRI.Rows.Add(RI, "Nama Rekening " & RI)
            For RS As Integer = 1 To Acak.Next(1, 5)
                DTRS.Rows.Add(RI, RI & RS, "Nama Sub Rekening " & RI & RS)
                For RSS As Integer = 1 To Acak.Next(1, 5)
                    DTRSS.Rows.Add(RI, RI & RS, RI & RS & RSS, "Nama Sub Sub Rekening " & RI & RS & RSS)
                Next
            Next
        Next
        ZAHRAH.Tables.Add(DTRI)
        ZAHRAH.Tables.Add(DTRS)
        ZAHRAH.Tables.Add(DTRSS)

        DTRI.TableName = "ICA"
        DTRS.TableName = "DIS"
        DTRSS.TableName = "OCA"

        ZAHRAH.Relations.Add(New DataRelation("TA", ZAHRAH.Tables("ICA").Columns("kode rekening induk"), ZAHRAH.Tables("dis").Columns("kode rekening induk")))
        ZAHRAH.Relations.Add(New DataRelation("HI", ZAHRAH.Tables("DIS").Columns("kode rekening sub"), ZAHRAH.Tables("oca").Columns("kode rekening sub")))

        herawati.DataSource = ZAHRAH
        herawati.DataMember = "ica"

        LUKMAN.DataSource = herawati
        LUKMAN.DataMember = "TA"

        AKBAR.DataSource = LUKMAN
        AKBAR.DataMember = "HI"

        DataGridView1.DataSource = herawati
        DataGridView2.DataSource = LUKMAN
        DataGridView3.DataSource = AKBAR

    End Sub
End Class

5.Jalankan program dengan cara seperti di bawah ini:
6. setelah itu, klik start debug
7.setelah langkah di atas maka program akan dijalankan. Jika program tidak jalan maka secara otomatis program akan memunculkan letak kesalahan.






latihan_12_46110004



Deskripsi form latihan 12
Form Latihan 12 Terdapat
enam object yaitu label, textbox, button, groupbox, datetimepicker dan DataGriedView

Object Label :
Dalam form latihan ini terdapat
10 buah label. Label-label tersebut bertuliskan no.pembelian, harga barang, harga perunit, unit, jumlah, tanggal, total, total unit, no. baris, baris sekarang

Object Textbox:
Selain Object Label, dalam form ini terdapat
9 buah textbox (6 status input dan 3 status read only ) status input digunakan untuk memasukkanno.pembelian, harga barang, harga perunit, unit, tanggal pembelian, no. baris yang ingin ditampilkan dan menampilkan baris tempat kursor berada sekarang.Sedangkan status read only digunakan untuk menampilkan hasil perhitungan antara lain, perkalian antara unit dan harga perunit yang ditampilkan pada textbox jumlah,  penjumlahan seluruh unit barang yang dibeli yang ditampilkan pada textbox total unit dan penjumlah seluruh harga barang yang dibeli yang ditampilkan pada textbox total.

Object Button :
Terdapat
tujuh object button (simpan, tampilkan dan hapus pada groupbox berdasarkan no.pembelian, tampilkan dan hapus pada groupbox berdasarkan no.baris, tampilkan dan hapus pada groupbox berdasarkan baris sekarang). Tombol simpan digunakan untuk menyimpan data yang telah diinput pada groupbox formulir.Sedangkan tombol tampil dan hapus penggunaannya yakni. tombol tampil pada groupbox berdasarkan baris sekarang digunakan untuk menampilkan no.pembelian yang telah diinput pada textbox no.pembelian dan hapus digunakan untuk menghapus no.pembelian berdasarkan no.pembelian yang diinput. Begitupun penggunaannya pada groupbox berdasarkan no.baris dan baris sekarang.
Object Datetimepicker :
Dalam form ini terdapat sebuah object datetimepicker. O
bject ini digunakan untuk menginput tanggal.
Object Groupbox :
Dalam form ini terdapat 5 buah object groupbox.
Group box berfungsi untuk mengelompokkan kontrol-kontrol pada form menjadi satu bagian.
Object datagridview :
Dalam form ini terdapat  sebuah object datagridview.
Datagridview digunakan untuk menampilkan data kedalam bentuk table yang terdiri dari baris dan kolom.

Script Unique :
Untuk membuat data tabel
Dim tabel As New DataTable

Untuk membuat datasource
dgv_46110004.DataSource = tabel

Untuk mendeklarasikan datacolumn
Dim kolom(1) As DataColumn

Untuk mengisi kolom pertama
kolom(0) = tabel.Columns("no. pembelian")

Untuk mengatur primary key
tabel.PrimaryKey = kolom

Mendeklarasikan data baris yang bernama baris
Dim baris As DataRow

Baris untuk tabel
baris = tabel.NewRow

 
Even :
TextChanged
Button click

Property
Property TextBox ==> ReadOnly=True

Langkah-langkah penyelesaian form latihan 12
1.Buat form baru seperti gambar dibawah ini,
2. Ketikkan nama form latihan_12_xxxxx, lalu klik add
3. Buat form seperti gambar di bawah ini:
4. Ganti semua nama object kecuali label pada properties, seperti gambar di bawah ini,
4. Ganti properti==> read only=true pada textbox jumlah,no.baris,dan no.pembelian


5. Setelah itu input script berikut ini :
Public Class latihan_12_46110004

    Dim tabel As New DataTable
    Private Sub latihan_12_46110004_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        tabel.Columns.Add(New DataColumn("no. pembelian", GetType(String)))
        tabel.Columns.Add(New DataColumn("nama barang", GetType(String)))
        tabel.Columns.Add(New DataColumn("harga per unit", GetType(Double)))
        tabel.Columns.Add(New DataColumn("tanggal pembelian", GetType(Date)))
        tabel.Columns.Add(New DataColumn("unit", GetType(Integer)))
        tabel.Columns.Add(New DataColumn("jumlah", GetType(Double)))

        dgv_46110004.DataSource = tabel

        Dim kolom(1) As DataColumn
        kolom(0) = tabel.Columns("no. pembelian")
        tabel.PrimaryKey = kolom
    End Sub



    Private Sub smpn_46110004_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles smpn_46110004.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(np_46110004.Text)

        If baris Is Nothing Then
            baris = tabel.NewRow

            baris("no. pembelian") = np_46110004.Text
            baris("nama barang") = nb_46110004.Text
            baris("harga per unit") = Val(hpu_46110004.Text)
            baris("tanggal pembelian") = tgl_46110004.Value.Date
            baris("unit") = Val(unit_46110004.Text)
            baris("jumlah") = Val(jmlh_46110004.Text)

            tabel.Rows.Add(baris)

            np_46110004.Text = ""
            nb_46110004.Text = ""
            hpu_46110004.Text = ""
            unit_46110004.Text = ""
            jmlh_46110004.Text = ""


        Else : MsgBox("baris sudah ada")
            jmlh_46110004.Text = ""
        End If
        xx()

    End Sub

    Private Sub tb_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_46110004.Click
        Dim baris As DataRow

        If Val(nobar_46110004.Text) <= tabel.Rows.Count Then

            baris = tabel.Rows(Val(nobar_46110004.Text) - 1)

            nb_46110004.Text = baris("no. pembelian")
            nb_46110004.Text = baris("nama barang")
            hpu_46110004.Text = baris("harga per unit")
            tgl_46110004.Value = baris("tanggal pembelian")
            unit_46110004.Text = baris("unit")
            jmlh_46110004.Text = baris("jumlah")

        Else
            MsgBox("baris terlalu besar")

        End If
        nobar_46110004.Text = ""
    End Sub

    Private Sub hb_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hb_46110004.Click
        Dim baris As DataRow


        If Val(nobar_46110004.Text) <= tabel.Rows.Count Then

            baris = tabel.Rows(Val(nobar_46110004.Text) - 1)
            baris.Delete()

        Else
            MsgBox("no. baris yang dimasukkan tidak ada")

        End If
        nobar_46110004.Text = ""
    End Sub

    Private Sub tp_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tp_46110004.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(nopem_46110004.Text)

        If Not baris Is Nothing Then
            np_46110004.Text = baris("no. pembelian")
            nb_46110004.Text = baris("nama barang")
            hpu_46110004.Text = baris("harga per unit")
            tgl_46110004.Value = baris("tanggal pembelian")
            unit_46110004.Text = baris("unit")
            jmlh_46110004.Text = baris("jumlah")

        Else
            MsgBox("no. pembelian tidak ada")

        End If
        nopem_46110004.Text = ""
    End Sub

    Private Sub hp_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hp_46110004.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(nopem_46110004.Text)

        If Not baris Is Nothing Then
            baris.Delete()
            nopem_46110004.Text = ""
        Else
            MsgBox("no. pembelian yang dimasukkan tidak ada")
            nopem_46110004.Text = ""
        End If
    End Sub

    Private Sub tbs_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbs_46110004.Click
        Dim baris As DataRow
        baris = tabel.DefaultView(BindingContext(tabel).Position).Row

        np_46110004.Text = baris("no. pembelian")
        nb_46110004.Text = baris("nama barang")
        hpu_46110004.Text = baris("harga per unit")
        tgl_46110004.Value = baris("tanggal pembelian")
        unit_46110004.Text = baris("unit")
        jmlh_46110004.Text = baris("jumlah")
    End Sub

    Private Sub hbs_46110004_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hbs_46110004.Click
        Dim baris As DataRow
        baris = tabel.DefaultView(BindingContext(tabel).Position).Row
        baris.Delete()
    End Sub

    Private Sub xx()
        Dim tu, total As Integer
        For Each x As DataRow In tabel.Rows
            tu = tu + x("unit")
            total = total + x("jumlah")
        Next
        totunit_46110004.Text = tu
        tot_46110004.Text = total
    End Sub

    Private Sub unit_46110004_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles unit_46110004.TextChanged
        jmlh_46110004.Text = Val(hpu_46110004.Text) * Val(unit_46110004.Text)
    End Sub
End Class

6. Jalankan program dengan cara klik kanan pada project, lalu pilih properties, kemudian akan muncul tampilan seperti gambar dibawah ini:
7. Setelah mengatur startup fom maka, klik start debug untuk menjalankan form latihan 12 seperti dibawah ini :
8. Jika terdapat kesalahan, maka program akan menunjukkan letak kesalahannya.