Laporan Jobsheet 10 Perancangan Basis Data
Query (JOIN)
A. Tujuan Praktikum
1. Mampu mengenal dan memahami Query pada basisdata.
2. Dapat mengenal dan memahami parameter JOIN
dalam MySQL.
3. Dapat menggabungkan beberapa tabel dengan
menggunakan parameter JOIN untuk engakses data.
B.
Alat dan Bahan Praktikum
1. Personal Komputer
2. Aplikasi MySQL
C.
Teori Singkat
Perintah SQL dapat
digunakan untuk menampilkan data dari 2 tabel atau lebih. Antara tabel tersebut
harus memiliki penghubung yaitu primary
key dan foreign key. Dengan
menggunakan kriteria penghubung tersebut Anda dapat menampilkan data dari
beberapa tabel secara konsisten.
1.
INNER JOIN
Penggabungan tabel
dalam perintah SQL menggunakan keyword
JOIN. Jenis penggabungan tabel yang pertama adalah INNER JOIN. INNER JOIN hanya
menampilkan data yang benar-benar terdapat di dalam tabel yang saling
dihubungkan.
2.
LEFT JOIN
Berbeda dengan
INNER JOIN yang hanya menampilkan irisan data dari tabel yang digabungkan, maka
LEFT JOIN akan menampilkan data dari tabel yang disebutkan terlebih dahulu.
3.
RIGHT JOIN
Perintah RIGHT JOIN
merupakan kebalikan dari LEFT JOIN, yaitu menampilkan semua isi tabel yang
disebutkan kedua dalam perintah join. Dalam contoh di atas, apabila LEFT JOIN
diganti RIGHT JOIN maka semua isi tabel jadwal akan ditampilkan semuanya.
D. Langkah Kerja
1.
INNER JOIN
Misalnya Anda
menggabungkan tabel
dosen dengan jadwal, maka field penghubung yang digunakan adalah kode dosen karena merupakan Primary Key di tabel dosen dan menjadi Foreign Key di tabel jadwal. Hubungan
kedua tabel tersebut adalah One to Many,
dimana satu dosen dapat memiliki banyak jadwal matakuliah yang berulang.
Dalam teknik INNER
JOIN hasil yang ditampilkan hanya record
yang memiliki kode dosen sama di kedua tabel tersebut. Apabila terdapat dosen
yang kode dosenna tidak ditemukan di tabel jadwal maka data tersebut tidak
ditampilkan.
Contoh: menampilkan
nama dosen berikt dengan jadwal mengajarnya (hari, jam, dan
lokal).
Contoh Query:
mysql> SELECT
nama_dosen, hari, jam, lokal FROM dosen INNER JOIN jadwal ON
dosen.kode_dosen=jadwal.kode_dosen;
Hasilnya:
Data tersebut
diperoleh dari tabel asal: Tabel Dosen dan Tabel Jadwal yang isi kedua tabel tersebut terlihat pada gambar berikut:
2.
LEFT JOIN
Misalnya untuk
menampilkan data dosen beserta jadwal mengajarnya, maka apabila tabel dosen
disebutkan terlebih dahulu, semua data nama dosen akan ditampilkan baik yang
sudah memiliki jadwal ataupun yang belum.
Contoh: menampilkan
nama dosen berikut dengan jadwal mengajarnya (hari, jam, dan
lokal).
Contoh query:
mysql> SELECT
nama_dosen, hari, jam, lokal FROM dosen LEFT JOIN jadwal ON
dosen.kode_dosen=jadwal.kode_dosen;
Hasilnya:
Berdasarkan gambar
di atas, data yang dihasilkan, dilihat dari sisi tabel dosen, yang mana semua
data yang tersimpan pada tabel dosen akan ditampilkan meskipun data tersebut
bernilai NULL.
3.
RIGHT JOIN
Misalnya untuk
menampilkan data dosen beserta jadwal mengajarnya
Contoh: Menampilkan
nama dosen berikut dengan jadwal mengajarnya (hari, jam, dan
lokal).
Contoh Query:
mysql> SELECT
nama_dosen, hari, jam, lokal FROM dosen RIGHT JOIN jadwal ON
dosen.kode_dosen=jadwal.kode_dosen;
Hasilnya:
E. Evaluasi dan Penugasan
1.
Buatlah query untuk menampilkan data sebagai berikut:
a.
Nama dosen, hari, jadwal dan lokal yang diurutkan berdasarkan urutan nama
dosen, dengan menggunakan INNER JOIN.
b.
Nama dosen, hari, jadwal dan lokal yang diurutkan berdasarkan jadwal
mengajar, dengan menggunakan LEFT JOIN.
c.
Nama dosen, hari, jadwal dan lokal yang diurutkan berdasarkan urutam lokal,
dengan menggunakan RIGHT JOIN.
d.
Nama mahasiswa, nama dosen, tanggal mulai dan tanggal selesai untuk
bimbingan proyek akhir, yang diurutkan berdasarkan nama dosen.
2.
Jelaskanlah kegunaan dari INNER JOIN, LEFT JOIN, dan RIGHT JOIN.
INNER JOIN
Inner Join berguna untuk menggabungkan tabel dan harus membutuhkan
satu kolom unik yang ada pada primary key maupun foreign key. Apabila ada
foreign key maupun primary key yang kosong, penggunaan fungsi ini hanya akan
memunculkan data yang foreign key-nya memiliki record yang isi saja.
LEFT JOIN
Left Join berguna untuk menggabungan tabel dimana data akan
ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada
tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.
RIGHT JOIN
Right Join memiliki fungsi yang bertolak belakang
dengan left join, dimana right join akan menampilkan data secara keseluruhan
pada tabel kedua (kanan), namunNULL pada
tabel pertama (kiri).
3.
Jelaskan kenapa parameter JOIN tersebut diperlukan, apa kelebihan dan
kekurangannya.
Parameter JOIN diperlukan karena JOIN digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih sehingga kita dapat dengan mudah memperoleh detail data dari tabel-tabel yang saling terkait.
Apa yang terjadi dari hasil
query tersebut? Jelaskan!
Query ini menggabungkan tabel mahasiswa, dosen dengan tabel proyek akhir sehingga menghasilkan nama mahasiswa beserta pilihan dosen pembimbing proyek akhir dari masing-masing mahasiswa.
Komentar
Posting Komentar