Sabtu, 24 September 2011

ANIMASI DENGAN TURBO PASCAL 7.1

Turbo pascal merupakan program pembuatan tampilan komputer dan dapat dibilang merupakan visual pascal.
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 Animasi^ 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

9 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
  2. kenapa ya setiap buat program yg brhubungan dngn graph tidak bisa di compile di turbo pascal saya...

    apakah ada yang salah dengan settingan nya?

    mohon dibantu ya...,

    trimssss

    BalasHapus
    Balasan
    1. Saya menggunakan turbo pascal 7.1 yang hanya bisa jalan di windows XP.

      Hapus
    2. bila mau minta turo pascal bisa saya emailkan

      Hapus
    3. Download sudah disertakan

      Hapus
    4. Mau nanya nih kalo buat nama bergerak di hape gmna kalo ini masalahnya di grap mulu kenapa ya solusinya dong?

      Hapus
    5. Mau nanya nih kalo buat nama bergerak di hape gmna kalo ini masalahnya di grap mulu kenapa ya solusinya dong?

      Hapus
  3. Penjelasan variabelnya donk min biar langsung bisa coding๐Ÿ™๐Ÿ™๐Ÿ™

    BalasHapus