Anda di halaman 1dari 2

berikut ini merupakan coding untuk membuat grafik 2 dimensi dengan menggunakan P

ascal
uses graph, crt;
var xa,ya,xb,yb,xc,yc,tc,ty,ra:real;
procedure init;
var gd,gm:integer;
begin
gd:= VGA;
gm:= VGAHI;
initgraph(gd,gm, );
end;
procedure garis(xstart,ystart,xend,yend:real);
var
step,k:integer;
dx,dy:real;
x_inc,y_inc,x,y:real;
begin
dx:=xend-xstart;
dy:=yend-ystart;
x:=xstart;
y:=ystart;
if abs(dx) > abs(dy) then
step:=round(abs(dx))
else
step:=round(abs(dy));
x_inc:=dx/step;
y_inc:=dy/step;
putpixel(round(x),round(y),30);
for k:=1 to step do
begin
x:=x+x_inc;
y:=y+y_inc;
putpixel(round(x),round(y),k);
delay(50);
end;
end;
procedure kotak(x0,y0,x1,y1:real);
begin
garis(x0,y0,x1,y0);
garis(x1,y0,x1,y1);
garis(x1,y1,x0,y1);
garis(x0,y1,x0,y0);
end;
procedure bulat(xc,yc,r:real);
var step,theta,x,y:real;
i: integer;
begin
theta:=180;
step:=pi*2/360;
for i := 1 to 85 do
begin
x:=xc+r*cos(theta);
y:=yc-r*sin(theta);
theta:= theta+step;
Putpixel(round(x),round(y),i);
delay(500);
end;
end;
procedure rotasibulat(xc,yc,r,xp,yp,sudut:real;
var xa,ya,ra:real);

begin
xa:=xp+(xc-xp)*cos(sudut/57.3)-(yc-yp)*sin(sudut/57.3);
ya:=yp-(xc-xp)*sin(sudut/57.3)+(yc-yp)*cos(sudut/57.3);
ra:=r;
delay(5000);
end;
{PROGRAM UTAMA}
begin
init;
{ kotak(220,190,420,290);
garis(220,190,420,290);
garis(220,290,420,190);
garis(220,240,420,240);
garis(320,190,320,290);}
circle(320,240,200);
circle(220,200,30);
circle(420,200,30);
line(320,240,320,240);
line(320,240,350,300);
line(350,300,290,300);
line(290,300,320,240);
{bulat(320,400,60);}
rotasibulat(320,340,70,310,310,-360,xa,ya,ra);
bulat(xa,ya,ra);
readkey;
closegraph;
end.

Anda mungkin juga menyukai