22
BASIS DATA (C3) KELAS XII Supriyanto PT KUANTUM BUKU SEJAHTERA

BASIS DATA...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

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

  • BASIS DATA

    (C3) KELAS XII

    Supriyanto

    PT KUANTUM BUKU SEJAHTERA

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

    Penulis : SupriyantoEditor : Rizkia Nur FarikhaDesainer Kover : Achmad FaisalDesainer Isi : Putri Ari KristantiTahun terbit : 2020ISBN : 978-623-7398-84-4

    Diterbitkan oleh PT Kuantum Buku SejahteraAnggota IKAPI No. 212/JTI/2019Jalan Pondok Blimbing Indah Selatan X N6 No. 5 Malang - Jawa TimurTelp. (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.

  • iii

    Daftar Isi

    Prakata ..................................................................................................................... vBab 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

  • iv

    Bab 9 Replikasi Basis Data .......................................................................................... 165 A. Dasar-Dasar Replikasi Basis Data .................................................................................. 166 B. Penggunaan Replikasi Basis Data ................................................................................. 172 Uji Kompetensi .............................................................................................................................. 176 Glosarium ..................................................................................................................... 180Daftar Pustaka ................................................................................................................... 183Biodata Penulis .................................................................................................................. 189Biodata Konsultan ............................................................................................................. 190Tim Kreatif.......... ................................................................................................................ 191

  • v

    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, meliputiBab 1 Perintah SQL dalam Akses MultitableBab 2 Memanipulasi Basis Data dalam SQLBab 3 Implementasi SQL pada Sistem Basis Data Client-ServerBab 4 Arsitektur Relation DBMS Bab 5 Pembuatan Basis Data pada RDBMSBab 6 Struktur Penyimpanan pada RDBMSBab 7 Pengendalian Server pada RDBMS Bab 8 Pengamanan Sistem Basis Data pada RDBMSBab 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

  • vi

    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"

  • Perintah SQL dalam Akses Multitable 1

    1BAB

    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; dan3. mempraktikkan perintah SQL untuk mengakses multitable dengan baik.

    Tujuan Pembelajaran

    Perintah SQL dalam Akses Multitable

    3.10 Menerapkan penggunaan SQL untuk mengakses multitable4.10 Membuat perintah SQL untuk mengakses multitable

    Kompetensi Dasar

  • Basis Data2

    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.

  • Perintah SQL dalam Akses Multitable 3

    Gambar 1.2 Implementasi TableSumber: 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 30Sumber: Supriyanto

  • Basis Data4

    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 DatabaseSumber: Fikri, 2017

    1. Data SelectionUntuk 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_siswaNamun, jika ingin menampilkan seluruh field pada tabel nilai_siswa dapat menggunakan perintah asterik (*) sebagai berikut.

    2. Fungsi Select Multiple TableSelect 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

  • Perintah SQL dalam Akses Multitable 5

    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

    No. NamaJenis

    KelaminAgama

    Nama Ortu/Wali

    Nomor Telepon Alamat

    1. Yurizka Perempuan Islam Yuli 89654771341 Depok

    2. Lidia Perempuan Kristen Yunita 89654771342 SerpongSumber: 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.

  • Basis Data6

    3. Perintah JoinSaat 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 JointSumber: 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

  • Perintah SQL dalam Akses Multitable 7

    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.

  • Basis Data8

    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) JoinSumber: Hadi, 2017

  • Perintah SQL dalam Akses Multitable 9

    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.

  • Basis Data10

    Gambar 1.7 Diagram Venn untuk Right JoinSumber: 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_pesanON 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.

  • Perintah SQL dalam Akses Multitable 11

    Adapun bentuk diagram venn untuk full join dipaparkan sebagai berikut.

    Gambar 1.8 Diagram Venn untuk Full JoinSumber: 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.

  • Basis Data12

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

    Tugas Kelompok 11. 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 IndividuBuatlah 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.

  • Perintah SQL dalam Akses Multitable 13

    Uji KompetensiA. Soal Pilihan GandaPilihlah jawaban yang paling tepat.1. Perhatikan gambar berikut.

    Diagram venn di atas digunakan pada perintah ....a. full join b. left joinc. half join d. right joine. 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 siswab. data ascending menurut tabel tb_kelas c. data descending menurut tabel siswad. data descending menurut tabel tb_kelase. 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. createe. 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. bawahc. kiri d. atase. kanan

    5. Sebuah perintah pada SQL yang berfungsi menghubungkan tabel yang satu dengan tabel lain yang saling berhubungan atau berelasi, yaitu .... a. WHEREb. join c. prevd. comparee. category

  • Basis Data14

    6. Jika ingin menampilkan seluruh field pada tabel data diri dapat menggunakan tanda .... a. semicolon (;)b. double apostrofc. dot commandd. comma (,)e. asterik (*)

    7. Secara mendasar, data yang akan ditampilkan pada perintah inner join adalah data yang memiliki .... a. acakb. bebasc. tanpa pasangand. pasangan e. terdata urut

    8. Perhatikan gambar berikut.

    Diagram venn di atas digunakan pada perintah .... a. full join b. half joinc. inner joind. left joine. 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 datadirib. insert tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiric. select tmpt_lahir, tgl_lahir, nama_lengkap FROM datadiri d. skipper tmpt_lahir, tgl_lahir, nama_lengkap FROM datadirie. 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. CATEGORYb. FROMc. NULL d. ONe. POT

  • Perintah SQL dalam Akses Multitable 15

    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 barangc. 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 EsaiJawablah 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 ....

  • Basis Data16

    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 UraianJawablah 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 Praktik1. 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.