Minggu, 30 September 2012

latihan_13_46110023


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


Deklarasi Membuat Datasheet Baru
Dim ZAHRAH As New Dataset  ===> Object Menampung Object Datatable

Untuk Mendeklarasikan Binding Source
Dim Herawati 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)

Untuk mengganti nama dlm dataset yg tadinya tabel1 dst (bs dilakukan sebelum datatabel dmasukkan ke dlm dataset
DTRI.TableName = "ICA"

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")))

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

Memunculkan dalam datagridview
DataGridView1.DataSource = herawati

Even :
Load

Langkah-langkah penyelesaian form latihan 13     

1. buat form baru seperti gambar dibawah ini:   
 

2. ganti nama form sesuai dengan nama yang diinginkan

3. buat desaign form sperti gambar dibwah ini:

 4. ganti semua nama pada object kecuali label

 5. buat sript seperti dibawah ini:
Public Class LATIHAN_13_46110023
    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_46110023_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.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"

        DGV1_46110023.DataSource = herawati
        DGV2_46110023.DataSource = LUKMAN
        DGV3_46110023.DataSource = AKBAR
    End Sub
End Class


6. jalankan program dengan cara yang sama seperti form-form sebelumnya

7. jika ada kesalahan maka program secara otomatis akan memunculkannya.

8. selamat mencoba. :)





LATIHAN_12_46110023

Deskripsi form latihan 12
dalam 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 memasukkan no.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. Object 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
dgv461100023.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 membuat form latihan 12
1.Buat form baru seperti gambar dibawah ini:





2. ganti nama form sesuai dengan nama yang diinginkan

3. buat desaign form sperti gambar dibwah ini:

4. ganti semua nama pada object kecuali label

5. Ganti properti==> read only=true pada textbox jumlah,no.baris,dan no.pembelian

6. Setelah itu input script berikut ini :
Public Class LATIHAN_12_46110023

    Dim tabel As New DataTable

    Private Sub latihan_12_46110023_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.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)))

        Dgv46110023.DataSource = tabel

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

    End Sub
    Private Sub haper46110023_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles haper46110023.TextChanged, unit46110023.TextChanged
        jumlah46110023.Text = Val(haper46110023.Text) * Val(unit46110023.Text)

    End Sub

    Private Sub simpan46110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan46110023.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(nopem246110023.Text)

        If baris Is Nothing Then
            baris = tabel.NewRow

            baris("no. pembelian") = nopem46110023.Text
            baris("nama barang") = nabar46110023.Text
            baris("harga per unit") = Val(haper46110023.Text)
            baris("tanggal pembelian") = dtp46110023.Value.Date
            baris("unit") = Val(unit46110023.Text)
            baris("jumlah") = Val(jumlah46110023.Text)

            tabel.Rows.Add(baris)

            nopem46110023.Text = ""
            nabar46110023.Text = ""
            haper46110023.Text = ""
            unit46110023.Text = ""
            jumlah46110023.Text = ""

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

    End Sub


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

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

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

            nopem46110023.Text = baris("no. pembelian")
            nabar46110023.Text = baris("nama barang")
            haper46110023.Text = baris("harga per unit")
            dtp46110023.Value = baris("tanggal pembelian")
            unit46110023.Text = baris("unit")
            jumlah46110023.Text = baris("jumlah")

        Else
            MsgBox("baris terlalu besar")

        End If
        nobar46110023.Text = ""
    End Sub

    Private Sub hapus146110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus146110023.Click

        Dim baris As DataRow


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

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

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

        End If
        nobar46110023.Text = ""

    End Sub


    Private Sub tam246110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tam246110023.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(nopem246110023.Text)

        If Not baris Is Nothing Then
            nopem46110023.Text = baris("no. pembelian")
            nabar46110023.Text = baris("nama barang")
            haper46110023.Text = baris("harga per unit")
            dtp46110023.Value = baris("tanggal pembelian")
            unit46110023.Text = baris("unit")
            jumlah46110023.Text = baris("jumlah")

        Else
            MsgBox("no. pembelian tidak ada")

        End If
        nopem246110023.Text = ""

    End Sub

    Private Sub hapus246110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus246110023.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(nopem246110023.Text)

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

    End Sub

    Private Sub tam346110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tam346110023.Click

        Dim baris As DataRow
        baris = tabel.DefaultView(BindingContext(tabel).Position).Row

        nopem46110023.Text = baris("no. pembelian")
        nabar46110023.Text = baris("nama barang")
        haper46110023.Text = baris("harga per unit")
        dtp46110023.Value = baris("tanggal pembelian")
        unit46110023.Text = baris("unit")
        jumlah46110023.Text = baris("jumlah")

    End Sub

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

    End Sub

    Private Sub Dgv46110023_DataBindingComplete(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Dgv46110023.CellContentClick
        Dim tu, total As Integer
        For Each x As DataRow In tabel.Rows
            tu = tu + x("unit")
            total = total + x("jumlah")
        Next
        tonit46110023.Text = tu
        tot46110023.Text = total
    End Sub
End Class

7. play program untuk melihat hasilnya
8. selamat mencoba.. :)