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
Post a Comment