Selasa, 24 September 2019

Select Multitable (basis data kelas 12)



A.    Kompetensi Dasar
4.10     Membuat perintah  SQL untuk mengakses multi table
B.     Indikator Pencapaian Kompetensi
1.             Menerapkan perintah select untuk mengakses multit        able dalam basis data
2.             Membuat  perintah select multitable dengan CLI
C.    MATERI PEMBELAJARAN
1.      Select multitable
D.    TUJUAN PEMBELAJARAN
1.      Siswa dapat mengenal, memahami dan menerangkan tentang perintah select untuk mengakses multitable dalam basis data
2.      Siswa dapat membuat perintah select untuk mengakses multitable dalam basis data
E.     Alat dan Bahan
1.       Laptop/ Komputer
2.       XAMPP
3.       phpmyadmin
F.     Prosedur Praktikum
1.      Awali setiap aktivitas dengan do’a, semoga berkah dan mendapat kemudahan.
2.      Pahami tujuan dan dasar teori dengan baik dan benar.
3.      Siswa telah membaca dan mempelajari materi praktikum sebelumnya
4.      Instruktur menerangkan dan menjelaskan teori dan cara kerja
5.      Siswa mempraktikan percobaan latihan dan tugas-tugas praktikum dengan baik, sabar, mandiri, dan jujur.Tanyakan kepada guru pembimbing apabila ada hal-hal yang kurang jelas atau yang belum dipahami.
6.      Laporkan kepada guru pembimbing jika pelaksanaan praktikum sudah selesai.
7.      Laporan percobaan praktikum dan tugas praktikum di buat dalam satu file jobsheet.(dikumpulkan di classroom basis data)
a.       Siswa yang belum mengumplkan job sheet Pretest, maka konsekuensinya job sheet Join tidak akan di nilai.
8.      Perhatikan faktor-faktor Keselamatan dan Kesehatan Kerja (K3) selama melaksanakan kegiatan praktikum. Dilarang bercanda yang berlebihan atau melakukan aktivitas yang tidak berhubungan dengan kegiatan praktikum.

1.      Dasar Teori
a.      Join merupakan sebuah konsep di dalam pengolahan data pada database. Konsep ini menggabungkan dua buah tabel atau lebih sehingga menghasilkan sebuah tabel baru yang bersifat temporary atau sementara. Melalui tabel baru ini akan dapat diperoleh hubungan tiap data pada tabel-tabel yang digabungkan. Tabel baru ini disebut sebagai joined table.
b.      Macam-Macam Join
Pada MySQL dikenal beberapa macam join yang dapat dikelompokkan menjadi dua, yaitu inner join dan outer join. Inner join dapat dibagi kembali menjadi natural join dan cross join. Sedangkan outer join dapat dibedakan menjadi left outer join, right
outer join, dan full outer join.

1.      Inner Join dan Natural Join
Inner join dan natural join merupakan join yang digunakan untuk menemukan persimpangan atau perpotongan antara dua buah tabel yang di-join-kan. Join ini akan mengembalikan atau menampilkan data-data yang saling berpasangan di anatara kedua
buah tabel. Syntax untuk inner join dan natural join adalah sebagai berikut:
Cara #1. Inner Join dengan WHERE.
Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;

Cara #2. Inner Join dengan klausa INNER JOIN.
Berikut ini bentuk umumnya:
SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;

2.      Cross Join
Cross join merupakan inner join dengan seluruh kondisi join (tidak hanya data yang berpasangan) dianggap bernilai true. Sesuai dengan namanya, join ini akan mengembalikan semua kemungkinanpasangan atau persilangan data pada tabel yang satu dengan data pada tabel yang lainnya. Syntax untuk cross join adalah sebagai berikut:

SELECT nama_kolom
FROM tabel_1 CROSS JOIN tabel_2;  

3.      Left Outer Join dan Right Outer Join
Left outer join merupakan join yang akan mengembalikan seluruh data pada tabel sebelah kiri (left table) yang memiliki pasangan pada tabel sebelah kanan (right table) ditambah data-data pada left table yang tidak memiliki pasangan pada tabel sebelah kanan. Sedangkan right outer
join sebaliknya.Untuk data-data yang tidak memiliki pasangan, pada joined table yang dihasilkan data-data tersebut akan dipasangkan dengan data null. Syntax untuk left outer join dan right outer join adalah sebagai berikut:


SELECT nama_kolom
FROM tabel_kiri LEFT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom;

SELECT nama_kolom
FROM tabel_kiri RIGHT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom;

4.      Full Outer Join
Full outer join merupakan kombinasi dari hasil left outer join dengan right outer  join. MySQL tidak mengenal klausa full outer join. Oleh karena itu, untuk mendapatkan joined table hasil dari full outer join digunakan klausa atau operator UNION untuk menggabungkan hasil query yang menggunakan left outer join dengan hasil query yang menggunakan right outer join. Syntax untuk full outer join adalah sebagai berikut:

SELECT nama_kolom
FROM tabel_kiri LEFT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom
UNION
SELECT nama_kolom
FROM tabel_kiri RIGHT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom;

c.       Penggunaan Operator IS NULL
Seperti yang telah dijelaskan pada bagian outer join, data yang diperoleh dari suatu query dapat mengandung nilai null. Untuk mem-filter query agar hanya menampilka data yang mengandung nilai null saja dapat menggunakan operator IS NULL pada klausa WHERE.

d.      Penggunaan Operator DISTINCT
Pada saat melakukan pengambilan data di dalam database terkadang dijumpai suatu kondisi dimana data yang sama diperoleh atau muncul lebih dari satu baris. Untukmenghilangkan kemunculan data yang berulang-ulang ini dapat menggunakan operator DISTINCT pada klausa SELECT. Dengan menggunakan operator ini, data yang sama hanya akan muncul satu kali atau hanya pada satu baris.

e.       Penggunaan Operator AS
Operator AS berfungsi untuk mengubah nama kolom atau field pada suatu hasil query. Perubahan nama kolom ini hanya berlaku pada hasil query tersebut, tidak mengubah nama kolom asalnya.

2.       Latihan
Gunakanlah kembali database akademik_sekolah yang pernah siswa buat pada latihan meteri terdahulu.
a.      Inner Join dan Natural Join
Inner join maupun natural join dapat digunakan untuk mengetahui data siswa sekaligus nilai yang diperolehnya. Jalankan query berikut dan perhatikan hasilnya:

Cara 1 :

Cara 2 :

SOAL :

Perbedaan apakah yang Anda temukan antara hasil dari query 1 dibandingkan dengan hasil dari query 2?
b.      Cross Join
Jalankanlah query berikut:
 


SOAL :

Bandingkan hasil query tersebut dengan query yang menggunakan INNER JOIN dan NATURAL JOIN! Perbedaan apa yang Anda temukan?
c.       Left Outer Join dan Right Outer Join

Jalankanlah query berikut dan perhatikan hasilnya:


Jalankan pula query berikut dan perhatikan kembali hasilnya:

SOAL :
Perbedaan dan persamaan apakah yang Anda temukan dari hasil kedua query tersebut?
Adakah data dengan nilai null yang muncul di sana? Apakah yang menyebabkan data dengan nilai null tersebut muncul?

d.      Full Outer Join
Untuk melihat bentuk joined table dari hasil query yang menggunakan klausa FULL OUTER JOIN jalankanlah query berikut dan perhatikan hasilnya:

SOAL :
Perbedaan dan persamaan apakah yang Anda temukan dari hasil kedua query tersebut?


Share:

Related Posts:

0 Comments:

Posting Komentar