Kamis, 27 September 2012

Latihan_13_36110034


Deskripsi penyelesaian
Form Latihan_13_36110034  terdapat satu object yaitu DataGreatView
Object DataGreatview
Terdapat tiga datagreatview , masing-masing datagreatview akan menampilkan data dalam bentuk table dimana data pada datagreatview yang kedua di ambil dari datagreatview yang pertama dan begitupun dengan datagreatview yang ketiga di ambil dari datagreatview yang kedua.
Datagreatview yang kedua akan merinci lebih detail data pada datagreatview yang pertama, begitupun datagreatview yang ketiga akan merincil lebih detail lagi dibandingkan datagreatview yang kedua sehingga jika dipadukan dapat terlihat data pada table dengan lebih rinci tanpa mengubah atau menambah bentuk table di masing-masing object datgreatview.

Property
Property Datagreatview => name => ok

Prosedur penyelesaian

1.   buka project yang telah dibuat sebelumnya klik add new item => add windows form => ganti nama project => add.
 
2.   membuat form dengan menggunakan Label dan Textbox yang ada dalam "Toolbox”.

3.   ganti nama textbox dan button menggunakan "Properties Window".
 
4.   membuka lembar vb Masukkan rumus berikut untuk menyelesaikan latihan_13_36110034.
Public Class latihan_13_36110034
    Dim DTRI As New DataTable
    Dim DTRS As New DataTable
    Dim DTRSS As New DataTable
    Dim POLITEKNIK As New DataSet


    Dim AKUNTANSI As New BindingSource
    Dim TEKNIK As New BindingSource
    Dim ADM_NIAGA As New BindingSource

    Private Sub latihan_13_36110034_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

        POLITEKNIK.Tables.Add(DTRI)
        POLITEKNIK.Tables.Add(DTRS)
        POLITEKNIK.Tables.Add(DTRSS)

        DTRI.TableName = "KLS_SATU"
        DTRS.TableName = "KLS_DUA"
        DTRSS.TableName = "KLS_TIGA"

        POLITEKNIK.Relations.Add(New DataRelation("D3", POLITEKNIK.Tables("KLS_SATU").Columns("kode rekening induk"), POLITEKNIK.Tables("KLS_DUA").Columns("kode rekening induk")))
        POLITEKNIK.Relations.Add(New DataRelation("D4", POLITEKNIK.Tables("KLS_DUA").Columns("kode rekening sub"), POLITEKNIK.Tables("KLS_TIGA").Columns("kode rekening sub")))

        AKUNTANSI.DataSource = POLITEKNIK
        AKUNTANSI.DataMember = "KLS_SATU"

        TEKNIK.DataSource = AKUNTANSI
        TEKNIK.DataMember = "D3"

        ADM_NIAGA.DataSource = TEKNIK
        ADM_NIAGA.DataMember = "D4"

        DGV1_36110034.DataSource = AKUNTANSI
        DGV2_36110034.DataSource = TEKNIK
        DGV3_36110034.DataSource = ADM_NIAGA
    End Sub
End Class
5.   Jalankan program dengan “start debugging”.

Latihan_12_36110034


Deskripsi penyelesaian
Form Latihan_12_36110034  terdapat  5 object yaitu Label,Textbox,button,datagreatview,groupbox dan datetimepicker :
Object Label
Terdapat sebelas  label (yang bertuliskan No pembelian; Nama barang; Harga perunit; tanggal; unit; jumlah; Total unit; total; No baris; No pembelian; baris sekarang.)
Object Text Box
Terdapat sembilan  textbox (tiga status input; enam status read only).
Status input digunakan untuk memasukkan data pada textbox (No pembelian; Nama barang; Harga Perunit; Unit; No baris; No pembelian) yang berada di groupbox yang berbeda. Dan status readonly pada textbox yang  bertuliskan (jumlah; total unit; total) akan menampilkan hasil dari perkalian dan penjumlahan pada textbox yang di input.
Dalam penyelesaian program pada latihan ini digunakan prosedur pemanggilan rumus. Dengan perhitungan rumus sebagai berikut :
-           Jumlah = menampilkan hasil perkalian dari “harga perunit & unit”, yang berada di grupbox berjudul formulir.
-          Total =  penjumlahan harga total (yang telah dikali unit) dalam table datagreatview dari semua jenis barang yang telah di input.
-          Total unit = hasil penjumlah unit semua jenis barang yang telah di input dalam table datagreatview.
Object DataGreatView
Terdapat satu datagreatview yang dapat memunculkan data yang telah di input dalam bentuk table.
Object DateTimePecker
Terdapat satu datetimepecker yang menunjukkan data tanggal yang lengkap beserta bulan dan tahun secara kalender.
Object GroupBox
Terdapat lima groupbox yang masing-masing bernama(formulir; data; berdasarkan no baris; berdasarkan no pembelian; berdasarkan baris sekarang.), groupbox berfungsi untuk menyatukan beberapa object toolbox dalam satu kategori tertentu
Object Button
Terdapat tujuh tombol button , satu groupbox bertuliskan “SIMPAN” , dua terdapat dalam grupbox berjudul berdasarkan no.baris, dan dua terdapat di groupbox yang berjudul berdasarkan no.pembelian dan dua pula yang terdapat di groupbox yang berjudul berdasarkan baris sekarang, yang dimana masing-masing tombil button tersebut bertuliskan “TAMPILKAN” dan “HAPUS”.
Script Unique 
Buttom "simpan”
Dim baris As DataRow
        baris = tabel.Rows.Find(NP_36110034.Text)

        If baris Is Nothing Then
            baris = tabel.NewRow

            baris("No. Pembelian") = NP_36110034.Text
            baris("Nama Barang") = NB_36110034.Text
            baris("harga per unit") = Val(HP_36110034.Text)
            baris("tanggal pembelian") = DATE_36110034.Value.Date
            baris("unit") = Val(UN_36110034.Text)
            baris("jumlah") = Val(JUM_36110034.Text)

            tabel.Rows.Add(baris)

            NP_36110034.Text = ""
            NB_36110034.Text = ""
            HP_36110034.Text = ""
            UN_36110034.Text = ""
            JUM_36110034.Text = ""

        Else : MsgBox("baris sudah ada")
            JUM_36110034.Text = ""
        End If
        DD()
    End Sub

(dalam groupbox ‘berdasarkan no.baris)
Button “tampilkan”
Dim baris As DataRow

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

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

            NP_36110034.Text = baris("No. Pembelian")
            NB_36110034.Text = baris("Nama Barang")
            HP_36110034.Text = baris("harga per unit")
            DATE_36110034.Value = baris("tanggal pembelian")
            UN_36110034.Text = baris("unit")
            JUM_36110034.Text = baris("jumlah")
        Else
            MsgBox("baris terlalu besar")
        End If
        NB1_36110034.Text = ""
    End Sub

Button “hapus”
Dim baris As DataRow

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

            baris = tabel.Rows(Val(NB1_36110034.Text) - 1)
            baris.Delete()
            DD()
        Else
            MsgBox("no. baris yang dimasukkan tidak ada")
        End If
        NB1_36110034.Text = ""
    End Sub
(dalam groupbox berdasarkan no.pembelian)
Button “tampilkan”
Dim baris As DataRow
        baris = tabel.Rows.Find(NP1_36110034.Text)

        If Not baris Is Nothing Then
            NP_36110034.Text = baris("No. Pembelian")
            NB_36110034.Text = baris("Nama Barang")
            HP_36110034.Text = baris("harga per unit")
            DATE_36110034.Value = baris("tanggal pembelian")
            UN_36110034.Text = baris("unit")
            JUM_36110034.Text = baris("jumlah")
        Else
            MsgBox("no. pembelian tidak ada")
        End If
        NB1_36110034.Text = ""
    End Sub
Button “hapus”
Dim baris As DataRow
        baris = tabel.Rows.Find(NP1_36110034.Text)

        If Not baris Is Nothing Then
            baris.Delete()
            NB1_36110034.Text = ""
            DD()
        Else
            MsgBox("no. pembelian yang dimasukkan tidak ada")
            NB1_36110034.Text = ""
        End If
    End Sub
(dalam groupbox ‘berdasarkan baris sekarang’)
Button “tampilkan”
Dim baris As DataRow
        baris = tabel.DefaultView(BindingContext(tabel).Position).Row

        NP_36110034.Text = baris("No. Pembelian")
        NB_36110034.Text = baris("Nama Barang")
        HP_36110034.Text = baris("harga per unit")
        DATE_36110034.Value = baris("tanggal pembelian")
        UN_36110034.Text = baris("unit")
        JUM_36110034.Text = baris("jumlah")
    End Sub
Button “hapus” 
Dim baris As DataRow
        baris = tabel.DefaultView(BindingContext(tabel).Position).Row
        baris.Delete()
        DD()
    End Sub

Property
Property TextBox ==> ReadOnly=True
Prosedur penyelesaian

1.   buka project yang telah dibuat sebelumnya klik add new item => add windows form => ganti nama project => add.
 
2.   membuat form dengan menggunakan Label dan Textbox yang ada dalam "Toolbox”.
 
3.   ganti nama textbox dan button menggunakan "Properties Window".
 
4.   membuka lembar vb Masukkan rumus berikut untuk menyelesaikan latihan_12_36110034.
Public Class latihan_12_36110034

    Dim tabel As New DataTable

    Private Sub latihan_12_36110034_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)))

        DGV_36110034.DataSource = tabel

        Dim kolom(1) As DataColumn
        kolom(0) = tabel.Columns("No. Pembelian")
        tabel.PrimaryKey = kolom

    End Sub
    Private Sub HP_36110034_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles HP_36110034.TextChanged, UN_36110034.TextChanged
        JUM_36110034.Text = Val(HP_36110034.Text) * Val(UN_36110034.Text)
    End Sub

    Private Sub SIM_36110034_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIM_36110034.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(NP_36110034.Text)

        If baris Is Nothing Then
            baris = tabel.NewRow

            baris("No. Pembelian") = NP_36110034.Text
            baris("Nama Barang") = NB_36110034.Text
            baris("harga per unit") = Val(HP_36110034.Text)
            baris("tanggal pembelian") = DATE_36110034.Value.Date
            baris("unit") = Val(UN_36110034.Text)
            baris("jumlah") = Val(JUM_36110034.Text)

            tabel.Rows.Add(baris)

            NP_36110034.Text = ""
            NB_36110034.Text = ""
            HP_36110034.Text = ""
            UN_36110034.Text = ""
            JUM_36110034.Text = ""

        Else : MsgBox("baris sudah ada")
            JUM_36110034.Text = ""
        End If
        DD()
    End Sub

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

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

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

            NP_36110034.Text = baris("No. Pembelian")
            NB_36110034.Text = baris("Nama Barang")
            HP_36110034.Text = baris("harga per unit")
            DATE_36110034.Value = baris("tanggal pembelian")
            UN_36110034.Text = baris("unit")
            JUM_36110034.Text = baris("jumlah")
        Else
            MsgBox("baris terlalu besar")
        End If
        NB1_36110034.Text = ""
    End Sub

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

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

            baris = tabel.Rows(Val(NB1_36110034.Text) - 1)
            baris.Delete()
            DD()
        Else
            MsgBox("no. baris yang dimasukkan tidak ada")
        End If
        NB1_36110034.Text = ""
    End Sub

    Private Sub TAM2_36110034_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TAM2_36110034.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(NP1_36110034.Text)

        If Not baris Is Nothing Then
            NP_36110034.Text = baris("No. Pembelian")
            NB_36110034.Text = baris("Nama Barang")
            HP_36110034.Text = baris("harga per unit")
            DATE_36110034.Value = baris("tanggal pembelian")
            UN_36110034.Text = baris("unit")
            JUM_36110034.Text = baris("jumlah")
        Else
            MsgBox("no. pembelian tidak ada")
        End If
        NB1_36110034.Text = ""
    End Sub

    Private Sub DEL2_36110034_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DEL2_36110034.Click
        Dim baris As DataRow
        baris = tabel.Rows.Find(NP1_36110034.Text)

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

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

        NP_36110034.Text = baris("No. Pembelian")
        NB_36110034.Text = baris("Nama Barang")
        HP_36110034.Text = baris("harga per unit")
        DATE_36110034.Value = baris("tanggal pembelian")
        UN_36110034.Text = baris("unit")
        JUM_36110034.Text = baris("jumlah")
    End Sub

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

    Private Sub DD()
        Dim tu, total As Integer
        For Each x As DataRow In tabel.Rows
            tu = tu + x("unit")
            total = total + x("jumlah")
        Next
        TU_36110034.Text = tu
        TOT_36110034.Text = total
    End Sub
End Class
5.   Jalankan program dengan “start debugging”.