Oleh:
MUHAMMAD BADRA
22101152610398
SISTEM INFORMASI
2023
KATA PENGANTAR
Puji syukur diucapkan kehadirat Allah Swt. atas segala rahmat-Nya sehingga makalah
ini dapat tersusun sampai selesai. Tidak lupa kami mengucapkan terima kasih terhadap
bantuan dari pihak yang telah berkontribusi dengan memberikan sumbangan baik pikiran
maupun materi.
Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini bisa
pembaca praktikkan dalam kehidupan sehari-hari.
Bagi kami sebagai penyusun merasa bahwa masih banyak kekurangan dalam
penyusunan makalah ini karena keterbatasan pengetahuan dan pengalaman kami. Untuk itu
kami sangat mengharapkan kritik dan saran yang membangun dari pembaca demi
kesempurnaan makalah ini.
Penulis
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
A. Latar Belakang
B. Rumusan Masalah
C. Batasan Masalah
1
5. Solusi ini dijalankan secara manual oleh pengguna sistem, tidak otomatis secara
berkala.
6. Dalam implementasinya hanya mengsinkronisasikan dua buah basis data dalam dua
DBMS yang berbeda.
D. Tujuan Penelitian
2
BAB II
PEMBAHASAN
A. Data Control Language (DCL)
Data control language adalah salah satu dari kelompok perintah SQL yang digunakan
untuk melakukan kontrol terhadap privilege atau hak akses khusus untuk berinteraksi
dengan database. Hak akses khusus ini diperlukan sebagai prasyarat bagi
setiap user database untuk melakukan berbagai aksi di database, seperti: membuat object,
menghapus object, mengubah object, menampilkan hasil query, dan seterusnya.
▪ GRANT
▪ REVOKE
A. GRANT
Perintah Grant digunakan untuk memberikan hak akses khusus kepada user untuk
melakukan aksi tertentu pada object tertentu di database.
Sintaks:
GRANT tipe_privilege
ON nama_objek
TO nama_pengguna;
Keterangan:
▪ tipe_privilege — diisi dengan privilege atau hak akses yang dimaksud (lihat tabel di
bawah).
▪ nama_objek — diisi dengan objek-objek database,
seperti: database, table, view, trigger, dan seterusnya.
▪ nama_pengguna — diisi dengan nama pengguna database yang ingin
diberikan privilege.
CREATE Memberikan hak akses untuk membuat database atau objek database
DROP Memberikan hak akses untuk menghapus database atau objek database
3
Tipe Privilege Keterangan
INSERT Memberikan hak akses untuk menambahkan record / data baru ke tabel
Sebagai catatan, sebelum membuat user baru, masuklah terlebih dahulu sebagai user
root dengan menggunakan perintah:
mysql -u root
USE mysql
Setelah itu kita akan membuat user baru dengan nama ‘DosenIT‘
dengan password ‘dosenit.com‘.
Gunakan perintah di bawah ini:
SQL
1.CREATE USER 'DosenIT'@'localhost' IDENTIFIED BY 'dosenit.com';
Asumsikan bahwa kita akan memberikan akses database kepada user tersebut. Misalnya
kita akan membuat database bernama “db_kampus”.
SQL
1.CREATE DATABASE db_kampus;
4
SQL
1.GRANT CREATE, INSERT, SELECT
2.ON db_kampus.*
3.TO 'DosenIT'@'localhost';
4.
5.FLUSH PRIVILEGES;
mysql -u DosenIT -p
-- masukkan password
USE db_kampus;
SQL
1.-- membuat tabel mahasiswa
2.CREATE TABLE mahasiswa(
3.id INT AUTO_INCREMENT PRIMARY KEY,
4.nim VARCHAR(12) UNIQUE NOT NULL,
5.nama VARCHAR(30)
6.);
7.
8.-- memasukkan data mahasiswa ke table
9.INSERT INTO mahasiswa VALUES
10.(NULL, '2000001', 'Satoshi'),
11.(NULL, '2000002', 'Serena');
12.
13.-- melakukan query semua data di tabel mahasiswa
14.SELECT * FROM mahasiswa;
5
Perintah-perintah yang berhubungan dengan CREATE, INSERT, dan SELECT akan
berhasil dieksekusi di user ini dikarenakan telah diberikan akses sebelumnya oleh user
root menggunakan perintah GRANT. Tetapi bagaimana dengan UPDATE, DELETE,
dan lainnya yang tidak didefinisikan sebelumnya? Silakan dicoba menggunakan kreasi
perintah sendiri atau menggunakan contoh di bawah ini.
SQL
1.-- mengubah nama mahasiswa
2.UPDATE mahasiswa SET nama = 'Serena Kalos Queen' WHERE nim = '2000002';
3
4.-- menghapus data mahasiswa
5.DELETE FROM mahasiswa WHERE nim = '2000001';
Bagaimana hasilnya? Tentunya kita akan mendapatkan pesan error seperti gambar di
bawah ini.
2. REVOKE
Perintah Revoke digunakan untuk menarik kembali / mencabut / membatalkan hak akses
khusus yang sebelumnya telah diberikan melalui perintah Grant.
Sintaks:
REVOKE tipe_privilege
ON nama_objek
FROM nama_pengguna;
▪ tipe_privilege — diisi dengan privilege atau hak akses yang dimaksud (lihat tabel di
bagian atas).
▪ nama_objek — diisi dengan objek-objek database,
seperti: database, table, view, trigger, dan seterusnya.
▪ nama_pengguna — diisi dengan nama pengguna database yang ingin dicabut kembali
hak akses atau privilege-nya.
Untuk contoh penggunaannya, mari kita tarik kembali hak akses SELECT dari user
DosenIT.
SQL
1.REVOKE SELECT
2.ON db_kampus.*
3.FROM 'DosenIT'@'localhost';
4
5.FLUSH PRIVILEGES;
6
Setelah mengeksekusi perintah di atas, seharusnya saat ini user DosenIT sudah tidak
dapat menggunakan perintah SELECT. Perhatikan gambar di bawah ini.
7
BAB III
PENUTUPAN
A. Kesimpulan dan saran
Bab ini berisi tentang kesimpulan yang diperoleh dari penelitian yang dilakukan oleh
penulis dan saran dari penulis bagi penelitian selanjutnya yang terkait dengan penelitian ini.
Data control language adalah salah satu dari kelompok perintah SQL yang digunakan untuk
melakukan kontrol terhadap privilege atau hak akses khusus untuk berinteraksi dengan database.