L1 LAMPIRAN Listing Program 1. Implementasi Create Table CREATE TABLE barang ( NoBarang NamaBarang Jenissatuanbarang Harga Jumlah CHAR ( 10 ) NOT NULL, VARCHAR ( 20 ) NOT NULL, VARCHAR (6) NOT NULL, NUMERIC (10,2) NOT NULL, 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') );
L2 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') );
L3 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,
L4 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'),
L5 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, TotalPembelian NUMERIC (10,2) NOT NULL,
L6 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,
L7 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()) );
L8 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') );
L9 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,
L10 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 );
L11 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);
L12 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
L13 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 grant select on detailretur to keuangan
L14 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
L15 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
L16 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
L17 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,
L18 @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
L19 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)
L20 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)
L21 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 else
L22 begin end print 'Insert Gagal' 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
L23 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), @NoBarang CHAR (10),
L24 @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
L25 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) AS DELETE divisi
L26 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
L27 c. Untuk meng-update data 1. Update table barang CREATE PROCEDURE [update_barang_1] (@NoBarang_1 @NoBarang_2 @NamaBarang_3 @Jenissatuanbarang_4 @Harga_5 @Jumlah_6 [char], [char](10), [varchar](20), [varchar](6), [numeric], [int]) AS UPDATE [coba].[dbo].[barang] SET [NoBarang] [NamaBarang] [Jenissatuanbarang] [Harga] [Jumlah] = @NoBarang_2, = @NamaBarang_3, = @Jenissatuanbarang_4, = @Harga_5, = @Jumlah_6 WHERE GO ( [NoBarang] = @NoBarang_1) 2. Update table detailpembayaran CREATE PROCEDURE [update_detailpembayaran_1] (@NoPembayaran_1 [char],
L28 @NoFaktur_2 [char], @NoPembayaran_3 [char](10), @NoFaktur_4 [char](20), @diskon_5 [numeric]) AS UPDATE [coba].[dbo].[detailpembayaran] SET [NoPembayaran] [NoFaktur] [diskon] = @NoPembayaran_3, = @NoFaktur_4, = @diskon_5, WHERE ( [NoPembayaran] = @NoPembayaran_1 AND [NoFaktur] = @NoFaktur_2) GO 3. Update table detailpembelian CREATE PROCEDURE [update_detailpembelian_1] (@NoPembelian_1 @NoBarang_2 @NoPembelian_3 @NoBarang_4 @JumlahBarang_5 @HargaSatuan_6 @Keterangan_7 [char], [char], [char](10), [char](10), [int], [numeric], [varchar](50))
L29 AS UPDATE [coba].[dbo].[detailpembelian] SET [NoPembelian] [NoBarang] [JumlahBarang] [HargaSatuan] [Keterangan] = @NoPembelian_3, = @NoBarang_4, = @JumlahBarang_5, = @HargaSatuan_6, = @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 @JumlahBarang_5 @HargaSatuan_6 @Kondisiterima_7 [varchar](10), [int], [numeric], [varchar](60)) AS UPDATE [coba].[dbo].[detailpenerimaan]
L30 SET [NoPenerimaan] [NoBarang] [JumlahBarang] [HargaSatuan] [Kondisiterima] = @NoPenerimaan_3, = @NoBarang_4, = @JumlahBarang_5, = @HargaSatuan_6, = @Kondisiterima_7 WHERE ( [NoPenerimaan] = @NoPenerimaan_1 AND [NoBarang] = @NoBarang_2) GO 6. Update table detailretur CREATE PROCEDURE [update_detailretur_1] (@NoRetur_1 @NoBarang_2 @NoRetur_3 @NoBarang_4 @JumlahBarang_5 @AlasanRetur_6 [char], [char], [char](10), [char](10), [int], [varchar](50)) AS UPDATE [coba].[dbo].[detailretur] SET [NoRetur] [NoBarang] [JumlahBarang] = @NoRetur_3, = @NoBarang_4, = @JumlahBarang_5,
L31 [AlasanRetur] = @AlasanRetur_6 WHERE ( [NoRetur] = @NoRetur_1 AND [NoBarang] = @NoBarang_2) GO 7. Update table divisi CREATE PROCEDURE [update_divisi_1] (@NoDiv_1 @NoDiv_2 @NamaDivisi_3 [char], [char](10), [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],
L32 @NoFaktur_2 [char](10), @TanggalFaktur_3 [datetime], @NamaBarang_4 @JumlahPPN_5 @JumlahPPH_6 @Keterangan_7 [varchar](20), [numeric], [numeric], [varchar](50)) AS UPDATE [coba].[dbo].[fakturpajak] SET [NoFaktur] = @NoFaktur_2, [TanggalFaktur] [NamaBarang] [JumlahPPN] [JumlahPPH] [Keterangan] = @TanggalFaktur_3, = @NamaBarang_4, = @JumlahPPN_5, = @JumlahPPH_6, = @Keterangan_7 WHERE GO ( [NoFaktur] = @NoFaktur_1) 9. Update table karyawan CREATE PROCEDURE update_karyawan (@NIP_1 @NIP_2 @Nama_3 [char], [char](10), varchar(20),
L33 @Alamat_4 @Jabatan_5 @Status_6 @Tanggallahir_7 @Jeniskelamin_8 @NoDiv_9 varchar(30), varchar(20), varchar(10), datetime, [char](1), [varchar](10)) AS UPDATE SET [NIP] [Nama] [Alamat] [Jabatan] [Status] = @NIP_2, = @Nama, = @Alamat, = @Jabatan, = @Status, [Tanggallahir] = @Tanggallahir, [Jeniskelamin] = @Jeniskelamin, [NoDiv] = @NoDiv WHERE ([NIP] = @NIP_1) GO 10. Update table pemasok CREATE PROCEDURE [update_pemasok_1] (@NoPemasok_1 @NoPemasok_2 [char], [char](10),
L34 @NamaPemasok_3 [varchar](20), @Namabarang_4 [varchar](20), @AlamatPemasok_5 [varchar](30), @ContactPerson_6 [varchar](20)) AS UPDATE [coba].[dbo].[pemasok] SET [NoPemasok] [NamaPemasok] [Namabarang] [AlamatPemasok] [ContactPerson] = @NoPemasok_2, = @NamaPemasok_3, = @Namabarang_4, = @AlamatPemasok_5, = @ContactPerson_6 WHERE GO ( [NoPemasok] = @NoPemasok_1) 11. Update table pembayaran CREATE PROCEDURE [update_pembayaran_1] (@NoPembayaran_1 [char], @NoPembayaran_2 [char](10), @TanggalBayar_3 @Statusbayar_4 @Jenisbayar_5 @JumlahBayar_6 [datetime], [varchar](11), [varchar](5), [numeric],
L35 @Keterangan_7 @NIP_8 [varchar](50), [char](10)) AS UPDATE pembayaran SET [NoPembayaran] [TanggalBayar] [Statusbayar] [Jenisbayar] [JumlahBayar] [Keterangan] [NIP] = @NoPembayaran_2, = @TanggalBayar_3, = @Statusbayar_4, = @Jenisbayar_5, = @JumlahBayar_6, = @Keterangan_7, = @NIP_8, WHERE GO ( [NoPembayaran] = @NoPembayaran_1) 12. Update table pembelian CREATE PROCEDURE [update_pembelian_1] (@NoPembelian_1 @NoPembelian_2 @TanggalBeli_3 [char], [char](10), [datetime], @TotalPembelian_4 [numeric], @Keterangan_5 @NIP_6 @NoPemasok_7 [varchar](50), [char](10), [char](10))
L36 AS UPDATE [coba].[dbo].[pembelian] SET [NoPembelian] [TanggalBeli] [TotalPembelian] [Keterangan] [NIP] [NoPemasok] = @NoPembelian_2, = @TanggalBeli_3, = @TotalPembelian_4, = @Keterangan_5, = @NIP_6, = @NoPemasok_7 WHERE GO ( [NoPembelian] = @NoPembelian_1) 13. Update table penerimaan CREATE PROCEDURE [update_penerimaan_1] (@NoPenerimaan_1 [char], @NoPenerimaan_2 [char](10), @TglPenerimaan_3 [datetime], @Keterangan_4 @NIP_5 [varchar](50), [char](10), @NoPembayaran_6 [char](10), @NoPembelian_7 [char](10)) AS UPDATE [coba].[dbo].[penerimaan] SET [NoPenerimaan] [TglPenerimaan] = @NoPenerimaan_2, = @TglPenerimaan_3,
L37 [Keterangan] [NIP] [NoPembayaran] [NoPembelian] = @Keterangan_4, = @NIP_5, = @NoPembayaran_6, = @NoPembelian_7 WHERE GO ( [NoPenerimaan] = @NoPenerimaan_1) 14. Update table retur CREATE PROCEDURE [update_retur_1] (@NoRetur_1 @NoRetur_2 @TglRetur_3 @NIP_4 [char], [char](10), [datetime], [char](10), @NoPenerimaan_5 [char](10)) AS UPDATE [coba].[dbo].[retur] SET [NoRetur] [TglRetur] [NIP] [NoPenerimaan] = @NoRetur_2, = @TglRetur_3, = @NIP_4, = @NoPenerimaan_5 WHERE GO ( [NoRetur] = @NoRetur_1)
L38 Database Diagram Gambar L.1 Gambar Model ERD Akhir
L39 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.
L40 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. Gambar L.4 Gambar form menu pilihan
L41 Kemudian form data barang keluar. Bentuk formnya seperti gambar di bawah ini. Gambar L.5 Gambar form data Barang
L42 Bila kita ingin menampilkan datanya, tekan tombol VIEW DATA. Maka tampilan formnya akan seperti gambar dibawah ini. Gambar L.6 Gambar form view data Barang
L43 Bila kita ingin memasukkan data, maka tekan tombol BLANK/CANCEL untuk mengosongkan textfield. Gambar L.7 Gambar form insert data Barang
L44 Kemudian masukkan datanya. Lalu tekan tombol SAVE untuk menyimpan data. Gambar L.8 Gambar form pengisian data Barang
L45 Setelah itu jika datanya valid maka data akan tersimpan dalam basis data. Gambar L.9 Gambar form pengisian data Barang berhasil
L46 Jika kita ingin melihat data barang secara keseluruhan maka kita bisa tekan tombol VIEW ALL DATA kemudian data akan tampil di flexgrid. Gambar L.10 Gambar form view all data Barang
L47 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. Gambar L.11 Gambar form pencarian data Barang
L48 Bila kita ingin menampilkan data dari pembelian, tekan tombol VIEW. Maka tampilannya akan seperti gambar dibawah ini. Gambar L.12 Gambar form view Pembelian
L49 Kemudian masukkan datanya. Lalu tekan tombol SAVE untuk menyimpan data. Setelah itu jika datanya valid maka data akan tersimpan dalam basis data. Gambar L.13 Gambar form pengisian Pembelian barang berhasil
L50 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. Gambar L.14 Gambar form view all Pembelian
L51 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. Gambar L.15 Gambar form pencarian data Pembelian
L52 Ketika kita memilih form transaksi pembayaran dari form Menu maka akan tampil form pembayaran seperti di bawah ini. Gambar L.16 Gambar form Pembayaran
L53 Bila kita ingin menampilkan data dari pembayaran, tekan tombol VIEW. Maka tampilannya akan seperti gambar dibawah ini. Gambar L.17 Gambar form view Pembayaran
L54 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. Gambar L.18 Gambar form view all Pembayaran
L55 Ketika kita memilih form Transaksi Retur dari form Menu, maka akan tampil form Retur seperti di bawah ini. Gambar L.19 Gambar form view Retur
L56 Jika kita ingin melihat transaksi Retur yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid. Gambar L.20 Gambar form view all Retur
L57 Jika kita ingin melihat transaksi Penerimaan yang telah dilakukan secara keseluruhan maka kita bisa tekan tombol VIEW ALL kemudian data akan tampil di flexgrid. Gambar L.21 Gambar form view all Penerimaan
L58 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. Gambar L.22 Gambar form view all data Supplier
L59 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. Gambar L.23 Gambar form view all data Karyawan
L60 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 L.24 Gambar form view all data Divisi
L61 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: Gambar L.26 Gambar Laporan Pembelian
L62 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. Gambar L.28 Gambar Laporan Penerimaan barang
L63 Kemudian untuk tampilan layar laporan retur barang dapat dilihat sebagai berikut: Gambar L.29 Gambar Laporan Retur