Anda di halaman 1dari 21

J.

Media Pembelajaran
1. Bahan Bacaan : Buku Basis Data untuk SMK/MAK Kelas XI Semester 1
Judul bacaan : Basis Data untuk SMK/MAK Kelas XI Semester 1
Link :
https://drive.google.com/file/d/1otAxTTIMsmWJc_ZsqX4qNRGtopotybnA/view?
usp=sharing

2. Video Referensi :

Tautan Video Konsep Basis Data :


https://www.youtube.com/watch?v=s67Zsg4TPbM&t=48s Tautan
Video Tujuan Basis Data :

https://www.youtube.com/watch?v=diW-O_iwk4o Tautan
Video ERD : https://www.youtube.com/watch?
v=exbubj9xDV0
Tautan Video Normalisasi Database :
https://www.youtube.com/watch?v=XGqL-5nGDPg

K. Materi Pembelajaran
A. KONSEP BASIS DATA

Secara harfiah, basis data terdiri dari dua kata, yaitu basis dan data. Basis dapatdidefinisikan sebagai
suatu markas atau gudang, tempat bersarang atau berkumpul. Sedangkan data, dapat diartikan sebagai
representasi dari fakta dunia yang mewakili suatu objek (manusia, barang, peristiwa, keadaan, dsb) yang
direkam dalam bentukangka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.

Gambar 1. Ilustrasi Basis Data

Sehingga, dapat ditarik kesimpulan bahwa basis data adalah kumpulan data yang saling berhubungan
yang disimpan dalam suatu media penyimpanan tertentu yang dirancang untuk memenuhi kebutuhan
informasi. Jika dibayangkan, basis data sama halnya dengan lemari penyimpanan arsip yang berfungsi
untuk menyimpan sejumlah data yang telah dikelompokkan dan diatur pada tempat yang telah ditentukan.
Bedanya, jika lemari arsip menggunakan lemari besi atau kayu, maka basis data menggunakan media
penyimpanan elektronik.
Gambar 2. Lemari Arsip dan Basis Data

Komponen utama sistem basis data terdiri dari 6 (enam) komponen pokok, yaitusebagai berikut:
1. Perangkat keras komputer
2. Perangkat lunak komputer
3. Sistem operasi
4. Basis data lain yang berhubungan
5. Sistem pengelola basis data (DBMS)
6. Pengguna (user), terdiri dari:
a. Database Administrator, bertanggung jawab atas pengelolaan basis data
b. Database Designer, merancang dan mengembangkan program aplikasi yang
menggunakan basis data
c. Application Programmer, mengoperasikan program aplikasi yang dibuatdengan
menggunakan manipulasi data
d. End User (Pengguna)
Dalam basis data, terdapat level arsitektur basis data yang ditunjukkan padagambar berikut.

Gambar 3. Level Arsitektur Basis Data

Keterangan :
a. Skema Internal, bagian dimana data disimpan secara fisik di dalam komputer.
b. Skema Konseptual, menggambarkan data apa yang disimpan dan hubungan antardata
tersebut.
c. Skema Eksternal, menggambarkan tampilan basis data melalui DBMS yangdigunakan oleh
user.
B. TUJUAN PENGGUNAAN BASIS DATA

Tujuan dari penggunaan basis data terdiri dari kecepatan dan kemudahan (speed), efisiensi ruang
penyimpanan (space), keakuratan (accuracy), ketersediaan (availability), kelengkapan
(completeness), keamanan (security), dan kebersamaan (shareability).

1. Kecepatan dan Kemudahan (Speed), penggunaan basis data memungkinkan untuk melakukan
pengelolaan data dengan cepat dan mudah.
2. Efisiensi Ruang Penyimpanan (Space), penggunaan basis data mampu mengurangi
redudansi/pengulangan data.
3. Keakuratan (Accuracy), melalui basis data keakuratan data akan lebih terjamin dengan
menerapkan aturan tertentu, misalnya tipe data dan keunikan data yangdigunakan.
4. Ketersediaan (Availability), dapat melakukan pemilahan data yang sudah tidak digunakan dan data
yang masih digunakan, dengan cara melakukan penghapusan atau pemindahan data ke media
penyimpanan lain.
5. Kelengkapan (Completeness), agar data yang dikelola lengkap dan relatif dengankebutuhan
pemakai, maka dapat dilakukan penambahan record data, melakukan perubahan struktur basis
data, menambahkan field, atau menambah tabel.
6. Keamanan (Security), pada setiap pengguna basis data dapat dibedakan atau ditentukan pengguna
mana saja yang bisa mengakses dan proses apa saja yang bisa dilakukan.
7. Kebersamaan Pemakai (Shareability), basis data memungkinkan untuk digunakan pada lingkungan
multiuser, dengan tetap menghindari terjadinya inkonsistensi data.

C. HIERARKI BASIS DATA

Dalam KBBI, hierarki diartikan sebagai urutan tingkatan atau jenjang. Sehingga, hierarki basis data
adalah urutan tingkatan dalam basis data. Adapun hierarki basis data dapat dilihat pada Gambar.

Basis Data Tabel Record Field

Gambar 4. Struktur Hierarki Basis Data

Keterangan :
1. Basis data merupakan kumpulan data yang saling berhubungan.
2. Tabel adalah himpunan seluruh record data yang bertipe sama.
3. Record merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari record
adalah baris atau tupel.
4. Field merupakan satuan data terkecil yang tidak dapat dipecah lagi menjadi unitlain yang
bermakna. Field dapat juga disebut dengan kolom.
NIS Nama Alamat Kota Jurusan
Tab2:e1l Dandy Jl. Melati II Malang
4 6 RPL
7
2146 Jihan Jl. Bangau Malang RPL
8 V
2146 Aldo Jl. Malang TKJ
Jupiter I
9
Gambar 5. Tabel, Record, dan Field

Keterangan :
: Tabel
Pada gambar di atas menampilkan Tabel Siswa.
: Record / Baris / Tupel

Pada tabel di atas terdapat 3 buah record data siswa.


: Field / Kolom

Pada tabel di atas terdapat 5 buah field, yaitu field NIS, Nama, Alamat,Kota, dan Jurusan.

KONSEP ERD

Entity Relationship Diagram (ERD) adalah suatu bentuk diagram yang menjelasakan
hubungan antar objek data yang mempunyai hubungan/relasi. ERD digunakan untuk
memodelkan struktur data dan hubungan antar data, dan untuk menggambarkannya
digunakan notasi, simbol, bagan, dan lain sebagainya. ERD memungkinkan kita
menggambarkan konteks objek dan hubungannya, dan digunakan secara luas untuk
mengembangkan desain database awal.
Berikut adalah komponen dan simbol yang digunakan dalam ERD :

Tabel 1 Simbol Entity Relationship Diagram (ERD)

Komponen Simbol Keterangan


Entitas Obyek yang mewakili sesuatu dalam dunia
nyata dan dapat dibedakan antara satu dengan
lainnya

Relasi Menunjukkan adanya hubungan di


antara sejumlah entitas yang berbeda

Atribut Karakteristik dari objek/entitas

Garis Penghubung antar notasi lainnya


A. ENTITAS
Entitas adalah objek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan
antara satu dengan lainnya. Setiap entitas memiliki beberapa atribut yang mendeskripsikan
karakteristik dari objek tersebut. Entitas dapat berupa:
1. Entitas Fisik, contoh : siswa, pegawai, mobil, buku, rumah, dll.
2. Entitas Abstrak/Konsep, contoh : mata pelajaran, departemen, pekerjaan, dll.
3. Entitas Kejadian, contoh: pembelian, penjualan, peminjaman, dll.

Entitas dibedakan menjadi 2 macam, yaitu :


1. Entitas Kuat, merupakan entitas yang tidak bergantung dengan entitas lain. Contohnya
adalah entitas pegawai. Entitas kuat digambarkan dengan bentuk persegi panjang.

2. Entitas Lemah, merupakan entitas yang bergantung dengan entitas lain. Contohnya
adalah entitas tunjangan yang bergantung terhadap entitas pegawai. Entitas lemah
digambarkan dengan bentuk persegi panjang dengan dua garis.

ATRIBUT

Atribut merupakan karakteristik dari entitas atau relasi, yang memberikan penjelasan
detail tentang entitas atau relasi. Dalam penerapannya, atribut merupakan field atau kolom
dari sebuah tabel. Contohnya adalah entitas siswa yang memiliki atribut nama, alamat, NIS,
tanggal lahir, dll. Berdasarkan karakteristik atau sifatnya, atribut dapat dikelompokkan
menjadi :
4. Simple Attribute dan Composite Attribute
 Simple Attribute, merupakan atribut yang tidak bisa dipecah lagi menjadi atribut
lain. Contoh: atribut jenis kelamin.
 Composite Attribute, merupakan atribut yang bisa dipecah lagi menjadi
beberapa atribut. Contoh: atribut nama yang bisa dipecah menjadi atribut nama
depan, nama tengah, dan nama belakang.
Atribut komposit digambarkan dengan cara seperti di bawah ini.

Gambar 6. Composite Attribute

5. Single Value Attribute dan Multivalue Attribute


 Single Value Attribute, merupakan atribut yang hanya memuat 1 nilai.
Contohnya adalah atribut NIK, dimana setiap orang hanya akan memiliki 1 nomor
induk kependudukan.
 Multivalue Attribute, merupakan atribut yang hanya memuat lebih dari 1

nilai. Contohnya adalah atribut hobi, yang memungkinkan 1 orang memiliki lebih
dari 1 hobi. Multivalue atributte digambarkan dengan cara seperti di bawah ini

6. Mandatory Attribute, merupakan atribut yang nilainya tidak boleh kosong (not null)
7. Derivied Attribute (Atribut Turunan), adalah atribut yang nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut atau tabel lain yang

berhubungan. Contoh: atribut usia diturunkan dari atribut tanggal lahir. Derivied atributte
digambarkan dengan cara seperti di bawah ini.

8. Key Attribute, merupakan suatu atribut yang menandakan kunci dari suatu entitas
yang bersifat unik. Key attribute adalah satu atau beberapa atribut yang mempunyai
nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record
dengan baris lain pada suatu entitas. Key atribut dibagi menjadi :
 Super Key, merupakan atribut yang dapat membedakan data secara
unik.Contoh: nis, nama, alamat, dll.
 Candidat Key, merupakan atribut yang dapat menjadi primary key. Contoh:
nim, nik, nis, nip, dll.
 Alternate Key, merupakan atribut yang tidak menjadi primary key dan
sebelumnya termasuk dalam candidat key.
 Primary Key, merupan atribut yang menjadi kunci utama.
 Foreign Key, merupakan atribut yang menjadi kunci tamu.

Perhatikan!

Perhatikan contoh penggunaan atribut dalam gambar di bawah ini.

Gambar 7. Contoh ERD

Penjelasan:
Diagram di atas menunjukkan entitas siswa memiliki beberapa atribut,yaitu
sebagai berikut :

1. Atribut NIS yang merupakan primary atribut, ditandai dengan bentuk


elips dan garis bawah. NIS merupakan primary atribut dikarenakan
NISsetiap siswa berbeda-beda dan tidak akan sama satu sama lainnya.
2. Atribut nama yang merupakan composite atribut, dikarenakan
namadapat dibagi lagi menjadi nama depan, nama tengah, dan
nama belakang.
3. Atribut tanggal lahir dan usia. Atribut usia merupakan atribut derivatif
( turunan) dari atribut tanggal lahir.
4. Atribut hobi yang merupakan atribut multivalue, dikarenakan satu orang
siswa dapat memiliki lebih dari 1 hobi.

Hint

Tidak semua entitas harus terdiri dari berbagai macam atribut di


atas. Namun, pada umumnya setiap entitas harus memiliki primary key
yang akan membedakan data satu dengan data lainnya.
RELASI

Relasi merupakan komponen ERD yang menunjukkan adanya hubungan di


antara sejumlah entitas yang berbeda. Relasi digambarkan dengan bentuk belah
ketupat. Di dalam relasi, dituliskan nama relasi yang menggambarkan hubungan
antar entitasdengan menggunakan kata kerja.
Dalam sebuah relasi/hubungan, dikenal pula istilah derajat relasi yang
menggambarkan jumlah entitas yang terlibat di dalam relasi tersebut. Derajat
relasiterdiri dari :
1. Unary Relationship, dimana suatu entitas berhubungan dengan entitas itu
sendiri. Contohnya adalah siswa memimpin siswa.

Gambar 8. Unary Relationship

2. Binary Relationship, merupakan relasi yang terjadi antara 2 himpunan


entitas yang berbeda.

Gambar 9. Binary Relationship

3. Ternary Relationship, merupakan relasi dari 3 entitas atau lebih. Jika


hubunganterjadi antara 3 entitas atau lebih, maka akan muncul entitas
asosiatif yang berisi primary key dari masing-masing entitas.

Gambar 10. Ternary Relationship


B. KARDINALITAS RELASI

Kardinalitas relasi adalah batasan jumlah keterhubungan suatu entitas dengan


entitas lainnya. Satu dilambangkan dengan tiang tegak/garis, dan many/banyak
dilambangkan dengan kaki gagak.

One/Satu Many/Banyak

Gambar 11. Relasi Kardinalitas

relasi dibagi menjadi :


1. One-to-One / Satu-ke-Satu (1:1)
Suatu entitas di dalam himpunan A dihubungkan dengan paling banyak satu
entitas di dalam himpunan entitas B dan entitas di dalam himpunan entitas B
dihubungkan dengan paling banyak satu entitas di dalam himpunan entitas A.
Contoh : 1 dosen mengepalai 1 jurusan, 1 jurusan hanya dikepalai oleh 1
dosen.

Gambar 12. Relasi Satu ke Satu

2. One-to-Many / Satu-ke-Banyak (1:M)


Suatu entitas di dalam himpunan entitas A dihubungkan dengan lebih dari satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B
hanya dapat dihubungkan dengan paling banyak satu entitas dalam himpunan
entitas A. Contoh : 1 departemen memiliki banyak pegawai, banyak pegawai
bekerja pada 1 departemen.

Gambar 13. Relasi Satu Ke Banyak

3. Many-to-One / Banyak-ke-Satu (M:1)


Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak
satu entitas di dalam himpunan entitas B dan entitas di dalam himpunan entitas
B dapat dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A.
Contoh : banyak rekening dimiliki oleh 1 nasabah, 1 nasabah dapat memiliki
banyak rekening.
Gambar 14. Relasi Banyak ke Satu

4. Many-to-Many / Banyak-ke-Banyak (M:M)


Suatu entitas di dalam himpunan entitas A dapat dihubungkan dengan lebih
darisatu entitas di dalam himpunan entitas B, dan entitas di dalam himpunan
entitas B dapat dihubungkan dengan lebih dari satu entitas dalam himpunan
entitas A. Contoh : mahasiswa mengambil banyak matakuliah, matakuliah
diambil banyakmahasiswa.

Gambar 15. Relasi Banyak Ke Banyak

Selanjutnya, dalam kardinalitas relasi juga terdapat modalitas yang


menjelaskan apakah hubungan antara dua entitas atau lebih bersifat wajib atau tidak
(opsional). Jika wajib, dilambangkan dengan garis tegak, jika opsional
dilambangkan dengan lingkaran.

Satu Wajib Satu Opsional

Banyak Wajib Banyak Opsional

Gambar 16. Kardinalitas Relasi

ADMINISTRASI BASIS DATA

Normalisasi adalah teknik memecah data menggunakan cara–cara tertentu untuk mencegah
timbulnya permasalahan pengolahan data dan meminimalkan redundansi data pada suatu
database sehingga basis data dapat bekerja dengan optimal.
Tujuan dari normalisasi database adalah :
1. Menghilangkan redudansi data
2. Mengurangi kompleksitas
3. Mempermudah dalam manipulasi/pemodifikasian data
Manfaat yang diperoleh dari hasil proses normalisasi adalah :
1. Basis data menjadi mudah diakses
2. Data mudah dikelola
3. Meminimalkan tempat penyimpanannya
Ciri-ciri tabel yang ternormalisasi adalah :
1. Jumlah atribut bersifat minimal, sesuai dengan kebutuhan data.
2. Atribut yang berhubungan dekat (disebut functional dependency) ditempatkan
dalam tabel yang sama.

Bentuk Tidak Normal


(Unnormalized)

3. Menghilangkan elemen datayang


berulang

Bentuk Normal
Pertama (1NF)

4. Menghilangkan ketergantunganparsial

Bentuk Normal
Kedua (2NF)

2. Menghilangkan ketergantungantransitif

Bentuk Normal
Ketiga (3NF)

1. Menghilangkan kunci kandidat(candidate


key) yang bukan determinan
Boyce-Codd Normal
Form (BCNF)

5. Menghilangkan ketergantungan
multivalue
Bentuk Normal
Keempat (4NF)

6. Menghilangkan join

Bentuk Normal
Kelima (5NF)

Gambar 17. Normalisasi Basis Data


Redundansi (kemunculan duplikasi data yang tidak diharapkan) bersifat minimaldengan
memanfaatkan foreign key.

Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF). Biasanya
hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan
tabel-tabel yang berkualitas baik. Urutan normalisasiadalah sebgai berikut 1NF, 2NF, 3NF,
BCNF, 4NF, 5NF.

A. BENTUK TIDAK NORMAL (UNNORMALIZED)


Bentuk tidak normal merupakan suatu kondisi database yang tidak memenuhi kriteria
normal. Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam dan
dimasukkan secara mentah dalam suatu tabel yang memungkinkan terjadinya inkonsistensi dan
anomali data (permasalahan dalam memanipulasi data yang meliputi insert, update, dan
delete). Pada bentuk ini terjadi redudansi data.

No. Proyek Nama Proyek No. Pegawai Nama Pegawai Golonga Gaji
n
PG001 Adnan A 7.500.000
P0001 PRR PG009 Lucas B 6.000.000
PG010 Syafiq B 6.000.000
PG002 Mahendra A 7.500.000
P0002 PMD PG007 Dion B 6.000.000
PG017 Farzan C 4.000.000

B. BENTUK NORMAL PERTAMA (1NF)


Bentuk normal pertama (1NF) terpenuhi jika sebuah tabel tidak memiliki atributbernilai banyak
(multivalue attribute) dan atribut komposit (composite attribute). Setiap atribut dalam tabel
harus bersifat atomic (tidak dapat dibagi-bagi lagi).
Sehingga, jika tabel tidak normal di atas dilakukan normalisasi 1NF, maka
akan berubah menjadi seperti berikut :

No. Proyek Nama No. Pegawai Nama Pegawai Golonga Gaji


Proyek n
P0001 PRR PG001 Adnan A 7.500.000
P0001 PRR PG009 Lucas B 6.000.000
P0001 PRR PG010 Syafiq B 6.000.000
P0002 PMD PG002 Mahendra A 7.500.000
P0002 PMD PG007 Dion B 6.000.000
P0002 PMD PG017 Farzan C 4.000.000

C. BENTUK NORMAL KEDUA (2NF)


Bentuk normal kedua (2NF) mempunyai beberapa persyaratan antara lain :

 Bentuk data telah memenuhi kriteria bentuk normal kesatu (1NF).


 Atribut yang bukan primary key haruslah bergantung
secara fungsional(functional dependency) pada primary key.
 Sudah ditentukan primary key pada setiap tabel, dimana primary key
haruslahunik.
Sehingga, jika tabel pada 1NF di atas dilakukan normalisasi 2NF, maka akan berubah
menjadi seperti berikut :

Tabel Proyek
No. Proyek Nama Proyek
P0001 PRR
P0002 PMD

Tabel Detail Proyek


No. Proyek No. Pegawai
P0001 PG001
P0001 PG009
P0001 PG010
P0002 PG002
P0002 PG007
P0002 PG017

Tabel Pegawai
No. Pegawai Nama Pegawai Golonga Gaji
n
PG001 Adnan A 7.500.000
PG002 Mahendra A 7.500.000
PG007 Dion B 6.000.000
PG009 Lucas B 6.000.000
PG010 Syafiq B 6.000.000
PG017 Farzan C 4.000.000

D. BENTUK NORMAL KETIGA (3NF)


Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri- ciri
sebagai berikut:

 Memenuhi bentuk 2NF (normal kedua)


 Atribut bukan kunci tidak memiliki ketergantungan transitif terhadap kunci utama
atau primary key.
 Setiap atribut bukan kunci haruslah bergantung hanya pada primary key
danpada primary key secara menyeluruh

Dari hasil normalisasi 2NF di atas, pada tabel pegawai masih ditemukan adanya
ketergantungan transitif pada tabel pegawai. Field gaji bergantung pada field golongan, field
golongan bergantung pada no_pegawai.
Sehingga, pada tabel pegawai perlu dilakukan dekomposisi, yakni dengan
memecahnya menjadi 2 buah tabel, yaitu tabel pegawai dan tabel golongan.Sehingga,
jika tabel 2NF di atas dilakukan normalisasi 3NF, maka akan berubah menjadi seperti
berikut :

Tabel Proyek
No. Proyek Nama Proyek
P0001 PRR
P0002 PMD

Tabel Detail Proyek


No. Proyek No. Pegawai
P0001 PG001
P0001 PG009
P0001 PG010
P0002 PG002
P0002 PG007
P0002 PG017

Tabel Pegawai
No. Pegawai Nama Pegawai Golonga
n
PG001 Adnan A
PG002 Mahendra A
PG007 Dion B
PG009 Lucas B
PG010 Syafiq B
PG017 Farzan C

Tabel Golongan
Golonga Gaji
n
A 7.500.000
B 6.000.000
C 4.000.000

Pada tabel pegawai masih disertakan field golongan, agar tabel pegawai dan tabel
golongan saling terhubung.
MySQL merupakan salah satu DBMS (Database Management System) yang
banyak digunakan oleh pemula untuk mengakses data di dalam database. Pada
dasarnya, untuk menjalankan MySQL, bahasa yang digunakan tetap
menggunakan bahasa SQL. Tidak hanya untuk MySQL, untuk DBMS lainnya pun
akan tetap menggunakan bahasa SQL. Sehingga itulah kenapa SQL masih
menjadi salah satu bahasa pemrograman favorit meskipun telah ada sejak
tahun 1986.
MySQL yang pertama kali diluncurkan pada tahun 1995, terbagi menjadi
dua jenis lisensi, yaitu Free Software (bersifat gratis) dan Shareware (software
berpemilik dengan penggunaan yang terbatas. Untuk menggunakan MySQL, kita
akan membutuhkan beberapa command yang tergabung ke beberapa
kelompok seperti DDL, DML, DCL, dan TCL. Dalam artikel ini, kita akan
membahas perintah-perintah apa saja sih yang termasuk ke masing-masing
kelompok. Yuk, simak pembahasannya!

1.DDL (Data Definition Language)

Command DDL (Data Definition Language) merupakan command yang berisi


perintah-perintah untuk mendefinisikan skema di database, seperti untuk
membuat, memodifikasi, serta menghapus struktur database. Perintah ini
biasanya akan banyak digunakan saat awal pembuatan database, dan jarang
digunakan oleh pengguna umum yang seharusnya mengakses database melalui
aplikasi. Beberapa perintah yang termasuk ke dalam DDL adalah:
 CREATE: Digunakan untuk membuat database atau objeknya (seperti
tabel, indeks, function, views, store procedure, dan trigger).
 DROP: Dapat digunakan untuk menghapus objek dari database.
 ALTER: Perintah ini digunakan untuk mengubah struktur database.
 TRUNCATE: Ini digunakan untuk menghapus semua record dari tabel,
termasuk semua space yang dialokasikan untuk semua record yang
dihapus.
 COMMENT: Perintah ini digunakan untuk menambahkan komentar ke
kamus data.
 RENAME: Perintah ini digunakan untuk mengganti nama objek yang ada di
database

2.DML (Data Manipulation Language)

Command DML (Data Manipulation Language) merupakan command yang


berhubungan dengan proses manipulasi data yang ada di database, yang
umumnya mencakup hampir sebagian besar statement SQL. Beberapa perintah
yang termasuk ke dalam kategori DML adalah:
 INSERT : Perintah ini dapat digunakan untuk memasukkan data ke dalam
tabel.
 UPDATE: Digunakan untuk memperbarui data yang ada dalam tabel.
 DELETE : Ini bermanfaat untuk menghapus record dari tabel database.
 LOCK: Tabel kontrol konkurensi.
 CALL: Untuk memanggil subprogram PL/SQL atau JAVA.
 EXPLAIN PLAN: Perintah ini digunakan untuk menjelaskan jalur akses ke
data.

3.DCL (Data Control Language)


Command selanjutnya adalah DCL yang merupakan singkatan dari Data Control
Language. Pada dasarnya, pernyataan DCL dikelompokkan dengan pernyataan
DML. Sehingga perintah yang ada di command ini berguna untuk mengontrol
hak akses database (privilege) dan memanipulasi user database. Perintah yang
termasuk ke dalam kelompok DCL adalah GANT dan REVOKE.
 GRANT: Perintah ini berguna untuk memberi pengguna hak akses ke
database.
 REVOKE: Berguna untuk menarik hak akses pengguna yang diberikan
dengan menggunakan perintah GRANT. Sederhananya, REVOKE adalah
kebalikan dari GRANT.

SQL Bertingkat
Subquery (disebut juga subselect atau nested select/query atau inner-select) adalah query
SELECT yang ada di dalam perintah SQL lain misalnya SELECT, INSERT, UPDATE, atau
DELETE.

Keberadaan subquery secara nyata mampu menyederhanakan persoalan-persoalan rumit berkaitan


query data. Sebagai contoh, misal terdapat pernyataan sebagai berikut:

“Dapatkan data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104”
Secara normal, diperlukan dua tahapan untuk menyelesaikan kasus di atas. Pertama adalah
mendapatkan alamat dari mahasiswa yang memiliki nim 104. Langkah selanjutnya, baru kita bisa
mengetahui data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104.
Adapun dengan memanfaatkan subquery, maka penyelesaian kasus di atas hanya memerlukan
sebuah query (akan dijelaskan nanti). Pada hakekatnya, subquery sangat berguna ketika sebuah
query didasarkan pada nilai-nilai yang tak diketahui.
Materi SQL bertingkat dapat kita sebut dengan istilah
SubQuery. Sintaks formal subquery diperlihatkan sebagai
berikut:
SELECT A1, A2, ..., An
FROM r1, r2, r3, ..., rm
WHERE P

(SELECT A1, A2, ..., An

FROM r1, r2, r3, ..., rm


WHERE P)
Subquery dapat diklasifikasikan ke dalam tiga jenis: scalar , multiple-row, dan multiple-
column.

a. Scalar Subquery
Subquery baris tunggal (scalar ) hanya mengembalikan hasil satu baris data.
Bentuk subquery ini diperlihatkan seperti Gambar 1.

Subquery baris tunggal dapat menggunakan operator baris tunggal =, >, >=, <, <=, atau <>.

b. Multiple-Row Subquery
Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Bentuk subquery
ini diperlihatkan seperti Gambar 2.

Subquery baris ganda dapat menggunakan operator komparasi IN, ANY/SOME, atau
ALL.

c. Multiple-Column Subquery
Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu
kolom data. Bentuk subquery ini diperlihatkan seperti Gambar 3.
Fungsi dan Store Prosedur
Store procedure dan function adalah rangkaian program yang disimpan dalam
database dan dapat dipanggil oleh program lain atau melalui SQL Prompt. Store
procedure ditulis dalam bentuk suatu script.
Untuk membuat stored procedure/function pada database digunakan
pernyataan CREATE PROCEDURE atau CREATE FUNCTION.

Keuntungan :
1. Cepat, kompilasi dilakukan didatabase (kadang disebut “pre-
compilation”) sehingga mengurangi traffic
2. Adanya pemisahan antara database dan access logic dengan
application logic sehingga program aplikasi menjadi lebih sederhana dan
lebih ringkas
3. Berupa obyek dalam database, sehingga menghilangkan
ketergantungan terhadap bahasa program yang digunakan
4. Bersifat portable, jika bisa berjalan didatabase tersebut maka dipastikan
jika database bisa terinstall dimanapun maka store procedure pasti bisa
dijalankan

Bentuk Umum Store Procedure

Agar lebih jelas, perhatikan contoh penggunaannya berikut ini :


contoh 1:

Dari contoh diatas terlihat bahwa parameter “x” (sebagai OUT) digunakan untuk
menampung hasil dari perintah routine_body. Pernyataan “into x”, inilah
yang mengakibatkan “x” menyimpan informasi nama (sebagai kolom yang ter-
select). Untuk menjalankan procedure digunakan ststemen call. Pernyataan
“call pMHS(@Nama)” menghasilkan informasi yang kemudian disimpan pada
parameter “@Nama”. Kemudian untuk menampilkan informasi ke layar digunakan
pernyataan “select @Nama”.
Function

Secara default, routine (procedure/function) diasosiasikan dengan


database yang sedang aktif. Untuk dapat mengasosiasikan routine secara
eksplisit dengan database yang lain, buat routine dengan format:
db_name.sp_name.
MySQL mengijinkan beberapa routine berisi statemen DDL, seperti CREATE
dan DROP. MySQL juga mengijinkan beberapa stored procedure (tetapi tidak
stored function) berisi statemen SQL transaction, seperti COMMIT. Stored
function juga berisi beberapa statemen baik yang secara eksplisit atau implisit
commit atau rollback.

Contoh :

Dari contoh diatas terlihat bahwa parameter “x” diperlakukan sebagai IN


karena sebagaimana dijelaskan sebelumnya bahwa fungsi hanya bisa dilewatkan
dengan parameter IN. Kemudian untuk pengembalian nilainya, digunakan tipe data
dengan kisaran nilai tertentu (dalam hal ini char(40)) dengan diawali pernyataan
returns.
Pernyataam “concat('Nama : ', x)” merupakan routine_body yang akan
menghasilkan gabungan string “Nama :” dengan nilai dari parameter “x” yang didapat
ketika fungsi ini dieksekusi. Perintah yang digunakan untuk mengeksekusi fungsi
adalah “select fcNamaMHS('Sholihun')”.

Anda mungkin juga menyukai