Translate

Sabtu, 27 Oktober 2012

Latihan 38 36110051 APKOM 4 D3B Akuntansi PNUP

A.    Object-object dalam Latihan_38_36110051 :
            1.      Object Label
Terdapat sembilan label (yang bertuliskan no transaksi, tanggal, jenis transaksi, kode barang, namabarang, unit, harga, jumlah, dan total).
            2.      Object Textbox
Terdapat delapan textbox (lima status input dan tiga status readonly). Status input digunakan untuk memasukkan nilai: no transaksi, jenis transaksi, kode barang, unit, dan harga. Status readonly digunakan untuk menampilkan nama barang, jumlah, dan total.
            3.      Object Button
Terdapat dua object button (Tambah dan Simpan). Tombol tambah digunakan untuk menyimpan data yang telah diinput pada textbox ke dalam datatabel (yang ditampilkan pada datagridview). Tombol simpan digunakan untuk menyimpan data yang telah diinput ke dalam database (DATA MAJEMUK). Kode barang yang diinput harus merupakan kode barang yang sudah ada pada tabel kode barang karena nama barang akan ditampilkan pada textbox readonly sesuai dengan kode barang yang diinput. Jika kode barang tidak ada, maka  akan muncul form Latihan_38_39_40_36110051.

4.      Object DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.
5.      Object DataGridView
Terdapat satu object datagridview yang digunakan untuk menampilkan data yang telah diinput pada textbox.
 
B.     Script Unique
Untuk script, silahkan lihat selengkapnya pada PROSEDUR di bawah ini.
C.     Even
TAMBAH_36110051_Click
Latihan_38_36110051_Load
SIMPAN_36110051_Click
Hitung()
UNIT_36110051_TextChanged
HARGA_36110051.TextChanged

D.    Property
Property TextBox ==> ReadOnly=True
 

PROSEDUR :

1.       Klik Start dan pilih Microsoft Visual Studio 2008.
 
2.       Klik menu file dan pilih New Project.
 
3.       Ketik nama dan pilih lokasi yang diinginkan pada masing-masing tempat yang tersedia, klik Ok.
 

4.       Klik menu view dan pilih toolbox dan buatlah desain kolom seperti kolom dibawah ini:
 

5.      Berikut ini adalah rumus untuk menjalankan form di atas:
 
Public NotInheritable Class Latihan_38_36110051
    Dim MELISSA As New ByIskandar.CariKeDataBaseByIskandar
    Dim ACI As New DataTable
    Dim ISA As New OleDb.OleDbCommand
    Dim RANTE As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\DataMajemuk.accdb'")

    Private Sub Latihan_38_36109003_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim r As New OleDb.OleDbDataAdapter
        r = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & nt_36110051.Text & "'", RANTE)
        ACI.Rows.Clear()
        r.Fill(ACI)
        r.Dispose()

        dgv_36110051.DataSource = ACI

        Dim sudar(1) As DataColumn
        sudar(0) = ACI.Columns("kodebarang")
        ACI.PrimaryKey = sudar
    End Sub

    Private Sub anra()
        Dim anra1 As Integer = 0
        For Each anra2 As DataRow In ACI.Rows
            anra1 += anra2("JUMLAH")
        Next
        total_36110051.Text = anra1
    End Sub

    Private Sub kb_36109003_leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_36110051.Leave
        If kb_36110051.Text.Length = 0 Then
            Exit Sub
        End If
        MELISSA.AturPencarianDataBase("barang", "kodebarang", kb_36110051.Text, 1, RANTE)
        If MELISSA.JumlanBaris > 0 Then
            kb_36110051.Text = MELISSA.DataTablenya.Rows(0).Item("KODEBARANG")
            nb_36110051.Text = MELISSA.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tidak terdaftar")
            If Latihan_38_39_40_36110051.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb_36110051.Text = Latihan_38_39_40_36110051.dgv_36110051.CurrentRow.Cells("kodebarang").Value
                nb_36110051.Text = Latihan_38_39_40_36110051.dgv_36110051.CurrentRow.Cells("namabarang").Value
            Else
                kb_36110051.Text = ""
            End If
        End If
    End Sub

    Private Sub kb_36110051_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_36110051.TextChanged
        nb_36110051.Text = ""
        unit_36110051.Text = ""
        harga_36110051.Text = ""
    End Sub

    Private Sub tambah_36110051_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah_36110051.Click
        If kb_36110051.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(unit_36110051.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(harga_36110051.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim dt As DataRow
        dt = ACI.Rows.Find(kb_36110051.Text)
        If dt Is Nothing Then
            dt = ACI.NewRow
            dt("KODEBARANG") = kb_36110051.Text
            dt("NAMABARANG") = nb_36110051.Text
            dt("UNIT") = unit_36110051.Text
            dt("HARGA") = harga_36110051.Text
            dt("JUMLAH") = Val(jumlah_36110051.Text)

            ACI.Rows.Add(dt)

            kb_36110051.Text = ""
            unit_36110051.Text = ""
            harga_36110051.Text = ""
        Else
            MsgBox("kode barang telah terdaftar,")
        End If
        anra()
    End Sub

    Private Sub simpan_36110051_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_36110051.Click
        If nt_36110051.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf jt_36110051.Text.Length = 0 Then
            MsgBox("Isi rong Jenis Transaksi na..")
        ElseIf ACI.Rows.Count = 0 Then
            MsgBox("data table tidak boleh kosong")
            Exit Sub
        End If

        MELISSA.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110051.Text, 1, RANTE)
        If MELISSA.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        ISA = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36110051.Text & "',#" & tgl_36110051.Value.Month & "/" & tgl_36110051.Value.Day & "/" & tgl_36110051.Value.Year & "#,'" & jt_36110051.Text & "')", RANTE)
        RANTE.Open()
        ISA.ExecuteNonQuery()
        RANTE.Close()

        For Each x As DataRow In ACI.Rows
            ISA = New OleDb.OleDbCommand("insert into detailtransaksi(notrans, kodebarang, unit, harga) values ('" & nt_36110051.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", RANTE)
            RANTE.Open()
            ISA.ExecuteNonQuery()
            RANTE.Close()
        Next
        ISA.Dispose()

        nt_36110051.Text = ""
        jt_36110051.Text = ""

        ACI.Rows.Clear()
        anra()
    End Sub

    Private Sub unit_36110051_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_36110051.TextChanged
        jumlah_36110051.Text = Val(unit_36110051.Text) * Val(harga_36110051.Text)
    End Sub

    Private Sub harga_36110051_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles harga_36110051.TextChanged
        jumlah_36110051.Text = Val(unit_36110051.Text) * Val(harga_36110051.Text)
    End Sub
End Class
6.       Uji program dengan mengklik icon Start Debugging.

 

Tidak ada komentar:

Posting Komentar