tugas 4(if, case of, procedure, while do, repeat until, for to do, array, fungsi)

program PERSAMAAN_DAN_FUNGSI_KUADRAT;
uses wincrt;

procedure garis;
begin
writeln(‘===========================================================’);
end;

var
hasil3,hasil4:real;

bil1,bil2,hasil1,hasil2:integer;

a,b,c,D:real;
akar1,akar2,rata:real;

lagi,pilihan,maning,lain,fung,ulang,chois:char;

pers3,pers4,pers5,pers6,pers7,pers8,pers9:real;

xe,ye,ce,pers,pers2:integer;
x1,x2,ci,i,n,dat,tot:integer;
fak:longint;
angka:integer;

x:array [1..100] of integer;

function edi1(a:integer; n:integer):integer;
var
edi:integer;
begin
edi:=1;
for i:=1 to n do
edi:=edi*a;
edi1:=edi;
end;

procedure persamaan_fungsi;
begin
clrscr;
writeln(‘PERSAMAAN FUNGSI KUADRAT’);
writeln(‘—————————————————‘);
writeln(‘[1] persamaan fungsi kuadrat dengan puncak (xe,ye)’);
writeln(‘[2] persamaan fungsi kuadrat yang memotong sumbu x’);
writeln(‘—————————————————-‘);
write(‘pilih no: ‘);readln(chois);
case chois of
‘1’:begin
clrscr;
writeln(‘Persamaan Fungsi Kuadrat’);
writeln(‘——————————————————————‘);
writeln(‘persamaan fungsi kuadrat dengan titik puncak (xe,ye) dan memotong’);
writeln(‘sumbu y di (0,c) adalah y=a(x-xe)^2+ye’);
writeln(‘——————————————————————‘);
write(‘masukan xe = ‘);readln(xe);
write(‘masukan ye = ‘);readln(ye);
writeln;
writeln(‘persamaan fungsi kuadrat dengan titik puncak (‘,xe,’,’,ye,’)’);
writeln(‘adalah y=a(x-‘,xe,’)^2+’,ye);
writeln;
write(‘masukan  c = ‘);readln(ce);
writeln;
writeln(‘subtitusikan titik (0,’,ce,’) ke persamaan’);
writeln(ce,’=a(0-‘,xe,’)^2+’,ye);
pers:=sqr(xe);
writeln(ce,’=a*’,pers,’+’,ye);
pers2:=ce-ye;
writeln(pers2,’=a*’,pers);
pers3:=pers2/pers;
writeln(‘a=’,pers3:5:1);
writeln;
writeln(‘maka persamaannya adalah’);
writeln(‘y=’,pers3:5:1,'(x-‘,xe,’)^2+’,ye);
pers4:=2*xe*pers3;
pers5:=(pers*pers3)+ye;
writeln(‘y=’,pers3:5:1,’x*x -‘,pers4:5:1,’x +’,pers5:5:1);
garis;
end;
‘2’:begin
clrscr;
writeln(‘Persamaan Fungsi Kuadrat’);
writeln(‘————————————————-‘);
writeln(‘persamaan fungsi kuadrat yang memotong sumbu x di’);
writeln(‘(x1,0) dan (x2,0) dan memotong sumbu y di (0,c)’);
writeln(‘adalah y=a(x-x1)*(x-x2)’);
writeln(‘————————————————-‘);
write(‘masukan x1= ‘);readln(x1);
write(‘masukan x2= ‘);readln(x2);
writeln;
writeln(‘y=a(x-‘,x1,’)(x-‘,x2,’)’);
writeln;
write(‘masukan c= ‘);readln(ci);
writeln;
writeln(‘subtitusikan titik (0,’,ci,’) ke persamaan’);
writeln(ci,’=a(x-‘,x1,’)(x-‘,x2,’)’);
writeln(ci,’=a(-‘,x1,’)(-‘,x2,’)’);
pers6:=(-x1)*(-x2);
pers7:=ci/pers6;
writeln(pers7:5:1,’=a’);
writeln;
writeln(‘maka persamaannya adalah’);
writeln(‘y=’,pers7:5:1,'(x-‘,x1,’)(x-‘,x2,’)’);
pers8:=(x1+x2)*pers7;
pers9:=(x1*x2)*pers7;
writeln(‘y=’,pers7:5:1,’x*x -‘,pers8:5:1,’x +’,pers9:5:1);
garis;
end;
else
clrscr;
writeln(‘capek dehh, lihat pilihannya dunk bro, OKEH’);
garis;
end;
end;

procedure fungsi;
begin
clrscr;
repeat
clrscr;
writeln(‘FUNGSI KUADRAT’);
writeln(‘==============’);
writeln(‘rumus umum fungsi kuadrat: f(x)=a*x*x+bx+c; a,b,c elemen R’);
writeln(‘dan a tidak boleh sama dengan 0’);
writeln(‘———————————‘);
writeln(‘[5] Persamaan Sumbu Simetri’);
writeln(‘[6] Titik Puncak/Titik Balik’);
writeln(‘[7] Persamaan Fungsi Kuadrat’);
writeln(‘———————————‘);
write(‘pilih no: ‘);readln(fung);
case fung of
‘5’:begin
clrscr;
writeln(‘Mencari Persamaan Sumbu Simetri’);
garis;
write(‘masukan a = ‘);readln(a);
write(‘masukan b = ‘);readln(b);
write(‘masukan c = ‘);readln(c);
garis;
hasil3:=-b/(2*a);
writeln(‘maka sumbu simetrisnya yaitu, x= ‘,hasil3:4:2);
garis;
end;
‘6’:begin
clrscr;
writeln(‘Mencari Titik Puncak/Titik Balik’);
garis;
write(‘masukan a = ‘);readln(a);
write(‘masukan b = ‘);readln(b);
write(‘masukan c = ‘);readln(c);
garis;
D:=(b*b)-(4*a*c);
hasil3:=-b/(2*a);
hasil4:=-D/(4*a);
writeln(‘maka titik puncak/titik baliknya yaitu: (‘,hasil3:4:2,’,’,hasil4:4:2,’)’);
garis;
end;
‘7’:persamaan_fungsi;
else
clrscr;
writeln(‘pilihannya dari 5-7. maaf, sebaiknya mata anda segera diperiksa’);
garis;
end;
write(‘mau mencari lagi?(y/t): ‘);readln(ulang);
ulang:=upcase(ulang);
writeln;
until ulang=’T’;
end;

procedure lainnya;
begin
repeat
clrscr;
writeln(‘MENU LAINNYA’);
garis;
writeln(‘[1] FAKTORIAL’);
writeln(‘[2] MENGHITUNG RATA-RATA’);
writeln(‘[3] PROGRAM ARRAY’);
writeln(‘[4] BILANGAN BERPANGKAT’);
garis;
write(‘pilih no: ‘);readln(lain);
case lain of
‘1’:begin
clrscr;
writeln(‘FAKTORIAL’);
garis;
writeln;
write(‘masukkan nilai faktorial: ‘);readln(n);
writeln;
if (n<=0) then
writeln(‘hasil faktorial dari ‘,n,’ = ‘,1)
else
begin
fak:=1;
for i := 1 to n do
fak:=fak*i;
Writeln(‘hasil faktorial dari ‘,n,’ = ‘,fak);
garis;
end;
end;
‘2’:begin
clrscr;
writeln(‘MENGHITUNG RATA-RATA’);
garis;
write(‘masukan banyaknya data bilangan: ‘);readln(n);
writeln;
tot:=0;
for i:= 1 to n do
begin
write(‘bilangan ke-‘,i,’ = ‘);readln(dat);
tot:=tot+dat;
end;
rata:=tot/n;
writeln;
writeln(‘jumlah data bilangan = ‘,tot);
writeln(‘maka rata-rata dari data tersebut adalah ‘,rata:6:2);
garis;
end;
‘3’:begin
clrscr;
writeln(‘ROGRAM ARRAY’);
garis;
writeln;
write(‘masukkan jumlah data: ‘);readln(n);
writeln;
for i:= 1 to n do
readln(x[i]);
writeln;
write(‘data yang telah dimasukkan: ‘);
for i:= 1 to n do
write(x[i],’ ‘);
writeln;
garis;
end;
‘4’:begin
clrscr;
writeln(‘BILANGAN BERPANGKAT’);
garis;
writeln;
write(‘masukan angka yang mau dipangkatkan: ‘);readln(angka);
write(‘masukan jumlah pangkat: ‘);readln(n);
writeln;
writeln(‘hasil dari ‘,angka,’ pangkat ‘,n,’ = ‘,edi1(angka,n));
writeln;
garis;
end;
else
clrscr;
writeln(‘maning-maning NGAWUR..!!!’);
garis;
end;
write(‘mau lagi?(y/t): ‘);readln(maning);
maning:=upcase(maning);
writeln;
until maning=’T’;
end;

procedure selesai;
begin
clrscr;
writeln(‘terima kasih anda telah menggunakan program saya’);
writeln(‘e-mail : edisuhaedi_mtk@yahoo.co.id’);
writeln(‘blog   : http://www.edisuhaedi.wordpress.com&#8217;);
writeln(‘no.hp  : 08567162696′);
garis;
end;

begin
lagi:=’y’;
while (lagi=’y’) or (lagi=’Y’) do
begin
clrscr;
begin
writeln(‘          W  E  L  C  O  M  E’);
writeln(‘        @@@@@@@@@@@@@@@@@@@@@@@’);
writeln(‘NAMA     : EDI SUHAEDI’);
writeln(‘SMT/KLS  : 3/D’);
writeln(‘NIM      : 2225092763’);
writeln(‘BAHASAN  : PERSAMAAN DAN FUNGSI KUADRAT’);
writeln(‘=============================================’);

writeln(‘PROGRAM PERSAMAAN DAN FUNGSI KUADRAT’);
writeln(‘=============================================’);
writeln(‘[1] AKAR PERSAMAAN KUADRAT DAN DISKRIMINAN’);
writeln(‘[2] MENYUSUN PERSAMAAN KUADRAT’);
writeln(‘[3] FUNGSI KUADRAT’);
writeln(‘[4] LAINNYA’);
writeln(‘[5] SELESAI’);
writeln(‘=============================================’);
writeln(‘[0] EXIT’);
writeln(‘=============================================’);
write(‘pilih materi no: ‘);readln(pilihan);
case pilihan of
‘1’: begin
clrscr;
writeln(‘AKAR PERSAMAAN KUADRAT DAN DISKRIMINAN’);
writeln(‘======================================’);
writeln(‘mencari akar-akar persamaan kuadrat (a*x*x+b*x+c=0)’);
writeln(‘———————————————————–‘);
write(‘masukkan a = ‘);readln(a);
write(‘masukkan b = ‘);readln(b);
write(‘masukkan c = ‘);readln(c);
writeln(‘===========================================================’);
D:=(b*b)-4*a*c;
if D=0 then
begin
akar1:=-b/2*a;
akar2:=akar1;
writeln(‘D=’,D:4:2);
writeln(‘karena D=0, maka akar-akar persamaan kuadratnya adalah sama: ‘);
writeln(‘x[1]=x[2]=’,akar1:4:2);
garis;
end;
if D >0 then
begin
akar1:=(-b+sqrt(D))/2*a;
akar2:=(-b-sqrt(D))/2*a;
writeln(‘D=’,D:4:2);
writeln(‘karena D>0, maka akar-akar persamaan kuadratnya real & berlainan:’);
writeln(‘x[1]=’,akar1:4:2,’ dan x[2]=’,akar2:4:2);
garis;
end;
if D<0 then
begin
writeln(‘D=’,D:4:2);
writeln(‘karena D<0, maka akar-akar persamaan kuadratnya adalah imajiner’);
garis;
end;
end;
‘2’: begin
clrscr;
writeln(‘MENYUSUN PERSAMAAN KUADRAT’);
writeln(‘==========================’);
writeln(‘Ket : x[1] dan x[2] merupakan akar persamaan kuadraat,’);
writeln(‘      x*x dibaca x kuadrat’);
writeln(‘——————————————————————————–‘);
writeln(‘rumus umum menyusun akar persamaan kuadrat baru: x*x-(x[1]+x[2])x+(x[1]*x[2])=0  ‘);
writeln(‘——————————————————————————–‘);
writeln(‘SILAHKAN MENCOBA….!!!’);
writeln(”);
write(‘masukan x[1] = ‘);readln(bil1);
write(‘masukan x[2] = ‘);readln(bil2);
writeln(‘—————‘);
hasil1:=(bil1+bil2);
writeln(‘x[1]+x[2] = ‘,hasil1);
hasil2:=(bil1*bil2);
writeln(‘x[1]*x[2] = ‘,hasil2);
writeln(‘—————————————————-‘);
writeln(‘maka persamaan kuadratnya adalah: x*x-‘,hasil1,’x+’,hasil2,’=0′);
writeln(‘—————————————————-‘);
writeln(‘NOTE: program ini berlaku hanya untuk BILANGAN BULAT’) ;
writeln(‘                                      ==============’);
garis;
end;
‘3’: fungsi;
‘4’: lainnya;
‘5’: selesai;
‘0’: donewincrt;
else
clrscr;
writeln(‘anda tadi pilih no berapa?… NGAWUR!!!!’);
garis;
end;
writeln;
writeln(‘KEMBALI KE MENU AWAL?[Y/T]’);readln(lagi);
clrscr;
writeln(‘terima kasih anda telah menggunakan program saya’);
writeln(‘e-mail : edisuhaedi_mtk@yahoo.co.id’);
writeln(‘blog   : http://www.edisuhaedi.wordpress.com&#8217;);
writeln(‘no.hp  : 08567162696’);
end;
end;
end.