Anda di halaman 1dari 29

M

UUSRUSMAWAN.C

PANDUAN MEMBUAT APLIKASI PEMESANAN


DAN PENGIRIMAN BARANG DENGAN VB.NET
Sebelum membahas aplikasi pemesanan dan pengiriman barang ini, anda harus menyiapkan
database dengan cara attach atau restore seperti yang telah dibahas pada bab sebelumnya. Jika
anda ingin memulainya dari awal maka ikutilah langkah-langkah yang akan dijelaskan di bawah ini.

6.1 Membuat Database


Untuk membuat database lakukanlah langkah-langkah di bawah ini:

1. Buka sql server

2. Klik kanan databases > new database

3. Ketik nama database baru misal DBPemesanan

4. Klik OK

1
M
UUSRUSMAWAN.C
6.2 Membuat Tabel
Setelah membuat database, lanjutkan dengan membuat beberapa buah tabel yang diperlukan
antara lain :

1. Tabel User

2. Tabel Barang

3. Tabel Customer

4. Tabel Kurir

5. Tabel Pesanan

6. Tabel DetailPesanan

7. Tabel Kiriman

8. Tabel DetailKiriman

Struktur masing-masing tabel dapat dilihat pada gambar-gambar berikut ini:

2
M
UUSRUSMAWAN.C

3
M
UUSRUSMAWAN.C

Bentuk relasi tabel dapat anda lihat seperti gambar di bawah ini. Gambar ini diambil dari hasil
relasi menggunakan crystal report. Konsep relasi pada tabel ini adalah One To Many level 3NF.

6.3 Membuat Project Baru


Setelah dipastikan desain semua tabel dapat terhubung dengan baik, maka segera lanjutkan
dengan membuat project baru dengan nama Aplikasi Pemesanan dan pengiriman Barang.

4
M
UUSRUSMAWAN.C
6.3.1 Memberi Nama Project

6.3.2 Membuat Module


Setelah project terbuka, buatlah module dengan cara sebagai berikut:

1. Klik menu project

2. Pilih add module

3. Klik add

4. Lalu ketik koding berikut ini

Imports System.Data.SqlClient

Module Module1
Public CONN As SqlConnection
Public DA As SqlDataAdapter
Public DS As New DataSet
Public CMD As SqlCommand
Public DR As SqlDataReader
Public STR As String

Sub Koneksi()
STR = "data source=user-pc\sqlexpress;initial
catalog=DBPemesanan;integrated security =true"
CONN = New SqlConnection(STR)
If CONN.State = ConnectionState.Closed Then
CONN.Open()
End If
End Sub
End Module

5
M
UUSRUSMAWAN.C
6.4 Form login

Logika program dalam form login dalam buku semuanya hampir sama. Silakan lihat kembali logika
program login pada aplikasi pembayaran SPP.

Coding :

Imports System.Data.SqlClient

Public Class Login

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
TextBox2.Focus()
End If
End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click

Mencari nama dan password user, jika datanya ditemukan maka tampil
menuutama dan masing-masing panel diisi dengan data user yang login

Call Koneksi()
CMD = New SqlCommand("select * from tbluser where nama_user='"
& TextBox1.Text & "' and pwd_user='" & TextBox2.Text & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
MsgBox("Login gagal, Password Case Sensitive")
TextBox1.Clear()
TextBox2.Clear()
TextBox1.Focus()
Else
Me.Visible = False
MenuUtama.Show()

6
M
UUSRUSMAWAN.C
MenuUtama.Panel1.Text = DR.Item("kode_user")
MenuUtama.Panel2.Text = DR.Item("nama_user")
MenuUtama.Panel3.Text = DR.Item("statuS_user")

If MenuUtama.Panel3.Text = "USER" Or MenuUtama.Panel3.Text


= "OPERATOR" Then
MenuUtama.UserToolStripMenuItem.Enabled = False
Else
MenuUtama.UserToolStripMenuItem.Enabled = True
End If
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
End
End Sub

End Class

6.5 Form Menu Utama


Dalam menu utama terdapat objek PictureBox yang digunakan untuk menampilkan gambar
background agar tampilan aplikasi lebih menarik.

7
M
UUSRUSMAWAN.C
6.6 Form User

Pada bab ini dibuatkan model pengolahan data master yang berbeda dengan bab sebelumnya,
yaitu proses input, edit dan delete harus diawali dengan melakukan klik pada button TAMBAH.
Konsekuensinya pembuatan program menjadi lebih banyak karena harus mengendalikan button-
button.

Coding :
Imports System.Data.SqlClient

Public Class MasterUser

Sub Kosongkan()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
ComboBox1.Text = ""
TextBox5.Clear()
End Sub

Sub DataBaru()
TextBox2.Clear()
TextBox3.Clear()
ComboBox1.Text = ""
TextBox5.Clear()
TextBox2.Focus()
End Sub

8
M
UUSRUSMAWAN.C
Sub Ketemu()
On Error Resume Next
TextBox2.Text = DR.Item("nama_User")
TextBox3.Text = DR.Item("Pwd_user")
ComboBox1.Text = DR.Item("Status_User")
TextBox2.Focus()
End Sub

Sub KondisiAwal()
BTNTambah.Enabled = True
BTNTutup.Enabled = True

BTNSimpan.Enabled = False
BTNEdit.Enabled = False
BTNHapus.Enabled = False
BTNBatal.Enabled = False
BTNTambah.Focus()

TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
ComboBox1.Enabled = False
End Sub

Sub KondisiSimpan()
BTNTambah.Enabled = False
BTNSimpan.Enabled = True
BTNEdit.Enabled = False
BTNHapus.Enabled = False
BTNBatal.Enabled = True
BTNTutup.Enabled = False

TextBox2.Enabled = True
TextBox3.Enabled = True
ComboBox1.Enabled = True
TextBox2.Focus()
End Sub

Sub KondisiEdiHapus()
BTNTambah.Enabled = False
BTNSimpan.Enabled = False
BTNEdit.Enabled = True
BTNHapus.Enabled = True
BTNBatal.Enabled = True
BTNTutup.Enabled = False

TextBox1.Enabled = False
TextBox2.Enabled = True
TextBox3.Enabled = True
ComboBox1.Enabled = True
TextBox2.Focus()
End Sub

Sub TampilGrid()
Call Koneksi()
DA = New SqlDataAdapter("select * from tblUser", CONN)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub

9
M
UUSRUSMAWAN.C
Private Sub MasterUser_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Kosongkan()
Call TampilGrid()
Call KondisiAwal()
BTNTambah.Focus()
End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 5
If e.KeyChar = Chr(13) Then
Mencari data user, jika datanya tidak ada maka akan ditampilkan jika
data tidak ada maka dianggap data baru

Call Koneksi()
CMD = New SqlCommand("select * from tblUser where
kode_User='" & TextBox1.Text & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
Call DataBaru()
Call KondisiSimpan()
Else
Call Ketemu()
Call KondisiEdiHapus()
End If
End If
End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar = Chr(13) Then TextBox3.Focus()
End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If e.KeyChar = Chr(13) Then ComboBox1.Focus()
End Sub

Private Sub combobox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
If e.KeyChar = Chr(13) Then
If ComboBox1.Text <> "ADMIN" And ComboBox1.Text <>
"OPERATOR" And ComboBox1.Text <> "USER" Then
MsgBox("Status user tidak valid, pilih saja dalam
combo")
Exit Sub
End If
If BTNSimpan.Enabled = True Then
BTNSimpan.Focus()
ElseIf BTNEdit.Enabled = True Then
BTNEdit.Focus()
End If
End If
If ((e.KeyChar >= "0" And e.KeyChar <= "9") And e.KeyChar <>
vbBack) Then e.Handled = True
End Sub

10
M
UUSRUSMAWAN.C
Private Sub BTNTambah_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles BTNTambah.Click
BTNTambah.Enabled = False
BTNBatal.Enabled = True
TextBox1.Enabled = True
TextBox1.Focus()
End Sub

Private Sub BTNSimpan_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNSimpan.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text =
"" Or ComboBox1.Text = "" Then
MsgBox("Data Belum lengkap")
Exit Sub
Else
Call Koneksi()
Menyimpan data ke tabel user

CMD = New SqlCommand("insert into tblUser values ('" &


TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','"
& ComboBox1.Text & "')", CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call TampilGrid()
Call KondisiAwal()
End If
End Sub

Private Sub BTNEdit_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNEdit.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text =
"" Or ComboBox1.Text = "" Then
MsgBox("Data Belum lengkap")
Exit Sub
Else
Call Koneksi()
Mengedit data user

CMD = New SqlCommand("update tblUser set Nama_User='" &


TextBox2.Text & "',Pwd_user='" & TextBox3.Text & "',Status_User='" &
ComboBox1.Text & "' where kode_User='" & TextBox1.Text & "'", CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call TampilGrid()
Call KondisiAwal()
End If
End Sub

Private Sub BTNHapus_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNHapus.Click
If MessageBox.Show("Yakin akan dihapus...", "Peratian",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Call Koneksi()
Menghapus data user

CMD = New SqlCommand("delete from tblUser where


kode_User='" & TextBox1.Text & "'", CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call TampilGrid()
Call KondisiAwal()

11
M
UUSRUSMAWAN.C
Else
Call Kosongkan()
Call KondisiAwal()
End If
End Sub

Private Sub BTNBatal_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNBatal.Click
Call Kosongkan()
Call KondisiAwal()
End Sub

Private Sub BTNTutup_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles BTNTutup.Click
Me.Close()
End Sub

Private Sub TextBox5_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles TextBox5.TextChanged
Call Koneksi()
DA = New SqlDataAdapter("select * from tblUser where nama_User
like '%" & TextBox5.Text & "%' or status_user like '%" & TextBox5.Text
& "%'", CONN)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
End Sub

Private Sub DGV_CellMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DGV.CellMouseClick
On Error Resume Next
TextBox1.Text = DGV.Rows(e.RowIndex).Cells(0).Value
TextBox2.Text = DGV.Rows(e.RowIndex).Cells(1).Value
TextBox3.Text = DGV.Rows(e.RowIndex).Cells("Pwd_user").Value
ComboBox1.Text =
DGV.Rows(e.RowIndex).Cells("Status_User").Value
Call KondisiEdiHapus()
End Sub

Private Sub ComboBox1_LostFocus(ByVal sender As Object, ByVal e As


System.EventArgs) Handles ComboBox1.LostFocus
If ComboBox1.Text <> "ADMIN" And ComboBox1.Text <> "OPERATOR"
And ComboBox1.Text <> "USER" Then
MsgBox("Status user tidak valid, pilih saja dalam combo")
Exit Sub
End If
End Sub
End Class

12
M
UUSRUSMAWAN.C
6.7 Form Barang

6.8 Form Customer

13
M
UUSRUSMAWAN.C
6.9 Form Kurir

6.10 Form Pemesanan Barang


Sebelum membahas lebih jauh tentang pemesanan barang, sebaiknya kita pahami proses
bisnisnya.

1. Customer memesan barang (cara pembayaran boleh cash atau dengan uang muka)

2. Jumlah barang yang tidak tersedia akan diberi catatan Barang Kurang sekian

3. Setelah proses entri pesanan, langsung cetak faktur pesanan agar petugas mencari
(menyiapkan barang) yang dipesan di gudang

4. Setelah semua barang pesanan disiapkan, lanjutkan ke proses pengiriman oleh kurir

5. Pemesanan yang dilakukan dengan DP, akan diminta pelunasan oleh kurir saat barang
dikirimkan (catatannya tercantum dalam faktur pengiriman barang)

6. Setelah kurir mengirimkan barang ke customer, kurir kembali lagi ke toko (gudang) untuk
validasi pengiriman sekaligus update status pemesanan menjadi SUDAH DITERIMA
CUSTOMER

7. Proses update inipun terjadi pada kolom status pembayaran dan sisa

14
M
UUSRUSMAWAN.C

Coding :

Imports System.Data.SqlClient

Public Class Pemesanan

Membuat nomor pemesanan otomatis dengan pola PSyyMMdd + nomor urut

Sub Nomorotomatis()
Call Koneksi()
CMD = New SqlCommand("select * from tblPesanan where
No_Pesanan in(select max(No_Pesanan) from tblPesanan)", CONN)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
LBLNomor.Text = "PS" + Format(Now, "yyMMdd") + "01"
Else
If Microsoft.VisualBasic.Mid(DR.Item("No_Pesanan"), 3, 6)
= Format(Now, "yyMMdd") Then
LBLNomor.Text =
Microsoft.VisualBasic.Right(DR.Item("No_Pesanan"), 8) + 1
LBLNomor.Text = "PS" + LBLNomor.Text
Else
LBLNomor.Text = "PS" + Format(Now, "yyMMdd") + "01"
End If
End If
End Sub

Menampilkan customer di combobox1

Sub TampilCustomer()
Call Koneksi()
CMD = New SqlCommand("select * from tblcustomer", CONN)
DR = CMD.ExecuteReader
Do While DR.Read
ComboBox1.Items.Add(DR.Item("kode_customer") & Space(2) &
DR.Item("nama_customer"))
Loop

15
M
UUSRUSMAWAN.C
End Sub

Private Sub Pemesanan_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Nomorotomatis()
Call TampilCustomer()
End Sub

Menghitung jumlah barang di kolom qty pesanan

Sub HitungBarang()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(5).Value
LBLTotalBarang.Text = FormatNumber(hitung, 0)
Next
End Sub

Menghitung total harga di kolom sub total

Sub HitungHarga()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(6).Value
LBLTotalHarga.Text = FormatNumber(hitung, 0)
Next
End Sub

Proses entri data dalam datagrid adalah sebagai berikut :

1. Pilih tanggal transaksi

2. Pilih customer pada combobox

3. Ketik kode barang di kolom kode misal B01, jika datanya ada maka akan tampil nama barang,
harga dan stok

4. Jika data tidak ada maka akan tampil daftar nama barang berikut kodenya, silakan pilih
datanya lalu tekan enter

5. Ketik jumlah pesanan dari customer, jika stok cukup maka pesanan terpenuhi, jika stok kurang
maka akan muncul keterangan jumlah kekurangannya

6. Mengisi uang muka (DP) sifanya opsional, apakah lebih kecil dari jumlah total harga, lebih
besar ataupun sama dengan jumlah total harga akan mempengaruhi proses program
selanjutnya

7. Ketika di klik button simpan maka akan muncul pertanyaan untuk pencetakan faktur
pemesanan barang.

Coding :

16
M
UUSRUSMAWAN.C
Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DGV.CellEndEdit
If e.ColumnIndex = 0 Then
Call Koneksi()
CMD = New SqlCommand("select * from tblbarang where
kode_barang='" & DGV.Rows(e.RowIndex).Cells(0).Value & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DGV.Rows(e.RowIndex).Cells(1).Value =
DR.Item("Nama_barang")
DGV.Rows(e.RowIndex).Cells(2).Value =
DR.Item("harga_Barang")
DGV.Columns(2).DefaultCellStyle.Format = "###,###,###"
DGV.Rows(e.RowIndex).Cells(3).Value = DR.Item("stok")
DGV.CurrentCell = DGV(4, DGV.CurrentCell.RowIndex)
SendKeys.Send("{UP}")
Else
Try
MsgBox("Kode barang tidak terdaftar")
DGV.Rows(e.RowIndex).Cells(0).Value = ""
DaftarBarang.Show()
DGV.Rows.RemoveAt(DGV.CurrentCell.RowIndex)
SendKeys.Send("{down}")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End If

Try
If e.ColumnIndex = 4 Then
If DGV.Rows(e.RowIndex).Cells(4).Value >
DGV.Rows(e.RowIndex).Cells(3).Value Then
DGV.Rows(e.RowIndex).Cells(5).Value =
DGV.Rows(e.RowIndex).Cells(3).Value
DGV.Rows(e.RowIndex).Cells(6).Value =
DGV.Rows(e.RowIndex).Cells(2).Value *
DGV.Rows(e.RowIndex).Cells(4).Value
DGV.Rows(e.RowIndex).Cells(7).Value = "Barang
Kurang " & DGV.Rows(e.RowIndex).Cells(4).Value -
DGV.Rows(e.RowIndex).Cells(3).Value & ""
ElseIf DGV.Rows(e.RowIndex).Cells(4).Value <=
DGV.Rows(e.RowIndex).Cells(3).Value Then
DGV.Rows(e.RowIndex).Cells(5).Value =
DGV.Rows(e.RowIndex).Cells(4).Value
DGV.Rows(e.RowIndex).Cells(6).Value =
DGV.Rows(e.RowIndex).Cells(2).Value *
DGV.Rows(e.RowIndex).Cells(4).Value
DGV.Rows(e.RowIndex).Cells(7).Value = "OK"
End If
DGV.Columns(6).DefaultCellStyle.Format = "###,###,###"
DGV.CurrentCell = DGV(0, DGV.CurrentCell.RowIndex)
Call HitungBarang()
Call HitungHarga()
End If
Catch ex As Exception
MsgBox("harus angka")
DGV.Rows(e.RowIndex).Cells(4).Value = 0
SendKeys.Send("{up}")
End Try

17
M
UUSRUSMAWAN.C
End Sub

Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress
On Error Resume Next
If e.KeyChar = Chr(27) Then
Menghapus baris tertentu dan menghitungkembali jumlah harga dan jumlah
barang

DGV.Rows.RemoveAt(DGV.CurrentCell.RowIndex)
Call HitungBarang()
Call HitungHarga()
End If

If e.KeyChar = Chr(13) Then


TXTUangMuka.Focus()
End If
End Sub

Private Sub TxtUangMuka_KeyPress(ByVal sender As Object, ByVal e


As System.Windows.Forms.KeyPressEventArgs) Handles
TXTUangMuka.KeyPress
If e.KeyChar = Chr(13) Then

Proses pembayaran akan mempengaruhi status pesanan dan pembayaran

TXTUangMuka.Text = FormatNumber(TXTUangMuka.Text, 0)
If TXTUangMuka.Text < LBLTotalHarga.Text Then
LBLSisa.Text = FormatNumber((LBLTotalHarga.Text) -
(TXTUangMuka.Text), 0)
LBLStatusPembayaran.Text = "BELUM LUNAS"
Button1.Focus()
End If

If TXTUangMuka.Text = LBLTotalHarga.Text Then


LBLSisa.Text = 0
LBLStatusPembayaran.Text = "LUNAS"
Button1.Focus()
End If

If Val(Microsoft.VisualBasic.Str(TXTUangMuka.Text)) >
Val(Microsoft.VisualBasic.Str(LBLTotalHarga.Text)) Then
LBLSisa.Text = 0
LBLStatusPembayaran.Text = "LUNAS"
Button1.Focus()
End If
LBLStatusPesanan.Text = "BELUM DIKIRIM"
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub

Sub Bersihkan()
ComboBox1.Text = ""
LBLTotalBarang.Text = ""
LBLTotalHarga.Text = ""
TXTUangMuka.Text = ""
LBLSisa.Text = ""

18
M
UUSRUSMAWAN.C
LBLStatusPembayaran.Text = ""
LBLStatusPesanan.Text = ""
DGV.Rows.Clear()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
Call Bersihkan()
End Sub
End Class

6.11 Form Pengiriman Barang


Proses transaksi dalam form pengiriman barang adalah sebagai berikut :

1. Nomor pengiriman muncul secara otomatis dengan pola KRyyMMdd + 01

2. Pilih tanggal pengiriman

3. Pilih nomor pesanan

4. Pilih kurir

5. Klik simpan

Transaksi pengiriman barang diambil dari nomor pemesanan customer sebelumnya. Jika proses ini
sudah dilakukan maka nomor pemesanan tersebut akan hilang dari combo.

19
M
UUSRUSMAWAN.C

Coding :

Imports System.Data.SqlClient

Public Class Pengiriman

Sub Nomorotomatis()
Call Koneksi()
CMD = New SqlCommand("select * from tblkiriman where
No_Kiriman in(select max(No_Kiriman) from tblkiriman)", CONN)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
LBLNomor.Text = "KR" + Format(Now, "yyMMdd") + "01"
Else
If Microsoft.VisualBasic.Mid(DR.Item("No_Kiriman"), 3, 6)
= Format(Now, "yyMMdd") Then
LBLNomor.Text =
Microsoft.VisualBasic.Right(DR.Item("No_Kiriman"), 8) + 1
LBLNomor.Text = "KR" + LBLNomor.Text
Else
LBLNomor.Text = "KR" + Format(Now, "yyMMdd") + "01"
End If
End If
End Sub

Menapilkan data pesanan yang belum dikirim

Sub TampilNomorPesanan()
Call Koneksi()

20
M
UUSRUSMAWAN.C
CMD = New SqlCommand("select * from tblpesanan where
status_pesanan='BELUM DIKIRIM'", CONN)
DR = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While DR.Read
ComboBox1.Items.Add(DR.Item("NO_PESANAN"))
Loop
End Sub

Menampilkan data kurir dalam combo2

Sub TampilKurir()
Call Koneksi()
CMD = New SqlCommand("select * from tblkurir", CONN)
DR = CMD.ExecuteReader
ComboBox2.Items.Clear()
Do While DR.Read
ComboBox2.Items.Add(DR.Item("kode_kurir"))
Loop
End Sub

Private Sub Pengiriman_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Nomorotomatis()
Call TampilNomorPesanan()
Call TampilKurir()
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
Call Koneksi()
CMD = New SqlCommand("SELECT * FROM tblpesanan where
no_pesanan='" & ComboBox1.Text & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
LblTanggalPesanan.Text = DR.Item("tgl_pesanan")

LBLTotalBarang.Text = DR.Item("total_barang")
LBLTotalHarga.Text = FormatNumber(DR.Item("total_harga"),
0)
TXTUangMuka.Text = FormatNumber(DR.Item("uang_muka"), 0)
LBLSisa.Text = FormatNumber(DR.Item("sisa"), 0)
LBLStatusPembayaran.Text = DR.Item("status_pembayaran")

Dim CariCustomer As String = DR.Item("kode_customer")


Call Koneksi()
CMD = New SqlCommand("SELECT * FROM tblcustomer where
kode_customer='" & CariCustomer & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DataCustomer.Text = DR.Item("nama_customer") &
Space(1) & DR.Item("alamat_customer") & Space(1) &
DR.Item("hp_telp_customer")
End If

Mengambil kembali data pesanan customer untuk ditampilkan dalam grid

21
M
UUSRUSMAWAN.C
Call Koneksi()
DGV.Columns.Clear()
DA = New SqlDataAdapter("select
tbldetailpesanan.kode_barang as
Kode,tblbarang.Nama_Barang,tbldetailpesanan.Harga_Satuan,Jumlah,SubTot
al from tbldetailpesanan,tblbarang where
tbldetailpesanan.kode_barang=tblbarang.kode_barang and
tbldetailpesanan.no_pesanan='" & ComboBox1.Text & "'", CONN)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.Columns(1).Width = 200
DGV.ReadOnly = True
DGV.Columns(2).DefaultCellStyle.Format = "###,###,###"
DGV.Columns(2).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
DGV.Columns(4).DefaultCellStyle.Format = "###,###,###"
DGV.Columns(4).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
Else
MsgBox("Nomor pesanan tidak valid")
End If
End Sub

Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ComboBox2.SelectedIndexChanged
Call Koneksi()
CMD = New SqlCommand("SELECT * FROM tblkurir where
kode_kurir='" & ComboBox2.Text & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
LBLNamaKurir.Text = DR.Item("nama_kurir")
Else
MsgBox("Kode kurir tidak valid")
End If
End Sub

Sub Bersihkan()
ComboBox1.Text = ""
ComboBox2.Text = ""
LblTanggalPesanan.Text = ""
LBLNamaKurir.Text = ""
DataCustomer.Clear()
LBLTotalBarang.Text = ""
LBLTotalHarga.Text = ""
TXTUangMuka.Text = ""
LBLSisa.Text = ""
LBLStatusPembayaran.Text = ""
DGV.Columns.Clear()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button2.Click
Call Bersihkan()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button3.Click
Me.Close()

22
M
UUSRUSMAWAN.C
End Sub

End Class

6.13 Laporan Data Master

6.13.1 Laporan Data User

23
M
UUSRUSMAWAN.C

Coding :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.ReportSource = "laporan user.rpt"
End Sub

6.13.2 Laporan Data Customer

Coding :

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.ReportSource = "laporan customer.rpt"

24
M
UUSRUSMAWAN.C
End Sub

6.13.3 Laporan Data Kurir

Coding :

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.ReportSource = "laporan kurir.rpt"
End Sub

6.13.4 Laporan Data Barang

25
M
UUSRUSMAWAN.C
Coding :

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button4.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.ReportSource = "laporan barang.rpt"
End Sub

6.14 Laporan Pemesanan Barang

6.14.1 Laporan Harian


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "totext({tblpesanan.tgl_pesanan})='" &
DateTimePicker1.Text & "'"
CRV.ReportSource = "master pesanan.rpt"
End Sub

6.14.2 Laporan Periodik


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblpesanan.tgl_pesanan}) in date ('"
& DateTimePicker2.Text & "') to date ('" & DateTimePicker3.Text & "')
"
CRV.ReportSource = "master pesanan.rpt"

End Sub

26
M
UUSRUSMAWAN.C
6.14.3 Laporan Bulanan
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "month({tblpesanan.tgl_pesanan})=(" &
Month(DateTimePicker4.Text) & ") and year({tblpesanan.tgl_pesanan})
=(" & Year(DateTimePicker4.Text) & ") "
CRV.ReportSource = "master pesanan.rpt"
End Sub

6.14.4 Laporan Per Status Pesanan


Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblpesanan.status_pesanan})='" &
ListBox1.Text & "'"
CRV.ReportSource = "master pesanan.rpt"
End Sub

6.14.5 Laporan Per Status Pembayaran

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
ListBox2.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblpesanan.status_pembayaran})='" &
ListBox2.Text & "'"
CRV.ReportSource = "master pesanan.rpt"
End Sub

6.15 Laporan Pengiriman Barang

27
M
UUSRUSMAWAN.C
6.15.1 Laporan Harian
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "totext({tblkiriman.tgl_kiriman})='" &
DateTimePicker1.Text & "'"
CRV.ReportSource = "master kiriman.rpt"
End Sub

6.15.2 Laporan Periodik


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblkiriman.tgl_kiriman}) in date ('"
& DateTimePicker2.Text & "') to date ('" & DateTimePicker3.Text & "')
"
CRV.ReportSource = "master kiriman.rpt"
End Sub

6.15.3 Laporan Bulanan


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "month({tblkiriman.tgl_kiriman})=(" &
Month(DateTimePicker4.Text) & ") and year({tblkiriman.tgl_kiriman})
=(" & Year(DateTimePicker4.Text) & ") "
CRV.ReportSource = "master kiriman.rpt"
End Sub

6.15.4 Laporan Status Pengiriman


Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblPesanan.status_Pesanan})='" &
ListBox1.Text & "'"
CRV.ReportSource = "master kiriman.rpt"
End Sub

6.15.5 Laporan Status Pembayaran


Private Sub ListBox2_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox2.SelectedIndexChanged
CRV.ReportSource = Nothing
CRV.RefreshReport()
CRV.SelectionFormula = "({tblPesanan.status_Pembayaran})='" &
ListBox2.Text & "'"
CRV.ReportSource = "master kiriman.rpt"
End Sub

28
M
UUSRUSMAWAN.C

29

Anda mungkin juga menyukai