wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

UAS-02

Total questions: 128

Worksheet time: 1hrs 4mins

Name
Class
Date
1.

Tabel transaksi (transaction-safe) pada MySQL memberi keuntungan utama apa saat terjadi crash sistem?

a)

Data pulih otomatis melalui recovery otomatis

b)

Indeks diperbesar untuk pencarian lebih cepat

c)

Semua query otomatis dioptimasi oleh server

d)

Tabel dipindah ke memori untuk sementara

2.

Manakah yang BUKAN keuntungan tabel non-transaksi seperti MyISAM?

a)

Penggunaan memori lebih sedikit

b)

Dukungan rollback untuk membatalkan perubahan

c)

Eksekusi lebih cepat karena tanpa transaksi

d)

Pemakaian ruang disk lebih sedikit

3.

MyISAM mendukung tiga format penyimpanan baris. Pasangan yang benar adalah:

a)

Static, Dynamic, Compressed

b)

Inline, External, Archive

c)

Row, Column, Hybrid

d)

Paged, Slotted, Clustered

4.

Karakteristik InnoDB yang membedakannya dari MyISAM adalah apa?

a)

Mendukung foreign key dan menggunakan tablespace

b)

Hanya menyimpan data di RAM sementara

c)

Menyimpan beberapa file indeks terpisah

d)

Tidak memerlukan primary key sama sekali

5.

Untuk kebutuhan tabel sementara yang hilang saat koneksi putus, tipe yang paling tepat adalah:

a)

BDB dengan hidden primary key

b)

InnoDB dengan tablespace tunggal

c)

MyISAM dengan format dynamic

d)

HEAP yang menyimpan di memori (RAM)

6.

Dalam konteks integritas referensial, apa arti aksi Restrict?

a)

Record anak otomatis dibuat saat induk dibuat

b)

Record induk tak dapat dihapus sebelum anak dihapus

c)

Record induk otomatis diganti dengan nilai null

d)

Record anak selalu dilindungi dari perubahan

7.

Apa yang terjadi pada aksi Cascade ketika record pada tabel induk dihapus?

a)

Record terkait pada tabel anak ikut dihapus

b)

Record pada tabel anak berubah menjadi null

c)

Record pada tabel anak tetap ada tanpa perubahan

d)

Record pada tabel anak dikunci permanen

8.

BDB dalam MySQL memiliki sifat apa terkait transaksi dan primary key?

a)

Dukungan transaksi dan dapat membuat hidden primary key

b)

Tidak mendukung transaksi dan index nonclustered

c)

Hanya untuk read-only dan kompresi kuat

d)

Membutuhkan tablespace seperti InnoDB

9.

Perintah MySQL apa yang digunakan untuk melihat tipe storage engine yang didukung server?

a)

show status\G

b)

show create\G

c)

show tables\G

d)

show engines\G

10.

Manakah sintaks yang tepat untuk membuat database bernama mti?

a)

create database mti;

b)

create schema mti();

c)

make database mti;

d)

new database mti;

11.

Saat membuat tabel mbarang dengan engine MyISAM, pernyataan mana yang benar?

a)

Gunakan engine=myisam di akhir definisi

b)

Tipe decimal wajib memiliki skala 2

c)

Set primary key wajib bertipe int

d)

MyISAM selalu mendukung foreign key

12.

Untuk mendefinisikan primary key pada kolom kode di tabel pelanggan, mana yang sesuai?

a)

primary key(kode) not null varchar

b)

kode char(3) unique foreign key

c)

primary key varchar(3) on kode

d)

kode varchar(3) not null primary key

13.

Engine mana yang diperlukan agar foreign key berfungsi pada tabel pelanggan?

a)

InnoDB

b)

MyISAM

c)

Memory

d)

CSV

14.

Manakah definisi foreign key yang merujuk ke pelanggan(kode) dengan aksi RESTRICT pada DELETE dan UPDATE?

a)

foreign key(ko_plgn) references pelanggan(kode) on delete restrict on update restrict

b)

foreign key(ko_plgn) ref pelanggan(kode) on cascade delete update

c)

constraint fk foreign(ko_plgn) ref pelanggan kode restrict

d)

foreign key ko_plgn references pelanggan on restrict delete update

15.

Mengapa index pada kolom yang menjadi foreign key (mis. ko_plgn) sering dibuat?

a)

Mengubah tipe data kolom otomatis

b)

Mengaktifkan trigger bawaan engine

c)

Mewajibkan nilai kolom menjadi unik

d)

Mempercepat pencarian relasi dan integritas

16.

Perintah mana yang menampilkan definisi pembuatan tabel transaksi secara lengkap?

a)

show create table transaksi \G

b)

show table status transaksi \G

c)

describe transaksi \G

d)

explain select * from transaksi

17.

Skenario: Tabel transaksi memiliki foreign key ko_plgn RESTRICT ke pelanggan(kode). Anda menghapus pelanggan dengan kode '102' setelah ada transaksi ko_plgn='102'. Apa yang terjadi?

a)

Pelanggan terhapus dan transaksi tetap ada

b)

Kolom ko_plgn pada transaksi menjadi NULL

c)

Semua transaksi terkait terhapus otomatis

d)

Penghapusan ditolak karena referensi ada

18.

Di tabel detrans, foreign key ke barang(kode) dan transaksi(no_fak) diberi ON UPDATE CASCADE ON DELETE CASCADE. Konsekuensi yang benar adalah?

a)

Perubahan atau hapus parent akan otomatis propagasi

b)

Hapus parent selalu gagal karena child ada

c)

Perubahan parent tak memengaruhi baris child

d)

Hanya perubahan parent yang ditolak selalu

19.

Perintah mana yang mengubah nilai kolom kode menjadi 'A13' hanya untuk baris dengan kode 'A11' pada tabel barang?

a)

alter table barang change kode 'A11' to 'A13';

b)

replace into barang(kode) values('A13') where kode='A11';

c)

update barang where kode='A11' set kode='A13';

d)

update barang set kode='A13' where kode='A11';

20.

Tujuan menjalankan perintah: delete from detrans where ko_brg='B21'; adalah…

a)

menghapus kolom ko_brg 'B21' dari tabel detrans

b)

menghapus baris detil transaksi dengan barang 'B21'

c)

menghapus constraint yang merujuk ke barang 'B21'

d)

menghapus semua barang dengan kode 'B21' dari barang

21.

Setelah menjalankan: alter table transaksi drop foreign key koplgfk; apa efeknya pada tabel transaksi?

a)

relasi ke pelanggan tidak lagi dipaksa oleh database

b)

semua baris transaksi terkait pelanggan langsung terhapus

c)

kolom ko_plgn otomatis dihapus dari tabel

d)

primary key pelanggan berpindah ke tabel transaksi

22.

Perintah mana yang MENAMBAHKAN kembali foreign key pada tabel transaksi yang merujuk ke pelanggan(kode) dengan perilaku ON DELETE RESTRICT?

a)

create index koplgfk on transaksi(ko_plgn) references pelanggan(kode) restrict;

b)

alter table transaksi add constraint koplgfk foreign key (ko_plgn) references pelanggan(kode) on delete restrict;

c)

alter table transaksi modify koplgfk references pelanggan(kode) delete restrict;

d)

alter table transaksi add foreign key koplgfk (ko_plgn) on delete restrict pelanggan(kode);

23.

Manakah urutan tindakan yang aman sebelum menghapus baris barang berkode 'A13' jika sudah direferensikan oleh detrans?

a)

hapus barang 'A13' dulu, lalu hapus baris di detrans

b)

hapus baris terkait di detrans, lalu hapus barang 'A13'

c)

ubah primary key barang, lalu hapus baris detrans

d)

drop tabel detrans sementara, lalu hapus barang

24.

Perintah mana yang menampilkan definisi pembuatan tabel termasuk constraint untuk memeriksa nama foreign key?

a)

explain transaksi structure;

b)

show constraints from transaksi;

c)

describe transaksi extended;

d)

show create table transaksi \G

25.

Perintah mana yang digunakan untuk memulai blok transaksi sehingga perubahan tidak langsung disimpan permanen?

a)

savepoint

b)

begin

c)

commit

d)

rollback

26.

Apa efek dari set autocommit=0 pada sesi MySQL?

a)

Perubahan menunggu commit eksplisit

b)

Perubahan langsung tersimpan otomatis

c)

Semua query dibatalkan otomatis

d)

Hak akses ditingkatkan sementara

27.

Dalam contoh: set autocommit=0; begin; insert ke tabel; commit; Apa tujuan commit pada akhir rangkaian perintah?

a)

Mengunci tabel untuk pembacaan

b)

Membatalkan semua perubahan sementara

c)

Menyimpan semua perubahan permanen

d)

Mengaktifkan autocommit kembali

28.

Jika setelah begin Anda melakukan beberapa insert lalu mengetik rollback, apa yang terjadi pada perubahan tersebut?

a)

Perubahan tetap karena autocommit

b)

Tabel terhapus sementara

c)

Hanya query terakhir dibatalkan

d)

Semua dibatalkan ke kondisi awal

29.

Pada skenario memasukkan header transaksi ke tabel transaksi dan detail ke tabel detrans, mengapa diletakkan dalam satu transaksi?

a)

Menjamin konsistensi antar tabel

b)

Meningkatkan ukuran log file

c)

Mempercepat perintah select saja

d)

Mengurangi kebutuhan indeks unik

30.

Perintah mana yang tepat untuk memeriksa data sementara dalam satu transaksi sebelum diputuskan commit atau rollback?

a)

show create table nama_tabel

b)

analyze table nama_tabel

c)

flush tables with read lock

d)

select * from nama_tabel

31.

Anda menjalankan: set autocommit=0; begin; insert into transaksi values('008','2006-12-15','101'); select * from transaksi; Tanpa commit lalu keluar klien MySQL. Apa kemungkinan hasil saat login ulang?

a)

Baris '008' tidak ada di tabel

b)

Baris '008' tersimpan permanen

c)

Tabel transaksi menjadi kosong

d)

Semua indeks menjadi tidak valid

32.

Perintah mana yang digunakan untuk mengakhiri sesi klien MySQL pada contoh yang diberikan?

a)

stop client

b)

exit now

c)

close;

d)

\q

33.

Perintah yang tepat untuk login ke klien MySQL sebagai pengguna root dengan meminta kata sandi adalah…

a)

mysql connect root secure

b)

mysql -u root -p

c)

mysql login root password

d)

mysql --user=root --askpass now

34.

Setelah berhasil login, perintah untuk memilih database sistem yang menyimpan tabel pengguna adalah…

a)

use users;

b)

use information;

c)

use system;

d)

use mysql;

35.

Tujuan menjalankan perintah show tables; pada database mysql adalah…

a)

Mengubah struktur tabel user

b)

Menghapus tabel yang tidak dipakai

c)

Membuat tabel pengguna baru

d)

Menampilkan daftar semua tabel

36.

Anda perlu meninjau struktur tabel yang menyimpan akun dan hak akses pengguna. Perintah yang paling sesuai untuk melihat kolom-kolomnya adalah…

a)

SCAN FIELDS user;

b)

INFO COLUMNS user;

c)

SHOW USERS COLUMNS;

d)

DESCRIBE user;

37.

Seorang admin telah login sebagai root, memilih database mysql, lalu mengeksekusi DESCRIBE user;. Langkah tambahan mana yang paling efektif untuk memverifikasi keberadaan akun tertentu tanpa mengubah data?

a)

DROP TABLE user;

b)

GRANT ALL ON *.* TO user;

c)

FLUSH PRIVILEGES NOW;

d)

SELECT host, user FROM user;

38.

Perintah MySQL mana yang digunakan untuk membuat akun pengguna baru dengan kredensial tertentu?

a)

GRANT ALL ON *.* TO ...

b)

ALTER USER ... IDENTIFIED BY ...

c)

SET PASSWORD FOR ... = PASSWORD(...)

d)

CREATE USER ... IDENTIFIED BY ...

39.

Setelah menambahkan user baru, tindakan yang tepat untuk memastikan hak akses dibaca ulang server adalah menggunakan perintah:

a)

COMMIT PRIVS

b)

RESTART SERVER

c)

FLUSH PRIVILEGES

d)

RELOAD USERS

40.

Anda ingin mengganti password user ti...cb1@localhost menjadi ti...cb2. Perintah yang paling tepat adalah:

a)

UPDATE mysql.user SET Password='ti...cb2'

b)

GRANT USAGE TO ti...cb1@localhost WITH 'ti...cb2'

c)

CREATE USER ti...cb1@localhost IDENTIFIED BY 'ti...cb2'

d)

ALTER USER ti...cb1@localhost IDENTIFIED BY 'ti...cb2'

41.

Dua cara valid untuk mengubah password pengguna pada MySQL versi klasik yang ditunjukkan materi adalah:

a)

GRANT ... WITH PASSWORD ... dan REVOKE PASSWORD ...

b)

CREATE USER ... IDENTIFIED BY ... dan DROP USER ...

c)

UPDATE USER ... SET PASSWORD ... dan RESET PASSWORD ...

d)

ALTER USER ... IDENTIFIED BY ... dan SET PASSWORD FOR ... = PASSWORD(...)

42.

Perintah mana yang digunakan untuk menampilkan kolom user, host, dan password dari tabel user pada database sistem?

a)

SELECT user, host, password FROM user;

b)

SELECT * FROM mysql;

c)

DESCRIBE user, host, password;

d)

SHOW USERS HOST PASSWORD;

43.

Seorang admin ingin login sebagai user baru ti...cb1 menggunakan klien baris perintah. Sintaks yang benar adalah:

a)

mysql -u root -p ti...cb1

b)

mysql --user=ti...cb1 --pass

c)

mysql -p ti...cb1

d)

mysql -u ti...cb1 -p

44.

Perintah MySQL mana yang menghapus user secara langsung dari sistem otentikasi?

a)

revoke all privileges from ti…cb2@localhost;

b)

drop user ti…cb2@localhost;

c)

delete from user where user='ti…cb2';

d)

delete from db where user='ti…cb2';

45.

Untuk menghapus seluruh entri user dari tabel hak akses secara manual, urutan tabel yang perlu dibersihkan paling lengkap adalah apa?

a)

user, db, tables_priv, columns_priv

b)

db, user, columns_priv, tables_priv

c)

columns_priv, tables_priv, db, user

d)

tables_priv, db, user, columns_priv

46.

Sintaks yang benar untuk membuat user baru dengan password adalah mana?

a)

insert user u@localhost with password 'pwd';

b)

create user u@localhost identified by 'pwd';

c)

grant user u@localhost identified 'pwd';

d)

add user u identified by password;

47.

Hak global SELECT dan INSERT untuk semua database diberikan dengan perintah apa?

a)

grant select, insert to *.* for u@localhost;

b)

grant select, insert on * to u@localhost;

c)

grant select, insert on *.* to u@localhost;

d)

grant select, insert on *.db to u@localhost;

48.

Bagaimana cara menambahkan hak UPDATE dan DELETE global pada user yang sudah ada?

a)

grant update, delete on *.* to u@localhost;

b)

grant update delete *.* for u@localhost;

c)

alter user add update, delete for u@localhost;

d)

insert update, delete into mysql.db for u;

49.

Perintah yang tepat untuk mencabut hak INSERT dan UPDATE global adalah apa?

a)

revoke insert, update on *.* from u@localhost;

b)

revoke insert update from *.* to u@localhost;

c)

delete insert, update from *.* for u@localhost;

d)

revoke all insert update *.* of u@localhost;

50.

Memberi user hak SELECT dan DELETE hanya pada semua tabel database pjual dilakukan dengan perintah?

a)

grant select, delete on pjual.* to u@localhost;

b)

grant select, delete on *.* to pjual@localhost;

c)

grant select delete pjual.* for u@localhost;

d)

grant select, delete pjual to u@localhost;

51.

Menambah hak INSERT dan UPDATE khusus database pjual untuk user yang sama dilakukan dengan?

a)

grant insert, update on *.* to pjual@localhost;

b)

grant insert, update on pjual.* to u@localhost;

c)

alter grant insert update on pjual.* to u;

d)

grant insert update pjual to u@localhost;

52.

Mencabut hak UPDATE dan DELETE pada database pjual dari user tersebut menggunakan perintah apa?

a)

delete update, delete from pjual.* for u;

b)

revoke select on pjual.* from u@localhost;

c)

revoke update delete *.* from u@localhost;

d)

revoke update, delete on pjual.* from u@localhost;

53.

Memberikan hak SELECT dan INSERT hanya pada tabel pjual.barang menggunakan perintah?

a)

grant select, insert pjual.barang to u@localhost;

b)

grant select insert pjual.barang for u@localhost;

c)

grant select, insert on pjual.* to u@localhost;

d)

grant select, insert on pjual.barang to u@localhost;

54.

Untuk menambah hak UPDATE dan DELETE pada tabel pjual.barang, perintah yang benar adalah?

a)

alter table grant update delete to u;

b)

grant update delete pjual.barang for u@localhost;

c)

grant update, delete on pjual.* to u@localhost;

d)

grant update, delete on pjual.barang to u@localhost;

55.

Bagaimana cara memberikan hak kolom spesifik (kode, nama) untuk SELECT dan UPDATE pada tabel pjual.barang?

a)

grant select(kode,nama), update(kode,nama) on pjual.barang to u@localhost;

b)

grant select, update(kode,nama) on pjual.barang to u@localhost;

c)

grant select columns kode,nama on pjual.barang to u;

d)

grant select, update columns(kode,nama) for pjual.barang;

56.

Perintah mana yang memberikan semua hak pada seluruh database untuk user tertentu beserta kemampuan meneruskan hak tersebut?

a)

grant all on *.* to user with grant option

b)

grant usage on *.* to user with grant option

c)

grant all on db.* to user without grant option

d)

grant select on *.* to user without grant option

57.

Apa efek dari perintah revoke all privileges, grant option from user@localhost;

a)

Menghapus user beserta semua database

b)

Menghapus hanya hak select pada user

c)

Menonaktifkan hanya hak insert dan update

d)

Menghapus semua hak dan opsi grant dari user

58.

Perintah apa yang digunakan untuk menghapus user secara langsung?

a)

remove user nama identified

b)

revoke user nama@localhost

c)

delete from mysql.user where nama

d)

drop user nama@localhost

59.

Manakah yang memberikan hak select dan insert ke semua tabel pada database tertentu pjual untuk user?

a)

grant update, delete on pjual.* to user

b)

grant all on pjual.barang to user

c)

grant select, insert on *.* to user

d)

grant select, insert on pjual.* to user

60.

Jika user diberi grant update, delete on pjual.barang, maka hak apa yang dimiliki?

a)

Dapat mengubah dan menghapus baris pada tabel barang

b)

Dapat memilih dan menambah baris pada tabel barang

c)

Dapat membuat dan menjatuhkan tabel di pjual

d)

Dapat mengubah semua database tanpa batasan

61.

Kolom-level grant mana yang tepat untuk mengizinkan hanya select(kode,nama) dan insert(kode,nama) pada tabel barang?

a)

grant select(kode,nama), insert(kode,nama) on pjual.barang to user

b)

grant select, insert on pjual.barang to user

c)

grant insert on pjual.* to user

d)

grant select(harga), insert(harga) on pjual.barang to user

62.

Dengan hak select(kode,nama) saja, pernyataan mana yang akan gagal?

a)

select * from barang

b)

select kode,nama from barang

c)

insert into barang(kode,nama) values('C22','CELANA')

d)

update barang set nama='T SHIRT' where kode='C22'

63.

User memiliki insert(kode,nama) pada barang. Pernyataan mana yang valid tanpa error?

a)

select * from barang

b)

update barang set nama='T SHIRT' where kode='C22'

c)

insert into barang(kode,nama,harga) values('C22','CELANA',150000)

d)

insert into barang(kode,nama) values('C22','CELANA')

64.

Setelah grant update(kode,nama) on pjual.barang, pengujian yang paling sesuai adalah?

a)

select * from barang

b)

update barang set nama='T SHIRT' where kode='C22'

c)

drop table pjual.barang

d)

insert into barang(kode,nama) values('C22','CELANA')

65.

Apa efek dari revoke insert(kode,nama) on pjual.barang from user?

a)

Menghapus hak insert pada kolom kode,nama saja

b)

Menghapus semua hak pada seluruh tabel barang

c)

Menambahkan hak insert pada semua kolom

d)

Menghapus hak update pada kolom harga

66.

Perintah SQL mana yang tepat untuk mengekspor seluruh baris tabel barang ke file teks pada Windows?

a)

select * from barang into outfile 'c:\ti...\rbarang1.dat'

b)

copy table barang to 'c:\ti...\rbarang1.dat'

c)

dump barang to 'c:\ti...\rbarang1.dat'

d)

export table barang to file 'c:\ti...\rbarang1.dat'

67.

Perintah mana yang digunakan untuk memuat kembali data dari file teks rbarang1.dat ke tabel baru rbarang1?

a)

import 'c:\ti...\rbarang1.dat' as table rbarang1

b)

insert file 'c:\ti...\rbarang1.dat' into rbarang1

c)

load data infile 'c:\ti...\rbarang1.dat' into table rbarang1

d)

restore file 'c:\ti...\rbarang1.dat' to rbarang1

68.

Agar rbarang1 memiliki struktur yang sama sebelum memuat data, perintah mana yang paling sesuai?

a)

create table rbarang1 like barang with no data

b)

create table rbarang1 select * from barang where kode=''

c)

clone table rbarang1 from barang empty

d)

create table rbarang1 from barang without rows

69.

Utilitas baris perintah yang digunakan untuk mengimpor file teks menjadi tabel dengan nama sama dengan file adalah

a)

mysqlimport

b)

mysqldump

c)

mysqladmin

d)

mysqld

70.

Saat menggunakan mysqlimport untuk memuat c:\ti...\rbarang2.dat ke database pjual, nama tabel yang benar adalah

a)

barang2

b)

barang

c)

rbarang

d)

rbarang2

e)

rbrg2

71.

Perintah yang mengekspor struktur dan data seluruh database pjual ke skrip SQL adalah

a)

mysqldump --no-data -u root -p pjual > c:\ti...\bpjuals

b)

mysqldump -u root -p pjual > c:\ti...\bpjual

c)

mysqldump -t -u root -p pjual > c:\ti...\bpjuald

d)

mysqladmin -u root -p dump pjual > c:\ti...\bpjual

72.

Opsi mysqldump untuk menyalin hanya struktur tabel tanpa data adalah

a)

--no-data

b)

-t

c)

-c

d)

--schema-only

73.

Untuk mengekspor hanya data tanpa definisi tabel dari database pjual, gunakan

a)

mysqldump -d -u root -p pjual > c:\ti...\bpjuald

b)

mysqldump -c -u root -p pjual > c:\ti...\bpjuald

c)

mysqldump --no-data -u root -p pjual > c:\ti...\bpjuald

d)

mysqldump -t -u root -p pjual > c:\ti...\bpjuald

74.

Perintah mysqldump untuk hanya tabel barang (struktur dan data) ke file rbarang3 adalah

a)

mysqldump -u root -p pjual barang > c:\ti...\rbarang3

b)

mysqldump --table barang pjual > c:\ti...\rbarang3

c)

mysqldump pjual -t barang > c:\ti...\rbarang3

d)

mysqldump -d pjual barang > c:\ti...\rbarang3

75.

Menggunakan opsi -c pada mysqldump akan

a)

mengompres file hasil dump

b)

mengimpor kembali data otomatis

c)

menghapus komentar dari hasil dump

d)

menghasilkan perintah INSERT lengkap

76.

Langkah yang benar untuk mengembalikan database dari file skrip SQL bpjual adalah

a)

mysqladmin -u root -p create rpjual, lalu mysql -u root -p rpjual < c:\ti...\bpjual

b)

mysql -u root -p create rpjual < c:\ti...\bpjual

c)

mysqldump -u root -p rpjual < c:\ti...\bpjual

d)

mysqlimport -u root -p rpjual "c:\ti...\bpjual"

77.

Ketika menggunakan SELECT INTO OUTFILE pada Windows, hal yang perlu diperhatikan agar perintah berhasil adalah

a)

Path dan izin folder tujuan benar

b)

Nama file harus sama dengan tabel

c)

Server harus berhenti sementara

d)

File harus memiliki ekstensi .sql

78.

Perintah mana yang digunakan untuk membuat database baru bernama rspjual di server lokal?

a)

mysql -u root -p create rspjual

b)

mysqladmin -u root -p create rspjual

c)

mysqldump -u root -p create rspjual

d)

mysql --host=localhost create rspjual

79.

Untuk mengimpor struktur tabel dari file bpjuals ke database rspjual, perintah yang tepat adalah:

a)

mysql --import rspjual c:\ti...\bpjuals

b)

mysql -u root -p rspjual < c:\ti...\bpjuals

c)

mysqldump -u root -p rspjual < c:\ti...\bpjuals

d)

mysqladmin -u root -p rspjual < c:\ti...\bpjuals

80.

Manakah contoh benar menyalin database pjual dari localhost ke database spjual pada host yang sama dengan pipa?

a)

mysqldump --host=localhost spjual | mysql --user=root pjual

b)

mysqldump -u root -p pjual | mysql --host=localhost --user=root --password=pisang spjual

c)

mysql --host=localhost --user=root --password=pisang pjual | mysqldump spjual

d)

mysqldump -u root -p spjual | mysql -u root -p pjual

81.

Apa tujuan opsi --host=192.168.1.6 pada perintah mysql saat memigrasikan database?

a)

Mengaktifkan kompresi data transfer

b)

Menentukan port koneksi server tujuan

c)

Menentukan alamat server tujuan remote

d)

Mengatur mode aman saat restore

82.

Skenario: Anda harus menyalin database pjual dari server lokal ke server 192.168.1.6 sebagai user jupiter. Password jupiter. Perintah pipa yang benar adalah:

a)

mysqldump --user=jupiter --password=jupiter slpjual | mysql --host=192.168.1.6 -u root -p pjual

b)

mysqldump -u root -p pjual | mysql --host=192.168.1.6 --user=jupiter --password=jupiter slpjual

c)

mysqldump -u root -p pjual | mysql --host=192.168.1.6 -u jupiter -p slpjual

d)

mysqldump --host=192.168.1.6 -u jupiter -p pjual | mysql -u root -p slpjual

83.

Langkah yang tepat sebelum mengirim hasil dump ke server lain untuk database baru slpjual adalah:

a)

Menjalankan ANALYZE TABLE pada semua tabel

b)

Mengaktifkan binlog pada server sumber

c)

Membuat user baru bernama slpjual

d)

Membuat database slpjual pada server tujuan

84.

Dalam MySQL, kapan trigger dieksekusi jika didefinisikan dengan BEFORE INSERT pada sebuah tabel?

a)

Sebelum tabel dibuat di skema

b)

Sesudah baris baru dimasukkan

c)

Sesudah seluruh transaksi dikomit

d)

Sebelum baris baru dimasukkan

85.

Kata kunci mana yang digunakan untuk merujuk nilai kolom setelah operasi UPDATE pada trigger MySQL?

a)

OLD.kolom

b)

THIS.kolom

c)

NEW.kolom

d)

AFTER.kolom

86.

Perintah mana yang menampilkan daftar trigger beserta detailnya di database aktif MySQL?

a)

SHOW TRIGGERS

b)

DESCRIBE TRIGGERS

c)

LIST TRIGGERS

d)

EXPLAIN TRIGGERS

87.

Baris trigger berikut: create trigger update_barang before insert on detrans for each row ... menunjukkan apa?

a)

Event dijalankan sekali per transaksi

b)

Constraint yang memblokir penambahan

c)

Prosedur tersimpan tanpa target tabel

d)

Trigger baris dieksekusi setiap baris

88.

Dalam contoh, ekspresi set stok = stok - new.jlh_brg where kode = new.ko_brg; melakukan apa terhadap tabel barang saat terjadi INSERT pada detrans?

a)

Mengurangi stok sesuai jumlah barang

b)

Menyalin stok ke tabel transaksi

c)

Menghapus baris barang terkait

d)

Menambahkan stok sesuai jumlah barang

89.

Jika guru meminta mengubah waktu eksekusi trigger dari BEFORE menjadi AFTER tanpa menghapusnya, perintah yang tepat adalah?

a)

RENAME TRIGGER ... TO AFTER MODE

b)

CREATE OR REPLACE TRIGGER ... AFTER INSERT ...

c)

ALTER TRIGGER ... SET TIME AFTER

d)

UPDATE TRIGGER ... TO AFTER INSERT

90.

Apa perbedaan utama penggunaan OLD dan NEW dalam trigger MySQL?

a)

OLD merujuk nilai lama, NEW nilai baru

b)

OLD nilai baru, NEW nilai lama

c)

Keduanya selalu nilai baru

d)

Keduanya hanya untuk DELETE

91.

Manakah perintah yang benar untuk menghapus trigger bernama update_barang?

a)

DROP TRIGGER update_barang;

b)

TRUNCATE TRIGGER update_barang;

c)

DELETE TRIGGER update_barang;

d)

REMOVE TRIGGER update_barang;

92.

Perintah mana yang benar untuk membuat view bernama vpjual dari hasil seleksi kolom dan join beberapa tabel?

a)

CREATE TABLE vpjual FROM SELECT kolom_dipilih;

b)

MAKE VIEW vpjual WITH SELECT kolom_dipilih;

c)

INSERT VIEW vpjual USING SELECT kolom_dipilih;

d)

CREATE VIEW vpjual AS SELECT kolom_dipilih;

93.

Apa fungsi utama view (tabel virtual) dalam MySQL?

a)

Menjalankan trigger otomatis pada setiap transaksi

b)

Menyederhanakan query kompleks menjadi tampilan siap pakai

c)

Menyimpan data secara permanen seperti backup harian

d)

Menggandakan tabel fisik untuk mempercepat indeks

94.

Perintah yang tepat untuk menampilkan semua baris dari view vpjual adalah?

a)

SELECT * FROM vpjual;

b)

SHOW * FROM vpjual;

c)

DISPLAY ALL FROM vpjual;

d)

READ * VIEW vpjual;

95.

Anda ingin melihat definisi SQL yang membentuk view vpjual. Perintah mana yang digunakan?

a)

SHOW VIEW DEFINITION vpjual\G

b)

EXPLAIN VIEW vpjual\G

c)

DESCRIBE VIEW vpjual\G

d)

SHOW CREATE VIEW vpjual\G

96.

Skenario: Diskon pada view perlu diubah dari 10% menjadi 15% berdasarkan kondisi tertentu. Pendekatan yang benar adalah?

a)

Gunakan ALTER VIEW vpjual AS SELECT dengan logika diskon baru

b)

Update baris pada vpjual menggunakan UPDATE langsung ke view

c)

Tambah indeks pada view agar rumus diskon berubah otomatis

d)

Drop tabel transaksi lalu buat ulang view yang sama

97.

Manakah pernyataan yang benar tentang data dalam view?

a)

View menghapus data sumber ketika di-drop

b)

View mengubah struktur tabel fisik ketika dibuat

c)

View menyimpan salinan data pada ruang disk terpisah

d)

View tidak menyimpan data, hanya menyimpan definisi SELECT

98.

Perintah yang sesuai untuk menghapus view vpjual adalah?

a)

DROP VIEW vpjual;

b)

DELETE VIEW vpjual;

c)

DROP TABLE vpjual;

d)

REMOVE VIEW vpjual;

99.

Pernyataan mana yang paling tepat tentang perbedaan prosedur dan fungsi di MySQL?

a)

Prosedur tidak mengembalikan nilai, fungsi mengembalikan nilai

b)

Prosedur selalu mengembalikan nilai, fungsi tidak pernah

c)

Keduanya selalu mengembalikan nilai numerik tunggal

d)

Keduanya tidak dapat menerima parameter input

100.

Apa tujuan perintah delimiter // sebelum membuat prosedur?

a)

Mengubah hak akses pengguna menjadi definers

b)

Mengkompilasi kode prosedur menjadi bytecode server

c)

Mengaktifkan mode transaksi otomatis untuk prosedur

d)

Mengganti pemisah pernyataan sementara dari ; menjadi //

101.

Sintaks mana yang benar untuk membuat prosedur bernama lpjual dengan dua parameter tanggal masukan?

a)

create procedure lpjual(in tglawal date, in tglakhir date) begin ... end

b)

create function lpjual(out tglawal date, out tglakhir date) begin ... end

c)

create procedure lpjual(tglawal date in, tglakhir date out) ...

d)

create or replace function lpjual(date tglawal, date tglakhir) ...

102.

Pernyataan CALL yang benar untuk menjalankan prosedur lpjual dengan rentang 2006-01-02 sampai 2006-01-10 adalah:

a)

select lpjual('2006-01-02','2006-01-10');

b)

run procedure lpjual 2006-01-02, 2006-01-10;

c)

exec lpjual('2006-01-02','2006-01-10');

d)

call lpjual('2006-01-02','2006-01-10');

103.

Perintah apa yang menampilkan daftar prosedur pada database bernama pjual?

a)

select * from information_schema.routines only

b)

describe procedures in database pjual

c)

show functions from pjual like '%proc%'

d)

show procedure status where db = 'pjual'

104.

Perintah yang digunakan untuk menampilkan definisi pembuatan prosedur tertentu adalah:

a)

explain procedure nama_prosedur create

b)

select definition from mysql.proc where name

c)

show code of procedure nama_prosedur

d)

show create procedure nama_prosedur

105.

Kapan menggunakan create or replace procedure lebih tepat daripada create procedure?

a)

Saat ingin memperbarui prosedur yang sudah ada tanpa drop

b)

Saat ingin membuat prosedur pertama kali di skema baru

c)

Saat ingin mengubah tipe data kolom tabel terkait

d)

Saat ingin menjalankan prosedur secara paralel di server

106.

Dalam contoh lpjual yang diedit, ekspresi if(b.harga * d.jlh_brg > 500000, 0.1 * b.harga * d.jlh_brg, 0) menghasilkan kolom:

a)

pajak tetap berdasarkan kuantitas barang saja

b)

subtotal sebelum diskon untuk setiap pelanggan

c)

diskon berdasarkan ambang total nilai transaksi

d)

biaya kirim flat tanpa melihat nilai belanja

107.

Untuk menghapus prosedur lpjual dari database, perintah yang benar adalah:

a)

drop procedure lpjual;

b)

delete procedure lpjual;

c)

remove procedure lpjual();

d)

truncate procedure lpjual;

108.

Karakteristik deterministik pada prosedur atau fungsi berarti:

a)

Selalu menggunakan transaksi eksplisit

b)

Dengan input sama hasil selalu sama

c)

Dijalankan hanya sekali per sesi koneksi

d)

Tidak boleh memiliki parameter input apa pun

109.

Manakah pernyataan yang benar tentang fungsi di MySQL dibanding prosedur?

a)

Fungsi hanya dapat dipanggil dengan CALL statement

b)

Fungsi selalu memodifikasi beberapa tabel saat jalan

c)

Fungsi tidak boleh memiliki parameter input sama sekali

d)

Fungsi dipanggil dalam SELECT dan mengembalikan nilai

110.

Sintaks mana yang benar untuk membuat fungsi bernama discont yang menerima harga dan jumlah lalu mengembalikan real deterministik?

a)

create function discont() returns real deterministic declare ...

b)

create or replace procedure discont(harga int, jumlah int) returns real begin ... end

c)

create function discont(harga real, jumlah real) deterministic return ...

d)

create function discont(harga int, jumlah int(3)) returns real deterministic begin ... end

111.

Dalam UDF MySQL, pernyataan mana yang digunakan untuk mendefinisikan tipe nilai yang dikembalikan oleh fungsi?

a)

OUT real deterministic

b)

RETURN real deterministic

c)

DECLARE real deterministic

d)

RETURNS real deterministic

112.

Di dalam tubuh fungsi, apa tujuan utama perintah DECLARE pada contoh fungsi discont?

a)

Mendaftarkan parameter fungsi

b)

Mengatur hak akses schema

c)

Membuat variabel lokal fungsi

d)

Menentukan tipe pengembalian fungsi

113.

Sintaks mana yang benar untuk memberi nilai awal pada variabel lokal di MySQL UDF?

a)

SET var_nama = ekspresi;

b)

ASSIGN var_nama <- ekspresi;

c)

INIT var_nama := ekspresi;

d)

LET var_nama := ekspresi;

114.

Pada contoh, fungsi discont menerima parameter harga dan jumlah. Baris mana yang menghitung total harga jual?

a)

set hargajual = harga * jumlah;

b)

set jlhdiskon = harga * jumlah;

c)

declare hargajual = harga * jumlah;

d)

return harga * jumlah;

115.

Kondisi apa yang menyebabkan variabel jlhdiskon diisi dengan persentase dari hargajual pada fungsi discont versi awal?

a)

Jika hargajual lebih besar dari 500000

b)

Jika harga lebih besar dari jumlah

c)

Jika hargajual sama dengan 500000

d)

Jika jumlah lebih kecil dari 500000

116.

Perubahan apa pada logika diskon saat fungsi discont diedit di halaman berikutnya?

a)

Batas hargajual diturunkan menjadi 300000

b)

RETURN dihapus dari fungsi

c)

Persentase diskon menjadi 0.15 dari hargajual

d)

Diskon hanya berlaku saat jumlah = 0

117.

Bagaimana cara memanggil fungsi discont dalam query untuk menghitung kolom diskon?

a)

discont(b.harga, d.jlh_brg) as diskon

b)

EXEC discont INTO diskon

c)

RUN discont SELECT diskon

d)

CALL discont(b.harga, d.jlh_brg) as diskon

118.

Perintah apa yang digunakan untuk menampilkan detail definisi fungsi discont secara lengkap, termasuk tubuhnya?

a)

show create function discont\G

b)

describe function discont;

c)

explain function discont;

d)

show procedure code discont;

119.

Apa tujuan delimiter // sebelum pernyataan create function pada contoh?

a)

Mendeklarasikan komentar multi-baris

b)

Mengubah pemisah pernyataan sementara

c)

Menandai awal blok transaksi

d)

Memaksa kompilasi ulang schema

120.

Perintah mana yang benar untuk menghapus fungsi UDF bernama discont dari database?

a)

delete function discont();

b)

remove udf discont;

c)

drop function discont;

d)

drop procedure discont;

121.

Dalam fungsi MySQL faktorial(n int) dengan WHILE, nilai awal variabel fak seharusnya di-set ke berapa sebelum perulangan dimulai?

a)

0 untuk penjumlahan berulang

b)

n agar langsung dikalikan n

c)

1 untuk identitas perkalian

d)

2 agar iterasi dimulai dari i=2

122.

Pada kode: label1: while i <= n do ... end while label1;, apa tujuan pemberian label pada WHILE tersebut?

a)

Mengubah kondisi evaluasi loop

b)

Meningkatkan performa eksekusi

c)

Menentukan variabel i secara otomatis

d)

Memungkinkan referensi atau kontrol yang jelas

123.

Jika fungsi faktorial menggunakan i mulai dari 2 hingga n, operasi kunci yang dilakukan di dalam loop adalah apa?

a)

Mengalikan fak dengan i setiap iterasi

b)

Mengurangkan i dari fak setiap iterasi

c)

Menjumlahkan i ke fak setiap iterasi

d)

Membagi fak dengan i setiap iterasi

124.

Perhatikan potongan berikut: create function kombinasi(n int, r int) returns real deterministic ... set cbs = nfaK /(rfak * nrfak); return (cbs); Apa yang dihitung fungsi ini?

a)

Faktorial ganda n dan r

b)

Permutasi tanpa pengulangan

c)

Jumlah pasangan berurutan

d)

Kombinasi n pilih r

125.

Dalam fungsi kombinasi, pemanggilan faktorial(n-r) di-assign ke variabel mana untuk menghitung C(n,r)?

a)

nrfak sebagai faktorial selisih

b)

cbs sebagai faktorial selisih

c)

rfak sebagai faktorial selisih

d)

nfak sebagai faktorial selisih

126.

Mengapa kedua fungsi diberi sifat returns real deterministic dalam MySQL?

a)

Agar untuk input sama hasil selalu sama

b)

Agar hasil tidak bergantung pada input

c)

Agar bisa memodifikasi tabel secara langsung

d)

Agar selalu menghasilkan bilangan bulat

127.

Jika menjalankan select faktorial(5); dari fungsi yang diberikan, hasil yang benar adalah berapa?

a)

25 karena 5 dikali 5

b)

120 karena 5×4×3×2×1

c)

20 karena 5×4

d)

60 karena 5+4+3+2+1

128.

Anda ingin menghitung C(4,2) menggunakan fungsi kombinasi yang memanggil faktorial. Langkah perhitungan yang benar adalah apa?

a)

4! dibagi 2! saja

b)

4! dibagi (2! × 2!)

c)

(4−2)! dibagi (4! × 2!)

d)

2! dibagi (4! × 2!)