Jumat, 26 Oktober 2012

Latihan_40B_36110033



A.    Object-object dalam Latihan_40B_36110033:

1.        Object Label
Terdapat empat label yang bertuliskan no transaksi, tanggal, jenis transaksi, dan total

2.        Object Textbox
Terdapat tiga textbox (dua status input dan sat status readonly). Status input digunakan untuk memasukkan nilai no transaksi dan jenis transaksi. Status readonly digunakan untuk menampilkan total.

3.        Object DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.

4.        Object Button
Object ButtonTerdapat 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_36110033.

5.        Object DataGridView
Terdapat satu object datagridview yang digunakan untuk menampilkan data yang akan diedit atau ditambah ke dalam database. Data yang akan diedit merupakan data yang sudah dipilih pada form Latihan_40A_36110033.

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

B.     Script Unique:

Latihan_40B_36110033_Load
Lengkapnya dapat dilihat pada prosedur Latihan_40B_36110033.

C.    Even:

SelectData()
Latihan_40B_36110033_Load
Hitung()
DATAG_36110033_CellEndEdit
SIMPAN_36110033_Click

Prosedur
1.    Klik Start lalu pilih Microsoft Visual Studio 2008

2.    Buka Ms. Visual Studio.

3.    Lalu akan muncul jendela awal Microsoft Visual Studio.

4.    Klik Add New Item dan akan muncul jendela add new item seperti berikut:
 Setelah muncul pilih windos from, kemudian ganti nama sesuai dengan nama yang diinginkan dan selanjutnya klik tombol add. Langkah ini dilakukan karena kita sudah pernah membuat project sebelumnya. Akan muncul from untuk digunakan membuat project.

5.    Buat 4 Label, 3 textbox, 1 statusstrip, 1 object datagridview,1  object datetimepicker dan 1 button. Kemudian beri nama apa saja yang anda inginkan, selanjutnya diikuti dengan stambuk. Adapun posisi from sesuai dengan design pada latihan 40B berikut:

 6.      Untuk menuliskan rumus pada latihan 40B, anda dapat menuliskan rumus seperti dibawah ini:
Public Class Latihan_40B_36110033
    Dim BRIDGEILHA As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb")
    Dim TABELILHA As New DataTable

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

        TRUCKILHA = 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 = '" & NT_36110033.Text & "'", BRIDGEILHA)

        TABELILHA.Rows.Clear()

        TRUCKILHA.Fill(TABELILHA)

        TRUCKILHA.Dispose()
    End Sub

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

        DataG_36110033.DataSource = TABELILHA
    End Sub

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

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

            Dim PENCARIILHA As New ByIskandar.CariKeDataBaseByIskandar
            PENCARIILHA.AturPencarianDataBase("BARANG", "KODEBARANG", DataG_36110033.CurrentRow.Cells("KODEBARANG").Value, 1, BRIDGEILHA)

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

            DataG_36110033.CurrentRow.Cells("NAMABARANG").Value = PENCARIILHA.DataTablenya.Rows(0).Item("NAMABARANG")

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

            Hitung()
        End If
    End Sub

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

        If NT_36110033.Text <> NLM_36110033.Text Then
            Dim PERIKSAILHA As New ByIskandar.CariKeDataBaseByIskandar
            PERIKSAILHA.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NT_36110033.Text, 1, BRIDGEILHA)
            If PERIKSAILHA.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 = '" & NLM_36110033.Text & "'", BRIDGEILHA)
        BRIDGEILHA.Open()
        Hapus.ExecuteNonQuery()
        BRIDGEILHA.Close()
        Hapus = New OleDb.OleDbCommand("Delete * From DETAILTRANSAKSI Where NOTRANS = '" & NLM_36110033.Text & "'", BRIDGEILHA)
        BRIDGEILHA.Open()
        Hapus.ExecuteNonQuery()
        BRIDGEILHA.Close()

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

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

        NT_36110033.Text = ""
        JT_36110033.Text = ""

        TABELILHA.Clear()

        Latihan_40A_36110033.MUATAN()

        Hitung()
    End Sub
End Class

7.      Kemudian di Start Debbuging, maka kita akan tahu, betul atau tidaknya rumus yang kita gunakan serta coba jalankan perintah yang ingin kita ketahui dari latihan tersebut untuk mengetahui hasilnya yang lebih jelas lagi.

8.    Jika program berjalan simpan dengan menekan tombol ctrl+s  untuk menyimpan data dan prosedur latihan 40B selesai.





























Tidak ada komentar:

Posting Komentar