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.