Minggu, 23 Oktober 2011

Pembuatan Media Animasi Contoh Optik dan teori Kinetik Gas

Dalam pembuatan media animasi banyak sekali software yang dapat digunakan yang diantaranya macromedia flash, director, 3Dmax dan masih banyak lagi.







Gambar Macromedia Flash








Gambar Macromedia director

 Pembuataan media perlu adanya ahli materi dalam memvalidkan apakah materi dapat digunakan atau tidak. Tahap-tahap pengembangan media
Garis besar dalam tahap pengembangan ada beberapa hal yang perlu diperhatikan yaitu:

Contoh media yang dibawah ini tidak melalui tahap pengembangan karena tidak adanya ahli materi dalam memvalidkan.
Unduh file optik download
Unduh file Teori Kinetik Gas download

Terima kasih

Membuat media pembelajaran 3 dimensi dengan director

Penggunaan software director sangat mudah dan tidak banyak memikirkan bahasa program seperti flash, dan sangat prakris bagi guru yang sibuk.
contoh membuat kotak 3 dimensi dengan director
1.Buka program 3Dmax
2.Buat bentuk kotak




3.Buat  camera

4.Pada perspective klik kanan dan pilih camera


5.Pandangan pada perspective akan berubah menjadi camera.
6.Atur posisi kamera sampai camera menangkap objek benda.

7.Setelah pengaturan posisi camera dapat manangkap objek

8.Buka file-export selected.

9.Atur dengan pilih shockwave.

10.Beri nama file misal kotak. Lalu save

11.Pada viewport pilih camera dan export.

12.Buka program macromedia-director

13.Export file yang sudah dibuat dengan pilih file-import.

14.cari file yang sudah di export dari 3dmax. Misalnya disimpan pada c:\3dmax\meshes lalu pilih kotak dan import.

15.keluarkan kotak dari cash dengan tahan klik kiri dan drag ke dalam stage.

16.kemudian pada frame akhir missal frame 30 klik kiri 2x dan ketik pada action
on exitFrame me
  go the frame
end


17.Buka window-library palete

18.Buka code library-3D-action

19.Drag (dengan tahan klik kiri) orbit camera ke gambar yang ada di stage

20.Pilih code library-3D-Trigger

21.Drag  (tahan klik kiri) mouse left ke gambar yang ada di stage.

22.Test dengan klik play.

23.save terlebih dahulu dengan file-save misal dengan nama kotak.
24.Publish file dengan pilih file-publish.


25.Selamat mencoba bentuk berbeda.
Bentuk yang lain silahkan coba, misalnya tata surya.
Silahkan unduh contoh file 
download

Jumat, 21 Oktober 2011

Video Kartun Menyapa dengan Tales Animasi

Animasi menggunakan tales animasi sangat praktis dan kita membuat kata-kata dengan bahasa inggris.
Tales animasi bagus penggunaan membuat animasi serta dapat juga digunakan dalam untuk belajar pengucapan bahasa inggris.
Dalam pembuatan tinggal diketik contoh

boy akip
akip appears at (450,500)
akip says "hallo"
akip says "hmmmmmm"
akip says "oke bro"
akip says "language"


Test dengan menggunakan preview

Bila ingin mengubah ke video dengan pilih animation-render avi

Silahkan baca help untuk lebih lanjut

Unduh file di alamat
http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/Tales-Animator.shtml

Jangka Sorong dan mikrometer sekrup dengan macromedia Flash

A. Jangka sorong
Jangka sorong merupakan alat praktikum untuk mengukur diameter luar, diameter lingkaran, dan ke dalaman

Persamaan jangka sorong yang digunakan yaitu

Hp= Su x NSU - SN x NSN


Su=skala utama
NSU=nilai skala utama jangka sorong
SN=skala nonius
NSN=nilai skala nonius

keterangan skala utama dan skala nonius


NSU dari alat yang digunakan  sebesar 1 mm.

cara menentukan ketelitian atau NSN

impitkan jangka sorong seperti gambar berikut:



dari gambar diatas diperoleh skala utama 19 dan skala nonius 20
sehingga dapat kita tentukan besar NSN atau ketelitian



dari perhitungan diatas bisa kita peroleh persamaan dari alat yaitu:
Hp=(SU x 1 mm)-(SNx0,95)

(sumber:nawir, m, 1991: 1)
contoh cara menghitung pada alat

dari gambar atas yang berimitan skala utama yaitu 35 dan skala nonius 6
maka dapat kita hitung

Hp=(35 mm x 1 mm)-(6 mm x 0,95 mm)
Hp=29,3 mm
Hp=2,93 cm


------------------------------------------------------------------------------------------
Micrometer scrupt

Micrometer scrupt merupakan alat untuk mengukur diamater dengan kelebihan dari jangka sorong dapat mengukur benda yang tanpa mempatkan diameter benda, misal kertas, bola karet.

Persamaan micrometer scrupt yaitu:

Hp=(Sm x NSM) + (SB x NSB)
SM=skala mendatar
NSM=nilai skala mendatar
SB=skala berputar
NSB=Nilai skala berputar

(sumber : Nawir, M, 1991: 11)
Keterangan skala mendatar dan skala berputar


NSM sebesar 1 mm

Cara menentukan NSB atau ketelitian alat yaitu:
impitkan alat pada 0 mm dan putar alat sampai kembali ke 0 yang merupakan 50


Dari hasil diperoleh ketelitian alat


contoh pengkuran


Gambar diatas kita hitung
Hp=(7x1 mm)+ (8 x 0,01)
Hp=7,08 mm
Hp= 0,708 cm

Silahkan unduh file
download

Jumat, 30 September 2011

SIMULASI PENDARATAN PESAWAT DENGAN TURBO PASCAL 7.1

----|||--
Simulasi dengan turbo pascal memerlukan beberapa hal.
Pertama memerlukan perhitungan dalam analisis hasil dari simulasi yang bekerja

Dalam simulasi ini misalnya digunakan permasaan umum Newton F=m.a
f merupakan gaya
m merupakan massa
a merupakan percepatan.
Simulasi ini misalnya memerlukan apa saja yang mempengaruhi dalam pendaratan,diantara dapat kita tentukan suhu udara untuk menentukan kerapatan udara
sedangkan kecepatan udara tidak kita perhatikan.



-----------------------------------------------------------------
Simulasi ini kita siapkan program pesawat dan nantinya program tersebut kita masukkan


{pesawat siap dipanggil}
procedure pesawat;
begin
vt:=10000;
i:=1;
massa:=10/(1.020*suhu);{penentuan kerapan udara}
d:=b-(a/massa);{kecepatan saat di rem}
while i<=d do
begin
i:=i+1;
bar(i,180,(40+i),190); {bentuk pesawat}
bar((30+i),170,(35+i),200);{sayap pesawat}
bar(10, 150,(c+50), 160);{bentuk landasan tambah 50 meter}
bar(10, 220,(c+50), 230);{bentuk landasan tambah 50 meter}
delay(vt-b);
clearDevice;
delay(vt-b);

{analisa saat kecelakaan}
if d>=c then {bila kecepatan melebihi panjang landasan}
begin
OutTextXY(90,300,'Pesawat Kecelakaan');

xmax:=GetmaxX;
yMax:=GetmaxY;
{garis koordinat grafik}
Line(xmax div 10,0, xmax div 10,ymax);
Line(0,ymax div 2, xmax,ymax div 2);

{angka koordinat y}
OutTextXY(45,165,'5');
OutTextXY(45,180,'4');
OutTextXY(45,195,'3');
OutTextXY(45,210,'2');
OutTextXY(45,225,'1');
OutTextXY(40,250,'-1');
OutTextXY(40,265,'-2');
OutTextXY(40,280,'-3');
OutTextXY(40,295,'-4');
OutTextXY(40,310,'-5');

{pembuatan Analisa Grafik}
a:=1;
while i<=d do  {analisa perulangan}
begin
a:=a+1;
For i := 0 to (i+10)  do  {letak pembuatan animasi}
Begin
Y1 := round((d-i)*cos((d-i)*pi/180));
Y := GetMaxY div 2-y1;
PutPixel(i+xmax div 10,y,GetMaxColor);
rectangle(255,292,(256+i),308);
{loading}
rectangle(85,290,250,310);
rectangle(250,290,GetMaxX,310);
delay(20);{kecepatan animasi minimal 20}
delay(20);
end;
end;
end;
end;
end;

-----------------------------------------------------------------

Program yang kita perlukan selanjutnya Program memasukkan data

{program pembukaan mulai}
procedure awal;
begin
setColor(blue);
rectangle(5,30,400,100);
OutTextXY(10,35, 'Kekuatan Rem      :           Newton');
OutTextXY(10,50, 'Kecepatan pesawat :           m/s');
OutTextXY(10,65, 'Panjang Landasan  :           m');
OutTextXY(10,85, 'Suhu Udara        :           Celcius');
write('                     '); readln(a);{Kekuatan rem}
write('                     '); readln(b);{Kecepatan peswat}
write('                     '); readln(c);{panjang landasan}
write('                     '); readln(suhu);{suhu udara}
end;
-----------------------------------------------------------------
Dari Program yang diatas masukkan ke dalam Program utama seperti gambar



gambar 2

Alasan kita menggunakan procedure agar program tersebut tidak mempengaruhi program utama selama tidak diaktifkan.

-----------------------------------------------------------------
Keseluruhan isi program simulasi
-----------------------------------------------------------------
program simulasiPesawatMendarat;
uses
graph, crt;
var
a,d,t,e,suhu, massa:real;{a rem, b kecepatan, d hasil, massa udara}
i,f,c,b,y,y1,v,vt,xmax,ymax, gd, gm:integer;{i perulangan, f pilihan, c landasan}

{pesawat siap dipanggil}
procedure pesawat;
begin
vt:=10000;
i:=1;
massa:=10/(1.020*suhu);{penentuan kerapan udara}
d:=b-(a/massa);{kecepatan saat di rem}
while i<=d do
begin
i:=i+1;
bar(i,180,(40+i),190); {bentuk pesawat}
bar((30+i),170,(35+i),200);{sayap pesawat}
bar(10, 150,(c+50), 160);{bentuk landasan tambah 50 meter}
bar(10, 220,(c+50), 230);{bentuk landasan tambah 50 meter}
delay(vt-b);
clearDevice;


{analisa saat kecelakaan}
if d>=c then {bila kecepatan melebihi panjang landasan}
begin
OutTextXY(90,300,'Pesawat Kecelakaan');

xmax:=GetmaxX;
yMax:=GetmaxY;
{garis koordinat grafik}
Line(xmax div 10,0, xmax div 10,ymax);
Line(0,ymax div 2, xmax,ymax div 2);

{angka koordinat y}
OutTextXY(45,165,'5');
OutTextXY(45,180,'4');
OutTextXY(45,195,'3');
OutTextXY(45,210,'2');
OutTextXY(45,225,'1');
OutTextXY(40,250,'-1');
OutTextXY(40,265,'-2');
OutTextXY(40,280,'-3');
OutTextXY(40,295,'-4');
OutTextXY(40,310,'-5');

{pembuatan Analisa Grafik}
a:=1;
while i<=d do  {analisa perulangan}
begin
a:=a+1;
For i := 0 to (i+10)  do  {letak pembuatan animasi}
Begin
Y1 := round((d-i)*cos((d-i)*pi/180));
Y := GetMaxY div 2-y1;
PutPixel(i+xmax div 10,y,GetMaxColor);
rectangle(255,292,(256+i),308);
{loading}
rectangle(85,290,250,310);
rectangle(250,290,GetMaxX,310);
delay(20);{kecepatan animasi 500}
delay(20);
end;
end;
end;
end;
end;

{program pembukaan mulai}
procedure awal;
begin
setColor(blue);
rectangle(5,30,400,100);
OutTextXY(10,35, 'Kekuatan Rem      :           Newton');
OutTextXY(10,50, 'Kecepatan pesawat :           m/s');
OutTextXY(10,65, 'Panjang Landasan  :           m');
OutTextXY(10,85, 'Suhu Udara        :           Celcius');
write('                     '); readln(a);{Kekuatan rem}
write('                     '); readln(b);{Kecepatan peswat}
write('                     '); readln(c);{panjang landasan}
write('                     '); readln(suhu);{suhu udara}
end;

begin {program utama}
gd:=detect;
initGraph(gd, gm,'');
repeat
setColor(red);
bar(0,0,700,10);
bar(0,470,700,500);
OutTextXY(10,20, 'Mulai tekan 1, Hapus Tekan 2, exit Tekan Huruf dan enter :');
GotoXY(60,2);
readln(f);
if f=1 then {jika 1 panggil program awal dan pesawat}
begin
awal;{program awal dipanggil}
pesawat;{program pesawat dipanggil}
end;
if f=2 then {jika 2 hapus program}
begin
clearDevice;
clearViewPort;{hapus}
clearDevice;
end;
until KeyPressed;
closeGraph;
end.

--------------------------------------------------------------------
Dalam simulasi diatas masih banyak kekurangan, selanjutnya untuk simulasi yang lain dapat kalian buat dengan berpatokan dari perhitungan yang digunakan.

Dalam Pemindahan File Pesawat, misal ke D dengan menyertakan file EGAVGA dan CGA. Seperti Gambar Di bawah




Silahkan unduh file download Pesawat windows XP
download Turbbo Pascal 7.1 For Windows XP TERIMA KASIH

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

Jumat, 19 Agustus 2011

TURBO PASCAL 7.1 PEMBUATAN GAMBAR

TURBO PASCAL Turbo pascal 7.1 merupakan bahasa program untuk pembuatan visual yang mana dengan memanfaatkan komponen graphics yang telah disediakan sebagai file penyerta dalam memunculkan fungsi graphic ke monitor. Lebih jelas contoh membuat gambar kotak

program kotak;
uses
graph, crt;
var
gd, gm: integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

rectangle(10,10,100,40);

repeat until KeyPressed;
closeGraph;
end.

Hasilnya















Contoh diatas merupakan pembuatan program gambar kotak. Dalam penulisan program menggunakan
rectangle(10,10,100,40); rumus dari program kotak adalah rectangle(x,y,x1,y1)
x dan y merupakan koordinat awal sedangkan x1 dan y1 merupakan koordinat titik besar kotak.














Untuk lebar monitor LCD berbeda-beda seperti yang digunakan maksimum x=635 dan y=195














Dalam penulisan program yang merupakan program tetap, artian merupakan program yang tidak banyak perubahan

Program gambar; {merupakan program yang tidak banyak berubah}
uses                                              {Mengambil fungsi dalam doc pascal, ini program tetap}
graph, crt;                                     {program yang diambil}
var                                               { variabel, merupakan program tetap}
gd, gm: integer;                             {variabel yang diperlukan}
begin
gd:=cga;                                            {variabel grafik 'cga' dibulatkan, merupakan program tetap}
gm:=cgahi;                                     {variabel warna 'cgahi' dibulatkan, merupakan program tetap}
initgraph(gd,gm,'');                         {merupakan varibel, program tetap tidak berubah}

rectangle(x,y,x1,y1);                 {Dapat ditambah yang lain, misal membuat lingkaran}

repeat until keypressed             {mencegah pengetikan keyboard, merupakan program tetap}
closegraph;                               {merupakan program tetap}
end.                                          {tetap}



---------------------------------------------------------------------------------------------------------------
macam-macam potongan program:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KOTAK
rectangle(x,y,x1,y1); kotak tanpa warna dalam

bar(x,y,x1,y1); kotak dengan warna dalam

Bar3D{x,y,x1,y1, x2, Topon); kotak dengan bentuk 3 dimensi, x2 lebar kotak arah posisi 3 dimensi


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LINGKARAN
cricle(x,y,x1);

ellips(x,y,0,360, x1, y1);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MEMASUKKAN TULISAN
OutTextXY(x,y,'ketik huruf');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PENULISAN TULISAN
Readln();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pembuatan bentuk Gelombang

For x := 0 to GetMaxX do
Begin
Y1 := round(10*cos(x*pi/180));
Y := GetMaxY div 2-y1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GARIS
line(x,y,x1,y1);


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONTOH

--------------------------------------------------------------------------------------------------------------
Program memasukkan tulisan;

program gambar;
uses
graph, crt;
var
a, gd, gm: integer;
b:char;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

readln(a); {ketik angka}
readln(b); {ketik tulisan}

repeat until keypressed;
closegraph;
end.
-----------------------------------------------------------------------------------------------------

program gambar;
uses
graph, crt;
var
gd, gm: integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

rectangle(0,0,300,80);
bar(10,10,400,100);
OuttextXY(420,90, 'hasil yang diketik');

repeat until keypressed;
closegraph;
end.
















----------------------------------------------------
----------------------------------------------------
CONTOH

Gambar dengan lingkaran banyak

----------------------------------------------------
program banyaklingkaran;
uses
graph, crt;
var
i, gd, gm: integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

for i:=1 to 10 do
circle(100,100, i*20); {circle(x,y,jari-jari);}


repeat until keypressed;
closegraph;
end.
----------------------------------------------------


MEMBUAT GARIS

program garis;
uses
graph, crt;
var
gd, gm: integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

line(50,50,600,100);{koordinat titik x=0,y=0, dan x1=600, y1=100}


repeat until KeyPressed;
closeGraph;
end.









----------------------------------------------------
Membuat Gelombang

program gelombang;
uses
graph, crt;
var
i,y1, y, x, xmax,ymax, gd, gm:integer;
begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
xmax:=GetmaxX;
yMax:=GetmaxY;

For i := 0 to xmax do
Begin
Y1 := round(10*cos(i*pi/180));
Y := ymax div 2-y1;


PutPixel(x+xmax div 10,y,GetMaxColor);
End;
repeat until keypressed;
closeGraph;
end.


------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
LATIHAN
------------------------------------------------------------------------------------
Membuat Bentuk Gelombang yang dapat ditentukan dari program yang sudah dibuat

program gelombang;
uses
graph, crt;
var
i, a, b, y1,y,x,xmax,ymax, gd, gm:integer;

begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');
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 pada 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');
OutTextXY(0,15,'Masukkan Besar Amplitudo:');
OutTextXY(0,25,'Masukkan Besar Gelombang:');

{masukkan angka bulat}
writeln('');
writeln('');
write('                              '); readln(a);
write('                              '); readln(b);

{bentuk gelombang}
For x := 0 to (b*360) do
Begin
Y1 := round((a*10)*cos(x*pi/180));
Y := GetMaxY div 2-y1;

PutPixel(x+xmax div 10,y,GetMaxColor);

End;

repeat until keypressed;
closeGraph;
end.


MEMASUKKAN BEBERAPA KOTAK

program berapakotak;
uses crt,graph;
var gd,gm, i, b,n:integer;
procedure hitung;
var
letakx, letaky, tinggi, lebar:integer;
begin
OutTextXY(10,30,'Posisi x =');
OutTextXY(10,40,'Posisi y =');
OutTextXY(10,50,'Panjang kotak dari Sumbu X');
OutTextXY(10,60,'Lebar kotak dari Sumbu Y');
writeln('');
write('                       ');readln(letakx);
write('                       ');readln(letaky);
write('                                        ');readln(lebar);
write('                                        ');readln(tinggi);
rectangle(letakx, letaky, lebar, tinggi);
end;

begin
gd:=cga;
gm:=cgahi;
initgraph(gd,gm,'');

rectangle(0,0,getmaxX, getMaxY);
OutTextXY(10,15,'Berapa Kotak Yang diingingkan');
writeln('');
writeln('');
write('                                                ');readln(n);

for i:=0 to n do
hitung;
repeat until keypressed;
closegraph;
end.


PEMBUATAN GAMBAR DENGAN MENGGUNAKAN ARRAY

Pembuatan gambar menggunakan array yaitu merupakan matrik gambar yang digunakan.
Array 1 dimensi
Array 2 dimensi
Array 3 dimensi
Array n dimensi
Contoh Array 2 dimensi dengan rumus berikut:
 ---------------------------------------------------------------------
program Angka;
uses
graph, crt;
const
lingkaran:array[1..10,1..15] of integer=(
(0,1,1,0,0,0,0,1,1,1,1,1,1,1,1),
(1,0,1,0,0,0,0,1,0,0,0,0,0,0,0),
(0,0,1,0,0,0,0,1,0,0,0,0,0,0,0),
(0,0,1,0,0,0,0,1,0,0,0,0,0,0,0),
(0,0,1,0,0,0,0,1,1,1,1,1,1,0,0),
(0,0,1,0,0,0,0,0,0,0,0,0,0,1,0),
(0,0,1,0,0,0,0,0,0,0,0,0,0,0,1),
(0,0,1,0,0,0,0,0,0,0,0,0,0,0,1),
(0,0,1,0,0,0,0,0,0,0,0,0,0,1,0),
(1,1,1,1,1,0,0,1,1,1,1,1,1,0,0));
var
i,j,gd, gm:integer;
begin
gd:=cga;
initgraph(gd,gm,'');
repeat
for i:=1 to 10 do
for j:=1 to 15 do
begin
if lingkaran[i,j]=1 then putpixel((100+i),(100+j),1); {baris 1}
if lingkaran[i,j]=2 then putpixel((100+i),(100+j),1); {baris 2}
if lingkaran[i,j]=3 then putpixel((100+i),(100+j),1); {baris 3}
if lingkaran[i,j]=4 then putpixel((100+i),(100+j),1); {baris 4}
if lingkaran[i,j]=5 then putpixel((100+i),(100+j),1); {baris 5}
if lingkaran[i,j]=6 then putpixel((100+i),(100+j),1); {baris 6}
if lingkaran[i,j]=7 then putpixel((100+i),(100+j),1); {baris 7}
if lingkaran[i,j]=8 then putpixel((100+i),(100+j),1); {baris 8}
if lingkaran[i,j]=9 then putpixel((100+i),(100+j),1); {baris 9}
if lingkaran[i,j]=10 then putpixel((100+i),(100+j),1); {baris 10}
if lingkaran[i,j]=11 then putpixel((100+i),(100+j),1); {baris 11}
if lingkaran[i,j]=12 then putpixel((100+i),(100+j),1); {baris 12}
if lingkaran[i,j]=13 then putpixel((100+i),(100+j),1); {baris 13}
if lingkaran[i,j]=14 then putpixel((100+i),(100+j),1); {baris 14}
if lingkaran[i,j]=15 then putpixel((100+i),(100+j),1); {baris 15}
end;
until keypressed;
closegraph;
end.

Array yang diatas merupakan gambar Angka 2 dimensi dengan rumus
lingkaran:array[j,i] of integer=(

Array dengan gambar warna berbeda dengan memberikan angka berbeda.

 ---------------------------------------------------------------------
program Warna;
uses
graph, crt;
const
lingkaran:array[1..30,1..30] of integer=(
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15),
(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15));
var
i,j,gd, gm:integer;
begin
gd:=detect;
initgraph(gd,gm,'');
repeat;
for i:=1 to 30 do
for j:=1 to 30 do
begin
if lingkaran[j,i]=1 then putpixel((100+i),(100+j),1); {warna berbeda}
if lingkaran[j,i]=2 then putpixel((100+i),(100+j),1); {berdasarkan baris}
if lingkaran[j,i]=3 then putpixel((100+i),(100+j),2); {yang digunakan}
if lingkaran[j,i]=4 then putpixel((100+i),(100+j),2);
if lingkaran[j,i]=5 then putpixel((100+i),(100+j),3);
if lingkaran[j,i]=6 then putpixel((100+i),(100+j),3);
if lingkaran[j,i]=7 then putpixel((100+i),(100+j),4);
if lingkaran[j,i]=8 then putpixel((100+i),(100+j),4);
if lingkaran[j,i]=9 then putpixel((100+i),(100+j),5);
if lingkaran[j,i]=10 then putpixel((100+i),(100+j),5);
if lingkaran[j,i]=11 then putpixel((100+i),(100+j),6);
if lingkaran[j,i]=12 then putpixel((100+i),(100+j),6);
if lingkaran[j,i]=13 then putpixel((100+i),(100+j),7);
if lingkaran[j,i]=14 then putpixel((100+i),(100+j),7);
if lingkaran[j,i]=15 then putpixel((100+i),(100+j),8);
if lingkaran[j,i]=16 then putpixel((100+i),(100+j),8);
if lingkaran[j,i]=17 then putpixel((100+i),(100+j),9);
if lingkaran[j,i]=18 then putpixel((100+i),(100+j),9);
if lingkaran[j,i]=19 then putpixel((100+i),(100+j),10);
if lingkaran[j,i]=20 then putpixel((100+i),(100+j),10);
if lingkaran[j,i]=21 then putpixel((100+i),(100+j),11);
if lingkaran[j,i]=22 then putpixel((100+i),(100+j),11);
if lingkaran[j,i]=23 then putpixel((100+i),(100+j),12);
if lingkaran[j,i]=24 then putpixel((100+i),(100+j),12);
if lingkaran[j,i]=25 then putpixel((100+i),(100+j),13);
if lingkaran[j,i]=26 then putpixel((100+i),(100+j),13);
if lingkaran[j,i]=27 then putpixel((100+i),(100+j),14);
if lingkaran[j,i]=28 then putpixel((100+i),(100+j),14);
if lingkaran[j,i]=29 then putpixel((100+i),(100+j),15);
if lingkaran[j,i]=30 then putpixel((100+i),(100+j),15);
end;
until keypressed;
closegraph;
end.

Dalam gambar 3 dimensi bila untuk menggambar hasil yang dibuat akan kelihatan bergerak, penggunaan array, bila untuk game 3D maka array yang bergerak tidak terjadi.
Array dengan gambar 3 dimensi dengan menggukanan i,j,k

-------------------------------------------------------------------
program gambarLingkaran;
uses
graph, crt;
const
lingkaran:array[1..3,1..10,1..10] of integer=(
((1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1)),(

(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1)),((1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1,1,1)));var
i,j,gd, gm:integer;
begin
gd:=cga;
initgraph(gd,gm,'');
repeat
for i:=1 to 10 do
for j:=1 to 10 do
for k:=0 to 5 do
begin
if lingkaran[k,i,j]=1 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=2 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=3 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=4 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=5 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=6 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=7 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=8 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=9 then putpixel((100+i),(100+j),(100+k));
if lingkaran[k,i,j]=10 then putpixel((100+i),(100+j),(100+k));
end;

until keypressed;
closegraph;
end.


---------------------------------------------------------------------------------------------
Catatan:

1. Macam-macam grafik cga lihat di index
cga (warna putih)
cgahi (warna putih)
cgac2 (warna kuning)
cgac3 (warna putih)
cgac1 (warna kuning)



2. caranya agar hasil yang aplikasi dibuat dapat dipindah dari folder Turbo Pascal 7.1 keluar, misalnya ke my document
Copy adalah file 'garis' dengan file penyerta yaitu 'CGA.BGI'








 latihan yang lainnya lihat help index turbo Pascal 7.1.