Modul Praktikum Basis Data Lanjut
Modul Praktikum Basis Data Lanjut
2. Dasar Teori
Fungsi agregasi di MySQL digunakan untuk melakukan perhitungan pada sekumpulan data dan
menghasilkan satu nilai keluaran. Fungsi ini sering digunakan bersama klausa GROUP BY untuk
mengelompokkan data berdasarkan kolom tertentu. Berikut penjelasan singkat tentang fungsi
agregasi yang akan dipelajari:
GROUP BY: Mengelompokkan baris data berdasarkan nilai pada kolom tertentu.
Biasanya digunakan bersama fungsi agregasi untuk merangkum data dalam kelompok.
AVG(): Menghitung rata-rata dari nilai numerik dalam suatu kolom.
COUNT(): Menghitung jumlah baris dalam kelompok atau total baris yang memenuhi
kondisi.
DISTINCT(): Menghilangkan duplikasi data dalam hasil query.
GROUP_CONCAT(): Menggabungkan nilai-nilai dalam kelompok menjadi satu string
dengan pemisah tertentu.
MIN(): Mencari nilai terkecil dalam kolom.
MAX(): Mencari nilai terbesar dalam kolom.
SUM(): Menjumlahkan nilai numerik dalam kolom.
Contoh Kasus
Misalkan terdapat tabel mahasiswa yang berisi data mahasiswa seperti nama, jurusan, dan
nilai. Dengan fungsi agregasi, kita dapat:
Menghitung rata-rata nilai per jurusan (AVG).
Menghitung jumlah mahasiswa per jurusan (COUNT).
Menampilkan daftar nilai unik (DISTINCT).
Menggabungkan nama mahasiswa per jurusan dalam satu string (GROUP_CONCAT).
Mencari nilai terendah (MIN) dan tertinggi (MAX) per jurusan.
Menjumlahkan total nilai per jurusan (SUM).
Fungsi-fungsi ini membantu analisis data secara efisien tanpa perlu memproses baris demi baris
secara manual.
3. Tugas Pendahuluan
Jawab pertanyaan berikut sebelum praktikum:
1. Apa fungsi klausa GROUP BY dalam query MySQL? Berikan contoh sederhana.
2. Jelaskan perbedaan antara COUNT(*) dan COUNT(nama_kolom).
3. Bagaimana cara kerja fungsi GROUP_CONCAT? Berikan contoh penggunaannya.
4. Apa yang dimaksud dengan fungsi agregasi? Sebutkan tiga contoh fungsi agregasi selain
yang ada di modul ini.
5. Mengapa DISTINCT digunakan dalam query? Berikan contoh kasus penggunaannya.
4. Materi Praktikum
Persiapan Database
Contoh Query
Berikut adalah contoh penggunaan fungsi agregasi dengan tabel mahasiswa:
1. GROUP BY: Mengelompokkan data berdasarkan jurusan.
SELECT jurusan, COUNT(*) AS jumlah_mahasiswa
FROM mahasiswa
GROUP BY jurusan;
Penjelasan: Query ini menghitung jumlah mahasiswa per jurusan.
2. AVG: Menghitung rata-rata nilai per jurusan.
SELECT jurusan, AVG(nilai) AS rata_rata_nilai
FROM mahasiswa
GROUP BY jurusan;
3. COUNT: Menghitung jumlah mahasiswa dengan nilai di atas 80.
SELECT jurusan, COUNT(*) AS jumlah_di_atas_80
FROM mahasiswa
WHERE nilai > 80
GROUP BY jurusan;
4. DISTINCT: Menampilkan jurusan tanpa duplikasi.
SELECT DISTINCT(jurusan)
FROM mahasiswa;
5. GROUP_CONCAT: Menggabungkan nama mahasiswa per jurusan.
SELECT jurusan, GROUP_CONCAT(nama) AS daftar_nama
FROM mahasiswa
GROUP BY jurusan;
6. MIN dan MAX: Mencari nilai terendah dan tertinggi per jurusan.
SELECT jurusan, MIN(nilai) AS nilai_terendah, MAX(nilai) AS
nilai_tertinggi
FROM mahasiswa
GROUP BY jurusan;
7. SUM: Menjumlahkan total nilai per jurusan.
SELECT jurusan, SUM(nilai) AS total_nilai
FROM mahasiswa
GROUP BY jurusan;
5. Pertanyaan Praktikum
Lakukan langkah-langkah berikut dan jawab pertanyaan:
1. Jalankan semua query contoh di atas dan catat hasilnya.
2. Buat query untuk menampilkan jumlah mahasiswa dengan nilai di bawah 80 per
jurusan.
3. Buat query untuk menampilkan rata-rata nilai hanya untuk mahasiswa Informatika.
4. Modifikasi query GROUP_CONCAT agar nama mahasiswa dipisahkan dengan tanda
semicolon (;).
5. Buat query yang menampilkan jurusan, jumlah mahasiswa, dan nilai rata-rata dalam
satu query.
Format Penulisan:
Gunakan format penulisan yang rapi (misalnya, dalam dokumen Word atau PDF).
Sertakan nama, NIM, dan tanggal praktikum.
Kumpulkan laporan dalam waktu satu minggu setelah praktikum.