Top Banner
MEMBUAT TABEL TRANSAKSI PENJUALAN A. MENDESAIN TABEL Langkah pertama yang perlu dilakukan adalah menyiapkan tabel-tabel yang diperlukan. Sebelumnya kita sudah membuat tabel barang, selanjutnya lengkapi tabel faktur, isifaktur dan semIsifaktur dengan desain tabel sbb berikut : 1. Tabel tbfaktur 2. Tabel tbIsifaktur 3. Table tempisifaktur
16

MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Apr 28, 2018

Download

Documents

lenhu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

MEMBUAT TABEL TRANSAKSI PENJUALAN

A. MENDESAIN TABEL

Langkah pertama yang perlu dilakukan adalah menyiapkan tabel-tabel yang diperlukan.

Sebelumnya kita sudah membuat tabel barang, selanjutnya lengkapi tabel faktur,

isifaktur dan semIsifaktur dengan desain tabel sbb berikut :

1. Tabel tbfaktur

2. Tabel tbIsifaktur

3. Table tempisifaktur

Page 2: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

B. MENDESAIN FORM

Sebagai antar muka transaksi penjualan, desainlah form seperti tampak pada

gambar berikut.

C. PERSIAPAN

1. Buat ClassFaktur

2. Buat ClassIsiFaktur

Page 3: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

3. Buat ClassTempIsiFaktur

4. Siapkan Class DAPenjualan dan bersifat public.

D. SKENARIO PROGRAM PENJUALAN.

1. Ketika form pertama kali dibuka, Tanggal akan muncul otomatis membaca

data tanggal pada system computer.

Solusi :

Pada form load,

Page 4: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

2. Ketika form pertama kali dibuka, no faktur akan generate otomatis dengan

format “FK00001”. 5 angka dibelakang adalah angka increment, yang akan

bertambah 1 secara otomatis untuk transaksi berikutnya.

Solusi :

Stored Procedurenya :

CREATE PROCEDURE [dbo].[proc_generatefakturno]

AS

BEGIN

SET NOCOUNT ON;

DECLARE @currentnumber int

DECLARE @lastnumber int

declare @nextnumber int

DECLARE @strnextnumber varchar(5)

DECLARE @nofaktur varchar(10)

BEGIN TRY

IF EXISTS(SELECT 1 FROM tbfaktur)

BEGIN

DECLARE @lastfaktur varchar(10)

set @lastfaktur =(select max(nofaktur) from tbfaktur)

set @currentnumber=RIGHT(@lastfaktur,5)

SET @nextnumber= @currentnumber+1

set @strnextnumber=CONVERT(varchar(5),@nextnumber)

if LEN(@strnextnumber)=1

set @nofaktur= 'FK' + '0000' + @strnextnumber

if LEN(@strnextnumber)=2

set @nofaktur= 'FK' + '000' + @strnextnumber

if LEN(@strnextnumber)=3

set @nofaktur= 'FK' + '00' + @strnextnumber

if LEN(@strnextnumber)=4

set @nofaktur= 'FK' + '0' + @strnextnumber

if LEN(@strnextnumber)=5

set @nofaktur= 'FK' + @strnextnumber

END

ELSE

BEGIN

SET @nofaktur='FK00001'

Page 5: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

END

END TRY

BEGIN CATCH

set @nofaktur=ERROR_MESSAGE()

END CATCH

select @nofaktur as hasil

END

Kode di DAPenjualan, buat method berikut:

Kode di form :

Page 6: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

3. Ketika textbox kodebarang diinputkan kode barang, jika kode tersebut

sudah ter record dalam table barang, maka, nama barang dan harga akan

teisi otomatis dengan data dari kode barang. Jika tidak ada, maka akan

ditampilkan message “Kode Barang belum terdaftar”

Solusi :

Stored Procedurenya:

Di DAPenjualan

Page 7: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Kode di form, event keypress di textbox kode barang :

4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter,

maka system akan melakukan perkalian jumlah beli dan harga, sehingga

didapatkan dan ditampilkan Total Harga.

Solusi :

Kita tambahkan code di TotalHarga Keypress

5. Ketika user mengklik tombol OK, data pembelian akan disimpan

sementara di gridview, dan kasir siap untuk menginput data pembelian

berikutnya. Dimunculkan juga nilai dari total belanja. Proses diulangi

sampai barang yang dibeli customer selesai diinput.

Solusi:

Page 8: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Buat Stored Procedure untuk menginput data ke table temporary :

CREATE PROCEDURE [dbo].[proc_inserttempisifaktur]

@nofaktur varchar(10)

,@kodebarang varchar(50)

,@namabarang varchar(50)

,@hargasatuan decimal(18,0)

,@jumlahbeli int

,@total decimal(18,0)

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

declare @hasil varchar(max)

BEGIN TRY

INSERT INTO tempisifaktur

([nofaktur]

,[kodebarang]

,[namabarang]

,[hargasatuan]

,[jumlahbeli]

,[total])

VALUES

(@nofaktur

,@kodebarang

,@namabarang

,@hargasatuan

,@jumlahbeli

,@total)

set @hasil='1'

END TRY

BEGIN CATCH

set @hasil=ERROR_MESSAGE()

END CATCH

select @hasil as hasil

END

GO

Buat code di DAPenjualan untuk mengeksekusi stored procedure diatas.

Page 9: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Buat Code di form Penjualan, di object Button OK event click

Page 10: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Untuk procedure FillGrid, diperlukan akses ke database. Maka sebelumnya harus

disiapkan juga stored procedure dan Code di DAPenjualan.

Stored Procedure untuk ambil data temporary

Kode di DAPenjualan

Page 11: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

6. Ketika kasir sudah selesai meregister (menginput) semua kode barang,

maka customer akan memberikan uang untuk pembayaran. Ada kalanya

kasir perlu menghitung jumlah kembaliannya. Kita buatkan fungsi untuk

menghitung kembalian. Ada di textbox JumlahUang, pada event keypress

kita tambahkan kode sbb:

7. Ketika transaksi selesai dilakukan, maka kasir akan menekan tombol simpan,

untuk memastikan data tersimpan dalam database. Proses yang terjadi pada

tombol simpan antara lain :

a. Menyimpan data ke table faktur.

Stored Procedure :

CREATE PROCEDURE [dbo].[proc_insertfaktur]

-- Add the parameters for the stored procedure here

@nofaktur varchar(10)

Page 12: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

,@total decimal(18,0)

AS

BEGIN

SET NOCOUNT ON;

DECLARE @hasil varchar(10)

BEGIN TRY

INSERT INTO [dbtoko].[dbo].[tbfaktur]

([nofaktur]

,[tanggal]

,[total])

VALUES

(@nofaktur, GETDATE(), @total)

set @hasil='1'

END TRY

BEGIN CATCH

set @hasil=ERROR_MESSAGE()

END CATCH

select @hasil as hasil

END

GO

Kode di DAPenjualan:

b. Menyimpan data ke table isifaktur

Stored Procedure :

Page 13: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Kode di DAPenjualan :

c. Menghapus isi table temporary.

Stored Procedure :

Page 14: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Kode di DAPenjualan :

d. Kode lengkap di Form, dimulai di button simpan event click. Kode dan

procedure sbb :

Page 15: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

KODE SELESAI. SILAHKAN DI DEBUG DAN TEST. KALAU ADA ERROR, SEGERA

HUBUNGI DOKTER…HEHEHE….

Page 16: MEMBUAT TABEL TRANSAKSI PENJUALAN di form, event keypress di textbox kode barang : 4. Pada saat kasir menginput jumlah beli pada textbox dan menekan enter, maka system akan melakukan

Happy Coding