Kamis, 28 Mei 2009

Tugas Pascal 3

Input:


Output:


Listing Program:
Uses Crt;
Var
nama,grd:string;
mt,ft,tm,mmt,mft,mtm,na:real;
Function Nilai_Akhir(Var nmt,nft,ntm,mnmt,mnft,mntm:real):real;
Begin
mnmt:=nmt*0.3;
mnft:=nft*0.3;
mntm:=ntm*0.4;
nilai_akhir:=mnmt+mnft+mntm;
End;
Function Grade(Var n_akhir:real):string;
Begin
IF n_akhir>=85 THEN
grade:=’A’
ELSE IF n_akhir>=76 THEN
grade:=’B’
ELSE IF n_akhir>=67 THEN
grade:=’C’
ELSE
grade:=’D';
End;
Begin
Clrscr;
Writeln(’ HITUNG NILAI’);
Writeln(’—————————————’);
Write(’Nama Siswa : ‘);readln(nama);
Write(’Nilai Mid Test : ‘);readln(mt);
Write(’Nilai Final Test : ‘);readln(ft);
Write(’Nilai Tugas Mandiri : ‘);readln(tm);
na:=Nilai_Akhir(mt,ft,tm,mmt,mft,mtm);
Clrscr;
Writeln(’ HASIL PERHITUNGAN’);
Writeln(’—————————————’);
Writeln(’Nilai Mid Test : ‘,mt:0:0,’* 30%’,'= ‘,mmt:0:0);
Writeln(’Nilai Final Test : ‘,ft:0:0,’* 30%’,'= ‘,mft:0:0);
Writeln(’Nilai Tugas Mandiri: ‘,tm:0:0,’* 40%’,'= ‘,mtm:0:0);
Writeln(’—————————————’);
Writeln(’Nilai Akhir : ‘,na:0:0);
Writeln(’Grade : ‘,grade(na));
Readln;
end.

Penjelasan Program :

Program di atas menggunakan 2 fungsi, yaitu fungsi menghitung nilai akhir dan fungsi mencari grade. Pada fungsi menghitung nilai akhir menggunakan pemanggilan parameter by reference, karena nilai yang dikirim dari program utama, setelah diterima pada function nilai akhir, maka akan dikirim balik ke program utama. Jika pada function nilai akhir terdapat proses, maka proses ini akan mempengaruhi program utama. Ada variabel untuk input, dan penampungan dari hasil perhitungan sebelum akhirnya dihitung lagi pada proses nilai terakhir.
Nilai yang diinput pada program utama yaitu nilai final test(nhnf), nilai mid test(nhnm), nilai ujian murni(nhnt), setelah nilai diinput, nilai akan dikirimkan ke function hitung, untuk nilai yang tidak diinput maka nilainya nol (0), semua nilai dikirimkan ke function hitung . Nilai nf sama dengan nilai nhf, nilai nm sama dengan nilai nhm, nilai nt sama dengan nilai nht, nilai nnf sama dengan nilai nhnf, nilai nnm sama dengan nilai nhnm, nilai nnt sama dengan nilai nhnt, nilai na sama dengan nilai nha. Setelah nilai diterima nila akan diproses, setelah itu nilai akan dikirim balik, semua perubahan pada function hitung akan mempengaruhi program utama. Jadi jika nilai yang awalnya nol(0), akan berubah sesuai dengan perubahan yang terjadi pada function hitung.
Pada function grade, menggunakan pengiriman nilai secara by value. Function grade digunakan untuk menentukan grade dari nilai akhiryang didapat sesuai dengan ketentuan yang telah ditentukan. Grade ini juga dipanggil pada program utama, maka akan dihasilkan keluaran sesuai dengan hasil perhitungan.

Tidak ada komentar:

Posting Komentar