Jumat, 26 Oktober 2012

Latihan_37_36110033



A.    Object-object dalam Latihan_37_36110033:

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). Pada latihan ini, 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.

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:

Latihan_37_36110033_Load
Lengkapnya dapat dilihat pada prosedur Latihan_37_36110033.

C.    Even:

TAMBAH_36110033_Click
Latihan_37_36110033_Load
SIMPAN_36110033_Click
Hitung()
UN_36110033_TextChanged
HR_36110033.TextChanged
KDB_36110033_Leave
KDB_36110033_TextChanged

D.    Property
Property TextBox ==> ReadOnly=True

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 9 label, 8 textbox, 1 object datetimepicker, 2 object button  dan 1 object datagridview. Kemudian beri nama apa saja yang anda inginkan, selanjutnya diikuti dengan stambuk. Adapun posisi  from  sesuai dengan design pada latihan 37 berikut:

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

    Private Sub Latihan_37_36110033_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        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()

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

        DataG_36110033.DataSource = TABELILHA
    End Sub

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

    Private Sub UN_36110033_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles UN_36110033.TextChanged, HR_36110033.TextChanged
        JM_36110033.Text = Val(UN_36110033.Text) * Val(HR_36110033.Text)
    End Sub

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

        Dim PENCARIILHA As New ByIskandar.CariKeDataBaseByIskandar
        PENCARIILHA.AturPencarianDataBase("BARANG", "KODEBARANG", KDB_36110033.Text, 1, BRIDGEILHA)
        If PENCARIILHA.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            Exit Sub
        End If

        NB_36110033.Text = PENCARIILHA.DataTablenya.Rows(0).Item("NAMABARANG")
    End Sub

    Private Sub KDB_36110033_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles KDB_36110033.TextChanged
        NB_36110033.Text = ""
        UN_36110033.Text = ""
        HR_36110033.Text = ""
    End Sub

    Private Sub TAMBAH_36110033_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TAMBAH_36110033.Click
        If KDB_36110033.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If NB_36110033.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(UN_36110033.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(HR_36110033.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        If TABELILHA.Rows.Find(KDB_36110033.Text) Is Nothing Then
            TABELILHA.Rows.Add(KDB_36110033.Text, NB_36110033.Text, Val(UN_36110033.Text), Val(HR_36110033.Text), Val(JM_36110033.Text))
        Else
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        KDB_36110033.Text = ""
        UN_36110033.Text = ""
        HR_36110033.Text = ""

        Hitung()
    End Sub

    Private Sub SIMPAN_36110033_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIMPAN_36110033.Click
        If NT_36110033.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If JT_36110033.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

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

        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

        Dim TRUCKILHA As New OleDb.OleDbCommand
        TRUCKILHA = 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()
        TRUCKILHA.ExecuteNonQuery()
        BRIDGEILHA.Close()

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

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

        TABELILHA.Rows.Clear()

        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  37  selesai.


































Tidak ada komentar:

Posting Komentar