0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan7 halaman

Program

Program SistemNilai menghitung nilai akhir mahasiswa berdasarkan nilai tugas, UTS, dan UAS, serta menentukan grade dari nilai tersebut. Program ini menggunakan fungsi untuk menghitung nilai akhir dan prosedur untuk menentukan grade, dengan logika percabangan untuk menilai kelulusan. Selain itu, terdapat penjelasan mendetail mengenai struktur program, variabel, dan konsep pemrograman yang digunakan.

Diunggah oleh

bayusinaga343
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan7 halaman

Program

Program SistemNilai menghitung nilai akhir mahasiswa berdasarkan nilai tugas, UTS, dan UAS, serta menentukan grade dari nilai tersebut. Program ini menggunakan fungsi untuk menghitung nilai akhir dan prosedur untuk menentukan grade, dengan logika percabangan untuk menilai kelulusan. Selain itu, terdapat penjelasan mendetail mengenai struktur program, variabel, dan konsep pemrograman yang digunakan.

Diunggah oleh

bayusinaga343
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

PROGRAM :

program SistemNilai;
uses crt;
var
nama: string;
tugas, uts, uas, nilaiAkhir: real;
grade: char;
function HitungNilai(t, u, ua: real): real;
begin
HitungNilai := (t * 0.3) + (u * 0.3) + (ua * 0.4);
end;
procedure TentukanGrade(n: real);
begin
if n >= 85 then grade := 'A'
else if n >= 75 then grade := 'B'
else if n >= 65 then grade := 'C'
else if n >= 50 then grade := 'D'
else grade := 'E';
end;
begin
clrscr;
writeln('=== SISTEM PENILAIAN MAHASISWA ===');
write('Nama: '); readln(nama);
write('Nilai Tugas: '); readln(tugas);
write('Nilai UTS: '); readln(uts);
write('Nilai UAS: '); readln(uas);
nilaiAkhir := HitungNilai(tugas, uts, uas);
TentukanGrade(nilaiAkhir);
writeln('Nilai Akhir: ', nilaiAkhir:0:2);
writeln('Grade: ', grade);
if grade <> 'E' then
writeln('Keterangan: LULUS')
else
writeln('Keterangan: TIDAK LULUS');
readln;
end.

PENJELASAN PROGRAM PASCAL :


Siap 🔥
Sekarang kita bedah program ini seperti kamu lagi ngajarin di kelas sebagai asdos.

📌 1️⃣ Bagian Header Program


program SistemNilai;
uses crt;

🔎 Penjelasan:

• program SistemNilai;
→ Nama programnya adalah SistemNilai.
• uses crt;
→ Menggunakan library CRT (Cathode Ray Tube).
Fungsinya untuk:
o clrscr; → Membersihkan layar
o Mengatur tampilan console

📌 2️⃣ Bagian Deklarasi Variabel


var
nama: string;
tugas, uts, uas, nilaiAkhir: real;
grade: char;

🔎 Penjelasan:
Variabel Tipe Data Fungsi
nama string Menyimpan nama mahasiswa
tugas real Nilai tugas
uts real Nilai UTS
uas real Nilai UAS
nilaiAkhir real Hasil perhitungan akhir
grade char Huruf nilai (A–E)

Kenapa pakai real?


Karena ada angka desimal (misalnya 82.5).

📌 3️⃣ Function HitungNilai


function HitungNilai(t, u, ua: real): real;
begin
HitungNilai := (t * 0.3) + (u * 0.3) + (ua * 0.4);
end;

🔎 Penjelasan:

Ini adalah function (fungsi yang mengembalikan nilai).

Parameter:

• t → tugas
• u → uts
• ua → uas

Mengembalikan nilai akhir dengan rumus:

NA=(t∗0.3)+(u∗0.3)+(ua∗0.4)NA = (t * 0.3) + (u * 0.3) + (ua *


0.4)NA=(t∗0.3)+(u∗0.3)+(ua∗0.4)

Artinya:

• Tugas 30%
• UTS 30%
• UAS 40%

Kenapa pakai function?


✔ Supaya kode rapi
✔ Bisa dipanggil berkali-kali
✔ Konsep modular programming
📌 4️⃣ Procedure TentukanGrade
procedure TentukanGrade(n: real);
begin
if n >= 85 then grade := 'A'
else if n >= 75 then grade := 'B'
else if n >= 65 then grade := 'C'
else if n >= 50 then grade := 'D'
else grade := 'E';
end;

🔎 Penjelasan:

Ini adalah procedure (tidak mengembalikan nilai).

Parameter:

• n → nilai akhir

Logika:

• ≥ 85 → A
• ≥ 75 → B
• ≥ 65 → C
• ≥ 50 → D
• < 50 → E

Kenapa pakai procedure?


✔ Karena hanya mengubah variabel global grade
✔ Tidak perlu return nilai

📌 5️⃣ Program Utama (Main Program)


begin

Semua kode di dalam ini akan dijalankan.

🔹 Membersihkan Layar
clrscr;

Membersihkan tampilan console.


🔹 Input Data
write('Nama: '); readln(nama);
write('Nilai Tugas: '); readln(tugas);
write('Nilai UTS: '); readln(uts);
write('Nilai UAS: '); readln(uas);

Mahasiswa mengisi:

• Nama
• Nilai tugas
• Nilai UTS
• Nilai UAS

🔹 Memanggil Function
nilaiAkhir := HitungNilai(tugas, uts, uas);

Artinya:

• Panggil function
• Simpan hasilnya ke nilaiAkhir

🔹 Menentukan Grade
TentukanGrade(nilaiAkhir);

Procedure ini:

• Mengecek nilai akhir


• Mengisi variabel grade

🔹 Menampilkan Hasil
writeln('Nilai Akhir: ', nilaiAkhir:0:2);

:0:2 artinya:

• Tampilkan 2 angka di belakang koma

Contoh:
83.75
writeln('Grade: ', grade);

Menampilkan huruf nilai.

🔹 Menentukan Lulus/Tidak
if grade <> 'E' then

Artinya:

• Jika grade bukan E → LULUS


• Jika E → TIDAK LULUS

Operator <> artinya “tidak sama dengan”.

🎯 Alur Logika Program


1. Input data
2. Hitung nilai akhir
3. Tentukan grade
4. Tentukan lulus/tidak
5. Tampilkan hasil

🎓 Konsep Yang Bisa Kamu Tekankan


Saat Mengajar
Sebagai asdos, kamu bisa jelaskan:

• Perbedaan function & procedure


• Parameter
• Return value
• Percabangan bertingkat
• Modular programming
• Format output angka
🔥 Kalau Mau Naik Level
Kamu bisa kasih challenge:

1️⃣ Tambahkan validasi nilai (tidak boleh >100)


2️⃣ Bisa input 5 mahasiswa (pakai loop & array)
3️⃣ Tambahkan predikat (Sangat Baik, Baik, Cukup)
4️⃣ Tambahkan menu ulang program

Anda mungkin juga menyukai