Gerak parabola merupakan gerak benda dengan lintasan berbentuk parabola (setengah lingkaran). Gerak parabola adalah gabungan dari 2 buah jenis gerakan yaitu Gerak Lurus Beraturan (GLB) yang arahnya mendatar dan Gerak Lurus Berubah Beraturan (GLBB) yang arahnya vertikal. Gerak vertikal dipengaruhi oleh percepatan gravitasi sehingga kecepatannya akan selalu berubah .Untuk membuat GUI gerak parabola. Maka pertama kita mengetikan "guide" di commond windows. sehingga muncul tampilan seperti dibawah ini:
Selanjutnya Klik ok. Kemudian pilih button group untuk membuat tampilan input dan output. Sehingga tampilanya seperti berikut:
Selanjutnya klik ststistic Text dan rubah inputan dan output di variable string. maka tampilanya seperti dibawah ini:
Selanjutnya klik edit text. Kemudian untuk kolom string kita kosongkan semuanya. Nah disini kita akan membuat callback program. untuk kec_awal pada kolom Tag kita isi dg v0, untuk sudut pada kolom Tag kita isi dg sudut, untuk waktu pada kolom Tag kita isi dg waktu, untuk gravitasi pada kolom Tag kita isi dg gravitasi, untuk kec_akhir pada kolom Tag kita isi dg velocity, untuk x pada kolom Tag kita isi dg px, untuk y pada kolom Tag kita isi dg py, untuk xmax pada kolom Tag kita isi dg xmax dan untuk ymax pada kolom Tag kita isi dg ymax. maka tampilanya seperti berikut:
Kemudian selanjutnya klik axes. kemudian ganti axes1 menjadi grafik pada kolom Tag. Seperti tampilan dibawah ini:
Kemudian selanjutnya klik pushbutton. buat dua pushbutton. satu untuk hitung satu lagi untuk exit. Untuk pushbutton pertama kita ubah string sama tag dengan kata hitung. begitu juga exit: Untuk Tampilan bisa dilihat seperti dibawah ini:
Setelah beres. Kemudian klik Run untuk mejalankan sistem. Kemudian save. setelah itu hasil GUI anda close. kemudian anda masukan source code pada function Hitung_Callback(hObject, eventdata, handles) sebagai berikut:
proyek=guidata(gcbo);
v0=str2double(get(proyek.v0,'String'));
sudut=str2double(get(proyek.sudut,'String'));
waktu=str2double(get(proyek.waktu,'String'));
gravitasi=str2double(get(proyek.gravitasi,'String'));
v0x=v0*cos(sudut*pi/180);
v0y=v0*sin(sudut*pi/180);
vy=v0y-gravitasi*waktu;
tx=2*v0*sin(sudut*pi/180)/gravitasi;
if (waktu>tx)
msgbox('waktu melebihi maksimal,inputkan nilai waktu yang lain');
else
v=sqrt(v0x^2+vy^2);
set(proyek.velocity,'String',num2str(v));
x=v0x*waktu;
y=v0y*waktu-0.5*gravitasi*(waktu^2);
tinggi=v0^2*((sin(sudut*pi/180))^2)/(2*gravitasi);
jauh=v0^2*sin(2*sudut*pi/180)/gravitasi;
set (proyek.py,'String',num2str(y));
set (proyek.px,'String',num2str(x));
set(proyek.ymax,'String',num2str(tinggi));
set(proyek.xmax,'String',num2str(jauh));
xx=0:x;
yy=xx*(tan(sudut*pi/180))-0.5*gravitasi*(xx.^2)/(v0*cos(sudut*pi/180))^2;
for i=1:x
axes(handles.grafik);
plot(xx(i),yy(i),'*','linewidth',2);
axis([0 (jauh+5) 0 (tinggi+5)]);
grid on
pause(0.01);
end
axes(handles.grafik);
plot(xx,yy,'*','linewidth',2);
axis([0 (jauh+5) 0 (tinggi+5)]);
grid on
end
Setelah memasukan source code tersebut. kemudian anda Run source code tersebut pada file editor. Sehingga muncul tampilan
Selanjutnya kita isi input sesuai yang kita inginkan. Kemudian kita klik Hitung maka akan muncul tampilan seperti ini:
1 komentar:
permisi, numpang nanya. code untuk tombol keluarnya bagaimana? dan seandainya ditambahkan satu tombol lagi, misalkan tombol reset, bagaimana codenya? terimakasih.
Dan terimakasih pula atas artikel yang sangat membantu ini. benar-benar bermanfaat :)
Posting Komentar