Makalah
SESI 7
FUNGSI AGREGAT DAN FUNGSI BAWAAN SQL
OLEH:
Bunga Putri Salsabilla
24781005
MI 4A
Dosen Pengampu : M. Reza Redo Islami, S. Kom., M.T.I.
D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI LAMPUNG
2026
Pendahuluan
Di era digital, basis data tidak hanya sekadar tempat penyimpanan data mentah, tetapi juga mesin analitik yang kuat. Pada Praktikum Pemrograman SQL Lanjut Minggu ke-7, kita tidak lagi hanya memanggil data menggunakan perintah SELECT biasa, melainkan mulai memproses, meringkas, dan mengubah wujud data tersebut menjadi informasi yang memiliki nilai bisnis. Kemampuan ini didukung oleh fitur Fungsi Agregat dan Fungsi Bawaan SQL. Keduanya merupakan instrumen krusial bagi seorang administrator basis data maupun analis data untuk mengekstrak insight secara efisien.
Mengenal Fungsi Agregat dan Fungsi Bawaan
Fungsi Agregat bertugas untuk melakukan perhitungan matematis pada sekumpulan baris data dan mengembalikan satu nilai tunggal. Fungsi yang paling sering digunakan meliputi COUNT (menghitung jumlah baris), SUM (menjumlahkan nilai numerik), AVG (mencari nilai rata-rata), serta MIN dan MAX (mencari nilai terkecil dan terbesar). Penggunaan agregasi ini sangat erat kaitannya dengan klausa GROUP BY untuk mengelompokkan data berdasarkan kriteria tertentu, serta HAVING yang bertugas sebagai "satpam" untuk menyaring hasil agregasi (karena WHERE tidak bisa digunakan untuk fungsi agregat).
Selain agregasi, SQL juga menyediakan Fungsi Bawaan (Built-in Functions) yang sangat fleksibel. Untuk memanipulasi teks, kita dapat menggunakan UPPER atau LOWER untuk standarisasi huruf kapital/kecil, dan LENGTH untuk menghitung panjang karakter. Sementara untuk tipe data waktu (DATE), kita bisa mengekstrak komponen spesifik seperti tahun atau bulan menggunakan fungsi seperti YEAR(), MONTH(), atau strftime() tergantung dari DBMS yang digunakan.
Studi Kasus Bisnis: Analisis Penjualan "MORY-COOKIES"
Untuk melihat ketangguhan fungsi-fungsi ini, mari kita aplikasikan pada skenario bisnis. Bayangkan kita memiliki basis data untuk usaha kuliner sehat, misalnya "MORY-COOKIES" (Moringa & Ivory Cookies). Kita memiliki tabel penjualan_harian dengan kolom: id_transaksi, nama_pembeli, tgl_transaksi, varian_rasa, dan jumlah_box.
Sebagai perencana bisnis, kita ingin mengetahui: Berapa total box MORY-COOKIES yang terjual setiap bulannya selama tahun ini, tetapi kita hanya ingin melihat bulan-bulan di mana penjualannya sukses menembus target lebih dari 50 box?
GROUP BY, dan HAVING dalam satu query yang efisien:HAVING SUM(jumlah_box) > 50).Analisis Studi Kasus
YEAR() dan MONTH() mengekstrak informasi waktu, mengabaikan tanggal spesifiknya. Klausa GROUP BY kemudian mengelompokkan transaksi per bulan. Selanjutnya, fungsi agregat SUM(jumlah_box) menjumlahkan total produk MORY-COOKIES yang dibeli konsumen. Terakhir, klausa HAVING bekerja layaknya filter yang menggugurkan bulan-bulan dengan penjualan lesu (di bawah 50 box). Tanpa fungsi-fungsi SQL ini, kita harus menghitung ribuan baris data secara manual di spreadsheet.Refleksi Pribadi: Tantangan dan Tips Belajar SQL Minggu Ini
Hal yang Paling Sulit (Tantangan)
Bagian yang cukup menantang pada praktikum kali ini adalah kepekaan terhadap detail sintaks dan adaptasi perbedaan "dialek" SQL. Saat mengerjakan skenario di simulator web, sistem menggunakan basis SQLite, sementara untuk lampiran laporan harus dieksekusi di SQL Server Management Studio (SSMS) menggunakan T-SQL. Perbedaan penulisan fungsi, seperti strftime() di simulator yang harus diubah menjadi YEAR() atau MONTH() di SSMS, serta operator penggabungan teks || yang harus diganti menjadi tanda +, menuntut ketelitian ekstra agar kueri tidak error.
Selain itu, proses debugging kesalahan sepele juga cukup menguji kesabaran. Contohnya, saya sempat mengalami syntax error berulang kali hanya karena kebiasaan menggunakan tanda strip (-) saat membuat nama alias (misalnya menulis rata-rata_ipk). Di dalam SQL, tanda strip tersebut dibaca sebagai operasi matematika pengurangan, sehingga kueri gagal dieksekusi.
Tips yang Membantu:
Kaitkan dengan Studi Kasus Nyata: Memahami logika
GROUP BYdanHAVINGyang awalnya abstrak menjadi jauh lebih intuitif ketika saya mengaitkannya dengan rencana proyek bisnis yang sedang saya susun, yaitu MORY-COOKIES. Mengimajinasikan kueri SQL untuk memfilter target penjualan bulanan produk secara nyata membuat fungsi agregat terasa jauh lebih masuk akal dan mudah diingat.Disiplin Penamaan (Gunakan Underscore): Untuk menghindari error fatal seperti yang saya alami, pastikan selalu menggunakan garis bawah (underscore) untuk memisahkan kata pada penamaan alias kolom (misal:
rata_rata_ipkataujumlah_mhs). Jangan pernah menggunakan spasi atau tanda strip.Eksekusi Bertahap: Saat membuat kueri yang panjang, jangan menulis semuanya sekaligus. Mulailah dengan
SELECTdasar, lalu tambahkanGROUP BYuntuk memastikan pengelompokannya benar. Setelah hasilnya terlihat sesuai, barulah tambahkan klausaHAVINGatau fungsiORDER BYdi tahap akhir.
Kesimpulan
Penguasaan fungsi agregat dan fungsi bawaan SQL merupakan lompatan penting dari sekadar "menyimpan data" menjadi "menganalisis data". Dengan memanfaatkan kombinasi klausa GROUP BY dan HAVING, kita tidak hanya mengelompokkan informasi, tetapi juga dapat menyaring hasil agregasi secara presisi—seperti menemukan tren penjualan produk yang berhasil melampaui target bulanan. Ditambah dengan kemampuan fungsi bawaan untuk memanipulasi teks dan mengekstrak elemen tanggal, data mentah dapat diseragamkan dan diolah menjadi metrik yang siap pakai. Pada akhirnya, kemampuan meracik kueri SQL yang efisien adalah fondasi esensial untuk mengubah tumpukan data operasional menjadi insight bisnis yang bernilai strategis.
Daftar Pustaka
Connolly, T. M., & Begg, C. E. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management (6th ed.). Pearson Education.
Microsoft. (n.d.). Aggregate Functions (Transact-SQL). Microsoft Learn. Diakses pada 28 April 2026, dari
SQLite. (n.d.). Built-in Aggregate Functions. SQLite Official Documentation. Diakses pada 28 April 2026, dari
SQLite. (n.d.). Date And Time Functions. SQLite Official Documentation. Diakses pada 28 April 2026, dari
