program P0203;
uses wincrt;
function ucase(s:string):string; var i:integer;
begin
for i:=1 to length (s) do
if (s[i]>='a') and (s[i]<='z') then
dec (s[i],32);
ucase:=s;
end;
var
pass,nama,alamat,s,lulus : string;
nrp:string;
keterangan: string[2];
grade,pilih,ulang,rev:char;
t,tugas,uts,uas:integer;
na:real;
x : array [1..100] of integer; max,min,bil,arr:integer; {Program MaxMin}
label balik;
begin
writeln('SignIn dan Login, Sebelum masuk pada program');
writeln('--------------------------------------------');
writeln('Gunakan Nama dan NIM anda untuk SignIn & Login');
writeln;
write('Masukkan Username : ');readln(s);
write('Masukkan Password : ');readln(nrp);
balik:
clrscr;
gotoxy(27,2);writeln('>> Selamat Datang di Form Login <<');writeln;
write(' ++ Masukkan Username : ');readln(nama);
write(' ++ Masukkan Password : ');readln(pass);
if (pass=nrp) and (nama<>s) then
begin
writeln;
writeln(' Maaf, Username anda salah');
writeln(' -------------------------');
writeln;
writeln('Tekan y untuk login ulang');
rev:=readkey;
if rev='y' then goto balik;
end
else
if (nama=s) and (pass<>nrp) then
begin
writeln;
writeln(' Maaf, Password anda Keliru');
writeln(' --------------------------');
writeln;
writeln('Tekan y untuk login ulang');
rev:=readkey;
if rev='y' then goto balik;
end
else
if (nama<>s) and (pass<>nrp) then
begin
writeln;
writeln(' Maaf, anda gak ada niat login');
writeln(' -----------------------------');
writeln;
writeln('Tekan y untuk login ulang');
rev:=readkey;
if rev='y' then goto balik;
end
else
begin
writeln;
writeln(' Terima Kasih anda berhasil Login');
writeln(' --------------------------------');
writeln;
writeln('Username : ',s);
writeln('Password : *********');
readln;
repeat
clrscr;
writeln('Menu Utama');
writeln('----------');
writeln('1. Input data Mahasiswa');
writeln('2. Mencari Bilangan Genap & Ganjil');
writeln('3. Bilangan Terbesar & Terkecil');
writeln('4. Anda Keluar');
writeln;
write('Pilihan anda : ');readln(pilih);
case pilih of
'1':begin
clrscr;
writeln('Data Identitas Mahasiswa');
writeln('--------------------------');
write('Masukkan Nama Anda : ');readln(nama);
write('Masukkan NRP Anda : ');readln(nrp);
write('Masukkan alamat Anda : ');readln(alamat);
write('Masukkan Nilai Tugas Anda : ');readln(tugas);
write('Masukkan Nilai UTS Anda : ');readln(uts);
write('Masukkan Nilai UAS Anda : ');readln(uas);
na:=(2*uas+tugas+uts)/4;
{menentukan Program Studi}
if (copy('nrp',3,2)='11') then
keterangan :='S1'
else
if (copy('nrp',3,2)='31') then
keterangan :='D3';
{menentukan Grade}
if (na>=80) then
begin
grade :='A';
lulus :='Lulus';
end
else
if (na>=70) then
begin
grade :='B';
lulus :='Lulus';
end
else
if (na>=60) then
begin
grade :='C';
lulus :='Lulus';
end
else
begin
grade :='D';
lulus :='Tidak Lulus';
end;
clrscr;
writeln('Data Mahasiswa yang diinput');
writeln('---------------------------');
writeln('Nama : ',ucase(nama));
writeln('NRP : ',nrp);
writeln('Program Studi : ',keterangan);
writeln('Alamat : ',ucase(alamat));
writeln('Nilai Tugas : ',tugas);
writeln('Nilai UTS : ',uts);
writeln('Nilai UAS : ',uas);
writeln('Grade : ',grade);
writeln('Lulus/Tidak : ',ucase(lulus));
end;
'2':begin
clrscr;
writeln('Program Mencari Bilangan Genap & Ganjil');
writeln('---------------------------------------');
writeln;
write('Masukkan Bilangan : ');readln(bil);
writeln;
if bil mod 2 = 0 then
writeln(' Bilangan ',bil,' adalah Bilangan Genap')
else
writeln(' Bilangan ',bil,' adalah Bilangan Ganjil');
end;
'3':begin
clrscr;
writeln('Program Menentukan Bilangan Terbesar & Terkecil');
writeln('-----------------------------------------------');
write('Masukkan Jumlah Bilangan : ');readln(bil);
writeln;
for arr:=1 to bil do
begin
write('bilangan ke - ',arr,' : ');readln(x[arr]);
end;
writeln;
write('Bilangan yang anda masukkan adalah : ');
max:=x[1];
min:=x[1];
for arr:= 1 to bil do
begin
write(x[arr],' ');
if (max<x[arr]) then
max:=x[arr]
else
min:=x[arr];
end;
writeln;
writeln('Bilangan Terbesar : ',max);
writeln('Bilangan Terkecil : ',min);
writeln;
end;
'4':begin
clrscr;
writeln('Anda mengakhiri program');
writeln('-----------------------');
end;
else
begin
clrscr;
writeln('Pilihan anda salah !');
writeln('--------------------');
end;
end;
writeln;
Write('Mau Ulang Lagi ? [Y/T]: ');Readln(ulang);
Until Upcase(ulang)<>'Y';
end
end.