Berikut adalah Source Code Test Pemahaman Record Data Siswa Paling Sederhana dalam Bahasa Pascal.

Data arsip dari Die Coding, silakan digunakan dan diubah sesuka hati, semoga bermanfaat.

program recordLatihan;
uses crt;

type rsiswa = record
  nama: string[32];
  absen: byte;
  nilai: array[1..100] of real;
end;

var siswa: array[1..100] of rsiswa;
  i,j,n: integer;
  totalnilai,rata2,varians,deviasi: real;
  nilai: array[1..100] of real;

begin
	clrscr;
	writeln (' ------------------------------------------ ');
	writeln ('|                                          |');
	writeln ('|           source: diecoding.com          |');
	writeln ('|                                          |');
	writeln (' ------------------------------------------ ');
	writeln;
  write('- Masukkan jumlah siswa yang dianalisis: '); readln(n);
  writeln('- Data Siswa -');
  for i := 1 to n do
  begin
    writeln;
    writeln('==========');
    writeln('Data ke ',i);
    writeln('==========');
    with siswa[i] do begin
      write('Masukkan nama          : '); readln(nama);
      write('Masukkan nomor absensi : '); readln(absen);
      write('Masukkan nilai         : '); readln(nilai[i]);
      while (nilai[i]>100) or (nilai[i]<0) do
      begin
        writeln('Nilai tidak valid !');
        write('Masukkan nilai       : '); readln(nilai[i]);
      end;
      totalnilai := totalnilai + nilai[i];
    end;
  end;

  rata2 := totalnilai/n;
  varians := varians + (sqr(nilai[i]-rata2)/n);
  deviasi := sqrt(varians);
  writeln('=========================');
  writeln;
  writeln('Total nilai     : ', totalnilai:0:4);
  writeln('Nilai rata-rata : ', rata2:0:4);
  writeln('Standar deviasi : ', deviasi:0:4);
  writeln;
  writeln('- Kesimpulan -');
  for j := 1 to n do begin
    with siswa[j] do begin
      writeln;
      writeln('Nama siswa : ',nama);
      writeln('No. Absen  : ',absen);
      writeln('Nilai      : ',nilai[j]:0:2);
      if nilai[j]>rata2+(deviasi/2) then
        writeln('Keterangan : Tinggi')
        else if nilai[j]<rata2-(deviasi/2) then
          writeln('Keterangan : Kurang')
        else
          writeln('Keterangan : Sedang');
    end;
  end;

  writeln;writeln;
  writeln ('- Data Bermasalah -');
  for j := 1 to n do begin
    with siswa[j] do begin
      if nilai[j]<rata2-(deviasi/2) then
        writeln('Nama siswa : ',nama);
    end;
  end;
  readkey;
end.