Basis Data (c3) Kelas Xii
Basis Data (c3) Kelas Xii
Supriyanto
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
iii
Bab 9 Replikasi Basis Data........................................................................................... 165
A. Dasar-Dasar Replikasi Basis Data................................................................................... 166
B. Penggunaan Replikasi Basis Data.................................................................................. 172
Uji Kompetensi............................................................................................................................... 176
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.
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.
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
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.
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.
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
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.
ON customer1.id_cst=dt_pesan.id_cst;
WHERE customer1.id_cst=dt_pesan.id_cst;
8 Basis Data
Bentuk umum left join dipaparkan sebagai berikut.
ON customer1.id_cst=dt_pesan.id_cst;
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.
10 Basis Data
Adapun bentuk diagram venn untuk full join dipaparkan 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.
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.
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 ....
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