1. MEMBUAT TABEL DAN SEQUENCE
  1. Membuat Tabel Kategori Barang
create table kat_barang (idkat number primary key, namakat varchar(50) not null, deskket varchar(100));

  1. Membuat Tabel Barang
create table barang (kdbrg varchar(6) primary key, namabrg varchar(50) not null, hrgbrg long, idkat number not null, stokbrg number not null);

  1. Membuat Tabel Pelanggan
create table pelanggan (idplgn varchar(6) primary key, namaplgn varchar(50) not null, almtplgn varchar(100), noktkplgn varchar(13));

  1. Membuat Tabel Penjual

create table penjual (idpjl varchar(6) primary key, namapjl varchar(50) not null, almtpjl varchar(100), noktkpjl varchar(13));

  1. Membuat Tabel Faktur
create table faktur (kdfaktur varchar(6) primary key, idpjl varchar(6) not null, idplgn varchar(6), tglfaktur date not null, wktfaktur varchar(5) not null, totfaktur long not null);

  1. Membuat Tabel Detail Penjualan
create table detail_penjualan (iddtl number primary key, kdfaktur varchar(6) not null, kdbrg varchar(6) not null, qty integer not null);

  1. Membuat Sequence Detail Penjualan
create sequence detail_penjualan_seq
start with 1
maxvalue 999999999999999999999999999
minvalue 1
nocycle
nocache
noorder;

  1. INPUT, UPDATE, DELETE
  1. Input Data kategori barang
insert into kat_barang (idkat, namakat, deskkat)
values('1', 'CD/DVD', 'CD/DVD blank read, read-write');
insert into kat_barang (idkat, namakat, deskkat)
values('2', 'Flashdisk', 'Flashdisk 1gb,2gb,4gb,8gb,16gb');
insert into kat_barang (idkat, namakat, deskkat)
values('3', 'Peripheral', 'Perlengkapan komputer');
insert into kat_barang (idkat, namakat, deskkat)
values('4', 'Notebook', 'Notebook / Laptop');
insert into kat_barang (idkat, namakat, deskkat)
values('5', 'Netbook', 'Netbook');
insert into kat_barang (idkat, namakat, deskkat)
values('6', 'Desktop PC', 'Komputer desktop');

  1. Input Data Barang
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('CDMX01', 'CD R Matrix', 2500, 1, 200);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('DVBQ01', 'DVD R Ben-Q', 3500, 1, 200);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('FDKS05', 'Flashdisk Kingstone 4 GB', 70000, 2, 20);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('FDHP01', 'Flashdisk HP v155w 8 GB', 140000, 2, 25);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('MSPT03', 'Mouse Protouch', 36000, 3, 20);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('KBLT03', 'Keyboard Logitech standard ', 25000, 3, 10);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('ACR001', 'Acer Aspire 4315', 3500000, 4, 3);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('ACR002', 'Acer Aspire One', 3000000, 5, 5);
insert into barang (kdbrg, namabrg, hrgbrg, idkat, stokbrg)
values('KOM001', 'Komputer Paket 1 Ekonomis', 1200000, 6, 2);

  1. Input Data Pelanggan
insert into pelanggan (idplgn, namaplgn, almtplgn, noktkplgn)
values('TK0001', 'Toko Komputer Pantang Rusak', 'jl. Naripan no.23 Bandung', '0224235675');
insert into pelanggan (idplgn, namaplgn, almtplgn, noktkplgn)
values('KT0013', 'Kantor Percetakan buku Michan', 'jl. Sunda no.13 Bandung', '087821948748');

  1. Input data Penjual
insert into penjual (idpjl, namapjl, almtpjl, noktkpjl)
values('KSR001', 'Ichan', 'jl. Girimukti no.14 Bandung', '08562004839');
insert into penjual (idpjl, namapjl, almtpjl, noktkpjl)
values('MNJ001', 'Ihsan Fauzi Rahman', 'jl. Pajagalan no.13 Cihampelas Bandung', '02276083330');

  1. Input data Penjualan
insert into faktur (kdfaktur , idpjl , idplgn , tglfaktur , wktfaktur , totfaktur)
values ('JL0001', 'KSR001', 'TK0001', '05/11/2010', '14:23', 1000000);
insert into detail_penjualan (iddtl , kdfaktur , kdbrg, qty)
values (detail_penjualan_seq.nexval,'JL0001','FDHP01',5);
insert into detail_penjualan (iddtl , kdfaktur , kdbrg, qty)
values (detail_penjualan_seq.nexval,'JL0001','CDMX01',120);

  1. Update Stok Barang ketika melakukan penjualan (opsi 1)
update barang set stokbrg = 20
where kdbrg = 'FDHP01';
update barang set stokbrg = 80
where kdbrg = 'CDMX01';

  1. Trigger Update stok barang setelah penjualan (opsi 2)
create or replace trigger update_barang
after update of iddtl, qty on detail_penjualan
for each row
begin
update_stokbrg (:barang.stokbrg,:detail_penjualan.qty);
end;

update_stokbrg (:barang.stokbrg,:detail_penjualan.qty)
barang.stokbrg = barang.stokbrg-detail_penjualan.qty
where barang.kdbrg = detail_penjualan.kdbrg;

  1. QUERY MENAMPILKAN DATA
  1. Menampilkan data kat_barang
select k.idkat as ID, k.namakat as Nama, k.deskkat as Deskripsi
from kat_barang k;

  1. Menampilkan data Barang
select b.kdbrg as Kode_Barang, b.namabrg as Nama_Barang, b.hrgbrg as Harga, b.stokbrg as Stok
from barang b;

  1. Menampilkan data Pelanggan
select p.idplgn as ID, p.namaplgn as Nama_Pelanggan, p.almtplgn as Alamat, p.noktkplgn as No_Kontak
from pelanggan p;
  1. Menampilkan data Penjual
select pj.idpjl as ID, pj.namapjl as Nama_Penjual, pj.almtpjl as Alamat, pj.noktkpjl as No_Kontak
from penjual pj;
  1. Menampilkan data Faktur
select f.kdfaktur as Kode_Faktur, f.idpjl as ID_Penjual, f.idplgn as ID_Pelanggan, f.tglfaktur as Tanggal, f.wktfaktur as Waktu, f.totfaktur as Total
from faktur f;

  1. Menampilkan Seluruh Transaksi
select j.iddtl as ID, j.kdfaktur as Kode_Faktur, j.kdbrg as Kode_Barang, b.namabrg as Nama_Barang, j.qty as Qty, b.hrgbrg as Harga, (b.hrgbrg * j.qty) as Jumlah
from detail_penjualan j, barang b
where j.kdbrg = b.kdbrg
order by j.iddtl;

  1. Laporan transaksi tanggal dari – sampai
select j.iddtl as ID, j.kdfaktur as Kode_Faktur, f.tglfaktur as Tanggal, f.wktfaktur as Waktu, j.kdbrg as Kode_Barang, b.namabrg as Nama_Barang, j.qty as Qty, b.hrgbrg as Harga, (b.hrgbrg * j.qty) as Jumlah
from detail_penjualan j, barang b, faktur f
where j.kdbrg = b.kdbrg and
j.kdfaktur = f.kdfaktur
order by f.tglfaktur
limit tglawal,tglakhir;

1 comments:

  1. Terima kasih untuk informasinya, jangan lupa mampir juga di website kami:
    Server Pulsa Murah
    Kami menjual stok pulsa H2H untuk server & Open Master Dealer.

    Gabung saja ke Channel Telegram kami:
    @trenttronik

    Produk Trent Tronik
    Pulsa Elektrik Murah
    Token PLN Murah
    Paket Data Murah
    Cara Jadi Agen Pulsa
    Cara Deposit Otomatis
    Jasa Buat Server Pulsa
    CS Pulsa Murah

    BalasHapus

Terimakasih dan jangan sungkan untuk berdiskusi atau memberikan saran di kolom komentar.

 
Top