Gambar 77. Seleksi LEFT OUTER JOIN;
Pada persoalan 4.5 menggunakan left outer join dengan memanfaatkan fitur derived table, yang diseleksi adalah field k.kode_mk, nama_mk, sks, dan semester. Relasi left outer join tb_mata_kuliah yang dinotasikan dengan huruf k, tabel tb_mahasiswa yang dinotasikan dengan huruf m, dan tb_ambil_mk2 yang dinotasikan dengan huruf a. ON m.NIM = a.NIM mengakibatkan hanya NIM yang sama antara NIM pada tabel tb_mahasiswa dan NIM pada tabel tb_ambil_mk2, ON k.kode_mk = a.kode_mk mengakibatkan hanya kode_mk yang sama antara kode_mk pada tabel tb_mata_kuliah dan kode_mk pada tabel tb_ambil_mk2, lalu dengan klausa WHERE a.kode_mk is NULL karena yang diseleksi adalah data yang tidak diambil oleh mahasiswa terdaftar. Keluaran dari query diatas adalah hasil dari 2 kali merelasikan tabel. Pertama merelasikan tabel tb_mahasiswa dengan tb_ambil_mk2 menggunakan left outer join (keluarannya data yang tidak sama tabel sebelah kiri) dengan syaratnya data pada nimnya sama. Kemudian hasil dari relasi tersebut direlasikan lagi dengan tb_mata_kuliah menggunakan left outer join (keluarannya data yang tidak sama tabel sebelah kiri) dengan syaratnya memiliki data kode_mk sama. Kemudian yang diproses hanya data yang NULL value.
Gambar 78. Seleksi LEFT OUTER JOIN;
Dari pernyataan left outer join tersebut menampilkan field kode_mk, nama_mk, sks, dan semester dengan 3 record yaitu “PTI123, GRAFIKA MULTIMEDIA, 3, 5”, “TIK123, JARINGAN KOMPUTER, 2, 5”, dan “TIK342 PRAKTIKUM BASIS DATA, 1, 3”. Ketiga data matakuliah tersebut muncul karena ketiga matakuliah tersebut tidak diambil oleh mahasiswa terdaftar.
5. Tugas Rumah
5.1 Buatlah database baru dengan nama Universitas. Lalu didalamnya terdapat tabel-tabel seperti pada modul 5.
Dalam membuat tugas rumah, praktikkan membuat database baru dengan nama universitas.
Gambar 79. CREATE DATABASE universitas;
Database universitas berhasil dibuat
Gambar 80. CREATE DATABASE universitas berhasil dibuat;
Setelah database berhasil dibuat praktikkan membuat tiga buah tabel. Tabel yang pertama dibuat dengan nama tabel_instruktur, dengan memiliki 4 field yaitu NIP yang bertipe data CHAR dengan length 2, NAMA_INS yang bertipe data VARCHAR dengan length 50, JURUSAN yang bertipe data VARCHAR dengan length 30, ASAL_KOTA yang bertipe data VARCHAR dengan length 30. Praktikkan memilih tipe data VARCHAR karena tipe data tersebut lebih general. NIP di set primary key karena NIP bersifat unik, antara instruktur satu dengan lainnya memiliki NIP yang berbeda. Kemudian eksekusi pernyataan penciptaan tabel dengan klik Go.
Gambar 81. CREATE TABLE tabel_instruktur;
Tabel tabel_instruktur telah berhasil dibuat
Gambar 82. CREATE TABLE tabel_instruktur berhasil dibuat;
Untuk mengecek struktur dari tabel tabel_instruktur dengan klik tabel_instruktur pada universitas kemudan pilih Structure.
Gambar 83. Structure tabel_instruktur;
Kemudian praktikkan menambahkan data pada tabel_instruktur dengan pernyataan seperti dibawah ini :
Gambar 84. INSERT INTO tabel_instruktur;
Gambar 85. Data telah ditambahkan pada tabel tabel_instruktur;
Untuk melihat data yang telah ditambahkan pada tabel tabel_instruktur dengan pernyataan sebagai berikut :
Gambar 86. Melihat data pada tabel tabel_instruktur;
Kemudian akan menampilkan data dari tabel tabel_instruktur
Gambar 87. Data pada tabel tabel_instruktur;
Tabel yang kedua dibuat dengan nama tabel_matakuliah, dengan memiliki 3 field yaitu KD_MK yang bertipe data VARCHAR dengan length 8, NAMA_MK yang bertipe data VARCHAR dengan length 30, SKS yang bertipe data CHAR dengan length 1. Praktikkan memilih tipe data VARCHAR karena tipe data tersebut lebih general. KD_MK di set
primary key karena KD_MK bersifat unik, antara KD_MK satu dengan lainnya memiliki
KD_MK yang berbeda. Kemudian eksekusi pernyataan penciptaan tabel dengan klik Go.
Gambar 88. CREATE TABLE tabel_matakuliah;
Tabel tabel_instruktur telah berhasil dibuat
Gambar 89. CREATE TABLE tabel_matakuliah berhasil dibuat;
Untuk mengecek struktur dari tabel tabel_matakuliah dengan klik tabel_matakuliah pada universitas kemudan pilih Structure.
Kemudian praktikkan menambahkan data pada tabel_matakuliah dengan pernyataan seperti dibawah ini :
Gambar 91. INSERT INTO tabel_matakuliah;
Gambar 92. Data telah ditambahkan pada tabel tabel_matakuliah;
Untuk melihat data yang telah ditambahkan pada tabel tabel_instruktur dengan pernyataan sebagai berikut :
Gambar 93. Melihat data pada tabel tabel_matakuliah;
Kemudian akan menampilkan data dari tabel tabel_instruktur
Gambar 94. Data pada tabel tabel_matakuliah;
Tabel yang ketiga dibuat dengan nama tabel_ambil_mk, dengan memiliki 4 field yaitu NIP yang bertipe data CHAR dengan length 2, KD_MK yang bertipe data VARCHAR dengan
length 8, RUANGAN yang bertipe data VARCHAR dengan length 8, JML_MHS yang
bertipe data INT tanpa menentukan length. Praktikkan memilih tipe data VARCHAR karena tipe data tersebut lebih general. Primary key tidak di set. Kemudian eksekusi pernyataan penciptaan tabel dengan klik Go.
Gambar 95. CREATE TABLE tabel_ambil_mk;
Tabel tabel_ambil_mk telah berhasil dibuat
Gambar 96. CREATE TABLE tabel_ambil_mk berhasil dibuat;
Untuk mengecek struktur dari tabel tabel_ambil_mk dengan klik tabel_ambil_mk pada universitas kemudan pilih Structure.
Gambar 97. Structure tabel_matakuliah;
Kemudian praktikkan menambahkan data pada tabel_ambil_mk dengan pernyataan seperti dibawah ini :
Gambar 98. INSERT INTO tabel_ambil_mk;
Gambar 99. Data telah ditambahkan pada tabel tabel_ambil_mk;
Untuk melihat data yang telah ditambahkan pada tabel tabel_ambil_mk dengan pernyataan sebagai berikut :
Gambar 100. Melihat data pada tabel tabel_ambil_mk;
Kemudian akan menampilkan data dari tabel tabel_ambil_mk
Gambar 101. Data pada tabel tabel_ambil_mk;
Setelah ketiga tabel dibuat maka praktikkan menampilkan beberapa persoalan dengan perintah sebagai berikut :
5.1.1 Tampilkan kd_mk dan mata kuliah yang jumlah mahasiswanya 40.
Gambar 102. Seleksi INNER JOIN;
Pada persoalan 5.1.1 menggunakan inner join dengan memanfaatkan fitur derived table, yang diseleksi adalah field m.KD_MK, m.NAMA_MK, a.JML_MHS. Relasi inner join
tabel_ambil_mk yang dinotasikan dengan huruf a, tabel tabel_matakuliah yang dinotasikan dengan huruf m kemudian menggunakan ON a.KD_MK = m.KD_MK mengakibatkan hanya KD_MK yang sama antara KD_MK pada tabel tabel_ambil_mk dan KD_MK pada tabel tabel_matakuliah. Spesifikasi seleksi data dengan klausa WHERE JML MHS = 40, karena yang diinginkan adalah menampilkan KD_MK dan matakuliah yang jumlah mahasiswanya adalah 40.
Gambar 103. Hasil dari seleksi INNER JOIN;
Dari pernyataan inner join tersebut menampilkan field KD_MK, NAMA_MK, JML_MHS dengan 2 record yaitu “PTI101, ALGORITMA DAN PEMROGRAMAN, 40”, “PTI103, VISUAL BASIC, 40”. Kedua data muncul karena pada matakuliah tersebut memiliki jumlah mahasiswa 40.
5.1.2 Tampilkan data Instruktur yang mengajarkan ‘Basis Data’.
Gambar 104. Seleksi INNER JOIN;
Pada persoalan 5.1.2 menggunakan inner join dengan memanfaatkan fitur derived table, yang diseleksi adalah field i.NIP, i.NAMA_INS, m.NAMA_MK. Relasi inner join tabel_instruktur yang dinotasikan dengan huruf i, tabel tabel_ambil_mk yang dinotasikan dengan huruf a, dan tabel_matakuliah yang dinotasikan dengan huruf m kemudian menggunakan ON i.NIP = a.NIP mengakibatkan hanya NIP yang sama antara NIP pada tabel tabel_instruktur dan NIP pada tabel tabel_ambil_mk AND a.KD_MK = m.KD_MK mengakibatkan hanya KD_MK yang sama antara KD_MK pada tabel tabel_ambil_mk dan KD_MK pada tabel tabel_matakuliah. Spesifikasi seleksi data dengan klausa WHERE NAMA_MK = “BASIS DATA”; karena yang diinginkan adalah menampilkan data instruktur yang mengajarkan matakuliah BASIS DATA.
Gambar 105. Hasil dari seleksi INNER JOIN;
Dari pernyataan inner join tersebut menampilkan field NIP, NAMA_INS, NAMA_MK dengan 1 record yaitu “2, SAICHUL FITRIAN A., BASIS DATA”. Data SAICHUL
FITRIAN A. muncul karena pada instruktur tersebut yang mengajarkan matakuliah BASIS DATA.
5.1.3 Tampilkan data Instruktur yang tidak mengajar.
Gambar 106. Seleksi LEFT OUTER JOIN;
Pada persoalan 5.1.3 menggunakan left outer join dengan memanfaatkan fitur derived
table, yang diseleksi adalah field i.NIP, NAMA_INS, a.KD_MK. Relasi left outer join
tabel_instruktur yang dinotasikan dengan huruf i, tabel tabel_matakuliah yang dinotasikan dengan huruf m, dan tabel_ambil_mk yang dinotasikan dengan huruf a. ON m.KD_MK = a.KD_MK mengakibatkan hanya KD_MK yang sama antara KD_MK pada tabel tabel_matakuliah dan KD_MK pada tabel tabel_ambil_mk, ON i.NIP = a.NIP mengakibatkan hanya NIP yang sama antara NIP pada tabel tabel_instruktur dan NIP pada tabel tabel_ambil_mk, lalu dengan spesifikasi data dengan klausa WHERE a.KD_MK is NULL karena yang diseleksi adalah data instruktur yang tidak mengajar. Keluaran dari query diatas adalah hasil dari 2 kali merelasikan tabel. Pertama merelasikan tabel tabel_matakuliah dengan tabel_ambil_mk menggunakan left outer
join (keluarannya data yang tidak sama tabel sebelah kiri) dengan syaratnya data pada
KD_MKnya sama. Kemudian hasil dari relasi tersebut direlasikan lagi dengan tabel_instruktur menggunakan left outer join (keluarannya data yang tidak sama tabel sebelah kiri) dengan syaratnya memiliki data NIP sama. Kemudian yang diproses hanya data instruktur yang memiliki KD_MK NULL value.
Gambar 107. Hasil dari seleksi LEFT OUTER JOIN;
Dari pernyataan left outer join tersebut menampilkan field NIP, NAMA_INS, KD_MK dengan 1 record yaitu “4, BUDY PRATAMA, NULL”. Data BUDY PRATAMA muncul karena instruktur tersebut tidak mengajar matakuliah.