Study Case Analisa Distribusi Nilai Mata Pelajaran dengan SQL di MySQL

Tutorial ini menjelaskan cara menganalisis distribusi nilai dalam satu mata pelajaran menggunakan SQL di MySQL. Analisis ini dapat membantu guru atau pengelola pendidikan memahami persebaran nilai siswa untuk mengevaluasi metode pengajaran.


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

);


2. Memasukkan Contoh Data

Tambahkan data siswa untuk simulasi.


Query Menambahkan Data:

INSERT INTO nilai_siswa (nama_siswa, kelas, mata_pelajaran, nilai)

VALUES

('Andi', 'Kelas 10A', 'Matematika', 85.00),

('Budi', 'Kelas 10A', 'Matematika', 78.00),

('Citra', 'Kelas 10A', 'Matematika', 90.00),

('Dina', 'Kelas 10A', 'Matematika', 72.00),

('Eko', 'Kelas 10A', 'Matematika', 60.00),

('Fajar', 'Kelas 10A', 'Matematika', 88.00),

('Gita', 'Kelas 10A', 'Matematika', 95.00),

('Hana', 'Kelas 10A', 'Matematika', 65.00);


Data pada Tabel:


3. Menghitung Statistik Dasar

Gunakan query berikut untuk menghitung statistik dasar seperti nilai minimum, maksimum, rata-rata, dan jumlah siswa.


Query SQL:

SELECT 

    mata_pelajaran,

    MIN(nilai) AS nilai_terendah,

    MAX(nilai) AS nilai_tertinggi,

    ROUND(AVG(nilai), 2) AS rata_rata_nilai,

    COUNT(*) AS jumlah_siswa

FROM 

    nilai_siswa

WHERE 

    mata_pelajaran = 'Matematika';


Hasil Query:



4. Mengelompokkan Nilai ke dalam Rentang

Untuk melihat distribusi nilai, kelompokkan nilai siswa ke dalam rentang tertentu, misalnya:


Nilai 90-100 (Sangat Baik)

Nilai 80-89 (Baik)

Nilai 70-79 (Cukup)

Nilai < 70 (Kurang)

Query SQL:


SELECT 

    mata_pelajaran,

    CASE

        WHEN nilai >= 90 THEN 'Sangat Baik (90-100)'

        WHEN nilai >= 80 THEN 'Baik (80-89)'

        WHEN nilai >= 70 THEN 'Cukup (70-79)'

        ELSE 'Kurang (<70)'

    END AS kategori_nilai,

    COUNT(*) AS jumlah_siswa

FROM 

    nilai_siswa

WHERE 

    mata_pelajaran = 'Matematika'

GROUP BY 

    kategori_nilai

ORDER BY 

    kategori_nilai DESC;


Hasil Query:


5. Menyimpan Distribusi ke Tabel Baru

Untuk menyimpan hasil distribusi nilai ke tabel baru, gunakan query berikut.


Query Membuat Tabel Baru:


CREATE TABLE distribusi_nilai AS

SELECT 

    mata_pelajaran,

    CASE

        WHEN nilai >= 90 THEN 'Sangat Baik (90-100)'

        WHEN nilai >= 80 THEN 'Baik (80-89)'

        WHEN nilai >= 70 THEN 'Cukup (70-79)'

        ELSE 'Kurang (<70)'

    END AS kategori_nilai,

    COUNT(*) AS jumlah_siswa

FROM 

    nilai_siswa

WHERE 

    mata_pelajaran = 'Matematika'

GROUP BY 

    kategori_nilai;


Dengan tutorial ini, diharapkan  dapat:

  • Menganalisis statistik dasar nilai siswa.
  • Mengelompokkan nilai siswa berdasarkan kategori.


Metode ini berguna untuk evaluasi persebaran nilai dan pengambilan keputusan terkait pembelajaran di kelas. Semoga bermanfaat dan mohon maaf jika terdapat kesalahan informasi 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