LAMPIRAN
Listing Program
1. Implementasi Create Table CREATE TABLE barang (
NoBarang CHAR ( 10 ) NOT NULL, NamaBarang VARCHAR ( 20 ) NOT NULL, Jenissatuanbarang VARCHAR (6) NOT NULL, Harga NUMERIC (10,2) NOT NULL,
Jumlah INTEGER NOT NULL,
PRIMARY KEY ( NoBarang ),
CONSTRAINT CK_harga CHECK (harga>=100000 and harga<=1000000000), CONSTRAINT CK_Jumlah CHECK (jumlah>=1 and jumlah<=100),
CONSTRAINT CK_JenisSatuanBarang CHECK (JenisSatuanbarang = 'sak' OR JenisSatuanbarang = 'kg' OR JenisSatuanbarang = 'm3' OR JenisSatuanbarang = 'peil' OR
JenisSatuanbarang = 'buah' OR JenisSatuanbarang = 'rim' OR JenisSatuanbarang = 'lembar')
CREATE TABLE pemasok (
NoPemasok CHAR (10) NOT NULL,
NamaPemasok VARCHAR (20) NOT NULL, Namabarang VARCHAR (20) NOT NULL, AlamatPemasok VARCHAR (30) NOT NULL, ContactPerson VARCHAR (20) NOT NULL, PRIMARY KEY (NoPemasok)
);
CREATE TABLE divisi (
NoDiv CHAR (10) NOT NULL,
NamaDivisi VARCHAR (20) NOT NULL, PRIMARY KEY (NoDiv),
CONSTRAINT ck_namadivisi CHECK (namadivisi='keuangan' or namadivisi = 'logistik'
or namadivisi='gudang' or namadivisi = 'pembelian' or namadivisi = 'HRD') );
CREATE TABLE karyawan (
NIP CHAR(10) NOT NULL,
Nama VARCHAR (20) NOT NULL, Alamat VARCHAR (30) NOT NULL, Jabatan VARCHAR (20) NOT NULL, Status VARCHAR (10) NOT NULL, Tanggallahir DATETIME,
Jeniskelamin CHAR (1) NOT NULL, NoDiv VARCHAR (10) NOT NULL, PRIMARY KEY (NIP),
FOREIGN KEY (NoDiv) REFERENCES divisi (NoDiv) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT CK_Status CHECK (Status = 'Aktif' OR Status = 'Non Aktif'), CONSTRAINT CK_Tanggallahir CHECK (Tanggallahir<= getdate()),
CONSTRAINT CK_Jeniskelamin CHECK (Jeniskelamin= 'L' OR Jeniskelamin = 'P') );
CREATE TABLE fakturpajak (
NoFaktur CHAR (20) NOT NULL, TanggalFaktur DATETIME NOT NULL,
NamaBarang VARCHAR (20) NOT NULL, JumlahPPN NUMERIC (10,2) NOT NULL, JumlahPPH NUMERIC (10,2) NOT NULL, Keterangan VARCHAR (50),
PRIMARY KEY (NoFaktur) );
CREATE TABLE pembayaran (
NoPembayaran CHAR(10) NOT NULL, TanggalBayar DATETIME NOT NULL, Statusbayar VARCHAR (11) NOT NULL, Jenisbayar VARCHAR (5) NOT NULL, JumlahBayar NUMERIC (10,2) NOT NULL, Keterangan VARCHAR (50),
NIP CHAR(10) NOT NULL,
PRIMARY KEY (NoPembayaran, NIP),
FOREIGN KEY (NIP) REFERENCES Karyawan (NIP) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT CK_TanggalBayar CHECK (TanggalBayar<= getdate()),
CONSTRAINT CK_Statusbayar CHECK (StatusBayar = 'sudah lunas' or StatusBayar = 'belum lunas'),
CONSTRAINT CK_Jenisbayar CHECK (JenisBayar = 'tunai' or JenisBayar = 'cek' or JenisBayar = 'giro'),
CONSTRAINT CK_jumlahbayar CHECK (JumlahBayar>=100000 and JumlahBayar<=1000000000)
);
CREATE TABLE detailpembayaran (
NoPembayaran CHAR(10) NOT NULL, NoFaktur CHAR (20) NOT NULL, diskon NUMERIC (10,2) NOT NULL,
PRIMARY KEY (NoPembayaran, NoFaktur),
FOREIGN KEY (NoPembayaran) REFERENCES Pembayaran (NoPembayaran) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoFaktur) REFERENCES FakturPajak (NoFaktur) ON UPDATE CASCADE ON DELETE NO ACTION,
);
CREATE TABLE pembelian (
NoPembelian CHAR(10) NOT NULL, TanggalBeli DATETIME NOT NULL,
Keterangan VARCHAR (50), NIP VARCHAR(10) NOT NULL, NoPemasok CHAR (10) NOT NULL, PRIMARY KEY (NoPembelian),
FOREIGN KEY (NIP) REFERENCES Karyawan (NIP) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoPemasok) REFERENCES Pemasok (NoPemasok) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT CK_TanggalBeli CHECK (TanggalBeli<= getdate()), );
CREATE TABLE DetailPembelian (
NoPembelian CHAR(10) NOT NULL, NoBarang CHAR (10) NOT NULL, JumlahBarang INTEGER NOT NULL, HargaSatuan NUMERIC(10,2) NOT NULL, Keterangan VARCHAR(50),
PRIMARY KEY (NoPembelian, NoBarang),
FOREIGN KEY (NoPembelian) REFERENCES Pembelian(NoPembelian) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoBarang) REFERENCES Barang(NoBarang) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT CK_jumlahbarang CHECK (jumlahbarang>=1 and jumlahbarang<=100),
CONSTRAINT CK_hargasatuan CHECK (hargasatuan>=100000 and hargasatuan<=1000000000)
);
create table Penerimaan (
NoPenerimaan CHAR (10) NOT NULL, TglPenerimaan DATETIME NOT NULL, Keterangan VARCHAR (50),
NIP CHAR (10) NOT NULL,
NoPembayaran CHAR (10) NOT NULL, NoPembelian CHAR (10) NOT NULL, PRIMARY KEY (NoPenerimaan),
FOREIGN KEY (NIP) REFERENCES Karyawan (NIP) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoPembayaran) REFERENCES Pembayaran (NoPembayaran) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoPembelian) REFERENCES Pembelian (NoPembelian) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT ck_tglpenerimaan CHECK (Tglpenerimaan <= getdate()) );
CREATE TABLE detailpenerimaan (
NoPenerimaan CHAR(10) NOT NULL, NoBarang CHAR (10) NOT NULL, JumlahBarang INTEGER NOT NULL, HargaSatuan NUMERIC (10,2) NOT NULL, Kondisiterima VARCHAR (50),
PRIMARY KEY (NoPenerimaan, NoBarang),
FOREIGN KEY (NoPenerimaan) REFERENCES Penerimaan (NoPenerimaan) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoBarang) REFERENCES Barang (NoBarang) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT CK_jumlahbarang2 CHECK (jumlahbarang>=1 and jumlahbarang<=100),
CONSTRAINT ck_hargasatuan2 CHECK (hargasatuan>=100000 and hargasatuan<=1000000000),
CONSTRAINT ck_kondisi CHECK (Kondisiterima = 'Bagus dan sesuai' or Kondisiterima = 'Tidak sesuai')
CREATE TABLE Retur (
NoRetur CHAR (10) NOT NULL, TglRetur DATETIME NOT NULL, NIP CHAR(10) NOT NULL,
NoPenerimaan CHAR(10) NOT NULL, PRIMARY KEY (NoRetur),
FOREIGN KEY (NIP) REFERENCES Karyawan (NIP) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoPenerimaan) REFERENCES Penerimaan (NoPenerimaan) ON UPDATE CASCADE ON DELETE NO ACTION
CONSTRAINT ck_tglretur CHECK (Tglretur <= getdate()) );
CREATE TABLE detailRetur (
NoRetur CHAR (10) NOT NULL, NoBarang CHAR (10) NOT NULL, JumlahBarang INTEGER NOT NULL, AlasanRetur VARCHAR (50),
PRIMARY KEY (NoRetur,NoBarang),
FOREIGN KEY (NoRetur) REFERENCES Retur (NoRetur) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (NoBarang) REFERENCES Barang (NoBarang) ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT CK_jumlahbarang1 CHECK (jumlahbarang>=1 and jumlahbarang<=100)
);
CREATE TABLE TeleponKaryawan (
TelpKar VARCHAR(10), NIP CHAR(10),
PRIMARY KEY (TelpKar),
FOREIGN KEY NIP REFERENCES Karyawan (NIP) ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE TABLE TeleponPemasok (
TelpPem VARCHAR(10), NoPemasok CHAR(10), PRIMARY KEY (TelpPem),
FOREIGN KEY NoPemasok REFERENCES Pemasok(NoPemasok) ON UPDATE CASCADE ON DELETE CASCADE
2. Implementasi Create Index
CREATE INDEX barangnobarangind ON barang (Nobarang); CREATE INDEX barangnamabarangind ON barang (namabarang); CREATE INDEX karyawannipind ON karyawan (NIP);
CREATE INDEX karyawannamaind ON karyawan (nama);
CREATE INDEX pemasoknopemasokind ON pemasok (NoPemasok); CREATE INDEX pemasoknamapemasokind ON pemasok (namapemasok); CREATE INDEX divisinodivind ON divisi (NoDiv);
CREATE INDEX divisinamadivisiind ON divisi (namadivisi);
CREATE INDEX PembayaranNoPembayaranInd ON pembayaran (NoPembayaran); CREATE INDEX PembayaranTglBayarInd ON pembayaran (Tanggalbayar);
CREATE INDEX PembelianNoPembelianInd ON Pembelian (NoPembelian); CREATE INDEX PembelianTglBeliInd ON Pembelian (tanggalbeli);
CREATE INDEX PemesananNoPemesananInd ON Pemesanan (NoPemesanan); CREATE INDEX PemesananTglPemesananInd ON Pemesanan (TglPemesanan); CREATE INDEX PenerimaanNoPenerimaanInd ON Penerimaan (NoPenerimaan); CREATE INDEX PenerimaanTglPenerimaanInd ON Penerimaan (tglPenerimaan); CREATE INDEX ReturNoReturInd ON Retur (NoRetur);
CREATE INDEX ReturTanggalReturInd ON Retur (TglRetur);
CREATE INDEX DetailPembayaranNoPembayaranInd ON DetailPembayaran (NoPembayaran);
CREATE INDEX DetailPemesananNoPemesananNoBarangInd ON DetailPemesanan (Nopemesanan,NoBarang);
CREATE INDEX DetailPemesanannobarangInd ON DetailPemesanan (NoBarang); CREATE INDEX DetailPemesananNoPemesananInd ON DetailPemesanan (Nopemesanan);
CREATE INDEX DetailPenerimaanNoPenerimaanNoBarangInd ON DetailPenerimaan (NoPenerimaan, NoBarang);
CREATE INDEX DetailPenerimaanNopenerimaanind ON DetailPenerimaan (NoPenerimaan);
CREATE INDEX DetailPenerimaannobarangind ON DetailPenerimaan (NoBarang); CREATE INDEX DetailReturNoReturNoBarangInd ON DetailRetur (noretur, NoBarang);
CREATE INDEX DetailReturnoreturind ON DetailRetur (noretur); CREATE INDEX DetailReturnobarangind ON DetailRetur (nobarang);
3. Implementasi Hak Akses
grant select, update, delete, insert on Barang to Logistik, pembelian, gudang grant select on barang to keuangan
grant select, update, delete, insert on Karyawan to direksi
grant select on karyawan to logistik, pembelian, keuangan, gudang grant select, update, delete, insert on divisi to direksi
grant select on divisi to logistik, pembelian, keuangan, gudang grant select, update, delete, insert on pemasok to pembelian grant select on pemasok to Logistik, keuangan, gudang grant select, update, delete, insert on pembelian to pembelian
grant select on pembelian to logistik, keuangan, gudang grant select, update, delete, insert on pembayaran to keuangan grant select on pembayaran to Logistik, pembelian, gudang
grant select, update, delete, insert on penerimaan to Logistik, gudang grant select, update on penerimaan to pembelian
grant select on penerimaan to keuangan
grant select, update, delete, insert on retur to Logistik, gudang grant select, update on retur to pembelian
grant select on retur to keuangan
grant select on detailpembayaran to Logistik, pembelian, gudang grant select, update, delete, insert on detailpembayaran to keuangan grant select, update, delete, insert on detailpenerimaan to Logistik, gudang grant select, update on detailpenerimaan to pembelian
grant select on detailpenerimaan to keuangan
grant select, update, delete, insert on detailretur to Logistik, gudang grant select, update on detailretur to pembelian
4. Create View
create view laporanpembayaran as
select a.NoPembayaran, a.tanggalbayar, a.statusbayar, a.jenisbayar, b.diskon, b.nofaktur, c.namabarang, b.jumlahbarang, b.hargasatuan, c.jumlahPPN, c.jumlahPPH, a.nip, a.nopemasok
from Pembayaran a INNER JOIN DetailPembayaran b ON a.NoPembayaran = b.NoPembayaran INNER JOIN FakturPajak c ON b.NoFaktur = c.NoFaktur
create view laporanpembelian as
Select a.* from Pembelian a INNER JOIN Pemesanan b ON a.NoPemesanan = b.NoPemesanan INNER JOIN DetailPemesanan c ON b.NoPemesanan = c.NoPemesanan
--Order by a.NoPembelian
create view laporanpenerimaan as
select a.nopenerimaan, a.tglpenerimaan, c.namabarang, b.jumlahbarang, b.hargasatuan, b.kondisiterima, a.nip, a.nopemesanan
from penerimaan a inner join detailpenerimaan b on a.nopenerimaan=b.nopenerimaan inner join barang c on b.nobarang=c.nobarang
create view laporanretur as
select a.noretur, a.tglretur, c.namabarang, b.jumlahbarang, b.alasanretur, a.nip, a.nopenerimaan
from retur a inner join detailretur b on a.noretur=b.noretur inner join barang c on b.nobarang=c.nobarang
5. Implementasi Stored Procedure a. Untuk memasukkan data
1. Create Proc Barang
CREATE PROC SpInsertbarang @Nobarang CHAR(10), @Namabarang VARCHAR(20), @Jenissatuanbarang VARCHAR (6), @Harga NUMERIC (10,2), @Jumlah INTEGER AS
INSERT INTO barang VALUES (@Nobarang, @namabarang, @jenissatuanbarang, @harga, @jumlah)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
2. Create Proc Pemasok
CREATE PROC SpInsertpemasok @NoPemasok CHAR (10), @NamaPemasok VARCHAR (20), @Namabarang VARCHAR (20), @AlamatPemasok VARCHAR (30), @ContactPerson VARCHAR (20) AS
INSERT INTO pemasok VALUES (@NoPemasok, @NamaPemasok, @Namabarang, @AlamatPemasok, @ContactPerson)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
3. Create Proc Divisi
CREATE PROC SpInsertdivisi @NoDiv CHAR (10),
@NamaDivisi VARCHAR (20) AS
INSERT INTO divisi VALUES (@Nodiv, @Namadivisi) if(@@error <> 1)
begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
4. Create Proc Karyawan
CREATE PROC SpInsertkaryawan @NIP CHAR(10), @Nama VARCHAR (20), @Alamat VARCHAR (30), @Jabatan VARCHAR (20), @Status VARCHAR (10), @Tanggallahir DATETIME,
@Jeniskelamin CHAR (1), @NoDiv VARCHAR (10) AS
INSERT INTO karyawan VALUES (@NIP, @Nama, @Alamat, @Jabatan, @Status, @Tanggallahir, @Jeniskelamin, @NoDiv)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
5. Create Proc FakturPajak
CREATE PROC SpInsertfakturpajak @NoFaktur VARCHAR (20), @TanggalFaktur DATETIME, @NamaBarang VARCHAR (20), @JumlahPPN NUMERIC (10,2), @JumlahPPH NUMERIC (10,2), @Keterangan VARCHAR (50) AS
INSERT INTO fakturpajak VALUES (@NoFaktur, @Tanggalfaktur, @namabarang, @Jumlahppn, @jumlahpph, @keterangan)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
6. Create Proc Pembelian
CREATE PROC SpInsertpembelian @NoPembelian CHAR(10), @TanggalBeli DATETIME, @NamaBarang VARCHAR (20), @HargaSatuan NUMERIC (10,2), @JumlahBarang INTEGER, @TotalPembelian NUMERIC (10,2), @NIP CHAR(10) AS
INSERT INTO pembelian VALUES (@NoPembelian, @TanggalBeli, @NamaBarang, @HargaSatuan, @JumlahBarang, @TotalPembelian, @NIP)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
7. Create Proc Pembayaran
CREATE PROC SpInsertpembayaran @NoPembayaran CHAR(10), @TanggalBayar DATETIME, @Statusbayar VARCHAR (11), @Jenisbayar VARCHAR (5), @JumlahBayar NUMERIC (10,2), @Keterangan VARCHAR (50), @NIP CHAR(10), @NoPembelian VARCHAR(10) AS
INSERT INTO pembayaran VALUES (@NoPembayaran, @TanggalBayar, @statusbayar, @jenisbayar, @jumlahbayar, @keterangan, @nip, @Nopemasok, @nopembelian)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
8. Create Proc Penerimaan
CREATE PROC SpInsertpenerimaan @NoPenerimaan CHAR (10),
@TglPenerimaan DATETIME, @Keterangan VARCHAR (50), @NIP CHAR (10)
AS
INSERT INTO penerimaan VALUES (@NoPenerimaan, @TglPenerimaan, @keterangan, @nip)
if(@@error <> 1) begin
print 'Insert Berhasil' end
begin
print 'Insert Gagal' end
10. Create Proc Retur
CREATE PROC SpInsertretur @NoRetur CHAR (10), @TglRetur DATETIME, @NIP CHAR(10),
@NoPenerimaan CHAR(10) AS
INSERT INTO retur VALUES (@Noretur, @Tglretur, @nip, @Nopenerimaan)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
11. Create Proc DetailPembayaran
CREATE PROC SpInsertdetailpembayaran @NoPembayaran CHAR(10), @NoFaktur CHAR (20), @diskon NUMERIC (10,2), @JumlahBarang INTEGER, @HargaSatuan NUMERIC (10,2) AS
INSERT INTO detailpembayaran VALUES (@Nopembayaran, @nofaktur, @diskon, @jumlahbarang, @hargasatuan)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
13. Create Proc DetailPenerimaan
CREATE PROC SpInsertdetailpenerimaan @NoPenerimaan CHAR(10),
@JumlahBarang INTEGER, @HargaSatuan NUMERIC (10,2), @Kondisiterima VARCHAR (60) AS
INSERT INTO detailpenerimaan VALUES (@Nopenerimaan, @nobarang, @jumlahbarang, @hargasatuan, @kondisiterima)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
14. Create Proc DetailRetur
CREATE PROC SpInsertdetailretur @NoRetur CHAR (10),
@NoBarang CHAR (10), @JumlahBarang INTEGER, @AlasanRetur VARCHAR (50) AS
INSERT INTO detailretur VALUES (@Noretur, @nobarang, @jumlahbarang, @alasanretur)
if(@@error <> 1) begin
print 'Insert Berhasil' end
else begin
print 'Insert Gagal' end
b. Untuk Menghapus Field 1. Delete table barang
CREATE PROCEDURE delete_barang @NoBarang CHAR (10)
AS DELETE Barang
WHERE NoBarang = @NoBarang GO
2. Delete table Divisi
CREATE PROCEDURE delete_divisi @NoDiv CHAR (10)
WHERE NoDiv = @NoDiv GO
3. Delete table fakturpajak
CREATE PROCEDURE delete_fakturpajak @NoFaktur CHAR (10)
AS DELETE fakturpajak
WHERE NoFaktur = @NoFaktur GO
4. Delete table karyawan
CREATE PROCEDURE delete_karyawan @NIP CHAR (10)
AS DELETE karyawan WHERE NIP = @NIP GO
5. Delete table pemasok
CREATE PROCEDURE delete_pemasok @NoPemasok CHAR (10)
AS DELETE pemasok
WHERE NoPemasok = @NoPemasok GO
c. Untuk meng-update data 1. Update table barang
CREATE PROCEDURE [update_barang_1]
(@NoBarang_1 [char], @NoBarang_2 [char](10), @NamaBarang_3 [varchar](20), @Jenissatuanbarang_4 [varchar](6), @Harga_5 [numeric], @Jumlah_6 [int]) AS UPDATE [coba].[dbo].[barang]
SET [NoBarang] = @NoBarang_2, [NamaBarang] = @NamaBarang_3, [Jenissatuanbarang] = @Jenissatuanbarang_4, [Harga] = @Harga_5, [Jumlah] = @Jumlah_6 WHERE ( [NoBarang] = @NoBarang_1) GO
2. Update table detailpembayaran
CREATE PROCEDURE [update_detailpembayaran_1] (@NoPembayaran_1 [char],
@NoFaktur_2 [char],
@NoPembayaran_3 [char](10), @NoFaktur_4 [char](20), @diskon_5 [numeric])
AS UPDATE [coba].[dbo].[detailpembayaran] SET [NoPembayaran] = @NoPembayaran_3,
[NoFaktur] = @NoFaktur_4, [diskon] = @diskon_5, WHERE
( [NoPembayaran] = @NoPembayaran_1 AND [NoFaktur] = @NoFaktur_2)
GO
3. Update table detailpembelian
CREATE PROCEDURE [update_DetailPembelian_1] (@NoPembelian_1 [char], @NoBarang_2 [char], @NoPembelian_3 [char](10), @NoBarang_4 [char](10), @JumlahBarang_5 [int], @HargaSatuan_6 [numeric], @Keterangan_7 [varchar](50))
AS UPDATE [coba].[dbo].[DetailPembelian] SET [NoPembelian] = @NoPembelian_3,
[NoBarang] = @NoBarang_4, [JumlahBarang] = @JumlahBarang_5, [HargaSatuan] = @HargaSatuan_6, [Keterangan] = @Keterangan_7 WHERE
( [NoPembelian] = @NoPembelian_1 AND [NoBarang] = @NoBarang_2)
GO
4. Update table detailpenerimaan
CREATE PROCEDURE [update_detailpenerimaan_1] (@NoPenerimaan_1 [varchar], @NoBarang_2 [varchar], @NoPenerimaan_3 [varchar](10), @NoBarang_4 [varchar](10), @JumlahBarang_5 [int], @HargaSatuan_6 [numeric], @Kondisiterima_7 [varchar](60)) AS UPDATE [coba].[dbo].[detailpenerimaan]
SET [NoPenerimaan] = @NoPenerimaan_3, [NoBarang] = @NoBarang_4, [JumlahBarang] = @JumlahBarang_5, [HargaSatuan] = @HargaSatuan_6, [Kondisiterima] = @Kondisiterima_7 WHERE
( [NoPenerimaan] = @NoPenerimaan_1 AND [NoBarang] = @NoBarang_2)
GO
6. Update table detailretur
CREATE PROCEDURE [update_detailRetur_1] (@NoRetur_1 [char], @NoBarang_2 [char], @NoRetur_3 [char](10), @NoBarang_4 [char](10), @JumlahBarang_5 [int], @AlasanRetur_6 [varchar](50)) AS UPDATE [coba].[dbo].[detailRetur] SET [NoRetur] = @NoRetur_3,
[NoBarang] = @NoBarang_4, [JumlahBarang] = @JumlahBarang_5,
[AlasanRetur] = @AlasanRetur_6 WHERE
( [NoRetur] = @NoRetur_1 AND [NoBarang] = @NoBarang_2) GO
7. Update table divisi
CREATE PROCEDURE [update_divisi_1] (@NoDiv_1 [char],
@NoDiv_2 [char](10), @NamaDivisi_3 [varchar](20))
AS UPDATE [coba].[dbo].[divisi]
SET [NoDiv] = @NoDiv_2, [NamaDivisi] = @NamaDivisi_3 WHERE
( [NoDiv] = @NoDiv_1) GO
8. Update table fakturpajak
CREATE PROCEDURE [update_fakturpajak_1] (@NoFaktur_1 [char],
@NoFaktur_2 [char](10), @TanggalFaktur_3 [datetime], @NamaBarang_4 [varchar](20), @JumlahPPN_5 [numeric], @JumlahPPH_6 [numeric], @Keterangan_7 [varchar](50)) AS UPDATE [coba].[dbo].[fakturpajak]
SET [NoFaktur] = @NoFaktur_2, [TanggalFaktur] = @TanggalFaktur_3, [NamaBarang] = @NamaBarang_4, [JumlahPPN] = @JumlahPPN_5, [JumlahPPH] = @JumlahPPH_6, [Keterangan] = @Keterangan_7 WHERE ( [NoFaktur] = @NoFaktur_1) GO
9. Update table karyawan
CREATE PROCEDURE update_karyawan (@NIP_1 [char],
@NIP_2 [char](10), @Nama_3 varchar(20),
@Alamat_4 varchar(30), @Jabatan_5 varchar(20), @Status_6 varchar(10), @Tanggallahir_7 datetime, @Jeniskelamin_8 [char](1), @NoDiv_9 [varchar](10)) AS UPDATE SET [NIP] = @NIP_2, [Nama] = @Nama, [Alamat] = @Alamat, [Jabatan] = @Jabatan, [Status] = @Status, [Tanggallahir] = @Tanggallahir, [Jeniskelamin] = @Jeniskelamin, [NoDiv] = @NoDiv WHERE ([NIP] = @NIP_1) GO
10. Update table pemasok
CREATE PROCEDURE [update_pemasok_1] (@NoPemasok_1 [char],
@NamaPemasok_3 [varchar](20), @Namabarang_4 [varchar](20), @AlamatPemasok_5 [varchar](30), @ContactPerson_6 [varchar](20))
AS UPDATE [coba].[dbo].[pemasok]
SET [NoPemasok] = @NoPemasok_2, [NamaPemasok] = @NamaPemasok_3, [Namabarang] = @Namabarang_4, [AlamatPemasok] = @AlamatPemasok_5, [ContactPerson] = @ContactPerson_6 WHERE ( [NoPemasok] = @NoPemasok_1) GO
11. Update table pembayaran
CREATE PROCEDURE [update_pembayaran_1] (@NoPembayaran_1 [char], @NoPembayaran_2 [char](10), @TanggalBayar_3 [datetime], @Statusbayar_4 [varchar](11), @Jenisbayar_5 [varchar](5), @JumlahBayar_6 [numeric],
@Keterangan_7 [varchar](50), @NIP_8 [char](10)) AS UPDATE pembayaran
SET [NoPembayaran] = @NoPembayaran_2, [TanggalBayar] = @TanggalBayar_3, [Statusbayar] = @Statusbayar_4, [Jenisbayar] = @Jenisbayar_5, [JumlahBayar] = @JumlahBayar_6, [Keterangan] = @Keterangan_7, [NIP] = @NIP_8, WHERE ( [NoPembayaran] = @NoPembayaran_1) GO
12. Update table pembelian
CREATE PROCEDURE [update_pembelian_1] (@NoPembelian_1 [char], @NoPembelian_2 [char](10), @TanggalBeli_3 [datetime], @TotalPembelian_4 [numeric], @Keterangan_5 [varchar](50), @NIP_6 [char](10), @NoPemasok_7 [char](10))
AS UPDATE [coba].[dbo].[pembelian]
SET [NoPembelian] = @NoPembelian_2, [TanggalBeli] = @TanggalBeli_3, [TotalPembelian] = @TotalPembelian_4, [Keterangan] = @Keterangan_5, [NIP] = @NIP_6, [NoPemasok] = @NoPemasok_7 WHERE ( [NoPembelian] = @NoPembelian_1) GO
13. Update table penerimaan
CREATE PROCEDURE [update_Penerimaan_1] (@NoPenerimaan_1 [char], @NoPenerimaan_2 [char](10), @TglPenerimaan_3 [datetime], @Keterangan_4 [varchar](50), @NIP_5 [char](10), @NoPembayaran_6 [char](10), @NoPembelian_7 [char](10)) AS UPDATE [coba].[dbo].[Penerimaan]
SET [NoPenerimaan] = @NoPenerimaan_2, [TglPenerimaan] = @TglPenerimaan_3,
[Keterangan] = @Keterangan_4, [NIP] = @NIP_5, [NoPembayaran] = @NoPembayaran_6, [NoPembelian] = @NoPembelian_7 WHERE ( [NoPenerimaan] = @NoPenerimaan_1) GO
14. Update table retur
CREATE PROCEDURE [update_Retur_1] (@NoRetur_1 [char], @NoRetur_2 [char](10), @TglRetur_3 [datetime], @NIP_4 [char](10), @NoPenerimaan_5 [char](10)) AS UPDATE [coba].[dbo].[Retur]
SET [NoRetur] = @NoRetur_2, [TglRetur] = @TglRetur_3, [NIP] = @NIP_4, [NoPenerimaan] = @NoPenerimaan_5 WHERE ( [NoRetur] = @NoRetur_1) GO
Database Diagram
Cara Penggunaan Aplikasi
Berikut adalah cara-cara menjalankan aplikasi dari awal aplikasi pada PT Cipta Asri Multi Presisi. Pada gambar di bawah ini ditampilkan layar login dari aplikasi, pada layar login ini terdapat username dan password yang harus diisi, dimana username dan password tersebut digunakan untuk menentukan batasan user dalam menggunakan basis data.
Gambar L.2 Gambar form Login
Setelah username dan password dimasukkan dan valid kemudian masuk ke form Menu. Dengan tampilan seperti gambar dibawah ini.
Gambar L.3 Gambar form Menu
Pada form menu, kita dapat memilih data yang ingin ditampilkan, seperti contoh gambar dibawah ini. Contohnya kita akan memilih untuk menampilkan data barang.
Kemudian form data barang keluar. Bentuk formnya seperti gambar di bawah ini.
Bila kita ingin menampilkan datanya, tekan tombol VIEW DATA. Maka tampilan formnya akan seperti gambar dibawah ini.
Bila kita ingin memasukkan data, maka tekan tombol BLANK/CANCEL untuk mengosongkan textfield.
Kemudian masukkan datanya. Lalu tekan tombol SAVE untuk menyimpan data.
Setelah itu jika datanya valid maka data akan tersimpan dalam basis data.
Jika kita ingin melihat data barang secara keseluruhan maka kita bisa tekan tombol VIEW ALL DATA kemudian data akan tampil di flexgrid.
Untuk pencarian data kita bisa memilih mau mencari data apa dengan option type yang tersedia dengan 3 pilihan Nomor barang, Nama Barang, dan Jenis Satuan Barang. Setelah memilih option tipe data yang dicari, ketik kata kuncinya. Setelah itu tekan tombol SEARCH. Kemudian akan tampil hasilnya pada flexgrid seperti gambar dibawah ini.
Bila kita ingin menampilkan data dari pembelian, tekan tombol VIEW. Maka tampilannya akan seperti gambar dibawah ini.
Kemudian masukkan datanya. Lalu tekan tombol SAVE untuk menyimpan data. Setelah itu jika datanya valid maka data akan tersimpan dalam basis data.
Jika kita ingin melihat transaksi pembelian barang yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid.
Untuk pencarian data kita bisa memilih mau mencari data apa dengan option type yang tersedia dengan 3 pilihan Nomor Pembelian, Tanggal Pembelian, dan Nomor Barang,. Setelah memilih option tipe data yang dicari, ketik kata kuncinya. Setelah itu tekan tombol SEARCH. Kemudian akan tampil hasilnya pada flexgrid seperti gambar dibawah ini.
Ketika kita memilih form transaksi pembayaran dari form Menu maka akan tampil form pembayaran seperti di bawah ini.
Bila kita ingin menampilkan data dari pembayaran, tekan tombol VIEW. Maka tampilannya akan seperti gambar dibawah ini.
Jika kita ingin melihat transaksi Pembayaran barang yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid.
Ketika kita memilih form Transaksi Retur dari form Menu, maka akan tampil form Retur seperti di bawah ini.
Jika kita ingin melihat transaksi Retur yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid.
Jika kita ingin melihat transaksi Penerimaan yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid.
Jika kita ingin melihat data supplier yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL DATA kemudian data akan tampil di flexgrid.
Jika kita ingin melihat data karyawan yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL DATA kemudian data akan tampil di flexgrid.
Jika kita ingin melihat data divisi yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL DATA kemudian data akan tampil di flexgrid.
Gambar form pilihan bulan dan tahun laporan pembelian yang ingin ditampilkan. Untuk tampilan form laporan transaksi yang lainnya juga sama dengan laporan pembelian jadi tidak perlu dicantumkan lagi.
Gambar L.25Gambar form pilihan bulan tahun untuk tampilan laporan pembelian
Kemudian setelah pilih tombol view maka akan keluar tampilan laporan pembelian sebagai berikut:
Kemudian untuk tampilan layar laporan pembayaran dapat dilihat sebagai berikut:
Gambar L.27 Gambar Laporan Pembayaran
Kemudian berikut adalah tampilan layar untuk laporan penerimaan barang.
Kemudian untuk tampilan layar laporan retur barang dapat dilihat sebagai berikut: