Study Case Menghitung Kehadiran Siswa Berdasarkan Tanggal dan Kelas di MySQL

Tutorial ini membahas cara melacak kehadiran siswa berdasarkan tanggal dan kelas menggunakan MySQL. Dengan metode ini, Anda dapat memantau kehadiran siswa, mengetahui tingkat absensi, dan menganalisis pola kehadiran.


Langkah-langkah

1. Persiapan Database dan Tabel

Buat tabel bernama kehadiran_siswa untuk menyimpan data kehadiran siswa.


Query Membuat Tabel:


CREATE TABLE kehadiran_siswa (

    id INT PRIMARY KEY AUTO_INCREMENT,

    nama_siswa VARCHAR(100) NOT NULL,

    kelas VARCHAR(50) NOT NULL,

    tanggal DATE NOT NULL,

    status_kehadiran ENUM('Hadir', 'Tidak Hadir', 'Izin', 'Sakit') NOT NULL

);


Penjelasan Kolom:

id: ID unik untuk setiap catatan kehadiran.

nama_siswa: Nama siswa.

kelas: Kelas siswa.

tanggal: Tanggal kehadiran.

status_kehadiran: Status kehadiran siswa (Hadir, Tidak Hadir, Izin, atau Sakit).


2. Memasukkan Contoh Data

Tambahkan data ke tabel untuk simulasi.


Query Menambahkan Data:

INSERT INTO kehadiran_siswa (nama_siswa, kelas, tanggal, status_kehadiran)

VALUES

('Andi', 'Kelas 10A', '2025-01-01', 'Hadir'),

('Budi', 'Kelas 10A', '2025-01-01', 'Tidak Hadir'),

('Citra', 'Kelas 10A', '2025-01-01', 'Hadir'),

('Andi', 'Kelas 10A', '2025-01-02', 'Hadir'),

('Budi', 'Kelas 10A', '2025-01-02', 'Sakit'),

('Citra', 'Kelas 10A', '2025-01-02', 'Izin');


Data pada Tabel:


3. Melihat Kehadiran Berdasarkan Tanggal

Untuk melacak siapa saja yang hadir pada tanggal tertentu, gunakan query berikut.


Query SQL:

SELECT 

    nama_siswa, 

    kelas, 

    tanggal, 

    status_kehadiran

FROM 

    kehadiran_siswa

WHERE 

    tanggal = '2025-01-01';


Hasil Query:


4. Melihat Rekap Kehadiran per Kelas

Hitung jumlah kehadiran, ketidakhadiran, izin, dan sakit per kelas.


Query SQL:

SELECT 

    kelas,

    status_kehadiran,

    COUNT(*) AS jumlah

FROM 

    kehadiran_siswa

GROUP BY 

    kelas, status_kehadiran;


Hasil Query:


5. Melihat Kehadiran Berdasarkan Siswa

Lacak kehadiran seorang siswa dalam periode tertentu.


Query SQL:

SELECT 

    nama_siswa,

    kelas,

    tanggal,

    status_kehadiran

FROM 

    kehadiran_siswa

WHERE 

    nama_siswa = 'Andi';


Hasil Query:


6. Melihat Persentase Kehadiran per Siswa

Hitung persentase kehadiran setiap siswa.


Query SQL:


SELECT 

    nama_siswa,

    kelas,

    COUNT(CASE WHEN status_kehadiran = 'Hadir' THEN 1 END) AS jumlah_hadir,

    COUNT(*) AS total_hari,

    ROUND((COUNT(CASE WHEN status_kehadiran = 'Hadir' THEN 1 END) / COUNT(*)) * 100, 2) AS persentase_kehadiran

FROM 

    kehadiran_siswa

GROUP BY 

    nama_siswa, kelas;


Hasil Query:


Dengan tutorial ini, Anda dapat:

  • Melacak kehadiran siswa pada tanggal tertentu.
  • Membuat rekap kehadiran berdasarkan kelas atau individu.
  • Menghitung persentase kehadiran siswa.

Pendekatan ini dapat digunakan untuk mendukung evaluasi kehadiran siswa dan meningkatkan pengelolaan kelas. Dengan dasar metode yang disampaikan dapat juga disesuaikan dengan kondisi misalkan menambahkan Nomor Induk Siswa sebagai ID agar tidak terdapat kesalahan jika ada nama siswa yang sama. 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