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. 

4.      mysql> select nama_mahasiswa, nama_dosen from dosen INNER JOIN proyek_akhir on dosen.kode_dosen=proyek_akhir.kode_dosen;
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

Postingan Populer