Anda di halaman 1dari 22

BASIS DATA

(C3) KELAS XII

Supriyanto

PT KUANTUM BUKU SEJAHTERA


BASIS DATA
SMK/MAK Kelas XII
© 2020
Hak cipta yang dilindungi Undang-Undang ada pada Penulis.
Hak penerbitan ada pada PT Kuantum Buku Sejahtera.

Penulis : Supriyanto
Editor : Rizkia Nur Farikha
Desainer Kover : Achmad Faisal
Desainer Isi : Putri Ari Kristanti
Tahun terbit : 2020
ISBN : 978-623-7398-84-4

Diterbitkan oleh
PT Kuantum Buku Sejahtera
Anggota IKAPI No. 212/JTI/2019
Jalan Pondok Blimbing Indah Selatan X N6 No. 5 Malang - Jawa Timur
Telp. (0341) 438 2294, Hotline 0822 9951 2221;
Situs web: www.quantumbook.id

Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apa pun, baik
secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan sistem penyimpanan
lainnya, tanpa izin tertulis dari PT Kuantum Buku Sejahtera.
Daftar Isi

Prakata ...................................................................................................................... v
Bab 1 Perintah SQL dalam Akses Multitable ............................................................. 1
A. Sudut Pandang Basis Data .............................................................................................. 2
B. Select Multitable.................................................................................................................. 4
Uji Kompetensi............................................................................................................................... 13

Bab 2 Memanipulasi Basis Data dalam SQL................................................................ 17


A. Dasar-Dasar Perintah Select Bertingkat...................................................................... 18
B. Membuat Select Option Bertingkat (Combo Box).................................................. 23
Uji Kompetensi ............................................................................................................................. 35

Bab 3 Implementasi SQL pada Sistem Basis Data Client-Server............................... 39


A. SQL pada Sistem Basis Data Client-Server ................................................................ 40
B. Perintah Koneksi Basis Data............................................................................................. 56
Uji Kompetensi ............................................................................................................................. 63

Bab 4 Arsitektur Relation DBMS.................................................................................. 67


A. Sistem Relasi Basis Data.................................................................................................... 68
B. Relasi Antartabel dalam Database................................................................................ 76
Uji Kompetensi ............................................................................................................................. 81

Bab 5 Pembuatan Basis Data pada RDBMS................................................................ 85


A. Konsep Relational Database Model.............................................................................. 86
B. Pembuatan Basis Data Berbasis RDBMS..................................................................... 91
Uji Kompetensi............................................................................................................................... 100

Bab 6 Struktur Penyimpanan pada RDBMS................................................................ 105


A. Prosedur Penyimpanan pada RDBMS.......................................................................... 106
B. Spesifikasi Penyimpanan pada RDBMS....................................................................... 113
Uji Kompetensi............................................................................................................................... 122

Bab 7 Pengendalian Server pada RDBMS................................................................... 127


A. Proses Administrasi Server Basis Data Berbasis RDBMS........................................ 128
B. Pengelolaan Server RDBMS............................................................................................. 133
Uji Kompetensi............................................................................................................................... 141

Bab 8 Pengamanan Sistem Basis Data pada RDBMS................................................. 145


A. Pengamanan Sistem Basis Data..................................................................................... 146
B. Pembatasan Kewenangan Hak Akses User Basis Data RDBMS........................... 153
Uji Kompetensi............................................................................................................................... 160

iii
Bab 9 Replikasi Basis Data........................................................................................... 165
A. Dasar-Dasar Replikasi Basis Data................................................................................... 166
B. Penggunaan Replikasi Basis Data.................................................................................. 172
Uji Kompetensi............................................................................................................................... 176

Glosarium ...................................................................................................................... 180


Daftar Pustaka.................................................................................................................... 183
Biodata Penulis................................................................................................................... 189
Biodata Konsultan.............................................................................................................. 190
Tim Kreatif........................................................................................................................... 191

iv
Prakata

Sungguh sebuah kebahagiaan dan rasa syukur yang mendalam bagi penulis karena dapat
menyelesaikan buku ini. Buku ini ditulis sebagai salah satu sumber belajar siswa SMK/
MAK Kelas XII Program Keahlian Teknik Komputer dan Informatika untuk mempelajari dan
memperdalam materi Basis Data. Buku Basis Data (C3) Kelas XII ini disajikan dalam sembilan
bab, meliputi
Bab 1 Perintah SQL dalam Akses Multitable
Bab 2 Memanipulasi Basis Data dalam SQL
Bab 3 Implementasi SQL pada Sistem Basis Data Client-Server
Bab 4 Arsitektur Relation DBMS
Bab 5 Pembuatan Basis Data pada RDBMS
Bab 6 Struktur Penyimpanan pada RDBMS
Bab 7 Pengendalian Server pada RDBMS
Bab 8 Pengamanan Sistem Basis Data pada RDBMS
Bab 9 Replikasi Basis Data
Setiap bab di dalam buku ini dilengkapi dengan kompetensi dasar dan tujuan
pembelajaran yang telah disesuaikan dengan revisi K-13. Pembahasan materi disajikan
dengan bahasa yang lugas dan mudah dipahami, dari pembahasan umum ke pembahasan
secara khusus. Untuk menunjang pembelajaran yang aktual, buku ini sudah menerapkan
STEM (Science, Technology, Engineering, and Mathematics) serta soal-soal evaluasi berbasis
HOTS (High Order Thinking Skill).
Semoga buku Basis Data SMK/MAK Kelas XII ini bermanfaat bagi siswa dan seluruh pembaca
dalam memperoleh pengetahuan. Penulis menerima saran dan kritik yang membangun dari
siapa pun untuk perbaikan buku ini. Selamat belajar, semoga sukses.

Malang, Januari 2020

Penulis

v
Do not Pray
for an Easy life,
pray for the strength to
endure a difficult one
Jangan kamu berdoa untuk hidup yang mudah,
Berdoalah agar diberi kekuatan supaya bisa
menghadapi hidup yang sulit.

"Bruce Lee"

vi
B AB

1
Perintah SQL dalam
Akses Multitable

Kompetensi Dasar
3.10 Menerapkan penggunaan SQL untuk mengakses multitable
4.10 Membuat perintah SQL untuk mengakses multitable

Tujuan Pembelajaran
Setelah mempelajari bab ini, diharapkan siswa mampu
1. menjelaskan penggunaan SQL untuk mengakses multitable dengan baik;
2. menganalisis perintah SQL untuk mengakses multitable dengan baik; dan
3. mempraktikkan perintah SQL untuk mengakses multitable dengan baik.

Perintah SQL dalam Akses Multitable 1


Gambar 1.1 Tabel pada Basis Data
Sumber: Chandra, 2019
Istilah basis data banyak menimbulkan interpretasi yang berbeda. Maraknya paket
pemrograman database sebuah berkas dengan ekstensi *. DBF dapat disebut basis data.
Suatu Database Manajemen System (DBMS) akan berisi satu koleksi data yang akan saling
berelasi dan satu set program untuk mengakses data yang telah diciptakan. DBMS terdiri
atas database dan set program pengelola untuk memproses data. Prinsip utamanya
adalah pengaturan data dan arsip. Tujuan utamanya untuk kemudahan dan kecepatan
dalam pengambilan kembali data atau arsip.
Perbedaannya hanya terletak pada media penyimpanan yang digunakan. Jika lemari
arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan, basis data
menggunakan media penyimpanan elektronik, seperti disk (disket atau harddisk). Hal
ini merupakan konsekuensi logis karena lemari arsip langsung dikelola dan ditangani
oleh manusia, sementara basis data dikelola dan ditangani melalui perantara alat mesin
pintar elektronik (komputer). Perbedaan media ini selanjutnya melahirkan perbedaan-
perbedaan lain menyangkut jumlah dan jenis metode atau cara yang dapat digunakan
dalam upaya penyimpanan.

A. Sudut Pandang Basis Data

Basis data bukan sekadar penyimpanan data secara elektronik dengan bantuan komputer,
artinya tidak semua bentuk penyimpanan data secara elektronik disebut basis data. Anda
dapat menyimpan dokumen berisi data dalam file teks dengan program pengolah kata,
file spread sheet, dan sebagainya, tetapi tidak dapat disebut sebagai basis data. Hal ini
karena di dalamnya tidak ada pemilahan dan pengelompokan data sesuai dengan jenis
dan fungsi data sehingga akan menyulitkan pencarian data. Hal yang sangat ditonjolkan
dalam basis data adalah pengaturan, pemilahan, pengelompokan, dan pengorganisasian
data yang akan disimpan sesuai dengan fungsi dan jenisnya. Pemilahan, pengelompokan,
dan pengorganisasian dapat berbentuk sejumlah file, tabel terpisah, atau dalam bentuk
pendefinisian kolom-kolom (field-field) data dalam setiap file dan tabel.

2 Basis Data
Gambar 1.2 Implementasi Table
Sumber: Chandra, 2019
Basis data dapat didefinisikan dalam sejumlah sudut pandang berikut.
1. Basis data merupakan kumpulan data dari berbagai sumber yang secara logika
memiliki arti implisit sehingga data yang terkumpul secara acak dan tanpa memiliki
arti tidak dapat disebut basis data.
2. Basis data merupakan penyajian suatu aspek dari dunia nyata (the real world atau mini
world). Misalnya basis data perbankan, perpustakaan, pertanahan, dan perpajakan.
3. Basis data perlu dirancang, dibangun, dan dikumpulkan untuk suatu tujuan. Basis
data dapat digunakan oleh beberapa pemakai dengan menggunakan aplikasi yang
sesuai dengan kepentingan pengguna.
4. Himpunan kelompok data (arsip) saling berhubungan dan diorganisasikan
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
5. Kumpulan data yang saling berhubungan disimpan bersama sedemikian rupa
dan tanpa pengulangan (redundansi) yang tidak perlu untuk memenuhi berbagai
kebutuhan.
6. Kumpulan file, tabel, dan arsip yang saling berhubungan dan disimpan dalam media
penyimpanan elektronis.
Berdasarkan batasan-batasan di atas, dapat dikatakan bahwa basis data memiliki
berbagai sumber data dalam pengumpulan data. Variasi derajat interaksi kejadian dari
dunia nyata dirancang dan dibangun agar dapat digunakan oleh beberapa user untuk
berbagai kepentingan. Hal yang perlu diperhatikan adalah adanya penyimpanan data
yang rangkap. Misalnya, data siswa dalam suatu jurusan akan berbeda penanganannya
dengan menangani data seluruh sekolah yang lebih kompleks.
Tabel 1.1 Elemen-Elemen pada Tabel
Nama Field Tipe Panjang
id_pelanggan* varchar 5
nama_pelanggan varchar 30
alamat text -
telepon varchar 15
email varchar 30
Sumber: Supriyanto

Perintah SQL dalam Akses Multitable 3


B. Select Multitable

Pembuatan suatu aplikasi terkadang memerlukan tampilan data yang tidak hanya
berasal dari 1 (satu) tabel, namun dapat dari beberapa tabel sekaligus. Misalnya, ingin
menampilkan nama provinsi berikut dengan kota-kota di dalamnya. Berdasarkan contoh
tersebut, Anda dapat menggabungkan minimal dua tabel, yaitu provinsi dan kota atau
menampilkan data karyawan lengkap dengan gajinya sehingga harus menggabungkan
tabel data karyawan dan data gaji. Data yang tersimpan dalam database dapat bervariasi
dalam hal jumlah dan tingkat kompleksitasnya.

Gambar 1.3 Data yang Tersimpan dalam Database


Sumber: Fikri, 2017
1. Data Selection
Untuk melihat data (selection), Query yang digunakan adalah SELECT diikuti
beberapa pernyataan khusus berhubungan dengan tabel yang diseleksi. Pada
dasarnya, SELECT merupakan perintah DML (Data Manipulation Language) untuk
menghasilkan recordset dengan mengekstrak data dari database. Perintah SELECT ini
sering dipakai dan memiliki bentuk yang kompleks. Bentuk sederhana dari SELECT
sebagai berikut.

Misalnya, memiliki tabel nilai_siswa dengan field (kolom) nama, kelas, mapel,
nilai, dan keterangan. Perintah SQL untuk tampilan khusus pada field nama, mapel,
dan nilai dipaparkan sebagai berikut.
SELECT Nama, mapel, nilai FROM nilai_siswa
Namun, jika ingin menampilkan seluruh field pada tabel nilai_siswa dapat
menggunakan perintah asterik (*) sebagai berikut.

2. Fungsi Select Multiple Table


Select multiple table berfungsi menampilkan data yang berhubungan dari dua buah
tabel, misalnya ingin menampilkan data nm_siswa dan nm_kelas setiap siswa. Pada
tabel siswa, nama kelas siswa ditunjukkan oleh id_kelas agar dapat melihat langsung
nm_kelas setiap siswa sehingga perintah select multiple table dapat digunakan.
Pada syntax from nama tabel siswa ditulis terlebih dahulu dibandingkan nama
tabel tb_kelas. Hal tersebut menyebabkan data ascending menurut table tb_kelas.
Misalnya data dalam tb_kelas pada urutan teratas adalah data BSD. Jika nama table

4 Basis Data
tb_kelas ditulis terlebih dahulu. Data yang ditampilkan akan ascending sesuai dengan
tabel siswa. Misalnya data tabel siswa pada urutan teratas adalah Yurizka.
Tabel 1.2 Data Calon Siswa Baru

Jenis Nama Nomor


No. Nama Agama Alamat
Kelamin Ortu/Wali Telepon
1. Yurizka Perempuan Islam Yuli 89654771341 Depok
2. Lidia Perempuan Kristen Yunita 89654771342 Serpong
Sumber: Supriyanto
Dalam suatu RDBMS, menjadi suatu kewajaran jika dalam satu database terdiri
atas beberapa tabel dan masing-masing tabel tersebut berhubungan satu sama lain.
Relasi antartabel dapat berupa relasi 1-1, 1-M, atau M-N. Misalnya, tabel customer1
berhubungan dengan dt_pesan, dt_pesan dengan barang, dan lain-lain. Namun,
adakalanya Anda memerlukan tampilan data dari beberapa tabel sekaligus. Hal ini
dapat dilihat pada gambar pemodelan data konseptual (class diagram). Misalnya, dari
class diagram ingin menampilkan nama customer1 beserta transaksi yang pernah
dilakukan. Oleh sebab itu, dapat dilakukan dengan menggabungkan minimal dua
tabel, yaitu customer1 dan dt_pesan. Tabel customer1 hanya menampilkan id, nama,
dan e-mail sebagai berikut.

Sementara itu, tabel dt_pesan hanya menampilkan id_dt_pesan, id_cst, dan


tgldt_pesan sebagai berikut.

Perintah SQL dalam Akses Multitable 5


3. Perintah Join
Saat mengambil data, Anda akan mengakses beberapa tabel secara bersamaan.
Salah satu cara mengambil data dari beberapa tabel sekaligus dapat dilakukan
dengan menggunakan join. Dalam SQL terdapat sebuah perintah join yang
berfungsi menghubungkan tabel satu dengan tabel lain dan saling berhubungan
atau berelasi. Tujuannya untuk menampilkan beberapa data dari tabel yang berbeda
menggunakan satu perintah.
Join menghubungkan satu tabel dengan tabel yang lain. Join memperbolehkan
mengambil data dari beberapa tabel melalui satu Query hanya dengan menggunakan
sebuah tabel. Artinya, Anda hanya dapat menyimpan/memperoleh data terbatas
atau justru menyimpan/memperoleh data terlalu banyak sehingga tabel menjadi
kurang baik. Hal ini yang dimaksud dengan relational dari istilah relational database.

Gambar 1.4 Bentuk SQL Joint


Sumber: Tutor, 2018
Perintah join dikategorikan sebagai berikut.
a. Inner join
Data yang akan ditampilkan pada perintah inner join hanya data yang memiliki
pasangan, sedangkan data pada tabel yang tidak memiliki kesamaan tidak akan
ditampilkan. Inner join identik dengan sebuah perintah yang digunakan untuk
menampilkan sebuah data atau record dengan menghubungkan dua tabel atau
lebih dalam satu perintah.

Gambar 1.5 Diagram Venn untuk Inner Join


Sumber: Tutor, 2018

6 Basis Data
Format penulisan yang digunakan dipaparkan sebagai berikut.

Tabel akan digabungkan dua arah menggunakan inner join sehingga tidak ada
data yang NULL di satu sisi. Misalnya, menggabungkan tabel customer1 dan
dt_pesan dengan tujuan untuk menampilkan daftar customer1 yang pernah
melakukan pemesanan (transaksi).
1) Penggabungan dengan “INNER JOIN”
Cara penggabungan dengan INNER JOIN menggunakan bentuk umum
sebagai berikut.

Perintah SQL untuk menggabungkan tabel customer1 dan dt_pesan adalah


sebagai berikut.
SELECT customer1.id_cst, customer1.nm_customer1,

dt_pesan.id_dt_pesan, dt_pesan.tgldt_pesan FROM

customer1 INNER JOIN dt_pesan

ON customer1.id_cst=dt_pesan.id_cst;

Hasilnya diuraikan sebagai berikut.

2) Penggabungan dengan “WHERE”


Cara penggabungan dengan WHERE menggunakan bentuk umum sebagai
berikut.

Perintah SQL yang digunakan untuk menggabungkan tabel customer1


dan dt_pesan diuraikan sebagai berikut.

Perintah SQL dalam Akses Multitable 7


SELECT customer1.id_cst, customer1.nm_customer1, dt_pesan.

id_dt_pesan, dt_pesan.tgldt_pesan FROM customer1, dt_pesan

WHERE customer1.id_cst=dt_pesan.id_cst;

Hasilnya diuraikan sebagai berikut.

Pada hasil perintah Query di atas terdapat 5 (lima) transaksi yang


dilakukan oleh 3 (tiga) orang customer1. Namun, terdapat satu customer1
yang memiliki id customer1 CST03 yang tidak ditampilkan. Customer1
tersebut tidak ditampilkan karena belum pernah melakukan transaksi.
b. Outer join
Tabel yang akan digabungkan dengan outer join menjadi satu arah sehingga
terdapat data NULL (kosong) di satu sisi. Misalnya, menggabungkan tabel
customer1 dan dt_pesan untuk menampilkan daftar customer1 yang pernah
melakukan pemesanan (transaksi). Secara umum, outer join terbagi atas
beberapa penjelasan berikut.
1) Left join
LEFT OUTER JOIN dapat ditulis menggunakan dua cara, yaitu dengan klausa
LEFT OUTER JOIN atau cukup dengan klausa LEFT JOIN. Left join (left outer
join) identik dengan suatu perintah yang digunakan untuk mengembalikan
semua nilai dari tabel kiri ditambah dengan nilai dari tabel kanan yang
sesuai (atau NULL jika tidak ada nilai yang sesuai).

Gambar 1.6 Left (Outer) Join


Sumber: Hadi, 2017

8 Basis Data
Bentuk umum left join dipaparkan sebagai berikut.

Format penulisan Query yang digunakan dipaparkan sebagai berikut.

Perintah SQL untuk menggabungkan tabel customer1 dan dt_pesan


menggunakan left join dipaparkan sebagai berikut.
SELECT customer1.id_cst, customer1.nm_customer1, dt_

pesan.id_dt_pesan, dt_pesan.tgldt_pesan FROM customer1

LEFT JOIN dt_pesan

ON customer1.id_cst=dt_pesan.id_cst;

Hasilnya diuraikan sebagai berikut.

Penggunaan left join juga akan menampilkan data customer1 dengan


id CST03 walaupun customer1 tersebut belum pernah bertransaksi. Pada
kolom id_dt_pesan dan tgldt_pesan untuk customer1 CST03 berisi NULL
yang berarti pada tabel dt_pesan untuk customer1 benar-benar tidak ada.
Pada dasarnya, fungsi dari left join hampir sama dengan inner join
dan right join. Jika pada right join untuk membuat sebuah parameter di
sebelah kanan, pada left join justru akan membuat sebuah parameter dari
tabel sebelah kiri. Jika ada data atau record yang kosong atau tidak berelasi
akan berisi NULL di sebelah kanan.
2) Right join
Secara mendasar, fungsi dari right join hampir sama dengan inner join.
Pada right join, ketika membuat sebuah parameter di sebelah kanan jika
data pada table terdapat data atau record yang kosong atau tidak berelasi
akan berisi NULL.

Perintah SQL dalam Akses Multitable 9


Gambar 1.7 Diagram Venn untuk Right Join
Sumber: Hadi, 2017
Bentuk umum right join dipaparkan sebagai berikut.

Perintah SQL untuk menggabungkan tabel customer1 dan dt_pesan


menggunakan right join dipaparkan sebagai berikut.

SELECT customer1.id_cst, customer1.nm_customer1,


dt_pesan.id_dt_pesan, dt_pesan.tgldt_pesan FROM
customer1 RIGHT JOIN dt_pesan
ON customer1.id_cst=dt_pesan.id_cst;
Hasilnya diuraikan sebagai berikut.

Tabel yang menjadi acuan pada right join adalah tabel sebelah kanan
(tabel dt_pesan) sehingga semua isi tabel dt_pesan akan ditampilkan.
Meskipun data customer1 tidak ada di tabel customer1, isi tabel dt_pesan
akan tetap ditampilkan.
c. Full join
Penggunaan full join akan menghasilkan baris data jika ada data yang sama
pada salah satu tabel. Bentuk umum full join dipaparkan sebagai berikut.

Perhatikan bentuk implementasi berikut.

10 Basis Data
Adapun bentuk diagram venn untuk full join dipaparkan sebagai berikut.

Gambar 1.8 Diagram Venn untuk Full Join


Sumber: Hadi, 2017
d.Implisit join
Sejauh ini ditampilkan data dari beberapa tabel MySQL menggunakan klausa
join. Selain menggunakan klausa join, terdapat satu cara untuk menggabungkan
tabel MySQL menggunakan implisit join. Implisit join merupakan metode lama
saat standar SQL pertama kali dibuat. Setelah muncul standar yang lebih baru
(SQL2), mulai digunakan klausa join.
Klausa join lebih mudah dibaca dan dipahami, terutama hubungan
antartabel yang digabungkan. Hal ini disebut implisit join karena tidak
menggunakan klausa join. Kriteria hubungan pada implisit join antartabel
didefinisikan pada klausa WHERE. Misalnya, menggabungkan tabel customer1
dan penjualan dengan menjalankan Query berikut.

Hasil yang diperoleh diuraikan sebagai berikut.

Perhatikan bahwa hasil tersebut sama persis dengan hasil pada contoh inner
join sehingga dapat disimpulkan bahwa implisit join = inner join. Implisit join
mensyaratkan kedua tabel memiliki data yang sama (WHERE pl.id_customer1
= pn.id_customer1). Implisit join hanya berlaku pada inner join dan tidak dapat
digunakan untuk outer join.
Hubungan antartabel pada bentuk klausa join dinyatakan pada klausa
ON atau USING, sedangkan filter datanya dilakukan pada klausa WHERE yang
dipaparkan sebagai berikut.

Perintah SQL dalam Akses Multitable 11


Hubungan antartabel dan filter datanya pada implisit join didefinisikan
pada klausa WHERE. Misalnya sebagai berikut.

Tugas Kelompok 1
1. Buatlah kelompok bersama teman sebangku Anda.
2. Bersama kelompok Anda, cari dan buatlah sebuah makalah dari internet yang
memuat tentang perintah SQL dalam akses multitable.
3. Presentasikan hasil kerja kelompok Anda di depan kelas dengan penuh percaya diri.
4. Setelah itu, berikan kesempatan kepada kelompok lain untuk menanggapi.

Tugas Kelompok 2
Buatlah sebuah kelompok kemudian kumpulkan data/informasi tentang subquery basis
data terutama yang berkaitan dengan implementasinya.

Tugas Individu
Buatlah beberapa pertanyaan tentang perintah SQL dalam akses multitable yang kurang
dimengerti, kemudian tukarkan tugas Anda dengan teman sebangku. Minta teman
sebangku Anda untuk menjawabnya. Apabila mengalami kesulitan bertanyalah pada guru.

Rangkuman
Pada dasarnya SELECT merupakan perintah DML (Data Manipulation Language)
untuk menghasilkan recordset dengan mengekstrak data dari database. Perintah
SELECT ini sering dipakai dan memiliki bentuk yang kompleks. Select multiple table
berfungsi menampilkan data yang berhubungan dari dua buah tabel.
Dalam suatu RDBMS, menjadi suatu kewajaran jika dalam satu database terdiri
atas beberapa tabel. Setiap tabel tersebut berhubungan (relasi) satu sama lain. Pada
SQL terdapat sebuah perintah join yang berfungsi menghubungkan tabel yang satu
dengan tabel lain yang saling berhubungan atau berelasi. Tujuannya menampilkan
beberapa data dari tabel yang berbeda dengan menggunakan satu perintah.

12 Basis Data
Uji Kompetensi
A. Soal Pilihan Ganda
Pilihlah jawaban yang paling tepat.
1. Perhatikan gambar berikut.

Diagram venn di atas digunakan pada perintah ....


a. full join
b. left join
c. half join
d. right join
e. inner join
2. Pada select multiple table dengan syntax from nama tabel siswa ditulis terlebih
dahulu dibandingkan nama table tb_kelas sehingga hasilnya ....
a. data ascending menurut tabel siswa
b. data ascending menurut tabel tb_kelas
c. data descending menurut tabel siswa
d. data descending menurut tabel tb_kelas
e. data descending syntax
3. Pada dasarnya SELECT masuk dalam kategori perintah ....
a. DML (Data Manipulation Language)
b. DDL (Data Definition Language)
c. DCL (Data Control Language)
d. create
e. alter drop
4. Jika ada data atau record yang kosong atau tidak berelasi, akan berisi NULL pada
prosedur left join sehingga posisinya akan berada di sebelah ....
a. tengah
b. bawah
c. kiri
d. atas
e. kanan
5. Sebuah perintah pada SQL yang berfungsi menghubungkan tabel yang satu dengan
tabel lain yang saling berhubungan atau berelasi, yaitu ....
a. WHERE
b. join
c. prev
d. compare
e. category

Perintah SQL dalam Akses Multitable 13


6. Jika ingin menampilkan seluruh field pada tabel data diri dapat menggunakan tanda
....
a. semicolon (;)
b. double apostrof
c. dot command
d. comma (,)
e. asterik (*)
7. Secara mendasar, data yang akan ditampilkan pada perintah inner join adalah data
yang memiliki ....
a. acak
b. bebas
c. tanpa pasangan
d. pasangan
e. terdata urut
8. Perhatikan gambar berikut.

Diagram venn di atas digunakan pada perintah ....


a. full join
b. half join
c. inner join
d. left join
e. right join
9. Perintah SQL yang benar untuk menampilkan khusus pada field tmpt_lahir, tgl_lahir,
dan nama_lengkap dari tabel data diri adalah ....
a. delete tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri
b. insert tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri
c. select tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri
d. skipper tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri
e. update tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri
10. Tabel yang digabungkan dua arah menggunakan inner join hasilnya tidak ada data
yang bernilai ....
a. CATEGORY
b. FROM
c. NULL
d. ON
e. POT

14 Basis Data
11. Untuk menampilkan seluruh field yang berada di dalam tabel barang adalah ....
a. select barang;
b. select * from barang;
c. select * barang;
d. select * barang;
e. select from barang;
12. Cara menghapus tabel barang, yaitu ....
a. drop table* barang;
b. drop table barang
c. drop table barang;
d. drop table_barang;
e. drop*table_barang;
13. User baru pada table karyawan dengan user = sofyan dan password = sosa, yaitu ....
a. SQL > create sofyan identified by sosa;
b. SQL > create user sofyan by sosa;
c. SQL > create user sofyan identified by sosa;
d. SQL > create user sofyan identified by sosa;
e. SQL > create user sofyan by sosa;
14. Untuk menampilkan last name dengan huruf kapital dalam hal ini last name diawali
dengan huruf ‘A’ adalah ....
a. SQL > select upper(last_name),salary from employees where last_name ‘A%’;
b. SQL > select upper(last_name),salary from employees where last_name like
‘A%’;
c. SQL > select upper(last_name),salary from employees where last_name like ‘A’;
d. SQL > select upper(last_name),salary from employees where last_name like
‘A%;
e. SQL > select upper(last_name),salary from employees where last_name ‘A’;
15. Kolom NIP pada table karyawan sebagai index dapat dibuat dengan cara ....
a. SQL > create index karyawan nip idx on karyawan(nip);
b. SQL > create index karyawan_nip_idx on karyawan(nip)
c. SQL > create index karyawan_nip_idx on karyawan(nip);
d. SQL > create index karyawan_nip_idx karyawan(nip);
e. SQL > create index karyawan nip idx karyawan(nip);

B. Soal Esai
Jawablah dengan tepat dan benar.
1. Kumpulan file, tabel, dan arsip yang saling berhubungan dan disimpan dalam media
penyimpanan elektronik disebut ....
2. Hal yang sangat ditonjolkan dalam basis data adalah pengaturan, pemilahan,
pengelompokan, dan pengorganisasian data yang akan disimpan sesuai dengan ....
3. Basis data dikelola dan ditangani melalui perantara alat mesin pintar elektronik yang
dikenal dengan nama ....
4. Untuk menampilkan beberapa data dari tabel yang berbeda dengan menggunakan
satu perintah dapat menggunakan ....
5. Disebut implisit join karena tidak menggunakan ....

Perintah SQL dalam Akses Multitable 15


6. Kriteria hubungan pada implisit join antartabel didefinisikan pada ....
7. Hubungan antartabel pada bentuk klausa join dinyatakan pada klausa ....
8. Jenis join yang termasuk metode lama saat pertama kali standar SQL digunakan
adalah ....
9. Relasi antartabel dapat berupa relasi ....
10. Untuk menampilkan data yang berhubungan dari dua buah tabel dapat
menggunakan ....

C. Soal Esai Uraian


Jawablah dengan ringkas dan benar.
1. Sebutkan berbagai sudut pandang dari definisi basis data.
2. Jelaskan tentang penggabungan WHERE dengan inner join beserta contohnya.
3. Jelaskan yang Anda ketahui tentang definisi left join.
4. Uraikan yang Anda ketahui tentang inner join.
5. Jelaskan hubungan antara perintah SELECT dengan perintah DML disertai contohnya.

D. Uji Praktik
1. Bacalah materi pelajaran di atas dan cari sumber-sumber lain yang relevan.
2. Buatlah karangan dengan tema perintah SQL dalam akses multitable.
3. Karangan ditulis pada kertas folio.
4. Panjang karangan kira-kira 1–2 halaman folio.
5. Kumpulkan karangan pada guru mata pelajaran.

16 Basis Data

Anda mungkin juga menyukai