MODUL 7
PENGELOMPOKAN & PENGGABUNGAN
A. DASAR TEORI
Pada SQL memiliki banyak kata kunci yang berguna unutk melengkapi sebuah
statement select yang berfungsi untuk memperoleh tampilan sebuah data. Yang mana
dapat disebut dengan salah satunya yaitu Group By dan Having.
Group By adalah sebuah fungsi yang bertugas untuk menglompokkan data pada
kolom yang diseleksi. Fungsi ini menghasilkan kelompok data berupa data yang
dihilangkan data yang sama di dalam satu tabel. Oleh karena itu, apabila terdapat
beberapa data yang bernilai sama maka data yang ditampilkan hanya satu. Berikut ini
merupakan fungsi Group pada SQL seperti halnya: AVG, COUNT, MAX, MIN, dan
SUM. Format penulisan Group BY dalam MsQL sebagai berikut
SELECT [KOLOM1], [KOLOM2] FROM NAMA_TABEL GROUP BY
[KOLOM1], KOLOM2]
Klausa HAVING berfungsi untuk menentukan kondisi oleh Group By yang mana
kelompok yang memenuhi Having saja yang akan dihasilkan. Having berlaku pada
kelompok query group yang mana berfungsi seperti WHERE. Contoh having:
peritah/syntax untuk menampilkan data hanya pada kolom kode_prodi yang
dikelompokkan berdasarkan kolom kode_prodi, yang mana jumlah program studi
sesuai kelompoknya harus memiliki nilai lebih besar dari satu pada tabel mahasiswa.
Format penulisan HAVING sebagai berikut
SELECT kode_prodi, COUNT (*) AS jumlah FROM mahasiswa GROUP BY
kode_prodi HAVING COUT (kode_prodi) > 1
Inner join adalah perintah yang bertugas dalam menampilkan seluruh data yang
memiliki nilai yang sama. Outer Join adalah peritah yang diguakan sebagai
meghubugkans atu arah, dimana memugkinkan ada data NULL dalam satu sisi. Outer
sediri terbagi menjadi dua diantaranya yaitu Left Join dan Right Join.
Left join adalah sebuah cara yang memiliki tugas dalam menghubungkan suatu
tabel serta menampilkan semua data pada sisi kiri dengan tabel yang berhubungan.
Sedangkan data yang memiliki nilai kosong atau tidak bernilai akan memiliki nilai
NULL. Sedangkan Right Join adalah sebuah perintah yang bertugas untuk
menghubugkan tabel juga menampilkan seluruh data pada sisi kanan pada tabel yang
tidak memiliki hubungan. Dalam arti data yang kosong otomatis akan bernilai NULL
juga sama seperti pada Left Join.
Pembahasan yan terakhir yaitu peggabungan tiga atau lebih tabel. Pada dasarnya
penggabungan ini masih sama seperti pada penggabungan dua tabel. Dengan cara
memasukkan seluruh data, kemudian gabungkan ketiga tabel sesuai dengan kesamaan
dantara ketiga tabel yaitu melalui Field.
B. TUJUAN PRAKTIKUM
Setelah mengikuti kegiatan praktikum ini, mahasiswa diharapkan mampu:
1. Melakukan pencarian kembali data dan mengelompokkannya.
2. Menampilkan data dengan pencocokan pola atau karakter.
C. ANALISA HASIL
1. Kegiatan 1. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut
Kode_prodi Jumlah
S1 IF 1
S1 TE 1
S1 PTE 2
S1 PTI 3
Kegiatan
Percobaan yang pertama yaitu menuliskan syntax untuk menampilkan seperti pada
tabel soal. Sebelum menuliskan syntax tersebut, hal pertama yang dilakukan
adalah mengecek seluruh data mahasiswa. Setelah itu tuliskan syntax kodeprodi
seperti pada gambar 7.1.
Kegiatan
Gambar 7.2. Menampilkan gender dan jumlahnya
Kegiatan
Kegiatan
Kegiatan
Kegiatan
D. PENYELESAIAN TUGAS
1. Tentukan output dari masing – masing syntax di atas (pada kegiatan praktikum).
Tuliskan dalam laporan.
a. Output kode prodi dan jumlah
f. Output inisial DS
Ilustrasi
Field A Field B Field C Field D
Data1 Data1
Data2 Data2
Data3 Data3
Outer Left Join pada dasarnya field pada tabel diatas sudah memiliki data masing-
masing. LEFT OUTER JOIN menampilkan hanya pada field pada sisi kiri saja.
Perintah
SELECT customer.CustomerID, customers.ContactName,
Orders.OrderID, orders.OrderDate
FROM customers LEFT OUTER JOIN orders
ON customers.CustomerID=orders.OrderID;
Natural Left Join adalah operasi equijoin yang mana memiliki field bernama sama
dalam tabel R dan tabel S.
Perintah
SELECT CustomerID, CompanyName, OrderID, OrderDate
FROM customers NATURAL LEFT JOIN orders
Perbedaan: Outer Left Join hanya menampilkan data pada field bagian kiri saja
(lingkup tabel yang sama). Sedangkan atural Left Join tabel yang akan di
NATURAL LEFT JOIN harus memiliki minimal satu nama kolom yang sama.
3. Jelaskan perbedaan antara Outer Right Join dengan Natural Right Join, sertakan
bentuk umumnya.
Jawab:
Ilustrasi
Field A Field B Field C Field D
Data1 Data1
Data2 Data2
Data3 Data3
Outer Right Join adalah data field akan ditampilkan pada sisi kanan, dengan syarat
masih dalam lingkup tabel yang masih sama.
Perintah
SELECT customer.CustomerID, customers.ContactName,
Orders.OrderID, orders.OrderDate
FROM customers RIGHT OUTER JOIN orders
ON customers.CustomerID=orders.OrderID;
Natural Right Join merupakan operasi equijoin yang mana memiliki field bernama
sama dalam tabel R dan tabel S namun dari kanan.
Perintah
SELECT CustomerID, CompanyName, OrderID, OrderDate
FROM customers NATURAL RIGHT JOIN orders
E. KESIMPULAN
1. Group By dapat digunakan pada penerapan untuk menampilkan nilai rata – rata
dari tabel mahasiswa, yang mana fungsi yang digunakan adalah AVG.
2. Query yang digunakan dalam menampilkan nilai terbesar dan terkecil pada setiap
mahasiswa dapat dilakukan dengan menerapka fungsi MAX() dan MIN().
3. Apabila where digunakan dalam fungsi agrerat akan menyebabkan error, oleh
karena itu solusinya menerapkan struktur kondisi HAVING.
F. DAFTAR PUSTAKA
1. Widodo, A. W., & Kurnianingtyas, D. (2017). Sistem Basis Data. Universitas
Brawijaya Press.
2. Yanto, R. (2016). Manajemen Basis Data Menggunakan MySQL. Deepublish.
3. Achmatim. Fungsi Group By dan Having untuk Pengelompokan Data di MySQL.
https://achmatim.net/2012/04/11/fungsi-group-by-dan-having-untuk-
pengelompokkan-data-di-mysql/
diakses pada: 09. 54 WIB 15 Desember 2020