Anda di halaman 1dari 26

LAPORAN MODUL 5

PRAKTIKUM BASIS DATA

Disusun untuk Memenuhi Matakuliah Praktikum Basis Data


Yang Dibimbing oleh
Triyanna Widiyaningtyas, S.T, M.T

Disusun Oleh:
ADITYA RAHMAN (160535611825)
FENTYKA AYU ROSYANI PUTRI (160535611811)
RADITHA ULFAH (150535602259)

S1 TI OFF A 2016

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI TEKNIK INFORMATIKA
MARET 2017
MODUL 5
RELASI & JOIN
1. TUJUAN
 Memahami keterhubungan entitas di dalam basis data.
 Memahami jenis-jenis operasi pengambilan data di beberapa entitas.
 Mampu menyelesaikan kasus retrieval yang melibatkan lebih dari satu entitas.
 Memahami fungsi Union pada mysql .

2. DASAR TEORI
1. Relationship
Relationship adalah suatu hubungan antara beberapa entitas. Konsep
ini sangat penting sekali di dalam basis data, di mana memungkinkan entitas-
entitas untuk saling berhubungan satu sama lain.
Didalam sebuah relationship, primary key memiliki peran penting
untuk mengaitkan entitas. Selain itu, primary key juga digunakan untuk
mendefinisikan batasan keterhubungan.

2. Join
Join merupakan salah satu kontruksi dasar dari SQL dan basis data.
Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih table di
dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baru
yang disebut sebagai joined tabel.

Join dapat diklasifikasikan ke dalam dua jenis, yaitu inner join dan outer join.
a. Inner Join
Inner join pada dasarnya adalah menemukan persimpangan (intersection)
antara dua buah tabel.

Sintaks inner join diperlihatkan sebagai berikut :

Inner join juga dapat direpresentasikan dalam bentuk implisit sebagai


berikut :

Misalkan terdapat table A dan B, maka hasil inner join dapat diperlihatkan
sebagai bidang terasir dalam diagram Venn seperti Gambar 1.
b. Outer Join
Outer join dibagi ke dalam tiga jenis, yaitu left outer join, right outer join
dan full outer join.

Left Outer Join


Left outer join atau left join mengembalikan semua nilai dari table kiri
ditambah dengan nilai dari tabel kanan yang sesuai atau NULL jika tidak
ada nilai yang sesuai.

Sintaks left outer join diperlihatkan sebagai berikut :

Left outer join antar tabel A dan B dapat diilustrasikan dalam diagram
Venn seperti Gambar 2.

Right Outer Join


Right outer join atau right join pada dasarnya sama seperti left join, namun
dalam bentuk terbalik, kanan dan kiri.

Sintaks right outer join diperlihatkan sebagai berikut :

Right outer join antara table A dan B dapat diilustrasikan dalam diagram
Venn seperti Gambar 3.
Full Outer Join
Full outer join atau full join pada hakikatnya merupakan kombinasi dari left
dan right join.

Sintaks full outer join diperlihatkan sebagai berikut :

Bentuk visual dari full outer join dapat diperlihatkan menggunakan diagram
Venn seperti Gambar 4.

Selain empat jenis join yang utama di atas, masih ada beberapa variasi join
lainnya, seperti CROSS JOIN (cartesian product), NATURAL JOIN dan
sebagainya.

Perlu juga diperhatikan, join bisa diimplementasikan dalam bentuk bersarang


(nested join). Jadi, di dalam sebuah operasi join bisa terdapat operasi join
lainnya.

3. Union
MySQL Union adalah statemaen yang mengkombinasikan dua buah
atau lebih resulset dari beberapa table dengan statemen SELECT sehingga
menjadi satu buah resulset. Union Statemen memiliki beberapa ketentuan
sebagai berikut :
a. Jumlah kolom/field dari setiap statemen SELECT harus sama.
b. Tipe data kolom/field dari setiap statemen SELECT harus kompatibel.

Secara default statemen UNION akan menghapus semua record


duplikat dari resulset. Apabila Anda ingin record duplikat tetap di tampilkan
maka pada resulset tuliskan secara explisit UNION ALL. Perbedaan Union
dan Union All dapat dijelaskan pada gambar diagram Venn 5 dan 6.
Fungsi Union sendiri dapat dijalankan dengan sintaks sebagai berikut :

3. LATIHAN
3.1. Latihan 1 Relationship
3.1.1. Langkah-langkah
1. Buatlah database bernama “modul 5”.
2. Tuliskan pernyataan SQL untuk membuat dua buah table bernama
karyawan dan departemen dengan relationship bekerja pada.
3. Eksekusi pernyataan SQL.
4. Isi kedua buah table tersebut dengan data.

3.1.2. Query
INSERT INTO `karyawan` (`Nama`, `id_dep`) VALUES ('Agus',
'10'), ('Budi', '16'), ('Citra', '12'), ('Dani', '17');
INSERT INTO `departemen` (`id_dep`, `nama_dep`) VALUES ('10',
'Penelitian'), ('11', 'Pemasaran'), ('12', 'SDM'), ('13',
'Keuangan');

3.1.3 Printscreen

2. Latihan 2 Inner Join


3.2.1 Langkah-langkah
1. Klik Database ”modul5” yang telah dibuat pada latihan 1.
2. Tuliskan Pernyataan SQL dari inner join yang akan mengembalikan
data di tabel A dan B yang sesuai, dalam hal ini mendapatkan data
karyawan yang memiliki departemen dan menggunakan bentuk implisit
dari inner join. Eksekusi pernyataan SQL bandingkan hasil eksekusi
perintah SQL yang menggunakan INNER JOIN dengan yang
menggunakan bentuk implisitnya !
3. Tuliskan Pernyataan SQL dalam pengambilan data ini, kita juga bisa
menspesifikasikan field terkait, dalam hal ini untuk mengambil nama
karyawan dan nama departemen yang ditempatinya saja. Eksekusi
perintah SQL !
4. Agar penulisan SQL lebih efisien, dapat memanfaatkan fitur “derived
table” (atau alias). Eksekusi pernyataan SQL !
3.2.2 Query
a. SELECT * FROM karyawan INNER JOIN departemen ON
karyawan.id_dep = departemen.id_dep

Implisit :
SELECT * FROM karyawan, departemen WHERE
karyawan.id_dep = departemen.id_dep

b. SELECT karyawan.nama, departemen.nama_dep FROM


karyawan INNER JOIN departemen ON
karyawan.id_dep = departemen.id_dep

c. SELECT k.nama, d.nama_dep FROM karyawan k INNER


JOIN departemen d ON k.id_dep = d.id_dep

3.2.3 Printscreen

a.

b.

c.

3. Lathian 3 Outer Join


1. Langkah-langkah
1. Klik Database “modul5” yang telah dibuat pada latihan 1.
2. Buat Pernyataan SQL penggunaan Left Outer Join dan apabila
diperlukan, dapat menggunakan klausa WHERE di dalam join. Dalam
hal ini untuk mendapatkan data karyawan yang tidak memiliki
departemen. Eksekusi perintah SQL !
3. Buat Pernyataan SQL penggunaan Right Outer Join. Eksekusi perintah
SQL !
4. Buat Pernyataan SQL penggunaan Full Outer Join. Beberapa DBMS
tidak mendukung fungsionalitas full outer join. Meski demikian, join ini
dapat disimulasikan dengan memanfaatkan UNION. Tekniknya ialah
dengan menggabung left join dan right join. Kemudian eksekusi perintah
SQL !
5. Buat Pernyataan SQL penggunaan Cross Join dan juga dalam bentuk
implisitnya. Cross join pada hakikatnya merupakan inner join dimana
kondisi join selalu dievaluasi true. Secara matematis, jika A dan B
merupakan dua himpunan, maka cross join-nya sama dengan X,
kemudain eksekusi perintah SQL !

2. Query
a. Left Outer Join
SELECT * FROM karyawan k LEFT OUTER JOIN
departemen d ON k.id_dep = d.id_dep

SELECT * FROM karyawan k LEFT OUTER JOIN


departemen d ON k.id_dep = d.id_dep WHERE
d.id_dep IS NULL

b. Right Outer Join


SELECT * FROM karyawan k RIGHT OUTER JOIN
departemen d ON k.id_dep = d.id_dep

c. Full Outer Join


SELECT * FROM karyawan k LEFT OUTER JOIN
departemen d ON k.id_dep = d.id_dep UNION
SELECT * FROM karyawan k RIGHT OUTER JOIN
departemen d ON k.id_dep = d.id_dep

d. Cross Join
SELECT * FROM karyawan CROSS JOIN departemen

Implisit :
SELECT * FROM karyawan, departemen
3. Printscreen

a.

Perhatikan baris kedua dan keempat pada hasil eksekusi di atas, apa yang
menyebabkan timbulnya NULL value ?
Jawab :
Karena data yang berada di dalam tabel Departemen tidak ada
relasi seingga menampilkan data NULL

b.
Perhatikan kembali baris kedua dan keempat pada hasil eksekusi di atas,
apa yang menyebabkan timbulnya NULL value ?
Jawab :
Karena data yang berada di dalam tabel Karyawan tidak ada
relasi sehingga menapilkan data NULL.
c.
Perhatikan kembali baris kedua dan keempat pada hasil eksekusi di atas,
apa yang menyebabkan timbulnya NULL value ?
Jawab :
Karena data yang berada di dalam tabel Karyawan tidak ada
relasi dengan tabel Departemen sehingga menampilkan data NULL.

d.

4. Latihan 4 Union
1. Langkah-langkah
1. Klik Database “modul5” yang telah dibuat pada latihan 1.
2. Tuliskan pernyataan SQL untuk membuat dua buah table bernama
karyawan2.
3. Eksekusi pernyataan SQL !
4. Buat perintah SQL untuk menggabungkan data karyawan dan data
karyawan2 menggunakan fungsi UNION dan UNION ALL.
2. Query
a. INSERT INTO `karyawan2` (`Nama`, `id_dep`)
VALUES ('Dani', '17'), ('Anisa', '18'),
('Bagus', '12');

b. SELECT nama, id_dep FROM karyawan UNION SELECT


nama, id_dep FROM karyawan2

c. SELECT nama, id_dep FROM karyawan UNION ALL


SELECT nama, id_dep FROM karyawan2

3. Printscreen

a.

b.

c.
4. TUGAS PRAKTIKUM
4.1 Tugas Praktikum 1
Tugas praktikum ini menggunakan tabel-tabel yang sudah dibuat sebelumnya.
Berikut adalah data-data tabel yang akan digunakan (sesuaikan nilainya agar sama
persis).

Tabel Mahasiswa

Tabel ambil_mk

Tabel Matakuliah
4.1.1. Dapatkan banyak mahasiswa yang mengambil matakuliah.
Selesaikan dengan pendekatan join eksplisit dan implisit.
a. Query
SELECT COUNT(DISTINCT mahasiswa.nim) AS "mahasiswa
yang mengambil matkul" FROM mahasiswa INNER JOIN
ambil_mk ON mahasiswa.nim = ambil_mk.nim;
b. Printscreen

c. Analisa
Dalam program ini kami terlebih dahulu menciptakan 3
tabel yang baru bernama Mahasiswa, ambil_mk, Matakuliah
dan berisi data yang sudah diinputkan sesuai perintah pada
modul. Untuk mendapatkan banyak mahasiswa yang
mengambil matakuliah kami menggunakan perintah
SELECT COUNT(DISTINCT mahasiswa.nim) untuk
menghitung mahasiswa di tabel Mahasiwa yang mengambil
matakuliah di tabel ambil_mk yang mana data yang sama tidak
dihitung. Kemudian hasil perhitungan data tadi kami tempatkan
pada field baru bernama “mahasiswa yang mengambil matkul”
dengan menggunakan perintah AS. Untuk menggabungkan
tabel Mahasiswa dan tabel ambil_mk agar saling berhubungan
kami menggunakan perintah INNER JOIN ambil_mk ON
mahasiswa.nim = ambil_mk.nim yang berarti akan
menampilkan data-data yang mempunyai nilai sama antara
field nim pada tabel mahasiswa dan field nim pada tabel
ambil_mk yang artinya data tersebut berelasi.
4.1.2 Kelompokan data mahasiswa yang tidak mengambil matakuliah
berdasarkan jenis kelaminnya, kemudian hitung banyaknya.
a. Query
SELECT m.jenis_kelamin, COUNT(m.jenis_kelamin) AS
jumlah FROM mahasiswa m LEFT OUTER JOIN ambil_mk a
ON m.nim = a.nim WHERE a.kode_mk IS NULL GROUP BY
jenis_kelamin;
b. Printscreen

c. Analisa
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf m sebagai
simbol/alias dari tabel Mahasiswa dan huruf a sebagai
simbol/alias dari tabel ambil_mk. Untuk mengelompokan data
mahasiswa yang tidak mengambil matakuliah berdasarkan
jenis kelaminnya dan jumlahnya kami menggunakan perintah
SELECT dan COUNT untuk memilih tabel dan field yang
datanya ingin dijumlahkan/dihitung dalam hal ini tabel
Matakuliah dan field jenis_kelamin. Kemudian hasil
perhitungan data tadi kami tempatkan pada field baru bernama
“jumlah” dengan menggunakan perintah AS. Untuk
menggabungkan tabel Mahasiswa dan tabel ambil_mk agar
saling berhubungan kami menggunakan perintah m LEFT
OUTER JOIN ambil_mk a ON m.nim = a.nim yang mana
akan menampilkan data-data yang tidak berelasi yakni secara
keseluruhan data di tabel Mahasiswa akan ditampilkan
sedangkan data pada tabel ambil_mk yang kosong bernilai
NULL. Untuk mengelompokkannya berdasarkan jenis kelamin
kami menggunakan perintah WHERE a.kode_mk IS NULL
GROUP BY jenis_kelamin;.

4.1.3 Dapatkan nim dan nama mahasiswa yang mengambil matakuliah


beserta kode_mk dan nama_mk yang diambilnya.
a. Query
SELECT m.nim, m.nama, a.kode_mk, mat.nama_mk FROM
mahasiswa m INNER JOIN ambil_mk a ON m.nim = a.nim
INNER JOIN matakuliah mat ON a.kode_mk = mat.kode_mk;
b. Printscreen

c. Analisa
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf m sebagai
simbol/alias dari tabel Mahasiswa, huruf a sebagai simbol/alias
dari tabel ambil_mk dan huruf mat sebagai simbol/alias dari
tabel Matakuliah. Untuk mendapatkan nim dan nama
mahasiswa yang mengambil matakuliah beserta kode_mk dan
nama_mk yang diambilnya kami menggunakan perintah
SELECT untuk memilih tabel dan field yang akan dieksekusi
dalam hal ini tabel Mahasiswa dengan field nim dan nama,
tabel ambil_mk dengan field kode_mk dan tabelMatakuliah
dengan field nama_mk. Untuk menggabungkan ke-3 tabel
tersebut agar saling berhubungan kami menggunakan perintah
m INNER JOIN ambil_mk a ON m.nim = a.nim INNER
JOIN matakuliah mat ON a.kode_mk = mat.kode_mk; yang
mana akan menampilkan data-data yang berelasi.

4.1.4 Dapatkan nim, nama, dan total sks yang diambil oleh mahasiswa,
Dimana total sksnya lebih dari 4 dan kurang dari 10.
a. Query
SELECT m.nim, m.nama, SUM(k.sks) AS jumlah_sks FROM
mahasiswa m INNER JOIN ambil_mk a ON m.nim = a.nim
INNER JOIN matakuliah k ON a.kode_mk = k.kode_mk
GROUP BY m.nim HAVING jumlah_sks BETWEEN 4 AND 10;
b. Printscreen

c. Analisa
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf m sebagai
simbol/alias dari tabel Mahasiswa, huruf a sebagai simbol/alias
dari tabel ambil_mk dan huruf k sebagai simbol/alias dari tabel
Matakuliah. Untuk mendapatkan nim, nama, dan total sks yang
diambil oleh mahasiswa, dimana total sksnya lebih dari 4 dan
kurang dari 10 kami menggunakan perintah SELECT untuk
memilih tabel dan field yang akan dieksekusi dalam hal ini
tabel Mahasiswa dengan field nim dan nama. kemudian untuk
menjumlah sks yang diambil oleh mahasiswa kami
menggunakan perintah SUM dari tabel Matakuliah dengan
field sks. Untuk menggabungkan ke-3 tabel tersebut agar saling
berhubungan kami menggunakan perintah m INNER JOIN
ambil_mk a ON m.nim = a.nim INNER JOIN matakuliah k
ON a.kode_mk = k.kode_mk yang mana akan menampilkan
data-data yang berelasi. Kemudian dikelompokkan
berdasarkan nim dari tabel Mahasiswa dengan menggunakan
fungsi Agergat dan total sksnya lebih dari 4 dan kurang dari 10
yakni GROUP BY m.nim HAVING jumlah_sks BETWEEN
4 AND 10;

4.1.5 Dapatkan data matakuliah yang tidak diambil oleh mahasiswa


terdaftar (mahasiswa yang terdaftar adalah mahasiswa yang
tercatat di tabel mahasiswa).
a. Query
SELECT k.* FROM mahasiswa m INNER JOIN ambil_mk a
ON m.nim = a.nim RIGHT OUTER JOIN matakuliah k ON
a.kode_mk = k.kode_mk WHERE m.nim IS NULL;
b. Printscreen

c. Analisa
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf m sebagai
simbol/alias dari tabel Mahasiswa, huruf a sebagai
simbol/alias dari tabel ambil_mk dan huruf k sebagai
simbol/alias dari tabel Matakuliah. Untuk mendapatkan data
matakuliah yang tidak diambil oleh mahasiswa terdaftar
(mahasiswa yang terdaftar adalah mahasiswa yang tercatat di
tabel mahasiswa) kami menggunakan perintah SELECT tabel
Matakuliah yang akan dieksekusi. Untuk menggabungkan ke-
3 tabel tersebut agar saling berhubungan kami menggunakan
perintah m INNER JOIN ambil_mk a ON m.nim = a.nim
yang mana akan menampilkan data-data yang berelasi dan
peintah nim RIGHT OUTER JOIN matakuliah k ON
a.kode_mk = k.kode_mk WHERE m.nim IS NULL; yang
berarti right join akan menampilkan data secara keseluruhan
pada tabel ambil_mk, namun NULL pada tabel Matakuliah
yang mana tercatat juga di tabel Mahasiswa.
5. TUGAS RUMAH
5.1 Tugas Rumah 1
Buat dan tuliskan pernyataan SQL untuk membuat tabel dengan nama
mahasiswa_nim (NIM anda masing-masing) dengan field sebagai berikut:

Tabel Instruktur

Tabel Matakuliah

Tabel ambil_mk
5.1.1 Tampilkan kd_mk dan mata kuliah yang jumlah mahasiswanya 40.
a. Query
SELECT k.kd_mk, k.nama_mk, a.jml_mhs FROM ambil_mk a
INNER JOIN matakuliah k ON a.kd_mk = k.kd_mk WHERE
a.jml_mhs = 40;
b. Printscreen

c. Analisis
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf k sebagai
simbol/alias dari tabel Matakuliah dan huruf a sebagai
simbol/alias dari tabel ambil_mk. Untuk menampilkan k.kd_mk
dan mata kuliah yang jumlah mahasiswanya 40 kami
menggunakan perintah SELECT untuk memilih tabel dan field
yang akan dieksekusi dalam hal ini tabel Matakuliah dengan
field kd_mk dan nama_mk serta tabel ambil_mk dengan field
jml_mhs. Untuk menggabungkan tabel Matakuliah dan
ambil_mk agar saling berhubungan kami menggunakan
perintah a INNER JOIN matakuliah k ON a.kd_mk =
k.kd_mk yang mana akan menampilkan data-data yang
berelasi dan syaratnya adalah jumlah mahasiswanya 40 maka
kami menggunakan perintah WHERE a.jml_mhs = 40;.
5.1.2 Tampilkan data Instruktur yang mengajarkan ‘Basis Data’.
a. Query
SELECT i.* FROM instruktur i INNER JOIN ambil_mk a ON
i.nip = a.nip WHERE a.kd_mk = "PTI102";
b. Printscreen

c. Analisis
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf i sebagai
simbol/alias dari tabel instruktur dan huruf a sebagai
simbol/alias dari tabel ambil_mk. Untuk menampilkan data
Instruktur yang mengajarkan ‘Basis Data’ kami menggunakan
perintah SELECT untuk memilih tabel yang akan dieksekusi
yakni tabel Instruksi. Untuk menggabungkan tabel Matakuliah
dan ambil_mk agar saling berhubungan kami menggunakan
perintah i INNER JOIN ambil_mk a ON i.nip = a.nip yang
mana akan menampilkan data-data yang berelasi dan
syaratnya adalah mengajar ‘Basis Data” maka kami
menggunakan perintah WHERE a.kd_mk = "PTI102";
5.1.3 Tampilkan data Instruktur yang tidak mengajar.
a. Query
SELECT i.* FROM instruktur i LEFT OUTER JOIN ambil_mk
a ON i.nip = a.nip WHERE a.kd_mk IS NULL;
b. Printscreen

c. Analisis
Dalam program ini kami menggunakan penulisan SQL
yang lebih efisien yaitu memanfaatkan fitur “derived table”
(atau alias) yang mana kami menggunakan huruf i sebagai
simbol/alias dari tabel instruktur dan huruf a sebagai
simbol/alias dari tabel ambil_mk. Untuk menampilkan data
Instruktur yang mengajarkan ‘Basis Data’ kami menggunakan
perintah SELECT untuk memilih tabel yang akan dieksekusi
yakni tabel Instruksi. Untuk menggabungkan tabel Matakuliah
dan ambil_mk agar saling berhubungan kami menggunakan
perintah i LEFT OUTER JOIN ambil_mk a ON i.nip = a.nip
yang mana akan menampilkan data-data yang tidak berelasi
yakni secara keseluruhan data di tabel Instruksi akan
ditampilkan sedangkan data pada tabel ambil_mk yang kosong
bernilai NULL. Untuk mengelompokkannya berdasarkan tidak
mengajar kami menggunakan perintah WHERE a.kd_mk IS
NULL;
5.2 Tugas Rumah 2
Buatlah tabel seperti di bawah ini.
Tabel Customer

Tabel Orders

Gabungkan kedua tabel tersebut dengan JOIN dan UNION


a. Query
SELECT c.*, o.order_id, o.order_date, o.qty, o.amount FROM
customer c LEFT OUTER JOIN orders o ON c.customer_id =
o.customer_id UNION SELECT c.*, o.order_id, o.order_date, o.qty,
o.amount FROM customer c RIGHT OUTER JOIN orders o ON
c.customer_id = o.customer_id;
b. Printscreen

c. Analisis
Dalam program ini kami menggunakan penulisan SQL yang
lebih efisien yaitu memanfaatkan fitur “derived table” (atau alias) yang
mana kami menggunakan huruf c sebagai simbol/alias dari tabel
Customer dan huruf o sebagai simbol/alias dari tabel Orders. Untuk
menampilkan mengbungkan kedua tabel tersebut dengan JOIN dan
UNION kami menggunakan perintah SELECT untuk memilih tabel
yang akan dieksekusi yakni tabel Customer dan tabel Orders dengan
field order_id, order_date, qty dan amount. Untuk menggabungkan
tabel Customer dan Orders agar saling berhubungan kami
menggunakan perintah c LEFT OUTER JOIN orders o ON
c.customer_id = o.customer_id yang mana akan menampilkan data-
data yang tidak berelasi yakni secara keseluruhan data di tabel
Customer akan ditampilkan sedangkan data pada tabel Orders yang
kosong bernilai NULL. Kemudian digabungkan dengan perintah
UNION SELECT namun untuk menggabungkannya diperlukan
perintah c RIGHT OUTER JOIN orders o ON c.customer_id =
o.customer_id; yang berarti right join akan menampilkan data secara
keseluruhan pada tabel Orders, namun NULL pada tabel Customer.
Peritah LEFT OUTER JOIN dan RIGHT OUTER JOIN diperlukan
agar kedua tabel dapat berelasi sehingga dapat digabungkan.
6 KESIMPULAN
Berdasarkan praktikum diatas kita dapat simpulkan bahwa Entitas satu dan
Entitas lainnya dapat dihubungkan satu sama lain ini biasa disebut Relationship.
Entitas sendiri adalah objek dalam dunia nyata yang dapat dibedakan dengan objek
lain, sebagai contoh mahasiswa,dosen,departemen. Entitias terdiri atas beberapa
atribut dan setiap entitas harus memiliki 1 atribut unik atau yang disebut dengan
primary key. Dari beberapa Entitas kita juga dapat memahami dalam mengambil atau
menampilkan data tertentu. Dan dapat pula menyelesaikan kasus Retieval yang
melibatkan lebih dari satu entitas.

Union adalah statemaen yang mengkombinasikan dua buah atau lebih resulset
dari beberapa table dengan statemen SELECT sehingga menjadi satu buah resulset.
Union Statemen memiliki beberapa ketentuan sebagai berikut :
a. Jumlah kolom/field dari setiap statemen SELECT harus sama.
b. Tipe data kolom/field dari setiap statemen SELECT harus
kompatibel.

Secara default statemen UNION akan menghapus semua record duplikat dari resulset.
Apabila Anda ingin record duplikat tetap di tampilkan maka pada resulset tuliskan
secara explisit UNION ALL.
7 RUJUKAN
a. Modul 5 Relasi dan Join
b. JagoWebDev, 2016 ” Menghitung Field (Kolom) Pada Tabel MySQL Dengan
Kondisi Tertentu Menggunakan COUNT IF”, http://jagowebdev.com/menghitung-
fieldkolom-pada-tabel-mysql-dengan-kondisi-tertentu-menggunakan-count-if/, Maret
2017.
c. alvian-cs blog, 2014 “Perbedaan INNER, LEFT, RIGHT JOIN Pada SQL”,
http://alvian-cs.blogspot.co.id/2014/11/penggunaan-inner-left-right-join-pada.html,
Maret 2017.
d. DUMETschool, 2014 “Perbedaan INNER JOIN, LEFT JOIN Dan RIGHT JOIN
Pada SQL”, http://www.dumetschool.com/blog/Perbedaan-INNER-JOIN-LEFT-
JOIN-Dan-RIGHT-JOIN-Pada-SQL, Maret 2017
e. ACHMATIM.NET, 2012 “Fungsi GROUP BY dan HAVING untuk
Pengelompokkan Data di MySQL”, http://achmatim.net/2012/04/11/fungsi-group-by-
dan-having-untuk-pengelompokkan-data-di-mysql/, Maret 2017
f. Intan Libra Venus, 2014 “Pengertian ERD (Entity Relationship Diagram)”,
http://intanstemapal24.blogspot.co.id/2014/08/pengertian-erd-entity-
relationship.html, Maret 2017

Anda mungkin juga menyukai