• Tidak ada hasil yang ditemukan

Hasil Perbandingan Penelitian

BAB IV HASIL DAN PEMBAHASAN

4.5. Hasil Perbandingan Penelitian

Hasil penelitian ini dibandingankan dengan 2 hasil penelitian serupa yang dilakukan oleh Kavitha [18] dan Casale [19], Hasil perbandingan dapat dilihat pada Tabel 4.2. Pada Tabel 4.2, penelitian Kavitha melakukan penelitian mengenali 12 gerakan pada penelitian Casale yang dilakukan mengenali 5 gerakan sedangkan penelitian ini yang dilakukan mengenali 2 gerakan saja jalan, lari dan gerakan ganda (jalan-lari) dengan 4 variasi waktu.

Penelitian ini menggunakan metode fungsi euclidian dan correlasi sebagai penentu keluaran nama gerakan. Pada penelitian Kavitha metode yang digunakan Algoritme k-nearest neighbor (k-NN atau KNN) sedangkan penelitian Casale menggunakan metode accelerometer.

Table 4.2. Hasil Perbandingan Penelitian

Penelitian Kavitha [18] Penelitian Casale [19] Penelitian ini Pengujian mengenali 12

gerakan tunggal Pengujian mengenali 5 gerakan tunggal

Pengujian mengenali 2 gerakan tunggal dan 1 gerakan ganda

Menggunakan modul

accelerometer dan gyrometer dari handphone

Menggunakan modul accelerometer dari TI OMAP

Menggunakan modul MPU6050

Menggunakan metode Algoritme k-nearest

neighbor (KNN), NB, Scalar Vector Machine, Conditional interference tree, J48, RF.

Menggunakan metode accelerometer

Menggunakan metode statistik dan fungsi jarak euclidian Penggunaan alat pada lengan

kanan bawah dan

pergelangan kaki sebelah kiri

Penggunaan alat pada dada

Penggunaan alat pada dada

Tingkat pengenalan gerakan

jalan : 97,63% Tingkat pengenalan gerakan jalan : 94%

Tingkat pengenalan gerakan jalan : 100%

Tingkat pengenalan gerakan

lari : 85,31% Tingkat pengenalan

gerakan lari : 95%

Tingkat pengenalan gerakan lari : 100%

55

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil percobaan dan pengujian sistem pengenalan gerakan menggunakan metode fungsi jarak euclidian dapat disimpulkan bahwa:

1. Berhasil menghasilkan suatu alat pengenalan gerakan yang mampu membedakan gerakan jalan dan gerakan lari menggunakan metode fungsi jarak euclidian dengan tingkat pengenalan gerakan fungsi euclidian 100% untuk gerakan jalan sedangkan untuk gerakan lari fungsi euclidian 100%. Basis data yang digunakan adalah gerakan jalan dan gerakan lari.

2. Penelitian pengujian gerakan bertujuan untuk melihat tingkat pengenalan gerakan dengan variasi gerakan, variasi subject dan variasi waktu yang berbeda-beda. Tingkat pengenalan variasi gerakan terbaik mencapai 100%, tingkat pengenalan variasi suject mencapai 100% untuk gerakan jalan dan untuk gerakan lari, serta variasi waktu terbaik mencapai 100% untuk gerakan ganda 10s, 15s, 20s, serta 30s.

3. Penelitian pengujian gerakan ganda acak bertujuan untuk melihat pengenalan gerakan dapat bekerja dengan baik dengan data uji gerakan ganda yang diambil tanpa diketahui variasi waktunya. Tingkat pengenalan pengujian gerakan ganda acak terbaik mencapai 100% untuk gerakan jalan dan untuk gerakan lari.

4. Pengujian gerakan ganda acak apabila data yang diuji dominan gerakan jalan dibandingkan gerakan lari, sistem pengenalan gerakan akan membaca gerakan sebagai gerakan lari hal ini dikarenakan transisi gerakan dari jalan ke lari maupun sebaliknya memiliki ciri gerakan yang lebih dominan sebagai ciri gerakan lari.

5. Kelemahan pada program pengujian gerakan ini jumlah waktu yang dapat dianalisa sangat terbatas hal ini dikarenakan pada perancangan program pengenalan hanya menambahkan jumlah variasi waktu 12 saja.

6. Kelemahan sistem perekaman gerakan 1 gerakan uji hanya bisa disimpan dalam 1 SD Card .

7. Perancangan alat ini dapat diterapkan sebagai alat monitoring aktivitas manusia dengan sistem pengolahaan secara offline.

56

5.2. Saran

Saran yang diberikan untuk pengembangan sistem pengenalan gerakan adalah :

1. Pengembangan dapat dilakukan dengan menambahkan basis data untuk beberapa gerakan lainnya sehingga hasil ekstraksi ciri yang disimpan akan lebih banyak dan mampu meningkatkan tingkat pengenalan (recognition rate).

2. Pengembangan sistem pengenalan gerakan dengan memperbanyak variasi gerakan yang diuji akan membuat hasil pengenalan akan semakin optimal.

3. Perancangan sistem perekaman gerakan dapat dirancang dengan perekaman gerakan dapat disimpan dalam 1 SD Card.

4. Perancangan sistem pengenlaman gerakan dapat menambahkan variasi waktu uji yang lebih banyak untuk meningkatkan tingkat pengenalan gerakan uji.

57

DAFTAR PUSTAKA

[1] Liu, J., Jeehoon S., Sukwon K., 2017, Classification of Daily Activities for the Elderly Using Wearable Sensors, Hindawi Journal of Healthcare Engineering , Volume 2017, hal 1-7. https://www.hindawi.com/journals/jhe/2017/8934816/ , diakses 28 September 2018.

[2] Kailas, Aravind., 2012, Basic Human Motion Tracking Using a Pair of Gyro + Accelerometer MEMS Devices, https://ieeexplore.ieee.org/document/6379424 , diakses 28 September 2018.

[3] Shi, Guangtian., Yongsheng, W., Shuai, L., 2014, Development of Human Motion Capture System Based on Inertial Sensors 2125, Sensors & Transducers, IFSA Publishing, S. L. Volume 173, Issue 6, hal 90-97.

https://www.researchgate.net/publication/287380888_Development_of_Human_Mot ion_Capture_System_Based_on_Inertial_Sensors_2125 , diakses 28 September 2018.

[4] Incel, O.D., 2015, Analysis of Movement, Orientation and Rotation-Based Sensing for Phone Placement Recognition, https://www.mdpi.com/1424-8220/15/10/25474, diakses 20 Oktober 2018.

[5] Siradj, Y., 2016, Potensi Smartwatch untuk Kesehatan Smartwatch Potentials for Healtcare, Telekontran, Volume 4, No 1, hal 35-41.

http://telekontran.te.unikom.ac.id/jurnal/smartwatch-potentials-for.2h, diakses 20 Oktober 2018.

[6] Gani, Ruslan, Wahyudi, Iwan, S., 2011, Perancangan Sensor Gyroscope dan Accelerometer Untuk Menentukan Sudut dan Jarak, Makalah, Dalam: Seminar Tugas Akhir, Universitas Diponegoro, 08 Februari, http://eprints.undip.ac.id/26217/ , diakses 20 Oktober 2018.

[7] Menache, A., 2011, Understanding Motion Capture for Computer Animation, Elsevier, USA. https://www.elsevier.com/books/understanding-motion-capture-for-computer-animation/menache/978-0-12-381496-8 , diakses 10 November 2018.

[8] Wibisono, L.A., 2016, Pengendalian “Rollbot” Menggunakan Android Melalui Bluetooth dan Arduino, Tugas Akhir, Jurusan Teknik Elektro, FST, Universitas Sanata Dharma, Yogyakarta. https://repository.usd.ac.id/6363/2/125114017_full.pdf, diakses 10 November 2018.

58

[9] Firman, B., 2016, Implementasi Sensor IMU MPU6050 Berbasis Serial I2C Pada Self-Balancing Robot, Yogyakarta, diakses 10 November 2018.

[10] ---, Agustus 19, 2013, MPU-6000 and MPU-6050 Product Specificaion Revision 3.4, InvenSense Inc, diakses 10 November 2018.

[11] ----, April 10, 2017, SD Specifications Part 1 Physical Layer Simplified Specification Version 6.00, Technical Committee SD Card Association.

http://users.ece.utexas.edu/~valvano/EE345M/SD_Physical_Layer_Spec.pdf, diakses 10 November 2018.

[12] ----, 2013, Manual Micro SD Card Adapter, www.indo-ware.com, diakses 10 November 2018.

[13] ----, 2015, Extremely Accurate I2C-Integrated RTC/TCXO/Crystal DS3231, Maxim Integrated Product, Inc, www.maximintegrated.com, diakses 10 November 2018.

[14] Andjioe, F.E., 2018, Pengembangan Pengenalan Perangkat Elektronika Secara Real Time Berbasis Ekstraksi Ciri Deskriptor Fourier, Tugas Akhir, Jurusan Teknik Elektro, FST, Universitas Sanata Dharma, Yogyakarta.

https://repository.usd.ac.id/17786/2/145114046_full.pdf, diakses 10 November 2018.

[15] Kusuma, W. A., Sari, Z., Sari, A. T., 2016, Sensor Fusion Accelerometer dan Gyroscope untuk Pengukuran Perubahan Kinematik Pergelangan Kaki, Kinetik, Volume 1, No 1, Mei 2016, hal 17-22, diakses 10 November 2018.

[16] ----, 2A 150KHz 40V Buck DC to DC Converter Rev 2.0, www.xlsemi.com, diakses 14 Maret 2019

[17] ----, 2014, Penggunaan metode statistik untuk penelitian, diakses 11 Juni 2019 [18] Kavitha, R. Kavitha., 2017, Human Activit Recognition Using Accelerometer and

Gyroscope Sensors, International Journal of Engineering and Technology, Christ University, Bangalore, diakses 11 Juni 2019/

[19] Casale, Pierluigi., Pujol. O., Radeva, P., 2011, Human Activity Recognition from Accelerometer Data Using a Wearable Devic, diakses 11 Juni 2019.

LAMPIRAN

L-1

LAMPIRAN 1

ALUR PROSES PENGENALAN GERAKAN DENGAN METODE EUCLIDIAN

Ekstrasi Ciri Gerakan Uji

Ekstrasi Ciri Gerakan Data Acuan

Hasil Nama Gerakan

L-2

LAMPIRAN 2 LISTING PROGRAM

Listing Program GUI Basis Data (MATLAB)

function varargout = GUIBasisData(varargin)

% GUIBASISDATA MATLAB code for GUIBasisData.fig

% GUIBASISDATA, by itself, creates a new GUIBASISDATA or raises the existing

% singleton*.

%

% H = GUIBASISDATA returns the handle to a new GUIBASISDATA or the handle to

% the existing singleton*.

%

% GUIBASISDATA('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in GUIBASISDATA.M with the given input arguments.

%

% GUIBASISDATA('Property','Value',...) creates a new GUIBASISDATA or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before GUIBasisData_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to GUIBasisData_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 GUIBasisData

% Last Modified by GUIDE v2.5 06-Aug-2019 21:11:14

% Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

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{:});

L-3 end

% End initialization code - DO NOT EDIT

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

function GUIBasisData_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 GUIBasisData (see VARARGIN)

% Choose default command line output for GUIBasisData handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes GUIBasisData wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = GUIBasisData_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;

function edit1_Callback(hObject, eventdata, handles) % tempat masukan file.csv

% 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 global fileName

fileName = get(handles.edit1,'string');

% --- 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

L-4

% 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

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) % tombol select file

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global fileName1 fileName2

fileName1 = uigetfile('*.csv');

set(handles.edit1,'string',fileName1);

fileName2 = uigetfile('*.csv');

set(handles.edit2,'string',fileName2);

%===============================================

data1=importdata(fileName1); %untuk akses data data2=importdata(fileName2); %untuk akses data data1=data1.data; %file jalan

data2=data2.data; %file lari

%===============================================

%===============================================

% Proses perhitungan gyro & accell data jalan (data 1) gx1=data1(:,1);

gyro1=sqrt((gx1.^2)+(gy1.^2)+(gz1.^2)); %mengjadikan 1 gyro accel1=sqrt((ax1.^2)+(ay1.^2)+(az1.^2)); %menjadikan 1 accel

%===============================================

%===============================================

%===============================================

%===============================================

% Proses perhitungan gyro & accell data lari (data 2) gx2=data2(:,1);

gyro2=sqrt((gx2.^2)+(gy2.^2)+(gz2.^2)); %mengjadikan 1 gyro accel2=sqrt((ax2.^2)+(ay2.^2)+(az2.^2)); %menjadikan 1 accel

%===============================================

L-5

%===============================================

% proses ciri data jalan (data 1)

rgyro1=mean(gyro1); % menghitung mean gyro accel raccel1=mean(accel1);

rata1=[rgyro1;raccel1];

stdgyro1=std(gyro1); % menghitung standar deviasi gyro accel stdaccel1=std(accel1);

stdr1=[stdgyro1;stdaccel1];

vargyro1=var(gyro1); % menghitung varian gyro accel varaccel1=var(accel1);

rgyro2=mean(gyro2); % menghitung mean gyro accel raccel2=mean(accel2);

rata2=[rgyro2;raccel2];

stdgyro2=std(gyro2); % menghitung standar deviasi gyro accel stdaccel2=std(accel2);

stdr2=[stdgyro2;stdaccel2];

vargyro2=var(gyro2); % menghitung varian gyro accel varaccel2=var(accel2);

varian2=[vargyro2;varaccel2];

ciri2=[rata2;stdr2;varian2];

%===============================================

%===============================================

jalan = {gyro1;accel1;ciri1};

lari = {gyro2;accel2;ciri2};

basisdata = {data1;data2};

save data jalan lari basisdata

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles) % tombol u/jalan

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) load data.mat

ciri1 = jalan{3};

data1 = basisdata{1};

set(handles.uitable2,'Data',ciri1);

set(handles.uitable1,'Data',data1)%menampilkan data1 pada table

% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles) % tombol u/lari

% hObject handle to pushbutton6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

L-6

% handles structure with handles and user data (see GUIDATA) load data.mat

ciri2 = lari{3};

data2 = basisdata{2};

set(handles.uitable2,'Data',ciri2);

set(handles.uitable1,'Data',data2)%menampilkan data1 pada table

% --- Executes on button press in pushbutton8.

function pushbutton8_Callback(hObject, eventdata, handles) %tombol reset

% hObject handle to pushbutton8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global jalan lari basisdata datampujalan datampulari datampubasisdata jalan=[];datampujalan=[];

lari=[];datampulari=[];

basisdata=[];datampubasisdata=[];

datampu=[]; %pemberian nama data mpu agar kosong pada table ciri=[];

file='';

set(handles.uitable1,'Data',datampu)%menghapus data mpu pada table set(handles.uitable2,'Data',ciri)%menghapus data mpu pada table set(handles.edit1,'string',file)

set(handles.edit2,'string',file)

% --- Executes when entered data in editable cell(s) in uitable2.

function uitable2_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable2 (see GCBO)

% eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user

% NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

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

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (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

L-7

Listing Program GUI Pengenalan Gerakan (MATLAB)

function varargout = GUIPengenalanGerakan(varargin)

% GUIPENGENALANGERAKAN MATLAB code for GUIPengenalanGerakan.fig

% GUIPENGENALANGERAKAN, by itself, creates a new GUIPENGENALANGERAKAN or raises the existing

% singleton*.

%

% H = GUIPENGENALANGERAKAN returns the handle to a new GUIPENGENALANGERAKAN or the handle to

% the existing singleton*.

%

% GUIPENGENALANGERAKAN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in GUIPENGENALANGERAKAN.M with the given input arguments.

%

% GUIPENGENALANGERAKAN('Property','Value',...) creates a new GUIPENGENALANGERAKAN or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before GUIPengenalanGerakan_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to GUIPengenalanGerakan_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 GUIPengenalanGerakan

% Last Modified by GUIDE v2.5 28-Oct-2019 08:18:43

% Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

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

L-8

% End initialization code - DO NOT EDIT

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

function GUIPengenalanGerakan_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 GUIPengenalanGerakan (see VARARGIN)

% Choose default command line output for GUIPengenalanGerakan handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes GUIPengenalanGerakan wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = GUIPengenalanGerakan_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 during object creation, after setting all properties.

function judulGUI_CreateFcn(hObject, eventdata, handles)

% hObject handle to judulGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes during object deletion, before destroying properties.

function judulGUI_DeleteFcn(hObject, eventdata, handles)

% hObject handle to judulGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

function editfile_Callback(hObject, eventdata, handles)

% hObject handle to editfile (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global fileName

fileName = get(handles.editfile,'string');

% Hints: get(hObject,'String') returns contents of editfile as text

L-9

% str2double(get(hObject,'String')) returns contents of editfile as a double

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

function editfile_CreateFcn(hObject, eventdata, handles)

% hObject handle to editfile (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

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

function edithasil_CreateFcn(hObject, eventdata, handles)

% hObject handle to edithasil (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 edithasil_Callback(hObject, eventdata, handles)

% hObject handle to edithasil (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 edithasil as text

% str2double(get(hObject,'String')) returns contents of edithasil as a double

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global fileName datetimedata mpu

fileName = uigetfile('*.csv');

set(handles.editfile,'string',fileName);

dataotomatis=importdata(fileName); % import data dari csv

% dataotomatis.data(:,1)=[] % menghilangkan data yang tidak dibutuhkan d = dataotomatis.textdata(:,1); % memisahkan data tanggal dari data asli mpu = dataotomatis.data; % memisahkan data pulse dari data asli

L-10

times = cell2mat(d);

for i=1:14

tgl = cell2mat(d);

for i=1:12

datetimedata = str2num(times);

tgl=str2num(tgl);

gabung=[tgl datetimedata mpu];

set(handles.uitable1,'Data',gabung);

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenu1 global jum_dik

contents = get(handles.popupmenu1,'Value');

L-11

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

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu 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

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global H M S jum_dik datetimedata mpu V

global gx gy gz ax ay az gyro accel %deklarasi utk plot grafik

H = get(handles.editH,'string'); %JAM AWAL M = get(handles.editM,'string'); % MENIT AWAL S = get(handles.editS,'string'); %DETIK AWAL H = str2num(H); %ubah karakter ke numerik M = str2num(M);

S = str2num(S);

waktu = (H*10000)+(M*100)+(S) %menyatukan jam menit detik

[b,k]=size(datetimedata) %mencari jumbaris jumkolom for i=1:b

if datetimedata(i)==waktu %untuk mencocokan wkt msk dgn data wkt mpuwkt=mpu(i,:);

L-12

%=========================================

gx=mpuwkt(:,1); %menyimpan data perkolom gy=mpuwkt(:,2);

gz=mpuwkt(:,3);

ax=mpuwkt(:,4);

ay=mpuwkt(:,5);

az=mpuwkt(:,6);

gyro=sqrt((gx.^2)+(gy.^2)+(gz.^2)); %menjadikan 1 gyro accel=sqrt((ax.^2)+(ay.^2)+(az.^2)); %menjadikan 1 accel

%=========================================

rgyro=mean(gyro); % menghitung mean gyro accel raccel=mean(accel);

rata=[rgyro;raccel];

%=========================================

stdgyro=std(gyro); % menghitung standar deviasi gyro accel stdaccel=std(accel);

stdr=[stdgyro;stdaccel];

%=========================================

vargyro=var(gyro); % menghitung varian gyro accel varaccel=var(accel);

load data.mat %mengambil data DB

%=========================================

jj=distance(ciriuji,jalan{3}); %menghitung jrk E. ciri uji & DB Klm1 (jalan) jl=distance(ciriuji,lari{3}); %menghitung jrk E. ciri uji & DB Klm2 (lari) DB=[jalan{3} lari{3}]

jar=[jj jl]

set(handles.uitable3,'Data',DB);

%=========================================

tpil=[jar];

set(handles.uitable4,'Data',tpil); %menampilkan perhitungan jrk E. di uitable4

dbteks={'JALAN','LARI'};

jakmin=find(jar==min(jar));

y=dbteks{jakmin};

set(handles.edithasil,'string',y); %menampilkan nama grkn berdsrkn jrk E. di uitable4 Fungsi Jarak Euclidian

%=========================================

% FUNGSI EUCLIDEAN function y=distance(a,b) y=sqrt(sum((a-b).^2));

% --- Executes on button press in checkbox1.

function checkbox1_Callback(hObject, eventdata, handles)

% hObject handle to checkbox1 (see GCBO)

L-13

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox1 global gx

% --- Executes on button press in checkbox2.

function checkbox2_Callback(hObject, eventdata, handles)

% hObject handle to checkbox2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox2 global gy

% --- Executes on button press in checkbox3.

function checkbox3_Callback(hObject, eventdata, handles)

% hObject handle to checkbox3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox3 global gz

L-14

% --- Executes on button press in checkbox4.

function checkbox4_Callback(hObject, eventdata, handles)

% hObject handle to checkbox4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox4

% --- Executes on button press in checkbox5.

function checkbox5_Callback(hObject, eventdata, handles)

% hObject handle to checkbox5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox5 global ax

% --- Executes on button press in checkbox6.

function checkbox6_Callback(hObject, eventdata, handles)

% hObject handle to checkbox6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox6 global ay

L-15 end

% --- Executes on button press in checkbox7.

function checkbox7_Callback(hObject, eventdata, handles)

% hObject handle to checkbox7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox7

% Hint: get(hObject,'Value') returns toggle state of checkbox7

Dokumen terkait