Jumat, 26 Oktober 2012

LATIHAN_38_36110042


Deskripsi Latihan_38_36110042

A.   Object-object dalam Latihan_38_36110042:

1.   Object Label
Terdapat sembilan label (yang bertuliskan no transaksi, tanggal, jenis transaksi, kode barang, nama barang, 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_383940_36110042.

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 Langkah-Langkah Latihan_38_36110042.

C.   Even

TAMBAH_36110042_Click
Latihan_38_36110042_Load
SIMPAN_36110042_Click
Hitung()
UNIT_36110042_TextChanged
HARGA_36110042.TextChanged
KODE_36110042_Leave
KODE_36110042_TextChanged

D.    Property

Property TextBox ==> ReadOnly=True

Langkah-Langkah Latihan_38_36110042
1.    Klik Start lalu pilih Microsoft Visual Studio 2008.

2.    Lalu akan muncul Start Page Microsoft Visual Studio 2008.

3.    Pilih Recent Project “Kumpulan_Latihan_36110042

4.     Setelah terbuka, pilih icon Add New Item atau Ctrl+Shift+A

5.    Akan terbuka jendela Add New Item seperti di bawah ini, pilih template “Windows Form dan beri nama “Latihan_38_36110042

6.    Kemudian buat form sesuai dengan form di bawah ini.

7.     Berikut ini adalah rumus untuk menjalankan form di atas.

Public Class Latihan_38_36110042

    Dim bridgeRara As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\datamajemuk.accdb;Jet OLEDB:Database Password=26")

    Dim tabelRara As New DataTable

    Private Sub Latihan_38_36110042_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim truckRara As New OleDb.OleDbDataAdapter

        truckRara = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, UNIT, HARGA, UNIT * HARGA As JUMLAH " & _
        "From DETAILTRANSAKSI Inner join BARANG on DETAILTRANSAKSI.KODEBARANG = BARANG.KODEBARANG where NOTRANS = '" & NO_36110042.Text & "'", bridgeRara)

        tabelRara.Rows.Clear()

        truckRara.Fill(tabelRara)

        truckRara.Dispose()

        Dim KolomPrimary(1) As DataColumn
        KolomPrimary(0) = tabelRara.Columns("KODEBARANG")
        tabelRara.PrimaryKey = KolomPrimary

        DGV_36110042.DataSource = tabelRara
    End Sub

    Private Sub Hitung()
        Dim Jumlah As Integer = 0
        For Each row As DataRow In tabelRara.Rows
            Jumlah = Jumlah + row("Jumlah")
        Next
        TOTAL_36110042.Text = Jumlah
    End Sub

    Private Sub UNIT_36110042_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles UNIT_36110042.TextChanged, HARGA_36110042.TextChanged
        JUMLAH_36110042.Text = Val(UNIT_36110042.Text) * Val(HARGA_36110042.Text)
    End Sub

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

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", KODE_36110042.Text, 1, bridgeRara)

        If Pencari.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            If Latihan_383940_36110042.ShowDialog = Windows.Forms.DialogResult.OK Then
                KODE_36110042.Text = Latihan_383940_36110042.DGV_36110042.CurrentRow.Cells("KODEBARANG").Value
                NAMA_36110042.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                KODE_36110042.Text = ""
            End If
            Exit Sub
        End If

        NAMA_36110042.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
    End Sub

    Private Sub KODE_36110042_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles KODE_36110042.TextChanged
        NAMA_36110042.Text = ""
        UNIT_36110042.Text = ""
        HARGA_36110042.Text = ""
    End Sub

    Private Sub TAMBAH_36110042_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TAMBAH_36110042.Click
        If KODE_36110042.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If NAMA_36110042.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(UNIT_36110042.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(HARGA_36110042.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        If tabelRara.Rows.Find(KODE_36110042.Text) Is Nothing Then
            tabelRara.Rows.Add(KODE_36110042.Text, NAMA_36110042.Text, Val(UNIT_36110042.Text), Val(HARGA_36110042.Text), Val(JUMLAH_36110042.Text))
        Else
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        KODE_36110042.Text = ""
        UNIT_36110042.Text = ""
        HARGA_36110042.Text = ""

        Hitung()
    End Sub

    Private Sub SIMPAN_36110042_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIMPAN_36110042.Click
        If NO_36110042.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If JENIS_36110042.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        If tabelRara.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
        Periksa.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NO_36110042.Text, 1, bridgeRara)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

        Dim truckRara As New OleDb.OleDbCommand
        truckRara = New OleDb.OleDbCommand("Insert Into MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " & _
        "Values ('" & NO_36110042.Text & "', #" & DATE_36110042.Value.Month & "/" & DATE_36110042.Value.Day & "/" & DATE_36110042.Value.Year & "#, '" & JENIS_36110042.Text & "')", bridgeRara)
        bridgeRara.Open()
        truckRara.ExecuteNonQuery()
        bridgeRara.Close()

        For Each row As DataRow In tabelRara.Rows
            truckRara = New OleDb.OleDbCommand("Insert Into DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) " & _
            "Values ('" & NO_36110042.Text & "', '" & row("KODEBARANG") & "', " & row("UNIT") & ", " & row("HARGA") & ")", bridgeRara)
            bridgeRara.Open()
            truckRara.ExecuteNonQuery()
            bridgeRara.Close()
        Next
        truckRara.Dispose()

        NO_36110042.Text = ""
        JENIS_36110042.Text = ""

        tabelRara.Rows.Clear()

        Hitung()
    End Sub
End Class

8.    Setelah itu, jalankan programnya dengan klik Icon Start Debugging kemudian akan mucul form navigator dan klik Latihan 38.




Tidak ada komentar:

Posting Komentar