Tutorial Pembuatan Penjualan Sparepart - Vb6

download Tutorial Pembuatan Penjualan Sparepart - Vb6

of 25

Transcript of Tutorial Pembuatan Penjualan Sparepart - Vb6

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    1/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    TUTORIAL PEMBUATAN APLIKASI PENJUALAN

    SUKU CADANG MOTOR SEDERHANA

    MENGGUNAKAN VISUAL BASIC 6.0

    Rizal Loa Wanda

    Loawanda.com | Macamateri.com

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    2/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PERSIAPAN AWAL

    Buat 1 directory/folder pada disk anda misal C:\SPAREPART , untuk menyimpan semua

    file project berikut juga databasenya.

    Setelah itu buat project baru pada VB 6.0 seperti biasa dan simpan semua project vb

    ke dalam folder project yang telah dibuat.

    PERSIAPAN DATABASE

    Database yang akan dipakai untuk membuat program ini adalah MS.Access, pertama

    tentukan dahulu tabel dan field-field yang akan terpakai, sebagai berikut:

    Database : SPAREPART

    Table : tb_petugas Table : tb_sparepart Table : tb_transaksi Table : tb_transaksi_final

    id_petugas id_sparepart no_transaksi no_transaksi

    nama_petugas nama_sparepart tgl_transaksi id_petugaspassword merk_sparepart id_sparepart total_harga

    stok jumlah_beli total_bayar

    harga_sparepart sub_total kembalian

    tgl_transaksi

    Keterangan :

    Cara pembuatan database menggunakan add ins :

    Pertama Buka Visual Basic 6.0, klik pada Menu Bar : Add Ins > Visual Data Manager ,lalu pilih File > New > Microsoft Acces > Version 7.0 MDB

    Setelah itu simpan file database tersebut dengan namaSPAREPART.mdb dan taruh

    kedalam folder project yang tadi telah dibuat.

    Masuk ke langkah selanjutnya yaitu pembuatan table dan field :

    Table Field

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    3/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Di Visual Data Manager (VisData) terdapat Database Window, Klik kanan pada

    properties > lalu ikuti proses yang ada digambar sesuai urutan nomornya, isi field

    sesuai pada tabel yang diatas.

    Ulangi Terus hingga semua table dan field terbuat, sehingga seperti ini :

    PEMBUATAN MODUL KONEKSI DATABASE

    Pastikan project anda telah terbuka (disini project1) Pilih pada menu bar Project > Add

    Module atau dapat juga melalui project panel seperti digambar.

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    4/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Ketikan kode berikut untuk mengkoneksikan ke database, juga untuk membuat

    recordset.

    * Pastikan nama databasenya sama dengan yang sebelumnya dibuat.

    Simpan dengan nama yang telah ditentukan (tidak perlu di ubahModule1.bas).

    Sebelum masuk tahap berikutnya, kita perlu menambah 1 component pada vb yaitu

    ADODC, dengan cara pilih pada menu bar Project > Components (CTRL+T),

    Check/centang pada Microsoft ADO Data Control 6.0

    Public koneksi As New ADODB.Connection

    Public rsSPAREPART As ADODB.RecordsetPublic rsSPAREPART2 As ADODB.Recordset

    Public Sub BukaDB()

    Set koneksi = New ADODB.Connection

    Set rsSPAREPART = New ADODB.Recordset

    Set rsSPAREPART2 = New ADODB.Recordset

    koneksi.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &

    "\SPAREPART.mdb"

    End Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    5/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    FORM-FORM YANG DIPERLUKANDisini saya memposisikan yang membaca tutorial ini terbiasa membuat form jadi tidak

    perlu saya jelaskan cara membuatnya. Serta CATATAN PENTINGpada tutorial ini juga

    hanya menjelaskan komponen dengan properties yang berhubungan langsung dengancoding, sehingga seperti label, gambar atau lainnya yang tidak dijelaskan berarti hanya

    untuk pelengkap.

    Form (name) Caption Filename (save)

    Menu Utama Form_utama (NAMA TOKO) Form_utama.frm

    Login Form_login Login Form_login.frm

    Data Petugas Form_petugas Data Petugas Form_petugas.frm

    Data Sparepart Form_sparepart Data Suku Cadang Form_sparepart.frm

    Transaksi Form_transaksi Transaksi Form_transaksi.frm

    *Ket : (name) dan Caption adalah properties form, pada (name) perhatikan besar kecilnya(CASESENSITIVE) karena akan berpengaruh pada pemanggilan form.

    Selanjutnya setting pada menu bar Project > Project Properties > Startup Objectpilih

    Form_utama, untuk menampilkan Form Utama bila program dijalankan.

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    6/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PEMBUATAN FORM UTAMA

    Component Name Caption Properties Lain

    CommandButton Command1 Spare Part -

    CommandButton Command2 Transaksi -Adodc Adodc1 - -

    Label LabelIDPetugas (BEBAS) Visible = False

    Menu Editor (Tools > Menu Editor [CTRL+E])

    * Ket : Nameberpengaruh terhadap coding (CASESENSITIVE)

    Caption Name

    Login login

    Entry Data entrydata--------------- Spare Part sparepart

    --------------- Petugas petugas

    Transaksi transaksi

    User user

    --------------- Logout logout

    Keluar keluar

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    7/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Coding Form Utama :

    Private Sub Form_Load()

    Adodc1.Visible = False

    entrydata.Enabled = Falsetransaksi.Enabled = False

    Command1.Visible = False

    Command2.Visible = False

    petugas.Enabled = False

    user.Visible = False

    LabelIDPetugas.Visible = False

    login.Visible = True

    End Sub

    Private Sub Command1_Click()

    Form_sparepart.Show

    End SubPrivate Sub Command2_Click()

    Form_transaksi.Show

    End Sub

    Private Sub keluar_Click()

    If MsgBox("Yakin Mau Keluar Dari Aplikasi?", vbOKCancel,

    "Tutup Jendela?") = vbOK Then

    Unload Me

    End If

    End Sub

    Private Sub login_Click()

    Form_login.ShowEnd Sub

    Private Sub logout_Click()

    Form_Load

    End Sub

    Private Sub petugas_Click()

    Form_petugas.Show

    End Sub

    Private Sub sparepart_Click()

    Command1_Click

    End Sub

    Private Sub transaksi_Click()Command2_Click

    End Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    8/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PEMBUATAN FORM LOGIN

    Component Name Caption Properties Lain

    TextBox Text1

    TextBox Text2 PasswordChar = *

    CommandButton Command1 Login -

    Coding Form Login :Private Sub Command1_Click()

    If Text1.Text = "" Or Text2.Text = "" Then

    MsgBox "Mohon Lengkapi Inputan", vbInformation, "Data Belum Lengkap"

    Else

    Call BukaDB

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select * From tb_petugas where id_petugas='" & Text1.Text &

    "' and password='" & Text2.Text & "'", koneksi

    If Not rsSPAREPART.EOF Then

    Form_utama.login.Visible = False

    Form_utama.logout.Visible = True

    Form_utama.transaksi.Enabled = True

    Form_utama.entrydata.Enabled = True

    Form_utama.Command1.Visible = True

    Form_utama.Command2.Visible = True

    Form_utama.user.Caption = rsSPAREPART!nama_petugas

    Form_utama.LabelIDPetugas.Caption = rsSPAREPART!id_petugas

    Form_utama.user.Visible = True

    Unload Me

    If rsSPAREPART!id_petugas = "admin" Then

    Form_utama.petugas.Enabled = True

    End If

    Else

    MsgBox "Login Gagal, Coba Lagi", vbCritical, "Login"End If

    End If

    End Sub

    Private Sub Text1_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = 13 And Not Text1.Text = "" Then

    Text2.SetFocus

    End If

    End Sub

    Private Sub Text2_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = 13 And Not Text2.Text = "" Then

    Command1_Click

    End IfEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    9/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PEMBUATAN FORM DATA PETUGAS

    Component Name Caption Properties Lain

    TextBox Text1

    TextBox Text2

    TextBox Text3 PasswordChar = *

    CommandButton Command1 -

    CommandButton BERSIH BERSIHCommandButton SIMPAN SIMPAN

    CommandButton UBAH UBAH

    CommandButton HAPUS HAPUS

    Data Data1 Data Petugas

    DBGrid DBGrid1

    Bila DBGrid tidak tersedia di toolbox, silahkan Add Component melalui Project >

    Components (CTRL+T) > Check/centang = Microsoft Data Bound Grid Control 5.0

    Coding Form Petugas :

    'FORM LOAD

    Private Sub Form_Load()

    Data1.DatabaseName = App.Path + "\SPAREPART.Mdb"

    Data1.RecordSource = "Select tb_petugas.id_petugas,

    tb_petugas.nama_petugas From tb_petugas"

    SIMPAN.Enabled = False

    HAPUS.Enabled = False

    UBAH.Enabled = FalseEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    10/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    'UNTUK LIHAT PASSWORD

    Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y

    As Single)

    Text3.PasswordChar = ""

    End Sub

    Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As

    Single)

    Text3.PasswordChar = "*"

    End Sub

    'ENTER Text1 Untuk Pengecekan Data

    Private Sub Text1_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = 13 And Not Text1.Text = "" Then

    Data1.RecordSource = "select * From tb_petugas where id_petugas='" & Text1 & "'"

    Data1.Refresh

    With Data1.Recordset

    If .EOF Then

    SIMPAN.Enabled = True

    HAPUS.Enabled = False

    UBAH.Enabled = False

    Text2.SetFocus

    Else

    Text1.Text = !id_petugasText2.Text = !nama_petugas

    Text3.Text = !Password

    Text1.Enabled = False

    Text2.Enabled = False

    Text3.Enabled = False

    SIMPAN.Enabled = False

    HAPUS.Enabled = True

    UBAH.Enabled = True

    BERSIH.SetFocus

    MsgBox "Maaf Data Sudah Ada", vbInformation, "Data Sudah Ada"

    End If

    End With

    End If

    End Sub

    'Enter untuk langsung fokus ke input selajutnya

    Private Sub Text2_KeyPress(KeyAscii As Integer)

    If KeyAscii = 13 And Not Text2.Text = "" Then

    Text3.SetFocus

    End If

    End Sub

    'BERSIH BUTTON

    Private Sub BERSIH_Click()

    On Error Resume Next

    Text1.Text = ""

    Text2.Text = ""

    Text3.Text = ""

    SIMPAN.Enabled = FalseHAPUS.Enabled = False

    UBAH.Enabled = False

    UBAH.Caption = "UBAH"

    Text1.Enabled = True

    Text2.Enabled = True

    Text3.Enabled = True

    Text1.SetFocus

    Data1.RecordSource = "Select tb_petugas.id_petugas, tb_petugas.nama_petugas From

    tb_petugas"

    Data1.RefreshEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    11/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    'SIMPAN BUTTON

    Private Sub SIMPAN_Click()

    On Error Resume Next

    If Trim(Text1 = "" Or Text2 = "" Or Text3 = "") Then

    MsgBox "Data Belum Dilengkapi", vbInformation, "Informasi"Else

    Data1.RecordSource = "Select * From tb_petugas Where id_petugas ='" &

    Text1.Text & "'"

    Data1.Refresh

    If Data1.Recordset.EOF Then

    With Data1.Recordset

    .AddNew

    !id_petugas = Text1.Text

    !nama_petugas = Text2.Text

    !Password = Text3.Text

    .Update

    End With

    End If

    End If

    BERSIH_Click

    End Sub

    'UBAH BUTTON

    Private Sub UBAH_Click()

    Text1.Enabled = False

    Text2.Enabled = True

    Text3.Enabled = True

    Data1.Recordset.Edit

    Data1.Recordset.Fields("nama_petugas") = Text2

    Data1.Recordset.Fields("password") = Text3

    Data1.Recordset.UpdateSIMPAN.Enabled = False

    HAPUS.Enabled = False

    UBAH.Caption = "SIMPAN"

    End Sub

    'HAPUS BUTTON

    Private Sub HAPUS_Click()

    On Error Resume Next

    Data1.RecordSource = "Select * From tb_petugas Where id_petugas ='" &

    Text1.Text & "'"

    Data1.Refresh

    X = MsgBox("Data Akan Dihapus ?", vbYesNo, "Delete")

    If X = vbYes ThenIf Not Data1.Recordset.EOF Then Data1.Recordset.Delete

    BERSIH_Click

    End IfEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    12/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PEMBUATAN FORM SPARE PART

    Component Name Caption Properties Lain

    TextBox Text1

    TextBox Text2

    TextBox Text3

    TextBox Text4

    TextBox Text5

    CommandButton BERSIH BERSIH

    CommandButton SIMPAN SIMPAN

    CommandButton UBAH UBAHCommandButton HAPUS HAPUS

    Data Data1 Data Suku Cadang

    DBGrid DBGrid1

    Coding Form Spare Part :

    'FORM LOAD

    Private Sub Form_Load()

    Data1.DatabaseName = App.Path + "\SPAREPART.Mdb"

    Data1.RecordSource = "Select * From tb_sparepart"

    SIMPAN.Enabled = False

    HAPUS.Enabled = False

    UBAH.Enabled = False

    End Sub

    'ENTER Text1 Untuk Pengecekan Data

    Private Sub Text1_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = 13 And Not Text1.Text = "" Then

    Data1.RecordSource = "select * From tb_sparepart where id_sparepart='" & Text1 &

    "'"

    Data1.Refresh

    With Data1.RecordsetIf .EOF Then

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    13/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    SIMPAN.Enabled = True

    HAPUS.Enabled = False

    UBAH.Enabled = False

    Text2.SetFocus

    Else

    Text1.Text = !id_sparepartText2.Text = !nama_sparepart

    Text3.Text = !merk_sparepart

    Text4.Text = !harga_sparepart

    Text5.Text = !stok

    Text1.Enabled = False

    Text2.Enabled = False

    Text3.Enabled = False

    Text4.Enabled = False

    Text5.Enabled = False

    SIMPAN.Enabled = False

    HAPUS.Enabled = True

    UBAH.Enabled = True

    BERSIH.SetFocus

    MsgBox "Maaf Data Sudah Ada", vbInformation, "Data Sudah Ada"

    End If

    End With

    End If

    End Sub

    'Enter untuk langsung fokus ke input selajutnya

    Private Sub Text2_KeyPress(KeyAscii As Integer)

    If KeyAscii = 13 And Not Text2.Text = "" Then

    Text3.SetFocus

    End If

    End Sub

    'BERSIH BUTTON

    Private Sub BERSIH_Click()

    On Error Resume NextText1.Text = ""

    Text2.Text = ""

    Text3.Text = ""

    Text4.Text = ""

    Text5.Text = ""

    SIMPAN.Enabled = False

    HAPUS.Enabled = False

    UBAH.Enabled = False

    UBAH.Caption = "UBAH"

    Text1.Enabled = True

    Text2.Enabled = True

    Text3.Enabled = True

    Text4.Enabled = True

    Text5.Enabled = True

    Text1.SetFocus

    Data1.RecordSource = "Select * From tb_sparepart"

    Data1.Refresh

    End Sub

    'SIMPAN BUTTON

    Private Sub SIMPAN_Click()

    On Error Resume Next

    If Trim(Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Or Text5 = "") Then

    MsgBox "Data Belum Dilengkapi", vbInformation, "Informasi"

    Else

    Data1.RecordSource = "Select * From tb_sparepart Where id_sparepart ='" &

    Text1.Text & "'"

    Data1.Refresh

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    14/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    If Data1.Recordset.EOF Then

    With Data1.Recordset

    .AddNew

    !id_sparepart = Text1.Text

    !nama_sparepart = Text2.Text

    !merk_sparepart = Text3.Text!harga_sparepart = Text4.Text

    !stok = Text5.Text

    .Update

    End With

    End If

    End If

    BERSIH_Click

    End Sub

    'UBAH BUTTON

    Private Sub UBAH_Click()

    Text1.Enabled = False

    Text2.Enabled = True

    Text3.Enabled = True

    Text4.Enabled = True

    Text5.Enabled = True

    Data1.Recordset.Edit

    Data1.Recordset.Fields("nama_sparepart") = Text2

    Data1.Recordset.Fields("merk_sparepart") = Text3

    Data1.Recordset.Fields("harga_sparepart") = Text4

    Data1.Recordset.Fields("stok") = Text5

    Data1.Recordset.Update

    SIMPAN.Enabled = False

    HAPUS.Enabled = False

    UBAH.Caption = "SIMPAN"

    End Sub

    'HAPUS BUTTON

    Private Sub HAPUS_Click()On Error Resume Next

    Data1.RecordSource = "Select * From tb_petugas Where id_petugas ='" & Text1.Text

    & "'"

    Data1.Refresh

    X = MsgBox("Data Akan Dihapus ?", vbYesNo, "Delete")

    If X = vbYes Then

    If Not Data1.Recordset.EOF Then Data1.Recordset.Delete

    BERSIH_Click

    End IfEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    15/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    PEMBUATAN FORM TRANSAKSI

    Component Name Caption Properties Lain

    Label LabelBintang (kosong) ForeColor=(MERAH)

    Label LabelNota -

    Label LabelTanggal 00/00/0000

    Label LabelStatus -

    Label LabelKode -

    Label LabelNama -

    Label LabelMerk -

    Label LabelHarga -

    Label LabelStok -

    Label LabelTotal 0

    Label LabelKembalian 0

    ListBox List1

    ListBox List2

    OptionButton Option1 Kode Value=TRUE

    OptionButton Option2 Nama Suku Cadang

    OptionButton Option3 Merk Suku Cadang

    TextBox TextQuery Visible=False

    TextBox TextSearch

    TextBox TextJumBel

    TextBox TextBayar

    CommandButton Command1 Cari

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    16/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    CommandButton BtnCart Masukkan Ke

    Keranjang

    CommandButton HapusCart KOSONGKAN

    KERANJANG

    CommandButton Bayar Proses

    CommandButton LihatNota Lihat Nota

    CommandButton CetakNota Cetak Nota

    CommandButton Command3 TRANSAKSI SELESAI

    Frame Frame4 Selesaikan

    Transaksi

    *KETERANGAN : yang berwarna HIJAUDibuat didalam Frame(FRAME4) GROUP.

    Coding Form Transaksi :

    Private Sub Form_Load()

    'UNTUK MEMBERSIHKAN TRANSAKSI

    LabelKode.Caption = "-"

    LabelNama.Caption = "-"

    LabelMerk.Caption = "-"

    LabelHarga.Caption = "-"

    LabelStok.Caption = "-"

    LabelTanggal.Caption = Format(Date, "ddd, dd-mmm-yyyy")

    Frame4.Width = 5055

    'Untuk Mengisi LIST 1

    List1.Clear

    List1.Enabled = True

    Call BukaDBIf rsSPAREPART.State = 1 Then rsSPAREPART.Close

    'UNTUK MENGAMBIL NO_TRANSAKSI YANG TERBESAR LALU DITAMBAH 1 UNTUK NOMOR

    SELANJUTNYA

    rsSPAREPART.Open "select COUNT(*) FROM tb_transaksi_final", koneksi

    If rsSPAREPART.Fields(0) < 1 Then

    LabelNota.Caption = 1

    Else

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select max(CLng(tb_transaksi_final.no_transaksi)) as

    nota From tb_transaksi_final", koneksi

    If rsSPAREPART.EOF Then

    LabelNota.Caption = 1

    Else

    LabelNota.Caption = Val(rsSPAREPART.Fields!nota) + 1End If

    End If

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    'HANYA YANG MEMPUNYAI STOK YANG TAMPIL DI LIST SUKU CADANG

    rsSPAREPART.Open "Select * From tb_sparepart Where stok > 0 " & query &

    "", koneksi

    If rsSPAREPART.EOF Then

    List1.Enabled = False

    LabelStatus.Caption = "Tidak Ada Stok Suku Cadang"Else

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    17/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Dim cnt As Integer

    rsSPAREPART.MoveFirst

    While Not rsSPAREPART.EOF

    cnt = cnt + rsSPAREPART.Fields!stok

    List1.AddItem (rsSPAREPART.Fields(0) & " | " & rsSPAREPART.Fields(1) &

    " | " & rsSPAREPART.Fields(2) & " | " & rsSPAREPART.Fields(3) & " | "& rsSPAREPART.Fields(4))

    rsSPAREPART.MoveNext

    Wend

    LabelStatus.Caption = "Jumlah Suku Cadang Yang Tersedia " & cnt

    End If

    End Sub

    Private Sub List1_Click()

    Dim newString As Variant

    'MEMECAH STRING YANG DIBUAT SEBELUMNYA DENGAN PEMISAH |

    newString = Split(Me.List1.List(Me.List1.ListIndex), " | ")

    LabelKode.Caption = newString(0)

    LabelNama.Caption = newString(1)

    LabelMerk.Caption = newString(2)

    LabelHarga.Caption = newString(4)

    LabelStok.Caption = newString(3)

    End Sub

    Private Sub Command1_Click()

    'MEMBUAT TAMBAHAN QUERY UNTUK PENCARIAN

    If Option1 = True Then

    TextQuery.Text = "AND id_sparepart='" & TextSearch.Text & "'"

    End If

    If Option2 = True Then

    TextQuery.Text = "AND nama_sparepart LIKE '%" & TextSearch.Text &

    "%'"

    End If

    If Option3 = True Then

    TextQuery.Text = "AND merk_sparepart LIKE '%" & TextSearch.Text &"%'"

    End If

    If TextSearch.Text = "" Then

    TextQuery.Text = ""

    End If

    List1.Clear

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select * From tb_sparepart Where stok > 0 " &

    TextQuery.Text, koneksi

    If rsSPAREPART.EOF Then

    List1.Enabled = False

    LabelStatus.Caption = "Tidak Ada Stok Suku Cadang"

    Else

    Dim cnt As Integer

    rsSPAREPART.MoveFirst

    While Not rsSPAREPART.EOF

    cnt = cnt + rsSPAREPART.Fields!stok

    List1.AddItem (rsSPAREPART.Fields(0) & " | " &

    rsSPAREPART.Fields(1) & " | " & rsSPAREPART.Fields(2) & " | " &

    rsSPAREPART.Fields(3) & " | " & rsSPAREPART.Fields(4))

    rsSPAREPART.MoveNext

    Wend

    List1.Enabled = True

    LabelStatus.Caption = "Jumlah Suku Cadang Yang Tersedia " & cnt

    End If

    End Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    18/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Private Sub TextSearch_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = 13 Then

    Command1_Click

    End If

    End SubPrivate Sub TextJumBel_Change()

    'HANYA ANGKA YANG DIPERBOLEHKAN, MELAKUKAN VALIDASI DATA DENGAN JUMLAH STOK

    If IsNumeric(LabelStok.Caption) Then

    If Val(LabelStok.Caption) < TextJumBel.Text Then

    TextJumBel.Text = LabelStok.Caption

    End If

    End If

    If TextJumBel.Text < 1 Then

    TextJumBel.Text = "1"

    End If

    If Not IsNumeric(TextJumBel.Text) Then

    TextJumBel.Text = "1"

    Else

    End If

    End Sub

    Private Sub UpDown1_DownClick()

    If TextJumBel.Text > 1 Then

    TextJumBel.Text = Val(TextJumBel.Text) - 1

    End If

    End Sub

    Private Sub UpDown1_UpClick()

    TextJumBel.Text = Val(TextJumBel.Text) + 1

    End Sub

    Private Sub BtnCart_Click()

    On Error Resume Next

    If Trim(LabelKode.Caption = "-" Or LabelNama.Caption = "-" Or

    LabelMerk.Caption = "-" Or LabelHarga.Caption = "-" Or LabelStok.Caption = "-") Then

    MsgBox "Mohon Suku Cadang Yang Ingin Dibeli Terlebih Dahulu",

    vbInformation, "Informasi"

    Else

    If TextJumBel > Val(LabelStok.Caption) Then

    MsgBox "Stok Tidak Mencukupi!", vbCritical, "Stok"

    Else

    Me.Height = 8655

    LabelBintang.Caption = "*"

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select * From tb_transaksi", koneksi, 1, 2

    With rsSPAREPART

    .AddNew

    !no_transaksi = LabelNota.Caption

    !tgl_transaksi = Format(Date)

    !id_sparepart = LabelKode.Caption

    !jumlah_beli = TextJumBel.Text

    !sub_total = Val(LabelHarga) * TextJumBel.Text

    .Update

    End With

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select * From tb_sparepart Where id_sparepart='" &

    LabelKode.Caption & "'", koneksi, 1, 2

    With rsSPAREPART

    !stok = !stok - TextJumBel.Text

    .Update

    End With

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    19/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Bayar.Enabled = True

    HapusCart.Enabled = True

    List2.AddItem (LabelNama.Caption & " | " & LabelMerk.Caption & " |

    " & TextJumBel.Text & " Item")

    Form_Load

    'UNTUK MENGHITUNG TOTAL BAYAR

    If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select sum(tb_transaksi.sub_total) As total From

    tb_transaksi Where no_transaksi='" & LabelNota.Caption & "'", koneksi, 1, 2

    If Not rsSPAREPART.EOF Then

    LabelTotal.Caption = rsSPAREPART.Fields!total

    End If

    End If

    End If

    End Sub

    Private Sub HapusCart_Click()

    'MELAKUKAN PENGEMBALIAN STOK, Menggunakan 2 recordset

    If rsSPAREPART.State = 1 Then rsSPAREPART.ClosersSPAREPART.Open "Select * From tb_transaksi Where no_transaksi='" &

    LabelNota.Caption & "'", koneksi, 1, 2

    While Not rsSPAREPART.EOF

    If rsSPAREPART2.State = 1 Then rsSPAREPART2.Close

    rsSPAREPART2.Open "Select * From tb_sparepart Where

    id_sparepart='" & rsSPAREPART.Fields!id_sparepart & "'", koneksi, 1, 2

    With rsSPAREPART2

    !stok = !stok + rsSPAREPART.Fields!jumlah_beli

    .Update

    End With

    rsSPAREPART.Delete

    rsSPAREPART.Update

    rsSPAREPART.MoveNext

    Wend

    List2.Clear

    LabelBintang.Caption = ""

    LabelTotal.Caption = "0"

    LabelKembalian.Caption = "0"

    TextBayar.Text = ""

    Form_Load

    End Sub

    Private Sub Bayar_Click()

    LabelKembalian.Caption = Val(TextBayar.Text) - Val(LabelTotal.Caption)

    If Val(TextBayar.Text) < Val(LabelTotal.Caption) Then

    MsgBox "Masa Iya Bayarnya Kurang", vbInformation, "Kurang"

    Else

    Frame4.Width = 11895If rsSPAREPART.State = 1 Then rsSPAREPART.Close

    rsSPAREPART.Open "Select * From tb_transaksi_final", koneksi, 1, 2

    With rsSPAREPART

    .AddNew

    !no_transaksi = LabelNota.Caption

    !id_petugas = Form_utama.LabelIDPetugas.Caption

    !total_harga = LabelTotal.Caption

    !total_bayar = TextBayar.Text

    !kembalian = LabelKembalian.Caption

    !tgl_transaksi = Format(Date)

    .Update

    End With

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    20/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Bayar.Enabled = False

    BtnCart.Enabled = False

    HapusCart.Enabled = False

    List2.Clear

    End If

    End Sub

    Private Sub LihatNota_Click()

    If DataEnvironment1.rsTransaksi_Grouping.State = adStateOpen Then

    DataEnvironment1.rsTransaksi_Grouping.Close

    DataEnvironment1.Transaksi_Grouping LabelNota.Caption

    DataReport1.Show

    End Sub

    Private Sub CetakNota_Click()

    If DataEnvironment1.rsTransaksi_Grouping.State = adStateOpen Then

    DataEnvironment1.rsTransaksi_Grouping.Close

    DataEnvironment1.Transaksi_Grouping LabelNota.Caption

    DataReport1.PrintReport True

    End Sub

    Private Sub Command3_Click()

    LabelBintang.Caption = ""

    HapusCart.Enabled = True

    Me.Height = 6420

    BtnCart.Enabled = True

    Form_Load

    End Sub

    Private Sub Form_Unload(Cancel As Integer)

    'UNTUK MENAHAN USER YANG BELUM MENYELESAIKAN TRANSAKSI TAPI MENUTUP WINDOW

    Cancel = True

    If LabelBintang.Caption = "*" Then

    MsgBox "Transaksi Belum Diselesaikan!!! Selesaikan Atau Kosongkan Keranjang

    Belanja", vbCritical, "TRANSAKSI PENDING"Else

    If MsgBox("Yakin Mau Keluar?", vbOKCancel, "Tutup Jendela?") = vbOK Then

    Cancel = False

    Unload Me

    End If

    End IfEnd Sub

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    21/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    MEMBUAT DATAENVIRONMENT DAN

    DATAREPORT UNTUK CETAK NOTA

    Pada menubar pilih Project > Add Data Environment, maka akan muncul jendela baru,

    SAVE terlebih dahulu dengan nama DataEnvironment1.Dsr.

    Lalu Klik kanan pada Connection1, di tab Provider pilih Microsoft Jet 4.0 OLE Provider,

    Next, Select Database > pilih database yang telah dibuat (SPAREPART.mdb) > Test

    Connection, bila sukses berarti langkah sebelumnya sudah benar, Klik OK.

    Selanjutnya padaConnection1, klik kanan Add Command, Klik kanan padaCommand

    > Rename menjadiTransaksi.

    Setelah itu Klik kanan pada Transaksi, pilih Properties, pada Tab General, pilih SQL

    Statement, anda dapat membuat sendiri melalui sql builder ataupun langsung

    merelasikan dengan kode SQL, seperti berikut :

    SELECT tb_transaksi_final.tgl_transaksi, tb_transaksi_final.total_bayar,

    tb_transaksi_final.total_harga, tb_transaksi_final.kembalian,

    tb_petugas.nama_petugas, tb_transaksi.sub_total, tb_transaksi.jumlah_beli,

    tb_sparepart.harga_sparepart, tb_sparepart.merk_sparepart,

    tb_sparepart.nama_sparepart, tb_transaksi.no_transaksi AS Expr1,

    tb_transaksi_final.no_transaksi FROM tb_transaksi_final, tb_petugas,

    tb_transaksi, tb_sparepart WHERE tb_transaksi_final.id_petugas =

    tb_petugas.id_petugas AND tb_transaksi_final.no_transaksi =

    tb_transaksi.no_transaksi AND tb_transaksi.id_sparepart =tb_sparepart.id_sparepart AND (tb_transaksi.no_transaksi = ?)

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    22/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    Dengan cara merelasikan lewat SQL Builder :

    Relasikan seperti yang digambar, pilih field/column yang ingin ditampilkan.

    Pada no_transaksi (table : tb_transaksi) dibuat criteria =? untuk menangkap data dari

    form transaksi yaitu where no_transaksi = yang berada pada form transaksi.

    Setelah semua ter-hubung, SAVE dan klik kanan kembali pada Transaksi, pilih

    Properties > Tab Grouping > Check/centangGroup Command Object lalu pilih

    tgl_transaksi, total_bayar, total_harga, kembalian, nama_petugas, no_transaksi

    Apply dan Ok.

    Jika berhasil maka akan seperti digambar.

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    23/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    BUAT DATA REPORT

    Project > Add Data Report maka akan muncul jendela desain report , SAVE dengan

    nama default : DataReport1.Dsr . klik kanan pada desain report, pilih Insert GroupHeader/Footer , maka akan muncul section6 dan section7.

    Lalu drag n drop data yang ingin ditampilkan sesuai group ataupun detail, (lihat

    gambar)

    Menjadi seperti ini :

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    24/25

    Rizal Loa Wandaloawanda.com | macamateri.com

    HASIL PROGRAM

    Menu Utama

    Menu Entry Data dan Transaksi akan aktif bila user berhasil login, dan hanya petugas

    yang mempunyai id adminyang dapat menambah/menghapus/mengubah data

    petugas. Bila ingin mengubahnya edit kode di Form_login bagian :

    Data Petugas

    If rsSPAREPART!id_petugas = "admin" Then

    Form_utama.petugas.Enabled = TrueEnd If

  • 7/24/2019 Tutorial Pembuatan Penjualan Sparepart - Vb6

    25/25

    Data Suku Cadang

    Transaksi Penjualan

    Contoh pembelian yang sudah selesai dan siap dicetak bukti transaksinya.

    Untuk Demo Program dan Source Program dapat dilihat melalui tautan dibawah ini :

    http://loawanda.com/vbsparepart/atauhttp://macamateri.com/?p=100

    Sekian Tutorial Pembuatan Aplikasi Sederhana Penjualan Suku Cadang

    Motor VB6.0 ini semoga bermanfaat, Terima kasih.

    http://loawanda.com/vbsparepart/http://loawanda.com/vbsparepart/http://macamateri.com/?p=100http://macamateri.com/?p=100http://macamateri.com/?p=100http://macamateri.com/?p=100http://loawanda.com/vbsparepart/