Algoritma:
Input(N)
{validasi banyaknya data N)}
While (N < 1) or (N > MaksMhs) do
Output(‘Banyaknya data antara 1 – ‘,MaksMhs,’, Ulangi!’)
Input(N)
EndWhile
For i 1 to N do
Input(NIM(i),Nama(i),Nilai(i))
{validasi nilai}
While (Nilai(i) < 0) or (Nilai(i) > 100) do
Output(‘Nilai antara 0 – 100, Ulangi!’)
Input(Nilai(i))
EndWhile
EndFor
EndProcedure
Algoritma:
Depend On (NA)
80..100 : IndeksNilai ‘A’
70..79 : IndeksNilai ‘B’
60..69 : IndeksNilai ‘C’
50..59 : IndeksNilai ‘D’
0..49 : IndeksNilai ‘E’
EndDepend
EndFunction
Algoritma:
Output(‘ DAFTAR NILAI MAHASISWA’)
Output(‘ ----------------------‘)
Output(‘--------------------------------------------------------‘)
Output(‘! No ! NIM ! Nama Mahasiswa ! Nilai ! Indeks Nilai !’)
Output(‘--------------------------------------------------------‘)
For i 1 to N do
Indeks(i) IndeksNilai(Nilai(i)) {memanggil fungsi}
Output(i,NIM(i),Nama(i),Nilai(i),Indeks(i))
EndFor
Output(‘--------------------------------------------------------‘)
EndProcedure
{Algoritma Utama}
DataMahasiswa
{I.S. : user memasukkan banyaknya data (N) dan array mahasiswa(1:N)}
{F.S. : menampilkan array mahasiswa(1:N) dalam bentuk tabel}
Kamus:
Const
MaksMhs = 50
Type
Larik1 = array[1..MaksMhs] of string
Larik2 = array[1..MaksMhs] of integer
Larik3 = array[1..MaksMhs] of char
NIM,Nama : Larik1
Nilai : Larik2
Indeks : Larik3
N : integer {banyaknya data yang akan diolah}
Algoritma:
IsiData(N,NIM,Nama,Nilai)
TampilData(N,NIM,Nama,Nilai)
{-------------------------- PROGRAM ------------------------------}
program DataMahasiswa;
{I.S. : user memasukkan banyaknya data (N) dan array mahasiswa(1:N)}
{F.S. : menampilkan array mahasiswa(1:N) dalam bentuk tabel}
uses crt;
//kamus global
const
MaksMhs = 50;
type
Larik1 = array[1..MaksMhs] of string;
Larik2 = array[1..MaksMhs] of integer;
Larik3 = array[1..MaksMhs] of char;
var
NIM, Nama : Larik1;
Nilai : Larik2;
Indeks : Larik3;
N : integer; //banyaknya data mahasiswa yang akan diolah
clrscr;
for i := 1 to N do
begin
writeln('Data Mahasiswa Ke-',i);
write('NIM : '); readln(NIM[i]);
write('Nama : '); readln(Nama[i]);
write('Nilai : '); readln(Nilai[i]);
writeln;
end; //endfor
end; //endprocedure