Pembelajara Fungsi Agregasi
Pembelajaran Fungsi Agregasi
Slide 1: Judul
[Tampil di depan, buka presentasi] "Selamat pagi semuanya. Pada mata pelajaran Basis Data kali ini, untuk kelas XI RPL, kita akan membahas materi yang sangat penting dalam pengolahan data, yaitu Fungsi Agregasi dan Pengelompokan Data SQL. Fokus utama kita hari ini adalah bagaimana menguasai penggunaan klausa GROUP BY dan HAVING."
Slide 2: Mengapa Perlu Agregasi?
[Klik slide] "Sebelum kita masuk ke coding, pertanyaannya: Mengapa kita perlu agregasi? Coba bayangkan Anda sedang mengelola ratusan ribu baris data pemain dari sebuah turnamen E-Sports. Bagaimana cara Anda mencari total perolehan poin terbanyak? Apakah Anda akan menghitungnya satu per satu dengan kalkulator? Tentu tidak efisien. Di sinilah fungsi agregasi SQL berperan untuk melakukan perhitungan otomatis pada sekumpulan data."
Slide 3: 5 Fungsi Agregasi Utama
[Klik slide, tunjuk ke tabel] "Ada 5 fungsi agregasi utama dalam SQL yang harus kalian ketahui beserta kegunaannya:
COUNT(): Digunakan untuk menghitung jumlah total baris data. Contoh implementasinya:
SELECT COUNT(id_pemain) FROM pemain;SUM(): Berfungsi menjumlahkan seluruh nilai pada kolom numerik. Contohnya:
SELECT SUM(skor) FROM pemain;AVG(): Digunakan untuk mencari nilai rata-rata dari sekumpulan data. Contohnya:
SELECT AVG(skor) FROM pemain;MAX(): Untuk mencari nilai tertinggi atau maksimal. Contohnya:
SELECT MAX(skor) FROM pemain;MIN(): Kebalikannya dari MAX, ini untuk mencari nilai terendah atau minimal. Contoh:
SELECT MIN(skor) FROM pemain;"
Slide 4: Studi Kasus: Database Turnamen
[Klik slide, tunjuk gambar turnamen esports] "Mari kita lihat studi kasus pada Database Turnamen. Kita memiliki sebuah tabel bernama pemain yang berisi ribuan data. Kolom yang tersedia antara lain: nama, role (misalnya: Jungler, Roamer, Gold Laner), klub, dan skor_performa.
Pertanyaan bisnisnya: Bagaimana cara kita melihat rata-rata skor performa untuk setiap role dalam game tersebut? Kita tidak bisa sekadar menggunakan fungsi AVG() biasa, karena kita ingin nilainya terpisah per role."
Slide 5: Memecah Data Menjadi Kelompok
[Klik slide] "Solusinya adalah menggunakan klausa GROUP BY. GROUP BY berfungsi untuk mengelompokkan baris data yang memiliki nilai yang sama dalam kolom tertentu, menjadi satu baris ringkasan tunggal. Ini sangat berguna bila dipadukan dengan fungsi agregasi seperti COUNT, MAX, MIN, SUM, atau AVG untuk menghasilkan laporan statistik.
Untuk memahaminya, mengenal klausa GROUP BY itu ibarat menyortir sekumpulan permen berdasarkan warnanya terlebih dahulu, baru kemudian menghitung jumlah tiap warnanya.
Berikut adalah sintaks SQL untuk mengelompokkan skor berdasarkan role: SELECT role, AVG(skor_performa) FROM pemain GROUP BY role;"
Slide 6: Menyaring Data Kelompok (HAVING)
[Klik slide] "Sekarang, bagaimana jika dari hasil rata-rata tadi, kita hanya ingin menampilkan role yang rata-rata skor performanya di atas 75? Bisakah kita menggunakan perintah WHERE? Jawabannya adalah tidak."
Slide 7: WHERE vs HAVING
[Klik slide, tekankan perbedaan ini] "Ini membawa kita pada perbedaan penting antara WHERE dan HAVING. Klausa WHERE digunakan untuk menyaring baris data mentah sebelum proses pengelompokan (agregasi) dilakukan oleh sistem. Contoh penulisannya: WHERE skor_performa > 70 (ini untuk menyaring pemain secara individu).
Sedangkan klausa HAVING digunakan untuk menyaring hasil akhir setelah data dikelompokkan dan diagregasi. HAVING adalah pendamping setia GROUP BY. Contoh penulisannya: HAVING AVG(skor_performa) > 70 (ini untuk menyaring hasil rata-rata per role)."
Slide 8: Langkah Merakit Query Kompleks
[Klik slide] "Untuk merakit query yang kompleks, ikuti 3 langkah dasar ini:
SELECT & FROM: Tentukan tabel sumber data dan kolom yang ingin ditampilkan bersama fungsi agregatnya (Misal: COUNT).
GROUP BY: Pilih kolom sebagai dasar pengelompokan. Sistem basis data akan melebur baris yang identik di kolom ini.
HAVING: Terapkan filter khusus pada hasil kelompok tersebut agar output laporan menjadi relevan dan akurat.
Dan ingat kutipan penting ini: 'Error sintaks adalah proses melatih logika!'"
Slide 9: Saatnya Praktik!
[Klik slide, tunjuk infografis sepak bola] "Sekarang, saatnya praktik! Silakan buka phpMyAdmin atau SQL Fiddle Anda. Mari bereksperimen dengan tabel yang sudah disiapkan. Seperti yang bisa kalian lihat di layar, kita punya Rangkuman Catatan Musim Liga Sepak Bola Pelajar dari SMK Merdeka, SMK Bangsa, dan SMK Harapan. Mari kita coba terapkan fungsi agregasi, GROUP BY, dan HAVING pada data-data ini."
Tanggapan (0)
Belum ada tanggapan. Jadilah yang pertama menulis.