#include <stdio.h>
#include <stdlib.h>
int main() {
int kkmWeb = 76, kkmMobile = 76, kkmBasisData = 76;
int kkmPBO = 76, kkmKewirausahaan = 79;
char nama[50], kelas[20], nis[20], nama_sekolah[50];
float nilaiWeb, nilaiMobile, nilaiBasisData, nilaiPBO, nilaiKewirausahaan;
float rataRata;
char predikat;
char cetak;
FILE *file;
printf("=============================================\n");
printf(" PROGRAM REKAP NILAI SISWA \n");
printf("=============================================\n\n");
// INFO KKM
printf("DAFTAR MATA PELAJARAN DAN KKM\n");
printf("------------------------------------------------------\n");
printf("| No | Mata Pelajaran | KKM |\n");
printf("------------------------------------------------------\n");
printf("| 1 | Pemrograman Web | %d |\n", kkmWeb);
printf("| 2 | Pemrograman Mobile | %d |\n", kkmMobile);
printf("| 3 | Basis Data | %d |\n", kkmBasisData);
printf("| 4 | PBO | %d |\n", kkmPBO);
printf("| 5 | Kewirausahaan | %d |\n", kkmKewirausahaan);
printf("------------------------------------------------------\n\n");
printf("Silakan Input Data Siswa\n\n");
// INPUT BIODATA (1 KALI)
printf("Nama Siswa : ");
scanf(" %[^\n]", nama);
printf("NISN : ");
scanf("%s", nis);
printf("Kelas : ");
scanf(" %[^\n]", kelas);
printf("Nama Sekolah : ");
scanf(" %[^\n]", nama_sekolah);
do {
system("cls");
// INPUT NILAI
printf("\nMasukkan Nilai Pemrograman Web : ");
scanf("%f", &nilaiWeb);
printf("Masukkan Nilai Pemrograman Mobile : ");
scanf("%f", &nilaiMobile);
printf("Masukkan Nilai Basis Data : ");
scanf("%f", &nilaiBasisData);
printf("Masukkan Nilai PBO : ");
scanf("%f", &nilaiPBO);
printf("Masukkan Nilai Kewirausahaan : ");
scanf("%f", &nilaiKewirausahaan);
rataRata = (nilaiWeb + nilaiMobile + nilaiBasisData + nilaiPBO + nilaiKewirausahaan) / 5;
if (rataRata >= 86) predikat = 'A';
else if (rataRata >= 80) predikat = 'B';
else if (rataRata >= 76) predikat = 'C';
else predikat = 'D';
system("cls");
// TAMPIL RAPOR
printf("===========================================================\n");
printf(" RAPOR %s\n", nama_sekolah);
printf("===========================================================\n");
printf("Nama Siswa : %s\n", nama);
printf("NISN : %s\n", nis);
printf("Kelas : %s\n", kelas);
printf("Sekolah : %s\n", nama_sekolah);
printf("===========================================================\n");
printf("| No | Mata Pelajaran | Nilai | KKM | Status |\n");
printf("-----------------------------------------------------------\n");
printf("| 1 | Pemrograman Web | %-5.0f | %3d | %-11s |\n", nilaiWeb, kkmWeb, nilaiWeb >= kkmWeb ? "LULUS" : "TIDAK LULUS");
printf("| 2 | Pemrograman Mobile | %-5.0f | %3d | %-11s |\n", nilaiMobile, kkmMobile, nilaiMobile >= kkmMobile ? "LULUS" : "TIDAK LULUS");
printf("| 3 | Basis Data | %-5.0f | %3d | %-11s |\n", nilaiBasisData, kkmBasisData, nilaiBasisData >= kkmBasisData ? "LULUS" : "TIDAK LULUS");
printf("| 4 | PBO | %-5.0f | %3d | %-11s |\n", nilaiPBO, kkmPBO, nilaiPBO >= kkmPBO ? "LULUS" : "TIDAK LULUS");
printf("| 5 | Kewirausahaan | %-5.0f | %3d | %-11s |\n", nilaiKewirausahaan, kkmKewirausahaan, nilaiKewirausahaan >= kkmKewirausahaan ? "LULUS" : "TIDAK LULUS");
printf("===========================================================\n");
printf("Rata-rata : %.2f\n", rataRata);
printf("Predikat : %c\n", predikat);
printf("===========================================================\n");
printf("\nApakah data sudah benar?\n");
printf("Tekan Y untuk cetak rapor\n");
printf("Tekan N untuk input ulang nilai\n");
printf("Pilihan Anda: ");
scanf(" %c", &cetak);
} while (cetak == 'N' || cetak == 'n');
// CETAK FILE JIKA Y
char namaFile[100];
sprintf(namaFile, "Rapor_%s.txt", nis);
file = fopen(namaFile, "w");
if (file != NULL) {
fprintf(file, "==========================================================\n");
fprintf(file, " RAPOR %s\n", nama_sekolah);
fprintf(file, "==========================================================\n\n");
fprintf(file, "Nama Siswa : %s\n", nama);
fprintf(file, "NISN : %s\n", nis);
fprintf(file, "Kelas : %s\n", kelas);
fprintf(file, "Sekolah : %s\n\n", nama_sekolah);
fprintf(file, "-------------------------------------------------------------\n");
fprintf(file, "| No | Mata Pelajaran | Nilai | KKM | Status |\n");
fprintf(file, "-------------------------------------------------------------\n");
fprintf(file, "| 1 | Pemrograman Web | %-5.0f | %3d | %-12s |\n", nilaiWeb, kkmWeb, (nilaiWeb >= kkmWeb) ? "Lulus" : "Tidak Lulus");
fprintf(file, "| 2 | Pemrograman Mobile | %-5.0f | %3d | %-12s |\n", nilaiMobile, kkmMobile, (nilaiMobile >= kkmMobile) ? "Lulus" : "Tidak Lulus");
fprintf(file, "| 3 | Basis Data | %-5.0f | %3d | %-12s |\n", nilaiBasisData, kkmBasisData, (nilaiBasisData >= kkmBasisData) ? "Lulus" : "Tidak Lulus");
fprintf(file, "| 4 | PBO | %-5.0f | %3d | %-12s |\n", nilaiPBO, kkmPBO, (nilaiPBO >= kkmPBO) ? "Lulus" : "Tidak Lulus");
fprintf(file, "| 5 | Kewirausahaan | %-5.0f | %3d | %-12s |\n", nilaiKewirausahaan, kkmKewirausahaan, (nilaiKewirausahaan >= kkmKewirausahaan) ? "Lulus" : "Tidak Lulus");
fprintf(file, "-------------------------------------------------------------\n");
fprintf(file, "Rata-rata : %.2f\n", rataRata);
fprintf(file, "Predikat : %c\n", predikat);
fclose(file);
printf("Rekapan berhasil dicetak ke file %s\n", namaFile);
}
return 0;
}
Artikel
CONTOH KISI-KISI KKM
Artikel Terkait :
22 March, 2025
Ade Bratajaya Pradana
No posts found
Ade Bratajaya Pradana
Saya adalah seorang programmer sekaligus guru yang mengajar di SMK TI Bali Global Badung. Antusias dengan dunia programming dan pendidikan. Senang berbagi ilmu tentang teknologi dan berita terbaru seputar IT. Memiliki visi memajukan IT di Indonesia khususnya di Pulau Bali. .
