Visualisasi Materi Fisika Pada Pokok Bahasan Hukum Newton

advertisement
Visualisasi Materi Fisika Pada Pokok Bahasan Hukum Newton Tentang Gerak
Dengan Menggunakan Bahasa Pemrograman Turbo C+
Drs. Wagito Guntoro, M.PFis
Email : [email protected]
Abstrak
Kata Kunci : Hukum Newton, GLB, GLBB, Turbo C+
Materi pelajaran fisika oleh sebagian besar siswa SMA/MA masih dianggap menyulitkan
dan abstrak. Memang tidak bisa disalahkan sepenuhnya apabila sebagian besar siswa
berpendapat demikian. Oleh karena itu, kita sebagai guru mempunyai kewajiban untuk kreatif
dan berinovasi menciptakan media pembelajaran yang dapat membuat siswa memahami materi
fisika yang masih dianggap abstrak tersebut supaya lebih riil sesuai dengan kehidupan nyata
sehari-hari. Media pembelajaran yang digunakan bisa berupa alat peraga maupun media
visualisasi multimedia yaitu komputer. Pada materi fisika Hukum Newton tentang gerak yang
akan dibahas adalah GLB dan GLBB dengan menggunakan media pembelajaran berupa visualisasi
materi fisika bahasa pemroprograman Turbo C+. Dari hasil visualisasi dengan komputer tersebut
diharapkan siswa dapat melihat materi fisikan akan lebih riil. Dengan demikian, materi fisika
yang tadinya dirasa masih abstrak akan menjadi lebih mudah dipahami.
a. Latar Belakang
Telah diketahui bersama, di kalangan
siswa SMA/MA telah berkembang kesan yang
kuat bahwa pelajaran fisika merupakan
pelajaran yang sulit untuk dipahami dan
kurang menarik. Salah satu penyebabnya
adalah kurangnya minat dan motivasi untuk
mempelajari fisika dengan senang hati,
merasa terpaksa atau dianggap suatu
kewajiban yang memberatkan. Hal tersebut
merupakan akibat kurangnya pemahaman
tentang hakikat dan kemanfaatan dari
pelajaran fisika.
Tidak sedikit siswa yang merasa stres
ketika akan mengikuti pelajaran fisika.
Hasil-hasil
evaluasi
belajar
pun
menunjukkan bahwa nilai rata-rata kelas di
raport untuk pelajaran fisika sering kali
merupakan nilai yang terendah dibandingkan
dengan pelajaran-pelajaran yang lain. Tanpa
disadari, para pendidik atau guru turut
memberikan kontribusi terhadap faktor yang
menyebabkan kesan siswa tersebut di atas.
Kesalahan-kesalahan
yang
cenderung
dilakukan para guru, khususnya guru fisika
adalah sebagai berikut:
1. Seringkali fisika disajikan hanya sebagai
kumpulan rumus belaka yang harus
dihafal mati oleh siswa, hingga akhirnya
ketika evaluasi belajar kumpulan rumus
tersebut bercampur aduk dan menjadi
kusut di benak siswa.
2. Dalam menyampaikan materi kurang
memperhatikan proporsi materi dan
sistematika penyampaian, serta kurang
menekankan pada konsep dasar, sehingga
terasa sulit bagi siswa.
3. Kurangnya variasi dalam pengajaran serta
jarangnya digunakan alat bantu yang
dapat memperjelas gambaran siswa
tentang materi yang dipelajari.
4. Kecenderungan
untuk
mempersulit,
bukannya mempermudah. Ini sering
dilakukan agar siswa tidak memandang
remeh pelajaran fisika dan pengajar atau
guru fisika.
Supaya para siswa mengenal dan
memahami konsep-konsep dan hukumhukum fisika secara lebih mandalam, tentu
dalam pembelajaran fisika hendaknya
bervariasi antara penyampaian teori,
pelaksanaan praktikum atau pengamatan
serta latihan pengerjaan soal-soal. Kendala
utama pelaksanaan praktikum adalah tidak
tersedianya peralatan laboratorium yang
memadai. Perlu diketahui bahwa masih
banyak sekolah SMA/MA yang belum atau
tidak mempunyai peralatan laboratorium
yang memadai, sehingga sering dijumpai
para guru hanya menyampaikan teori
sekedarnya dan banyak latihan soal tanpa
pemahaman konsep yang memadai (sekedar
memenuhi tuntutan dan target kurikulum).
Untuk mengatasi kendala-kendala yang
menghambat penyampaian konsep fisika
secara
memadai,
perlulah
difikirkan
pemakaian media pembelajaran berupa
komputer. Dengan kemampuan komputer
memvisualisasikan fenomena fisika yang
lebih baik dan relatif tidak terlalu
membutuhkan waktu yang panjang, maka
penggunaan komputer dengan konsep multi
media dalam pembelajaran fisika adalah
salah satu cara yang dapat ditempuh untuk
mengatasi
permasalahan
pembelajaran
fisika. Oleh karena itu, berdasarkan
permasalahan
yang
dihadapi
dalam
penyampaian konsep fisika kepada siswa,
maka perlu memvisualisasi materi pelajaran
fisika
dengan
menggunakan
bahasa
pemrograman Turbo C+. Adapun materi yang
akan divisualisasi pada bahasan kali ini
adalah materi Hukum Newton tentang gerak.
b. Ruang Lingkup
Pembuatan software ini memang
dirancang untuk membantu pengajar/guru
dalam menyampaikan konsep-konsep fisika
supaya lebih riil, sebagai pengganti kegiatan
praktek laboratorium. Konsep-konsep fisika
yang akan divisualisasikan dan disimulasikan
pada pembahasan ini hanya konsep-konsep
fisika mengenai Hukum Newton tentang
gerak yaitu meliputi :
• Gerak sebuah benda pada bidang datar
licin (tanpa gesekan) :
- gerak lurus beraturan (glb)
- gerak lurus berubah beraturan (glbb)
• Gerak sebuah benda pada bidang datar
tidak licin (dengan gesekan) :
-gerak dengan percepatan
-gerak dengan perlambatan
c. Kajian teori tentang bahasa pemrograman
Turbo C+.
Media komputer bisa dimanfaatkan
untuk menyelesaikan berbagai masalah.
Tetapi dalam masalah ini komputer dipakai
untuk membantu memvisualisasikan dan
mensimulasikan materi pelajaran fisika,
supaya
konsep-konsep
fisika
yang
disampaikan oleh guru bisa dipahami dan
dimengerti oleh para siswa dengan lebih
baik. Bahasa pemrograman yang dipakai
adalah Turbo C+. Bahasa Turbo C+
merupakan suatu bahasa komputer yang
telah banyak dipakai terutama di daratan
Amerika. Dengan bahasa Turbo C+, orang
telah dapat menciptakan berbagai paket
program terkenal dan bahkan sistem operasi
komputer. Bahasa Turbo C+ berada dalam
tingkatan menengah, artinya Turbo C+ bukan
bahasa tingkat rendah dan juga bukan
bahasa tingkat tinggi. Dengan demikian
Turbo C+ tidaklah semudah bahasa tingkat
tinggi seperti BASIC dan FORTRAN. Bahasa
Turbo C+ lebih mirip dengan bahasa Pascal.
Meskipun demikian, jika telah menguasai
salah satu bahasa tingkat tinggi tersebut,
maka tidaklah terlalu sulit untuk menguasai
bahasa Turbo C+ ini.
d. Kajian teori tentang konsep-konsep
Hukum Newton tentang gerak.
1. Gerak lurus beraturan (glb) merupakan
gerak pada lintasan lurus dengan kecepatan
tetap/ konstan.
v=
∆x
,maka ∆x = v . ∆t
∆t
Bila posisi awal benda adalah xo , maka
x - x o = v . ∆t , sehingga x = x o + v . ∆t
Dengan : v = kecepatan rata-rata (m/s)
∆t = selang waktu (s)
∆x = perpindahan (m)
2. Gerak lurus berubah beraturan (glbb)
merupakan gerak pada lintasan lurus dengan
kecepatan
berubah
terhadap
waktu
sedangkan percepatannya tetap/konstan.
a=
∆v
,maka ∆v = a.∆t
∆t
Bila kecepatan awal benda v o dan
kecepatan benda setelah bergerak selama t
adalah v t , maka : v t - v o = a t , sehingga
vt = vo + a t .
Jika benda memulai gerakan di xo pada saat
t=0 dan posisinya adalah x pada saat t,
perpindahan ∆x = x - x o diberikan oleh :
∆x = v . ∆t , dengan
∆x = v . t
∆x = v . (t - 0) ,maka
Untuk percepatan konstan, kecepatan
berubah secara linear terhadap waktu dan
kecepatan rata-rata adalah nilai tengah
kecepatan awal dan kecepatan akhir. Jika
v o adalah kecepatan awal dan v t adalah
kecepatan akhir, maka kecepatan rata-rata :
( vo + v t )
∆x = v . t = 12 ( vo + v t ) t
v=
1
2
Jika posisi awal adalah xo ,maka setelah
waktu t : ( x t -x o ) = 12 ( vo +(vo +at) ) t ,sehingga:
x t = x o + vo t +
1
2
at 2
3. Hukum-hukum Newton
- Hukum I Newton :
Dalam kerangka inersia, benda akan tetap
diam atau bergerak lurus beraturan, kecuali
jika ∑F≠0.
- Hukum II Newton :
dp d(mv)
dv dm
F=
=
=m
+v
dt
dt
dt
dt
Bila m tetap terhadap waktu, maka
1. Gerak sebuah benda pada bidang datar
licin (tanpa gesekan)
• Gerak lurus beraturan ( glb)
Input :
Kecepatan benda (v)
= ….
Waktu untuk bergerak (t) = ….
Output :
Jarak yang ditempuh benda (x) = ….
Visualisasi gerak benda :
dm
=0,
dt
dv
sehingga : F= m
dt
atau F=ma , dan bila lebih dari satu gaya
maka: ΣF=Σma
- Hukum III Newton : Faksi = -Freaksi
4. Gaya gesekan
- Benda diam :
ΣF = 0
F - fs = 0
fs = F
- Benda tepat akan bergerak :
ΣF = 0
F-f smax = 0
F = f smax
dengan : f s max = µ s .N
- Benda bergerak : ΣF = ma
F-f k = ma
dengan : f k = µ k .N
e. Hasil Yang Diharapkan
Hasil visualisasi Hukum Newton
tentang gerak dengan menggunakan bahasa
pemrograman Turbo C+ adalah sebagai
berikut :
• Gerak lurus berubah beraturan (glbb)
dengan konsep kinematika
Input :
Kecepatan awal benda (vo) = ….
Percepatan benda (a)
= ….
Waktu tempuh (t)
= ….
Output :
Kecepatan akhir benda (vt)
= ….
Jarak yang ditempuh benda (x) = ….
Visualisasi gerak benda :
• Gerak lurus berubah beraturan (glbb)
dengan konsep dinamika (ada gaya sebagai
penyebab percepatan)
Input :
Massa benda (m)
= ….
Gaya yang bekerja pada benda (F) = ….
Sudut gaya terhadap horisontal (α) = ….
Kecepatan awal benda (vo)
= ….
Waktu tempuh (t)
= ….
Output :
Besar gaya arah horisontal (Fx)
= ….
Percepatan benda (a)
= ….
Kecepatan akhir benda (vt)
= ….
Jarak yang ditempuh benda (x)
= ….
Visualisasi gerak benda :
• Gerak lurus berubah beraturan (glbb)
dengan perlambatan
Input :
Massa benda (m)
= ….
Kecepatan gerak benda (vo)
= ….
Gaya pengereman (F)
= ….
Sudut gaya terhadap horisontal (α) = ….
Output :
Besar gaya arah horisontal (-Fx)
= ….
Perlambatan benda (a)
= ….
Kecepatan akhir benda (vt)
= ….
Jarak yang ditempuh benda (x)
= ….
Waktu sampai benda berhenti (t) = ….
Visualisasi gerak benda :
• Gerak sebuah benda pada bidang datar
tidak licin ( dengan gesekan )
Input :
Massa benda (m)
= ….
Gaya yang bekerja pada benda (F) = ….
Sudut gaya terhadap horisontal (α) = ….
Koefisien gesekan statis (µs)
= ….
Koefisien gesekan kinetis (µk)
= ….
Kecepatan awal benda (vo)
= ….
Waktu tempuh (t)
= ….
Output :
Besar gaya arah horisontal (Fx)
= ….
Gaya gesekan statis maks (fsm)
= ….
Gaya gesekan kinetis (fk)
= ….
Percepatan benda (a)
= ….
= ….
Kecepatan akhir benda (vt)
Jarak yang ditempuh benda (x)
= ….
Visualisasi gerak benda :
f. Hasil visualisasi dan Program Turbo C+
(Laptop
Laptop atau PC yang digunakan adalah
dengan program Windows XP) :
1. GERAK LURUS BERATURAN (GLB)
Sebagai variabel masukan yang dapat
diubah-ubah
ubah sesuai dengan kehendak kita
adalah kecepatan benda dan waktu tempuh,
sedangkan hasil atau outputnya adalah jarak
yang ditempuh serta grafik hubungan v-t
v dan
grafik hubungan s-t,
t, seperti nampak pada
gambar berikut :
Adapun program Turbo C+-nya
nya adalah
sebagai berikut:
#include
#include
#include
#include
#include
#include
<graphics.h>
<stdlib.h>
<stdio.h>
stdio.h>
<conio.h>
<math.h>
<dos.h>
int main(void)
{
int gdriver = DETECT, gmode,
errorcode;
initgraph(&gdriver, &gmode,
"D:\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error:
error
%s\n",
n", grapherrormsg(errorcode));
printf("Press any key to
halt:");
getch();
exit(1);
}
//geraklurusberaturan
GLB:
float v,t,x,xt;
char pil1;
clrscr();
cleardevice();
setcolor(BROWN);
setfillstyle(2,BROWN);
rectangle(0,241,640,290);
floodfill(300,265,BROWN);
setcolor(13);
setfillstyle(1,13);
rectangle(0,210,50,240);
floodfill(25,225,13);
printf("INPUT DATA GLB (Gerak
Lurus Beraturan) :\n");
:
printf("Kecepatan benda (v)
= ");scanf("%f",&v);
printf("Waktu untuk bergerak (t)
= ");scanf("%f",&t);
nf("%f",&t);
if(v<=0 || t<=0)
{
printf("\n\n");
printf("DATA SALAH !\n");
!
printf("Masukkan harga v>0 dan
t>0.");
}
else
{
setcolor(YELLOW);
line(100,320,100,450);
line(100,450,200,450);
line(400,320,400,450);
line(400,450,500,450);
settextstyle(0,0,1);
outtextxy(100,305,"Grafik: vv
t");
outtextxy(400,305,"Grafik: xx
t");
outtextxy(90,320,"v");
outtextxy(205,450,"t");
outtextxy(390,320,"x");
outtextxy(505,450,"t");
setcolor(WHITE);
outtextxy(550,460,"Tekan
ENTER");
getch();
setcolor(BLACK);
outtextxy(550,460,"Tekan
ENTER");
xt=v*t;
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,210,x+50,240);
floodfill(x+25,225,13);
putpixel(100+(x*100/600),450
putpixel(100+(x*100/600),450v,13);
putpixel(400+(x/v),450
putpixel(400+(x/v),450(x*130/600),13);
sound(500);delay(100/v);nosound()
;
setcolor(BLACK);
line(x-1,210,x-1,240);
1,240);
}
printf("\n\n");
printf("OUTPUT ATAU HASIL :\n");
:
printf("Jarak yang ditempuh
benda (x) = %0.2f",xt);
}
printf("\n\n\n\n\n\n\n\
\n\n\n\n\n\
n\n\n\n\n\n\n\n\n\n\n");
n");
printf("Mau
tf("Mau coba lagi (y/t) ? :
");scanf("%s",&pil1);
if(pil1=='Y'||pil1=='y')
{goto GLB;}
closegraph();
return 0;
}
2. GLBB TANPA GAYA PENYEBAB
Sebagai variabel masukan yang
nilainya
dapat
diubah-ubah
ubah
adalah
kecepatan awal benda, percepatan benda,
dan waktu tempuh benda, sedangkan hasil
yang ditampilkan adalah kecepatan akhir
benda, jarak yang ditempuh dan grafik
hubungan a-t,
t, grafik hubungan v-t,
v
serta
grafik hubungan s-tt seperti nampak pada
gambar di bawah ini.
Adapun program Turbo C+-nya
C+
adalah
sebagai berikut :
#include
#include
#include
#include
#include
#include
<graphics.h>
<stdlib.h>
<stdio.h>
<conio.h>
<math.h>
<dos.h>
int main(void)
{
int gdriver = DETECT, gmode,
errorcode;
initgraph(&gdriver, &gmode,
"D:\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error:
%s\n",
n", grapherrormsg(errorcode));
printf("Press any key to
halt:");
getch();
exit(1);
}
//glbbkinematika
GLBB1:
float v0,a,t,vt,xt,x;
char pil2;
clrscr();
cleardevice();
setcolor(BROWN);
setfillstyle(2,BROWN);
rectangle(0,241,640,290);
floodfill(300,265,BROWN);
setcolor(13);
setfillstyle(1,13);
rectangle(0,210,50,240);
floodfill(25,225,13);
printf("INPUT DATA GLBB (Gerak
Lurus Berubah Beraturan) :\n");
printf("Kecepatan awal benda (vo)
= ");scanf("%f",&v0);
printf("Percepatan benda (a)
= ");scanf("%f",&a);
printf("Waktu tempuh benda (t)
= ");scanf("%f",&t);
vt = v0+a*t;
xt = v0*t+0.5*a*t*t;
if(v0<=0 && a<=0)
{
printf("\n\n");
printf("DATA SALAH !\n");
printf("BENDA TIDAK DAPAT
BERGERAK.\n\n");
}
else
{
setcolor(YELLOW);
line(50,320,50,450);
line(50,450,150,450);
line(250,320,250,450);
line(250,450,350,450);
line(450,320,450,450);
line(450,450,550,450);
settextstyle(0,0,1);
outtextxy(50,305,"Grafik: a-t");
outtextxy(250,305,"Grafik: vt");
outtextxy(450,305,"Grafik: xt");
outtextxy(40,320,"a");
outtextxy(155,450,"t");
outtextxy(240,320,"v");
outtextxy(355,450,"t");
outtextxy(440,320,"x");
outtextxy(555,450,"t");
setcolor(WHITE);
settextstyle(0,0,1);
outtextxy(550,460,"Tekan
ENTER");
getch();
setcolor(BLACK);
outtextxy(550,460,"Tekan
ENTER");
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,210,x+50,240);
floodfill(x+25,225,13);
if(a==0)
{
putpixel(50+(x*100/600),450a,13);
putpixel(250+x*100/600,450v0,13);
putpixel(450+(x/vt),450(x*130/600),13);
sound(500);delay(100/vt);nosound(
);
}
else
{
putpixel(50+(x*100/600),450a,13);
putpixel(250+x/6,450(v0+x*(130-v0)/600),13);
putpixel(450+(x*100/600),450(x*x*130/(xt*600)),13);
sound(500);delay(1000/(x+vt));nos
ound();
}
setcolor(BLACK);
line(x-1,210,x-1,240);
}
printf("\n");
printf("OUTPUT ATAU HASIL :\n");
printf("Kecepatan akhir (vt)
= %0.2f\n",vt);
printf("Jarak yang ditempuh (xt)
= %0.2f\n\n",xt);
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\
n\n\n\n\n\n\n\n");
printf("Mau coba lagi (y/t) ? :
");scanf("%s",&pil2);
if(pil2=='Y'||pil2=='y')
{goto GLBB1;}
closegraph();
return 0;
}
3. GLBB DENGAN GAYA PENYEBAB
Sebagai variabel masukan yang
nilainya dapat diubah-ubah adalah massa
benda, gaya yang bekerja pada benda, sudut
gaya terhadap horisontal, kecepatan awal
benda, dan waktu tempuh benda, sedangkan
hasil yang ditampilkan adalah besar gaya
arah
horisontal,
percepatan
benda,
kecepatan akhir benda, jarak yang ditempuh
dan grafik hubungan a-t, grafik hubungan vt, serta grafik hubungan s-t seperti nampak
pada gambar di bawah ini.
nya adalah
Adapun program Turbo C+-nya
sebagai berikut :
#include
#include
#include
#include
#include
#include
<graphics.h>
<stdlib.h>
<stdio.h>
<conio.h>
<math.h>
<dos.h>
int main(void)
{
int gdriver = DETECT, gmode,
errorcode;
initgraph(&gdriver, &gmode,
"D:\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error:
%s\n",
n", grapherrormsg(errorcode));
printf("Press any key to
halt:");
getch();
exit(1);
}
//glbbdinamikapercepatan
GLBB2:
float F,m,Fx,Fy,a,A,v0,vt,t,x,xt;
char pil3;
clrscr();
cleardevice();
setcolor(BROWN);
setfillstyle(2,BROWN);
rectangle(0,261,640,290);
floodfill(300,265,BROWN);
setcolor(13);
setfillstyle(1,13);
rectangle(0,230,50,260);
floodfill(25,245,13);
printf("INPUT DATA GLBB (bidang
licin) :\n");
printf("Besar massa benda (m)
= ");scanf("%f",&m);
canf("%f",&m);
printf("Gaya yang bekerja pada
benda (F)
=
");scanf("%f",&F);
printf("Sudut gaya terhadap
horisontal (A<90) =
");scanf("%f",&A);
if(m==0 || A>=90)
{
printf("\n\n");
printf("DATA SALAH !\n");
!
printf("Massa benda harus m>0
dan A<90.\n\n\n\n
n\n");
}
else
{
setcolor(YELLOW);
line(51,245,(51+50*cos(A/57.3)),(
245-50*sin(A/57.3)));
50*sin(A/57.3)));
printf("Kecepatan awal benda
(vo)
=
");scanf("%f",&v0);
printf("Waktu yang akan ditempuh
(t)
= ");scanf("%f",&t);
Fx= F*cos(A/57.3);
a = Fx/m;
vt= v0+a*t;
xt= v0*t+0.5*a*t*t;
if(v0==0 && a==0)
{
printf("\n\n");
n");
printf("DATA SALAH !\n");
!
printf("Benda tidak bergerak
karena vo=0 dan a=0.\n\n\n");
a=0.
}
else
{
setcolor(YELLOW);
line(50,320,50,450);
line(50,450,150,450);
50,450,150,450);
line(250,320,250,450);
line(250,450,350,450);
line(450,320,450,450);
line(450,450,550,450);
settextstyle(0,0,1);
outtextxy(50,305,"Grafik: aa
t");
outtextxy(250,305,"Grafik: vv
t");
outtextxy(450,305,"Grafik: xx
t");
outtextxy(40,320,"a");
outtextxy(155,450,"t");
outtextxy(240,320,"v");
outtextxy(355,450,"t");
outtextxy(440,320,"x");
outtextxy(555,450,"t");
setcolor(WHITE);
settextstyle(0,0,1);
outtextxy(550,460,"Tekan
ENTER");
getch();
setcolor(BLACK);
line(51,245,(51+50*cos(A/57.3)),(
245-50*sin(A/57.3)));
outtextxy(550,460,"Tekan
ENTER");
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,230,x+50,260);
floodfill(x+25,245,13);
if(a==0)
{
putpixel(50+(x*100/600),450
putpixel(50+(x*100/600),450a,13);
putpixel(250+x*100/600,450
putpixel(250+x*100/600,450v0,13);
putpixel(450+(x/vt),450
putpixel(450+(x/vt),450(x*130/600),13);
sound(500);delay(200/vt);nosound(
);
}
else
{
putpixel(50+(x*100/600),450
putpixel(50+(x*100/600),450a,13);
putpixel(250+x/6,450
putpixel(250+x/6,450(v0+x*(130-v0)/600),13);
v0)/600),13);
putpixel(450+(x*100/600),450
putpixel(450+(x*100/600),450(x*x*130/(xt*600)),13);
sound(500);delay(1000/(x+vt));nos
ound();
}
setcolor(BLACK);
line(x-1,230,x-1,260);
1,260);
}
printf("\n");
printf("OUTPUT ATAU HASIL
:\n");
printf("Besar gaya arah
horisontal
al (Fx) = %0.2f\n",Fx);
%0.2f
printf("Percepatan benda (a)
= %0.2f\n",a);
printf("Kecepatan akhir (vt)
= %0.2f\n",vt);
printf("Jarak yang ditempuh
(xt)
= %0.2f\n",xt);
%0.2f
}
}
\n\n\n\n\n\n\n\n\
printf("\n\n\n\n\
n\n\n\n\n");
printf("Mau
Mau coba lagi (y/t) ? :
");scanf("%s",&pil3);
if(pil3=='Y'||pil3=='y')
{goto GLBB2;}
closegraph();
return 0;
}
4. GLBB DENGAN PERLAMBATAN:
Sebagai variabel masukan yang
nilainya dapat diubah-ubah
diubah
adalah massa
benda, gaya yang bekerja pada benda, sudut
gaya terhadap horisontal,
koefisien
gesekan statis, koefisien gesekan kinetis,
kecepatan awal benda, dan waktu tempuh
benda, sedangkan hasil yang
y
ditampilkan
adalah besar gaya arah horisontal, gaya
gesekan statis maksimum, gaya gesekan
kinetis, percepatan benda, kecepatan akhir
benda, jarak yang ditempuh dan grafik
hubungan a-t,
t, grafik hubungan v-t,
v
serta
grafik hubungan s-tt seperti nampak pada
gambar di bawah ini.
Adapun program Turbo C+-nya
nya adalah
sebagai berikut :
#include
#include
#include
#include
#include
#include
<graphics.h>
<stdlib.h>
<stdio.h>
<conio.h>
<math.h>
<dos.h>
int main(void)
{
int gdriver = DETECT, gmode,
errorcode;
initgraph(&gdriver, &gmode,
"D:\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error:
%s\n",
n", grapherrormsg(errorcode));
printf("Press any key to
halt:");
getch();
exit(1);
}
//glbbdengangesekan
GLBB4:
float
F,m,Fx,Fy,fs,fk,us,uk,a,A,v0,vt,t
,tb,x,xt;
char pil5;
clrscr();
cleardevice();
setcolor(BROWN);
setfillstyle(2,BROWN);
rectangle(0,301,640,330);
floodfill(300,315,BROWN);
setcolor(13);
setfillstyle(1,13);
tyle(1,13);
rectangle(0,300,50,270);
floodfill(25,285,13);
printf("INPUT DATA GLBB (bidang
tidak licin) :\n");
n");
printf("Besar massa benda (M)
= ");scanf("%f",&m);
printf("Gaya yang bekerja pada
benda (F)
= ");scanf("%f",&F);
printf("Sudut gaya terhadap
horisontal (A) =
");scanf("%f",&A);
setcolor(YELLOW);
line(51,285,(51+50*cos(A/57.3)),(
285-50*sin(A/57.3)));
50*sin(A/57.3)));
printf("Koefisien gesekan statis
(Us)
= ");scanf("%f",&us);
printf("Koefisien gesekan kinetis
(Uk)
= ");scanf("%f",&uk);
printf("Kecepatan awal benda (Vo)
= ");scanf("%f",&v0);
printf("Waktu yang akan ditempuh
(t)
= ");scanf("%f",&t);
setcolor(YELLOW);
line(50,350,50,450);
line(50,450,150,450);
line(250,350,250,450);
line(250,450,350,450);
line(450,350,450,450
line(450,350,450,450);
line(450,450,550,450);
settextstyle(0,0,1);
outtextxy(50,335,"Grafik: a-t");
a
outtextxy(250,335,"Grafik: v-t");
v
outtextxy(450,335,"Grafik: x-t");
x
outtextxy(40,350,"a");
outtextxy(155,450,"t");
outtextxy(240,350,"v");
outtextxy(355,450,"t");
outtextxy(440,350,"x");
,350,"x");
outtextxy(555,450,"t");
Fx= F*cos(A/57.3);
Fy= F*sin(A/57.3);
fs= us*(m*10-Fy);
Fy);
fk= uk*(m*10-Fy);
Fy);
setcolor(WHITE);
settextstyle(0,0,1);
outtextxy(550,460,"Tekan ENTER");
getch();
setcolor(BLACK);
line(51,285,(51+50*cos(A/57.3)),(
285-50*sin(A/57.3)));
50*sin(A/57.3)));
outtextxy(550,460,"Tekan ENTER");
if(Fx<=fs)
{
if(v0==0)
{
printf("\n\n");
printf("Gaya yang bekerja pada
benda (Fx)
= %0.2f\n",Fx);
printf("Gaya gesekan statis
maksimum (Fsm) = %0.2f\n\n",fs);
if(Fx<fs)
{
printf("BENDA BELUM BISA
BERGERAK KARENA Fx < Fsm\n\n");
}
if(Fx==fs)
{
printf("BENDA BELUM BISA
BERGERAK KARENA Fx = Fsm\n\n");
}
}
if(v0>0)
{
a = (Fx-fk)/m;
tb= -v0/a;
xt= -v0*v0/(2*a);
if(a==0)
{
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,270,x+50,300);
floodfill(x+25,285,13);
putpixel(50+(x*100/600),385a,13);
putpixel(250+x*100/600,450v0,13);
putpixel(450+(x/v0),450(x*100/600),13);
sound(500);delay(2*(x+1)/v0);noso
und();
setcolor(BLACK);
line(x-1,270,x-1,300);
}
}
if(a<0)
{
setcolor(BLACK);line(50,450,150,4
50);outtextxy(155,450,"t");
setcolor(YELLOW);line(50,400,150,
400);outtextxy(155,400,"t");
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,270,x+50,300);
floodfill(x+25,285,13);
putpixel(50+(x*100/600),400a,13);
putpixel(250+x/6,450v0+x*(v0/xt),13);
putpixel(450+x/6,450-(sqrt(2*a*x)+x*10/60),13);
sound(500);delay(2*(x+1)/v0);noso
und();
setcolor(BLACK);
line(x-1,270,x-1,300);
}
}
printf("\n");
printf("OUTPUT ATAU HASIL
:\n");
printf("Gaya pada arah
horisontal (Fx) = %0.2f\n",Fx);
printf("Gaya gesekan statis
(fsm)
= %0.2f\n",fs);
printf("Gaya gesekan kinetis
(fk)
= %0.2f\n",fk);
printf("Perlambatan benda (a)
= %0.2f\n",a);
printf("Waktu gerak sampai
berhenti(t) = %0.2f\n",tb);
printf("Jarak yang ditempuh (x)
= %0.2f",xt);
}
}
else
{
if(m==0 || A>90)
{
printf("\n\n");
printf("DATA SALAH !\n");
printf("Massa benda harus m>0
dan A<90.\n\n\n\n");
}
else
{
a = (Fx-fk)/m;
vt= v0+a*t;
xt= v0*t+0.5*a*t*t;
for(x=0; x<=xt; x++)
{
setcolor(13);
setfillstyle(1,13);
rectangle(x,270,x+50,300);
floodfill(x+25,285,13);
putpixel(50+(x*100/600),450a,13);
putpixel(250+x/6,450(v0+x*(100-v0)/600),13);
putpixel(450+(x*100/600),450(x*x*100/(xt*600)),13);
sound(500);delay(1000/(x+vt));nos
ound();
setcolor(BLACK);
line(x-1,270,x-1,300);
}
printf("\n");
printf("OUTPUT ATAU HASIL
:\n");
printf("Gaya pada arah
horisontal (Fx) = %0.2f\n",Fx);
printf("Gaya gesekan statis
(fsm)
= %0.2f\n",fs);
printf("Gaya gesekan kinetis
(fk)
= %0.2f\n",fk);
printf("Percepatan benda (a)
= %0.2f\n",a);
printf("Kecepatan akhir (vt)
= %0.2f\n",vt);
printf("Jarak yang ditempuh (x)
= %0.2f",xt);
}
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\
n\n");
printf("Mau coba lagi (y/t) ? :
");scanf("%s",&pil5);
if(pil5=='Y'||pil5=='y')
{goto GLBB4;}
closegraph();
return 0;
}
g. Daftar Pustaka
[1]. www.unj.ac.id/seminar/snpf2005
[2]. http://artikel.us/art05-57.html
[3]. Physics Education, Vol. 37, No. 2, March
2002, Page 101,104,108.
[4]. http://www.fisika.net.lipi.go.id
[5]. Zinsari, Ir., 1986, Bahasa Pemrograman
C, Andi Offset Yogjakarta.
[6]. Symon, R., Keith, 1971, Mechanics,
Third Edition,Addison-Wesley Publishing
Company.
[7]. Tippler, A., Paul, 1998, Fisika untuk
Sains dan Teknik, Edisi Ketiga,Jilid 1 dan
2, Penerbit Erlangga.
[8]. Halliday dan Resnick, 1985, Fisika, Edisi
Ketiga, Jilid 1 dan 2, Penerbit Erlangga.
Download