Gerak jatuh bebas adalah gerak suatu objek dari ketinggian tertentu yang hanya dipengaruhi oleh grafitasi. Contohnya saat apel jatuh sendiri dari pohonnya. Rumusnya hampir sama dengan geraklurus berubah beraturan hanya saja karena percepatannya dipengaruhi oleh grafitasi maka 'a' dinganti dengan 'g', jarak tempuh 's' menjadi ketinggian 'h' dan karena tidak memiliki kecepatan awal maka 'vo' = 0
Rumusnya :
vt = g.t
h = 1/2.g.t^2
t^2 = 2.h/g
vt^2 = 2.g.h
Gerak jatuh bebas ada juga yang diberi kecepatan awal contohnya saat mendribling bola basket. Jadi rumus gerak lurus berubah beraturannya cuma dirubah percepatannya saja menjadi grafitasi dan jarak tempuh menjadi ketinggian.
Rumusnya :
vt = vo + g.t
h = vo.t + 1/2.g.t^2
vt^2 = vo^2 + 2.g.h
Keterangan :
^ = dipangkatkan
h = ketinggian (m)
g= grafitasi (m/s^2)
t = waktu (s)
vo = kecepatan akhir (m/s)
vt = kecepatan awal (m/s)
Sekian penjelasan dari saya, saya kira rumus tersebut mudah untuk dipahami. Seperti biasa saya berkesempatan membuat programnya yang bisa kalian unduh disini atau baca selengkapnya untuk melihat sourcenya.
#include <stdio.h>main()
{
float a,b,c,d,e,f,g;
int i,j;
char z[2],y,x,v,w,u,t,s;
printf("Gerak Jatuh Bebas\n\nh = ketinggian\ng = gravitasi\nt = waktu\nvt = kecepatan akhir\nvo = kecepatan awal\n\n");
cp:
printf("Ditanyakan [h/g/t/vt/vo] = ");
scanf("%s",&z);
printf("\ndengan kecepatan awal [y/t] = ");
scanf("\n%c",&s);
printf("\nDiketahui\n");
if((strcmp (z, "g") == 0)&&s=='y')
{
cp1:
printf("1 = s, vo, t\n2 = vt, vo, t\n3 = vt, vo, s\n\npilih salah satu [1/2/3] = ");
scanf("\n%c", &y);
if(y=='1')
{
printf("\ns = ");
scanf("%f", &c);
printf("vo = ");
scanf("%f", &e);
printf("t = ");
scanf("%f", &b);
f=(2*(c-(e*b)))/(b*b);
}
else if(y=='2')
{
printf("\nvt = ");
scanf("%f", &d);
printf("vo = ");
scanf("%f", &e);
printf("t = ");
scanf("%f", &b);
f=(d-e)/b;
}
else if(y=='3')
{
printf("\nvt = ");
scanf("%f", &d);
printf("vo = ");
scanf("%f", &e);
printf("s = ");
scanf("%f", &c);
f=((d*d)-(e*e))/(2*c);
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp1;
}
}
else if((strcmp (z, "t") == 0)&&s=='y')
{
cp2:
printf("1 = s, vo, a\n2 = vt, vo, a\n\npilih salah satu [1/2] = ");
scanf("\n%c", &x);
if(x=='1')
{
f=0;
printf("\ns = ");
scanf("%f", &c);
printf("vo = ");
scanf("%f", &e);
printf("a = ");
scanf("%f", &a);
while(i>(c*-1))
{
while(j<c)
{
if((i*j)==(-1*(2*c)/a)&&(i+j)==(2*e)/a)
{f=i*-1;}
j=j+1;
}
j=1;
i=i-1;
}
g=f;
j=1;
i=-1;
}
else if(x=='2')
{
printf("\nvt = ");
scanf("%f", &d);
printf("vo = ");
scanf("%f", &e);
printf("a = ");
scanf("%f", &a);
f=(d-e)/a;
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp2;
}
}
else if((strcmp (z, "h") == 0)&&s=='y')
{
cp3:
printf("1 = vo, t, a\n2 = vt, vo, a\n\npilih salah satu [1/2] = ");
scanf("\n%c", &v);
if(v=='1')
{
printf("\na = ");
scanf("%f", &a);
printf("vo = ");
scanf("%f", &e);
printf("t = ");
scanf("%f", &b);
f=((e*b)+(a*b*b))/2;
}
else if(v=='2')
{
printf("\na = ");
scanf("%f", &a);
printf("vt = ");
scanf("%f", &d);
printf("vo = ");
scanf("%f", &e);
f=((d*d)-(e*e))/2*a;
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp3;
}
}
else if((strcmp (z, "vt") == 0)&&s=='y')
{
cp4:
printf("1 = vo, t, a\n2 = vo, s, a\n\npilih salah satu [1/2] = ");
scanf("\n%c", &w);
if(w=='1')
{
printf("\na = ");
scanf("%f", &a);
printf("t = ");
scanf("%f", &b);
printf("vo = ");
scanf("%f", &e);
f=(e*e)+(a*b);
}
else if(w=='2')
{
printf("\na = ");
scanf("%f", &a);
printf("s = ");
scanf("%f", &c);
printf("vo = ");
scanf("%f", &e);
f=sqrt((e*e)+(2*a*c));
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp4;
}
}
else if((strcmp (z, "vo") == 0)&&s=='y')
{
cp5:
printf("1 = a, vt, t\n2 = s, a, t\n3 = vt, a, s\n\npilih salah satu [1/2/3] = ");
scanf("\n%c", &u);
if(u=='1')
{
printf("\na = ");
scanf("%f", &a);
printf("vt = ");
scanf("%f", &d);
printf("t = ");
scanf("%f", &b);
f=d-(a*b);
}
else if(u=='2')
{
printf("\na = ");
scanf("%f", &a);
printf("s = ");
scanf("%f", &c);
printf("t = ");
scanf("%f", &b);
f=((c-(a*b*b)/2))/2;
}
else if(u=='3')
{
printf("\na = ");
scanf("%f", &a);
printf("s = ");
scanf("%f", &c);
printf("vt = ");
scanf("%f", &d);
f=sqrt((d*d)-(2*a*c));
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp5;
}
}
else if((strcmp(z,"t")==0)&&s=='t')
{
cp6:
printf("1 = vt, g\n2 = h, g\n\npilih salah satu [1/2] = ");
scanf("\n%c", &y);
if(y=='1')
{
printf("\nvt = ");
scanf("%f", &d);
printf("g = ");
scanf("%f", &a);
f=d/a;
}
else if(y=='2')
{
printf("\nh = ");
scanf("%f", &c);
printf("g = ");
scanf("%f", &a);
f=sqrt((2*c)/a);
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp6;
}
}
else if((strcmp(z,"g")==0)&&s=='t')
{
cp7:
printf("1 = vt, t\n2 = h, t\n3 = vt, h\n\npilih salah satu [1/2/3] = ");
scanf("\n%c", &y);
if(y=='1')
{
printf("\nvt = ");
scanf("%f", &d);
printf("t = ");
scanf("%f", &b);
f=d/b;
}
else if(y=='2')
{
printf("\nh = ");
scanf("%f", &c);
printf("t = ");
scanf("%f", &b);
f=(2*c)/(b*b);
}
else if(y=='3')
{
printf("\nvt = ");
scanf("%f", &d);
printf("h = ");
scanf("%f", &c);
f=(d*d)/(2*c);
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp7;
}
}
else if((strcmp(z,"vt")==0)&&s=='t')
{
cp8:
printf("1 = g, t\n2 = g, h\n\npilih salah satu [1/2] = ");
scanf("\n%c", &y);
if(y=='1')
{
printf("\ng = ");
scanf("%f", &a);
printf("t = ");
scanf("%f", &b);
f=a*b;
}
else if(y=='2')
{
printf("\ng = ");
scanf("%f", &a);
printf("h = ");
scanf("%f", &c);
f=sqrt(2*a*c);
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp8;
}
}
else if((strcmp(z,"h")==0)&&s=='t')
{
cp9:
printf("1 = g, t\n2 = vt, g\n\npilih salah satu [1/2] = ");
scanf("\n%c", &y);
if(y=='1')
{
printf("\ng = ");
scanf("%f", &a);
printf("t = ");
scanf("%f", &b);
f=(a*b*b)/2;
}
else if(y=='2')
{
printf("\nvt = ");
scanf("%f", &d);
printf("g = ");
scanf("%f", &a);
f=d*d/(2*a);
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp9;
}
}
else
{
printf("\npilihan itu tidak ada\n\n");
goto cp;
}
if(g==0)
{
printf("\nHasil tak terdifinisi\n");
}
else
{
printf("\nMaka %s = %f\n",z, f);
}
cp10:
printf("\nMau hitung ulang [y/t] = ");
scanf("\n%c", &t);
switch(t)
{
case 'y' : printf("\n");goto cp;break;
case 't' : printf("\nTerima kasih dan sampai jumpa ^_^");break;
default : printf("\nPilihan itu tidak ada\n");goto cp10;break;
}
}