BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Animasi merupakan salah satu media untuk berkomunikasi. Dalam kehidupan sehari-hari pun ada semacam teknik dan etika berkomunikasi sehingga pembicaraan tidak hanya berisi proses penyampaian pesan saja melainkan juga terdapat unsur menghibur. Teknik animasi diharapkan dapat menunjang terhadap tujuan berkomunikasi seperti yang disebutkan di atas, yakni penyampaian pesan dan menghibur. Dalam dunia informatika, pengolahan animasi merupakan sesuatu yang tidak mudah dimana seorang informatikawan harus mampu menciptakan sebuah perangkat lunak yang dapat mengakomodasi kebutuhan pembuatan animasi. Pascal merupakan salah satu bahasa pemrograman yang bisa mengakomodasi dalam pembuatan perangkat lunak termasuk animasi.
Kenapa harus pascal? Pascal menjadi bahasa pemrograman yang dipakai untuk pembuatan perangkat lunak aplikasi karena lebih dekat dengan algoritma sehingga seorang programmer lebih mudah memindahkan hasil rancangan algoritmanya ke dalam bahasa pascal. Selain daripada itu pascal adalah salah satu bahasa pemrograman yang mendukung pembuatan program berbasis grafik.
Atas dasar pemikiran di atas, penulis mencoba membuat sebuah analisis tentang bagaimana proses terjadinya sebuah animasi.
1.2 Tujuan Pembuatan Makalah
Tujuan dari pembuatan makalah ini adalah untuk mengetahui lebih dekat tentang bagaimana proses terjadinya sebuah animasi dalam hal ini khususnya dengan bahasa pemrograman pascal. Sebagai salah satu pembanding maka penulis menggunakan program aplikasi Macromedia Flash sebagai pembanding.
1.3 Rumusan Masalah
1. Apa itu animasi?
2. Seperti apa konsep animasi?
3. Bagaimana proses terjadinya animasi di dalam pascal?
4. Perbandingan dengan software aplikasi Macromedia Flash MX?
1.4 Batasan Masalah
Dalam pembuatan makalah ini penulis membatasi masalah yaitu hanya melakukan analisis terjadinya proses animasi dari mulai perancangan sampai translasi ke dalam bahasa pemrograman, dalam hal ini khususnya bahasa pemrograman pascal dan macromedia flash sebagai pembanding.
BAB II
PEMBAHASAN
2.1 Animasi
Animasi mulai dikenal secara luas sejak populernya media televisi yang dapat menyajikan gambar bergerak hasil rekaman kegiatan makhluk hidup, manusia atau hewan. Dibandingkan dengan gambar foto yang diam atau tidak bergerak animasi lebih disukai karena dapat membangkitkan antusiasme dan emosi penonton. Hampir semua media seperti televisi, film, komputer sudah menggunakan teknik-teknik animasi.
2.1.1 Sejarah
• Ditemukannya berbagai artefak dan lukisan gua pada peradaban Mesir Kuno 2000 tahun sebelum masehi, manusia sudah mencoba membuat ilustrasi gerakan yang akhirnya berkembang menjadi animasi.
• Dalam salah satu ilustrasi Leonardo da Vinci yang terkenal, dilukiskan anggota tubuh manusia dalam berbagai posisi. Seorang artis Italy Gioto, juga melukiskan malaikat dalam posisi terbang dengan repitisi gerakan.
• Ditemukannya prinsip dasar dari karakter mata manusia yaitu : persistance of vision (pola penglihatan yang teratur). Paul Roget, Joseph Plateau dan Pierre Desvigenes, melalui peralatan optik yang mereka ciptakan, berhasil membuktikan bahwa mata manusia cenderung menangkap urutan gambar-gambar pada tenggang waktu tertentu sebagai suatu pola.
2.1.2 Pengertian Animasi
• Secara harfiah, Animasi berarti menghidupkan atau membuat bergerak.
• Menganimasi memiliki makna menggerakkan obyek agar menjadi hidup / bergerak.
• Membuat animasi dapat berupa menggerakkan gambar / lukisan sketsa tangan, boneka atau obyek tiga dimensi.
Secara garis besar, menurut Ir. P. Insap Santosa, M.Sc., dalam bukunya yang berjudul GRAFIKA KOMPUTER dan ANTARMUKA GRAFIS disebutkan bahwa animasi atau gambar bergerak merupakan salah satu bagian dari grafika computer yang menjanjikan tampilan-tampilan yang sangat atraktif.
2.2 Konsep Animasi
Menurut sumber yang didapat dari http://www-viz.tamu. edu/courses/viza615/97spring/pjames/history/main.html , sumber tersebut menyebutkan bahwa Prinsip Dasar Animasi adalah sebagai berikut :
• Untuk membuat animasi dibutuhkan sejumlah gambar yang pengerjaannya dilakukan dengan pergerakan gambar (frame) satu per satu.
• Satuan yang digunakan adalah frame per second/fps(gambar per detik) yang menunjukkan kualitas animasi yang akan dibuat. Jumlah fps bisa 15, 16, 20, 24 atau berapa saja.
• Semakin tinggi nilai fps maka akan semakin baik kualitas animasi, namun akan dibarengi dengan semakin banyak jumlah gambar (frame) yang dibutuhkan.
• Jika nilai fps adalah 24, dan durasi animasi adalah 1 menit, maka jumlah gambar (frame)= 24 ´ 60 = 1.440 frame.
Jika durasi animasi yang ingin dibuat adalah 30 menit (setengah jam) maka dibutuhkan 1440 ´ 30 = 43.200 gambar (frame).
2.3 Animasi Pada Pascal
Dalam pembuatan animasi di pascal, dikenal beberapa prosedur yaitu sebagai berikut :
1. Imagesize
2. Getmem
3. Getimage
4. Putimage
5. Cleardevice
a. Prosedur imagesize
Prosedur ini digunakan untuk proses penentuan ukuran citra. Prosedur imagesize bentuk umum sebagai berikut :
Imagesize(x1,y1,x2,y2:integer);
Dimana (x1,y1) merupakan koordinat titik kiri atas citra, sedangkan (x2,y2) merupakan koordinat titik kanan bawah citra.
b. Prosedur getmem
Setelah ukuran citra diperoleh, perubah dinamis segera dapat dialokasikan. Perubah dinamis bias dialokasikan dengan menggunakan prosedur getmem dengan bentuk umum sebagai berikut :
Getmem(var P:pointer;size:word);
Dimana P adalah variable perubah dinamis yang akan dialokasikan, sedangkan size merupakan prosedur imagesize yang sudah ditentukan sebelumnya.
c. Prosedur getimage
Prosedur ini berfungsi menyimpan gambar yang sudah diatur ukuran beserta alokasi perubahnya. Pada intinya prosedur ini digunakan untuk menangkap gambar. Prosedur ini memiliki bentuk umum sebagai berikut :
Getimage(x1,y1,x2,y2:integer;var P);
Dimana (x1,y1) adalah koordinat titik kiri atas dari citra yang akan ditangkap. Sedangkan (x2,y2) adalah koordinat titik kanan bawah dari citra yang akan ditangkap, dan P merupakan variabel perubah dinamis yang sudah ditentukan sebelumnya.
d. Prosedur putimage
Prosedur ini berfungsi untuk menampilkan serta menghilangkan citra pada layar graph. Prosedur inilah yang akan mengakibatkan permulaan terjadinya animasi. Bentuk umum dari prosedur putimage adalah sebagai berikut:
Putimage(x1,y1:integer;var P;teknikAnimasi:word);
Dimana :
X1,y1 adalah koordinat penggambaran ulang;
P adalah alokasi perubah dinamis yang sudah ditentukan sebelumnya;
teknikAnimasi adalah teknik yang digunakan dalam proses penggambaran ulang.
Ø Macam-macam teknik penggambaran ulang adalah sebagai berikut :
Nilai Konstanta | Nama Konstanta | Fungsi | GAMBAR |
0 | Copyput | Menampilkan citra seperti apa adanya. | ![]() ![]() ![]() |
1 | Xorput | Setiap bit dari citra pada layar dan citra yang akan ditampilkan ulang dioperasikan berdasarkan operasi logika XOR(exclusive OR). | ![]() ![]() |
2 | Orput | Setiap bit dari citra pada layar dan citra yang akan ditampilkan ulang dioperasikan berdasarkan operasi logika OR. | ![]() ![]() |
3 | Andput | Setiap bit dari citra pada layar dan citra yang akan ditampilkan ulang dioperasikan berdasarkan operasi logika AND. | ![]() ![]() ![]() |
4 | notput | Citra akan ditampilkan ulang secara inverse video. | ![]() ![]() ![]() |
Pada kenyataanya, animasi tidak hanya dapat dibentuk oleh keempat prosedur di atas. Salah satu prosedur yang juga bias digunakan untuk pembuatan animasi adalah prosedur cleardevice.
e. Prosedur cleardevice
Prosedur ini berfungsi untuk membersihkan layar graph. Prosedur ini akan mengakibatkan suatu animasi ketika digabungkan dengan looping for, repeat atau while-do. Bentuk umum prosedur ini adalah :
cleardevice;
salah satu contoh penggunaan prosedur cleardevice untuk pembuatan animasi adalah sebagai berikut :

uses
crt,graph;
var
dg,mg,x,i:integer;
begin
initgraph(dg,mg,’’);
x:=25;
for i:=1 to getmaxX do
begin
circle(x,50,15);
x:=x+1;
cleardevice;
end;
readln;
end.
Posisi awal



Posisi akhir



2.4 Perancangan Animasi Pada Pascal
Setelah kita mengetahui konsep dari prosedur-prosedur yang digunakan dalam pembuatan animasi di pascal maka berikut adalah implementasi dari pemakaian prosedur-prosedur animasi pascal. Animasi yang akan dibuat terbagi menjadi 2 bagian, yaitu :
1. Animasi penggunaan prosedur imagesize, getmem, getimage, dan putimage;
2. Animasi penggunaan prosedur cleardevice.
a. Animasi penggunaan prosedur imagesize, getmem, getimage, dan putimage.
Animasi yang akan dibuat menggunakan prosedur imagesize, getmem, getimage, dan putimage berjudul “Rocket 2012”. Secara gambaran umum, gambar yang akan dibuat adalah terdiri dari :
1. Decrement hitungan mundur
2. Rocket
3. Api
a) Algoritma system
1. Mulai
2. Membuat decrement hitungan mundur
3. Membuat rocket
4. Membuat api
5. Membuat Pergerakan Rocket
6. Membuat pergerakan api
7. Selesai
b) Translasi ke dalam bahasa pascal
Source code :
program rocket;
uses
crt,graph;
var
w,y1,y,dg,mg:integer;
size:word;
P:pointer;
d:integer;
procedure rocket;
begin
setcolor(green);
//badan rocket
rectangle(400,500,450,650);
//warna rocket
setfillstyle(solidfill,yellow);
floodfill(425,575,green);
//bokong rocket
setcolor(green);
setfillstyle(solidfill,white);
line(450,650,470,670);
line(470,670,380,670);
line(380,670,400,650);
line(400,650,450,650);
floodfill(460,660,green);
//knalpot
setfillstyle(solidfill,lightred);
rectangle(400,670,420,680);
floodfill(410,675,green);
setfillstyle(solidfill,lightred);
rectangle(430,670,450,680);
floodfill(440,675,green);
//moncong rocket
setlinestyle(solidln,1,thickwidth);
setcolor(green);
setfillstyle(solidfill,lightred);
line(400,500,425,450);
line(425,450,450,500);
line(450,500,400,500);
floodfill(430,490,green);
setcolor(Lightblue);
//NASA
settextstyle(sansseriffont,horizdir,3);
outtextxy(415,515+10,'N');
outtextxy(415,545+10,'A');
outtextxy(415,575+10,'S');
outtextxy(415,605+10,'A');
end;
procedure hitung_mundur;
var
o:shortstring;
c:integer;
begin
delay (0);
setlinestyle(solidln,100,thickwidth);
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:=':10';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::9';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::8';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::7';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::6';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::5';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::4';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::3';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
o:='::2';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
circle(240,120,80);
o:='::1';
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
sound(1000);
nosound;
for c:=1 to 100 do
begin
setcolor(lightgreen);
o:='GO!';
circle(240,120,80);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,100,o);
end;
cleardevice;
end;
procedure api;
var
c,a:integer;
api:pointer;
begin
c:=1; settextstyle(sansseriffont,horizdir,1);
setcolor(white);
outtextxy(395,685,'_^^^^^^_');
outtextxy(400,688,' ****');
getmem(api,imagesize(400,685,450,688));
getimage(400,685,450,688,api^);
for a:=1 to 1000 do
begin
delay(0);
setcolor(c);
putimage(400,685,api^,xorput);
putimage(400,685,api^,xorput);
c:=c+2;
end;
end;
procedure splash;
var
a:integer;
begin
for a:=1 to 500 do
begin
settextstyle(sansseriffont,horizdir,4);
outtextxy(100,100,'ANIMASI GRAFIK KOMPUTER');
settextstyle(sansseriffont,horizdir,2);
outtextxy(100,140,'Oleh :');
outtextxy(100,160,'Dani Ginanjar, NPM : 0806026');
outtextxy(100,180,'Kharisma Wiati Gusti NPM : 0806052');
outtextxy(100,200,'Ridwan Munawar NPM : 0806068');
end;
cleardevice;
end;
procedure closing;
var
a:integer;
begin
cleardevice;
for a:=1 to 50 do
begin
delay(90);
settextstyle(sansseriffont,horizdir,5);
outtextxy(350 ,200,'2012');
settextstyle(sansseriffont,horizdir,3);
outtextxy(360,250,'Part 2');
end;
cleardevice;
for a:=1 to 50 do
begin
delay(90);
settextstyle(sansseriffont,horizdir,2);
outtextxy(100 ,200,'Directed By Pangeran Heckter');
end;
cleardevice;
for a:=1 to 50 do
begin
delay(90);
settextstyle(sansseriffont,horizdir,3);
outtextxy(230 ,200,'Thank Us For Watching');
end;
end;
begin
clrscr;
initgraph(dg,mg,'');
splash;
hitung_mundur;
rocket;
api;
size:=imagesize(380,450,470,680);
getmem(P,size);
getimage(380,450,470,680,P^);
putimage(380,450,P^,xorput);
y:=450;
y1:=680;
w:=2;
while y>-680 do
begin
delay(0);
putimage(380,y,P^,xorput);
putimage(380,y,P^,xorput);
y:=y-5;
w:=w + 2;
setcolor(w);
outtextxy(400,y1,'///\\\');
setcolor(white);
setlinestyle(solidln,20,thickwidth);
line(440,680,440,y1);
outtextxy(435,y1,'#*');
outtextxy(400,y1,'*###');
y1:=y1-5;
end;
closing;
closegraph;
readln;
end.
c) Output Program
1. Decrement hitungan mundur


2. Tampilan rocket

3. Pergerakan rocket

b. Animasi penggunaan prosedur cleardevice.
Animasi yang akan dibuat menggunakan prosedur cleardevice berjudul “My Sweet Superman”. Secara gambaran umum, gambar yang akan dibuat adalah terdiri dari :
1. Superman
2. Jalan
3. Gedung-gedung
4. Monas
5. Balon terbang U.S.A
6. Ledakan
7. Kuburan
a) Algoritma system
1. Mulai
2. Membuat superman, jalan, gedung-gedung.
3. Membuat pergerakan jalan, dan gedung.
4. Membuat monas dan balon udara U.S.A.
5. Membuat pergerakan superman, monas, dan balon udara U.S.A.
6. Membuat ledakan.
7. Membuat kuburan.
8. Selesai.
b) Translasi ke dalam bahasa pascal
Source code :
program my_sweet_superman;
uses
crt,graph;
var
a,p,i,dg,mg,x,y:integer;
procedure tamat;
begin
x:=0; //inisialisasi pengubah koordinat x (maju ke kanan)
p:=0; // inisialisasi pengubah koordinat x (maju ke kiri)
repeat
delay(0);
sound(1000);
//My sweet superman
circle(x+100,100,5);
line(x+95,100,x+95-70,100);
line(x+95-10,100,x+100+20,100);
line(x+95-10,100,x+95-20,100+10);
line(x+95-20,100+10,x+95-20+20,100+10);
line(x+95-30,100,x+95-30,100+17);
line(x+95-30,100+17,x+95-50,100+5);
x:=x+10;
//garis-garis jalan
setcolor(yellow);
settextstyle(sansseriffont,horizdir,5);
outtextxy(getmaxx-14*p,getmaxy-285,'_ ');
outtextxy((500+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1000+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1500+getmaxx)-14*p,getmaxy-285,'_ ');
p:=p+1;
//batas atas bawah jalan
setlinestyle(solidln,50,thickwidth);
//bawah
line(0,getmaxy-200,getmaxx,getmaxy-200);
//atas
line(0,getmaxy-300,getmaxx,getmaxy-300);
setcolor(white);
//monas
line((getmaxx+1300-400)-14*p,getmaxy-300,(getmaxx+1300-50-400)-14*p,getmaxy-300-60);
line((getmaxx+1250-400)-14*p,getmaxy-360,(getmaxx+1250+200-400)-14*p,getmaxy-360);
line((getmaxx+1250+200-400)-14*p,getmaxy-360,(getmaxx+1250+200-50-400)-14*p,getmaxy-360+60);
line((getmaxx+1250+50-400)-14*p,getmaxy-360,(getmaxx+1250+100-400)-14*p,getmaxy-300-350);
line((getmaxx+1250+100-400)-14*p,getmaxy-300-350,(getmaxx+1250+150-400)-14*p,getmaxy-360);
rectangle((getmaxx+1250+100-10-400)-14*p,getmaxy-300-350,(getmaxx+1250+100+15-400)-14*p,getmaxy-300-350-10);
line((getmaxx+1250+100+15-5-400)-14*p,getmaxy-300-350-10,(getmaxx+1250+100+15-10-400)-14*p,getmaxy-300-350-10-20);
line((getmaxx+1250+100+15-10-400)-14*p,getmaxy-300-350-10-20,(getmaxx+1250+100+15-5-13-400)-14*p,getmaxy-300-350-10);
//pesawat balon U.S.A
settextstyle(sansseriffont,horizdir,3);
outtextxy((getmaxx+1500-400-40)-16*p,100-10,'U.S.A');
ellipse((getmaxx+1500-400)-16*p,100,0,360,100,35);
line((getmaxx+1500-400+100-4)-16*p,100+20,(getmaxx+1500-400+100+20)-16*p,100-30);
line((getmaxx+1500-400+100+20)-16*p,100-30,(getmaxx+1500-400+100-4)-16*p,100-30);
line((getmaxx+1500-400+100-4)-16*p,100-30,(getmaxx+1500-400+100-4-20)-16*p,100-30);
//seconds from disaster
if ((getmaxx+1500-400)-16*p)-50 = ((getmaxx+1250+50-400)-14*p) then
begin
for a:=1 to 30 do
begin
delay(100);
settextstyle(sansseriffont,horizdir,2);
outtextxy(750,40,' Tidaaaaaaak....!!!');
end;
cleardevice;
delay(0);
//My sweet superman maju ke kanan
circle(x+100,100,5);
line(x+95,100,x+95-70,100);
line(x+95-10,100,x+100+20,100);
line(x+95-10,100,x+95-20,100+10);
line(x+95-20,100+10,x+95-20+20,100+10);
line(x+95-30,100,x+95-30,100+17);
line(x+95-30,100+17,x+95-50,100+5);
x:=x+10;
//garis-garis jalan
setcolor(yellow);
settextstyle(sansseriffont,horizdir,5);
outtextxy(getmaxx-14*p,getmaxy-285,'_ ');
outtextxy((500+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1000+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1500+getmaxx)-14*p,getmaxy-285,'_ ');
p:=p+1;
end
else if ((getmaxx+1500-400)-16*p) < ((getmaxx+1250+50-400)-14*p) then
begin
x:=1250-400;
end;
cleardevice;
until x=1250-400;
cleardevice;
settextstyle(sansseriffont,horizdir,5);
//DUAAAARRR......!!!!
for a:=1 to 80 do
begin
delay(25);
setcolor(red);
settextstyle(sansseriffont,horizdir,5);
outtextxy(getmaxx-700,100 ,'DUAAAARRRR....!!!');
setcolor(5+a);
settextstyle(sansseriffont,horizdir,1);
outtextxy(getmaxx-700-40,100-40,'* . ` . / # % & &* (^ !@#$ ! % * @!@#$ &*() )');
settextstyle(sansseriffont,horizdir,1);
outtextxy(getmaxx-700-20,100-20,' % \ | * ^ . / # % & &* (^ !@ ! % *');
settextstyle(sansseriffont,horizdir,1);
outtextxy(getmaxx-700-40,100+40,'* . ` . / # % & &* (^ !@#$ ! % * @!@#$ &*() )');
settextstyle(sansseriffont,horizdir,1);
outtextxy(getmaxx-700-20,100+20,' % \ | * ^ . / # % & &* (^ !@ ! % *');
cleardevice;
end;
//kuburan
for a:=1 to 200 do
begin
delay(0);
setcolor(white);
setlinestyle(solidln,15,thickwidth);
arc(500,500,0,180,100);
line(400,500,600,500);
arc(500,500-90-10-20,0,180,50);
line(550,410,550,410-10-20);
line(450,410,450,410-10-20);
settextstyle(sansseriffont,horizdir,2);
outtextxy(500-25-8,410-20-15-10,'R.I.P');
cleardevice;
end;
cleardevice;
//Closing
for a:=1 to 250 do
begin
delay(0);
setcolor(yellow);
settextstyle(triplexfont,horizdir,5);
outtextxy(300-100-100,400-200,'THE END');
cleardevice;
end;
//Closing 2
for a:=1 to 250 do
begin
delay(0);
setcolor(yellow);
settextstyle(triplexfont,horizdir,5);
outtextxy(300-100-100,400-200,'MY SWEET SUPERMAN');
settextstyle(triplexfont,horizdir,2);
outtextxy(305-100-100+100,400+50-200,'Directed By Pangeran Heckter');
cleardevice;
end;
//Closing 3
for a:=1 to 200 do
begin
delay(0);
setcolor(white);
settextstyle(triplexfont,horizdir,4);
outtextxy(300-100-100,400-200,'Thank Us For Watching');
settextstyle(gothicfont,horizdir,2);
outtextxy(310-100-100,400+50-200,'visit our site : www.liftones.blogspot.com');
cleardevice;
end;
//menutup graph
closegraph;
readln;
end;
begin
clrscr;
initgraph(dg,mg,''); //inisialisasi graph
x:=0;
p:=0;
setlinestyle(solidln,50,thickwidth);
//splash screen
for a:=65 downto 1 do
begin
delay(150);
settextstyle(sansseriffont,horizdir,4);
outtextxy(200,300,'ANIMASI GRAFIKA KOMPUTER');
settextstyle(sansseriffont,horizdir,3);
outtextxy(200,300+85,'Oleh :');
settextstyle(sansseriffont,horizdir,3);
outtextxy(200,300+85+45,' Dani Ginanjar NPM : 0806026');
settextstyle(sansseriffont,horizdir,3);
outtextxy(200,300+85+45+45,' Kharisma Wiati Gusti NPM : 08060');
settextstyle(sansseriffont,horizdir,3);
outtextxy(200,300+85+45+45+45,' Ridwan Munawar NPM : 0806068');
end;
repeat
if p=0 then
begin
repeat
delay(0);
setcolor(yellow);
//garis-garis jalan
settextstyle(sansseriffont,horizdir,5);
outtextxy(getmaxx-14*p,getmaxy-285,'_ ');
outtextxy((500+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1000+getmaxx)-14*p,getmaxy-285,'_ ');
outtextxy((1500+getmaxx)-14*p,getmaxy-285,'_ ');
p:=p+1;
//batas atas bawah jalan
setlinestyle(solidln,50,thickwidth);
//bawah
line(0,getmaxy-200,getmaxx,getmaxy-200);
//atas
line(0,getmaxy-300,getmaxx,getmaxy-300);
setcolor(white);
//My sweet superman
circle(100,100,5);
line(95,100,95-70,100);
line(95-10,100,100+20,100);
line(95-10,100,95-20,100+10);
line(95-20,100+10,95-20+20,100+10);
line(95-30,100,95-30,100+17);
line(95-30,100+17,95-50,100+5);
//gedung
rectangle((getmaxx+500)-14*y,getmaxy-300,(getmaxx+600)-14*y,getmaxy-600);
rectangle((getmaxx+500+100)-14*y,getmaxy-300,(getmaxx+600+200)-14*y,getmaxy-600-20);
rectangle((getmaxx+500+400)-14*y,getmaxy-300,(getmaxx+600+700)-14*y,getmaxy-600-50);
rectangle((getmaxx+500+850)-14*y,getmaxy-300,(getmaxx+600+820)-14*y,getmaxy-600-33);
rectangle((getmaxx+500+850+140)-14*y,getmaxy-300,(getmaxx+600+820+300)-14*y,getmaxy-600-33+100);
rectangle((getmaxx+500+850+400+20)-14*y,getmaxy-300,(getmaxx+600+820+550)-14*y,getmaxy-600-33+55);
rectangle((getmaxx+500+850+400+20+300)-14*y,getmaxy-300,(getmaxx+600+820+550+500)-14*y,getmaxy-600-33+55-105);
y:=y+1;
setcolor(lightgray);
settextstyle(sansseriffont,horizdir,2);
outtextxy((getmaxx+500+105)-14*i,getmaxy-600+45,'ASIA TOSERBA');
setcolor(white);
settextstyle(sansseriffont,horizdir,3);
outtextxy((getmaxx+500+105+450)-14*i,getmaxy-600+25,'STTG');
setcolor(lightgreen);
outtextxy((getmaxx+500+105+450+500)-14*i,getmaxy-600+100,'BRI');
setcolor(lightred);
outtextxy((getmaxx+500+105+650+500+400)-14*i,getmaxy-600-45,'GARUT PLAZA');
i:=i+1;
x:=x+10;
if x=11500 then tamat; //Menuju CLosing
cleardevice;
until p>300;
end
else if p>300 then
begin
p:=0;
y:=0;
end;
until keypressed;
readln;
end.
c) Output program
1. Pergerakan jalan dan gedung

2. Pergerakan superman, monas dan balon udara U.S.A.

3. Ledakan

4. Kuburan

2.5 Animasi Pada Macromedia Flash MX
Di bawah ini merupakan window dari Flash MX yang digunakan dalam pekerjaan pembuatan animasi, baik itu berupa graphic atau animasi bergerak (cartoon).

A. Timeline, digunakan untuk mengatur dan mengontrol isi keseluruhan movie Anda.
B. Stage, merupakan tempat dimana Anda bekerja dalam membuat sebuah animasi.
C. Tools Box, berisi alat-alat yang digunakan untuk menggambar objek pada stage.
Keterangan :
1. Arrow Tool 

Tool ini digunakan untuk memilih suatu objek atau untuk memindahkannya.
2. Subselection Tool 

Tool ini digunakan untuk merubah suatu objek dengan edit points.
3. Line Tool 

Tool ini digunakan untuk membuat suatu garis di stage.
4. Lasso Tool 

Tool ini digunakan untuk memilih daerah di objek yang akan diedit.
5. Pen Tool 

Tool yang digunakan untuk menggambar dan merubah bentuk suatu objek dengan menggunakan edit points (lebih teliti & akurat).
6. Text Tool 

Tool ini digunakan untuk menuliskan kalimat atau kata-kata.
7. Oval Tool 

Tool yang digunakan untuk menggambar sebuah lingkaran.
8. Rectangle Tool 

Tool yang digunakan untuk menggambar sebuah segiempat.
9. Pencil Tool 

Tool ini digunakan untuk menggambar sebuah objek sesuai dengan yang Anda sukai. Tetapi setiap bentuk yang Anda buat akan diformat oleh Flash MX menjadi bentuk sempurna.
10. Brush Tool 

Tool ini sering digunakan untuk memberi warna pada objek bebas.
11. Free Transform Tool 

Tool ini digunakan untuk memutar (rotate) objek yang Anda buat atau mengubah bentuk objek menjadi bentuk lain.
12. Fill Transform Tool 

Tools ini digunakan untuk memutar suatu objek yang diimport dari luar lingkungan Flash MX, serta untuk mengatur efek warna.
13. Ink Bottle Tool 

Tool ini digunakan untuk mengisi warna pada objek yang bordernya telah hilang (tidak ada).
14. Paint Bucket Tool 

Tool ini digunakan untuk mengisi warna pada objek yang dipilih.
15. Eraser Tool 

Tool ini digunakan untuk menghapus objek yang Anda bentuk.
D. Color Window, merupakan window yang digunakan untuk mengatur warna pada objek yang Anda buat.
Color Window terdiri dari:
1. Color Mixer, digunakan untuk mengatur warna pada objek sesuai dengan keinginan Anda. Ada 5 pilihan tipe warna, yaitu: None, Solid, Linear, Radial, Bitmap.
2. Color Swatches, digunakan untuk memberi warna pada objek yang Anda buat sesuai dengan yang warna pada window.
E. Actions – Frame, merupakan window yang digunakan untuk menuliskan Action Script untuk Flash MX. Biasanya Action Script digunakan untuk mengendalikan objek yang Anda buat sesuai dengan keinginan Anda.
F. Properties, merupakan window yang digunakan untuk mengatur property dari objek yang Anda buat.
G. Components, digunakan untuk menambahkan objek untuk web application yang nantinya di publish ke internet.
2.5.1 Pembuatan Animasi
pembuatan animasi dalam macromedia flash MX, secara sederhana adalah menggunakan tool box dan pengaturan timeline. Dimana tool box sebagai alat gambar object dan timeline sebagai pengatur kemunculan object. Output bisa langsung kita lihat di stage. Macromedia flash MX member kemudahan kepada user dalam pembuatan animasi, berbeda seperti di pascal, user tidak perlu berurusan sintak error dan hal lainnya seperti rumitnya pascal, user dapat melakukan proses pembuatan animasi cukup dengan klik dan drag. Hasil yang didapat juga sangat memuaskan, kualitas animasi yang halus dan alokasi memori yang lebih kecil daripada pascal.
2.5.1.1 Pembuatan Animasi Rocket 2012
1. pembuatan decrement hitungan mundur luncur rocket
2. pembuatan rocket
3. membuat rocket bergerak
2.5.1.2 Pembuatan Animasi My Sweet Superman
1. Pembuatan gambar superman.
2. pembuatan jalan dan gedung-gedung.
3. membuat jalan dan gedung bergerak.
4. pembuatan monas dan balon udara U.S.A.
5. membuat monas dan balon udara U.S.A bergerak.
6. membuat ledakan.
7. membuat kuburan.
Bab III
Kesimpulan
Tidak ada komentar:
Posting Komentar