Anda di halaman 1dari 3

UJIAN AKHIR SEMESTER GENAP TA.

2021 / 2022

Nama : Muhammad Fikri Ramadhan


NIM : 20.11.3403
Kelas : 20 IF 02

Fakultas : Ilmu Komputer


Program Studi : S1 Informatika
Mata Kuliah dan kode mk : Pemrograman Basis Data ST116
Sifat Ujian : Online Dashboard Mahasiswa

SOAL Dibagikan TGL : Senin, 18 Juli 2022 (JANGAN DIEDIT)


Tugas/ Jawaban : sesuai jadwal yang telah diset di dashboard mahasiswa
dikumpulkan tanggal

Dosen Pengampu : Novi Prisma Yunita M.Kom


Irwan Oyong M.Kom
Juarisman, M.Kom
Mardhiya Hayaty S.T., M.Kom

1. Apa yang anda ketahui tentang trigger? Jelaskan definisi dan kegunaan trigger, event pada trigger,
sintaks dasar, dan contoh trigger! (25)
2. Perhatikan CREATE trigger statement berikut ini
CREATE TRIGGER before_delete_review
BEFORE DELETE
ON reviews FOR EACH ROW
INSERT INTO review_log (review_id, customer_id, content,
date_deleted)
VALUES (OLD.review_id, OLD.customer_id, OLD.content, NOW()

Berdasarkan query di atas, apa yang terjadi jika sebuah event DELETE terjadi pada tabel reviews? (10)
3. Perhatikan CREATE statement berikut ini
CREATE table t1 (
c1 int
c2 int);

Apakah clustered index otomatis dibuat ketika CREATE statement di atas dieksekusi ? Jelaskan alasan
dan analisa anda! (15)
4. Perhatikan ALTER statement berikut ini
ALTER TABLE t1 ADD INDEX(c1);

Apa nama index yang dibuat dari ALTER statement di atas ? (15)
5. Buat masing-masing 1 contoh horizontal view, vertical view, dan view yang dibuatkan berdasarkan
view yang sudah ada! (15)
6. Sebutkan dan jelaskan 5 teknik mengamankan data! (20)

Jawab

1. Trigger adalah sekumpulan kode SQL yang bereaksi pada sebuah aksi tertentu, contohnya ketika
melakukan delete pada sebuah data di suatu table maka secara otomatis akan men-trigger kode SQL
yang telah dibuat seperti menyimpan data yang telah dihapus ke table lain.

Event pada trigger terdapat tiga macam, INSERT, DELETE, UPDATE

Sintak dasar:

CREATE TRIGGER nama_trigger


{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON nama_table FOR EACH ROW
//KODE SQL

Contoh trigger:

CREATE TRIGGER onUserDelete


BEFORE DELETE
ON user FOR EACH ROW
INSERT INTO user_deleted SELECT * FROM old WHERE id = old.id;

2. Sebelum data review dihapus data yang akan dihapus akan disimpan ke dalam table review_log
3. Ya, menurut website MySql setiap table akan memiliki clustered index, terdapat beberapa cara
untuk membuat clustered index
- Ketika kita membuat table dengan PRIMARY KEY maka secara otomatis MySql akan membuat
akan menggunakan PRIMARY KEY sebagai clusterd index
- Jika tidak membuat PRIMARY KEY maka MySql akan menggunakan semua kolom UNIQUE yang
memiliki atribut NOT NULL
- Jika tidak membuat PRIMARY KEY dan kolom UNIQUE yang cocok maka MySQL akan membuat
hidden clustered index bernama GEN_CLUST_INDEX
4. Index bernama c1
5. View
- Horizontal View
CREATE VIEW V_Horizontal
AS
SELECT * FROM user;
- Vertical View
CREATE VIEW V_Vertical
AS
SELECT id,nama FROM user;
- View in View
CREATE VIEW V_viewview
AS
SELECT nama FROM V_Horizontal;

6. 5 Teknik pengamanan data


1. Membatasi hak ases pada user
Membatasi hak ases pada user berguna agar user yang tidak diinginkan tidak dapat merusak
database ketika dapat masuk ke database, contohnya user mahasiswa hanya dapat melihat table
a,b dan mengubah table c
2. Melakukan backup
Backup dilakukan untuk mengamankan data bila terjadi kesalahan teknis yang dapat membuat
data hilang atau berubah. Jika terjadi sesuatu maka kita dapat mer-restore ke bentuk saat di
lakukan backup
3. Men-enkripsi data
Melakukan enkripsi data merujuk pada cara penulisan data sensitif di dalam database,
contohnya menggunakan enkripsi sha256 pada colom password sehingga bila ada yang masuk
ke dalam database meskipun dapat melihat datanya namun tidak akan mengerti artinya
4. Menggunakan view
Dengan menggunakan view maka tidak akan dapat mengakses yang lain dan view tidak
memberatkan kinerja server
5. Selalu lakukan pembaharauan pada sekurity database
Memperbaharui security patch dari software dapat meningkatkan keamanan pada software
tersebut

Anda mungkin juga menyukai