Progres Belajar
FUNGSI AGREGASI DENGAN PENGELOMPOKKAN DATA

Setelah kegiatan pembelajaran ini, diharapkan:

  1. Siswa mampu memahami perintah grouping dalam basis data
  2. Siswa mampu menuliskan perintah fungsi agregasi dengan pengelompokan data dengan benar
  3. Siswa mampu menerapkan fungsi agregasi dengan pengelompokan data dalam basis data
ORDER BY

Untuk mengurutkan hasil dari kueri, maka kita dapat menggunakan klausa ORDER BY jika GROUP BY tidak menghasilkan urutan yang diinginkan. GROUP BY tidak hanya mengelompokkan, tetapi juga mengurutkan. Jadi, seringkali tidak diperlukan klausa ORDER BY pada kueri. Tetapi, jika ingin mengurutkan selain dari yang dihasilkan GROUP BY secara default, maka kita bisa menggunakan klausa ORDER BY. Pengurutan dapat dilakukan secara ascending (urutan naik) maupun descending (urutan menurun). Untuk menghasilkan urutan yang menaik (ascending) maupun menurun (descdending), maka ditambahkan option ASC untuk ascending atau DESC untuk descending pada field yang dijadikan sebagai kunci pengurutan. Option ASC sifatnya optional artinya apabila kita ingin mengurutkan berdasarkan urutan ascending, maka option ASC dapat tidak dituliskan.

Kueri dasar yang bisa digunakan adalah sebagai berikut:

SELECT nama_kolom FROM nama_tabel
ORDER BY nama_kolom;

Perhatikan contoh penerapan perintah ORDER BY di bawah ini!

Contoh

Tabel yang kita gunakan adalah data_guru yang dapat dilihat seperti di bawah ini.

id_guru nip nama jns_kel gaji pendidikan_terakhir
G01 13254 Indah Wijaya P 4000000 S1
G02 14325 Siska Nur Azizah P 4500000 S1
G03 12543 Fauzi Rahmadi L 5000000 S2
G04 15234 Luna Ardhita Puspita P 3000000 D3
G05 13542 Hafizh L 4200000 S1
G06 15432 Dita Anggraini P 4800000 S2
G07 12235 Farhan Alfi L 3500000 D3

Misalkan kita ingin menampilkan total gaji guru yang dikelompokkan berdasarkan pendidikan terakhirnya dimana urutannya dari nominal yang lebih besar. Kita dapat menggunakan kueri sebagai berikut.


          

Hasilnya adalah:

Tabel Data
Gambar 51. Hasil perintah ORDER BY 1

Cobalah kueri di atas pada kotak inputan coba kueri di bawah ini.

Coba Kueri

Hasil

Dalam contoh ini, klausa GROUP BY digunakan untuk mengelompokkan data berdasarkan pendidikan terakhir sehingga fungsi SUM(gaji) dapat mengembalikan total gaji untuk setiap kelompok. Selanjutnya output diurutkan menggunakan klausa ORDER BY.

Contoh selanjutnya, kita ingin menampilkan banyaknya guru berdasarkan pendidikan terakhirnya dengan urutan dari yang lebih sedikit. Kita dapat menggunakan kueri sebagai berikut.


          

Hasilnya adalah:

Tabel Data
Gambar 52. Hasil perintah ORDER BY 2

Cobalah kueri di atas pada kotak inputan coba kueri di bawah ini.

Coba Kueri

Hasil

Untuk melihat kemampuan menuliskan perintah ORDER BY dan menerapkannya dalam basis data, silahkan kerjakan latihan di bawah ini.

Latihan ORDER BY
Soal 1
Instruksi

Lengkapilah kueri di bawah ini dengan mengetikkan jawaban pada kotak inputan yang disediakan. Border kotak inputan berwarna hijau jika jawaban Anda benar dan berwarna merah jika jawaban Anda salah.

Melengkapi Kueri

Perintah: Menampilkan banyaknya jabatan dengan nama kolom alias banyak_jabatan dari tabel dengan nama jabatan, kelompokkan berdasarkan divisi dan urutkan dari banyak_jabatan yang paling besar nilainya.

SELECT divisi, AS banyak_jabatan FROM jabatan

DESC;

SELECT divisi, COUNT(*) AS banyak_jabatan FROM jabatan

GROUP BY divisi

ORDER BY banyak_jabatan DESC;

Soal 2
Instruksi

Tabel telah tersedia dengan nama


Tampilkanlah total gaji pokok karyawan dengan nama kolom alias total_gapok yang dikelompokkan berdasarkan divisi, data diurutkan dari total gaji pokok yang paling besar

Hasilnya adalah:

Tabel Data Pendapatan
Gambar 53. Hasil perintah ORDER BY 3
Kueri

Hasil
Soal 3
Instruksi

Tabel telah tersedia dengan nama


Tampilkanlah total anggaran proyek dengan nama kolom alias total_anggaran yang dikelompokkan berdasarkan status, data diurutkan dari total anggaran yang paling besar

Hasilnya adalah:

Tabel Data Nilai
Gambar 54. Hasil perintah ORDER BY 4
Kueri

Hasil

Kamu menjawab dari 3 soal dengan benar!