Anda di halaman 1dari 4

Mata Kuliah : Basis Data

Program Studi : Teknik Informatika


Fakultas : Ilmu Komputer

[CONTOH SOLUSI] QUIZ 2


PETUNJUK :
1. Tuliskan NPM, nama, dan kelas pada pojok kanan atas lembar jawaban Anda. Kelalaian/kesalahan
menuliskan informasi ini diberi penalti 5 poin. Jawaban Quiz ditulis di kertas jawaban sendiri.
2. Tulis ulang pernyataan academic code of conduct di bawah ini pada bagian awal jawaban Quiz Anda.
Saya menyatakan bahwa Quiz ini saya kerjakan dengan jujur dari usaha sendiri, tidak menyalin jawaban dari sumber
manapun dan menjaga agar jawaban saya tidak disalin oleh peserta lainnya.
(Nama & Tanda Tangan)
- SOAL -
1. (Poin 40) Benar/Salah
Nyatakan pernyataan di bawah ini Benar (B) atau Salah (S) dengan melingkari salah satu.
1) SQL (Structure Query Language) merupakan komponen bahasa Relational Database System. ( B /S )
2) Tipe data dalam SQL yang digunakan untuk data berups angka pecahan adalah INT. ( B / S )
3) Perintah CREATE, DROP, ALTER termasuk dalam Data Manipulation Language (DML). ( B / S )
4) Pemakai (user) atau program harus memberikan nilai-nilai pada saat memasukkan record
menunjukkan bahwa spesifikasi datanya adalah NOT NULL. ( B /S )
5) Perintah DROP apabila diterapkan akan mengakibatkan deskripsi tabel akan hilang. ( B /S )
6) Untuk menghilangkan tuple yang terduplikasi dalam relasi hasil query maka digunakan kata kunci
DISTINCT. ( B /S )
7) Perintah GRANT menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh
administrator . ( B / S )
8) Jika menggunakan tipe kolom CHAR, VARCHAR, atau TEXT, maka perntah SELECT … LIKE bersifat
CASE SENSITIF, artinya huruf besar dan kecil dianggap BERBEDA (penulisannya harus tepat). ( B / S )
9) SELECT COUNT(*) FROM Mahasiswa , perintah ini akan menampilkan jumlah mahasiswa . ( B /S )
10) SELECT * FROM tabelA CROSS JOIN tabelB sama dengan SELECT * FROM tabelA, tabelB . ( B /S )
11) Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas lain. ( B /S )
12) Composite Attribute adalah atribut yang memiliki isi lebih dari satu nilai. ( B / S )
13) Setiap mahasiswa dapat mempelajari banyak mata kuliah dan setiap mata kuliah dapat dipelajari
oleh banyak mahasiswa. Kardinalitas mahasiswa dengan matakuliah adalah Many to Many. ( B /S )
14) Lingkaran/Elips merupakan notasi ERD yang menyatakan himpunan relasi. ( B / S )
15) Keuntungan normalisasi adalah meminimalkan resiko inkonsistensi data pada basis data. ( B /S )

Betha Nurina Sari, M.Kom 1


Mata Kuliah : Basis Data
Program Studi : Teknik Informatika
Fakultas : Ilmu Komputer

16) Rancangan database dikatakan buruk jika terjadi adanya redudansi dan duplikasi data dan Timbul
adanya NULL value. ( B /S )
17) Error yang terjadi sebagai akibat operasi penambahan record/tuple pada sebuah relasi disebut
Insert Anomali. ( B /S )
18) Suatu atribut Y mempunyai ketergantungan transitif terhadap atribut X jika dan hanya jika setiap
nilai X berhubungan dengan sebuah nilai Y. ( B / S )
19) Bentuk tidak normal (unnormal) merupakan kumpulan data yang akan direkam, tidak ada
keharusan mengikuti suatu format tertentu. ( B /S )
20) Syarat pada tahap bentuk normal 3 adalah atribut bukan kunci tidak memiliki ketergantungan
transitif terhadap kunci utama. ( B /S )

2. (Poin 60) Soal Essay


21) [Poin 15]Berikan penjelasan dan contoh anomalies dari data pada tabel di di bawah ini.

a. Insert anomaly : Error yang terjadi sebagai akibat operasi insert record/tuple pada
sebuah relation . Contoh : NPM dan Kode_MK termasuk dalam primary key sehingga
keduanya tidak boleh NULL. Akibatnya tidak bisa memasukkan data mata kuliah jika belum
ada mahasiswa yang mengikuti kuliah tersebut. Selain itu juga tidak bisa memasukkan data
mahasiswa jika belum pernah mengambil sebuah mata kuliah.
b. Update anomaly : Error yang terjadi sebagai akibat inkonsistensi data yang terjadi
sebagai akibat dari operasi update record/tuple dari sebuah relation. Contoh : mengubah
nama mata kuliah saja tanpa menubah kode_MK akan menyebabkan anomali pada tabel
data.

Betha Nurina Sari, M.Kom 2


Mata Kuliah : Basis Data
Program Studi : Teknik Informatika
Fakultas : Ilmu Komputer

c. Delete anomaly : Error yang terjadi sebagai akibat operasi delete record/tuple pada
sebuah relation. Contoh : menghapus data mahasiswa Adrian Sutanto, efeknya
anomali terhapus juga data matakuliah Pengantar Organisasi Komputer
22) [Poin 20] Lakukan proses normalisasi skema relasi dari tabel di atas sehingga mencapai bentuk 3NF.
Bentuk 1 NF : tetap (tidak ada null value, tidak ada composite dan tidak ada multivalue atributte)
Bentuk 2NF :
Berikut ini ketergantungan fungsional yang terdapat pada tabel :
-NPM NamaMahasiswa - Kode_MK NamaMK
-NPM,Semester,Tahun,Kode_MK Nilai
Maka hasil 2NF adalah :
Tabel Mahasiswa : NPM, NamaMahasiswa
Tabel Matakuliah : Kode_MK, NamaMK
Tabel KHS : NPM, Kode_MK, Semester, Tahun, Nilai
Bentuk 3NF : Karena tidak ada ketergantungan transitif
(misalnya : AB,C,D,E CE
C adalah trans untuk E dan A, maka harus di dekomposisi menjadi : AB,C,D dan CE )
Sehingga bentuk 2NF tetap dipertahankan.
23) [Poin 10] Gambarkan ERD berdasarkan studi kasus no 21 dan hasil normalisasi 3NF Anda.

NPM

N N
Mahasiswa mengambil Matakuliah
Tahun NamaMK

NamaMahasiswa NPM Semester Kode_MK


Kode_MK

24) [Poin 15] Berdasarkan jawaban Anda no 22, tuliskan perintah SQL dari pertanyaan berikut.
a. Tampilkan nama mahasiswa yang mengambil matakuliah Basis Data
SELECT Mahasiswa.NamaMahasiswa FROM Mahasiswa, KHS, MataKuliah
WHERE Matakuliah.NamaMK = “Basis Data” AND Mahasiswa.NPM = KHS.NPM AND
KHS.Kode_MK= Matakuliah.Kode_MK;
atau

Betha Nurina Sari, M.Kom 3


Mata Kuliah : Basis Data
Program Studi : Teknik Informatika
Fakultas : Ilmu Komputer

SELECT Mahasiswa.NamaMahasiswa FROM Mahasiswa NATURAL JOIN KHS NATURAL JOIN


MataKuliah WHERE Matakuliah.NamaMK = “Basis Data”;
b. Tampilkan nama mahasiswa, nama matakuliah yang diambil serta nilainya, dimana nilaI
hurufnya adalah A.
SELECT Mahasiswa.NamaMahasiswa, Matakuliah.NamaMatakuliah, Nilai FROM
Mahasiswa, KHS, MataKuliah WHERE KHS.Nilai = “A” AND Mahasiswa.NPM = KHS.NPM
AND KHS.Kode_MK= Matakuliah.Kode_MK;
atau
SELECT Mahasiswa.NamaMahasiswa, Matakuliah.NamaMatakuliah,Nilai FROM Mahasiswa
NATURAL JOIN KHS NATURAL JOIN MataKuliah WHERE KHS.Nilai = “A”;
c. Tampilkan jumlah mahasiswa dikelompokkan berdasarkan tahun ajaran
SELECT COUNT (DISTINCT NPM) FROM KHS GROUP BY TAHUN;
d. Tampilkan kodeMK dan nama matakuliah yang ditawarkan di semester genap
SELECT KRS.Kode_MK,Matakuliah.NamaMatakuliah,Nilai FROM Mahasiswa, KHS,
MataKuliah
WHERE KHS.Nilai = “A” AND Mahasiswa.NPM = KHS.NPM AND KHS.Kode_MK=
Matakuliah.Kode_MK;
atau
SELECT KRS.Kode_MK,Matakuliah.NamaMatakuliah,Nilai FROM Mahasiswa NATURAL JOIN
KHS NATURAL JOIN MataKuliah WHERE KHS.Nilai = “A”;
e. Tampilkan nama mahasiswa yang mengambil 2 matakuliah di semester Gasal tahun
2014/2015.
SELECT Mahasiswa.NamaMahasiswa FROM Mahasiswa, KHS, MataKuliah
WHERE Mahasiswa.NPM = KHS.NPM AND KHS.Kode_MK= Matakuliah.Kode_MK AND
KHS.Semester = “Gasal” AND KHS.Tahun = “2014/2015” GROUP BY NPM
HAVING COUNT (*) =2;
atau
SELECT Mahasiswa.NamaMahasiswa FROM Mahasiswa NATURAL JOIN KHS NATURAL JOIN
MataKuliah WHERE KHS.Semester = “Gasal” AND KHS.Tahun = “2014/2015” GROUP BY
NPM HAVING COUNT (*) =2;

Betha Nurina Sari, M.Kom 4

Anda mungkin juga menyukai