Senin, 05 November 2018

Rekayasa Perangkat Lunak

Assalamualikum WR WB


UTS Visual Studio

Rifa Awaliyah
SIFE001 503

Halo apa kabar? Semoga sehat selalu ya. Wah, akhirnya gue bisa ngeblog lagi.

SISTEM TOKO BUKU


Pembahasan :                                                        
Berikut ini tampilan Utama Sistem Toko Buku:
 From Menu :



 Coding :

Public Class FrmMenu
    Private Sub Frmmenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStripStatusLabel1.Text = Format(Now, "dddd, dd-MMMM-yyyy")
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ToolStripStatusLabel2.Text = Format(Now, "hh:mm:ss")
    End Sub

    Private Sub BtnBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBarang.Click
        FrmBarang.ShowDialog()
    End Sub

    Private Sub BtnMerk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMerk.Click
        FrmMerk.Text = "Data Merk"
        FrmMerk.ShowDialog()
    End Sub

    Private Sub BtnSatuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSatuan.Click
        FrmSatuan.Text = "Data Satuan"
        FrmSatuan.ShowDialog()
    End Sub

    Private Sub BtnTransaksiBeli_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTransaksiBeli.Click
        FrmTransaksiBeli.ShowDialog()
    End Sub

    Private Sub BtnTransaksiJual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTransaksiJual.Click
        FrmTransaksiJual.ShowDialog()
    End Sub

    Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles BtnKeluar.Click
        End
    End Sub
End Class

 Form Barang :







Coding :

Imports vb = Microsoft.VisualBasic
Public Class FrmBarang
    Dim SQL As String
    Dim Proses As New ClsKoneksi
    Dim TblBarang As DataTable
    Dim Data As DataSet
    Sub Data_Record()
        TblBarang = Proses.ExecuteQuery("Select * From QryBarang")
        DGBarang.DataSource = TblBarang
        DGBarang.Columns(0).Width = 50
        DGBarang.Columns(1).Width = 195
        DGBarang.Columns(6).Width = 50
    End Sub
    Sub Data_Merk()
        TblBarang = Proses.ExecuteQuery("Select * From Tblmerk")
        If TblBarang.Rows.Count = 0 Then
        Else
            CmbMerk.Items.Clear()
            With TblBarang.Columns(1)
                For a = 0 To TblBarang.Rows.Count - 1
                    CmbMerk.Items.Add("" & .Table.Rows(a).Item(0) & "/" & .Table.Rows(a).Item(1) & "")
                Next a
            End With
        End If
    End Sub
    Sub Data_Satuan()
        TblBarang = Proses.ExecuteQuery("Select * From TblSatuan")
        If TblBarang.Rows.Count = 0 Then
        Else
            CmbSatuan.Items.Clear()
            With TblBarang.Columns(1)
                For a = 0 To TblBarang.Rows.Count - 1
                    CmbSatuan.Items.Add("" & .Table.Rows(a).Item(0) & "/" & .Table.Rows(a).Item(1) & "")
                Next a
            End With
        End If
    End Sub
    Sub Atur()
        TxtID.ReadOnly = False
        TxtID.Text = ""
        TxtNm.Text = ""
        CmbMerk.Text = ""
        CmbSatuan.Text = ""
        TxtHrgBeli.Text = ""
        TxtHrgJual.Text = ""
        TxtStock.Text = "0"

        BtnTambah.Enabled = True
        BtnUbah.Enabled = False
        BtnHapus.Enabled = False
        BtnKoreksiStock.Enabled = False

        Call Data_Merk()
        Call Data_Satuan()
        Call Data_Record()

    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Atur()
    End Sub
    Private Sub DGBarang_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGBarang.DoubleClick
        Try
            Select Case Me.Text
                Case "Data Barang"
                    TxtID.Text = DGBarang.SelectedCells(0).Value
                    TxtNm.Text = DGBarang.SelectedCells(1).Value
                    CmbMerk.Text = DGBarang.SelectedCells(2).Value
                    CmbSatuan.Text = DGBarang.SelectedCells(3).Value
                    TxtHrgBeli.Text = DGBarang.SelectedCells(4).Value
                    TxtHrgJual.Text = DGBarang.SelectedCells(5).Value
                    TxtStock.Text = DGBarang.SelectedCells(6).Value
                    TxtID.ReadOnly = True
                    BtnTambah.Enabled = False
                    BtnUbah.Enabled = True
                    BtnHapus.Enabled = True
                    BtnKoreksiStock.Enabled = True
                Case "Data Barang Pembelian"
                    FrmTransaksiBeli.CmbID.Text = "" & DGBarang.SelectedCells(0).Value & "/" & DGBarang.SelectedCells(1).Value & ""
                    Me.Close()
                Case "Data Barang Penjualan"
                    FrmTransaksiJual.CmbID.Text = "" & DGBarang.SelectedCells(0).Value & "/" & DGBarang.SelectedCells(1).Value & ""
                    Me.Close()
            End Select
        Catch
        End Try
    End Sub
    Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
        SQL = "Insert Into Tblbarang Values ('" & TxtID.Text & "','" & TxtNm.Text & "','" & vb.Left(CmbMerk.Text, 7) & "','" & vb.Left(CmbSatuan.Text, 7) & "','" & TxtHrgBeli.Text & "','" & TxtHrgJual.Text & "','" & TxtStock.Text & "')"
        Proses.ExecuteNonQuery(SQL)
        MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
    End Sub
    Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
        SQL = "Update tblBarang set Nama ='" & TxtNm.Text & "',  hrg_beli = '" & TxtHrgBeli.Text & "', hrg_jual = '" & TxtHrgJual.Text & "',stock = '" & TxtStock.Text & "' where id ='" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        MessageBox.Show("Data sudah diperbaiki...!!", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
    End Sub
    Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
        SQL = "delete from tblbarang where ID ='" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        MessageBox.Show("Data sudah dihapus...!!", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
    End Sub
    Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
        Call Atur()
    End Sub
    Private Sub BtnKoreksiStock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKoreksiStock.Click
        Dim Jumlah = InputBox("Masukkan jumlah barang", "Tambah stock")
        On Error GoTo Pesan
        Dim Tambah_Stock = Val(TxtStock.Text) + Val(Jumlah)
        SQL = "Update tblbarang set stock = '" & Tambah_Stock & "' where ID ='" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        MessageBox.Show("Penambahan stock berhasil!!", "Tambah stock", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
        Exit Sub
Pesan:
        MsgBox("Masukkan Angka")
    End Sub
    Private Sub BtnMerk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMerk.Click
        FrmMerk.Text = "Data Merk Barang"
        FrmMerk.ShowDialog()
    End Sub
    Private Sub BtnSatuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSatuan.Click
        FrmSatuan.Text = "Data Merk Satuan"
        FrmSatuan.ShowDialog()
    End Sub
    Private Sub TxtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtCari.TextChanged
        If RbNama.Checked = True Then
            TblBarang = Proses.ExecuteQuery("Select * From QryBarang where nama like '%" & TxtCari.Text & "%' order by id asc")
            DGBarang.DataSource = TblBarang
            DGBarang.Columns(0).Width = 50
            DGBarang.Columns(1).Width = 195
            DGBarang.Columns(6).Width = 50
        ElseIf RbMerk.Checked = True Then
            TblBarang = Proses.ExecuteQuery("Select * From QryBarang where merk like '%" & TxtCari.Text & "%' order by id asc")
            DGBarang.DataSource = TblBarang
            DGBarang.Columns(0).Width = 50
            DGBarang.Columns(1).Width = 195
            DGBarang.Columns(6).Width = 50
        ElseIf RbSatuan.Checked = True Then
            TblBarang = Proses.ExecuteQuery("Select * From QryBarang where satuan like '%" & TxtCari.Text & "%' order by id asc")
            DGBarang.DataSource = TblBarang
            DGBarang.Columns(0).Width = 50
            DGBarang.Columns(1).Width = 195
            DGBarang.Columns(6).Width = 50
        End If
    End Sub
End Class
  
Form Merk :
 



Coding : 




Public Class FrmMerk
    Dim SQL As String
    Dim Proses As New ClsKoneksi
    Dim tblMerk As DataTable
    Sub Data_Record()
        tblMerk = Proses.ExecuteQuery("Select * From TblMerk")
        DGMerk.DataSource = tblMerk
        DGMerk.Columns(0).Width = 50
        DGMerk.Columns(1).Width = 170
    End Sub
    Sub Kode_Otomatis()
        tblMerk = Proses.ExecuteQuery("Select * From Tblmerk order by ID desc")
        If tblMerk.Rows.Count = 0 Then
            TxtID.Text = "MRK-001"
        Else
            With tblMerk.Rows(0)
                TxtID.Text = .Item("ID")
            End With

            TxtID.Text = Val(Microsoft.VisualBasic.Mid(TxtID.Text, 5, 3)) + 1

            If Len(TxtID.Text) = 1 Then
                TxtID.Text = "MRK-00" & TxtID.Text & ""
            ElseIf Len(TxtID.Text) = 2 Then
                TxtID.Text = "MRK-0" & TxtID.Text & ""
            ElseIf Len(TxtID.Text) = 3 Then
                TxtID.Text = "MRK-" & TxtID.Text & ""
            End If

        End If
    End Sub
    Sub Atur()
        Call Data_Record()
        Call Kode_Otomatis()
        BtnTambah.Enabled = True
        BtnUbah.Enabled = False
        BtnHapus.Enabled = False
        TxtID.Enabled = False
        TxtNm.Text = ""
        TxtNm.Focus()
    End Sub
    Private Sub FrmJenisbarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Atur()
    End Sub
    Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
        If TxtNm.Text = "" Then TxtNm.Focus() : Exit Sub
        SQL = "Insert Into Tblmerk Values ('" & TxtID.Text & "','" & TxtNm.Text & "')"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub
    Private Sub DGMerk_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGMerk.DoubleClick
        Select Case Me.Text
            Case "Data Merk"
                TxtID.Text = DGMerk.SelectedCells(0).Value
                TxtNm.Text = DGMerk.SelectedCells(1).Value
                BtnUbah.Enabled = True
                BtnHapus.Enabled = True
                BtnTambah.Enabled = False
            Case "Data Merk Barang"
                FrmBarang.CmbMerk.Text = "" & DGMerk.SelectedCells(0).Value & "/" & DGMerk.SelectedCells(1).Value & ""
                Me.Close()
        End Select
    End Sub
    Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
        If TxtNm.Text = "" Then TxtNm.Focus() : Exit Sub
        SQL = "update Tblmerk set merk = '" & TxtNm.Text & "' where ID = '" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub
    Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
        SQL = "delete from tblmerk where ID = '" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub

    Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
        Call Atur()
    End Sub

    Private Sub DGMerk_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGMerk.CellContentClick

    End Sub
End Class  

Form Penjualan 
 



Coding :
  



Imports vb = Microsoft.VisualBasic
Public Class FrmTransaksiJual
    Dim SQL As String
    Dim Proses As New ClsKoneksi
    Dim TblTransaksi As DataTable
    Dim Data As DataSet
    Sub Data_Barang()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblBarang")
        If TblTransaksi.Rows.Count = 0 Then
        Else
            CmbID.Items.Clear()
            With TblTransaksi.Columns(1)
                For a = 0 To TblTransaksi.Rows.Count - 1
                    CmbID.Items.Add("" & .Table.Rows(a).Item(0) & "/" & .Table.Rows(a).Item(1) & "")
                Next a
            End With
        End If
    End Sub
    Sub Data_Record_Penjualan()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblTransaksi_Jual_Rinci where No_Faktur = '" & TxtFaktur.Text & "' ")
        DGTransaksi.DataSource = TblTransaksi
        DGTransaksi.Columns(0).Visible = False
        DGTransaksi.Columns(2).Width = 295
    End Sub
    Sub Faktur_Otomatis()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblTransaksi_Jual order by no_faktur desc")
        If TblTransaksi.Rows.Count = 0 Then
            TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-001"
        Else
            With TblTransaksi.Rows(0)
                TxtFaktur.Text = .Item("no_faktur")
            End With

            TxtFaktur.Text = Val(Microsoft.VisualBasic.Mid(TxtFaktur.Text, 12, 3)) + 1

            If Len(TxtFaktur.Text) = 1 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-00" & TxtFaktur.Text & ""
            ElseIf Len(TxtFaktur.Text) = 2 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-0" & TxtFaktur.Text & ""
            ElseIf Len(TxtFaktur.Text) = 3 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "" & TxtFaktur.Text & ""
            End If

        End If
    End Sub
    Sub Atur()
        CmbID.Text = ""
        TxtNmBrg.Text = ""
        TxtHrgJualBrg.Text = ""
        TxtStockBrg.Text = ""
        TxtJml.Text = ""
        TxtTotal.Text = ""
        CmbID.Focus()
        Call Data_Barang()
        Call Data_Record_Penjualan()
        Call Faktur_Otomatis()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Atur()
    End Sub
    Private Sub CmbID_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CmbID.TextChanged
        TblTransaksi = Proses.ExecuteQuery("Select * From Tblbarang where ID = '" & vb.Left(CmbID.Text, 3) & "'")
        If TblTransaksi.Rows.Count = 0 Then
        Else
            TxtNmBrg.Text = TblTransaksi.Rows(0).Item("nama")
            TxtHrgJualBrg.Text = TblTransaksi.Rows(0).Item("hrg_jual")
            TxtStockBrg.Text = TblTransaksi.Rows(0).Item("stock")
            TxtJml.Focus()
        End If
    End Sub
    Private Sub TxtJml_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtJml.KeyPress
        Select Case e.KeyChar
            Case Chr(47) To Chr(57)
                TxtJml.Focus()
            Case Chr(8)
                e.KeyChar = Chr(8)
            Case Chr(13)
                If TxtNmPembeli.Text = "" Then TxtNmPembeli.Focus() : Exit Sub
                If Val(TxtStockBrg.Text) < Val(TxtJml.Text) Then MsgBox("Maaf Stock Tidak Mencukupi") : Exit Sub

                Dim Total_Harga = Val(TxtJml.Text) * Val(TxtHrgJualBrg.Text)
                SQL = "Insert Into TblTransaksi_Jual_Rinci Values ('" & TxtFaktur.Text & "','" & vb.Left(CmbID.Text, 3) & "','" & TxtNmBrg.Text & "','" & TxtHrgJualBrg.Text & "','" & TxtJml.Text & "','" & Total_Harga & "')"
                Proses.ExecuteNonQuery(SQL)
                Dim Stock = Val(TxtStockBrg.Text) - Val(TxtJml.Text)
                SQL = "Update TblBarang set stock = '" & Stock & "' where ID = '" & vb.Left(CmbID.Text, 3) & "'"
                Proses.ExecuteNonQuery(SQL)

                CmbID.Text = ""
                TxtNmBrg.Text = ""
                TxtHrgJualBrg.Text = ""
                TxtStockBrg.Text = ""
                TxtJml.Text = ""
                CmbID.Focus()

                Call Data_Record_Penjualan()

                TxtTotal.Text = ""

                Dim i As Integer
                i = DGTransaksi.CurrentRow.Index
                For i = 0 To DGTransaksi.Rows.Count - 1
                    TxtTotal.Text = Format(Val(Replace(TxtTotal.Text, ".", "")) + Val(DGTransaksi.Item(5, i).Value), "#,#")
                Next

            Case Else
                e.KeyChar = Chr(0)
        End Select
    End Sub
    Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
        SQL = "Insert Into TblTransaksi_Jual Values ('" & TxtFaktur.Text & "','" & Format(Now, "yyyy/MM/dd") & "','" & TxtNmPembeli.Text & "','" & TxtTotal.Text & "')"
        Proses.ExecuteNonQuery(SQL)
        Call Faktur_Otomatis()
        Call Atur()
    End Sub
    Private Sub BtnBatalBeli_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatalJual.Click
        On Error GoTo Keluar
        Dim i As Integer
        i = DGTransaksi.CurrentRow.Index
        For i = 0 To DGTransaksi.Rows.Count - 1
            TblTransaksi = Proses.ExecuteQuery("select * from tblbarang where ID = '" & DGTransaksi.Item(3, i).Value & "'")
            If TblTransaksi.Rows.Count = 0 Then
            Else
                Dim Jumlah = Val(TblTransaksi.Rows(0).Item("stock")) + Val(DGTransaksi.Item(4, i).Value)
                SQL = "update tblbarang set stock = '" & CInt(Jumlah) & "' where id = '" & DGTransaksi.Item(3, i).Value & "'"
                Proses.ExecuteNonQuery(SQL)
            End If
        Next

        SQL = "delete from TblTransaksi_jual_rinci where no_faktur ='" & TxtFaktur.Text & "'"
        Proses.ExecuteNonQuery(SQL)

        MessageBox.Show("Transaksi sudah dibatalkan...!!", "Pembatalan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
        Call Faktur_Otomatis()
        Call Data_Record_Penjualan()
Keluar:
    End Sub
    Private Sub BtnBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBarang.Click
        FrmBarang.Text = "Data Barang Penjualan"
        FrmBarang.ShowDialog()
    End Sub

    Private Sub TxtJml_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtJml.TextChanged

    End Sub

    Private Sub CmbID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbID.SelectedIndexChanged

    End Sub
End Class


 Form Satuan





Coding :
  



Public Class FrmSatuan
    Dim SQL As String
    Dim Proses As New ClsKoneksi
    Dim tblMerk As DataTable
    Sub Data_Record()
        tblMerk = Proses.ExecuteQuery("Select * From TblSatuan")
        DGSatuan.DataSource = tblMerk
        DGSatuan.Columns(0).Width = 50
        DGSatuan.Columns(1).Width = 170
    End Sub
    Sub Kode_Otomatis()
        tblMerk = Proses.ExecuteQuery("Select * From Tblsatuan order by ID desc")
        If tblMerk.Rows.Count = 0 Then
            TxtID.Text = "STN-001"
        Else
            With tblMerk.Rows(0)
                TxtID.Text = .Item("ID")
            End With

            TxtID.Text = Val(Microsoft.VisualBasic.Mid(TxtID.Text, 5, 3)) + 1

            If Len(TxtID.Text) = 1 Then
                TxtID.Text = "STN-00" & TxtID.Text & ""
            ElseIf Len(TxtID.Text) = 2 Then
                TxtID.Text = "STN-0" & TxtID.Text & ""
            ElseIf Len(TxtID.Text) = 3 Then
                TxtID.Text = "STN-" & TxtID.Text & ""
            End If

        End If
    End Sub
    Sub Atur()
        Call Data_Record()
        Call Kode_Otomatis()
        BtnTambah.Enabled = True
        BtnUbah.Enabled = False
        BtnHapus.Enabled = False
        TxtID.Enabled = False
        TxtNm.Text = ""
        TxtNm.Focus()
    End Sub
    Private Sub FrmJenisbarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Atur()
    End Sub

    Private Sub DGSatuan_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGSatuan.CellDoubleClick

    End Sub

    Private Sub DGSatuan_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGSatuan.DoubleClick
        Select Case Me.Text
            Case "Data Satuan"
                TxtID.Text = DGSatuan.SelectedCells(0).Value
                TxtNm.Text = DGSatuan.SelectedCells(1).Value
                BtnUbah.Enabled = True
                BtnHapus.Enabled = True
                BtnTambah.Enabled = False
            Case "Data Satuan Barang"
                FrmBarang.CmbSatuan.Text = "" & DGSatuan.SelectedCells(0).Value & "/" & DGSatuan.SelectedCells(1).Value & ""
                Me.Close()
        End Select
    End Sub
    Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
        If TxtNm.Text = "" Then TxtNm.Focus() : Exit Sub
        SQL = "Insert Into Tblsatuan Values ('" & TxtID.Text & "','" & TxtNm.Text & "')"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub

    Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
        SQL = "delete from tblsatuan where ID = '" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub

    Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
        If TxtNm.Text = "" Then TxtNm.Focus() : Exit Sub
        SQL = "update Tblsatuan set satuan = '" & TxtNm.Text & "' where ID = '" & TxtID.Text & "'"
        Proses.ExecuteNonQuery(SQL)
        Call Atur()
    End Sub

    Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
        Call Atur()
    End Sub

    Private Sub DGMerk_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGSatuan.CellContentClick

    End Sub
End Class


 Form Pembelian





Coding :
 




Imports vb = Microsoft.VisualBasic
Public Class FrmTransaksiBeli
    Dim SQL As String
    Dim Proses As New ClsKoneksi
    Dim TblTransaksi As DataTable
    Dim Data As DataSet
    Sub Data_Barang()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblBarang")
        If TblTransaksi.Rows.Count = 0 Then
        Else
            CmbID.Items.Clear()
            With TblTransaksi.Columns(1)
                For a = 0 To TblTransaksi.Rows.Count - 1
                    CmbID.Items.Add("" & .Table.Rows(a).Item(0) & "/" & .Table.Rows(a).Item(1) & "")
                Next a
            End With
        End If
    End Sub
    Sub Data_Record_Pembelian()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblTransaksi_Beli_Rinci where No_Faktur = '" & TxtFaktur.Text & "' ")
        DGTransaksi.DataSource = TblTransaksi
        DGTransaksi.Columns(0).Visible = False
        DGTransaksi.Columns(2).Width = 295
    End Sub
    Sub Faktur_Otomatis()
        TblTransaksi = Proses.ExecuteQuery("Select * From TblTransaksi_Beli order by no_faktur desc")
        If TblTransaksi.Rows.Count = 0 Then
            TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-001"
        Else
            With TblTransaksi.Rows(0)
                TxtFaktur.Text = .Item("no_faktur")
            End With

            TxtFaktur.Text = Val(Microsoft.VisualBasic.Mid(TxtFaktur.Text, 12, 3)) + 1

            If Len(TxtFaktur.Text) = 1 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-00" & TxtFaktur.Text & ""
            ElseIf Len(TxtFaktur.Text) = 2 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "-0" & TxtFaktur.Text & ""
            ElseIf Len(TxtFaktur.Text) = 3 Then
                TxtFaktur.Text = "" + Format(Now, "dd/MM/yyyy") + "" & TxtFaktur.Text & ""
            End If

        End If
    End Sub
    Sub Atur()
        CmbID.Text = ""
        TxtNmBrg.Text = ""
        TxtHrgJualBrg.Text = ""
        TxtStockBrg.Text = ""
        TxtJml.Text = ""
        TxtTotal.Text = ""
        CmbID.Focus()
        Call Data_Barang()
        Call Data_Record_Pembelian()
        Call Faktur_Otomatis()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Atur()
    End Sub
    Private Sub CmbID_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CmbID.TextChanged
        TblTransaksi = Proses.ExecuteQuery("Select * From Tblbarang where ID = '" & vb.Left(CmbID.Text, 3) & "'")
        If TblTransaksi.Rows.Count = 0 Then
        Else
            TxtNmBrg.Text = TblTransaksi.Rows(0).Item("nama")
            TxtHrgJualBrg.Text = TblTransaksi.Rows(0).Item("hrg_beli")
            TxtStockBrg.Text = TblTransaksi.Rows(0).Item("stock")
            TxtJml.Focus()
        End If
    End Sub
    Private Sub TxtJml_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtJml.KeyPress
        Select Case e.KeyChar
            Case Chr(47) To Chr(57)
                TxtJml.Focus()
            Case Chr(8)
                e.KeyChar = Chr(8)
            Case Chr(13)
                If TxtNmPemasok.Text = "" Then TxtNmPemasok.Focus() : Exit Sub

                Dim Total_Harga = Val(TxtJml.Text) * Val(TxtHrgJualBrg.Text)
                SQL = "Insert Into TblTransaksi_Beli_Rinci Values ('" & TxtFaktur.Text & "','" & vb.Left(CmbID.Text, 3) & "','" & TxtNmBrg.Text & "','" & TxtHrgJualBrg.Text & "','" & TxtJml.Text & "','" & Total_Harga & "')"
                Proses.ExecuteNonQuery(SQL)
                Dim Stock = Val(TxtStockBrg.Text) + Val(TxtJml.Text)
                SQL = "Update TblBarang set stock = '" & Stock & "' where ID = '" & vb.Left(CmbID.Text, 3) & "'"
                Proses.ExecuteNonQuery(SQL)

                CmbID.Text = ""
                TxtNmBrg.Text = ""
                TxtHrgJualBrg.Text = ""
                TxtStockBrg.Text = ""
                TxtJml.Text = ""
                CmbID.Focus()

                Call Data_Record_Pembelian()

                TxtTotal.Text = ""

                Dim i As Integer
                i = DGTransaksi.CurrentRow.Index
                For i = 0 To DGTransaksi.Rows.Count - 1
                    TxtTotal.Text = Format(Val(Replace(TxtTotal.Text, ".", "")) + Val(DGTransaksi.Item(5, i).Value), "#,#")
                Next

            Case Else
                e.KeyChar = Chr(0)
        End Select
    End Sub
    Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
        SQL = "Insert Into TblTransaksi_Beli Values ('" & TxtFaktur.Text & "','" & Format(Now, "yyyy/MM/dd") & "','" & TxtNmPemasok.Text & "','" & TxtTotal.Text & "')"
        Proses.ExecuteNonQuery(SQL)
        Call Faktur_Otomatis()
        Call Atur()
    End Sub
    Private Sub BtnBatalBeli_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatalBeli.Click
        On Error GoTo Keluar
        Dim i As Integer
        i = DGTransaksi.CurrentRow.Index
        For i = 0 To DGTransaksi.Rows.Count - 1
            TblTransaksi = Proses.ExecuteQuery("select * from tblbarang where ID = '" & DGTransaksi.Item(3, i).Value & "'")
            If TblTransaksi.Rows.Count = 0 Then
            Else
                Dim Jumlah = Val(TblTransaksi.Rows(0).Item("stock")) - Val(DGTransaksi.Item(4, i).Value)
                SQL = "update tblbarang set stock = '" & CInt(Jumlah) & "' where id = '" & DGTransaksi.Item(3, i).Value & "'"
                Proses.ExecuteNonQuery(SQL)
            End If
        Next

        SQL = "delete from TblTransaksi_beli_rinci where no_faktur ='" & TxtFaktur.Text & "'"
        Proses.ExecuteNonQuery(SQL)

        MessageBox.Show("Transaksi sudah dibatalakan...!!", "Pembatalan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Call Atur()
        Call Faktur_Otomatis()
        Call Data_Record_Pembelian()
Keluar:
    End Sub
    Private Sub BtnBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBarang.Click
        FrmBarang.Text = "Data Barang Pembelian"
        FrmBarang.ShowDialog()
    End Sub

    Private Sub CmbID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbID.SelectedIndexChanged

    End Sub

    Private Sub TxtJml_TextChanged(sender As Object, e As EventArgs) Handles TxtJml.TextChanged

    End Sub

    Private Sub DGTransaksi_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGTransaksi.CellContentClick

    End Sub
End Class



 Class Koneksi


Imports System.Data
Imports System.Data.OleDb
Public Class ClsKoneksi
    Protected SQL As String
    Protected Cn As OleDb.OleDbConnection
    Protected Cmd As OleDb.OleDbCommand
    Protected Da As OleDb.OleDbDataAdapter
    Protected Ds As DataSet
    Protected Dt As DataTable
    Public Function OpenConn() As Boolean
        Cn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BUKU.accdb")
        Cn.Open()
        If Cn.State <> ConnectionState.Open Then
            Return False
        Else
            Return True
        End If
    End Function
    Public Sub CloseConn()
        If Not IsNothing(Cn) Then
            Cn.Close()
            Cn = Nothing
        End If
    End Sub
    Public Function ExecuteQuery(ByVal Query As String) As DataTable
        If Not OpenConn() Then
            MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed")
            Return Nothing
            Exit Function
        End If

        Cmd = New OleDb.OleDbCommand(Query, Cn)
        Da = New OleDb.OleDbDataAdapter
        Da.SelectCommand = Cmd

        Ds = New Data.DataSet
        Da.Fill(Ds)

        Dt = Ds.Tables(0)

        Return Dt

        Dt = Nothing
        Ds = Nothing
        Da = Nothing
        Cmd = Nothing

        CloseConn()

    End Function
    Public Sub ExecuteNonQuery(ByVal Query As String)
        If Not OpenConn() Then
            MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed..!!")
            Exit Sub
        End If

        Cmd = New OleDb.OleDbCommand
        Cmd.Connection = Cn
        Cmd.CommandType = CommandType.Text
        Cmd.CommandText = Query
        Cmd.ExecuteNonQuery()
        Cmd = Nothing
        CloseConn()
    End Sub
End Class

DataBase :




 



0 komentar:

Posting Komentar