BELAJAR SQL #4 FUNGSI AGREGAT DALAM SQL


PENGERTIAN
Fungsi agregat adalah fungsi yang digunakan untuk mengkoleksi sejumlah data yang tersimpan pada suatu field dan menampilkannya dalam bentuk nilai tunggal. Fungsi agregat yang ada dalam SQL adalah SUM, MAX, MIN, AVG dan COUNT. Fungsi agregat ini bisa digunakan pada perintah SELECT untuk menampilkan data dengan memunculkan nilai tunggal. Kegunaan masing-masing fungsi agregat antara lain :
SUM      digunakan untuk menghitung total jumlah data yang tersimpan pada sebuah field. Bentuk umum penggunakan fungsi SUM adalah :
                 SUM(nama_field)
MAX     digunakan untuk menentukan nilai tertinggi dari data yang tersimpan pada sebuah field. Bentuk umum penggunaan fungsi MAX adalah :
                MAX(nama_field)
MIN     digunakan untuk menentukan nilai terendah dari data yang tersimpan pada sebuah field. Bentuk umum penggunaan fungsi MAX adalah :
                 MIN(nama_field)
AVG       digunakan untuk mencari nilai rata-rata dari data yang tersimpan pada sebuah field. Bentuk umum penggunaan fungsi AVG adalah :
                      AVG(nama_field)
COUNT  digunakan untuk menghitung jumlah record dalam sebuah tabel. Bentuk umum penggunaan fungsi COUNT adalah :
                COUNT(nama_field)

IMPLEMENTASI FUNGSI AGREGAT
Sebelum mengimplementasikan fungsi agregat ini sediakan terlebih dari sebuah database dengan nama dbkantor di localhost, perintah SQL-nya

Create database dbkantor
Buat sebuah tabel di dalam database dbkantor dengan struktur seperti berikut :
Tabel Name :tblpenggajian
Deskripsi Field
Field Name
Field Type
Field Size
NiK
Nama
Tpt_lahir
Tgl_lahir
Gol
Ga_pok
Tunj_umum
Tunj_Klg
Varchar
Varchar
Varchar
Date
Varchar
Double
Double
Double
8
30
20

5
Nomor Induk Karyawan
Nama Karyawan
Tempat Lahir
Tanggal Lahir
Golongan
Gaji Pokok
Tunjangan Umum
Tunjangan Keluarga

Perintah SQL-nya
CREATE TABLE tblpenggajian
( nik varchar(8) Primary Key,
Nama varchar(30),
Tpt_lahir varchar(20),
Tgl_lahir date,
Gol Varchar(5),
Ga_pok Double,
Tunj_umum Double,
Tunj_klg Double)

Masukkan data ke tabel tblpenggajian seperti data di bawah ini
NIK
Nama
Tpt_lahir
Tgl_lahir
Gol
Ga_pok
Tunj_umum
Tunj_klg
001-1
Andika
Bukittinggi
10 Jan 83
I
1.000.000
300.000
0
002-1
Desi
Padang
3 Okt 88
I
1.000.000
300.000
300.000
003-2
Deni
Bukittinggi
1 Jan 89
II
1.500.000
400.000
300.000
004-2
Wati
Bukittinggi
18 Des 87
II
1.500.000
400.000
0
005-1
Desi
Jambi
10 Mei 94
I
1.000.000
300.000
200.000
006-3
Iwan
Padang
11 Apr 95
III
2.000.000
550.000
300.000
007-3
Sandra
Bukittinggi
31 Mar 92
III
2.000.000
550.000
300.000
008-1
Putra
Bukittinggi
17 Okt 79
I
1.000.000
300.000
0
009-3
Ario
Jakarta
2 Mar 88
III
2.000.000
550.000
200.000
010-1
Jaya
Padang
3 Jun 89
I
1.000.000
300.000
200.000

Perintah SQL-nya :
INSERT INTO tblpenggajian (nik, Nama, Tpt_lahir, Tgl_lahir, Gol, Ga_pok, Tunj_umum, Tunj_klg) VALUES
('001-1', 'Andika', 'Bukittinggi', '1983-01-10', 'I', 1000000, 300000, 0),
('002-1', 'Desi', 'Padang', '1988-10-03', 'I', 1000000, 300000, 300000),
('003-2', 'Deni',  'Bukittinggi', '1989-01-01', 'II', 1500000, 400000, 300000),
('004-2', 'Wati',  'Bukittinggi', '1987-12-18', 'II', 1500000, 400000, 0),
('005-1', 'Desi',  'Jambi', '1994-05-10', 'I', 1000000, 300000, 200000),
('006-3', 'Iwan',  'Padang', '1995-04-11', 'III', 2000000, 550000, 300000),
('007-3', 'Sandra',  'Bukittinggi', '1992-03-31', 'III', 2000000, 550000, 300000),
('008-1', 'Putra',  'Bukittinggi', '1979-10-17', 'I', 1000000, 300000, 0),
('009-3', 'Ario',  'Jakarta', '1988-03-02', 'III', 2000000, 550000, 200000),
('010-1', 'Jaya',  'Padang', '1989-06-03', 'I', 1000000, 300000, 200000)

Contoh 1:
Penggunaan Fungsi SUM, contoh untuk menampilkan berapa total Gaji pokok karyawan golongan II, perintah SQL-nya
SELECT SUM(ga_pok) FROM tblpenggajian
WHERE gol = 'II'

Maka akan mendapatkan hasi 14000000 sebagai hasil tunggal penjumlahan semua data pada field Ga_pok.

Contoh 2:
Penggunaan Fungsi MAX untuk menampilkan Gaji pokok karyawan yang paling tinggi, perintah SQL-nya
SELECT max(ga_pok) FROM tblpenggajian

Maka akan didapatkan hasil 2000000, sebagai gaji pokok tertinggi.

Contoh 3:
Menampilkan gaji bersih karyawan yang paling tinggi. Sementara pada tabel tblpenggajian tidak ada field yang menampung data gaji bersih. Secara logika gaji bersih bisa didapatkan dari Ga_pok + Tunj_umum + Tunj_klg. Penambahan ini bisa langsung kita manfaatkan untuk menampilkan data. Perintah SQL-nya :
SELECT max(ga_pok + Tunj_umum + Tunj_klg) FROM tblpenggajian

Sehingga bisa didapatkan angka 2850000 sebagai hasil dari gaji bersih tertinggi.

Contoh 4:
Menampilkan Tunj_klg paling kecil, perintah SQL-nya :
SELECT min(Tunj_klg) FROM tblpenggajian

Sehingga didapatkan nilai 0 sebagia tunjangan keluarga paling kecil.

Contoh 5:
Menghitung rata-rata pendapatan bersih karyawan, perintah SQL-nya :
SELECT AVG(ga_pok + Tunj_umum + Tunj_klg) FROM tblpenggajian

Contoh 6:
Menghitung berapa orang karyawan golongan II, perintah SQL-nya :
SELECT COUNT(nik) FROM tblpenggajian
WHERE gol = 'II'

Maka akan didapatkan hasil 2 orang karyawan yang golongan II