L1 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') );
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
(hargasatuan>=100000
and
jumlahbarang<=100), CONSTRAINT
ck_hargasatuan2
CHECK
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
@jenissatuanbarang, @harga, @jumlah) if(@@error <> 1) begin print 'Insert Berhasil' end
(@Nobarang,
@namabarang,
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,
@Nopemasok, @nopembelian)
@jumlahbayar,
@keterangan,
@nip,
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 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
@Nopenerimaan) if(@@error <> 1) begin print 'Insert Berhasil' end else begin print 'Insert Gagal' end
VALUES
(@Noretur,
@Tglretur,
@nip,
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
@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
(@Noretur,
@nobarang,
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
[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],
L28 @NoFaktur_2
[char],
@NoPembayaran_3 [char](10), @NoFaktur_4 @diskon_5
[char](20),
[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))
L29
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]
L30 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,
L31 [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],
L32 @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),
L33 @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],
@NoPemasok_2
[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]
= @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],
L35 @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))
L36 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] [TglPenerimaan]
= @NoPenerimaan_2, = @TglPenerimaan_3,
L37 [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] GO
= @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