A. LANDASAN TEORI
FUNGSI AGREGAT
Fungsi Agregat (terkadang disebut fungsi grup atau fungsi
ringkasan) adalah fungsi yang disediakan SQL untuk menghasilkan sebuah nilai
berdasarkan sejumlah data masukan (input). Agregasi dapat digabungkan dengan
sebuah parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih
kompleks.
Adapun fungsi Agregasi adalah sebagai berikut :
Fungsi Agregat
|
Keterangan
|
COUNT (*)
|
Menghitung cacah data
|
MAX
|
Menghasilkan nilai terbesar
|
MIN
|
Menghasilkan nilai terkecil
|
SUM
|
Menghitung penjumlahan data
|
AVG
|
Menghasilkan nilai rata-rata
|
COUNT
select count(nama_kolom) from nama_tabel;
MAX
select max(nama_kolom) from nama_tabel;
MIN
select min(nama_kolom) from nama_tabel;
SUM
select sum(nama_kolom) from nama_tabel;
AVERAGE
select avg(nama_kolom) from nama_tabel;
GROUP BY
Group By merupakan fungsi yang digunakan untuk melakukan
pengelompokkan dari perintah SELECT . Group by sering digunakan untuk
menjalankan fungsi agregat menjadi sebuah kelompok hasil query.
select nama_kolom from nama_tabel group by nama_kolom;
#NOTE: nama_kolom yang ada setelah perintah SELECT harus
SAMA dengan nama_kolom yang ada setelah perintah GROUP BY
HAVING
Pemakaian HAVING
terkait dengan GROUP BY, kegunaannya adalah untuk menentukan kondisi bagi GROUP
BY, dimana kelompok yang memenuhi kondisi saja yang akan dihasilkan. Bisa
dikatakan, HAVING ini adalah pengganti dari klausa bersyarat WHERE.
select nama_kolom from nama_tabel group by nama_kolom having
syarat;
kalo pake where,
select nama_kolom from nama_tabel where syarat group by
nama_kolom;
CASE
Penggunaan CASE akan membentuk output tersendiri berupa
sebuah kolom baru dengan data dari operasi didalamnya. Struktur CASE didalam
SELECT adalah sebagai berikut:
CASE WHEN kondisi THEN hasil
[WHEN....]
[ELSE hasil] AND
VIEW
VIEW dapat juga disebut dengan tabel bayangan tetapi bukan temporary
table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu
relasi virtual yang tidak perlu ada pada database tetapi dapat diproduksi atas
permintaan oleh pemakai tertentu, pada ketika permintaan. Kelebihan view yang
lain yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah
subset dari tabel asli dan memilih kolom atau row tertentu seperti tabel biasa.
Berikut ini cara membuat VIEW
create view nama_view as query;
#NOTE: query diatas merupakan query untuk menampilkan data
menggunakan fungsi SELECT.
B. TUGAS PRAKTIKUM
Haiii, haiii :D Kembali lagi berjumpa dengan sayaa di
praktikum ke 5. Are you ready to do it ?
Check it outt !!
ini niiiih soal modul ke 5
1. Siapkan tabel mahasiswa yang sudah dibuat pada praktikum
sebelumnya. Tampilkan dan cek tabelnya terlebih dahulu
2. Dengan menggunakan fungsi agregat, carilah nim mahasiswa
yang paling kecil, paling besar, jumlah dari nim mahasiswa dan juga cari nilai rata-rata dari nim
mahasiswa.
3. Tampilkan jumlah
mahasiswa berdasarkan fakultas. Sehingga, hasilnya nanti kira-kira seperti ini,
Nama Fakultas
|
Count (*)
|
Psikologi
|
2
|
Saintek
|
1
|
4. Tampilkan seperti nomer 3, tapi kali ini bersyarat.
Yaitu, hanya mashasiswa yang jumlahnya lebih dari 2 saja yang ditampilkan
5. Tampilkan data mahasiswa dengan persyaratan jika
gendernya L , maka akan tertulis 'LAKI-LAKI'. Jika gendernya P, maka akan
tertulis 'PEREMPUAN'.
6. Buatlah view untuk query penampilan data mahasiswa dan
fakultas. Ambil berdasarkan nim, nama mahasiswa dan nama fakultas
TAMBAHAN
Khusus di hari jum'at, pak Aziz Musthofa selaku dosen
Praktikum DBD memberikan tugas tambahan (bagi yang pengen ngerjain, kalo nggak
ya gapapa :D). Ini nih tugas tambahannya :
1. Tampilkan jumlah mahasiswa perempuan berdasarkan fakultas
beserta jumlah mahasiswa yang laki-laki
2. Buatlah view, tetapi dengan struktur SQL yang berbeda
dari nomor 6.
atau
C. TUGAS RUMAH
Aktifin XAMPPnya dulu sob ;)
1. Siapkan tabel mahasiswa yang sudah dibuat pada praktikum
sebelumnya. Tampilkan dan cek tabelnya terlebih dahulu
2. Dengan menggunakan fungsi agregat, carilah nim mahasiswa
yang paling kecil, paling besar, jumlah dari nim mahasiswa dan juga cari nilai rata-rata dari nim
mahasiswa.
3. Tampilkan jumlah
mahasiswa berdasarkan fakultas. Sehingga, hasilnya nanti kira-kira seperti ini,
Nama Fakultas
|
Count (*)
|
Psikologi
|
2
|
Saintek
|
1
|
4. Tampilkan seperti nomer 3, tapi kali ini bersyarat.
Yaitu, hanya mashasiswa yang jumlahnya lebih dari 2 saja yang ditampilkan
5. Tampilkan data mahasiswa dengan persyaratan jika
gendernya L , maka akan tertulis 'LAKI-LAKI'. Jika gendernya P, maka akan
tertulis 'PEREMPUAN'.
6. Buatlah view untuk query penampilan data mahasiswa dan
fakultas. Ambil berdasarkan nim, nama mahasiswa dan nama fakultas
TAMBAHAN
Khusus di hari jum'at, pak Aziz Musthofa selaku dosen
Praktikum DBD memberikan tugas tambahan (bagi yang pengen ngerjain, kalo nggak
ya gapapa :D). Ini nih tugas tambahannya :
1. Tampilkan jumlah mahasiswa perempuan berdasarkan fakultas
beserta jumlah mahasiswa yang laki-laki
atau
2. Buatlah view, tetapi dengan struktur SQL yang berbeda
dari nomor 6.
atau
D. EVALUASI PERBEDAAN MySQL dan POSTGRE
Kinii, tibalah saatnya untuk mengcompare kedua DBMS
kitaa. Jeng jeeeng :D
Setelah dievaluasi, semua sintaks sqlnya sama, nggak ada
yang beda, mirip persiis antara Postgre dengan MySQL. Entah itu dalam gungsi
agregat, klausa having, group by dan juga view.
Tetapi, ada satu hal yang penting, sepele tapi fatal. Yaitu,
penggunaan spasi setelah fungsi agregat. Dalam Postgre, penulisan SELECT MAX
(nama_kolom) FROM nama_tabel ; diperbolehkan. Sedangkan dalam MySQL tidak bisa.
Setelah kata MAX tidak boleh ada spasi dan langsung ketikkan buka kurung, nama
kolom, tutup kurung.
Mau bukti ?
Ini yang di Postgre
Kalo yang ini di MySQL,
Ini berlaku untuk semua fungsi agregat.
E. KESIMPULAN
Selain operasi himpunan yang telah dibahas di laporan IV,
database juga bisa melakukan operasi statistika yang dinamakan dengan fungsi
agregasi. Yaitu, mencari nilai minimum (MIN), nilai maksimum (MAX), nilai
rata-rata (AVG), penjumlahan data (SUM), dan COUNT untuk menghitung cacah data.
Selain itu, terdapat fungsi pengelompokkan (GROUP BY) dan
klausa HAVING yang sedikit banyak mirip-mirip seperti klausa WHERE. Bedanya
hanya, HAVING digunakan setelah melakukan GROUP BY.
Dan yang terakhiiir, database dapat membuat view (pandangan).
Ini bukan tabel permanen, bukan pula tabel temporary. Nah loh (?). View itu kalo diumpamakan seperti bayangan
dari tabel yang asli. Dia merupakan salinan dari tabel yang asli.
Sekiaan dari saya untuk laporan V ini. Terimakasih atas
perhatiannya. Jangan LUPA taruh KOMEN kalian SOB :) Saran dan Kritikan Anda
akan membangun kami untuk ke depannya.
0 comments