Log in

View Full Version : Masalah Pascal,,benar2 butuh bantuan gan!!


Darkc0der
20th November 2011, 01:36 AM
:ceriwislove:



misi agan2 skalian....

niubie ni gan,,,,

tapi ane bner2 tertarik banget ma coding...



tolong dibantu donk gan...

ni ada source code pascal, tapi pas di compile katanya error kyk bgini..



kompiler nya ane pake DEV PAS



"can't find unit INITGRP"



kira2 masalahnya dimana tu ya gan??

sekalian kalo bisa ane mnta tolong dicariin solusinya ampe bisa berhasil dijalankan..



ni dy ane lampirkan source code nya buat kepentingan penelitian gan...

:homo:




Spoiler for source code:






uses Crt, Dos, Graph, Initgrp;

Type

Poligon = Array [1..6] of PointType;

Mat = array [1..3,1..3] of Real;

Vek = array [1..3] of Real;



Const

sSegilima : Poligon =

((X:200;Y:150),(X:250;Y:200),(X:300;Y:350),(X:200; Y:350),(X:200;Y:150));



Var

Driver,Mode,Err:Integer;

I : Integer;

Segilima1,Segilima2,Segilima3 : Poligon;

Vekhasil : Vek;

Procedure Geser(Var Mt : Mat; trx, Try : Integer);

Begin

Mt[1,1] := 1; Mt[1,2] :=0; Mt[1,3] :=0;

Mt[2,1] := 0; Mt[2,2] :=1; Mt[2,3] :=0;

Mt[3,1] := Trx; Mt[3,2] :=Try; Mt[3,3] :=1;

End;



Procedure Skala(Var Ms : Mat; SX,SY : Real);

Begin

Ms[1,1] := SX; Ms[1,2] :=0; Ms[1,3] :=0;

Ms[2,1] := 0; Ms[2,2] :=SY; Ms[2,3] :=0;

Ms[3,1] := 0; Ms[3,2] :=0; Ms[3,3] :=1;

End;



Procedure Rotasi(Var Mr : Mat; Theta :Real);

Begin

Theta := Theta*pi/180;

Mr[1,1] := Cos (Theta); Mr[1,2] := Sin (Theta); Mr[1,3] :=0;

Mr[2,1] := -Sin (Theta); Mr[2,2] := Cos (Theta); Mr[2,3] :=0;

Mr[3,1] := 0; Mr[3,2] :=0; Mr[3,3] :=1;

End;



Procedure Shear(Var Msh : Mat; Sh,Sg : Real);

Begin

Msh[1,1] := 1; Msh[1,2] :=Sg; Msh[1,3] :=0;

Msh[2,1] := Sh; Msh[2,2] :=1; Msh[2,3] :=0;

Msh[3,1] := 0; Msh[3,2] :=0; Msh[3,3] :=1;

End.



Procedure PerkalianVektor(Var VekH : Vek; VekA : Vek; MatA : Mat);

Var

I,J : Byte;



Begin

For I : = 1 To 3 Do

Begin

VekH[i] : = 0;

For J : = 1 To 3 Do

VekH[i] : = VekH[i] + VekA[J] * MatA[J,I];

End;

End;



Procedure ProsesGambar(Sh,Sg : Real);

Var

I,J : Byte;

Vekhasil,VekTitik : Vek;

MatTrans : Mat;



Begin

Shear(MatTrans, Sh,Sg);

For I : = 1 To 6 Do

Begin

VekTitik[1] := Segilima[i].X;

VekTitik[2] := Segilima[i].Y;

VekTitik[3] := 1;

PerkalianVektor(Vekhasil, VekTitik, MatTrans);

Segilima2[i].X := Round(VekHasil[1]);

Segilima2[i].Y := Round(VekHasil[2]);

VekTitik[1] := Segilima[i].X;

VekTitik[2] := Segilima[i].Y;

VekTitik[3] := 1;

PerkalianVektor(Vekhasil, VekTitik, MatTrans);

Segilima3[i].X := Round(VekHasil[1]);

Segilima3[i].Y := Round(VekHasil[2]);

End;

End;



Begin

Driver := Detect;

Mode := VgMed;

SiapkanGrafik(Driver,Mode);

SetTextSytle(TriplexFont,HorizDir,4);

SetTextJustify(CenterText,CenterText);

OutTextXY(GetMaxX Div 2,50,'Contoh Transformasi Sederhana');



For I := 1 To 6 Do

Begin

Segilima[i].X := Segilima[i].X + 100;

Segilima[i].Y := Segilima[i].Y;

End;



SetTextStyle(DefaultFont,HorizDir,1);

SetTextJustify(LeftText,CenterText);

OutTextXY(260,380,'Gambar Asli');

DrawPoly(6,Segilima);

DrawPoly(6,Segilima1);

ProsesGambar(0.5,0);

DrawPoly(6,Segilima2);

DrawPoly(6,Segilima3);

OutTextXY(425,380,'Shear Dengan X Positif');

ProsesGambar(-0.5,5);

DrawPoly(6,Segilima2);

DrawPoly(6,Segilima3);

OutTextXY(15,380,'Shear Dengan X Negatif');

Line(50,100,75,100);

Line(50,100,50,150);

OutTextXY(80,100,'X+');

OutTextXY(50,150,'Y+');

End.











o iya...

buat yang Pertamaxx tolong jawaban yang berbobot yahh!!!

:loveindonesia

</div>