(**********************************************
* pemrogram : moh. rizky rahmanda *
* nim : 1108101010010 *
* fakultas : mipa matematika *
* universitas : syiah kuala *
* compiler : turbo pascal 7.0 *
* cpu : amd dual-core processor c60 *
* with turbo core technology up to 1.333 ghz *
**********************************************)
program pertamaku;
uses crt; {memanggil unit crt}
label keluar, ulang; {memasang label goto keluar}
var a, b, c, d : real;
x1, x2 : real;
f : text;
namafile : string;
directory : string[20];
simpan, ulangi : char;
procedure judul;
begin
writeln(' ******************************************************************');
writeln(' * *');
writeln(' * program menghitung nilai akar x1 dan x2 dari ax^2 + bx + c = 0 *');
writeln(' * *');
writeln(' ******************************************************************');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' * *');
writeln(' ******************************************************************');
writeln;
end;
procedure tunggu;
var d : integer;
s : string[63];
begin
s := '< < < < < < < < <s i l a h k a n t u n g g u> > > > > > > > >';
for d := 1 to 62 do {perulangan membuat efek loading}
begin
delay(85);
write(s[d]);
end;
writeln;
writeln;
end;
begin
repeat
clrscr;
judul;
gotoxy(10,7);
write('nilai a = ');
readln(a);
writeln;
gotoxy(10, wherey);
write('nilai b = ');
readln(b);
writeln;
gotoxy(10, wherey);
write('nilai c = ');
readln(c);
writeln;
d := sqr(b) - 4 * a * c;
if d < 0 then {memeriksa nilai d}
begin
gotoxy(10, 17);
tunggu;
gotoxy(10, 13);
write('persamaan kuadrat tidak memiliki akar real');
writeln;
writeln;
gotoxy(10, wherey);
write('tekan sembarang tombol');
readkey;
goto keluar;
end;
x1 := ( -b + sqrt(d) ) / ( 2 * a );
x2 := ( -b - sqrt(d) ) / ( 2 * a );
gotoxy(10, 17);
tunggu;
clrscr;
judul;
gotoxy(10, 7);
writeln('--------------------------------------------------------------');
gotoxy(10, wherey);
writeln('| persamaan kuadrat | nilai x1 | nilai x2 |');
gotoxy(10, wherey);
writeln('--------------------------------------------------------------');
gotoxy(10, wherey);
writeln('| (',a:0:2,')x^2+(',b:0:2,')x+(',c:0:2,')=0 | ',x1:0:2,' | ',x2:0:2,' |');
gotoxy(10, wherey);
writeln('--------------------------------------------------------------');
writeln;
gotoxy(10, wherey);
write('simpan (y/t) ? ');
readln(simpan);
if (simpan = 'Y') or (simpan = 'y') then
begin
{$i-}
clrscr;
judul;
ulang :
mkdir('c:\14101994'); {membuat folder}
if ioresult = 0 then {jika direktori bisa dibuat}
goto ulang;
chdir('c:\14101994'); {membuka direktori}
gotoxy(10, 7);
write('nama file ? '); {proses membuat file}
readln(namafile);
assign(f, namafile + '.txt');
rewrite(f);
writeln(f,'******************************************************************');
writeln(f,'* *');
writeln(f,'* program menghitung nilai akar x1 dan x2 dari ax^2 + bx + c = 0 *');
writeln(f,'* *');
writeln(f,'******************************************************************');
writeln(f,'* *');
writeln(f,'* -------------------------------------------------------------- *');
writeln(f,'* | persamaan kuadrat | nilai x1 | nilai x2 | *');
writeln(f,'* -------------------------------------------------------------- *');
writeln(f,'* | (',a:0:2,')x^2+(',b:0:2,')x+(',c:0:2,')=0 | ',x1:0:2,' | ',x2:0:2,' | *');
writeln(f,'* -------------------------------------------------------------- *');
writeln(f,'* | -Moh. Rizky Rahmanda- | *');
writeln(f,'* -------------------------------------------------------------- *');
writeln(f,'* *');
writeln(f,'******************************************************************');
append(f);
close(f); {akhir dari proses membuat file}
getdir(0,directory); {mencari alamat direktori}
writeln;
gotoxy(10, wherey);
writeln('file akan disimpan di ', directory);
writeln;
gotoxy(10, 17);
tunggu;
gotoxy(10, 11);
writeln('selesai');
writeln;
gotoxy(10, wherey);
write('tekan sembarang tombol');
readkey;
end;
keluar :
clrscr;
judul;
gotoxy(10, 7);
write('ulangi (y/t) ? '); {untuk melakukan proses ulangi}
readln(ulangi);
until (ulangi = 't') or (ulangi= 'T');
end.
Tidak ada komentar:
Posting Komentar