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
B. MENDESAIN FORM
Sebagai antar muka transaksi penjualan, desainlah form seperti tampak pada
gambar berikut.
C. PERSIAPAN
1. Buat ClassFaktur
2. Buat ClassIsiFaktur
3. Buat ClassTempIsiFaktur
4. Siapkan Class DAPenjualan
D. SKENARIO PROGRAM PENJUALAN.
1. Ketika form pertama kali dibuka, Tanggal akan muncul otomatis membaca
data tanggal pada system computer.
Solusi :
Pada form load,
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'
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 :
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
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.
5. Ketika user mengklik tombol OK, data pembelian akan disimpan
sementara di gridview, dan kasir siap untuk menginput data pembelian
berikutnya.
Solusi :
Buat Stored Procedure
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;
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
Code di DAPenjualan. Buat Function :
Code di Form, button OK Event Click :
Untuk Procedure Fillgrid, perlu dibuatkan terlebih dahulu Stored
Procedure :
Kode di DA, buat method dengan nama getisigrid seperti berikut:
Terakhir, kode di Form, sbb :
6. Ketika kasir sudah menginput semua kode barang yang dibeli konsumen,
maka kasir akan meng klik tombol simpan. Skenario di button simpan
adalah :
i. Sistem akan menyimpan data faktur (nofaktur, tanggal, dan total) di
table faktur.
Stored Procedurenya :
CREATE PROCEDURE [dbo].[proc_insertfaktur]
-- Add the parameters for the stored procedure here
@nofaktur varchar(10)
,@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, buat method dengan nama SubmitFaktur sbb:
ii. Sistem akan menyimpan data isi faktur (nofaktur, kodebarang dan
jumlah) di table isifaktur, Dengan cara melakukan looping pada
gridview dan satu persatu disimpan di table isifaktur.
Stored Procedurenya :
Kode di DAPenjualan:
iii. Sistem akan mengosongkan table tempisifaktur.
Stored Procedurenya :
Kode di DAPenjualan :
iv. Kode Lengkap di Form seperti pada gambar berikut. Diawali dengan
kode pada event click di button simpan :
Procedure SimpanIsi
Procedure SimpanFaktur:
Procedure BersihTemporary()
Procedure bersihlayar

Form transaksi - penjualan Visual Studio

  • 1.
    MEMBUAT TABEL TRANSAKSIPENJUALAN 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
  • 2.
    B. MENDESAIN FORM Sebagaiantar muka transaksi penjualan, desainlah form seperti tampak pada gambar berikut. C. PERSIAPAN 1. Buat ClassFaktur
  • 3.
    2. Buat ClassIsiFaktur 3.Buat ClassTempIsiFaktur 4. Siapkan Class DAPenjualan D. SKENARIO PROGRAM PENJUALAN. 1. Ketika form pertama kali dibuka, Tanggal akan muncul otomatis membaca data tanggal pada system computer. Solusi : Pada form load,
  • 4.
    2. Ketika formpertama 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' END
  • 5.
    END TRY BEGIN CATCH set@nofaktur=ERROR_MESSAGE() END CATCH select @nofaktur as hasil END Kode di DAPenjualan, buat method berikut:
  • 6.
    Kode di form: 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
  • 7.
    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.
  • 8.
    5. Ketika usermengklik tombol OK, data pembelian akan disimpan sementara di gridview, dan kasir siap untuk menginput data pembelian berikutnya. Solusi : Buat Stored Procedure 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; 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
  • 9.
    BEGIN CATCH set @hasil=ERROR_MESSAGE() ENDCATCH select @hasil as hasil END GO Code di DAPenjualan. Buat Function : Code di Form, button OK Event Click :
  • 11.
    Untuk Procedure Fillgrid,perlu dibuatkan terlebih dahulu Stored Procedure : Kode di DA, buat method dengan nama getisigrid seperti berikut:
  • 12.
    Terakhir, kode diForm, sbb : 6. Ketika kasir sudah menginput semua kode barang yang dibeli konsumen, maka kasir akan meng klik tombol simpan. Skenario di button simpan adalah : i. Sistem akan menyimpan data faktur (nofaktur, tanggal, dan total) di table faktur. Stored Procedurenya : CREATE PROCEDURE [dbo].[proc_insertfaktur] -- Add the parameters for the stored procedure here @nofaktur varchar(10) ,@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, buat method dengan nama SubmitFaktur sbb:
  • 13.
    ii. Sistem akanmenyimpan data isi faktur (nofaktur, kodebarang dan jumlah) di table isifaktur, Dengan cara melakukan looping pada gridview dan satu persatu disimpan di table isifaktur. Stored Procedurenya :
  • 14.
    Kode di DAPenjualan: iii.Sistem akan mengosongkan table tempisifaktur. Stored Procedurenya :
  • 15.
    Kode di DAPenjualan: iv. Kode Lengkap di Form seperti pada gambar berikut. Diawali dengan kode pada event click di button simpan :
  • 16.
  • 17.