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

Tidak ada komentar:

Posting Komentar