Anda di halaman 1dari 13

Bab V

Pratikum Menggunakan Group Function


I. Tujuan Pratikum
Agar mahasiswa dapat menggunakan group function dalam perintah SQL untuk
menampilkan data, dapat mengidentifikasi group function yang tersedia. Memahami
kegunaan group function, memahami kegunaan GROUP BY, dan mengerti kegunaan
perintah HAVING.

II. Bahan & Alat
Hardware berupa PC/laptop, Software Oracle Database 10g, dan modul pratikum

III. Metode yang digunakan
Untuk melaksanakan pratikum ini, anda harus sudah menginstall oracle database 10g,
membuka lock user HR, mengerti tentang class diagram Human Resources,
melakukan koneksi ke database oracle menggunakan iSQLPlus, dan mengerti
penggunaan perintah select, from, where, order by dan sudah memahami kegunaan
single row functions.

IV. Landasan Teori
Group Functions bekerja pada sejumlah baris (data) dan selalu menghasilkan hanya
satu nilai per group.


Jenis-jenis group Functions :

AVG
Digunakan untuk mencari nilai rata-rata dari sekumpulan data.
COUNT
Digunakan untuk menghitung jumlah baris dalam sebuah tabel.
MAX
Digunakan untuk mencari nilai terbesar dari sekumpulan data.
MIN
Digunakan untuk mencari nilai terkecil dari sekumpulan data
STDDEV
SUM
Digunakan untuk menjumlahkan keseluruhan nilai.
VARIANCE
Group Function digunakan untuk pengolahan data dengan jumlah yang banyak dan
menghasilkan hanya satu keluaran.
Sintaks Group Functions :

SELECT : untuk mengambil data yang diinginkan, bisa terdiri atas nama field
ataupun nama group function.
FROM : untuk menyebutkan nama tabel pencarian
WHERE : untuk memberi batasan terhadap data yang akan dicari
GROUP BY : pengelompokan data menjadi bagian-bagian yang lebih kecil,
biasanya selalu sama dengan nama field yang diselect
ORDER BY : mengurutkan data sesuai dengan yang diinginkan.

Fungsi AVG dan SUM digunakan hanya untuk tipe data number
Fungsi MIN dan MAX digunakan untuk tipe data number, karakter dan date.
COUNT(*) akan menghitung jumlah baris yang terdapat dalam sebuah tabel,
tanpa melihat isinya bernilai null atau tidak.
COUNT(expr) digunakan untuk menghitung jumlah record yang tidak berupa
nilai null.
COUNT(DISTINCT expr) digunakan untuk menghitung jumlah record yang
unik saja, jika terdapat data yang sama maka akan dihitung sebagai satu
record.

Membuat Pengelompokan Data

Sintaks penulisan :

Mengelompokkan data menjadi kelompok yang lebih kecil menggunakan perintah
GROUP BY.
Pengelompokan Lebih dari Satu Kolom

Contoh kesalahan yang terjadi pada pengelompokan data

Beberapa hal yang diperhatikan pada saat penggunaan group by :
Klausa Where tidak bisa digunakan untuk membatasi group
Klausa having digunakan untuk membatasi group
Tidak bisa menggunakan group function dalam klausa where


Ketika terdapat klausa HAVING pada sebuah queri maka Oracle Server akan
melakukan tahap-tahapan berikut :
Baris atau record akan dikelompokkan terlebih dahulu
Kemudian group function yang digunakan akan bekerja
Data yang ditampilkan adalah data yang sesuai dengan klausa HAVING.
Sintak penulisan group functions dengan klausa having :

V. Bahan Pratikum
1. Tuliskan perintah SQL untuk menghitung rata-rata gaji pegawai, gaji terbesar,
gaji terkecil, dan total keseluruhan gaji untuk semua employees yang mempunyai
job id mengandung karakter REP.

2. Tuliskan perintah SQL untuk menghitung tanggal kerja terlama dan tanggal kerja
terbaru dari semua employees.

3. Tuliskan perintah SQL untuk mengitung jumlah pegawai yang bekerja pada
department_id = 50.

4. Tuliskan perintah SQL untuk mengitung jumlah pegawai yang bekerja pada
department_id = 80, khusus bagi pegawai yang mempunyai komisi.

5. Menghitung jumlah departmet id yang terdaftar pada tabel employees, jika
terdapat deparment id dalam jumlah banyak maka akan dihitung 1.

6. Menghitung komisi rata-rata dari keseluruhan employees, jika tidak mempunyai
komisi atau null maka tidak diikutkan untuk mendapatkan nilai-rata-rata.

7. Menghitung komisi rata-rata dari keseluruhan employees, termasuk pegawai yang
tidak mempunyai commission_pct (bernilai null).

8. Menampilkan department_id dan Menghitung gaji rata-rata employees per
department_id.

9. Menghitung gaji rata-rata employees per department_id, tanpa menampilkan
department_id yang bersangkutan.

10. Menampilkan data department id dengan nama alias dept_id, job id,
menjumlahkan semua gaji employees dan dikelompokkan berdasarkan
department_id dan job_id.

11. Menampilkan department_id dan gaji terbesar per grup department_id dan yang
ditampilkan hanya gaji terbesar diatas 10000 saja.

12. Menampilkan job_id dan total salary per group job_id dengan memberi nama
alias PAYROLL, total yang dicari untuk job_id yang tidak mengandung karakter
REP, data yang ditampilkan hanya untuk total gaji diatas 13000 saja dan urutkan
berdasarkan total gaji dari terkecil ke terbesar.

13. Menampilkan gaji rata-rata terbesar dari tabel employees kelompokkan
berdasarkan department_id.

14. Terdapat Struktur tabel sebagai berikut :

a. Tuliskan queri untuk menampilkan jumlah FPP terbesar, jumah FPP
terkecil dan jumlah FPP Rata-rata yang pernah diajukan oleh anggota
koperasi.
Jawab :







b. Tuliskan queri untuk untuk menampilkan nama anggota koperasi yang
pernah meminjam dengan jumlah FPP terbesar.
Jawab :







c. Tuliskan queri untuk menghitung jumlah anggota yang pernah meminjam
dikelompokkan berdasarkan bulan permohonan peminjaman selama tahun
2013, urutkan berdasarkan jumlah anggota dari terbesar ke terkecil.
Jawab :







d. Tuliskan queri untuk menghitung total FPP yang pernah diajukan anggota
dikelompokkan berdasarkan bulan permohonan peminjaman selama tahun
2013, dan yang ditampilkan hanya total FPP yang diatas 100.000.000,-
urutkan berdasarkan total FPP dari terkecil ke terbesar.
Jawab :







VI. Daftar Pustaka
Reporting Aggregated Data Using the Group Functions, Oracle Database 10g. SQL
Fundamentals I (D17108GC21),Edition 2.1, December 2006.

Anda mungkin juga menyukai