Minggu, 28 Oktober 2012

Latihan_38_36110040


v Tahap Penyelesaian Latihan_38_36110040

1.      Buka Project yang telah dibuat, lalu buka solution Explorer
2.       Setelah itu klik kanan nama project, pilih add dan klik “new item”
3.      Click Add New Item terbuka, pilih Windows Form, lalu isi Name dengan Nama Latihan_38_36110040
4.      Buat Form Latihan_38 dibawah ini:


5.       Berikut ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_38_36110040
    'Mendeklarasikan object connection
    Dim Jembatan As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb; jet OLEDB:Database Password=040")

    'Mendeklarasikan datatable
    Dim Table As New DataTable

    Private Sub Latihan38042_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Mendeklarasikan adapter
        Dim Angkut As New OleDb.OleDbDataAdapter

        'Proses mengambil data dari table
        Angkut = 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 = '" & Notrans36110040.Text & "'", Jembatan)

        'Perintah membersihkan datatable
        Table.Rows.Clear()

        'Perintah mengisi datatable
        Angkut.Fill(Table)

        'Perintah menghapus adapter
        Angkut.Dispose()

        'Perintah membuat primary key
        Dim KolomPrimary(1) As DataColumn
        KolomPrimary(0) = Table.Columns("KodeBarang")
        Table.PrimaryKey = KolomPrimary

        'Perintah menampilkan datatable ke datagridview
        DataGridView1.DataSource = Table
    End Sub

    Private Sub Hitung()
        'Proses perhitungan total unit dan total menggunakan prosedur tanpa parameter
        Dim Jumlah As Integer = 0
        For Each BarisX As DataRow In Table.Rows
            Jumlah = Jumlah + BarisX("Jumlah")
        Next
        Total36110040.Text = Jumlah
    End Sub

    Private Sub Unit_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Unit36110040.TextChanged, Harga36110040.TextChanged
        'Proses perhitungan jumlah
        Jumlah36110040.Text = Val(Unit36110040.Text) * Val(Harga36110040.Text)
    End Sub

    Private Sub Kode_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kode36110040.Leave
        'Proses memeriksa textbox yang masih kosong
        If Kode36110040.Text.Length = 0 Then
            Exit Sub
        End If

        'Perintah memeriksa keberadaan kodebarang pada table Barang
        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("Barang", "KodeBarang", Kode36110040.Text, 1, Jembatan)

        'Perintah mengisi nama barang pada textbox
        If Pencari.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            If Latihan_383940.ShowDialog = Windows.Forms.DialogResult.OK Then
                Kode36110040.Text = Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
                Nama36110040.Text = Pencari.DataTablenya.Rows(0).Item("NamaBarang")
            Else
                Kode36110040.Text = ""
            End If
            Exit Sub
        End If

        'Perintah mengisi nama barang pada textbox
        Nama36110040.Text = Pencari.DataTablenya.Rows(0).Item("NamaBarang")
    End Sub

    Private Sub Kode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kode36110040.TextChanged
        'Mengosongkan kembali isi textbox
        Nama36110040.Text = ""
        Unit36110040.Text = ""
        Harga36110040.Text = ""
    End Sub

    Private Sub Tambah_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tambah.Click
        'Proses memeriksa textbox yang masih kosong
        If Kode36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If Nama36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(Unit36110040.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(Harga36110040.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        'Perintah memeriksa keberadaan primary key
        If Table.Rows.Find(Kode36110040.Text) Is Nothing Then
            'Perintah menambahkan data baris pada table
            Table.Rows.Add(Kode36110040.Text, Nama36110040.Text, Val(Unit36110040.Text), Val(Harga36110040.Text), Val(Jumlah36110040.Text))
        Else
            'Perintah ketika primary key sudah ada
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        'Mengosongkan kembali isi textbox
        Kode36110040.Text = ""
        Unit36110040.Text = ""
        Harga36110040.Text = ""

        'Perintah menjalankan prosedur tanpa parameter
        Hitung()
    End Sub

    Private Sub Simpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Simpan.Click
        'Proses memeriksa textbox yang masih kosong
        If Notrans36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If Jenis36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        'Proses memeriksa datagridview yang masih kosong
        If Table.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        'Perintah memeriksa no. transaksi yang sama dengan table sumber
        Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
        Periksa.AturPencarianDataBase("MasterTransaksi", "Notrans", Notrans36110040.Text, 1, Jembatan)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

        'Proses penyimpanan nomor, tanggal, dan jenis transaksi ke table sumber
        Dim Ambil As New OleDb.OleDbCommand
        Ambil = New OleDb.OleDbCommand("Insert Into MasterTransaksi (NoTrans, TanggalTransaksi, JenisTransaksi) " & _
        "Values ('" & Notrans36110040.Text & "', #" & tanggal36110040.Value.Month & "/" & tanggal36110040.Value.Day & "/" & tanggal36110040.Value.Year & "#, '" & Jenis36110040.Text & "')", Jembatan)
        Jembatan.Open()
        Ambil.ExecuteNonQuery()
        Jembatan.Close()

        'Proses penyimpanan isi datatable ke Detail Transaksi
        For Each BarisX As DataRow In Table.Rows
            Ambil = New OleDb.OleDbCommand("Insert Into DetailTransaksi (NoTrans, Kodebarang, Unit, Harga) " & _
            "Values ('" & Notrans36110040.Text & "', '" & BarisX("Kodebarang") & "', " & BarisX("Unit") & ", " & BarisX("Harga") & ")", Jembatan)
            Jembatan.Open()
            Ambil.ExecuteNonQuery()
            Jembatan.Close()
        Next
        Ambil.Dispose()

        'Mengosongkan kembali isi textbox
        Notrans36110040.Text = ""
        Jenis36110040.Text = ""

        'Mengosongkan kembali isi data table
        Table.Rows.Clear()

        'Perintah menjalankan prosedur tanpa parameter
        Hitung()
    End Sub
End Class
6.      Setelah itu jalankan Programnya dengan menekan “start debugging”
7.      Kemudian simpan file tersebut dengan menekan icon “save”
 8.      Selesai
v Tahap Penyelesaian Latihan_38_36110040

1.      Buka Project yang telah dibuat, lalu buka solution Explorer
2.       Setelah itu klik kanan nama project, pilih add dan klik “new item”
3.      Click Add New Item terbuka, pilih Windows Form, lalu isi Name dengan Nama Latihan_38_36110040
4.      Buat Form Latihan_38 dibawah ini:


5.       Berikut ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_38_36110040
    'Mendeklarasikan object connection
    Dim Jembatan As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb; jet OLEDB:Database Password=040")

    'Mendeklarasikan datatable
    Dim Table As New DataTable

    Private Sub Latihan38042_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Mendeklarasikan adapter
        Dim Angkut As New OleDb.OleDbDataAdapter

        'Proses mengambil data dari table
        Angkut = 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 = '" & Notrans36110040.Text & "'", Jembatan)

        'Perintah membersihkan datatable
        Table.Rows.Clear()

        'Perintah mengisi datatable
        Angkut.Fill(Table)

        'Perintah menghapus adapter
        Angkut.Dispose()

        'Perintah membuat primary key
        Dim KolomPrimary(1) As DataColumn
        KolomPrimary(0) = Table.Columns("KodeBarang")
        Table.PrimaryKey = KolomPrimary

        'Perintah menampilkan datatable ke datagridview
        DataGridView1.DataSource = Table
    End Sub

    Private Sub Hitung()
        'Proses perhitungan total unit dan total menggunakan prosedur tanpa parameter
        Dim Jumlah As Integer = 0
        For Each BarisX As DataRow In Table.Rows
            Jumlah = Jumlah + BarisX("Jumlah")
        Next
        Total36110040.Text = Jumlah
    End Sub

    Private Sub Unit_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Unit36110040.TextChanged, Harga36110040.TextChanged
        'Proses perhitungan jumlah
        Jumlah36110040.Text = Val(Unit36110040.Text) * Val(Harga36110040.Text)
    End Sub

    Private Sub Kode_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kode36110040.Leave
        'Proses memeriksa textbox yang masih kosong
        If Kode36110040.Text.Length = 0 Then
            Exit Sub
        End If

        'Perintah memeriksa keberadaan kodebarang pada table Barang
        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("Barang", "KodeBarang", Kode36110040.Text, 1, Jembatan)

        'Perintah mengisi nama barang pada textbox
        If Pencari.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            If Latihan_383940.ShowDialog = Windows.Forms.DialogResult.OK Then
                Kode36110040.Text = Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
                Nama36110040.Text = Pencari.DataTablenya.Rows(0).Item("NamaBarang")
            Else
                Kode36110040.Text = ""
            End If
            Exit Sub
        End If

        'Perintah mengisi nama barang pada textbox
        Nama36110040.Text = Pencari.DataTablenya.Rows(0).Item("NamaBarang")
    End Sub

    Private Sub Kode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kode36110040.TextChanged
        'Mengosongkan kembali isi textbox
        Nama36110040.Text = ""
        Unit36110040.Text = ""
        Harga36110040.Text = ""
    End Sub

    Private Sub Tambah_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tambah.Click
        'Proses memeriksa textbox yang masih kosong
        If Kode36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If Nama36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(Unit36110040.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(Harga36110040.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        'Perintah memeriksa keberadaan primary key
        If Table.Rows.Find(Kode36110040.Text) Is Nothing Then
            'Perintah menambahkan data baris pada table
            Table.Rows.Add(Kode36110040.Text, Nama36110040.Text, Val(Unit36110040.Text), Val(Harga36110040.Text), Val(Jumlah36110040.Text))
        Else
            'Perintah ketika primary key sudah ada
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        'Mengosongkan kembali isi textbox
        Kode36110040.Text = ""
        Unit36110040.Text = ""
        Harga36110040.Text = ""

        'Perintah menjalankan prosedur tanpa parameter
        Hitung()
    End Sub

    Private Sub Simpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Simpan.Click
        'Proses memeriksa textbox yang masih kosong
        If Notrans36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If Jenis36110040.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        'Proses memeriksa datagridview yang masih kosong
        If Table.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        'Perintah memeriksa no. transaksi yang sama dengan table sumber
        Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
        Periksa.AturPencarianDataBase("MasterTransaksi", "Notrans", Notrans36110040.Text, 1, Jembatan)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

        'Proses penyimpanan nomor, tanggal, dan jenis transaksi ke table sumber
        Dim Ambil As New OleDb.OleDbCommand
        Ambil = New OleDb.OleDbCommand("Insert Into MasterTransaksi (NoTrans, TanggalTransaksi, JenisTransaksi) " & _
        "Values ('" & Notrans36110040.Text & "', #" & tanggal36110040.Value.Month & "/" & tanggal36110040.Value.Day & "/" & tanggal36110040.Value.Year & "#, '" & Jenis36110040.Text & "')", Jembatan)
        Jembatan.Open()
        Ambil.ExecuteNonQuery()
        Jembatan.Close()

        'Proses penyimpanan isi datatable ke Detail Transaksi
        For Each BarisX As DataRow In Table.Rows
            Ambil = New OleDb.OleDbCommand("Insert Into DetailTransaksi (NoTrans, Kodebarang, Unit, Harga) " & _
            "Values ('" & Notrans36110040.Text & "', '" & BarisX("Kodebarang") & "', " & BarisX("Unit") & ", " & BarisX("Harga") & ")", Jembatan)
            Jembatan.Open()
            Ambil.ExecuteNonQuery()
            Jembatan.Close()
        Next
        Ambil.Dispose()

        'Mengosongkan kembali isi textbox
        Notrans36110040.Text = ""
        Jenis36110040.Text = ""

        'Mengosongkan kembali isi data table
        Table.Rows.Clear()

        'Perintah menjalankan prosedur tanpa parameter
        Hitung()
    End Sub
End Class
6.      Setelah itu jalankan Programnya dengan menekan “start debugging”
7.      Kemudian simpan file tersebut dengan menekan icon “save”
 8.      Selesai

Tidak ada komentar:

Posting Komentar