Anda di halaman 1dari 14

1

MODUL PERKULIAHAN

Komputasi
Mekanikal
GUI 2

Abstrak Sub-CPMK

Pemrograman GUI: Sub CPMK 2.2


membangun GUI; Menciptakan program Graphical User
komponen-komponen GUI; Interface (GUI)
menulis skrip program

Pendahuluan
Pada bab ini disampaikan berbagai contoh pembuatan GUI. Ditampilkan keadaan GUI
Ketika dijalankan, berkas fig dan berkas m-nya. Untuk berkas m, yang ditampilkan adalah
kode untuk inisialisasi dan callback komponen-komponennya.

Penambahan 2 Bilangan
GUI untuk menambahkan 2 bilangan.

Berkas fig

Berkas m

2021 Manajemen Energi Terbarukan


2 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
% --- Executes on button press in samadengan.
function samadengan_Callback(hObject, eventdata, handles)
% hObject handle to samadengan (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Perhitungan

% Ambil nilai dari input texts


a = str2double(get(handles.suku1,'string'));
b = str2double(get(handles.suku2,'string'));

% Penjumlahan dan ganti ke string


c=a+b;
strc=num2str(c);

% Tulis ke output text


set(handles.jumlah,'string',strc);

Akar Persamaan Kuadrat


GUI untuk menghitung akar persamaan kuadrat

Berkas fig

2021 Manajemen Energi Terbarukan


3 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Berkas m

% --- Executes on button press in hitung.


function hitung_Callback(hObject, eventdata, handles)
% hObject handle to hitung (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Mendapatkan nilai a, b, dan c


stra = get(handles.koefa,'string');
strb = get(handles.koefb,'string');
strc = get(handles.koefc,'string');

% Mengubah string menjadi numerik


a = str2num(stra);
b = str2num(strb);
c = str2num(strc);

% Menghitung akar
y1=(-b+sqrt(b^2-4*a*c))/(2*a);
y2=(-b-sqrt(b^2-4*a*c))/(2*a);

% Mengubah numerik menjadi string

2021 Manajemen Energi Terbarukan


4 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
stry1 = num2str(y1);
stry2 = num2str(y2);

% Menampilkan nilai akar


set(handles.root1,'string',stry1);
set(handles.root2,'string',stry2);

Lampu Lalu Lintas


GUI untuk mengatur lampu lalu lintas.

Berkas fig

2021 Manajemen Energi Terbarukan


5 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Berkas m

% --- Executes just before case2_1_tl is made visible.


function case2_1_tl_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to case2_1_tl (see VARARGIN)

% Choose default command line output for case2_1_tl


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

2021 Manajemen Energi Terbarukan


6 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
% UIWAIT makes case2_1_tl wait for user response (see UIRESUME)
% uiwait(handles.figure1);
set(handles.lampumerah,'BackgroundColor',[.5 0 0])
set(handles.lampukuning,'BackgroundColor',[.5 .5 0])
set(handles.lampuhijau,'BackgroundColor',[0 .5 0])

% --- Executes on button press in merah.


function merah_Callback(hObject, eventdata, handles)
% hObject handle to merah (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.lampumerah,'BackgroundColor',[1 0 0])
set(handles.lampukuning,'BackgroundColor',[.5 .5 0])
set(handles.lampuhijau,'BackgroundColor',[0 .5 0])

% --- Executes on button press in kuning.


function kuning_Callback(hObject, eventdata, handles)
% hObject handle to kuning (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.lampumerah,'BackgroundColor',[.5 0 0])
set(handles.lampukuning,'BackgroundColor',[1 1 0])
set(handles.lampuhijau,'BackgroundColor',[0 .5 0])

% --- Executes on button press in hijau.


function hijau_Callback(hObject, eventdata, handles)
% hObject handle to hijau (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.lampumerah,'BackgroundColor',[.5 0 0])
set(handles.lampukuning,'BackgroundColor',[.5 .5 0])

2021 Manajemen Energi Terbarukan


7 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
set(handles.lampuhijau,'BackgroundColor',[0 1 0])

Slider Penambahan
GUI untuk menambahkan 2 bilangan yang nilainya diatur menggunakan slider.

Berkas fig

Berkas m

% --- Executes on slider movement.


function inputa_Callback(hObject, eventdata, handles)

2021 Manajemen Energi Terbarukan


8 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
% hObject handle to inputa (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider


% get(hObject,'Min') and get(hObject,'Max') to determine
range of slider

global numa
global numb

numa = get(handles.inputa,'value');
stra = num2str(numa);
set(handles.nilaia,'string',stra)

numtambah = numa + numb;


strtambah = num2str(numtambah);
set(handles.hasil,'string',strtambah)

% --- Executes on slider movement.


function sliderb_Callback(hObject, eventdata, handles)
% hObject handle to sliderb (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider


% get(hObject,'Min') and get(hObject,'Max') to determine
range of slider

global numa
global numb

numb = get(handles.inputb,'value');
strb = num2str(numb);

2021 Manajemen Energi Terbarukan


9 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
set(handles.nilaib,'string',strb)

numtambah = numa + numb;


strtambah = num2str(numtambah);
set(handles.hasil,'string',strtambah)

Mengatur Gambar
GUI untuk memutar dan mencerminkan gambar

2021 Manajemen Energi Terbarukan


10 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Berkas fig

Berkas m

% --- Outputs from this function are returned to the command line.
function varargout = dispgambar_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

global kuda

load kuda.mat
imshow(kuda,'parent',handles.gbrori)

2021 Manajemen Energi Terbarukan


11 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
% --- Executes on button press in exe.
function exe_Callback(hObject, eventdata, handles)
% hObject handle to exe (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

global operasi kuda


kuda1=kuda';
if operasi == 1
% rotate 90deg CW
[row1,kolom1]=size(kuda1);
kuda4=kuda1(:,kolom1:-1:1);
imshow(kuda4)

else
% mirror
[row,kolom]=size(kuda);
kuda2=kuda(:,kolom:-1:1);
imshow(kuda2)
end

% --- Executes when selected object is changed in uipanel1.


function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to the selected object in uipanel1
% eventdata structure with the following fields (see
UIBUTTONGROUP)
% EventName: string 'SelectionChanged' (read only)
% OldValue: handle of the previously selected object or empty
if none was selected
% NewValue: handle of the currently selected object
% handles structure with handles and user data (see GUIDATA)
global operasi
switch get(eventdata.NewValue,'Tag') % Get Tag of selected object.

2021 Manajemen Energi Terbarukan


12 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
case 'rotate'
operasi = 1;
otherwise
operasi = 2;
end

% --- Executes during object creation, after setting all


properties.
function uipanel1_CreateFcn(hObject, eventdata, handles)
% hObject handle to uipanel1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
global operasi
operasi =1;

Daftar Pustaka
Casey, J. (2013). A MATLAB primer in four hours with practical examples. Software guide
for undergraduate students. Technological University Dublin
Dukkipati, R. V. (2010). MATLAB An Introduction with Applications. New Delhi: New Age
International (P) Ltd., Publishers.
Forbes, J. R. (2017). Matlab For Mechanical Engineering Undergraduates. Montreal:
McGill University.
Hansen, J. S. (2011). GNU Octave Beginner's Guide. Birmingham: Packt Publishing.
Linge, S, dan Langtangen, H. P. (2016). Programming for Computations –
MATLAB/Octave. New York: Springer.
Magrab, E. B., Azarm, S., Balachandran, B., Duncan, J. H., Herold, K. E., dan Walsh, G.
C. (2011). An Engineer’s Guide to MATLAB, 3rd Edition. New Jersey: Prentice Hall.
Marchand, P., dan Holland, T. (2002) Graphics and GUIs with MATLAB 3rd Edition. Boca
Raton: Chapman and Hall/CRC.
Scilab Enterprises and Gomez, C. (2013). Scilab for very beginners. Scilab Enterprises.
Simakov, S. (2005). Introduction to MATLAB Graphical User Interfaces. Maritime
Operations Division, DSTO Defence Science and Technology Organisation,

2021 Manajemen Energi Terbarukan


13 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Edinburgh, South Australia.

2021 Manajemen Energi Terbarukan


14 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai