Anda di halaman 1dari 8

Program Penghitung Volume dan Luas Balok

Laporan Responsi

Disusun Oleh :

Dwi Septiawan
(20130120077)

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH YOGYAKARTA
MEI, 2015

A. Pendahuluan
Secara sederhana, GUI adalah suatu media virtual yang dapat membuat
pengguna memberikan perintah tertentu pada komputer tanpa mengetik perintah
tersebut, namun menggunakan gambar yang tersedia. Pengguna tidak mengetikkan
perintah seperti pada komputer dengan Shell atau teks. Dengan GUI, perintah dapat
dikonversi menjadi ikon dalam layar monitor yang dapat diklik untuk memulai
fungsinya. Sebagai contoh, tentu anda familiar dengan tombol di pojok kiri bawah
pada tampilan windows, yakni tombol bertuliskan start atau logo windows itu. Segala
sesuatu yang anda lihat di Komputer anda saat ini adalah GUI.
Pada responsi praktikum kali ini, penulis menggunakan salah satu fungsi pada
matlab untuk membuat sebuah program penghitung luas dan volume balok dengan
mengggunakan fungsi guide. GUIDE atau GUI builder merupakan sebuah graphical
user interface (GUI) yang dibangun dengan obyek grafik seperti tombol (button),
kotak teks, slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya
lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu
mengetahui perintah yang ada dan bagaimana kerjanya.
GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa
pemrogram lainnya, diantaranya:
1. GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi
berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakan
GUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.
2. GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan
pemakai tidak perlu repot membuatnya sendiri.
3. Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.
4. Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan
bahasa pemrograman lainnya.

B. Penjelasan Program
Untuk responsi metode numerik dan komputasi saya membuat sebuah
program sederhana dengan menggunakan aplikasi matlab. Program tersebut adalah
program sederhana penghitung luas permukaan dan volume balok. Dalam membuat

program ini saya membuat melalui fungsi guide dengan menggabungkan beberapa
tombol dan tool berupa push button, edit text, static text, dan panel button. Dan juga
pada program ini menggunakan fungsi logika seperti fungsi if dan lain sebagainya.
Program ini menggunakan tiga masukan berupa nilai panjang, nilai lebar dan
nilai tinggi. Sedangkan untuk keluaran yaitu terdapat dua keluaran rumus. Yang
pertama adalah rumus tentang luas permukaan balok dan yang kedua adalah rumus
volume balok.
Rumus yang digunakan adalah sebagai berikut :
a) Rumus volume : V = p*l*t
b) Rumus luas permukaan : L=2*((p*l)+(p*t)+(l*t))

C. Script Program
function varargout = Proyek1(varargin)
% PROYEK1 MATLAB code for Proyek1.fig
% PROYEK1, by itself, creates a new PROYEK1 or
raises the existing
% singleton*.
%
% H = PROYEK1 returns the handle to a new
PROYEK1 or the handle to
% the existing singleton*.
%
%
PROYEK1('CALLBACK',hObject,eventData,handles,...)
calls the local
% function named CALLBACK in PROYEK1.M
with the given input arguments.
%
% PROYEK1('Property','Value',...) creates a new
PROYEK1 or raises the
% existing singleton*. Starting from the left, property
value pairs are
% applied to the GUI before Proyek1_OpeningFcn
gets called. An
% unrecognized property name or invalid value
makes property application
% stop. All inputs are passed to
Proyek1_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu.
Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help
Proyek1
% Last Modified by GUIDE v2.5 08-Jun-2015 19:00:41
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@Proyek1_OpeningFcn, ...
'gui_OutputFcn', @Proyek1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

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


function Proyek1_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 Proyek1 (see
VARARGIN)
% Choose default command line output for Proyek1
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Proyek1 wait for user response (see


UIRESUME)
% uiwait(handles.LuasVolumeBalok);

% --- Outputs from this function are returned to the


command line.
Function varargout = Proyek1_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;

% --- Executes on button press in tmbl_reset.


Function tmbl_reset_Callback(hObject, eventdata,
handles)
% hObject handle to tmbl_reset (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
selection=questdlg([Anda yakin ingin mereset semua
data ini,?],
[bertanya ],
Ya,Batal);
if strcmp(selection,Batal)
return
end

set(handles.hasil_text,String,);
set(handles.hasil,String,);
set(handles.panjang,String,);
set(handles.lebar,String,);
set(handles.tinggi,String,);
set(handles.lebar,Enable,off);
set(handles.tinggi,Enable,off);
set(handles.Volumebalok,Enable,off);
set(handles.Luasbalok,Enable,off);
set(handles.Volumebalok,Value,0);
set(handles.Luasbalok,Value,0);
% --- Executes on button press in tmbl_keluar.
Function tmbl_keluar_Callback(hObject, eventdata,
handles)
% hObject handle to tmbl_keluar (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
selection=questdlg([Anda yakin ingin menutup
aplikasi,?],
[bertanya ],
Ya,Batal,Ya);
if strcmp(selection,Batal)
return
end
close;

function panjang_Callback(hObject, eventdata, handles)


% hObject handle to panjang (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,String) returns contents of
panjang as text
%
str2double(get(hObject,String)) returns contents
of panjang as a double
panjang = str2double(get(hObject, String));
if isnan(panjang)
set(handles.lebar,Enable,off);
set(hObject,String,);
errordlg(Panjang harus diisi dengan angka!!,Ada
yang salah?);
elseif (panjang<=0)
set(handles.lebar,Enable,off);
set(hObject,String,);
errordlg(Panjang tidak boleh nol!!,Ada yang
salah?);
elseif isempty(panjang)
set(handles.lebar,Enable,off);
errordlg(Panjang tidak boleh kosong!!,Ada yang
salah?);
else
set(handles.lebar,Enable,on);
end
% --- Executes during object creation, after setting all
properties.

Function panjang_CreateFcn(hObject, eventdata,


handles)
% hObject handle to panjang (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles empty handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on
Windows.
%
See ISPC and COMPUTER.
If ispc && isequal(get(hObject,BackgroundColor),
get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,white);
end

function lebar_Callback(hObject, eventdata, handles)


% hObject handle to lebar (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,String) returns contents of lebar
as text
%
str2double(get(hObject,String)) returns contents
of lebar as a double
lebar = str2double(get(hObject, String));
if isnan(lebar)
set(handles.tinggi,Enable,off);
set(hObject,String,);
errordlg(Lebar harus diisi dengan angka!!,Ada yang
salah?);
elseif (lebar<=0)
set(handles.tinggi,Enable,off);
set(hObject,String,);
errordlg(Lebar tidak boleh nol!!,Ada yang salah?);
elseif isempty(lebar)
set(handles.tinggi,Enable,off);
errordlg(Lebar tidak boleh kosong!!,Ada yang
salah?);
else
set(handles.tinggi,Enable,on);
end
% --- Executes during object creation, after setting all
properties.
Function lebar_CreateFcn(hObject, eventdata, handles)
% hObject handle to lebar (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles empty handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on
Windows.
%
See ISPC and COMPUTER.
If ispc && isequal(get(hObject,BackgroundColor),
get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,white);
end

function tinggi_Callback(hObject, eventdata, handles)


% hObject handle to tinggi (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,String) returns contents of tinggi
as text
%
str2double(get(hObject,String)) returns contents
of tinggi as a double
tinggi = str2double(get(hObject, String));
if isnan(tinggi)
set(handles.Volumebalok,Enable,off);
set(handles.Luasbalok,Enable,off);
set(hObject,String,);
errordlg(Tinggi harus diisi dengan angka!!,Ada
yang salah?);
elseif (tinggi<=0)
set(handles.Volumebalok,Enable,off);
set(handles.Luasbalok,Enable,off);
set(hObject,String,);
errordlg(Tinggi tidak boleh nol!!,Ada yang salah?);
elseif isempty(tinggi)
set(handles.Volumebalok,Enable,off);
set(handles.Luasbalok,Enable,off);
errordlg(Tinggi tidak boleh kosong!!,Ada yang
salah?);
else
set(handles.Volumebalok,Enable,on);
set(handles.Luasbalok,Enable,on);
end
% --- Executes during object creation, after setting all
properties.
Function tinggi_CreateFcn(hObject, eventdata, handles)
% hObject handle to tinggi (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles empty handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on
Windows.
%
See ISPC and COMPUTER.
If ispc && isequal(get(hObject,BackgroundColor),
get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,white);
end
%--------Kode untuk validasi data (reset)
function initialize_gui(fig_handle, handles, isreset)

if isfield(handles,metricdata)&& ~isreset
return;
end
guidata(handles.LuasVolumeBalok, handles);

% --- Executes on button press in volume.


Function volume_Callback(hObject, eventdata, handles)
% hObject handle to volume (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
p=str2num(get(handles.panjang,string));
l=str2num(get(handles.lebar,string));
t=str2num(get(handles.tinggi,string));
volume=p*l*t;
volume2=num2str(volume);
set(handles.hasil,string,volume2);
if(hObject == handles.volume)
set(handles.hasil_text,String,Volume);
set(handles.hasil,String,volume);
else
set(handles.hasil_text,String,Luas Balok);
set(handles.hasil,String,luas);
end
% --- Executes on button press in luas.
Function luas_Callback(hObject, eventdata, handles)
% hObject handle to luas (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
p=str2num(get(handles.panjang,string));
l=str2num(get(handles.lebar,string));
t=str2num(get(handles.tinggi,string));
luas=2*((p*l)+(p*t)+(l*t));
luas2=num2str(luas);
set(handles.hasil,string,luas2);

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


properties.
Function Panel_CreateFcn(hObject, eventdata, handles)
% hObject handle to Panel (see GCBO)
% eventdata reserved to be defined in a future version
of MATLAB
% handles empty handles not created until after all
CreateFcns called

D. Lampiran

Gambar di atas merupakan gambar ketika program dijalankan dengan


memasukkan nilai panjang, lebar dan tinggi dan memilih salah satu perintah (volume)
maka akan muncul nilai volume balok pada kolom hasil.

Gambar di atas merupakan gambar ketika program dijalankan dengan


memasukkan nilai panjang, lebar dan tinggi dan memilih salah satu perintah (luas )
maka akan muncul nilai luas permukaan balok pada kolom hasil.

Anda mungkin juga menyukai