program menuok;
uses wincrt;
var tanya, pilih :char;

procedure titikpuncak;
var Xp,Yp,y,x,i:integer;
var hasil,hasil1,hasil2,hasil3,hsl,hsl1,has,has1,hasl,hasil5:real;

function siqt (var Xp:integer):integer;
begin
siqt:=Xp * Xp;
end;
begin
clrscr;
writeln (‘cara ini digunakan untuk membentuk fungsi kuadrat’);
writeln (‘jika diketahui titik puncak dan melalui titik sebarang’);
writeln (‘fungsi kuadrat tersebut dapat dinyatakan dalam bentuk’);
readln;
writeln (‘f(x)= a(x-Xp)^2 + Yp’);
readln;
write (‘masukan nilai titik puncak Xp: ‘);
readln (Xp);
write (‘masukan nilai titik puncak Yp: ‘);
readln (Yp);
writeln (‘maka f(x)= a(x-‘,Xp,’)^2 + ‘,Yp);
readln;
writeln (‘karena grafik fungsi tersebut melalui titik sebarang, maka’);
write (‘masukan nilai x: ‘);
readln (x);
write (‘masukan nilai y: ‘);
readln (y);
writeln (‘maka ‘,y,’= a(‘,x,’-‘,Xp,’)^2 +’,Yp);
hasil:=(x-Xp);
writeln (‘maka ‘,y,’= a(‘,hasil:2:0,’)^2 +’,Yp);
hasil5 :=1;
for i:=1 to 2 do
begin
hasil1 :=hasil*hasil;
end;
writeln (‘maka ‘,y,’= a(‘,hasil1:2:0,’) +’,Yp);
hasil2:=y-Yp;
writeln (‘maka ‘,hasil2:2:0,’= a’,hasil1:2:0);
hasil3:=hasil2/hasil1;
writeln (‘a=’,hasil3:2:0);
if(hasil3 = 0) or (hasil3 = -0) then writeln (‘INI BUKAN BENTUK FUNGSI KUADRAT’);
readln;
writeln (‘sehingga diperoleh’);
writeln;
writeln (‘f(x)= a(x-‘,Xp,’)^2 +’,Yp);
hsl:=Xp+Xp;
writeln (‘f(x)=’, hasil3:2:0,'(x^2 -‘,hsl:2:0,’x + ‘,siqt(Xp),’)+’,Yp);
has:=hasil3*hsl;
has1:=hasil3*hsl1;
writeln (‘f(x)=’,hasil3:2:0,’x^2 -‘,has:2:0,’x + ‘,siqt(Xp),’+’,Yp);
hasl:=siqt(Xp)+Yp;
writeln (‘f(x)=’,hasil3:2:0,’x^2 -‘,has:2:0,’x + ‘,hasl:2:0);
readln;
writeln (‘jadi, bentuk fungsi kuadratnya adalah: ‘);
writeln (‘f(x)=’,hasil3:2:0,’x^2 -‘,has:2:0,’x + ‘,hasl:2:0);
writeln (‘=====================’);
readln;
writeln (‘terima kasih, anda telah menggunakan program ini ‘);  writeln;
end;

procedure profil;

const

N = 2;
type
data = record
nrp : string;
nama : string;
prodi : string;
kampus: string;
tlpn:string;
blog:string;
email:string;
end;
var
mahasiswa : array [1..N] of data;
begin
mahasiswa[1].nrp := ‘2225092097’;
mahasiswa[1].nama := ‘Aan Sunandar’;
mahasiswa[1].prodi := ‘pendidkan Matematika’;
mahasiswa[1].kampus := ‘FKIP UNTIRTA’;
mahasiswa[1].email :=’aansunandar@gmail.com’;
mahasiswa[1].blog :=’www.aansunandar09.wordpress.com’;
mahasiswa[1].tlpn :=’085811756932′;
Writeln(mahasiswa[1].nrp);
Writeln(mahasiswa[1].nama);
Writeln(mahasiswa[1].prodi);
Writeln(mahasiswa[1].kampus);
Writeln(mahasiswa[1].email);
Writeln(mahasiswa[1].blog);
Writeln(mahasiswa[1].tlpn);
end;

procedure sumbux;

var x,x1,x2,a,nilai,hasil1,hasil2,hasil,y,i:integer;
var hasil3,hasil6,hasil7:real;
var hasil4,hasil5:integer;

begin
clrscr;
writeln (‘cara ini digunakan untuk membentuk fungsi kuadrat’);
writeln (‘jika diketahui titik potong grafik dengan sumbu x dan melalui titik sebarang’);
readln;
writeln (‘rumus umumnya adalah f(x)=a(x-x1)(x-x2)’);
readln;
write (‘masukan angka x1: ‘);
readln (x1);
write (‘masukan angka x2: ‘);
readln (x2);
writeln (‘sehingga diperoleh’);
writeln (‘f(x)= a(x – ‘,x1,’)(x – ‘,x2,’)’);
readln;
writeln (‘karena grafik melalui titik ketiga’);
write (‘masukan angka x: ‘);
readln (x);
write (‘masukan angka y: ‘);
readln (y);
writeln (y,’=a(‘,x,’-‘,x1,’)(‘,x,’-‘,x2,’)’);
hasil1:= x – x1;
hasil2:= x – x2;
writeln (y,’=a(‘,hasil1,’)(‘,hasil2,’)’);
hasil:= hasil1 * hasil2 ;
writeln (y,’=a(‘,hasil,’)’);
hasil3:= y / hasil;
writeln (‘a=’,hasil3:2:0);
if (hasil3=0) or (hasil3=-0) then writeln (‘INI BUKAN BENTUK FUNGSI KUADRAT’);
readln;
writeln (‘sehingga diperoleh’);
writeln (‘f(x)=’,hasil3:2:0,'(x-‘,x1,’)(x-‘,x2,’)’);
hasil4:=x1 + x2;
for i:=1 to 2 do
begin
hasil5 :=x1*x2;
end;
hasil5:= x1 * x2;
writeln (‘f(x)=’,hasil3:2:0,'(x^2 -‘,hasil4,’x +’,hasil5,’)’);
hasil6:=hasil3*hasil4;
hasil7:=hasil3*hasil5;
writeln (‘f(x)=’,hasil3:2:0,’x^2 -‘,hasil6:2:0,’x +’,hasil7:2:0);
readln;
writeln (‘jadi, bentuk fungsi kuadranya adalah: ‘);
writeln (‘f(x)=’,hasil3:2:0,’x^2 -‘,hasil6:2:0,’x +’,hasil7:2:0);
writeln (‘======================’);
readln;
writeln (‘terima kasih, anda telah menggunakan program ini ‘); writeln;
end;
procedure garis;
begin
writeln (‘================================’);
end;

begin
repeat
clrscr;
garis;
writeln (‘PROGRAM MEMBENTUK FUNGSI KUADRAT’);
garis;
writeln (‘1. jika berpotongan dengan sumbu x’);
writeln (‘2. jika diketahui titik puncaknya’);
garis;
write (‘masukan pilihan anda:….’); readln (pilih);
case pilih of
‘1’ :sumbux;
‘2’: titikpuncak;

else

writeln (‘pilih sesuai menu !!!’);
end;
write (‘anda masih mau lanjut [tekan y/t]:….’);
readln (tanya);
until (tanya=’t’) or (tanya=’T’);
clrscr;
writeln (‘terima kasih anda telah memakai program kami’);
writeln (‘                          Profil Programer                                          ‘);
writeln (‘                ==================                                ‘);
profil;
end.