Вы находитесь на странице: 1из 4

Buatlah Database SIAKAD dan Buatlah table berikut ini

1. Tabel Dosen

CREATE TABLE dosen (


nip VARCHAR(25) NOT NULL DEFAULT '',
nama VARCHAR(30) DEFAULT NULL,
alamat VARCHAR(50) DEFAULT NULL,
email VARCHAR(40) DEFAULT NULL,
hp VARCHAR(20) DEFAULT NULL,
pwd VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (nip))

2. Tabel Matakuliah
CREATE TABLE mk (
kd_mk VARCHAR(8) NOT NULL DEFAULT '',
ket VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (kd_mk),
KEY kd_mk (kd_mk))

3. Dosen Mengajar
CREATE TABLE dosen_mengajar (
kd INTEGER(11) NOT NULL AUTO_INCREMENT,
nip VARCHAR(25) DEFAULT NULL,
sem VARCHAR(1) DEFAULT NULL,
th_ajaran VARCHAR(4) DEFAULT NULL,
kode_mk VARCHAR(8) DEFAULT NULL,
kelas VARCHAR(2) DEFAULT NULL,
PRIMARY KEY (kd),
KEY nip (nip),
KEY kode_mk (kode_mk),
CONSTRAINT dosen_mengajar_fk FOREIGN KEY (nip) REFERENCES dosen (nip),
CONSTRAINT dosen_mengajar_fk1 FOREIGN KEY (kode_mk) REFERENCES mk
(kd_mk))

Kemudian isikan data berikut


Data Dosen
INSERT INTO `dosen` (`nip`, `nama`, `alamat`, `email`, `hp`, `pwd`) VALUES
('132304310','ABDULLAH BASUKI R',NULL,NULL,NULL,'19822'),
('132304314','ACHMAD. YASID, S.KOM',NULL,NULL,NULL,'22022'),
('132326474','M. LATIF, S.KOM',NULL,NULL,NULL,'22088'),
('132326478','VIVI TRI WIDYA N, S.KOM',NULL,NULL,NULL,'22110'),
('0411008','SRI WAHYUNI, S.KOM',NULL,NULL,NULL,'22176');
COMMIT;
Data Matakuliah
INSERT INTO `mk` (`kd_mk`, `ket`) VALUES
('TKI101','MATEMATIKA DASAR I'),
('TKI102','FISIKA DASAR I'),
('TKI103','MENGGAMBAR TEKNIK'),
('TKI104','PENGANTAR TEKNIK INDUSTRI'),
('TKI105','PENG. ILMU PENG.& TEKNOLOGI');
COMMIT;

Data Dosen Mengajar


INSERT INTO `dosen_mengajar` (`kd`, `nip`, `sem`, `th_ajaran`, `kode_mk`, `kelas`)
VALUES
(1,'132304310','1','2009','TKI103','B'),
(2,'132304310','1','2009','TKI104','A'),
(3,'132304310','1','2009','TKI104','B'),
(4,'132304314','1','2009','TKI105','A'),
(5,'132304314','1','2009','TKI105','B'),
(6,'132326474','1','2009','TKI103','A'),
(7,'132326478','1','2009','TKI102','A');
COMMIT;
Kerjakan perintah berikut dengan menggunakan join
1. Tampilkan NIP,NAMA DOSEN, KODE MK, NAMA MATAKULIAH, KELAS,
TAHUN AJARAN DARI TABEL DOSEN, MK, DOSEN MENGAJAR
A) GUNAKAN EQUI JOIN
B) GUNAKAN INNER JOIN

2. Tampilkan NIP,NAMA DOSEN, KODE MK, NAMA MATAKULIAH, KELAS,


TAHUN AJARAN DARI TABEL DOSEN, MK, DOSEN MENGAJAR dengan
mengikutkan data dosen yang tidak mengampu matakuliah
A) GUNAKAN LEFT JOIN
B) GUNAKAN LEFT OUTER JOIN

3. Tampilkan NIP,NAMA DOSEN, KODE MK, NAMA MATAKULIAH, KELAS,


TAHUN AJARAN DARI TABEL DOSEN, MK, DOSEN MENGAJAR dengan
mengikutkan data MATAKULIAH yang tidak DIAMPU
A) GUNAKAN RIGHT JOIN
B) GUNAKAN RIGHT OUTER JOIN

4. Buatlah cartesian product dari tabel dosen dan dosen mengajar (gunakan cross
join)
5. Tampilkan NIP, Nama dosen, semester, kode mk, kelas, tahun ajaran dari tabel
dosen, dosen_mengajar. Gunakan Natural Join
Jawaban
1.A. SELECT DOSEN.NIP,
DOSEN.NAMA,MK.KD_MK,MK.KET,DOSEN_MENGAJAR.KELAS,
DOSEN_MENGAJAR.TH_AJARAN FROM DOSEN,MK,DOSEN_MENGAJAR
WHERE DOSEN.NIP = DOSEN_MENGAJAR.NIP AND
MK.KD_MK=DOSEN_MENGAJAR.KODE_MK
1.B. SELECT DOSEN.NIP,
DOSEN.NAMA,K.KD_MK,MK.KET,DOSEN_MENGAJAR.KELAS,
DOSEN_MENGAJAR.TH_AJARAN
FROM DOSEN INNER JOIN DOSEN_MENGAJAR
ON DOSEN.NIP = DOSEN_MENGAJAR.NIP
INNER JOIN MK ON MK.KD_MK=DOSEN_MENGAJAR.KODE_MK

2. SELECT DOSEN.NIP, DOSEN.NAMA,


MK.KD_MK,MK.KET,DOSEN_MENGAJAR.KELAS,DOSEN_MENGAJAR.TH_AJA
RAN
FROM DOSEN LEFT JOIN DOSEN_MENGAJAR ON DOSEN.NIP =
DOSEN_MENGAJAR.NIP
LEFT JOIN MK ON MK.KD_MK=DOSEN_MENGAJAR.KODE_MK

3. SELECT DOSEN.NIP, DOSEN.NAMA,


MK.KD_MK,MK.KET,DOSEN_MENGAJAR.KELAS,DOSEN_MENGAJAR.TH_AJA
RAN
FROM DOSEN RIGHT JOIN DOSEN_MENGAJAR ON DOSEN.NIP =
DOSEN_MENGAJAR.NIP
RIGHT JOIN MK ON MK.KD_MK=DOSEN_MENGAJAR.KODE_MK

4. SELECT * FROM DOSEN CROSS JOIN DOSEN_MENGAJAR

5. SELECT DOSEN.NIP,
DOSEN.NAMA,DOSEN_MENGAJAR.SEM,DOSEN_MENGAJAR.KODE_MK,DOS
EN_MENGAJAR.KELAS,DOSEN_MENGAJAR.TH_AJARAN
FROM DOSEN natural join dosen_mengajar

Вам также может понравиться