MODUL 1
Pada
pertemuan 1, praktikum web membahas tentang Dasar-Dasar HTML. HTML
merupakan bahasa yang digunakan untuk membuat suatu halaman web. HTML
terdiri dari 2 bagian, header dan body. Strukturnya diapit oleh tag awal
dan tag akhir .
Langkah2 buat programnya:
- kita buat dulu script program dengan menggunakan notepad, texpad, atau bluefish sebagai editor.
- truz file disimpan dgn ekstensi : *.html, contoh budi.html
- buka web browser Microsoft Internet Explorer, Netscape dan sebagainya.
- pada alamat, ketikan situs yang telah dibuat.
OBJEK TIGA DIMENSI (3D)
Dengan Script :
Tujuan praktikum :
Grafika komputer merupakan bidang yang menarik dan dimintai oleh banyak orang. Salah satu nya adalah pemodelan objek.Dalam pemodlan objek 2D, berbagai objek dimodifikasi dengan melakukan berbagai operasi fungsi atau operasi transformasi geometri.
Cara membuat project Transformasi 2D :
Dengan Script :
LINGKARAN DAN ELLIPSE
Tujuan PraktikumMemahami algoritma pembentukan lingkaran dan ellipse.
Mengaplikasikan algoritma tersebut ke dalam program
Dasar teori
Lingkaran
Untuk membentuk suatu lingkaran, ada beberapa algoritma yang bisa digunakan :
Algoritma Lingkaran 8 titik simetris
Proses pembentukan lingkaran dengan algoritma ini dapat dilakukan dengan menentukan suatu titik awal. Bila titik awal pada lingkaran (x,y) maka terdapat tiga posisi lain, sehingga dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya diperlukan untuk menghitung segmen 45 derajat.
Void titikSimetris(int x, int y, int value)
{ SetPixel(x,y,value);
SetPixel(-x,y,value);
SetPixel(x,-y,value);
SetPixel(-x,-y,value);
SetPixel(y,x,value);
SetPixel(-y,x,value);
SetPixel(y,-x,value);
SetPixel(-y,-x,value);}Algoritma Lingkaran titik tengah (Mid Point )
Algoritma mid point juga disebut algoritma lingkaran Bresenham. Bressenham mengembangkan generator lingkaran yang cukup efisien. Algoritma yang digunakan membentuk semua titik berdsarkan titik pusat dengan penambahan semua jalur disekeliling lingkaran. Algoritma ini diturunkan dari algoritma mid point untuk pem,bentukan garis.
Program
Untuk proses pengkodean pembentukan lingkaran mid point diperlukan fungsi utama yaitu dan beberapa fungsi lain untuk inisialisasi dan tampilan. Adapun script dari fungsi – fungsi tersebut adalah :
//---------------------------------------------------------------------------
#include
#include
#include
#pragma hdrstop
#include "AlgoCircle.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int tergambar, XC,YC,QX,QY;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
tergambar=true;
XC=X;
YC=Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CirclePlotPoint(int XC, int YC, int X,int Y)
{
Image1->Canvas->Pixels[XC+X][YC+Y]=clBlack;
Image1->Canvas->Pixels[XC-X][YC+Y]=clBlue;
Image1->Canvas->Pixels[XC+X][YC-Y]=clGreen;
Image1->Canvas->Pixels[XC-X][YC-Y]=clYellow;
Image1->Canvas->Pixels[XC+Y][YC+X]=clRed;
Image1->Canvas->Pixels[XC-Y][YC+X]=clPurple;
Image1->Canvas->Pixels[XC+Y][YC-X]=clRed;
Image1->Canvas->Pixels[XC-Y][YC-X]=clYellow;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
int R;
BtBaruClick(Sender);
tergambar=false;
QX=X;
QY=Y;
R=int(sqrt(pow(XC-QX,2)+pow(YC-QY,2)));
if (RadioGroup1->ItemIndex==0)
{ CircleMidPoint(XC,YC,R);
};
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CircleMidPoint(int XC, int YC,int R)
{
int x,y,p,k=0;
R=10;
x=0; y=R; p=1-R;
judul((float)x,(float)y,k,p);
do
{
k++;
if (p<0) x="x+1;" x="x+1;" y="y-1;" p="p+2*x+1;" p="p+2*(x-y)+1;" k="k+2;" yt="15;" xt="200," i="0;i<20;i++)">Canvas->TextOut(xt-50,k*yt,tampilK);
Image1->Canvas->TextOut(xt+100,k*yt,"(");
Image1->Canvas->TextOut(xt+120,k*yt,tampilX);
Image1->Canvas->TextOut(xt+150,k*yt,",");
Image1->Canvas->TextOut(xt+160,k*yt,tampilY);
Image1->Canvas->TextOut(xt+190,k*yt,")");
Image1->Canvas->TextOut(xt,k*yt,tampilPk);
}
//--------------------------------------------------------------------------
void __fastcall TForm1::judul(float x,float y,int k,int p)
{
int xt=200, yt=15, kt=2;
Image1->Canvas->TextOut(xt-50,(kt-1)*yt,"k");
Image1->Canvas->TextOut(xt,(kt-1)*yt,"pk");
Image1->Canvas->TextOut(xt+100,(kt-1)*yt,"(x k+1, y k+1)");
}
void __fastcall TForm1::BtBaruClick(TObject *Sender)
{
tergambar=false;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtCloseClick(TObject *Sender)
{
Close();
}
//----------------------------------------------
hasil Output :-----------------------------
Program di bawah ini menggambarkan penggunaan perintah linetype
Tujuan Praktikum ini :
Di praktikum kali ini kita membahas tentang cara membuat program objek 3D yaitu bangun kubus. Yang terlihat pada gambar di bawah ini :
- Kita dapat memahami prosedur cara oembuatan objek 3 Dimensi Borland C++ Builder.
- Kita juga mampu membuat program untuk membuat bentuk - bentuk objek 3D dengan Borland C++ Builder.
Di praktikum kali ini kita membahas tentang cara membuat program objek 3D yaitu bangun kubus. Yang terlihat pada gambar di bawah ini :
Dengan Script :
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
struct Elemen {float x,y;};
Elemen Objek[17];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Objek[1].x = 100; Objek[1].y = 50;
Objek[2].x = 50; Objek[2].y = 50;
Objek[3].x = 50; Objek[3].y = 100;
Objek[4].x = 100; Objek[4].y = 100;
Objek[5].x = 125; Objek[5].y = 125;
Objek[6].x = 75; Objek[6].y = 125;
Objek[7].x = 75; Objek[7].y = 175;
Objek[8].x = 125; Objek[8].y = 175;
Objek[9].x = 100; Objek[9].y = 100;
Objek[10].x = 125; Objek[10].y = 175;
Objek[11].x = 50; Objek[11].y = 100;
Objek[12].x = 75; Objek[12].y = 175;
Objek[13].x = 50; Objek[13].y = 50;
Objek[14].x = 75; Objek[14].y = 125;
Objek[15].x = 100; Objek[15].y = 50;
Objek[16].x = 125; Objek[16].y = 125;
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
int i;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
Image1->Canvas->MoveTo(Objek[4].x,Objek[4].y);
for (i=1;i<=4;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
Image1->Canvas->MoveTo(Objek[8].x,Objek[8].y);
for (i=5;i<=8;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
Image1->Canvas->MoveTo(Objek[10].x,Objek[10].y);
for (i=9;i<=10;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
Image1->Canvas->MoveTo(Objek[12].x,Objek[12].y);
for (i=11;i<=12;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
Image1->Canvas->MoveTo(Objek[14].x,Objek[14].y);
for (i=13;i<=14;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
Image1->Canvas->MoveTo(Objek[16].x,Objek[16].y);
for (i=15;i<=16;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);}; }
//---------------------------------------------------------------------------
TRANSFORMASI OBYEK DUA DIMENSI
Tujuan praktikum :
- Kita mempelajari tentang berbagai cara untuk memanipulasi dan memodifikasi objek 2D.
- kita juga mampu memodifikasi objek 2D ini dan dapat mengimplementasikan ke dalam program
Grafika komputer merupakan bidang yang menarik dan dimintai oleh banyak orang. Salah satu nya adalah pemodelan objek.Dalam pemodlan objek 2D, berbagai objek dimodifikasi dengan melakukan berbagai operasi fungsi atau operasi transformasi geometri.
Cara membuat project Transformasi 2D :
- Terdapat pilihan tombol atas, kirim kanan, dan bawah.
- Terdapat sebuah Image untuk menampilkan objek 2 Dimensi yang akan bergeser sesuai dengan nama tombol yang ditekan. (Ada 4 tombol geser).
- Jika tombol kiri diklik maka objek akan bergeser ke kiri.
- Jika tombol kanan diklik maka objek akan bergeser ke kanan.
- Jika tombol Atas diklik maka objek akan bergeser ke atas.
- Jika tombol bawah diklik maka objek akan bergeser ke bawah.
- Terdapat 2 tombol putar yaitu berputar di cartesius dan berputar ditengah titik objek.
- Buka C++ Builder dan buat tampilan seperti gambar seperti ini .
Dengan Script :
#include
#pragma hdrstop
#include "Unit1.h"
#include
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
struct Elemen { float x,y ;};
Elemen Objek[6];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{ int i;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
Image1->Canvas->MoveTo(Objek[5].x,Objek[5].y);
for (i=1;i<=5;i++){ Image1->Canvas->LineTo(Objek[i].x,Objek[i].y);};
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{ Objek[1].x = 100; Objek[1].y = 50;
Objek[2].x = 50; Objek[2].y = 100;
Objek[3].x = 100; Objek[3].y = 100;
Objek[4].x = 100; Objek[4].y = 150;
Objek[5].x = 150; Objek[5].y = 100;
FormShow(Sender);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].y-=5;};
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].x+=5;};
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Elemen TempObjek[6];
int i,n,m; float Sdt;
for (i=1;i<=5;i++)
{
n = Objek[3].x;
m = Objek[3].y;
Objek[i].x=Objek[i].x-n;
Objek[i].y=Objek[i].y-m;
Sdt=10*M_PI/180;
TempObjek[i].x=(Objek[i].x*cos(Sdt)-Objek[i].y*sin(Sdt));
TempObjek[i].y=(Objek[i].x*sin(Sdt)+Objek[i].y*cos(Sdt));
Objek[i]=TempObjek[i];
Objek[i].x=Objek[i].x+n;
Objek[i].y=Objek[i].y+m;
}
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].y+=5;};
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Elemen TempObjek[6];
int i; float Sdt;
for (i=1;i<=5;i++)
{ Objek[i].x=Objek[i].x-Image1->Width / 2;
Objek[i].y=Objek[i].y-Image1->Height / 2;
Sdt=10*M_PI/180;
TempObjek[i].x=(Objek[i].x*cos(Sdt)-Objek[i].y*sin(Sdt));
TempObjek[i].y=(Objek[i].x*sin(Sdt)+Objek[i].y*cos(Sdt));
Objek[i]=TempObjek[i];
Objek[i].x=Objek[i].x+Image1->Width / 2;
Objek[i].y=Objek[i].y+Image1->Height / 2;
} FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int i;
for (i=1;i<=5;i++){ Objek[i].x-=5;};
FormShow(Sender);
}
//-----------------------------------
LINGKARAN DAN ELLIPSE
Tujuan PraktikumMemahami algoritma pembentukan lingkaran dan ellipse.
Mengaplikasikan algoritma tersebut ke dalam program
Dasar teori
Lingkaran
Untuk membentuk suatu lingkaran, ada beberapa algoritma yang bisa digunakan :
Algoritma Lingkaran 8 titik simetris
Proses pembentukan lingkaran dengan algoritma ini dapat dilakukan dengan menentukan suatu titik awal. Bila titik awal pada lingkaran (x,y) maka terdapat tiga posisi lain, sehingga dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya diperlukan untuk menghitung segmen 45 derajat.
Void titikSimetris(int x, int y, int value)
{ SetPixel(x,y,value);
SetPixel(-x,y,value);
SetPixel(x,-y,value);
SetPixel(-x,-y,value);
SetPixel(y,x,value);
SetPixel(-y,x,value);
SetPixel(y,-x,value);
SetPixel(-y,-x,value);}Algoritma Lingkaran titik tengah (Mid Point )
Algoritma mid point juga disebut algoritma lingkaran Bresenham. Bressenham mengembangkan generator lingkaran yang cukup efisien. Algoritma yang digunakan membentuk semua titik berdsarkan titik pusat dengan penambahan semua jalur disekeliling lingkaran. Algoritma ini diturunkan dari algoritma mid point untuk pem,bentukan garis.
Program
Untuk proses pengkodean pembentukan lingkaran mid point diperlukan fungsi utama yaitu dan beberapa fungsi lain untuk inisialisasi dan tampilan. Adapun script dari fungsi – fungsi tersebut adalah :
//---------------------------------------------------------------------------
#include
#include
#include
#pragma hdrstop
#include "AlgoCircle.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int tergambar, XC,YC,QX,QY;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
tergambar=true;
XC=X;
YC=Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CirclePlotPoint(int XC, int YC, int X,int Y)
{
Image1->Canvas->Pixels[XC+X][YC+Y]=clBlack;
Image1->Canvas->Pixels[XC-X][YC+Y]=clBlue;
Image1->Canvas->Pixels[XC+X][YC-Y]=clGreen;
Image1->Canvas->Pixels[XC-X][YC-Y]=clYellow;
Image1->Canvas->Pixels[XC+Y][YC+X]=clRed;
Image1->Canvas->Pixels[XC-Y][YC+X]=clPurple;
Image1->Canvas->Pixels[XC+Y][YC-X]=clRed;
Image1->Canvas->Pixels[XC-Y][YC-X]=clYellow;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
int R;
BtBaruClick(Sender);
tergambar=false;
QX=X;
QY=Y;
R=int(sqrt(pow(XC-QX,2)+pow(YC-QY,2)));
if (RadioGroup1->ItemIndex==0)
{ CircleMidPoint(XC,YC,R);
};
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CircleMidPoint(int XC, int YC,int R)
{
int x,y,p,k=0;
R=10;
x=0; y=R; p=1-R;
judul((float)x,(float)y,k,p);
do
{
k++;
if (p<0) x="x+1;" x="x+1;" y="y-1;" p="p+2*x+1;" p="p+2*(x-y)+1;" k="k+2;" yt="15;" xt="200," i="0;i<20;i++)">Canvas->TextOut(xt-50,k*yt,tampilK);
Image1->Canvas->TextOut(xt+100,k*yt,"(");
Image1->Canvas->TextOut(xt+120,k*yt,tampilX);
Image1->Canvas->TextOut(xt+150,k*yt,",");
Image1->Canvas->TextOut(xt+160,k*yt,tampilY);
Image1->Canvas->TextOut(xt+190,k*yt,")");
Image1->Canvas->TextOut(xt,k*yt,tampilPk);
}
//--------------------------------------------------------------------------
void __fastcall TForm1::judul(float x,float y,int k,int p)
{
int xt=200, yt=15, kt=2;
Image1->Canvas->TextOut(xt-50,(kt-1)*yt,"k");
Image1->Canvas->TextOut(xt,(kt-1)*yt,"pk");
Image1->Canvas->TextOut(xt+100,(kt-1)*yt,"(x k+1, y k+1)");
}
void __fastcall TForm1::BtBaruClick(TObject *Sender)
{
tergambar=false;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtCloseClick(TObject *Sender)
{
Close();
}
//----------------------------------------------
hasil Output :-----------------------------
TITIK DAN GARIS
Dasar Teori
- PERSAMAAN GARIS
Persamaan
garis menurut koordinta Cartesian adalah y=mx + b dimana m adalah slope
/ kemiringan garis yang di bentuk dari dua titik, yaitu (x1,y1)n dan
(X2,Y2). Untuk penambahan x sepanjang garis yaitu dx akan mendapatkan
penambahan y sebesar : dy =m.dx
- ATRIBUT
Atribut dasar untuk garis lurus adalah type (tipe), width (tebal) dan color (warna). Dalam
beberapa paket apliksi grafik, garis ditampilkan dengan menngunakan
pilihan pen atau brush. Berikut ini dibicarakan bagaimana fungsi garis
dapat mengkomodasi bermacam – macem spesifikasi atribut.
- TIPE GARIS
Garis mempunyai beberapa linetype (tipe garis) diantaranya solid line ( garis tebal ), dashed line (garis putus), dan dotted line ( garis titik – titik).
#include
#pragma hdrstop
#include
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int X1,X2,Y1,Y2;
int tergambar;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//-------------------------------------------
--------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DDA(int xa,int ya,int xb,int yb)
{ int dx,dy,step,k;
float Xincrement,Yincrement,x,y;
xa=10;ya=10;xb=17;yb=16;
dx = xb-xa;
dy = yb-ya;
x=(float)xa;
y=(float)ya;
if (abs(dx)>abs(dy))
{ step = (abs(dx));}
else
{ step = (abs(dy)); };
Xincrement=(float)dx/step;
Yincrement=(float)dy/step;
Image1->Canvas->Pixels[int (x)][int (y)]=clBlack;
judul(x,y);
for (k=0;k<=step;k++)
{
x+=Xincrement;
y+=Yincrement;
Image1->Canvas->Pixels[int(x)][int(y)]=clBlack;
tampil(x,y,k);
}
}
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
tergambar=true; X1=X; Y1=Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
{
Button1Click(Sender);
tergambar=false;
X2=X; Y2=Y;
if (RadioGroup1->ItemIndex==0)
{DDA(X1,Y1,X2,Y2);
}
};
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *
Sender)
{
tergambar=false;
Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
}
void __fastcall TForm1::judul(float x,float y)
{
char tampilX[20],tampilY[20];
int xt=200, yt=15, kt=2;
//Menampilkan bilangan asli tanpa pembulatan
_gcvt(x,4,tampilX);
_gcvt(y,4,tampilY);
Image1->Canvas->TextOut(xt-50, (kt-1)*yt,"k");
Image1->Canvas->TextOut(xt, (kt-1)*yt,"x");
Image1->Canvas->TextOut(xt+50, (kt-1)*yt,"y");
Image1->Canvas->TextOut(xt, kt*yt,tampilX);
Image1->Canvas->TextOut(xt+50, kt*yt,tampilY);
Image1->Canvas->TextOut(xt+100, (kt-1)*yt,"(x bulat, y bulat)");
//Menampilkan bilangan yang digunakan untuk pe
mbulatan
_gcvt(x,2,tampilX);
_gcvt(y,2,tampilY);
Image1->Canvas->TextOut(xt+100, kt*yt,"(");
Image1->Canvas->TextOut(xt+120, kt*yt,tampilX);
Image1->Canvas->TextOut(xt+150, kt*yt,",");
Image1->Canvas->TextOut(xt+160, kt*yt,tampilY);
Image1->Canvas->TextOut(xt+190, kt*yt,")");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::tampil(float x,float y,int k)
{
char tampilX[20],tampilY[20],tampilK[20];
int xt=200, yt=15;
k +=3;
//Menampilkan bilangan asli tanpa pembulatan
_gcvt(x,4,tampilX);
_gcvt(y,4,tampilY);
Image1->Canvas->TextOut(xt, k*yt,tampilX);
Image1->Canvas->TextOut(xt+50, k*yt,tampilY);
//Menampilkan bilangan yang digunakan untuk pembulatan
_gcvt(x,2,tampilX);
_gcvt(y,2,tampilY);
_gcvt(k-3,10,tampilK);
//Menampilkan koordinat X dan Y
Image1->Canvas->TextOut(xt-50, k*yt,tampilK);
Image1->Canvas->TextOut(xt+100, k*yt,"(");
Image1->Canvas->TextOut(xt+120, k*yt,tampilX);
Image1->Canvas->TextOut(xt+150, k*yt,",");
Image1->Canvas->TextOut(xt+160, k*yt,tampilY);
Image1->Canvas->TextOut(xt+190, k*yt,")");
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
dengan hasil output :
MODUL 1 Membuat Projct dengan TImage
MODUL 1
Membuat Projct dengan TImageProgram aplikasi berikut ini akan menunjukkan bagaimana cara membuat aplikasi pemogramana grafis dengan fasilitas TImage. Dengan langkah - langkah pembuatan aplikasi berikut ini :
1. Pembuatan antarmuka
. Image
>Klik additional >image dan drag pada grid ( form 1 daerah berbintik2) .
. Label ( Menampilkan Text )
> klick additional>Static Text ( cari syimbol huruf A ), kemudian drag ke daerah grid , diluar kanvas atau image yang telah kita buat di langkah pertama.
> Buat static sebnyak 2 kali pd layar , yaitu Static text 1 dan static text 2.
> ganti nama static text 1 dan static 2 dengan posisi X dan posisi Y , cara mengganti nama tersebut adalah dengan mengganti Caption pd object inspector.
> ketik pada Caption > Static text 1 dgn Posisi X
> Ketik pada Caption > Static text 2 dgn Posisi Y
. Button ( membuat kontrol tombol tekan )
> klick Standart> Button dan drag ke form, lakukan sebanyak 3 kali atau sebanyak tombol yang anda butuhkan dalam aplikasi yg anda buat.
> Pada form akan tampak Button1, Button 2 dan Button3, lalu ganti nama button – button tersebut melalui Caption pada Object Inspector dengan nama : Warna,baru, dan keluar.
. Dialogs
> Standart>Mainmenu (Membuat Mainmenu sehingga dapat memudahkan user dlm menggunakan aplikasi, main menu yang akan dibuat terdiri atas File>Open, File>Save)
> Dialogs>OpenPictureDialogs (Membuka file yang pernah disimpan dalam aplikasi “Buku Gambar”)
>Dialogs>SavePictureDialogs (Menyimpan file yang telah dibuat dalam aplikasi “Buku
Gambar”)
>Dialogs>ColorDialogs ( User dapat memilih warna pena yang akan digunakan untuk menggambar).2. Pembuatan Program#include
#pragma hdrstop
#include “Unit1.h”
#pragma package(smart_init)
#pragma resource “*.dfm”
TForm1 *Form1;
Int Tergambar;
__fastcall TForm1::Tform1(TComponet* Owner):TForm(Owner)
{
}
Button warna
Void __fastcall TForm1::Button1Click(TObject *Sender)
{
If (ColorDialog->Execute())
Image1->Canvas->Pen->Color=ColorDialog->Color;
}
Void __fastcall TForm1::FormActive(TObject *Sender)
{
Tergambar=false;
Image->Canvas->Rectangle(0,0,
Image1->Width,Image->Heigth);
}
Void __fastcall Tform1::ImageMouseDown(Tobject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Tergambar=True;
Image1->Canvas->MoveTo(X,Y);
}
Button Baru
Void __fastcall TForm1::BaruClick(TObject *Sender)
{
Tergambar=false;
Image1->Canvas->Rectangle(0,0,
Image->Width,Image1->Height);
}
Void __fastcall TForm1::Image1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
EditX->Text=IntStr(X);
EditY->Text=IntStr(Y);
If (Tergambar)
{
Image1->Canvas->LineTo(X,Y);
}
}
Void __fastcall Tform1::ImageMouseUp(Tobject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Tergambar=false;
}Button keluar
Void __fastcall TForm1::KeluarClick(TObject *Sender)
{
Close();
}Button Open
void __fastcall TForm1::Open1Click(TObject *Sender)
{
If (OpenPictureDialog1->Execute())
{
Image->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}}
Button Save
Void __fastcall TForm1::Save1Click(TObject *Sender)
{
If (SavePictureDialog1->Execute())
{
Image1->Picture->SaveToFile(SavePictureDialog1->FileName);
}
Membuat Projct dengan TImageProgram aplikasi berikut ini akan menunjukkan bagaimana cara membuat aplikasi pemogramana grafis dengan fasilitas TImage. Dengan langkah - langkah pembuatan aplikasi berikut ini :
1. Pembuatan antarmuka
. Image
>Klik additional >image dan drag pada grid ( form 1 daerah berbintik2) .
. Label ( Menampilkan Text )
> klick additional>Static Text ( cari syimbol huruf A ), kemudian drag ke daerah grid , diluar kanvas atau image yang telah kita buat di langkah pertama.
> Buat static sebnyak 2 kali pd layar , yaitu Static text 1 dan static text 2.
> ganti nama static text 1 dan static 2 dengan posisi X dan posisi Y , cara mengganti nama tersebut adalah dengan mengganti Caption pd object inspector.
> ketik pada Caption > Static text 1 dgn Posisi X
> Ketik pada Caption > Static text 2 dgn Posisi Y
. Button ( membuat kontrol tombol tekan )
> klick Standart> Button dan drag ke form, lakukan sebanyak 3 kali atau sebanyak tombol yang anda butuhkan dalam aplikasi yg anda buat.
> Pada form akan tampak Button1, Button 2 dan Button3, lalu ganti nama button – button tersebut melalui Caption pada Object Inspector dengan nama : Warna,baru, dan keluar.
. Dialogs
> Standart>Mainmenu (Membuat Mainmenu sehingga dapat memudahkan user dlm menggunakan aplikasi, main menu yang akan dibuat terdiri atas File>Open, File>Save)
> Dialogs>OpenPictureDialogs (Membuka file yang pernah disimpan dalam aplikasi “Buku Gambar”)
>Dialogs>SavePictureDialogs (Menyimpan file yang telah dibuat dalam aplikasi “Buku
Gambar”)
>Dialogs>ColorDialogs ( User dapat memilih warna pena yang akan digunakan untuk menggambar).2. Pembuatan Program#include
#pragma hdrstop
#include “Unit1.h”
#pragma package(smart_init)
#pragma resource “*.dfm”
TForm1 *Form1;
Int Tergambar;
__fastcall TForm1::Tform1(TComponet* Owner):TForm(Owner)
{
}
Button warna
Void __fastcall TForm1::Button1Click(TObject *Sender)
{
If (ColorDialog->Execute())
Image1->Canvas->Pen->Color=ColorDialog->Color;
}
Void __fastcall TForm1::FormActive(TObject *Sender)
{
Tergambar=false;
Image->Canvas->Rectangle(0,0,
Image1->Width,Image->Heigth);
}
Void __fastcall Tform1::ImageMouseDown(Tobject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Tergambar=True;
Image1->Canvas->MoveTo(X,Y);
}
Button Baru
Void __fastcall TForm1::BaruClick(TObject *Sender)
{
Tergambar=false;
Image1->Canvas->Rectangle(0,0,
Image->Width,Image1->Height);
}
Void __fastcall TForm1::Image1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
EditX->Text=IntStr(X);
EditY->Text=IntStr(Y);
If (Tergambar)
{
Image1->Canvas->LineTo(X,Y);
}
}
Void __fastcall Tform1::ImageMouseUp(Tobject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Tergambar=false;
}Button keluar
Void __fastcall TForm1::KeluarClick(TObject *Sender)
{
Close();
}Button Open
void __fastcall TForm1::Open1Click(TObject *Sender)
{
If (OpenPictureDialog1->Execute())
{
Image->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}}
Button Save
Void __fastcall TForm1::Save1Click(TObject *Sender)
{
If (SavePictureDialog1->Execute())
{
Image1->Picture->SaveToFile(SavePictureDialog1->FileName);
}
MEMBUAT PROJECT TPaintBox
Dengan langkah – langkah pembutan program adalah sbb:
1.Pembuatan Antarmuka
Langkah – Langkahnya :
Tempatkan komponen Panel, TpainBox dan beberapa button ke dalam form rancangan. Atur propertinya seperti terlihat pada Antarmuka.
Tuliskan script dibawah ini :
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
{
}
Script Garis
Void__fastcall Tform1::GarisClick(Tobject *Sender)
{
PaintBox1->Canvas->Pen->Color=c1White;
PaintBox1->Canvas->Pen->Width=3;
PaintBox1->Canvas->MoveTo(50,50);
PaintBox1->Canvas->LineTo(50,200);
}
Script Arc :
{
PaintBox1->Canvas->Pen->Color=c1White;
PaintBox1->Canvas->Pen->Width=3;
PaintBox1->Canvas->MoveTo(50,50);
PaintBox1->Canvas->LineTo(50,200);
}
Script Arc :
Void__fastcall Tform1::ArcClick(Tobject *Sender)
{
PaintBox1->Canvas->Arc(100,100,50,50,150,150,100,100);
}
Script Chord
{
PaintBox1->Canvas->Arc(100,100,50,50,150,150,100,100);
}
Script Chord
Void__fastcall Tform1::ChordClick(Tobject *Sender)
{
PaintBox1->Canvas->Chord->Arc(100,100,50,50,150,150,100,100);
}
script Kotak
Void__fastcall TForm1::KotakClick(TObject *Sender)
{
PaintBox1->Canvas->Rectangle(300,200,250,100);
}
Script Keluar
Void__fastcall TForm1::KeluarClick(TObject *Sender)
{
Close();
}
CATATAN :
1.MoveTo berfungsi untuk mengubah posisi gambar dar X ke Y, MoveTo di ikuti LineTo.
Cara pemanggilan : void__fastcall MoveTo(int X, int Y);
2.LineTo berfungsi untuk menggambar garis pada canvas dengan pen dimana garis dimulai dari titik X menuju Y.
Cara pemanggilan : void__fastcall LineTo (int X, int Y);
3.Arc berfungsi untuk menggambar bentuk kurva elips yang di batasi oleh garis.
4.Chord berfungsi untuk membuat gambar tertutup berupa interseksi antar garis dan elips.
5.Rectangle berfungsi untuk membentuk segi empat.
0 komentar:
Posting Komentar