Study Case Rekapitulasi Nilai Akhir Siswa Secara Otomatis di MySQL
Tutorial ini membahas cara membuat laporan rekapitulasi nilai akhir siswa secara otomatis menggunakan MySQL. Rekapitulasi ini akan menghitung rata-rata nilai siswa dari berbagai mata pelajaran, mempermudah pembuatan laporan nilai akhir.
Langkah-langkah
1. Persiapan Database dan Tabel
Buat tabel bernama nilai_siswa untuk menyimpan data siswa, mata pelajaran, dan nilai.
Query Membuat Tabel:
CREATE TABLE nilai_siswa (
id INT PRIMARY KEY AUTO_INCREMENT,
nama_siswa VARCHAR(100) NOT NULL,
kelas VARCHAR(50) NOT NULL,
mata_pelajaran VARCHAR(100) NOT NULL,
nilai DECIMAL(5, 2) NOT NULL
);
Penjelasan Kolom:
id: ID unik untuk setiap catatan nilai.
nama_siswa: Nama siswa.
kelas: Nama atau kode kelas siswa.
mata_pelajaran: Mata pelajaran yang diikuti siswa.
nilai: Nilai yang diperoleh siswa untuk mata pelajaran tertentu.
2. Memasukkan Contoh Data
Tambahkan data siswa dengan nilai untuk simulasi.
Query Menambahkan Data:
INSERT INTO nilai_siswa (nama_siswa, kelas, mata_pelajaran, nilai)
VALUES
('Andi', 'Kelas 10A', 'Matematika', 85.00),
('Andi', 'Kelas 10A', 'Bahasa Indonesia', 90.00),
('Andi', 'Kelas 10A', 'Fisika', 80.00),
('Budi', 'Kelas 10A', 'Matematika', 75.00),
('Budi', 'Kelas 10A', 'Bahasa Indonesia', 70.00),
('Budi', 'Kelas 10A', 'Fisika', 78.00),
('Citra', 'Kelas 10A', 'Matematika', 88.00),
('Citra', 'Kelas 10A', 'Bahasa Indonesia', 92.00),
('Citra', 'Kelas 10A', 'Fisika', 85.00);
Data pada Tabel:
3. Membuat Laporan Rekapitulasi Nilai
Gunakan query berikut untuk menghitung rata-rata nilai setiap siswa.
Query SQL:
SELECT
nama_siswa,
kelas,
ROUND(AVG(nilai), 2) AS rata_rata_nilai
FROM
nilai_siswa
GROUP BY
nama_siswa, kelas
ORDER BY
rata_rata_nilai DESC;
Penjelasan Query:
ROUND(AVG(nilai), 2): Menghitung rata-rata nilai dengan 2 angka desimal.
GROUP BY nama_siswa, kelas: Mengelompokkan data berdasarkan siswa dan kelas.
ORDER BY rata_rata_nilai DESC: Mengurutkan hasil berdasarkan rata-rata nilai dari yang tertinggi.
Hasil Query:
4. Menampilkan Data Lengkap Rekapitulasi
Untuk menampilkan rekap nilai akhir setiap siswa per mata pelajaran dan rata-ratanya, gunakan query berikut.
Query SQL:
SELECT
nama_siswa,
kelas,
mata_pelajaran,
nilai,
(SELECT ROUND(AVG(nilai), 2)
FROM nilai_siswa ns2
WHERE ns2.nama_siswa = nilai_siswa.nama_siswa) AS rata_rata_nilai
FROM
nilai_siswa
ORDER BY
nama_siswa, mata_pelajaran;
Hasil Query:
5. Menyimpan Laporan ke Tabel Baru
Jika Anda ingin menyimpan rekapitulasi ke tabel baru, gunakan query berikut.
Query Membuat Tabel Baru:
CREATE TABLE rekap_nilai_siswa AS
SELECT
nama_siswa,
kelas,
ROUND(AVG(nilai), 2) AS rata_rata_nilai
FROM
nilai_siswa
GROUP BY
nama_siswa, kelas;
Dengan langkah-langkah di atas, diharapkan dapat:
- Membuat laporan rekapitulasi nilai siswa secara otomatis.
- Menghitung rata-rata nilai siswa dengan mudah.
- Menyimpan laporan ke dalam tabel baru untuk keperluan analisis lebih lanjut.
Metode ini sangat membantu dalam pengelolaan data pendidikan, terutama untuk memberikan gambaran performa akademik siswa secara cepat dan akurat. Semoga bermanfaat, mohon maaf jika terdapat informasi yang tidak sesuai yang disampaikan.
Comments
Post a Comment