Turbo Pascal

Turbo Pascal

Buatlah Program untuk menghitung Nilai Akhir siswa, adapun ketentuan-ketentuan penilaian yaitu :

Nilai Murni Bahasa = Nilai Bahasa * 40%
Nilai Murni Matematika = Nilai Matematika * 60%

Rancangan Masukan
Rancangan Masukan yang diinginkan seperti dibawah ini :

Input Data Nilai
————————-
Masukan Banyak Data : ____

Data Ke : < no counter >
Nama Siswa : ___________________
Nilai Matematika : ____
Nilai Bahasa : ____

Rancangan Keluaran

Rancangan Keluaran yang diinginkan seperti dibawah ini :

OUTPUT

OUTPUT

JAWABAN

Perhatikan baik-baik dan analisa mana saja yang akan dijadikan variabel array dari soal diatas. Pastikan data-data yang diinput pasti akan dijadikan variabel array, kemudian variabel untuk menampung untuk nilai hasil proses persentasi dari masing-masing nilai, yaitu persentasi nilai matematika dan persentasi nilai bahasa. Berikut jawaban soal diatas, seperti dibawah ini :

PROGRAM Latihan_Array;
Uses Crt;
Var
 Nama_Siswa : ARRAY[1..10] OF String;
 Nil_Mtk : ARRAY[1..10] OF Integer;
 Nil_Bhs : ARRAY[1..10] OF Integer;
 Nil_Akhir : ARRAY[1..10] OF Real;
 A, N : Integer;
Begin
 ClrScr;
 WriteLn('Program Hitung Nilai');
 WriteLn('--------------------');
 Write('Masukan Banyak Data : ');
 ReadLn(N);

 WriteLn;
 FOR A := 1 TO N DO
 Begin
 WriteLn('Data Ke - ',A:3);
 Write('Nama Siswa       : '); ReadLn(Nama_Siswa[A]);
 Write('Nilai Matematika : '); ReadLn(Nil_Mtk[A]);
 Write('Nilai Bahasa     : '); ReadLn(Nil_Bhs[A]);
 End;

 WriteLn;
 ClrScr;
 WriteLn('Daftar Nilai');
 WriteLn('==============================================================');
 WriteLn('|    |   Nama Siswa     |          Nilai       |             |');
 WriteLn('| No |                  |----------------------| Nilai Akhir |');
 WriteLn('|    |                  | Matematika | Bahasa  |             |');
 WriteLn('==============================================================');

 FOR A := 1 TO N DO
 Begin
 Nil_Akhir[A] := (0.40 * Nil_Bhs[A])+(0.60 * Nil_Mtk[A]);
 GoToXY(1,A+6); Write('|');
 GoToXY(3,A+6); Write(A);
 GotoXY(6,A+6); Write('|');
 GotoXY(8,A+6); Write(Nama_Siswa[A]);
 GotoXY(25,A+6); Write('|');
 GotoXY(32,A+6); Write(Nil_Mtk[A]);
 GotoXY(38,A+6); Write('|');
 GotoXY(42,A+6); Write(Nil_Bhs[A]);
 GotoXY(48,A+6); Write('|');
 GotoXY(52,A+6); Write(Nil_Akhir[A]:5:2);
 GotoXY(62,A+6); Write('|');
 End;

 Writeln;
 WriteLn('==============================================================');
 ReadLn;
End.