Simulasi Grafik Sinusoidal Menggunakan GUI Matlab
Grafik sinusoidal adalah salah satu konsep fundamental dalam matematika dan fisika yang merujuk pada pola berulang berbentuk gelombang yang dapat ditemukan dalam berbagai aplikasi di dunia nyata. Dalam artikel ini, kita akan menjelaskan bagaimana membuat simulasi grafik sinusoidal menggunakan GUI (Graphical User Interface) di Matlab dengan persamaan umum y = y0 + A * sin(θ + θ0).

Pengenalan Grafik Sinusoidal
Sebelum kita memasuki pembahasan simulasi, mari kita pahami dasar-dasar grafik sinusoidal. Grafik sinusoidal adalah grafik fungsi sinus, yang merupakan fungsi matematika yang memiliki bentuk berulang dalam bentuk gelombang sinusoidal. Persamaan umum dari grafik sinusoidal adalah:
y = y0 + A * sin(θ + θ0)
Di sini,
- y adalah nilai dari fungsi sinusoidal pada titik tertentu.
- y0 adalah nilai tengah (bias) dari gelombang.
- A adalah amplitudo, yang mengukur tinggi dari gelombang.
- θ adalah sudut dalam satuan radian.
- θ0 adalah fase awal, yang menggeser gelombang horizontal.
Menggunakan Matlab untuk Simulasi Grafik Sinusoidal
Matlab adalah lingkungan pemrograman yang kuat yang dapat digunakan untuk melakukan simulasi dan analisis data. Dengan bantuan GUI Matlab, kita dapat membuat simulasi yang interaktif untuk memvisualisasikan grafik sinusoidal dengan berbagai parameter. Berikut adalah langkah-langkah untuk membuat simulasi ini:
1. Membuat GUI
Langkah pertama adalah membuat GUI Matlab. Anda dapat melakukannya dengan menggunakan alat seperti “GUIDE” yang disediakan oleh Matlab. Dalam GUI, kita dapat menambahkan berbagai komponen seperti tombol, slider, dan plot untuk mengontrol dan memvisualisasikan grafik sinusoidal.
2. Menambahkan Komponen Kontrol
Tambahkan komponen kontrol yang diperlukan untuk mensimulasikan grafik sinusoidal. Beberapa komponen yang berguna termasuk:
- Tombol “Simulasi”: Untuk memulai simulasi grafik sinusoidal.
- Slider untuk Amplitudo, Fase Awal, dan Frekuensi: Ini memungkinkan pengguna untuk mengubah parameter grafik sinusoidal.
- Plot Area: Area di mana kita akan menampilkan hasil simulasi grafik.
3. Membuat Fungsi Simulasi
Selanjutnya, kita perlu membuat fungsi yang akan mengambil input dari GUI dan menjalankan simulasi grafik sinusoidal. Fungsi ini akan menggunakan persamaan umum yang telah kita bahas sebelumnya untuk menghitung nilai y pada setiap titik θ.
4. Memvisualisasikan Grafik Sinusoidal
Setelah menghitung nilai y pada setiap titik θ, kita dapat menggunakan plot area dalam GUI untuk memvisualisasikan grafik sinusoidal. Ini dapat dilakukan dengan memplot titik-titik y pada setiap nilai θ.
5. Menambahkan Fitur Tambahan
Anda juga dapat menambahkan fitur tambahan ke dalam GUI, seperti mengubah skala sumbu, menghitung frekuensi dan periode, serta menambahkan variasi warna dan garis untuk memperindah grafik.
Baca Juga: Simulasi Kalkulator Sederhana Menggunakan GUI Matlab
Contoh Kode Matlab untuk Simulasi Grafik Sinusoidal
Berikut ini adalah contoh kode sederhana untuk membuat GUI Matlab yang mensimulasikan grafik sinusoidal:
function varargout = sinusoidal(varargin)
% SINUSOIDAL MATLAB code for sinusoidal.fig
% SINUSOIDAL, by itself, creates a new SINUSOIDAL or raises the existing
% singleton*.
%
% H = SINUSOIDAL returns the handle to a new SINUSOIDAL or the handle to
% the existing singleton*.
%
% SINUSOIDAL('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in SINUSOIDAL.M with the given input arguments.
%
% SINUSOIDAL('Property','Value',...) creates a new SINUSOIDAL or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before sinusoidal_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to sinusoidal_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 sinusoidal
% Last Modified by GUIDE v2.5 29-Nov-2015 23:59:21
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @sinusoidal_OpeningFcn, ...
'gui_OutputFcn', @sinusoidal_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 sinusoidal is made visible.
function sinusoidal_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 sinusoidal (see VARARGIN)
% Choose default command line output for sinusoidal
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
movegui(hObject,'center');
% UIWAIT makes sinusoidal wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = sinusoidal_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 slider movement.
function slider1_Callback(hObject, eventdata, handles)
% hObject handle to slider1 (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
y0 = get(handles.slider1,'Value');
A = get(handles.slider2,'Value');
theta0 = get(handles.slider3,'Value');
theta = 0:0.001:4*pi;
y = y0+A*sin(theta+theta0);
axes(handles.axes1)
plot(theta,y,'r-')
xlim([0,4*pi])
ylim([-3,3])
set(gca,'XTick',[0:4*pi/6:4*pi])
set(gca,'XTickLabel',{'0','120','240','360','480','600','720'})
grid on
persamaan = strcat(['y = ',num2str(y0),' +',num2str(A),' * sin (theta + ',num2str(theta0/2/pi*360),')']);
set(handles.edit1,'String',persamaan)
% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
% --- Executes on slider movement.
function slider2_Callback(hObject, eventdata, handles)
% hObject handle to slider2 (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
y0 = get(handles.slider1,'Value');
A = get(handles.slider2,'Value')+1;
theta0 = get(handles.slider3,'Value')*2*pi;
theta = 0:0.001:4*pi;
y = y0+A*sin(theta+theta0);
axes(handles.axes1)
plot(theta,y,'r-')
xlim([0,4*pi])
ylim([-3,3])
set(gca,'XTick',[0:4*pi/6:4*pi])
set(gca,'XTickLabel',{'0','120','240','360','480','600','720'})
grid on
persamaan = strcat(['y = ',num2str(y0),' +',num2str(A),' * sin (theta + ',num2str(theta0/2/pi*360),')']);
set(handles.edit1,'String',persamaan)
% --- Executes during object creation, after setting all properties.
function slider2_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
% --- Executes on slider movement.
function slider3_Callback(hObject, eventdata, handles)
% hObject handle to slider3 (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
y0 = get(handles.slider1,'Value');
A = get(handles.slider2,'Value')+1;
theta0 = get(handles.slider3,'Value')*2*pi;
theta = 0:0.001:4*pi;
y = y0+A*sin(theta+theta0);
axes(handles.axes1)
plot(theta,y,'r-')
xlim([0,4*pi])
ylim([-3,3])
set(gca,'XTick',[0:4*pi/6:4*pi])
set(gca,'XTickLabel',{'0','120','240','360','480','600','720'})
grid on
persamaan = strcat(['y = ',num2str(y0),' +',num2str(A),' * sin (theta + ',num2str(theta0/2/pi*360),')']);
set(handles.edit1,'String',persamaan)
% --- Executes during object creation, after setting all properties.
function slider3_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (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 edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (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
Simulasi grafik sinusoidal adalah alat yang berguna untuk memahami konsep dasar grafik sinusoidal dalam matematika dan fisika. Dengan menggunakan GUI Matlab, kita dapat membuat simulasi yang interaktif dan informatif yang memungkinkan pengguna untuk mengubah parameter dan melihat bagaimana perubahan tersebut memengaruhi grafik sinusoidal. Simulasi ini dapat digunakan dalam pendidikan, penelitian, dan eksperimen virtual untuk membantu siswa dan peneliti memahami dan menggali lebih dalam tentang konsep grafik sinusoidal dan gelombang sinusoidal.
Baca Juga: Konversi Satuan Suhu Menggunakan App Designer MATLAB
Source code beserta data lengkap pemrograman MATLAB di atas dapat diperoleh melalui halaman berikut ini: Source Code
Posted on October 5, 2023, in Pengenalan Matlab and tagged Grafik Sinusoidal, gui matlab, Matematika, Persamaan Sinusoidal, Simulasi Fisika, Simulasi Grafik Sinusoidal, Simulasi Matematika, Visualisasi Data. Bookmark the permalink. Leave a comment.
















































Leave a comment
Comments 0