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

Popular posts from this blog

Integrating PHP with Message Queues RabbitMQ Kafka

FastAPI and UVLoop: The Perfect Pair for Asynchronous API Development

Konfigurasi dan Instalasi PostgreSQL Secara Lengkap di Windows Linux dan MacOS