Mencoba berbagi..
Tugas ini saya kerjakan untuk memenuhi tugad MID semester Ganjil untuk Algoritma dan Pemrograman II: membuat program yang isinya tentang procedure (yang menurut aku lumayan rumit). Setelah banyak ditemui kendala, dan dengan perubahan di sana-sini, finally it has done..
Alhamdulillahh :)
This is it**
program Segitiga;
uses wincrt;
var
pil: byte;
ans: char;
{sub program}
procedure Jenis_Segitiga;
var
A, B, C, x, y: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(30,4); writeln('=========================');
gotoxy(30,5); writeln('Menentukan Jenis Segitiga');
gotoxy(30,6); writeln('=========================');
writeln;
write('Masukkan sisi A (dalam cm): '); readln(A);
write('Masukkan sisi B (dalam cm): '); readln(B);
write('Masukkan sisi C (dalam cm): '); readln(C);
writeln;
x:= sqr(C);
y:=sqr(A)+sqr(B);
if (x<y) then
write('Segitiga dengan sisi A:',A,', sisi B:',B,', dan sisi C:',C,' merupakan Segitiga Lancip')
else
if(x=y) then
write('Segitiga dengan sisi A:',A,', sisi B:',B,', dan sisi C:',C,' merupakan Segitiga Siku-siku')
else
if(x>y) then
write('Segitiga dengan sisi A:',A,', sisi B:',B,', dan sisi C:',C,' merupakan Segitiga Tumpul');
end;
{sub program}
procedure Luas;
var L: array[1..100] of real;
alas, tinggi: array[1..100] of integer;
i,n: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(30,4); writeln('========================');
gotoxy(30,5); writeln('Menghitung Luas Segitiga');
gotoxy(30,6); writeln('========================');
writeln;
write('Mau menghitung luas berapa segitiga? '); readln(n);
for i:=1 to n do
begin
write('Masukkan alas segitiga ',i,': '); readln(alas[i]);
write('Masukkan tinggi segitiga ',i,': '); readln(tinggi[i]);
L[i]:=1/2*(alas[i]*tinggi[i]);
writeln;
end;
for i:= 1 to n do
begin
writeln('Luas segitiga ke-',i,'adalah ',L[i]:0:3);
end;
writeln;
end;
{Sub program}
procedure Keliling;
var K: array[1..100] of real;
a,b,c: array[1..100] of integer;
i,n: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(30,4); writeln('============================');
gotoxy(30,5); writeln('Menghitung Keliling Segitiga');
gotoxy(30,6); writeln('============================');
writeln;
write('Mau menghitung keliling berapa segitiga? '); readln(n);
writeln;
for i:=1 to n do
begin
write('Masukkan sisi a segitiga-',i,': '); readln(a[i]);
write('Masukkan sisi b segitiga-',i,': '); readln(b[i]);
write('Masukkan sisi c segitiga-',i,': '); readln(c[i]);
K[i]:=a[i]+b[i]+c[i];
writeln;
end;
for i:=1 to n do
writeln('Keliling segitiga ',i,' adalah: ',K[i]:0:3);
writeln;
end;
{sub program}
procedure Menyusun_Angka;
var i,j,n : integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(30,4); writeln('==============');
gotoxy(30,5); writeln('Menyusun Angka');
gotoxy(30,6); writeln('==============');
writeln;
write('Masukkan jumlah baris: '); read(n);
for i:=1 to n do
begin
gotoxy(40-3*i,i+10);
for j:=1 to i do
write (i:6);
writeln;
writeln;
end;
end;
{sub program}
procedure Menyusun_Bintang;
var i,j,n: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(30,4); writeln('=========================');
gotoxy(30,5); writeln('Menyusun Bintang Segitiga');
gotoxy(30,6); writeln('=========================');
writeln;
write('Masukkan jumlah baris: '); read(n);
for i:=1 to n do
begin gotoxy(40-3*i,i+10);
for j:=1 to i do
write('*':6);
writeln;
writeln;
end;
end;
{sub program}
procedure Menyusun;
var s: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(25,4); writeln('***************************');
gotoxy(25,5); writeln('* *');
gotoxy(25,6); writeln('* M E N U *');
gotoxy(25,7); writeln('* 1. Menyusun Angka *');
gotoxy(25,8); writeln('* 2. Menyusun Bintang *');
gotoxy(25,9); writeln('* *');
gotoxy(25,10);writeln('***************************');
writeln;
gotoxy(25,14); write('Pilih nomor: '); read(s);
case s of
1 : begin
Menyusun_Angka;
end;
2 : begin
Menyusun_Bintang;
end;
3 : begin
exit;
end;
end;
end;
{sub program}
procedure Hitung_Luas_Keliling;
var s: integer;
begin
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(25,4); writeln('**************************');
gotoxy(25,5); writeln('* M E N U *');
gotoxy(25,6); writeln('* 1. Luas Segitiga *');
gotoxy(25,7); writeln('* 2. Keliling Segitiga *');
gotoxy(25,8); writeln('**************************');
writeln;
gotoxy(25,11); write('Pilih nomor: '); read(s);
clrscr;
case s of
1 : begin
Luas;
end;
2 : begin
Keliling;
end;
3 : begin
exit;
end;
end;
end;
{main program}
begin
repeat
repeat
clrscr;
gotoxy(30,1); writeln('--=o Nur Fadlilah o=--');
gotoxy(30,2); writeln(' 06101008027 ');
writeln;
gotoxy(20,4); writeln('**********************************************');
gotoxy(20,5); writeln('* M E N U *');
gotoxy(20,6); writeln('* 1. Menentukan Jenis Segitiga *');
gotoxy(20,7); writeln('* 2. Menghitung Luas atau Keliling Segitiga *');
gotoxy(20,8); writeln('* 3. Menyusun Segitiga Angka atau Bintang *');
gotoxy(20,9); writeln('**********************************************');
writeln;
gotoxy(20,13); write('Pilihan: '); read(pil);
if pil=1 then
begin
Jenis_Segitiga;
end
else
if pil=2 then
begin
Hitung_Luas_Keliling;
end
else
if pil=3 then
begin
Menyusun;
end
else
write('Maaf nomor yang anda masukkan salah. Mau ulang lagi?[Y/T]: '); readln(ans);
until upcase (ans) <> 'Y';
write('>> Mau coba lagi? Kembali ke menu awal [Y/T]: '); readln(ans);
until upcase (ans) <> 'Y';
end.
No comments:
Post a Comment