Anda di halaman 1dari 17

GUI pt.

2
GUI
Program statika sederhana
P1

P2

a b
Tag yang digunakan

P1 = input_P1 a = input_a Va = output_Va Ha = output_Ha diag. momen = axes_M


P2 = input_P2 b = input_b Vb = output_Vb Mmax = output_Mmax diag. lintang = axes_L
diag. normal = axes_N
Callback Hitung!
% Mengambil data input
P1 = str2num(get(handles.input_P1,'string'));
P2 = str2num(get(handles.input_P2,'string'));
a = str2num(get(handles.input_a,'string'));
b = str2num(get(handles.input_b,'string'));
Callback Hitung!
Syarat pengisian data

if (isempty(P1))
set(handles.output_Va,'String',' ')
set(handles.output_Vb,'String',' ')
set(handles.output_Ha,'String',' ')
set(handles.output_Mmax,'String',' ')
msgbox('Masukkan data terlebih dahulu!', 'Peringatan', 'warn');
Callback Hitung!
elseif (isempty(P2))
set(handles.output_Va,'String',' ')
set(handles.output_Vb,'String',' ')
set(handles.output_Ha,'String',' ')
set(handles.output_Mmax,'String',' ')
msgbox('Masukkan data terlebih dahulu!', 'Peringatan', 'warn');

Dan lakukan seterusnya untuk variabel input yang lain.


Callback Hitung!
%Syarat agar nilai input bentang selalu bernilai positif
if a<=0
msgbox('Input a harus bernilai positif!', 'Error', 'error');
return
elseif b<=0
msgbox('Input b harus bernilai positif!', 'Error', 'error');
return
end
Callback Hitung!
%Perhitungan reaksi perletekan
Va = (P1*b)/(a+b);
Vb = (P1*a)/(a+b);
Ha = P2
Callback Hitung!
%Menampilkan hasil perhitungan reaksi
perletakan
set(handles.output_Va,'string',Va);
set(handles.output_Vb,'string',Vb);
set(handles.output_Ha,'string',Ha);
Freebody
%Freebody A-O (0 <= x <= a)
xAO = 0:0.01:a;
MxAO = (Va*xAO);
LxAO = Va
NxAO = Ha
Freebody
%Freebody B-O (0 <= x <= b)
xBO = 0:0.01:b
MxOB = Vb*xBO
LxOB = -Vb
NxOB = Ha
Mmax
%Momen maksimum
Mmax = Va*a;

set(handles.output_Mmax,'string',Mmax)
Bentang
LAO = 0:0.01:a
LOB = a+b:-0.01:a P1

P2

a b
Callback Hitung!
%Diagram momen
axes(handles.axes_M)
plot(LAO,MxAO,LOB,MxOB)
title('Diagram Momen')
xlabel('jarak (m)')
ylabel ('Momen (kNm)')
grid on
Callback Hitung!
%Diagram lintang
axes(handles.axes_L)
plot(LAO,LxAO,':or',LOB,LxOB,':or')
title('Diagram Lintang')
xlabel('jarak (m)')
ylabel ('gaya lintang (kN)')
grid on
Callback Hitung!
%Diagram normal
axes(handles.axes_N)
plot(LAO,NxAO,':or',LOB,NxOB,':or')
title('Diagram Normal')
xlabel('jarak (m)')
ylabel ('gaya normal (kN)')
grid on
Callback Reset
set(handles.input_P1,'string','')
set(handles.input_P2,'string','')
set(handles.input_a,'string','')
set(handles.input_b,'string','')
set(handles.output_Va,'string','')
set(handles.output_Vb,'string','')
set(handles.output_Ha,'string','')
set(handles.output_Mmax,'string','')
cla(handles.axes_M)
cla(handles.axes_L)
cla(handles.axes_N)

Anda mungkin juga menyukai