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
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar