Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

BASIS DATA
” Group By & Fungsi Agregat”

NIM : 42518048
NAMA : REGENA SHERLY PADANDANAN
KELAS : 2B TKJ

34
PRAKTIKUM VI
Group By & Fungsi Agregat

1. Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :


1. Menggunakan fungsi-fungsi agregat
2. Mengelompokkan data dengn menggunakan klausa GROUP BY
3. Memadukan Fungsi Agregat dengan klausa GROUP BY
4. Menyaring pengelompokan data dengan klausa HAVING

2. Dasar Teori

A. FUNGSI AGREGAT (COUNT, SUM, AVG, MIN, MAX)

Fungsi Agregat adalah fungsi-fungsi yang beroperasi pada sekumpulan baris untuk
menghitung dan menghasilkan nilai tunggal . Fungsi Agregat dipakai terutama dalam
report/laporan karena seringkali yang dibutuhkan adalah ringkasan (summary) data di
dalam tabel bukan data aktualnya

Fungsi Keterangan

AVG() Menghasilkan nilai rata-rata dari sebuah kolom

COUNT() Menghasilkan jumlah baris pada sebuah kolom

MAX() Menghasilkan nilai tertinggi dari sebuah kolom

MIN() Menghasilkan nilai terendah dari sebuah kolom

SUM() Menghasilkan jumlah nilai dari sebuah kolom

35
a. COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Jika
menambahkan klausa WHERE, fungsi COUNT menampilkan banyaknya record yang
tersaring. Contoh : perintah untuk menghitung jumlah baris kolom jenis pada tabel
jenisfilm :

SELECT COUNT(JENIS) FROM JENIS FILM;

b. SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh :
perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm :

SELECT SUM(HARGA) FROM JENIS FILM;

c. AVG
Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel.
Nilai 0 (nol) dalam suatu kolom tetap diperhitungkan, sedangkan jika tidak ada nilai
(kosong bukan nol) maka fungsi AVG akan mengabaikannya Contoh : perintah untuk
menghitung rata-rata dari kolom harga pada tabel jenisfilm :

SELECT AVG(HARGA) FROM JENIS FILM;

d. MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel.
Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm :

SELECT MIN(HARGA) FROM JENIS FILM;

e. MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel.
Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabel jenisfilm :

SELECT MAX(HARGA) FROM JENIS FILM;

36
B. GROUP BY dan HAVING

Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Sebagai contoh,


terdapat tabel film dengan data sebagai berikut : Akan ditampilkan hanya kolom jenis dan
digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada
tabel film :

SELECT JENIS, SUM(JML_FILM) FROM FILM GROUP BY JENIS;

Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY.
Kelompok yang memenuhi HAVING saja yang akan dihasilkan. Contoh : perintah untuk
menampilkan data hanya kolom jenis yang dikelompokkan berdasarkan kolom jenis,
dimana jumlah film berdasarkan kelompoknya harus lebih besar dari satu pada tabel film :

SELECT JENIS FROM FILM GROUP BY JENIS HAVING


COUNT(KODE_FILM)>1;

Untuk efesiensi harus dimengerti urutan pemilihan Where, Group By dan Having :
· Where dipakai untuk filter baris-baris dari operasi yang dinyatakan oleh perintah from.
· Group By dipakai untuk mengelompokkan hasil dari Where.
· Having dipakai untuk memfilter baris-baris dari hasil pengelompokan.

3. Daftar Alat dan Bahan


1. Personal Komputer 1 Unit
2. Software DBMS (MS. Access, SQL Server, MySQL, Visual Foxpro)

4. Keselamatan Kerja
1. Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power
Supply.
2. Matikan komputer setelah praktikum selesai

37
5. Langkah Kerja
1. Buatlah query menggunakan fungsi-fungsi agregat (COUNT, SUM, AVG, MAX
DAN MIN)
COUNT
SELECT COUNT(jumlah_Tamu) from pembayaran;

38
SUM
SELECT SUM(harga_kamar)as total_harga_kamar from pembayaran;

AVG
SELECT AVG(harga_kamar)as Rata_rata from pembayaran;

39
MAX
SELECT MAX(Harga_total)as Min_Harga_total from pembayaran;

40
MIN
SELECT MIN(harga_kamar)as total_harga_kamar from pembayaran;

2. Buatlah query menggunakan klausa GROUP BY


select Harga_kamar,COUNT(*)AS jumlah from pembayaran group by
harga_kamar;

41
3. Lakukan filtering kelompok data dengan menggunakan HAVING
SELECT Harga_kamar, COUNT(Harga_total)as total from pembayaran
GROUP BY jumlah HAVING COUNT(harga_total) > 1;
SELECT Harga_kamar, sum(Harga_total)as total from pembayaran GROUP
BY jumlah HAVING sum(harga_total) > 1;
SELECT Harga_kamar, max(Harga_total)as total from pembayaran GROUP
BY jumlah HAVING max(harga_total) > 1;
SELECT Harga_kamar, min(Harga_total)as total from pembayaran GROUP BY
jumlah HAVING min(harga_total) > 1;
SELECT Harga_kamar, avg(Harga_total)as total from pembayaran GROUP BY
jumlah HAVING Avg(harga_total) > 1;

42
SELECT COUNT(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
COUNT(harga_total) > 1;
SELECT sum(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
sum(harga_total) > 1;
SELECT min(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
min(harga_total) > 1;
SELECT max(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
max(harga_total) > 1;
SELECT avg(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
avg(harga_total) > 1;

43
6. Pertanyaan dan Tugas
1. Apa kesimpulan yang Anda dapatkan pada praktikum ini?
Dari semua itu dapat disimpulkan bahwa agregasi merupakan proses untuk
mendapatkan nilai dari sekumpulan data yang telah dipilih. Dan lima fungsi agregat
baku, yaitu :SUM (Nilai keseluruhan atau total), MAX ( Terbesar ), MIN ( Terkecil ),
AVG (Rata-Rata), Count ( cacah jumlah ).Fungsi Agregat adalah fungsi-fungsi yang
beroperasi pada sekumpulan baris untuk menghitung dan menghasilkan nilai tunggal
. Fungsi Agregat dipakai terutama dalam report/laporan karena seringkali yang
dibutuhkan adalah ringkasan(summary) data di dalam tabel bukan data aktualnya
sedangkan Klausa HAVING digunakan untuk menentukan kondisi bagi klausa
GROUP BY. Kelompok yang memenuhi HAVING saja yang akan dihasilkan.

2. Berikan contoh sintaks SQL masing-masing menggunakan Where dan Having, jelaskan
perbedaan hasil yang diperoleh !

SELECT * FROM PENGGUNAKU WHERE NAMA_PENGGUNA LIKE 'REGE%';

· Where dipakai untuk memfilter baris-baris dari operasi yang dinyatakan oleh
perintah from.

44
SELECT COUNT(Harga_total)as total from pembayaran GROUP BY jumlah HAVING
COUNT(harga_total) > 1;

· Having dipakai untuk memfilter baris-baris dari hasil pengelompokan,

45

Anda mungkin juga menyukai