Anda di halaman 1dari 13

BAB 2

TEKNIK NORMALISASI DAN


KELOMPOK PERINTAH DALAM BASIS DATA

A.TEKNIK NORMALISASI BASIS DATA


Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk
melakukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, detele, dan
modifikasi pada satu atau beberapa atribut tanpa mengpengaruhi integritas data dalam relasi
tersebut. Dengan demikian, normalisasi diterjemahkan sebagai teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas
yang non-redundant, stabil, dan fleksibel.

1.Proses Normalisasi
Pada dasarnya,dekomposisi table dapat mengurangi redundansi yang ada dan menghilangkan
anomaly. Oleh sebab itu, perencangan melalui proses normalisasi memiliki beberapa
keuntungan, di antaranya meminimalkan ukuran penyimpanan yang diperlukan untuk
penyimpanan data, meminimalkan kemungkinan anomali pembaruan, meminimalkan risiko
inkonsistensi data pada basis data, dan memaksimalkan stabilitas struktur data. Maka, proses
normalisasi identic dengan proses untuk memperoleh properti-properti skema relasi yang bagus
menjadi bentuk normal lebih tinggi sehingga syarat-syarat yang harus dipenuhi adalah sebagai
berikut.
a.Mengoptimalisasi Redundansi (Pengulangan Data Yang Tidak Perlu)
Rendundansi tidak bisa dihilangkan karena berguna untuk integritas referensial, tetapi
redundansi bisa dioptimalisasi. Jumlah data yang sedikit tidak perlu mempengaruhi penggunaan
harddisk. Namun bisa dibayangkan jika memiliki ribuan, bahkan jutaan redundansi akan sangat
berpengaruh pada penggunaan ruang.
b.Menghilangkan Anomali
Anomalipada dasarnya identik dengan ketidak-konsistenan (inkonsistensi).Misalnya,ada
pergantian nama dari bus “putra perkasa” menjadi bus “Putra Perkasa Utama” sebanyak 4
record.Jika pergantian nama hanya dilakukan pada salah satu record,maka terjadi ketidak
konsistenan,yaitu satu nomor bus berselasi dengan dua nama bus yang berbeda.
2. Anomali dan Redundansi
Proses normalisasi selalu diuji kesulitan saat menambah, mneghapus, mengubah, dan
membaca suatu basis data. Bila masih ada kesulitan berarti relasi pada basis data tersebut belum
optimal dan relasi harus dipecah dalam beberapa tabel sampai kesulitan yang dihadapi hilang.
Dengan kata lain, normalisa adalah sebuah proses mengubah relasi yang memiliki masalah
kedalam dua tabel atau lebih sehingga tak memiliki masalah yang terulang kembali.
a. Anomali (Anomaly)
Anomali identic dengan proses pada basis data yang memberikan efek samping yang
tidak diharapkan. Seperti halnya ketidak konsistenan, dan hilang saat suatu data dihapus,
dan adanya redundansi (data rangkap). Anomali dikategorikan menjadi sebagai berikut.

1) Anomali Peremejaan (update)


Anomali ini terjadi bila pengubahan pada sejumlah tabel yang mubazir, tetapi tidak
semua data diubah. Misalnya, relasi guru yang mengandung data Nama, alamat, dan
Mt_pelajaran yang menyatakan identitas gruru dan mata pelajaran yang diampu.
Hasilnya adalah tabel Guru (Nama, Alamat, Mt_pelajaran sebagai berikut.

Tabel 2.1 Tabel Guru (Nama, alamat, Mt_pelajaran)

Nama Alamat Mt_pelajaran


Yohanna Jl. Air PKN
Yuniar Jl. Samudera TKJ
Candra Jl. Langit RPL
Yohanna Jl. Air TIK

Seandainya guru Yohanna berpindah alamat, misalnya ke Jl. Bumi, dan perubahannya
hanya dilakukan pada data pertama. Maka, relasi akan menjadi seperti berikut.

Tabel 2.2 Perubahan Tabel Guru (Nama, Alamat, Mt_pelajaran)

Nama Alamat Mt_pelajaran


Yohanna Jl. Bumi PKN
Yuniar Jl. Samudera TKJ
Candra Jl. Langit RPL
Yohanna Jl. Air TIL

Terlihat ada ketidak konsistenan. Fakta pertama, guru Yohanna b


eralamat di Jl. Bumi sedangkan fakta kedua, guru Yohanna beralamat di Jl. Air.

2) Anomali Penyisipan (insert)


Anomali ini terjadi ketika penambahan hendak dilakukan, ada elemen data yang
masih kosong dan ternyata elemen tersebut menjadi kunci. Misalnya, sebuah relaso
kursus berisi tiga atribut, yaitu Nama_Siswa_Kursus, dan biaya sebagai berikut.
Tabel 2.3 Tabel Kursus (Nama_Siswa, Nama_Kursus, dan Biaya)

Nama siswa Nama Kursus Biaya


Joko Bahasa inggis 145.000
Rosmala Bahasa inggris 145.000
Joko Bahasa perancis 125.000
Sarto Bahasa jerman 120.000

Relasi di atas menyatakan kursur-kursur yang diikuti oleh siswa dan jumlah
biayanya. Masalah akan timbul saat dibuka kursus baru tetapi belum ada siswanya,
misalnya Bahasa Belanda dengan biaya 90.000. Akibat, data kursus baru tersebut
tidak bisa dicatat.

3) Anomali penghapusan (delete)


Anomali ini terjadi sekiranya suatu baris atau tupel dihapus dan akibatnya ada data
lain yang hilang. Dengan contoh kursus tersubut, apa yang terjadi jika Nama_Siswa
Joko dihapus ? Data yang menyata bahwa biaya kursus Bahasa Perancis 125 akan
hilang.
b. Redundansi
Factor mendasarkan diperluka normalisasi karena permasalahan redundasi ( perulangan
yang berlebihan ). Redudansi dapat menyebabkan pembolosan ruang penyimpanan dan
inkonsitensi. Akibat lainnya adalah adanya anumali pada saat insert ( simpan ), update
(edit/pembaruan), dan detele ( hapus). Misaknya , NIM, nama, dan alamat rumah yang
sama ditulis berulang ulang.
NIM Nama Alamat rumah Hobby
001 Laila Nabila Jl. Padmanaba Utama No.7 Tipes Solo Membaca
001 Laila Nabila Jl. Padmanaba Utama No.7 Tipes Solo Menari
002 Naufal Fadhil Jl. Batubara R 05/VII Kratonan Solo Membaca
002 Naufal Fadhil Jl. Batubara R 05/VII Kratonan Solo Menyanyi
002 Naufal Fadhil Jl. Batubara R 05/VII Kratonan Solo Menonton
003 Abishar Thoriq Jl. Unta 5 Gg. X Madegondo SKH Beburu
003 Abishar Thoriq Jl. Unta 5 Gg. X Madegondo SKH Berenang
004 Seno Aji Jl. Pakuan Selatan III/8 Mojosongo Solo Berburu

3. Dependensi ( Ketergantungan)
Depentensi adalah konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut
atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya. Jenis
jenis dependensi (ketergantungan) antara lain sebagai berikut.
a. Dependesi fungsional ( Functional Dependency)
Dependensi fungsional identik dengan suatu atribut Y memiliki dependensi fingsianal
terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. maka,
pernyataannya adalah “X secara fungsional menentukan Y” atau secara istilah dengan cara;
penentu ( determinan) yang tergantung ( dependen ) . Jika dituangkan dengan notasi :

X Y atau Y = f(X). Misalnya, sebuah tabel Siswa berisi atribut siswa (NIM, Nama,
Jns_kel,Alamat). Isi atribut nama bergantung pada NIM sehingga kita dapat mengatakan bahwa
atribut nama bergantung secara fungsi pada NIM.Jika mengetahui sebuah NIM,secara otomatis
kita dapat menentukan nama siswa tersebut.Artinya,adanya NIM yang sama juga akan
berpengaruh pada nama yang sama pula.
b. Dependensi Fungsional Sepenuhnya
Suatu atribut Y memiliki dependensi fungsional sepenuhnya terhadap atribut X jiga Y
memiliki dependensi fungsional terhadap X dan Y tidak memiliki dependensi terhadap bagian
dari X.Misalnya,relasiopelanggan berisi atribut pelanggan(Kd_Pelanggan,Nama,Kota,No_Telp).
Pada relasi ini diketahui data sebagai berikut.
1) {Kd_Pelanggan, Kota} No_Telp
2) Kd_Pelanggan No_Telp>
Berdasarkan data di atas, diketahui bahwa No_Telp bergantung pada {Kd_Pelanggan, Kota}
dan juga bergantung pada Kd_Pelanggan sebagai bagian dari {Kd_Pelanggan, Kota}, maka
No_telp tetap tidak memiliki dependensi fungsional sepenuhnya pada {Kd_Pelanggan, Kota}
tetapi memiliki dependensi fungsional sepenuhnya terhadap Kd_Pelanggan.
c. Dependensi Total
Suatu atribut Y memiliki dependensi total terhadap atribut X jika Y memiliki dependensi
fungsional terhadap X dan X memiliki dependensi fungsional terhadap Y. Dependensi seperti ini
dinyatakan dengan notasi : X << Y. Misalnya, relasi siswa berisi atribut siswa
(No_Swa,Nama_Swa, Alamat). Dengan demikian, notasi yang digunakan adalah No_Swa <<
Nama_Swa dengan asumsi tidak ada nama siswa yang sama.
d. Depedensi Transitif
Atribut Z memiliki dipendensi transitif terhadap X jika y memiliki dependensi
fungsional terhadap X, sedangkan Z memiliki dependensi fungsional terhadap Y sehingga
dinyatakan dengan notasi : X Y Z. Perhatikan data-data pada tabel berikut.
Tabel 2.4 Tabel contoh dependensi transitif
Mt_pelajaran Kelas Tempat Waktu
Fisika X Lt.II Senin, 07.00-09.00
Basis Data XI Lt.I Selasa, 10.00-12.00

Pada relasi ini diketahui data sebagai berikut.


1) Mt_pelajaran {Kelass, Waktu}
2) Kelas Tempat
Berdasarkan data di atas, maka notasi yang digunakan adalah Mt_pelajaran Kelas
Tempat. Dengan demikian, tempat memiliki dependensi transitif terhadap Mt_pelajaran.

4. Teknik Normalisasi Basis Data


Tujuan utama melakukan proses normalisasi adalah mengonversi relasi menjadi bentuk
normal yang lebih tinggi. Normalisasi basis data, setidaknya ada sembilan (9) bentuk
normalisasi, yaitu INF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Seorang tokoh
bernama Edgar F. Codd dalam artikelnya yang terkenal Large Shared Data Banks
mendefinisikan bentuk INF=3NF sebagai bentuk yang banyak dipakai pada suatu relasi. Apabila
ketiga bentuk tersebut dipenuhi maka persoalan anomaly tidak muncul lagi. Bentuk 3NF
kemudian diperbaiki sehingga memiliki bentuk normal yang lebih kuat (bentuk versi), yaitu
BCNF oleh Boyce Codd. Sementara itu R. Fagin memperkenalkan bentuk 4NF dan 5NF.

Relasi Umum

1NF

2NF

3NF

BCNF

4NF
5NF
Bentuk-bentuk normalisasi berikut paling sering digunakan.
a. Bentuk Normal Pertama
Pada dasarrnya, bentuk normal pertama (INF) selalu ekuivalen dengan definisi model
relasi. Dalam hal ini, relasi identic dengan bentuk normal pertama (INF) jika semua nilai
atributnya adalah sederhana (bukan komposit). Beberapa syarat pada bentuk normal pertama
(INF) di antaranya sebagai berikut.
1) Tiap atribut hanya memiliki satu pengertian saja.
2) Tidak ada himpunan atribut yang berulang atau bernilai ganda.
3) Tiap atribut yang dapat memiliki banyak nilai sebenarnya menggambarkan entitas atau
relasi yang terpisah.
4) Telah ditentukannya primary key untuk tabel atau relasi.
b. Bentuk Normal Kedua (2NF)
Relasi pada bentuk normal kedua tidak harus menyiimpan fakta-fakta mengenai bagian
kunci relasi. Beberapa syarat pada bentuk normal kedua (2NF) di antaranya adalah atribut
bukan kunci (non-key attribute) harus memiliki ketergantungan fungsional sepenuhnya pada
primary key dan bentuk data telah memenuhi kriteria bentuk normal ke satu. Bentuk normal
kedua menghilangkan ketergantungan parsial dan masih memiliki anomali yang secara
praktis tidak dapat diterima.
c. Bentuk Normal Ketiga (3NF)
Pada dasarnya, bentuk normal ketiga (3NF)akan menghilangkan ketergantungan
transitif. Awalnya, bentuk normal ketiga dinyatakan sebagai bentuk normal puncak atau
paling akhir. Pada perkembangannya, ada penemuan bentuk normal yang lebih kuat yaitu
bentuk normal Boyce-Codd. Beberapa syarat pada bentuk normal ketiga (3NF)
diantaranya bentuk data telah memenuhi kriteria bentuk normal kedua dan atribut bukan
kunci (non-key attribute) tidak boleh memiliki ketergantungan fungsional pada atribut
bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki
ketergantungan fungsional terhadap primary key di relasi itu.
d. Bentuk Normal Boyce-Codd (BCNF)
Pada dasarnya, bentuk normal Boyce-Codd (BCNF) untuk mengatasi anomali dan
overlopping yang tidak dapat ditangani dalam bentuk 3NF. Normalisasi basis data bentuk ini
tergantung pada kasus yang disediakan karena tidak semua tabel wajib dinormalisasi dalam
bentuk BCNF. Teknik normalisasi basis data jenis ini sering disebut 3.5NF dan memiliki
hubungan yang sangat erat dengan bentuk 3NF. Secara mendasar, BCNF memiliki ketentuan
sendiri, yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-
masing kunci yang bukan bagiannya. Namun demikian, ada perbedaan mendasar antarBCNF
dengan 3NF, yaitu BCNF dengan suatu atribut yang bergantung secara fungsional pada kunci
primer maupun kunci primer bagi atribut yang lain. Sebaliknya, pada 3NF hal ini bisa saja
terjadi dan tidak menjadi masalaha. BCNF memiliki ketentuan-ketentuan sebagai berikut.
1) Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dpendency
terhadap setiap atribut atau gabungan atribut dalam bentuk; X Y maka X adalah super
key.
2) Tabel tersebut harus didekomposisi berdasarkan functional dependency yang ada
sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
3) Setiap tabel daklam BCNF merupakan 3NF. Namun, setiap 3NF belum tentu termasuk
BCNF. Perbedaannya adalah untuk functional dependency X A, BCNF tidak
membolehkan A sebagai bagian dari primary key.
Dengan demikian, relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut
relasi adalah kunci relasi. Kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka
atriut-atribut tersebut menjadi satu kunci relasi. Dalam hal ini, BCNF bisa memilih lebih dari
satu kunci. Sementara itu , properti penting BCNF dalam bentuk relasi tidak memiliki
informasi redundan.
e) Bentuk Normal Keempat (4NF)
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi keter
gantungan banyak nilai. Untuk menghilangkan ketergantungan banyak nilai dari satu relasi, kita
membagi relasi menjadi dua relasi baru. Masing-masing relasi berisi dua atribut yang memiliki
hubungan banyak nilai.
f) Bentuk Normal Kelima (5NF)
Bentuk normal kelima (5NF) berurusan dengan propwrti yang disebut join tanpa adanya
adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF
(projection-join normal form). Kasus- kasus ini sangat jarang muncul dan sulit untuk dideteksi
secara praktis.
Tiga bentuk normal pertama berkaitan dengan ketergantungan fungsional. Sementara itu,
bentuk gempa dan kelima berkaitan dengan redundansi yang disebabkan ketergantungan banyak
nilai (multi-valued dependencies). Bentuk normal pertama untuk menghilangkan atribut bernilai
jamak. Bentuk normal kedua bertujuan menghilangkan ketergantungan parsial. Bentuk normal
ketiga bertujuan menghilangkan ketergantungan transitif. Bentuk normal Boyce-Codd bertujuan
menghilangkan anomalia yang tersisa karena ketergantungan fungsional. Bentuk norma keempat
bertujuan menghilangkan ketergantungan nilai jamak. Kemudian, bentuk norml kelima untuk
menghilangkan anomalia tersisa.

5. Penerapan Normalisasi Basis Data


Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel
untuk mendapatkan data yang optimal. Misalnya, normalisasi JadwalMapel yang dilihat sebagai
berikut.
Tabel 2.5 Jadwal Mapel
NIK Nama_siswa Mapel Kelas
123 Laili Nabila PKN XI A
123 Laili Nabila Fisika XI B
456 Naufal Fadhil Matematika XI B
456 Naufal Fadhil RPL XI C
456 Naufal Fadhil Bhs. Indonesia XI E
789 Abishar Thoriq Bhs. Inggris XI F

Data diatas sebenarnya tidak ada yang salah karena memang outputnya akan menghasilkan
seperti tabel tersebut. Namun, jika dilihat dari sisi duplikasi data pada informasi Nama_siswa
dan NIK, tabel seperti diatas jelas terlihat sangat tidak efisien. Ketiga jenis objek tersebut tidak
saling berkaitan dan masing-masing memiliki informasi mengenai kriterianya. Jadi, apa yang
harus diubah adalah membuat tabel untuk masing-masing objek tersebut menjadi seperti berikut

Tabel 2.6 Tabel siswa


Id_Sisw NIK Nama Siswa
1 123 Laili Nabila
2 456 Naufal Fadhil
3 789 Abishar Thorik

Tabel 2.7 Tabel Kelas


Kls_Id Nama_siswa
1 Laila Nabila
2 Naufal Fadhil
3 Abishar Thorik

Tabel 2.8 Tabel MtPel

ID_MtPel Nama_Siswa
1 PKN
2 Fisika
3 Matematika
4 RPL
5 Bhs.Indonesia
6 Bhs.Inggris

Dari hasil pemecahan ketiga tabel tersebut kita perlu satu satu tabel lagi untuk
menjadi penghubung.Anggap saja tabel tersebut bernamaJadwal Mata Pelajaran
(JadwalMtPl) yang hanya menyimpan nilai kunci masing-masing tabel.Susunan
lengkap tabel setelah dilakukan normalisasi adalah sebagai berikut:

Tabel MtPel
Id_sisw
ID_MtPel
Tabel Siswa Tabel JadwaMtPel
Id_Sisw Nama_siswa
Id_Sisw
NIK ID_MtPel
Nama_siswa
Nama_siswa
Tabel Kelas
Kls_Id
Nama_siswa

Dari relasi tabel diatas terlihat sudah lenkap untuk disusun menjadi
Kumpulan tabel awal.Perbedaan nya terlihat setelah dilakukan normalisasi.Tentu cara ini lebih
efisien ketimbang kita hanya menggunakan satu tabel yang data nya dikumpulkan menjadi
satu.Itu akan menjadikan “Bahasa Inggris” sangat berat nantinya apabila data yang ingin dikelola
sangat banyak.

B. KELOMPOK PERINTAH DALAM BASIS DATA


Lahirnya bahasa SQL ( Structured Query Language ) diawali pada juni 1970 saat
seorang peneliti dari perusahaan IBM bernama Jhonny Oracle memiliki gagasan pembuatan
basis data relasi yang dituangkan dalam sebuah artikel. Artikel tersebut membahas bahasa
standar untuk mengakses data dalam basis data yang diberi nama SEQUEL ( Structured English
Query Language).Sampai pada akhirnya,IBM memutuskan untuk mengembangkan pembuatan
bahasa SEQUEL paska kemunculan artikel tersebut.Akhirnya,nama SEQUEL diubah menjadi
SQL (Structured Query Language) hingga sekarang.Dalam penggunaannya,ada beberapa
perintah yang dapat digunakan untuk mengakses dan manajemen data dalam basis data.Jenis-
jenis perintah SQL sangat perlu dipahami kita yang ingin menguasai bahasa SQL dan mahir
dalam pembuatan basis data.

1. Data Definition Language (DDL)


Bahasa Definisi Data (Data Definition Language/DDL) identik dengan perintah-perintah
Yang biasa digunakan oleh administrator basis data (DBA) untuk mendefinisikan skema ke
DBMS.Skema identik dengan deskripsi lengkap tentang struktur medan,rekaman,dan hubungan
data pada basis data.Sementara itu,Index merupakan satu mekanisme yang lazim digunakan pada
basis data dan memungkinkan pengambilan data dapat dilakukam dengan cepat.
Data Definition Langueage (DDL) memiliki fungsi utama mendefinisikan
Data dalam basis data dengan logika,di antaranya untuk mendefinisikan karakteristik record
(meliputi nama,tipe,dan lebar dari field),untuk menentukan kunci field,menyediakan cara untuk
menentukan hubungan dengan data file lain,untuk mengubah struktur dari record,dan untuk
menampilkan struktur dari record.DDL juga digunakan untuk menentukan struktur atau skema
basis data yang mewakili desain basis data secara keseluruhan.Hasil komplikasi perintah DDL
adalah kamus data file yang berisi metadata (Data yang mendeskripsikan data
sesungguhnya).Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data
disebut dengan data storage and definition language.
Beberapa perintah yang termasuk DDL antara lain sebagai berikut:
a. CREATE
Perintah CREATE digunakan untuk membuat,termasuk diantaranya
Membuat basis data baru,tabel baru,view baru,dan kolom.Misalnya,create table siswa (nim
char(6) primary key,nama_siswa varchar(25),nilai integer(3),alamat varchar(30).
b. ALTER
Perintah ALTER digunakan untuk mengubah struktur tabel yang telah dibuat. Ruang
lingkupnya terdiari atas menggatikan nama tabel, menambah kolom, mengubah
kolom,menghapus kolom, maupun jmemberikan atribut pada kolom. Misalnya, alter table siswa
rename siswa_rpll.
c. DROP
Perintah DROP diguakan untuk menghapus basis data dan tabel.perhatikan contoh-
contoh sebagai berikut.
drop database [ if exists] nama_data;
drop database [if exists] kelas;

Bentuk perintah di atas akan menghapus kolom dan indeks dengan nama nama_data1 dakn kelas.
Option IF EXISTS dugunakan untuk memastikan bahwa basis data tersebut diketahui
keberadaannya. Jika basis datanya berisi berbagai jenis data, maka basis data serta seluruh tabel
di dalamnya akan dihapus. Jika nama basis data yang akan dihapus tidak ditemukan, maka akan
ditampilkan pesan eror.
2. DATA MANIPULATION LANGUANGE
Data manipulation language (DML) identik dengan subperintah dari bahasa SQL yang
digunakan untuk mengubah, memanipulasi, dan mengambil data pada basis data, pada dasarnya,
Data manipulation language digunakan untuk memanipilasi basis data yang telah didefinisikan
dengan DDL. DML dikatagorikan menjadi procedural dan non procedural. Procedural menuntut
pengguna menentukan data apa saja yang diperlukan dan cara mendapatkannya. Sementara itu,
non procedural menuntut pengguna menentukan data apa sja yang di perlukan tetapi tidak perlu
menyebutkan cara mendapatkannya. Beberapa perintah yang termasuk DML antara lain sebagai
berikut.
a. INSERT
Perintah ini digunakan untuk memasukan data baru kedalam sebuah tabel. Perintah tersebut
hanya bisa dijalankan ketika basis data dan tabel sudah dibuat. Formatnya adalah sebagai berikut
INSERT INTO nama_tabel VALUES ( data , data2 , dan seterusnya . . .);

b. SELECT
Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau
beberapa tabel dalam relasi. Data yang diambil langsung dapat ditampilkan dalam layar prompt
MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.

c. UPDATE
Perintah ini digunakan untuk memperbarui data lama menjadi data terbarui. Jika memiliki
data yang keliru atau kurang up to date dengan kondisi sekarang, maka kita dapat mengubah isi
datanya menggunakan perintah UPDATE.

d. DELETE
Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus
merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah
dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat lagi dikembalikan
lagi.

3. Data Control Language (DCL)


Data Control Language (DCL) identic dengan subbahasa SQL yang berfungsi untuk
melakukan pengontrolan data dan server basis datanya seperti manipulasi pengguna dan hak
akses (priviledges). Beberapa perintah yang termasuk DCL antara lain sebagai berikut.
a. GRANT
Perintah GRANT digunakan untuk memberikan hak akses oleh admin ke salah satu user
atau pengguna. Hak akses tersebut bisa berupa hak membuat (CREATE) mengambil data
(SELECT) menghapus data (DELETE) mengubah data (UPDATE) dan hak khusus lainnya yang
berhubungan dengan sistem basis data.
b. REVOKE
Dalam ini merupakan kebalikan dari perintah GRANT. Perintah REVOKE digunakan untuk
mencabut hak akses yang telah diberikan kepada pengguna.

4. Transaction Control Language


Transaction control language (TCL) identik dengan perintah-perintah SQL yang
digunakan untuk mengontrol pemrosesan transaksional berbasis data. Konsep TCL banyak
digunakan untuk mekanisme dalam pemrosesan sebuah transaksi pada basis data. Pernyataan
TCL digunakan untuk mengelola perubahan yang dilakukan oleh pernyataan DML. Hal ini
memungkinkan pernyataan yang akan dikelompokkan bersama ke dalam transaksi logis.
Beberapaa perintah yang termasuk TCL antara lain sebagai berikut.

a. COMMIT
Perintah COMMIT digunakan untuk menyimpan pekerjaan yang dilakukan .
b. SAVEPOINT
Perintah SAVEPOINTT digunakan untuk mengidentifikasi titik dalam suatu transaksi,
kemudian dapat memutar kembali.
c. ROLLBACK
Perintah ROLLBACK digunakan untuk mengembalikan basis data ke aslinya sejak
COMMIT terakhir.
d. SET TRANSACTION
Perintah SET TRANSACTION digunakan untuk mengubah opsi transaksi seperti tingkat
isolasi dan apa segmen rollback untuk menggunakannya.
Perhatikan contoh CTL dalam basis data sebagai berikut.

BEGIN TRAN
Delete From daftar Where id = 1124 ;
Rollback
//Commit
Berdasarkan kode promo tersebut perintah BEGIN TRAN digunakan untuk perintah
bahwa akan dimulai suatu transaksi/query. Pada bagian akhir, ada perintah Rollback dan
Commit. Penggunaan Rollback memiliki arti bahwa query yang ada di antara Begin Tran tidak
akan dieksekusi dalam basis data secara langsung sehingga data yang sesungguhnya tidak
berubah. Dalam hal ini, penggunaan TCL digunakan untuk melihat apakah query yang
dijalankan sudah benar atau belum. Jika query masih salah maka DBA (programme) dapat
memperbaikinya lagi sehingga tidak membahayakan data dalam tabel fisiknya. Jika query sudah
benar, maka DBA dapat me-remark TCL rollback dan mengaktifkan perintah TCL Commit
untuk memberikan perubahan pada tabel fisik.

Anda mungkin juga menyukai