Anda di halaman 1dari 15

Nama:

Kelvin Hermawan Leonardo (12.111.0782)


Jansen (12.111.0791)
Christian Yaputra (12.111.1478)

Deskripsi
Sebuah perusahaan distributor alat-alat komputer memiliki dua buah gudang utuk menyimpan semua
bahan mentah dan produk. Sebuah bahan mentah dikirim oleh seorang pemasok dan disimpan di sebuah
gudang khusus bahan mentah. Bahan-bahan tersebut juga akan diolah menjadi produk-produk yang akan
disimpan di sebuah gudang khusus produk siap jadi dimana di gudang tersebut terdapat rak-rak yang
menyusun masing-masing produk. Di dalam setiap gudang tersebut terdapat beberapa pegawai yang
bertugas mengelola gudang tersebut. Setiap produk akan dikirim ke beberapa toko untuk dijual kepada
pembeli.

ERD

Asumsi
1. Seorang pemasok mengirim satu atau lebih bahan mentah ke perusahaan sedangkan sebuah bahan
mentah hanya dikirim oleh seorang pemasok
2. Sebuah bahan mentah hanya dapat diolah menjadi sebuah produk sedangkan sebuah produk dapat
dioleh dari satu atau lebih bahan mentah
3. Semua bahan mentah disimpan dalam sebuah gudang dan sebuah gudang menyimpan satu atau lebih
bahan mentah.

4. Sebuah gudang dikelola oleh satu atau lebih pegawai tetapi satu pegawai hanya mengelola sebuah
gudang
5. Semua produk disimpan dalam sebuah gudang dan sebuah gudang menyimpan satu atau lebih produk
6. Sebuah produk disusun di sebuah rak dan sebuah rak tersusun oleh sebuah produk
7. Sebuah produk dikirim ke satu atau lebih toko dan sebuah toko mengambil kiriman satu atau lebih
produk
8. Sebuah toko melakukan transaksi oleh satu atau lebih pembeli dan seorang pembeli melakukan
transaksi di satu atau lebih toko
9. Sebuah rak ditampung di sebuah gudang dan sebuah gudang dapat menampung banyak rak
10. Sebuah toko mendapatkan produk dari banyak gudang dan sebuah gudang mengirimkan banyak
produk ke toko

Model Relasional

Data Definition Language (DDL)


CREATE DATABASE STOK_GUDANG_PERUSAHAAN
ON
( NAME = STOK_dat,
FILENAME = 'D:\Basis Data Dasar\Tugas\SQL\STOK.mdf',
SIZE = 8,
MAXSIZE = Unlimited,
FILEGROWTH = 2 )
LOG ON
( NAME = 'STOK_log',
FILENAME = 'D:\Basis Data Dasar\Tugas\SQL\STOK.ldf',
SIZE = 5,
MAXSIZE = 50,
FILEGROWTH = 1 )
CREATE TABLE PEMASOK
(
ID_PEMASOK Char (5),
NAMA_PEMASOK VarChar (100) NOT NULL,
ALAMAT VarChar (100) NOT NULL,
CONSTRAINT PK_PEMASOK PRIMARY KEY (ID_PEMASOK)
)
CREATE TABLE GUDANG
(
NO_GUDANG Char (3),
NAMA_GUDANG VarChar (50) NOT NULL,
CONSTRAINT PK_GUDANG PRIMARY KEY (NO_GUDANG)
)
CREATE TABLE TOKO
(
NAMA_TOKO VarChar (50),
ALAMAT VarChar (100) NOT NULL,
CONSTRAINT PK_TOKO PRIMARY KEY (NAMA_TOKO)

)
CREATE TABLE PEMBELI
(
ID_PEMBELI Char (5),
NAMA_PEMBELI VarChar (100) NOT NULL,
ALAMAT VarChar (100) NOT NULL,
JUMLAH_BELI VARCHAR (2) NOT NULL,
CONSTRAINT PK_PEMBELI PRIMARY KEY (ID_PEMBELI)
)
CREATE TABLE PEGAWAI
(
ID_PEGAWAI VarChar (5),
NAMA_PEGAWAI VarChar (100) NOT NULL,
ALAMAT VarChar (100) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT PK_PEGAWAI PRIMARY KEY (ID_PEGAWAI),
CONSTRAINT FK_PEGAWAI FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE
CASCADE
)
CREATE TABLE PRODUK
(
ID_PRODUK Char (5),
NAMA_PRODUK VarChar (100) NOT NULL,
TGL_OLAH Char (10) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT PK_PRODUK PRIMARY KEY (ID_PRODUK),
CONSTRAINT FK_PRODUK FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE BAHAN_MENTAH
(
ID_BAHAN VarChar (5),
NAMA_BAHAN VarChar (100) NOT NULL,
TGL_KIRIM Char (10) NOT NULL,
ID_PEMASOK Char(5) NOT NULL,
NO_GUDANG Char(3) NOT NULL,

ID_PRODUK Char(5) NOT NULL,


CONSTRAINT PK_BAHAN_MENTAH PRIMARY KEY (ID_BAHAN),
CONSTRAINT FK_GUDANG_BAHAN_MENTAH FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON
DELETE CASCADE,
CONSTRAINT FK_PEMASOK_BAHAN_MENTAH FOREIGN KEY (ID_PEMASOK) REFERENCES PEMASOK (ID_PEMASOK) ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT FK_PRODUK_BAHAN_MENTAH FOREIGN KEY (ID_PRODUK) REFERENCES PRODUK (ID_PRODUK) ON UPDATE NO ACTION ON
DELETE NO ACTION
)
CREATE TABLE RAK
(
NO_RAK Char (3),
NAMA_RAK VarChar (20) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
ID_PRODUK Char(5) NOT NULL,
CONSTRAINT PK_RAK PRIMARY KEY (NO_RAK),
CONSTRAINT FK_RAK_GUDANG FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE
CASCADE,
CONSTRAINT FK_RAK_PRODUK FOREIGN KEY (ID_PRODUK) REFERENCES PRODUK (ID_PRODUK) ON UPDATE NO ACTION ON DELETE
NO ACTION
)
CREATE TABLE PENGIRIMAN
(
ID_PRODUK Char (5),
NAMA_TOKO VarChar (50) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT FK_TOKO FOREIGN KEY (NAMA_TOKO) REFERENCES TOKO (NAMA_TOKO) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT FK_GUDANG FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE
CASCADE,
CONSTRAINT FK_PENGIRIMAN_PRODUK FOREIGN KEY (ID_PRODUK) REFERENCES PRODUK (ID_PRODUK) ON UPDATE NO ACTION ON
DELETE NO ACTION
)
CREATE TABLE TRANSAKSI
(
ID_PEMBELI Char (5),
NAMA_TOKO VarChar (50) NOT NULL,

CONSTRAINT FK_TRANSAKSI_TOKO FOREIGN KEY (NAMA_TOKO) REFERENCES TOKO (NAMA_TOKO) ON UPDATE CASCADE ON DELETE
CASCADE,
CONSTRAINT FK_PEMBELI FOREIGN KEY (ID_PEMBELI) REFERENCES PEMBELI (ID_PEMBELI) ON UPDATE CASCADE ON DELETE
CASCADE
)

Data Manipulation Language (DML)


INSERT INTO PEMASOK
(ID_PEMASOK, NAMA_PEMASOK, Alamat)
VALUES
('A0001','ANDI','Jl. Sumatera No.1'),
('A0002','BUDI','Jl. Singa No.30'),
('A0003','CHANDRA','Jl. Waringin No.25'),
('A0004','DENI','Jl. Listrik No.4'),
('A0005','EKA','Jl. Sunggal No.101A')
UPDATE PEMASOK
SET ID_PEMASOK = 'A0006'
WHERE NAMA_PEMASOK = 'ANDI'
UPDATE PEMASOK
SET NAMA_PEMASOK = 'EKO'
WHERE ALAMAT = 'JL. SUNGGAL NO.101A'
DELETE
FROM PEMASOK
WHERE ID_PEMASOK = 'A0002'
DELETE
FROM PEMASOK
WHERE NAMA_PEMASOK = 'CHANDRA'
INSERT INTO GUDANG
(NO_GUDANG, NAMA_GUDANG)
VALUES
('A01', 'GUDANG1'),
('A02', 'GUDANG2'),

('A03', 'GUDANG3'),
('A04', 'GUDANG4'),
('A05', 'GUDANG5')
UPDATE GUDANG
SET NO_GUDANG = 'A06'
WHERE NAMA_GUDANG = 'GUDANG5'
UPDATE GUDANG
SET NAMA_GUDANG = 'GUDANG6'
WHERE NO_GUDANG = 'A03'
DELETE
FROM GUDANG
WHERE NO_GUDANG = 'A02'
DELETE
FROM GUDANG
WHERE NAMA_GUDANG = 'GUDANG4'
INSERT INTO TOKO
(NAMA_TOKO, ALAMAT)
VALUES
('ALAM JAYA','Jl. Sumatera No.5'),
('BUMI ASRI','Jl. Singa No.40'),
('CINTA ALAM','Jl. Waringin No.10'),
('DESA BARU','Jl. Listrik No.14'),
('ELANG MAKMUR','Jl. Sunggal No.100')
UPDATE TOKO
SET NAMA_TOKO = 'ALAM ASRI'
WHERE ALAMAT = 'JL. SUMATERA NO.5'
UPDATE TOKO
SET ALAMAT = 'JL. SUNGGAL NO. 1'
WHERE NAMA_TOKO = 'ELANG MAKMUR'
DELETE
FROM TOKO

WHERE NAMA_TOKO = 'DESA BARU'


DELETE
FROM TOKO
WHERE ALAMAT = 'JL. WARINGIN NO.10'
INSERT INTO PEMBELI
(ID_PEMBELI, NAMA_PEMBELI, Alamat, JUMLAH_BELI)
VALUES
('B0001','ADE','Jl. Sumatera No.1','10'),
('B0002','BAGUS','Jl. Singa No.30','15'),
('B0003','CITRA','Jl. Waringin No.25','5'),
('B0004','DONI','Jl. Listrik No.4','8'),
('B0005','ELI','Jl. Sunggal No.101A','14')
UPDATE PEMBELI
SET ID_PEMBELI = 'B0006'
WHERE NAMA_PEMBELI = 'BAGUS'
UPDATE PEMBELI
SET JUMLAH_BELI = '1'
WHERE ID_PEMBELI = 'B0004'
DELETE
FROM PEMBELI
WHERE NAMA_PEMBELI = 'CITRA'
DELETE
FROM PEMBELI
WHERE JUMLAH_BELI < 10
INSERT INTO PEGAWAI
(ID_PEGAWAI, NAMA_PEGAWAI, Alamat, NO_GUDANG)
VALUES
('C0001','ADI','Jl. Sumatera No.2','A01'),
('C0002','BIMA','Jl. Singa No.31','A02'),
('C0003','COKRO','Jl. Waringin No.20','A03'),
('C0004','DIKA','Jl. Listrik No.5','A04'),
('C0005','ELLO','Jl. Sunggal No.101','A05')

UPDATE PEGAWAI
SET ID_PEGAWAI = 'C0006'
WHERE NAMA_PEGAWAI = 'ADI'
UPDATE PEGAWAI
SET NAMA_PEGAWAI = 'ELLA'
WHERE ALAMAT = 'Jl. Sunggal No.101'
DELETE
FROM PEGAWAI
WHERE ID_PEGAWAI = 'C0002'
DELETE
FROM PEGAWAI
WHERE NAMA_PEGAWAI = 'COKRO'
INSERT INTO PRODUK
(ID_PRODUK, NAMA_PRODUK, TGL_OLAH, NO_GUDANG)
VALUES
('D0001', 'MOUSE', '20-10-2010', 'A01'),
('D0002', 'MOTHERBOARD', '20-12-2012', 'A02'),
('D0003', 'MONITOR', '20-03-2003', 'A03'),
('D0004', 'PROSESOR', '20-02-2002', 'A04'),
('D0005', 'KEYBOARD', '20-01-2001', 'A05')
UPDATE PRODUK
SET ID_PRODUK = 'D0006'
WHERE NAMA_PRODUK = 'PROSESOR'
UPDATE PRODUK
SET TGL_OLAH = '12-12-2012'
WHERE ID_PRODUK = 'D0005'
DELETE
FROM PRODUK
WHERE TGL_OLAH = '20-10-2010'
DELETE

FROM PRODUK
WHERE NAMA_PRODUK = 'MOTHERBOARD'
INSERT INTO BAHAN_MENTAH
(ID_BAHAN, NAMA_BAHAN, TGL_KIRIM, ID_PEMASOK, NO_GUDANG, ID_PRODUK)
VALUES
('E0001', 'KABEL', '20-10-2010', 'A0001', 'A01', 'D0001'),
('E0002', 'PAPAN PBC', '20-12-2012', 'A0002', 'A02', 'D0002'),
('E0003', 'KARBON', '20-03-2003', 'A0003', 'A03', 'D0003'),
('E0004', 'CHIP', '20-02-2002', 'A0004', 'A04', 'D0004'),
('E0005', 'TUTS', '20-01-2001', 'A0005', 'A05', 'D0005')
UPDATE BAHAN_MENTAH
SET ID_BAHAN = 'E007'
WHERE NAMA_BAHAN = 'KABEL'
UPDATE BAHAN_MENTAH
SET TGL_KIRIM = '20-08-2008'
WHERE NAMA_BAHAN = 'KARBON'
DELETE
FROM BAHAN_MENTAH
WHERE NAMA_BAHAN = 'PAPAN PBC'
DELETE
FROM BAHAN_MENTAH
WHERE TGL_KIRIM = '20-01-2001'
INSERT INTO RAK
(NO_RAK, NAMA_RAK, ID_PRODUK, NO_GUDANG)
VALUES
('B01', 'RAK1', 'D0001', 'A01'),
('B02', 'RAK2', 'D0002', 'A02'),
('B03', 'RAK3', 'D0003', 'A03'),
('B04', 'RAK4', 'D0004', 'A04'),
('B05', 'RAK5', 'D0005', 'A05')
UPDATE RAK
SET NO_RAK = 'B06'

WHERE NAMA_RAK = 'RAK2'


UPDATE RAK
SET NAMA_RAK = 'RAK6'
WHERE NO_RAK = 'B01'
DELETE
FROM RAK
WHERE NO_RAK = 'B03'
DELETE
FROM RAK
WHERE NAMA_RAK = 'RAK4'
INSERT INTO PENGIRIMAN
(ID_PRODUK, NAMA_TOKO, NO_GUDANG)
VALUES
('D0001', 'ALAM JAYA', 'A01'),
('D0002', 'BUMI ASRI', 'A02'),
('D0003', 'CINTA ALAM', 'A03'),
('D0004', 'DESA BARU', 'A04'),
('D0005', 'ELANG MAKMUR', 'A05')
UPDATE PENGIRIMAN
SET NAMA_TOKO = 'ELANG JAYA'
WHERE NO_GUDANG = 'A05'
UPDATE PENGIRIMAN
SET NAMA_TOKO = 'DEMI ANAK'
WHERE ID_PRODUK = 'D0004'
DELETE
FROM PENGIRIMAN
WHERE ID_PRODUK = 'D0003'
DELETE
FROM PENGIRIMAN
WHERE NAMA_TOKO = 'BUMI ASRI'

INSERT INTO TRANSAKSI


(NAMA_TOKO, ID_PEMBELI)
VALUES
('ALAM JAYA', 'B0001'),
('BUMI ASRI', 'B0002'),
('CINTA ALAM', 'B0003'),
('DESA BARU', 'B0004'),
('ELANG MAKMUR', 'B0005')
UPDATE TRANSAKSI
SET NAMA_TOKO = 'BUMI PANAS'
WHERE ID_PEMBELI = 'B0002'
UPDATE TRANSAKSI
SET ID_PEMBELI = 'B0003'
WHERE NAMA_TOKO = 'CINTA ALAM'
DELETE
FROM TRANSAKSI
WHERE NAMA_TOKO = 'DESA BARU'
DELETE
FROM TRANSAKSI
WHERE ID_PEMBELI = 'B0001'

Query
SELECT ID_PEMASOK AS [KODE PEMASOK], NAMA_PEMASOK AS [NAMA PEMASOK] FROM PEMASOK
SELECT * FROM PRODUK ORDER BY NO_GUDANG DESC
SELECT * FROM PEMBELI WHERE JUMLAH_BELI >10 AND JUMLAH_BELI <16
SELECT * FROM PEMASOK WHERE NAMA_PEMASOK LIKE '%I'
SELECT * FROM TOKO WHERE NAMA_TOKO LIKE '%I' ORDER BY NAMA_TOKO DESC

Aljabar Relasional
1.

(Hasil(1KODE PEMASOK, 2NAMA PEMASOK), ID_PEMASOK, NAMA_PEMASOK


(PEMASOK))

2.
3.
4.
5.

(PRODUK)
JUMLAH_BELI>10 JUMLAH_BELI <16 (PEMBELI)
NAMA_PEMASOK= %I (PEMASOK)
NAMA_TOKO= %I ORDER BY(NAMA_TOKO) descending(TOKO)
ORDER BY(NO_GUDANG) DESCENDING

Anda mungkin juga menyukai