- See more at: http://blog-rangga.blogspot.com/2013/01/cara-mengganti-icon-kursor-blog-dengan.html#sthash.c5biKms2.dpuf

Jumat, 26 Oktober 2012

Latihan_40B_36110044 Aplikasi Komputer 4



Form Latihan_40B  terdapat enam object yaitu Label, Textbox, Button, DateTimePicker, DataGridView, dan StatusStrip

Object Label
Terdapat empat object Label (yang bertuliskan No. Transaksi, Tanggal, Jenis Transaksi dan Total)

 Object Textbox
Terdapat tiga object textbox (dua berstatus input dan satu berstatus ReadOnly).
Status input digunakan untuk memasukkan angka.
Statua ReadOnly untuk menampilkan hasil perhitungan.

Object Button
Terdapat satu object button (Simpan). 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 yang diinput tidak ada, maka akan muncul form Latihan_383940_36110044

Date TimePicker
Terdapat 1 object DateTimePicker yang digunakan untuk memasukkan tanggal terjadinya transaksi.

DataGridView
Terdapat 1 DataGridView untuk menampilkan data transaksi

StatusStrip
Terdapat satu object statustrip yang memiliki dua label (yang bertuliskan no transaksi dan -).



Script Unique
Untuk script, silahkan lihat selengkapnya pada Prosedur Penyelesaian Latihan_40B_36110044

Even
SelectData()
Latihan_40B_36110044_Load
Hitung()
DGV_36110044_CellEndEdit
SIMPAN_36110044_Click

Property
TextBox==>ReadOnly==>True


PROSEDUR PENYELESAIAN:
1.      Klik star lalu pilih Microsoft Visual Studio 2008
2.      Pilih icon Add New Item
3.      Ubah nama pada lembar “Add New Item” kemudian add
4.      Buat design form dengan menggunakan Label, Textbox, Button, DateTimePicker , DataGridView, dan StatusSrip yang ada dalam "Toolbox”

5.      Ganti nama Textbox, Button, DateTimePicker, DataGridView dan StatusStrip menggunakan "Properties Window"

6.      Klik kanan pada kotak design kemudian pilih View Code untuk membuka lembar vb
 Masukkan rumus berikut untuk menyelesaikan latihan_40B

            Public Class Latihan_40B_36110044
    Dim bridgetiya As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb")
    Dim tabeltiya As New DataTable

    Public Sub SelectData()
        Dim trucktiya As New OleDb.OleDbDataAdapter

        trucktiya = 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_36110044.Text & "'", bridgetiya)

        tabeltiya.Rows.Clear()

        trucktiya.Fill(tabeltiya)

        trucktiya.Dispose()
    End Sub

    Private Sub Latihan_40B_36110044_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        SelectData()

        DGV_36110044.DataSource = tabeltiya
    End Sub

    Public Sub Hitung()
        Dim Jumlah As Integer = 0
        For Each row As DataGridViewRow In DGV_36110044.Rows
            Jumlah = Jumlah + row.Cells("Jumlah").Value
        Next
        TOTAL_36110044.Text = Jumlah
    End Sub

    Private Sub DGV_36110044_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_36110044.CellEndEdit
        If e.ColumnIndex = 0 Then
            DGV_36110044.CurrentRow.Cells("NAMABARANG").Value = ""
            DGV_36110044.CurrentRow.Cells("UNIT").Value = 0
            DGV_36110044.CurrentRow.Cells("HARGA").Value = 0
            DGV_36110044.CurrentRow.Cells("JUMLAH").Value = 0

            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", DGV_36110044.CurrentRow.Cells("KODEBARANG").Value, 1, bridgetiya)

            If Pencari.JumlanBaris = 0 Then
                MsgBox("Kode barang tersebut tidak ada")
                If Latihan_383940_36110044.ShowDialog = Windows.Forms.DialogResult.OK Then
                    DGV_36110044.CurrentRow.Cells("KODEBARANG").Value = Latihan_383940_36110044.DGV_36110044.CurrentRow.Cells("KODEBARANG").Value
                    DGV_36110044.CurrentRow.Cells("NAMABARANG").Value = Latihan_383940_36110044.DGV_36110044.CurrentRow.Cells("NAMABARANG").Value
                Else
                    DGV_36110044.CurrentRow.Cells("KODEBARANG").Value = ""
                End If
                Exit Sub
            End If

            DGV_36110044.CurrentRow.Cells("NAMABARANG").Value = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")

        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV_36110044.CurrentRow.Cells("JUMLAH").Value = DGV_36110044.CurrentRow.Cells("UNIT").Value * DGV_36110044.CurrentRow.Cells("HARGA").Value

            Hitung()
        End If
    End Sub

    Private Sub SIMPAN_36110044_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIMPAN_36110044.Click
        If tabeltiya.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

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

        Dim Hapus As New OleDb.OleDbCommand
        Hapus = New OleDb.OleDbCommand("Delete * From MASTERTRANSAKSI Where NOTRANS = '" & ToolStripStatus_36110044.Text & "'", bridgetiya)
        bridgetiya.Open()
        Hapus.ExecuteNonQuery()
        bridgetiya.Close()
        Hapus = New OleDb.OleDbCommand("Delete * From DETAILTRANSAKSI Where NOTRANS = '" & ToolStripStatus_36110044.Text & "'", bridgetiya)
        bridgetiya.Open()
        Hapus.ExecuteNonQuery()
        bridgetiya.Close()

        Dim Ambil As New OleDb.OleDbCommand
        Ambil = New OleDb.OleDbCommand("Insert Into MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " & _
        "Values ('" & NO_36110044.Text & "', #" & DTP_36110044.Value.Month & "/" & DTP_36110044.Value.Day & "/" & DTP_36110044.Value.Year & "#, '" & JENIS_36110044.Text & "')", bridgetiya)
        bridgetiya.Open()
        Ambil.ExecuteNonQuery()
        bridgetiya.Close()
        Ambil.Dispose()

        For Each BarisX As DataRow In tabeltiya.Rows
            Dim Simpan As New OleDb.OleDbCommand
            Simpan = New OleDb.OleDbCommand("Insert Into DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARAGA) " & _
            "Values ('" & NO_36110044.Text & "', '" & BarisX("KODEBARANG") & "', " & BarisX("UNIT") & ", " & BarisX("HARGA") & ")", bridgetiya)
            bridgetiya.Open()
            Simpan.ExecuteNonQuery()
            bridgetiya.Close()
            Simpan.Dispose()
        Next

        NO_36110044.Text = ""
        JENIS_36110044.Text = ""

        tabeltiya.Clear()

        Latihan_40A_36110044.Isi()

        Hitung()
    End Sub
End Class

7.      Jalankan program dengan menggunakan  “start debugging”













Tidak ada komentar: