Halo sahabat semua, kali ini saya berkesempatan membuat program komputer Gerak Lurus Berubah Beraturan. (GLBB). Program ini saya buat atas dasar iseng-iseng saja. Mungkin sebagian dari kalian sudah banyak mengenal GLBB karena memang sudah diajarkan saat kelas 10. Secara singkat GLBB adalah gerak suatu objek dimana kecepatannya berubah secara beraturan.
Rumusnya adalah:
s = vo.t + 1/2.a.t^2
vt = vo + a.t
vt^2 = vo^2 + 2.a.s
Keterangan :
^ = dipangkatkan
s = jarak tempuh (m)
a = percepatan (m/s^2)
t = waktu (s)
vo = kecepatan akhir (m/s)
vt = kecepatan awal (m/s)
Sekian saja penjelasan dari saya, rumus tersebut dapat kalian kembangkan sendiri sesuai kebutuhan kalian. Program nya kalian bisa download disini dan baca selengkapnya untuk melihat sourcenya.
#include <stdio.h>
#include <string.h>
main()
{
float a,b,c,d,e,f,g;
float i=-1,j=1;
char z[2],y,x,v,w,u,t;
printf("Gerak Lurus Berubah Beraturan\n\na = percepatan (m/s^2)\nt = waktu (s)\ns = jarak tempuh (m)\nvt = kecepatan akhir (m/s)\nvo = kecepatan awal (m/s)\n\n");
cp:
printf("Ditanyakan [a/t/s/vt/vo]= ");
scanf("%s",&z);
printf("\nDiketahui\n");
if(strcmp (z, "a") == 0)
{
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)
{
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, "s") == 0)
{
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)
{
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)
{
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
{
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);
}
cp6:
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 cp6;break;
}
}
Silahkan komentar bila ada yg ditanyakan. Keritik dan saran sangat di nanti ^_^