Anda di halaman 1dari 19

MAKALAH DDL & DCL

(Data Definition Language dan Data Control Language)


Sistem Basis Data

DosenPengampu:
Syukhri S.T., M.CIO

Disusun Oleh
Kelompok 6 :

 NUR CHINTIA NINGSIH (21343011)


 FACHRI RIZAL (21343023)
 MUHAMMAD RIZKY SANDYRA (21343032)
 RAYHAN AHADI NIFRI (21303035)

INFORMATIKA (NK)
DEPARTEMEN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2022

1
KATA PENGANTAR

Assalamu’alaikum Wr.Wb
Dengan mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa, atas
segala kebesaran dan kelimpahan nikmat yang diberikan-Nya, sehingga penyusun
dapat menyelesaikan Makalah Data Definition Language dan Data Control
Language
Dalam penulisan makalah ini, berbagai hambatan telah kami alami. Oleh
karena itu, terselesaikannya makalah ini tentu saja bukan karena kemampuan
penyusun semata-mata. Namun, karena adanya bantuan dan dukungan dari pihak-
pihak yang terkait.
Dalam penyusunan makalah ini, penyusun menyadari pengalaman dan
pengetahuan masih sangat terbatas. Oleh karena itu, penyusun sangat
mengharapkan adanya kritik dan saran dari berbagai pihak agar makalah ini lebih
baik dan bisa lebih bermanfaat.

Padang, 21 Oktober 2022

Kelompok 6

2
DAFTAR ISI

Table of Contents
KATA PENGANTAR.......................................................................................................2
DAFTAR ISI......................................................................................................................3
BAB I.................................................................................................................................4
PENDAHULUAN.............................................................................................................4
1.1 Latar Belakang....................................................................................................4
1.2 Rumusan Masalah..............................................................................................5
1.3 Tujuan Penulisan................................................................................................5
BAB II...............................................................................................................................6
PEMBAHASAN................................................................................................................6
2.1 Data Definition Language.........................................................................................6
2.2 Data Control Language.............................................................................................6
2.3 Perintah yang terdapat di dalam DDL.......................................................................7
2.3.1 Fungsi Utama DDL.............................................................................................................7
2.3.2 Macam-macam Perintah DDL............................................................................................7
2.3.3 Contoh kasus pada DDL.....................................................................................................9
2.4 Perintah yang terdapat di dalam DCL.....................................................................11
 GRANT.............................................................................................................................11
 REVOKE...........................................................................................................................14
2.4.1 Contoh Kasus Pada DCL...................................................................................................15
2.5 Perbedaan Antara DDL dan DCL.............................................................................16
 DDL................................................................................................................................16
 DCL................................................................................................................................16
BAB III............................................................................................................................17
PENUTUP.......................................................................................................................17
3.1 Kesimpulan.............................................................................................................17
3.2 Saran......................................................................................................................17
DAFTAR PUSTAKA......................................................................................................18

3
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kebutuhan penunjang pekerjaan manusia semakin meningkat. Banyaknya
pekerjaan-pekerjaan yang menuntut manusia untuk bekerja secara cepat, tepat,
dan akurat. Karena kesulitan tersebut membuat manusia berfikir untuk membuat
suatu aplikasi yang dapat mempermudah pekerjaan tersebut. Contohnya dalam hal
penjualan, yang membutuhkan begitu banyak table yang berfungsi untuk
menyusun semua hal penjualan dengan susunan yang tepat. Yaitu dalam membuat
tabel wilayah, tabel barang, tabel pelanggan, dan tabel jual.

Seiring perkembangan teknologi, kesulitan tersebut dapat diatasi dengan


melalui Oracle SQL Plus. Dengan aplikasi SQL Plus ini kita dapat membuat
sebuah tabel dengan menggunakan Data Definition Language (DDL) dan Data
Control Language (DCL). Data Definition Language ini mempermudah kita
dalam pembuatan tabel kerja, sehingga tabel tersebut dapat terbentuk dengan
secara cepat dan akurat. Sedangkan Data Control Language dapat melakukan
pengontrolan data. Pengontrolan yang dimaksud di sini meliputi pengontrolan
terhadap hak user dan pengontrolan terhadap suatu transaksi, apakah akan di
simpan secara permanen ke dalam data base atau dibatalkan.

4
1.2 Rumusan Masalah
Adapun rumusan masalah dalam makalah yaitu :
 Apa Itu Data Definition Language ( DDL )
 Apa Itu Data Control Language ( DCL )
 Apa saja yang termasuk ke dalam perintah DDL
 Apa saja yang termasuk ke dalam perintah DCL
 Perbedaan DDL dan DCL

1.3 Tujuan Penulisan


Tujuan dari makalah ini yaitu kita mengetahui apa itu Data Definition
Language dan Data Control Language, perintah – perintah apa saja yang terdapat
di dalam Data Definiton Language dan Data Control Language, serta Perbedaan
penggunaan DDL dan DCL.

5
BAB II
PEMBAHASAN

2.1 Data Definition Language

DDL adalah Data Definition Language, yaitu sebuah bahasa pemrograman komputer


yang digunakan untuk membuat dan memodifikasi struktur sebuah objek database di database
terutama dalam bentuk skema.

Konsep awal dari DDL pertama kali diperkenalkan sehubungan dengan


model database Codasyl, dimana skema database ditulis dalam bahasa sintaksis yang
menggambarkan catatan, bidang, dan set model data pengguna. DDL tidak bisa lepas
dari Structure Query Language (SQL) untuk menampilkan tabel, kolom, data, dan batasan.

SQL-92 juga memperkenalkan bahasa manipulasi skema dan tabel informasi skema ke skema
permintaan. Tabel informasi ini ditetapkan sebagai SQL/Schemata dalam SQL:2003. Istilah
DDL juga digunakan dalam arti umum untuk merujuk ke bahasa formal apa saja untuk
menggambarkan struktur data atau informasi.

DDL merupakan bagian dari SQL. SQL seringkali menggunakan kata kerja imperatif
dengan bahasa Inggris normal seperti kalimat untuk mengimplementasikan modifikasi
database. Oleh karena itu, DDL tidak muncul sebagai bahasa yang berbeda dalam database
SQL, tetapi mendefinisikan perubahan skema database.

2.2 Data Control Language

Data Control Language (DCL) 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.

Sederhananya, setiap pengguna database hanya dapat melakukan aksi-aksi yang


sudah diberikan oleh user dengan kontrol tertinggi di dalam database tersebut. Misalnya,
pengguna A hanya diberikan akses untuk membuat dan menampilkan sesuatu di database.
Maka, pengguna tersebut hanya dapat melakukan perintah tersebut saja, tidak bisa melakukan
ubah data, hapus data, dan seterusnya. Hal ini menjadi penting untuk diketahui karena di
dalam dunia kerja dengan banyak pengguna database, manajemen pembagian hak akses
seperti ini sangat krusial dan berpengaruh terhadap integritas dan keamanan data.

6
2.3 Perintah yang terdapat di dalam DDL
Menurut teorikomputer.com DDL (Data Definition Language) merupakan kumpulan
perintah pada SQL untuk menggambarkan desain dari basis data (database).
Perintah-perintah tersebut yaitu :

 Create
 Rename
 Alter
 dan Drop

2.3.1 Fungsi Utama DDL

Secara garis besar DDL berfungsi untuk :

 Membuat
 Mengubah
 dan Menghapus struktur data pada database.

2.3.2 Macam-macam Perintah DDL

Supaya lebih jelas berikut ini mari kita pahami beberapa perintah dari DLL.
 Create
No Perintah Fungsi

1 Create Database Membuat database baru

2 Create Function Membuat fungsi pada database

3 Create Index Membuat index pada database

4 Create Table Membuat tabel pada database

5 Create Procedur Membuat prosedur pada database

6 Create Trigger Membuat trigger pada database

7
 Contoh Penggunaan :

CREATE DATABASE db_kampus;
CREATE TABLE table_mahasiswa (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);
CREATE INDEX index_name
ON table_name (column1, column2, ...);

 
 Rename
No Perintah Fungsi

1 Rename Table Digunakan untuk mengganti nama tabel

 Contoh Penggunaan :

RENAME TABLE siswa to peserta_didik;

 
 Alter
No Perintah Fungsi

1 Alter Table Mengubah struktur tabel

 Contoh Penggunaan :

ALTER TABLE siswa ADD tgl_lahir DATE;

Perintah tersebut digunakan untuk menambahkan kolom tanggal lahir pada tabel
siswa

8
.

 
 Drop
No Perintah Fungsi

1 Drop Database Menghapus database

2 Drop Function Menghapus fungsi pada database

3 Drop Index Menghapus index pada database

4 Drop Procedure Menghapus prosedur pada database

5 Drop Table Menghapus tabel  pada database

 Contoh Penggunaan :

DROP DATABASE kampus;
DROP TABLE data_mahasiswa;

2.3.3 Contoh kasus pada DDL

Studi Kasus Database Puskesmas

Diketahui nama database serta rancangan struktur tabelnya, sbb:


Nama database : puskesmas
Struktur tabel Master:
Tabel Pasien memiliki struktur, sbb:

9
Kode Pasien tipe datanya karakter dengan panjang 10 memilki kunci utama (primary key )
serta tidak boleh kosong, Nama Pasien memiliki tipe data karakter dengan panjang 40, Jenis
kelamin memiliki tipe data karakter dengan panjang 10, Usia dengan tipe data bilangan
bulat, Pekerjaan memiliki tipe data karakter dengan panjang 40, KTP memiliki tipe data
karakter dengan panjang 50, Alamat memiliki tipe data karakter dengan panjang 60, telepon
memiliki tipe data karakter dengan panjang 55.;
Tabel Dokter memiliki struktur, sbb:
Kode Dokter tipe datanya karakter dengan panjang 10 memilki kunci utama (primary key )
serta tidak boleh kosong, Nama Dokter memiliki tipe data karakter dengan panjang 40, Jenis
kelamin memiliki tipe data karakter dengan panjang 10, Spesialis memiliki tipe data karakter
dengan panjang 30, Alamat memiliki tipe data karakter dengan panjang 60, Kota memiliki
tipe data karakter dengan panjang 25, telepon memiliki tipe data karakter dengan panjang
30, Email memiliki tipe data karakter dengan panjang 50.;
Tabel Obat memiliki struktur, sbb:
Kode Obat tipe datanya karakter dengan panjang 10 memilki kunci utama (primary key )
serta tidak boleh kosong, Nama Obat memiliki tipe data karakter dengan panjang 40, Jenis
obat memiliki tipe data karakter dengan panjang 40, Kemasan memiliki tipe data karakter
dengan panjang 30, Harga satuan obat memiliki tipe data bilangan pecahan (numeric)
dengan panjang 12, Jumlah obat memiliki tipe bilangan pecahan (numeric) dengan panjang
12.;
Tabel Pegawai memiliki struktur, sbb:
No.Induk Pegawai tipe datanya bilangan bulat (interger auto number) dengan panjang tidak
terbatas memilki kunci utama (primary key ) serta tidak boleh kosong, Nama Pegawai
memiliki tipe data karakter dengan panjang 40, Jenis kelamin memiliki tipe data karakter
dengan panjang 15, Usia dengan tipe data bilangan bulat (integer), Bagian memiliki tipe data
karakter dengan panjang 30, Alamat memiliki tipe data karakter dengan panjang 60, Kota
memiliki tipe data karakter dengan panjang 25, telepon memiliki tipe data karakter dengan
panjang 30, telepon memiliki tipe data karakter dengan panjang 55, Email memiliki tipe data
karakter dengan panjang 50.;

Penerapan Perintah DDL

Membuat database: puskesmas_db
create database puskesmas_db;
use puskesmas_db;
Nama-nama untuk Tabel Master memiliki struktur, sbb:
Membuat tabel Pasien:   
create table pasien(kode_pas char(10) not null,
nama_pas varchar(40),
jenis_kel char(10),
usia int,
pekerjaan char(30),
ktp varchar(15),
alamat varchar(50),
telepon varchar(30),
Constraint PK_Pasien primary key (kode_pas));
Membuat tabel Dokter:
create table dokter(kode_dok char(10) not null,

10
nama_dok varchar(25),
kelamin char(15),
spesialis varchar(30),
alamat_dok varchar(60),
kota_dok char(25),
telp_dok varchar(30),
email varchar(50),
Constraint PK_dokter primary key (kode_dok));
Membuat tabel Obat:
create table obat(kode_obat char(10) not null,
nama_obat varchar(25),
jenis varchar(40),
kemasan nchar(30),
harga_obat numeric(12),
jumlah_obat numeric(12),
Constraint PK_Obat primary key (kode_obat));
Membuat tabel Pegawai:
create table pegawai(nip int auto_increment,
nama varchar(40),
kelamin varchar(15),
usia int,
bagian varchar(30),
alamat varchar(50),
kota varchar(25),
telepon varchar(55),
email varchar(50),
Constraint PK_Pegawai primary key(nip));

2.4 Perintah yang terdapat di dalam DCL

Berikut ini adalah beberapa perintah DCL:

 GRANT
 REVOKE

 GRANT

Perintah Grant digunakan untuk memberikan hak akses khusus kepada user untuk melakukan


aksi tertentu pada object tertentu di database.

Sintaks:

GRANT tipe_privilege

11
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.

 Berikut ini adalah beberapa contoh tipe privilege:

Tipe Privilege Keterangan

ALL PRIVILEGE Memberikan seluruh akses secara penuh (full access)

CREATE Memberikan hak akses untuk membuat database atau objek database

DROP Memberikan hak akses untuk menghapus database atau objek database

SELECT Memberikan hak akses untuk melakukan query ke database

INSERT Memberikan hak akses untuk menambahkan record / data baru ke tabel

UPDATE Memberikan hak akses untuk mengubah record / data di tabel

DELETE Memberikan hak akses untuk menghapus record / data di tabel

 Tabel Contoh Tipe Privilege

Sebelum menggunakan perintah Grant, pertama buat user baru terlebih dahulu


di database menggunakan sintaks di bawah ini:

 CREATE USER 'nama_user'@'localhost' IDENTIFIED BY 'password';


Sebagai catatan, sebelum membuat user baru, masuklah terlebih dahulu sebagai user
root dengan menggunakan perintah:

12
 mysql -u root

 USE mysql
Setelah itu kita akan membuat user baru dengan nama ‘DosenIT‘
dengan password ‘dosenit.com‘. Gunakan perintah di bawah ini:

Asumsikan bahwa kita akan memberikan akses database kepada user tersebut. Misalnya kita


akan membuat database bernama “db_kampus”.

Setelah database-nya berhasil dibuat, langkah selanjutnya adalah memberikan akses tersebut


kepada user tersebut. Untuk keperluan tersebut, kita dapat menggunakan
perintah GRANT mengikuti sintaks yang telah dijabarkan di atas. Misalnya saat ini kita hanya
akan memberikan hak akses untuk membuat, menambahkan, dan melakukan query terhadap
objek-objek di database “db_kampus”. Maka gunakanlah perintah di bawah ini:

Sebagai catatan, perintah FLUSH PRIVILEGES digunakan setiap kali selesai memberikan


atau menarik kembali hak akses user.

Setelah itu, mari kita login kembali ke mysql menggunakan akun baru tersebut. Lakukan


dengan menggunakan perintah di bawah ini:
mysql -u DosenIT -p
-- masukkan password

USE db_kampus;
Setelah berhasil masuk dan menggunakan database db_kampus, cobalah perintah-perintah
yang berhubungan dengan CREATE, INSERT, dan SELECT. Silakan kreasikan sebebas

13
mungkin yang Anda inginkan. Anda juga boleh menggunakan perintah-perintah di bawah ini
untuk bahan uji coba.

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.

Bagaimana hasilnya? Tentunya kita akan mendapatkan pesan error seperti gambar di bawah


ini.

 REVOKE

Perintah Revoke digunakan untuk menarik kembali / mencabut / membatalkan hak akses


khusus yang sebelumnya telah diberikan melalui perintah Grant.

14
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.

Setelah mengeksekusi perintah di atas, seharusnya saat ini user DosenIT sudah tidak dapat
menggunakan perintah SELECT. Perhatikan gambar di bawah ini.

Hal ini berlaku untuk semua perintah yang lain.

2.4.1 Contoh Kasus Pada DCL

Studi Kasus
Anda adalah seorang senior database administrator di perusahaan "A". Suatu hari, perusahaan
tersebut menerima seorang junior database administrator bernama "Budi". Lalu, atasan Anda
meminta untuk memberikan akses ke server database untuk Budi dengan privileges DML
namun tidak dapat menghapus data di database tersebut. Nama database yang dimaksud
adalah hr.
 
Penyelesaian
Dari studi kasus di atas, kita dapat melakukan administratif database seperti berikut
 

15
Login sebagai root
Langkah pertama yang harus kita lakukan yaitu login sebagai root mysql.
Perintah yang kita gunakan yaitu
mysql -u root -p
 
Perintah tersebut artinya adalah kita memanggil perintah mysql diikuti dengan parameter user
dengan disingkat menjadi -u lalu diikuti username, setelah itu diikuti parameter -p yaitu
password. Setelah mengetikkan perintah tersebut di terminal atau cmd, tekan enter.
Kemudian terdapat prompt untuk memasukkan password. Kita masukkan password root kita.
Lalu, tekan enter kembali.
Jika berhasil, maka kita akan masuk ke interface dari mysql.
 
Membuat user untuk Budi
Selanjutnya, kita buat user baru untuk budi dengan username budi dan password login4j4.
User tersebut bisa login dari semua IP atau host. Perintah yang dapat kita gunakan yaitu
seperti ini
CREATE USER 'budi'@'%' IDENTIFIED BY 'login4j4';
 
Memberikan hak akses DML
Selanjutnya, kita tinggal memberikan hak akses DML kecuali privileges delete ke user budi
tersebut. Perintah yang dapat kita gunakan yaitu
GRANT SELECT, INSERT, UPDATE ON db_hr.* to 'budi'@'%' ;
 
Perintah tersebut berarti kita memberikan akses melihat, memasukkan dan memperbarui data
untuk user budi di database db_hr di semua table.
 
Tekan enter lalu diikuti perintah 
GRANT PRIVILEGES;
 
Sampai di sini tugas kita selesai untuk memberikan akses ke budi sesuai permintaan atasan
kita tadi. Selanjutnya info login user budi dapat kita berikan ke Budi ataupun dapat kita coba
terlebih dahulu dengan login sebagai user budi tersebut.

2.5 Perbedaan Antara DDL dan DCL


DDL dan DCL termasuk bentuk-bentuk SQL. Keduanya itu berbeda dan
perbedaannya kurang lebih dapat dijelaskan seperti berikut ini.
 DDL

Jika DDL, maka seperti yang sudah disebutkan sebelumnya, ini adalah sub perintah bahasa
SQL yang mempunyai peran dalam hal membangun kerangka suatu database. Adapun yang
dimaksud ialah tabel dan database itu sendiri. Makanya dalam DDL terdapat 3 perintah yang
sangat penting yaitu Create, Alter dan juga Drop seperti yang sudah dijelaskan sebelumnya.

16
 DCL

Sementara untuk DCL atau Data Control Language, ini merupakan sub bahasa SQL yang
mempunyai fungsi utama untuk mengontrol data serta server databasenya. Misalnya hak
akses dan manipulasi user. Dengan kata lain, apabila Anda telah memiliki user kemudian
ingin mengatur hak akses dari masing-masing user tersebut, maka Anda perlu memahami
DCL ini.

Selain fungsi tersebut, DCL juga bisa digunakan untuk mengaudit penggunaan database,
mengalokasikan database serta mendefinisikan space. Dalam DCL ini juga ada beberapa
perintah yaitu Grant, Revoke, Commit dan Roolback.

 Grant digunakan untuk memberikan izin pada pengguna atau user untuk bisa
mengakses database
 Revoke digunakan untuk membatalkan izin pengguna atau user dalam mengakses
database
 Commit digunakan untuk menetapkan penyimpanan dalam database
 Roolback digunakan untuk membatalkan penyimpanan dalam database

BAB III
PENUTUP

3.1 Kesimpulan
Dari penjelasan dari makalah ini kita menyimpulkan bahwa Data Definition Language
(DDL), digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-
objek yang diperlukan dalam basis data, seperti tabel, view, user, dan sebagainya. Data
Definition Language (DDL) digunakan untuk membuat kerangka database yang akan dibuat.
Atau juga merupakan kelompok perintah yang berfungsi untuk mendefinisikan atributatribut
didalam database, table, atribut kolom, batasan-batasan terhadap suatu atribut serta hubungan
antar table.
Data Control Language (DCL) adalah salah satu komponen SQL yang berfungsi untuk
melakukan pegontrolan data. Pengontrolan yang dimaksud di sini meliputi pengontrolan

17
terhadap hak user dan pengontrolan terhadap suatu transaksi, apakah akan disimpan secara
permanen ke dalam database atau akan dibatalkan. Adanya DCL adalah sebagai alat control
keamanan database dan tabel nya.

3.2 Saran
Meskipun penulis menginginkan kesempurnaan dalam penyusunan makalah ini tetapi
kenyataannya masih banyak kekurangan yang perlu penulis perbaiki. Hal ini di karenakan
masih minimnya pengetahuan yang penulis miliki. Silakan bagi para pembaca untuk
mengoreksi dan mengomentari makalah tentang Data Definition Language (DDL), dan Data
Control Language (DCL) yang kami Susun jika ada kesalahan mengenai Materi yang telah
dibuat dalam makalah ini.Oleh karena itu kritik dan saran yang membangun

DAFTAR PUSTAKA

https://daismabali.com/artikel_detail/21/1/Data-Definition-Language-dan-Cara-Query-
DDL-pada-SQL.html

https://qwords.com/blog/ddl-adalah/

https://www.nesabamedia.com/pengertian-ddl/

https://mahasiswa.ung.ac.id/921411144/home/2012/10/3/
pengertian_ddl__dml__dql_dan_dcl.html

https://badoystudio.com/ddl-dan-dml/

https://dosenit.com/sql/data-control-language

https://www.geriatama.com/2021/11/tutorial-mysql-studi-kasus-dan.html

18
https://ibnuis.dev/blog/tutorial-dcl

19

Anda mungkin juga menyukai