Pada pembahasan sebelumnya sudah dibahas macam-macam bentuk gambar, dalam pembahasan ini bagaimana membuat animasi dengan menggunakan pascal yang hanya merupakan program. Lebih jelas Contoh awal dari pembuatan animasi seperti penjelasan dibawah
Membuat tulisan bergerak ke kanan dengan program berikut:
program TulisanKeKanan;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do {teks berpindah sejauh 600 ukuran layar}
begin
a:=a+1;
OutTextXY((10+a),100,'Bergerak kekanan'); {letak pembuatan animasi}
delay(1000); {Kecepatan sebesar 1000}
clearDevice;
delay(1000); {semakin besar angka delay maka kecepatan semakin lambat}
end;
until keypressed;
closegraph;
end.
-----------------------------------------------------
Contoh diatas merupakan animasi teks yang dibuat dengan perulangan. Pembuatan animasi dengan menggunakan pascal dengan memanfaatkan while
while dengan nilai 600 (while a<=600 do) jadi teks bergerak sejauh 600 pixel.
gambar 1
Dalam pembuatan program dapat dijelaskan gambar berikut:
gambar 2
gambar 3
-------------------------------------------------------------------
untuk animasi teks bergerak ke kiri dengan menggantikan OutTextXY((600-a),100,'Teks Bergerak Kekiri');Contoh Animasi Bergerak KeKiri
program TulisanKeKiri;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
OutTextXY((600-a),100,'Bergerak kekanan');
delay(1000);
clearDevice;
end;
until keypressed;
closegraph;
end.
Animasi teks bergerak Ke bawah dengan menggantikan OutTextXY(100,(10+a),'Teks Kebawah');
Animasi teks bergerak Ke Atas dengan menggantikan OutTextXY(100,(200-a),'Teks KeAtas');
Pembuatan animasi arah ke kanan dengan nilai positif, misal 10+a
Pembuatan animasi ke arah kiri dengan nilai negatif, misal 600-a
Pembuatan animasi ke bawah dengan nilai positif, misal 10+a
Pembuatan animasi Ke atas dengan nilai negatif, misal 200-a
-----------------------------------------------------
Rumus-rumus koordinat sudah dibahas sebelumnya, untuk mengingat rumus-rumus macam-macam gambar sebagai berikut:
Teks dengan rumus
OutTextXY(x,y,'Masukkan Teks');
Garis
line(x,y,x1,y1);
Kotak
Rectangle(x,y,x1,y1);
Lingkaran
Circle(x,y,jari-jari);
Kotak dengan Warna Dalam
Bar(x,y,x1,y1);
-----------------------------------------------------
Lebih jelasnya macam-macam bentuk dapat dilihat pada indeks yang disediakan turbo pascal
Contoh animasi Kotak Bergerak Kekanan
program KotakBergerakKeKanan;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
rectangle(a,10,(10+a),50); {dengan nilai penambahan}
delay(1000);
clearDevice;
end;
until KeyPressed;
closegraph;
end.
-----------------------------------------------------
Kotak bergerak Kekiri dengan Menggantikan rectangle((500-a),10,(600-a),50);
program KotakBergerakKeKiri;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
rectangle((500-a),10,(600-a),50); {dengan nilai pengurangan}
delay(1000);
clearDevice;
end;
until KeyPressed;
closegraph;
end.
Selanjutnya coba ganti nilai y untuk animasi bergerak ke atas dan ke bawah rectangle(x,y,x1,y1);
-----------------------------------------------------
Contoh animasi kotak membesar dan mengecil
program kotakMembesarKecil;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
rectangle(a,10,(600-a),50);
delay(1000);
clearDevice;
end;
until keypressed;
closegraph;
end.
-----------------------------------------------------
Animasi lingkaran bergerak Kekanan
program LingkaranKeKanan;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
Circle(a,100,50);{letak pembuatan animasi}
delay(1000);
clearDevice;
delay(1000);
end;
until keypressed;
closegraph;
end.
-----------------------------------------------------
Lingkaran bergerak kekiri dengan contoh sebagai berikut
program LingkaranKekiri;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
a:=1;
while a<=600 do
begin
a:=a+1;
Circle((600-a),100,50);{letak pembuatan animasi}
delay(1000);
clearDevice;
end;
until keypressed;
closegraph;
end.
Animasi lingkaran bergerak ke bawah dengan menggunakan Circle(100,a,50);
Animasi lingkaran bergerak ke atas dengan menggunakan Circle(100,(200-a),50);
Posisi animasi dapat diganti dengan mengubah nilai x dan nilai y.
-----------------------------------------------------
-----------------------------------------------------
Latihan
Contoh animasi gelombang bergerak
program Gelombang;
uses
graph, crt;
var
a,y1,y, x, xmax, ymax, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
xmax:=GetmaxX;
yMax:=GetmaxY;
{garis koordinat}
Line(xmax div 10,0, xmax div 10,ymax);
Line(0,ymax div 2, xmax,ymax div 2);
{angka koordinat y}
OutTextXY(45,45,'5');
OutTextXY(45,55,'4');
OutTextXY(45,65,'3');
OutTextXY(45,75,'2');
OutTextXY(45,85,'1');
OutTextXY(40,105,'-1');
OutTextXY(40,115,'-2');
OutTextXY(40,125,'-3');
OutTextXY(40,135,'-4');
OutTextXY(40,145,'-5');
{pembuatan gelombang}
a:=1;
while a<=600 do {jarak terjauh 600}
begin
a:=a+1;
For x := a to (a+10) do {letak pembuatan animasi}
Begin
Y1 := round(10*cos(x*pi/180));
Y := GetMaxY div 2-y1;
PutPixel(x+xmax div 10,y,GetMaxColor);
delay(500);{kecepatan animasi 500}
delay(500);
end;
end;
until KeyPressed;
closegraph;
end.
-----------------------------------------------------
Dalam pembuatan instal windows yang digunakan dengan cara sebagai berikut:
program SimulasiInstal;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initGraph(gd, gm,'');
repeat;
OutTextXY(10,10,'Windows XP Profesional Setup');
line(1,24,300,24);
line(1,26,300,26);
OutTextXY(155,50,'Please wait while Setup copies file');
OutTextXY(155,60,'to the Windows installation folders.');
OutTextXY(140,70,'This might take several minutes to complete');
OutTextXY(78,108,'Setup is copying files. . .');
Rectangle(70,100,530,140);
Rectangle(73,103,527,137);
Rectangle(98,118,505,133);
Bar(0,190,500,200);
Bar(505,190,800,200);
a:=1;
while a<=400 do
begin
a:=a+1;
rectangle(101,120, (a+100),130);
Delay(4000);
Delay(4000);
end;
until KeyPressed;
closeGraph;
end.
Instal window diatas merupakan simulasi, untuk benar-benar dapat membuat program instal windows dengan memasukkan dos kedalam uses.
Lebih mendalami turbo pascal dengan membaca buku pascal yang ada sampai ketahap yang benar-benar membuat program komputer sendiri. Penjelasan di atas merupakan garis besar dasar dari pembuat tampilan.
-------------------------------------------------------
Dalam memindahkan file yang sudah dibuat dari bin, misal memindahkan file garis ke data D yang mengcopy file penyerta yaitu cga.BGI
seperti gambar berikut
PEMBUATAN ANIMASI DENGAN MENGGUNAKAN PERULANGAN FOR
Dalam pembuatan perulangan for untuk animasi hampir sama dengan menggunakan while dan contohnya seperti berikut:
Contoh yang kita ambil yaitu animasi kotak kekiri
program KotakBergerakKeKiri;
uses
graph, crt;
var
a, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
repeat;
for a:=0 to 600 do
begin
rectangle((500-a),10,(600-a),50); {dengan nilai pengurangan}
delay(1000);
clearDevice;
end;
until KeyPressed;
closegraph;
end.
download Turbbo Pascal 7.1 For Windows XP
TERIMA KASIH
Komentar ini telah dihapus oleh pengarang.
BalasHapusKomentar ini telah dihapus oleh pengarang.
Hapuskenapa ya setiap buat program yg brhubungan dngn graph tidak bisa di compile di turbo pascal saya...
BalasHapusapakah ada yang salah dengan settingan nya?
mohon dibantu ya...,
trimssss
Saya menggunakan turbo pascal 7.1 yang hanya bisa jalan di windows XP.
Hapusbila mau minta turo pascal bisa saya emailkan
HapusDownload sudah disertakan
HapusMau nanya nih kalo buat nama bergerak di hape gmna kalo ini masalahnya di grap mulu kenapa ya solusinya dong?
HapusMau nanya nih kalo buat nama bergerak di hape gmna kalo ini masalahnya di grap mulu kenapa ya solusinya dong?
HapusPenjelasan variabelnya donk min biar langsung bisa coding๐๐๐
BalasHapus