Anda di halaman 1dari 9

Mata Kuliah : Praktikum Sistem Basis Data Acc:

Nama : Meida Prihatiningrum


NIM : A710180059
Tanggal Praktikum : 10 Desember 2020 Tgl:

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

Dengan ilustrasi sebagai berikut


Kode_prodi Jumlah
S1 PTI 3
Dalam mengimplementasikan fungsi klausa where, Group By, dan Having akan
lebih baik apabila memperhatikan hal-hal seperti dibawah:
1. Where berfungsi untuk menampilkan data yag di filter pada operasi yang akan
dinyatakan pada perintah from.
2. Group By bertugas dalam pegelompokan hasil dari klausa Where.
3. Having digunakan dalam memfilter baris – baris pada hasil yang sudah
dikelompokkan.
Fungsi string dapat berfungsi sebagai menampilkan sebuah data berdasarka
pencarian karakter. Dalam pencocokan pola bawaan telah menyediakan alat fleksibel
dalam membuat fungsi string perbandingan. Simbol atau wildcard yang biasa
digunakan dalam mencocokkan pola adalah sebagai berikut:
% Berfungsi dalam mencocokkan karakter sebelum juga sesudah tanda %
_ Berfungsi dalam pencarian karakter sebanyak jumlah tanda _

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

Gambar 7.1. Menampilkan kode prodi dan jumlahnya

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.

2. Kegaiatan 2. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut


gender jumlah
L 4
P 3

Kegiatan
Gambar 7.2. Menampilkan gender dan jumlahnya

Selanjutnya percobaan pada kegiatan dua, menampilkan jumlah dari masing-


masing gender mahasiswa. Yang mana syntax dituliskan sesuai pada gambar 7.2
yaitu (select gender count(*) as jumlah from mahasiswa group by gender;).
Maka hasil output akan sama seperti tabel yang tertera pada soal.

3. Kegiatan 3. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut


nim nama_mhs nilai _uts nilai_uas
13120001 arini 87 89
13120002 ranita 88 77
13120003 mbuko NULL NULL
13120004 doni 98 89
13120005 vina NULL NULL
13120006 jayus NULL NULL
13120007 galuh NULL NULL

Kegiatan

Gambar 7.3. Menampilkan identitas mahasiswa dan nilai uts+uas


Langkah ketiga yaitu melakukan perobaan untuk menampilkan identitas sesuai
dengan nim, nama, nilai uts dan nilai uas. Untuk penulisan syntax nya dapat dilihat
seperti pada gambar 7.3.

4. Kegiatan 4. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut


nim nama_mhs nilai_uts nilai_uas
13120001 Arini 87 89

Kegiatan

Gambar 7.4. Menampilkan nilai mahasiswa Anggraini

Pada kegiatan keempat merupakan melakukan percobaan dalam menampilkan nilai


mahasiswa bernama Anggraini. Yang mana memiliki output pada sebuah nilai uts
nya yaitu 80 dan nilai uas juga 80.

5. Kegiatan 5. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut


mk_id nama_mk jumlah_jam sks
PTI1211 Kalkulus 3 3

Kegiatan

Gambar 7.5. Menampilkan mata kuliah basis data


Kegiatan kelima dilakukan dalam percobaan menampilkan mata kuliah basis data.
Yang mana mata kuliah basis data memiliki mk_id A123, memiliki jumlah jam
pelajaran 2 jam dan 2 sks.

6. Kegiatan 6. Menuliskan syntax SQL sehingga diperoleh hasilnya sebagai berikut


nik inisial nama_dosen mk_id nama_mk sks
7 DN Don Fernando PTI3122 Data Mining 3

Kegiatan

Gambar 7.6. Menampilkan inisial DS

Kegaiatan terakhir melakukan percobaan dalam menampilkan dosen yang


berinisial DS. Penulisan syntax, dapat dilihat seperti pada gambar 7.6, kemudian
ketika ditekan enter maka terlihat output bahwa inisial DS adalah Didik Sutomo
yang mengampu mata kuliah Basis Data.

D. PENYELESAIAN TUGAS
1. Tentukan output dari masing – masing syntax di atas (pada kegiatan praktikum).
Tuliskan dalam laporan.
a. Output kode prodi dan jumlah

Gambar 7.7. Output kode prodi dan jumlah


b. Output gender dan jumlah

Gambar 7.8 Output gender dan jumlah

c. Output identitas mahassiswa dan nilai uts+uas

Gambar 7.9. Output identitas mahassiswa dan nilai uts+uas

d. Output nilai mahasiswa Anggraini

Gambar 7.10. Output nilai mahasiswa Anggraini

e. Output mata kuliah basis data

Gambar 7.11. Output mata kuliah basis data

f. Output inisial DS

Gambar 7.12. Output inisial DS


2. Jelaskan perbedaan antara Outer Left Join dengan Natural Left Join, sertakan
bentuk umum dari syntax keduanya.
Jawab:

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

Anda mungkin juga menyukai