Anda di halaman 1dari 18

LAPORAN AKHIR PRAKTIKUM

BASIS DATA I

NAMA : PUTRO SUCIANTO


NIM : DBC 116 047
KELAS :B
MODUL : III DATA MANIPULATION LANGUAGE (DML) :
JOIN, UNION, DAN GROUPING

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2018
BAB I
TUJUAN DAN LANDASAN TEORI

1.1 TUJUAN
Setelah praktikum ini mahasiswa dapat :
a. Menampilkan data dari dua table atau lebih dengan menggunakan perintah
right join dan left join.
b. Memahami perbedaan right join dan left join.
c. Menampilkan gabungan data dari dua table atau lebih dengan
menggunakan perintah union.
d. Menampilkan data yang dikelompokkan sesuai kolom tertentu.
e. Menggunakan fungsi-fungsi yang biasa dipergunakan bersama perintah
grouping (count, max, min, avg);

1.2 LANDASAN TEORI


Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara
kedua tabel atau lebih yang saling memiliki hubungan / relasi (ditandai
dengan adanya primary key pada tabel master dan foregn key pada).
Ada beberapa jenis join diantaranya adalah :
1.2.1 Inner Join
Inner join digunakan untuk menggabungkan dua atau lebih tabel
yang dijadikan sebagai referensi join memiliki nilai yang sama pada
tabel sebelah kiri dan pada tabel sebelah kanan. Dengan inner join, tabel
akan digabungan dua arah, sehingga tidak ada data yang NULL di satu
sisi. Dengan Inner Join hanya akan ditampilkan baris-baris yang satu
sama lain memiliki kecocokan.
Bentuk umum dari inner join :
SELECT Field FROM tabel1 INNER JOIN tabel2 ON kondisi
Contoh :
SELECT a.nama, b.gejala
FROM pasien a
INNER JOIN gejala b
ON b.id = a.id;
|------ |---------- |
| nama | gejala |
|-------- |---------- |
| John | Demam |
| Jane | Pusing |
| Mike | Mual |

1.2.2 Left Join


Left join digunakan untuk menggabungkan dua atau lebih tabel
dimana field yang digunakan sebagai referensi pada tabel sebelah kiri
akan tetap ditampilkan walaupun tidak ada dalam tabel sebelah kanan.
Left Join akan menampilkan semua baris dari tabel sebelah kiri
(pertama/utama) dengan gabungan dari tabel sebelah kanan (kedua atau
symptom).
Bentuk umum dari left join :
SELECT Field FROM tabel1 LEFT JOIN tabel2 ON kondisi
Contoh :
SELECT a.nama, b.gejala
FROM pasien a
LEFT JOIN gejala b
ON b.id = a.id;
|------- |---------- |
| nama | gejala |
|------- |---------- |
| John | Demam |
| Jane | Pusing |
| Mike | Mual |
| Doel | NULL |

Perbedaannya dengan Inner Join ialah, pada left Join seluruh baris dari
tabel pertama akan ditampilkan meskipun tidak ada kecocokan baris
pada tabel kedua. Lihat contoh diatas, pasien Doel tidak memiliki data
symptom sehingga tertampil NULL (NULL disini menyatakan bahwa
tidak ada data pada kolom tersebut). Selain itu, posisi tabel jadi
mempunyai makna, yaitu tabel kiri atau pertama (ialah tabel sebelum
'LEFT JOIN') akan menjadi tabel utama yang diquery terlebih dahulu,
baru kemudian dicarikan kecocokannya dengan tabel kanan atau kedua
(ialah tabel setelah 'LEFT JOIN').

1.2.3 Right Join


Right join digunakan untuk menggabungkan dua atau lebih tabel
dimana semua field yang ada pada tabel sebalah kanan akan
ditampilkan walapun tidak memiliki nilai yang sama dengan referensi
yang ada dalam tabel sebelah kiri. Right Join hampir sama dengan Left
join, hanya saja posisinya terbalik, yaitu akan menampilkan semua baris
dari tabel kanan (kedua) meskipun tidak ada kecocokan pada tabel kiri
(pertama).
Bentuk umum dari right join :
SELECT Field FROM tabel1 RIGHT JOIN tabel2 ON kondisi
Contoh :
SELECT a.nama, b.gejala
FROM pasien a
RIGHT JOIN gejala b
ON b.id = a.id;
|------- |---------- |
| nama | gejala |
|------- |---------- |
| John | Demam |
| Jane | Pusing |
| Mike | Mual
BAB II
PEMBAHASAN

Tugas praktikum dikerjakan dengan mempergunakan database hasil dari


modul sebelumnya.

2.1 Tugas yang pertama, dengan right join, menampilkan data penjualan album!
(kolom yang ditampilkan: nama album, penyanyi, jumlah quantity terjual)
Penyelesaian :

Gambar 2.1 Perintah right join

Keterangan :
Perintah use akan mengaktifkan database dengan nama dbc_116_047
sehingga dapat memanipulasi data yang ada.
Select a.judul merupakan perintah untuk menampilkan kolom judul.
As ‘nama album’ merupakan perintah untuk membuat tabel alias dengan
mengubah nama kolom judul menjadi nama album tetapi tidak merubah
koding, karena tabel alias hanya menampilkan tabel yang tersedia
menggunakan nama lain.
Select a.Penyanyi merupakan kolom yang akan ditampilkan setelah
kolom judul.
Select d.qty merupakan kolom yang akan ditampilkan setelah kolom
penyanyi.
As ‘jumlah quantity terjual’ merupakan perintah untuk membuat tabel
alias dengan mengubah nama kolom penjumlahan qty menjadi jumlah
quantity terjual, tetapi tidak merubah koding, karena tabel alias hanya
menampilkan tabel yang tersedia menggunakan nama lain.
Huruf a dan d merupakan sebuah simbol untuk membedakan berasal dari
tabel mana, yaitu untuk huruf a dari tabel album sedangkan huruf d dari tabel
detail_penjualan.
From album menunjukkan bahwa kolom yang akan ditampilkan berasal
dari tabel album yaitu a.
Right join merupakan perintah untuk menggabungkan 2 tabel, dimana
semua field yang ada pada tabel sebelah kanan akan ditampilkan walaupun
tidak memiliki nilai yang sama dengan referensi yang ada pada tabel sebelah
kiri.
detail_penjualan merupakan tabel yang akan digabungkan dengan tabel
album.
Huruf a dan d merupakan simbol untuk mewakili tabel, a mewakili tabel
album dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album merupakan syarat untuk melakukan
join dimana kode_album pada tabel album memiliki nilai yang sama dengan
kode_album pada tabel detail_penjualan.
Group by judul merupakan perintah untuk mengurutkan data berdasarkan
kolom/field judul.

Beikut output yang dihasilkan dari perintah di atas :

Gambar 2.2 Output dari perintah right join

2.2 Tugas yang kedua, Dengan left join, menampilkan data penjualan album!
(kolom yang ditampilkan: nama album, penyanyi, quantity terjual)
Penyelesaian :

Gambar 2.3 Perintah left join

Keterangan :
Select a.judul merupakan perintah untuk menampilkan kolom judul.
As ‘nama album’ merupakan perintah untuk membuat tabel alias dengan
mengubah nama kolom judul menjadi nama album tetapi tidak merubah
koding, karena tabel alias hanya menampilkan tabel yang tersedia
menggunakan nama lain.
Select a.Penyanyi merupakan kolom yang akan ditampilkan setelah
kolom judul.
Select d.qty merupakan kolom yang akan ditampilkan setelah kolom
penyanyi.
As ‘jumlah quantity terjual’ merupakan perintah untuk membuat tabel
alias dengan mengubah nama kolom penjumlahan qty menjadi jumlah
quantity terjual, tetapi tidak merubah koding, karena tabel alias hanya
menampilkan tabel yang tersedia menggunakan nama lain.
Huruf a dan d merupakan sebuah simbol untuk membedakan berasal dari
tabel mana, yaitu untuk huruf a dari tabel album sedangkan huruf d dari tabel
detail_penjualan.
From album menunjukkan bahwa kolom yang akan ditampilkan berasal
dari tabel album yaitu a.
Left join merupakan perintah untuk menggabungkan 2 tabel, dimana
semua field yang ada pada tabel sebelah kiri akan ditampilkan walaupun tidak
memiliki nilai yang sama dengan referensi yang ada pada tabel sebelah
kanan.
detail_penjualan merupakan tabel yang akan digabungkan dengan tabel
album.
Huruf a dan d merupakan simbol untuk mewakili tabel, a mewakili tabel
album dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album merupakan syarat untuk melakukan
join dimana kode_album pada tabel album memiliki nilai yang sama dengan
kode_album pada tabel detail_penjualan.
Group by judul merupakan perintah untuk mengurutkan data berdasarkan
kolom/field judul.
Berikut output yang dihasilkan dari perintah di atas :

Gambar 2.4 Output dari perintah left join

2.3 Tugas yang ketiga, menampilkan data album yang paling laris!
Penyelesaian :

Gambar 2.5 Perintah untuk menampilkan data album yang paling laris

Keterangan :
Select a.* merupakan perintah untuk menampilkan seluruh data pada
tabel.
Max(d.qty) merupakan operasi matematika yang berfungsi untuk
mengetahui nilai terbesar dari kolom qty.
As ‘jumlah terjual’ merupakan perintah untuk membuat tabel alias
dengan mengubah nama kolom pada kolom untuk mencari nilai terbesar dari
kolom qty menjadi jumlah terjual tetapi tidak merubah koding, karena tabel
alias hanya menampilkan tabel yang tersedia menggunakan nama lain.
Huruf a dan d merupakan sebuah simbol untuk membedakan berasal dari
tabel mana, yaitu untuk huruf a dari tabel album sedangkan huruf d dari tabel
detail_penjualan.
From album menunjukkan bahwa kolom yang akan ditampilkan berasal
dari tabel album yaitu a.
Inner join merupakan perintah untuk menggabungkan 2 tabel, dimana
tabel yang dijadikan sebagai referensi join memiliki nilai yang sama pada
tabel sebelah kiri dan pada tabel sebelah kanan.
detail_penjualan merupakan tabel yang akan digabungkan dengan tabel
album.
Huruf a dan d merupakan simbol untuk mewakili tabel, a mewakili tabel
album dan b mewakili tabel detail_penjualan.
On a.kode_album = d.kode_album merupakan syarat untuk melakukan
inner join dimana kode_album pada tabel album memiliki nilai yang sama
dengan kode_album pada tabel detail_penjualan. Apabila tidak memiliki nilai
yang sama maka inner join tidak dapat dilakukan.

Berikut output yang dihasilkan dari perintah di atas :

Gambar 2.6 Output dari perintah untuk menampilkan data album yang paling
laris

2.4 Tugas yang keempat, menampilkan data album yang termurah!


Penyelesaian :

Gambar 2.7 Perintah untuk menampilkan data album yang termurah

Keterangan :
Select * from album merupakan perintah untuk menampilkan seluruh
data pada tabel album.
Where harga = (select min(harga) from album), perintah ini merupakan
syarat dari data yang akan ditampilkan pada tabel album. Data yang akan
ditampilkan hanyalah data yang memiliki nilai harga terendah.

Berikut output yang dihasilkan dari perintah di atas :

Gambar 2.8 Ouput dari perintah untuk menampilkan data album yang
termurah
2.5 Tugas yang kelima, menampilkan data penjualan album per hari!
Penyelesaian :

Gambar 2.9 Perintah untuk menampilkan data penjualan album per hari

Keterangan :
Select kode_penjualan merupakan perintah untuk menampilkan kolom
kode_penjualan.
Tanggal merupakan kolom yang akan ditampilkan setelah kolom
kode_penjualan.
Total as ‘penjualan perhari’ merupakan kolom yang akan ditampilkan
selanjutnya dengan mengganti nama total menjadi penjualan perhari.
From penjualan menunjukkan bahwa kolom-kolom yang akan
ditampilkan berasal dari tabel penjualan.

Beikut output yang dihasilkan dari perintah di atas :

Gambar 2.10 Output perintah untuk menampilkan data penjualan album per
hari

TUGAS PENDAHULUAN
Jawaban untuk tugas pendahuluan, sebagai berikut :
1. Menjelaskan apa yang dilakukan oleh perintah-perintah SQL pada langkah 1-
8!
a. Pada langkah satu, terdapat perintah (select nim, nama, dosen_pa from
mahasiswa;). Pada perintah ini berguna untuk menampilkan seluruh data
dari kolom/field nim, nama, dosen_pa yang merupakan kolom\filed dari
tabel mahasiswa.
b. Pada langkah dua, terdapat perintah (select nip, nama from dosen;). Perintah
ini berguna untuk menampilkan seluruh data dari kolom\field nip, nama
yang merupakan kolom\field dari tabel dosen.
c. Pada langkah tiga, terdapat perintah (select nim, m.nama as 'nama
mahasiswa', d.nama as 'nama dosen PA' from mahasiswa m left join dosen d
on m.dosen_pa = d.nip;). Perintah ini berguna untuk menampilkan kolom
nim, nama, dan membuat tabel alias “nama mahasiswa” dengan perintah
“as” pada kolom nama yang berasal dari tabel masiswa, dan juga membuat
tabel alias “nama dosen PA” dengan perintah “as” pada kolom nama yang
berasal dari tabel dosen, dan perintah from menunjukan bahwa kolom yang
akan ditampilkan berasal dari tabel mahasiswa, yang tabel mahasiswa di
simbolkan dengan huruf a sedangkan untuk tabel dosen disimbolkand
dengan huduf d, terdapat juga perintah left join untuk menggabungkan 2
tabel, dimana semua field yang ada pada tabel sebelah kiri akan ditampilkan
walaupun tidak memiliki nilai yang sama dengan referensi yang ada pada
tabel sebelah kanan, perintah On merupakan syrat untuk melakukan join
yang dimana syratnya adalah m.dosen_pa pada tabel mahasiswa memilki
nilai yang sama dengan d.nip pada tabel dosen.
d. Pada langkah empat, terdapat perintah (select nim, m.nama as 'nama
mahasiswa', d.nama as 'nama dosen PA' from mahasiswa m right join dosen
d on m.dosen_pa = d.nip;). Pada perintah ini penjelasan nya sama dengan
langkah tiga, tetapi pada langkah empat ini, menggunakan right join yang
berguna untuk menggabungkan 2 tabel, dimana semua field yang ada pada
tabel sebelah kanan akan ditampilkan walaupun tidak memiliki nilai yang
sama dengan referensi yang ada pada tabel sebelah kiri.
e. Pada langkah lima, terdapat perintah (select nim as 'ID pengenal', nama
from mahasiswa union select nip, nama from dosen;). Perintah ini berguna
untuk menampilkan kolom nim, dan nama, kolom nim membuat tabel alias
“ID pengenal”, yang berasal dari tabel mahasiswa, dan juga menampilkan
kolom nip dan nama yang berasal dari tabel dosen. Perintah union
digunakan untuk menggabungkan dua data set yang memiliki kolom dengan
definisi dan urutan yang sama. Dalam hal ini yang ingin ditampilkan yaitu
ID pengenal dan nama dari masing-masing tabel.
f. Pada langkah enam, terdapat perintah (select nim as 'ID pengenal', nama,
tgl_lahir from mahasiswa union select nip, nama from dosen;). Perintah ini
tidak bisa dijalankan karena, union tidak bisa menampilkan dua data set
yang tidak memiliki kolom dengan definisi yang sama, dalam hal ini kolom
tgl_lahir dari tabel mahasiswa.
g. Pada langkah tujuh, terdapat perintah (select nim as 'ID pengenal', nama,
'mahasiswa' as keterangan from mahasiswa union select nip, nama, 'dosen'
from dosen;). Perintah ini menampilkan kolom nim yang membuat kolom
alias “ID pengenal” dengan perintah “as”, nama, menampilkan ‘mahasiswa’
di kolom keterangan yang berasal dari tabel mahasiswa. Dan menampilkan
kolom nip, nama, “dosen” yang berasl dari tabel dosem. Perintah union
menggabungkan dua data set yang memiliki kolom dengan definisi dan
urutan yang sama. Dalam hal ini yang ingin ditampilkan yaitu ID pengenal
dan nama, dan juga memberi keterangan mahasiswa atau dosen di kolom
keterangan dari masing-masing tabel.
h. Pada langkah enam lagi, terdapat perintah (select tmp_lahir,
count(tmp_lahir) as 'jumlah' from mahasiswa group by tmp_lahir;). Perintah
ini menampilkan kolom tmp_lahir, count berfungsi untuk menghitung
jumlah dari jumlah data dari kolom tmp_lahir dan juga membuat kolom
alias (jumlah) dengan perintah “as” yang berasal dari tabel mahasiswa.
Group by tmp_lhr merupakan perintah untuk mengurutkan data berdasarkan
kolom judul.
i. Pada langkah tujuh lagi, terdapat perintah (select nim, nama, max(ipk) from
mahasiswa;). Perintah ini akan error karena perintah untuk max (ipk) tidak
ditambahkan kolom alias untuk menampung perhitungan max (ipk) dan juga
tidak disertakan perintah group by, karena perintah max memerlukan base
dari kolom group by.
j. Pada langkah delapan, terdapat perintah (select tmp_lahir, max(ipk) as 'IPK
tertinggi' from mahasiswa group by tmp_lahir;). Pada perintah ini,
merupakan yang benar dari perintah langkah tujh di atas, yang
menambahkan tabel alias dan menyertkan perintah group by kolom yang
dituju. Yang dimana menampilkan data dari kolom tm_lhr yang dihitung ipk
tertunggi dan ditampung di kolom IPK tertinggi.

2. Perbedaan right join dan left join, kalau left join merupakan cara
menghubungkan tabel dan menampilkan semua data (kiri) pada tabel yang
tidak berhubungan, sedangkan data yang kosong akan bernilai NULL.
Sedangkan right join menghubungkan tabel dan menampilkan semua data
(kanan) pada tabel yang tidak berhubungan, dan data yang kosong akan
bernilai NULL.

3. Gunakan fungsi CAST untuk mengubah tipe kolom tersebut, dan secara
default, operator UNION akan mengumpulkan record non-distinct dalam
record tunggal. Gunakan ALL untuk mempertahankan record non-distinct.
Untuk menggabungkan dua buah tabel dimana satu tabel tidak mempunyai
suatu kolom tabel lain, gunakan suatu ekpresi atau literal yang sesuai.
BAB III
KESIMPULAN

Adapun kesimpulan dari laporan praktikum ini bahwa dapat mengenal


perintah-perintah sql yaitu :
1. JOIN
Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara
kedua tabel atau lebih yang saling memiliki hubungan / relasi (ditandai dengan
adanya primary key pada tabel master dan foregn key pada).

2. INNER JOIN
Inner join digunakan untuk menggabungkan dua atau lebih tabel yang
dijadikan sebagai referensi join memiliki nilai yang sama pada tabel sebelah
kiri dan pada tabel sebelah kanan. Dengan inner join, tabel akan digabungan
dua arah, sehingga tidak ada data yang NULL di satu sisi.

3. LEFT JOIN
Left join digunakan untuk menggabungkan dua atau lebih tabel dimana
field yang digunakan sebagai referensi pada tabel sebelah kiri akan tetap
ditampilkan walaupun tidak ada dalam tabel sebelah kanan.

4. RIGHT JOIN
Right join digunakan untuk menggabungkan dua atau lebih tabel dimana
semua field yang ada pada tabel sebalah kanan akan ditampilkan walapun tidak
memiliki nilai yang sama dengan referensi yang ada dalam tabel sebelah kiri.

5. UNION
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.

6. COUNT, MAX, MIN


Count digunakan untuk menghitung jumlah (cacah) suatu data. Max
digunakan untuk mendapatkan nilai terbesar dari data-data yang ada. Min
digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.

7. GROUP BY
Group by digunakan pada pernyataan SELECT untuk agregasi data
berdasarkan grup (pengelompokan) suatu kolom.
BAB IV
DAFTAR PUSTAKA

Dosen Teknik Informatika. 2012. “Modul Praktikum Basis Data I”. Palangka
Raya : Universitas Palangka Raya.

Firdaus. 2015. “Penggunaan Perintah Join Pada Mysql”. [Online]. Tersedia :


http://strukturweb.blogspot.co.id/2015/03/pengertian-dan-penggunaan-join-
pada-mysql.html. (Diakses pada 18 April 2018).

Hakim, Risma. 2017. “Perbedaan Inner Join, Left Join, Right Join, Dsb”.
[Online]. Tersedia : https://www.dumetschool.com/blog/perbedaan-inner-
join-left-join-right-join-dsb. (Diakses pada 18 April 2018).

Ismawati, Tamia. 2016. “Perintah-perintah SQL beserta contoh


penggunaannya”. [Online]. Tersedia :
http://tamiaismawati.blogspot.co.id/2016/02/perintah-perintah-sql-beserta-
contoh.html. (Diakses pada 18 April 2018).

Nopryadi. 2014. “Kumpulan Perintah-Perintah Dasar Mysql”. [Online]. Tersedia


: http://nopryadipraskab.blogspot.co.id/2014/12/kumpulan-perintah-
perintah-dasar-mysql.html. (Diakses pada 18 April 2018).

Sya’diyah, Halimatus. 2015. “Contoh Penggunaan Union dan Union All Pada
Basis Data”. [Online]. Tersedia :
http://halimatuzaini.blogspot.co.id/2015/01/contoh-penggunaan-union-dan-
union-all.html. (Diakses pada 18 April 2018).
BAB V
LAMPIRAN

Gambar 5.1 Perintah right join

Gambar 5.2 Output dari perintah right join

Gambar 5.3 Perintah left join

Gambar 5.4 Output dari perintah left join

Gambar 5.5 Perintah untuk menampilkan data album yang paling laris

Gambar 5.6 Output dari perintah untuk menampilkan data album yang paling laris

Gambar 5.7 Perintah untuk menampilkan data album yang termurah


Gambar 5.8 Ouput dari perintah untuk menampilkan data album yang termurah

Gambar 5.9 Perintah untuk menampilkan data penjualan album per hari

Gambar 5.10 Output perintah untuk menampilkan data penjualan album per hari

Anda mungkin juga menyukai