Analisis Kinerja Multithreading Pada Resilient Backpropagation Chapter III V

BAB 3
METODOLOGI PENELITIAN

3.1

Pendahuluan

Algoritma Resilient Backpropagation (RPROP) dibagi menjadi dua bagian proses yaitu
forward pass dan backward pass. Forward pass berfungsi untuk mendapatkan nilai error
dari algoritma artificial neural network, dimana nilai error tersebut harus konvergen
nilai nol yaitu nilai error mendekati nilai nol. Backward pass berfungsi untuk
melakukan update pada nilai weight agar nilai yang dihasilkan pada waktu proses
forward pass berikutnya menghasilkan nilai error yang konvergen terhadap nilai nol.
Kedua bagian ini merupakan bagian terpenting pada algoritma RPROP karena
merupakan bagian untuk melakukan pembelajaran terhadap algoritma RPROP yang
bertujuan untuk mengenali lingkungan yang akan diproses.
Proses algoritma RPROP pada kedua bagian tersebut dapat dioptimalkan pada
waktu training, dengan cara melakukan komputasi parallel pada algoritma RPROP.
Pada proses RPROP dibagi menjadi beberapa sub-proses, dan sub-proses tersebut
dijalankan pada waktu yang bersamaan. Penelitian yang dilakukan adalah menganalisa
waktu pada pembelajaran dengan cara membuat tiga model komputasi parallel

algoritma RPROP yang dijalankan pada sebuah komputer menggunakan multithreading.
Multithreading adalah teknik untuk menjalankan beberapa proses secara bersamaan
dengan menggunakan satu buah processor.
Pada bab ini metodologi dibagi menjadi beberapa bagian yaitu tahapan –
tahapan penelitian yang berisikan tahapan yang dilakukan pada penelitian ini, dataset
adalah menjelaskan dataset yang digunakan pada penelitian ini, perancangan algoritma
RPROP parallel processing, dan yang terakhir cara melakukan analisis data yang
dihasilkan.

Universitas Sumatera Utara

22

3.2

Tahapan – Tahapan Penelitian

Tahapan – tahapan penelitian bertujuan penelitian yang dilaksanakan tidak keluar dari
jalur yang ditentukan. Tahapan penelitian yang dilakukan dijabarkan pada Gambar3.1.


Dataset yang
Digunakan

Perancangan
Arsitektur Resilient
Backpropagation
Parallel Berdasarkan
Thread

Training Algoritma
Resilient
Backpropagation
Parallel

CPU Time
Pembelajaran
Berdasarkan
Pengunaan Thread
Gambar 3. 1 Diagram Tahapan – Tahapan Penelitian
3.3


Data yang Digunakan

Dataset adalah kumpulan data yang digunakan untuk pembelajaran dan ujicoba pada
artificial neural network. Dataset yang digunakan berasal dari UCI Machine Learning
dengan data HAR (Human Activity Recognition). Dataset HAR ini berisi data – data
sensor dari accelerometer dan gyroscope menggunakan smartphone jenis Samsung
Galaxy S II yang diletakan pada pinggang. Penelitian yang dilakukan menggunakan
data dari sensor accelerometer dan gyroscope. Dataset HAR terdiri dari dua jenis data
sensor dan data yang diambil adalah sensor accelerometer dan gyroscope, pada dataset
ini telah disedikan dataset untuk training dan testing.

Universitas Sumatera Utara

23

Dataset sensor accelerometer dan gyroscope didapatkan tiga buah nilai axial
yaitu nilai x, y, dan z. Jumlah kasus pada masing – masing nilai axial tersebut adalah
7352 kasus. Kasus tersebut adalah aktifitas yang dilakukan oleh volunteers berjumlah
30 volunteers. Aktifitas yang dilakukan oleh volunteers yaitu berjalan, menaiki tangga,

menuruni tangga, duduk, berdiri, dan tidur. Dari setiap aktifitas yang dilakukan tersebut
menghasilkan nilai axial – nya yaitu x, y, dan z. Nilai triaxial tersebut diekstrak menjadi
561 feature data yang ditampilkan pada Tabel 3.1 yang hanya menampilkan beberapa
fitur dataset saja untuk fitur dataset yang lebih lengkapnya akan ditampilkan pada
Lampiran A
Tabel 3. 1 Fitur Dataset Triaxial
No
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Nama Feature
tBodyAcc-mean()-X
tBodyAcc-mean()-Y

tBodyAcc-mean()-Z
tBodyAcc-std()-X
tBodyAcc-std()-Y
tBodyAcc-std()-Z
tBodyAcc-mad()-X
tBodyAcc-mad()-X
tBodyAcc-mad()-Z
tBodyAcc-max()-X
tBodyAcc-max()-Y
tBodyAcc-max()-Z
tBodyAcc-min()-X
tBodyAcc-min()-Y
tBodyAcc-min()-Z
tBodyAcc-sma()
tBodyAcc-energy()-X
tBodyAcc-energy()-Y
tBodyAcc-energy()-Z
tBodyAcc-iqr()-X
tBodyAcc-iqr()-Y
tBodyAcc-iqr()-Z

tBodyAcc-entropy()-X
tBodyAcc-entropy()-Y
tBodyAcc-entropy()-Z
tBodyAcc-arCoeff()-X,1
tBodyAcc-arCoeff()-X,2
tBodyAcc-arCoeff()-X,3
tBodyAcc-arCoeff()-X,4

No
281
282
283
284
285
286
287
288
289
290
291

292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309

Nama Feature

fBodyAcc-sma()
fBodyAcc-energy()-X
fBodyAcc-energy()-Y
fBodyAcc-energy()-Z
fBodyAcc-iqr()-X
fBodyAcc-iqr()-Y
fBodyAcc-iqr()-Z
fBodyAcc-entropy()-X
fBodyAcc-entropy()-Y
fBodyAcc-entropy()-Z
fBodyAcc-maxInds-X
fBodyAcc-maxInds-Y
fBodyAcc-maxInds-Z
fBodyAcc-meanFreq()-X
fBodyAcc-meanFreq()-Y
fBodyAcc-meanFreq()-Z
fBodyAcc-skewness()-X
fBodyAcc-kurtosis()-X
fBodyAcc-skewness()-Y
fBodyAcc-kurtosis()-Y

fBodyAcc-skewness()-Z
fBodyAcc-kurtosis()-Z
fBodyAcc-bandsEnergy()-1,8
fBodyAcc-bandsEnergy()-9,16
fBodyAcc-bandsEnergy()-17,24
fBodyAcc-bandsEnergy()-25,32
fBodyAcc-bandsEnergy()-33,40
fBodyAcc-bandsEnergy()-41,48
fBodyAcc-bandsEnergy()-49,56

Universitas Sumatera Utara

24

Tabel 3. 2 Fitur Dataset Triaxial (Lanjutan)
No
30
31
32
33

34

Nama Feature
tBodyAcc-arCoeff()-Y,1
tBodyAcc-arCoeff()-Y,2
tBodyAcc-arCoeff()-Y,3
tBodyAcc-arCoeff()-Y,4
tBodyAcc-arCoeff()-Z,1

No
310
311
312
313
314

Nama Feature
fBodyAcc-bandsEnergy()-57,64
fBodyAcc-bandsEnergy()-1,16
fBodyAcc-bandsEnergy()-17,32
fBodyAcc-bandsEnergy()-33,48
fBodyAcc-bandsEnergy()-49,64

Feature dataset yang sebanyak 561 dijadikan sebagai nilai input pada algoritma neural
network, nilai input pada bilangan tersebut adalah bilangan real.
Dataset target sensor disikan nilai menggunakan 1 dan 0. Node ouput dari
algoritma artificial neural network (ANN) sebanyak aktifitas yang diklasifikasikan
yaitu ada enam aktifitas yang harus diklasifikasikan. Setiap aktifitas mempunyai nilai
output pada setiap node ouput pada algoritma ANN yang dijabarkan pada Tabel 3.8.
Tabel 3. 3 Nilai Target Output Aktifitas Manusia

3.4

No

Aktifitas

Nilai Target

1

Jalan

100000

2

Naik Tangga

010000

3

Turun Tangga

001000

4

Duduk

000100

5

Berdiri

000010

6

Tidur

000001

Arsitektur Artificial Neural Network

Rancangan arsitektur artificial neural network ini bertujuan untuk menentukan jumlah
neuron pada masing – masing layer.
3.4.1

Input Layer

Input Layer merupakan layer untuk memasukan nilai yang digunakan untuk dipelajari
oleh artificial neural network. Node pada input layer disediakan sebanyak 561 node,

Universitas Sumatera Utara

25

sesuai dengan dataset yang dihasilkan dari kedua sensor tersebut yang menghasilkan
nilai feature sebanyak 561 node yang telah dijabarkan pada Tabel 3.1.
3.4.2

Hidden Layer

Hidden Layer merupakan layer melakukan proses nilai input menghasilkan nilai
function yang diteruskan ke layer output. Node atau neuron yang disediakan pada
hidden layer di penelitian ini ditentukan berdasarkan (Heaton, 2008):
1. Jumlah neuron pada hidden layer harus diantara jumlah neuron pada input layer
dan jumlah neuron pada output layer.
2. Jumlah neuron pada hidden layer harus 2/3 jumlah neuron pada input layer, dan
ditambahkan dengan jumlah neuron pada output layer
3. Jumlah neuron pada hidden layer harus kurang dari dua kali jumlah neuron pada
input layer
Neuron hidden layer yang digunakan pada penelitian ini adalah menggunakan peraturan
pada no 2 yaitu jumlah neuron pada hidden layer adalah 2/3 dari jumlah neuron input
layer dan output layer. Jumlah neuron pada hidden layer yang digunakan adalah
�ℎ



=

�ℎ

�ℎ



=

+

�ℎ



=

�ℎ



+

�ℎ

=

Jumlah neuron hidden layer yang digunakan sebanyak 378 neuron pada hidden layer.
3.4.3

Output Layer

Output Layer merupakan layer memproses nilai dari hidden layer dan menghasilkan
nilai error, yang digunakan sebagai nilai untuk mengupdate nilai weight. Neuron pada
layer output sesuai dengan dataset target yaitu 6 buah node. Pada masing – masing node
tersebut mengenal beberapa aktivitas manusia yaitu jalan, naik tangga, turun tangga,
duduk, berdiri dan tidur.

Universitas Sumatera Utara

26

3.4.4

Rancangan Arsitektur Neural Network

Berdasarkan data yang telah disebutkan maka rancangan neural network dijelaskan
melalui Gambar 3.3.
Feed Forward
Y1

X1

Z1

Y2

X2
.
.
.

.
.
.

Y377

X 561
Input Layer

Z2
.
.
.

Z6
Y378

Output Layer

Hidden Layer
Backward

Gambar 3. 2 Arsitektur Neural Network Resilient Backpropagation
Gambar 3.3 merupakan rancangan arsitektur standar tanpa menerapkan teknik parallel
di dalamnya. Input pada rancangan arsitektur disesuakian banyak feature dataset dari
UCI Machine Learning yaitu sebanyak 561 neuron pada input layer. Pada hidden layer
berdasarkan perhitungan yang telah didapatkan maka neuron pada hidden layer
disediakan sebanyak 378 neuron. Dan untuk output layer sesuai dengan data yang
disebut pada output layer yaitu sebanyak 6 buah neuron.
3.5

Parallel Resilient Backpropagation

Parallel pada resilient backpropagation difokuskan pada waktu proses feedforward.
Proses feedforward untuk parallel menggunakan multithreading ini difokuskan pada
bagian hidden layer. Implementasi parallel resilient backpropagation maka digunakan
teknologi multithreading. Neuron yang berada pada bagian hidden layer akan dibagi

Universitas Sumatera Utara

27

berdasarkan jumlah thread. Penelitian yang akan dilakukan menggunakan jumlah
thread dimulai dari 1 buah thread sampai 7 buah thread. Pembatasan sampai 7 buah
thread ini disebabkan oleh waktu karena pada pengujian yang dilakukan pada setiap
arsitektur resilient backpropagation dengan parallel processing sehingga membutuhkan
waktu untuk memprosesnya. Pada penelitian ini difokuskan pada kecepatan waktu
proses dari resilient backpropagation dalam menyelesaikan satu itreasi. Waktu yang
akan diambil untuk menentukan kecepatan proses tersebut akan berdasarkan pada
waktu di komputer (CPU Time).
3.6

Rancangan Arsitektur Resilient Backpropagation Parallel

Rancangan arsitektur resilient backpropagation parallel ada sebanyak tujuh buah
model, berdasarkan pada thread yang digunakan yaitu dari satu buah thread sampai
tujuh buah thread yang berfokus pada proses feedforward. Gambar arsitektur neural
network akan ditampilkan pada Gambar 3.3 sampai Gambar 3.9.
Feed Forward

1 Thread
Y1
X1

Z1

Y2

X2
.
.
.

.
.
.

Y377

X561

Z2
.
.
.

Z6

Y378

Gambar 3. 3 Arsitektur Neural Network Parallel dengan 1 Thread
Gambar 3.3 arsitektur neural network ini satu buah thread memproses sebanyak 378
neuron pada hidden layer.

Universitas Sumatera Utara

28

Feed Forward
1 Thread
Y1
X1

.
.
.

Z1

Y188
X2

Z2

.
.
.

Y189

.
.
.

X561

.
.
.

Z6

Y378

2 Thread

Gambar 3. 4 Arsitektur Neural Network Parallel dengan 2 Thread
Gambar 3.4 thread yang digunakan yaitu sebanyak 2 buah dan 1 buah thread
memproses sebanyak 189 neuron.
Feed Forward
Y1
.
.
.

Y125

1 Thread

Z1

X1
Y126
X2

.
.
.

Z2

Y251
.
.
.

2 Thread

X561

.
.
.

Z6
Y252
.
.
.

Y378
3 Thread

Gambar 3. 5 Arsitektur Neural Network Parallel dengan 3 Thread

Universitas Sumatera Utara

29

Gambar 3.5 pada arsitektur neural network dibentuk 3 thread untuk memproses neuron
pada hidden layer. Pada masing – masing thread memproses sebanyak 126 thread.
Feed Forward
Y1
.
.
.

Y93
1 Thread

X1

Y94
.
.
.

Z1

Y187
X2
.
.
.

X561

2 Thread
Z2
Y188
.
.
.

.
.
.

Y281

3 Thread

Z6

Y282
.
.
.

Y378
4 Thread

Gambar 3. 6 Arsitektur Neural Network Parallel dengan 4 Thread
Gambar 3.6 pada arsitektur neural network ini ada 4 thread yang dibuat untuk
memproses neuron yang berada pada hidden layer. Pada thread 1 sampai 3 memproses
sebanyak 94 neuron. Pada thread 4 memproses neuron sebanyak 96 neuron, ini
disebabkan jumlah total neuron yang dibagi dengan banyak thread bukan menghasilkan
bilangan bulat. Sehingga pada thread ke empat neuron yang diproses bertambah 2
neuron.

Universitas Sumatera Utara

30

Feed Forward
Y1
.
.
.

Y74
1 Thread

Y75
.
.
.

X1

Y149

Z1

2 Thread
Y150

X2
.
.
.

.
.
.

Y224

Z2

3 Thread

.
.
.

Y225

Z6

X561
.
.
.

Y299

4 Thread
Y299
.
.
.

Y378
5 Thread

Gambar 3. 7 Arsitektur Neural Network Parallel dengan 5 Thread
Gambar 3.8 arsitektur neural network neural network ini menggunakan 5 thread untuk
memproses neuron pada hidden layer. Pada thread 1 sampai 4 memproses 75 neuron,
dan thread ke 5 memproses sebanyak 78 thread.

Universitas Sumatera Utara

31

Feed Forward
Y1
.
.
.

Y62
1 Thread
Y63
.
.
.

Y125

2 Thread
Y126

X1

Z1

.
.
.

Y188
X2

3 Thread

.
.
.

Y189

Z2

X561

.
.
.

.
.
.

Y251

Z6

4 Thread

Y252
.
.
.

Y314
5 Thread
Y315
.
.
.

Y378
6 Thread

Gambar 3. 8 Arsitektur Neural Network Parallel dengan 6 Thread
Gambar 3.8 arsitektur neural network ini menggunakan 6 thread untuk memproses
neuron pada hidden layer, pada masing – masing thread memproses 63 neuron.

Universitas Sumatera Utara

32

Feed Forward
Y1
.
.
.

Y53
1 Thread
Y54
.
.
.

Y107
2 Thread
Y108
.
.
.

Y161

Z1

3 Thread

X1

Y162
.
.
.

X2

Z2

Y205

.
.
.

4 Thread

.
.
.

X561

Y206

Z6

.
.
.

Y259
5 Thread
Y260
.
.
.

Y313
6 Thread
Y314
.
.
.

Y378
7 Thread

Gambar 3. 9 Arsitektur Neural Network Parallel dengan 7 Thread
Gambar 3.9 arsitektur ini menggunakan 7 buah thread untuk memproses neuron pada
hidden layer. Pada masing – masing thread memproses neuron sebanyak 54 neuron.
3.7

Analisis Waktu Pembelajaran

Analisa waktu training yang dilakukan berdasarkan pada CPU time. Pengambilan
waktu CPU time yang diambil dari setiap iterasi yang diproses. Waktu yang didapat
pada setiap iterasi ditotal untuk mendapatkan waktu keseluruhan pada setiap proses
training resilient backpropagation.

Universitas Sumatera Utara

33

Pengujian yang dilakukan dibagi menjadi beberapa bagian berdasarkan thread
yang dibentuk pada multithreading yang dijabarkan pada Tabel 3.4.
Tabel 3. 4 Pembagian Neuron Hidden Layer Berdasarkan Jumlah Thread
Thread yang
Hidden Neuron pada
Total Neuron pada
terbentuk
sebuah Thread
Hidden Layer
1
378
378
2
189
378
3
126
378
4
94
378
5
75
378
6
63
378
7
54
378
Berdasarkan pada Tabel 3.4 hasil dari jumlah neuron hidden yang diproses pada sebuah
thread menggunakan rumus sederhana yaitu

�ℎ


. Nh adalah jumlah neuron pada hidden

layer dibagi dengan t yaitu thread yang akan digunakan pada sebuah processor. Pada
penelitian ini dibentuk hanya sampai 7 thread karena terbatas sumber daya untuk
memproses semua dan waktu yang dibutuhkan untuk pembelajaran tersebut.
Analisa waktu yang dilakukan berdasarakan Tabel 3.4 yang telah dibagikan
jumlah neuron berdasarkan jumlah thread maka setiap pembagian tersebut dilakukan
pengujian ke dalam komputer untuk mengetahui pembagian thread mana yang cepat
selesai berdasarkan pada CPU time. Total waktu selesai tersebut akan diambil dari
waktu selesai pada satu iterasi dan ditotal keseluruhannya sebagai contoh ada 6 iterasi
dan epoch 10 maka 6 dikalikan 10 yang menghasilkan sebanyak 60 iterasi dari 60 iterasi
tersebut akan dihasilkan waktu CPU time pada masing – masing iterasi tersebut dimana
semua waktu tersebut akan di jumlah untuk mendapatkan total waktu CPU time.
3.8

Analisis Parallel Resilient Backpropagation

Pada proses perhitungan parallel ini dijabarkan terlebih dahulu proses kerja dari
algoritma resilient backpropagation secara garis besar terlebih dahulu yaitu proses kerja
parallel resilient backpropagation. Proses kerja parallel algoritma resilient
backpropagation dijabarkan sebagai berikut:
1. Pengisian data awal
Pada bagian ini memasukan data berupa weight dan input data yang digunakan
untuk melakukan training.

Universitas Sumatera Utara

34

2. Proses feedforward
Pada proses feedforward pada masing – masing thread yang dibentuk
mengeksekusi neuron – neuron yang telah ditetapkan pada masing – masing
thread. Setelah nilai function pada masing – masing neuron di hidden layer telah
terkumpul, maka dilanjutkan ke output layer. Pada output layer setiap neuron
pada output layer menerima jumlah dari nilai function neuron pada hidden layer
dikalikan dengan weight yang menuju ke neuron output layer. Setelah itu nilai
function output dikurangi dengan nilai target untuk mendapatkan nilai error.
3. Proses backward
Pada proses backward dari nilai error yang dihasilkan dari output layer akan
digunakan sebagai penentuan learning rate yang digunakan untuk melakukan
update weight dari output layer ke hidden layer dan ini sama juga dengan
melakukan update weight dari hidden layer menuju ke output layer.
Pada proses diatas setelah mencapai proses backward maka balik ke proses feedforward
dan dilakukan secara berulang – ulang berdasarkan pada nilai epoch yang ditetapkan
ataupun berdasarkan nilai error yang telah ditetapkan sampai proses pembelajaran
tersebut selesai. Proses perhitungan algoritma resilient backpropagation ditunjukan
sebagai berikut.
Pada proses perhitungan ini hanya menggunakan 6 input saja untuk memudahkan
perhitungan yang dilakukan. Arsitektur yang ditetapkan adalah 6 – 8 – 6 yaitu 6 neuron
pada input layer, 8 neuron pada hidden layer, dan 6 neuron pada output layer. Pada
hidden layer menggunakan 2 thread, jadi pada 1 thread terdapat 4 neuron. Nilai input
ditampilkan pada Tabel 3.5 berserta dengan targetnya.
Tabel 3. 5 Nilai Input dan Target
Iterasi

X1

X2

X3

X4

X5

X6

Target

1

-0,29711074

-0,21974984

-0,54056759

-0,15985587

-0,34680107

-0,60118907

100000

2

-0,38277796

-0,26594667

-0,90660877

0,0047518659

-0,352221

-0.61701539

010000

3

-0,08941795

0,3503063

-0,61875707

0,22870880

-0,19840814

-0,72534632

001000

4

-0,99534349

-0,99294196

-0,99471662

-0,98509701

-0,99030212

-0,98772069

000100

5

-0,99500944

-0,99574572

-0,9941746

-0,98630456

-0,98702854

-0,9903605

000010

6

-0,99821243

-0,99713065

-0,99584015

-0,99185951

-0,99263477

-0,9612347

000001

Universitas Sumatera Utara

35

Nilai masing – masing weight neuron dari input layer ke hidden layer ditunjukan pada
Tabel 3.6.
Tabel 3. 6 Nilai Weight dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8

W1
0.426761
0.147308
0.123516
-0.580798
0.094000
-0.022459
0.419578
-0.198452

W2
-0.209749
0.244746
-0.077415
0.079208
0.219853
0.203899
-0.550749
-0.034806

W3
0.130493
0.939377
0.665945
-0.168001
0.657973
-0.391928
0.867966
0.370672

W4
0.159938
-0.958328
-0.902579
-0.195628
-0.413534
-0.279733
-0.603141
0.850606

W5
0.513239
0.491299
0.609804
0.258399
-0.115490
-0.282830
0.578925
-0.842940

W6
0.259989
-0.345167
0.946845
-0.532974
-0.235629
0.251747
0.962164
-0.320036

Nilai masing – masing weight neuron dari hidden layer ke output layer ditunjukan pada
Tabel 3.7.
Tabel 3. 7 Nilai Weight dari Hidden Layer ke Output Layer
W1

W2

W3

W4

W5

W6

W7

W8

Neuron 1

-0.210552

0.247029

0.141611

-0.006003

0.367705

0.217677

0.236928

0.833174

Neuron 2

-0.194510

-0.906991

-0.687177

0.577420

-0.069840

0.878773

-0.661131

-0.479768

Neuron 3

0.132161

0.028865

-0.621014

-0.081734

0.124832

-0.105653

0.502964

0.933528

Neuron 4

-0.708678

0.347272

0.104149

0.683817

0.692320

-0.260428

-0.990184

-0.393145

Neuron 5

-0.054912

-0.230816

0.178554

-0.422108

0.617603

0.127605

-0.875401

0.823427

Neuron 6

0.266208

-0.536563

0.719287

-0.298457

-0.125625

0.689534

-0.050286

-0.503200

Proses perhitungan dibagi menjadi 2 thread. Pada thread pertama memproses neuron 1
sampai neuron 4, sedangkan thread kedua memproses neuron 5 sampai neuron 6.
Thread tersebut akan berjalan secara bersamaan dan proses perhitungan adalah sebagai
berikut:
Proses perhitungan pada thread 1


= − .

+ − .

× .

× .

+ − .



=

= − .
+

−�ℎ

+ − .

× .

=

+

− − .

+ − .

× − .

+ − .

× .

× .

= .

Universitas Sumatera Utara

36



= − .

+ − .

× .

× .

+ − .





×

=− .

=

−�ℎ

+

= − .

+ − .

=

× .

× .



=

= − .

=

−�ℎ

+

× − .

+ − .

+ − .
=



=

−�ℎ

=

Proses perhitungan pada thread 2


= − .

+ − .

× .





=

= − .

−�ℎ

+

+ − .

+ − .

=

.

+ − .

+ − .

+

+ − .

× − .

− − .

×− .

×− .

= .
+ − .

×

.

×− .

×− .

= .

× − .
=

×− .

× .

+ − .

− .

× .

+ − .

= − .

+

× − .

+ − .

× .

.

+

×− .

×− .

= .

+ − .

− − .

+

×− .

+ − .

× .

= − .

× .

+ − .

.

− − .

+

+ − .


+ − .

+ − .

× .

+ − .

×− .

+ − .

×− .

= .
+ − .

+ − .

×

.

×− .

× .

Universitas Sumatera Utara

37





=

−�ℎ

+

= − .

+ − .

=

× .

− − .

+



= − .

+

−�ℎ

+ − .

=

× − .

+ − .

=

−�ℎ

+

× .

=

+

×− .

+ − .

× .

= .

+ − .

× − .

+ − .

× − .

= .



− − .

+

× − .

+ − .

× .

= − .

=

+ − .

× .

+ − .


= .

+ − .

× .

×− .

= .

− .

Nilai function neuron pada hidden layer dijabarkan pada Tabel 3.8
Tabel 3. 8 Nilai Function Neuron pada Hidden Layer


Threa
d1
Threa

.



.

d2

.
.



.



.



.



.




Nilai function yang telah dihasilkan dari hidden layer pada masing – masing thread
dilanjutkan ke output layer. Proses perhitungan hidden layer ke output layer disajikan
sebagai berikut.


=

.

+

.

+

.

+

+

+

+

+

.

.

.

.

.

× − .

×

× .

.

×− .
×

× .

× .

× .

.

=

.

Universitas Sumatera Utara

38





=



=



���� �

=



=

−�

+



=

.

.

+

+

+

+

+







+

=

=



−��

=

���� �



× − .

] ×

− .

.



×[ − .

× − .

.

]

+



× − .

.

×− .

.

× .

.

× − .

.

× .

.

×− .

.

×− .

= − .

= − .

= .

=

=

= .

+

=



× .

+





× [ −

= .
=



− .

+

− − .

× [ −







=
] ×

− .


=

×[ − .
=− .

.

]

Universitas Sumatera Utara

39



=

.

+

.

+

+







.

×− .

.

× .

+

.

+

.

+

=

×− .

×− .

.

+

=

=



=

× .

× .

=

−��



���� �

× [ −



= .



=




× − .
.

−��

=

���� �

=

=

− .

] ×

×[ −

+

.

+

.

.

=

.



]

.

=− .

× − .

×

.

× .

× .

.

+

.

×

+

.

×− .

.

+

+



= − .

+

=

− .

+

+



× .

.

+



× .

=

.
+



= − .

.

×− .

.

×− .
− .





=

− .

=

.

Universitas Sumatera Utara

40





=



=

= .

× − .

.

+

.

+

.

+







× .

× .

×− .

=

���� �

=



× .
+



× − .
.

+

.

+

.

+

+

+

+

−��

=




=

=

− .

] ×

=

.

.



×[ − .

]

=− .

+

=



× [ −

+



− .

= − .

= .
=

]

×− .

−��

=

×[ − .

× .

.

+



× − .

.

+



× − .

.

+

] ×

=− .

.

+

=



.

+



× [ −



.

.

.

.

.

= − .
+

− − .

× .

× − .
× .

×− .

× − .

× .

×− .

×− .
=

.

Universitas Sumatera Utara

41






=
=

���� �





= − .

= .



× [ −



=

− .

] ×





×[ − .

× − .

]

=− .

Nilai function neuron pada output layer ditampilkan pada Tabel 3.9.
Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron Output Layer
Neuron
1
2
3
4
5
6

Error

Function
.

.
.

Gradien Error

.

.

.

− .

− .

− .

− .

− .

.

− .

− .

.

− .

− .

− .

Nilai gradien error yang telah didapatkan pada masing – masing neuron output layer,
dilanjutkan ke fase backward yaitu melakukan update weight pada jaringan neural
network tersebut. Update weight yang pertama kali dimulai dari weight hidden layer ke
output layer. Resilient backpropagation menggunakan nilai gradien error untuk
menentukan learning rate yang akan digunakan dan menentukan delta weight apakah
ditambah atau dikurangi pada waktu melakukan update weight tersebut, jika gradien
error lebih besar dari 0 maka nilai weight ditambah dengan nilai delta dan sebaliknya
jika nilai gradien error lebih kecil dari 0 maka nilai weight akan dikurangi dengan nilai
weight. Karena ini merupakan iterasi yang pertama maka gradien error terdahulu diberi
nilai 0 dan dikalikan dengan nilai gradien error output sekarang, maka dilanjutkan ke
perhitungan update weight dengan penjabaran sebagai berikut


= −

=− .

= .

= .

=− .

.

+ − .

+ − .

× . =− .

=− .

+ − .

=

+ − .

=− .

=

.

.

Universitas Sumatera Utara

42

= .

= .

+ − .

= .

= .

= .

+ − .

= .

+ − .

= .

+ − .

= .

Proses perhitungan tersebut dilanjutkan sampai neuron output ke enam dan hasil dari
weight tersebut disajikan pada Tabel 3.10.
Tabel 3. 10 Nilai Weight Baru dari Hidden Layer ke Output Layer
W1
Neuron
1
Neuron
2
Neuron
3
Neuron
4
Neuron
5
Neuron
6

− .

W2

W3

.

.

-0.09451

-0.806991

-0.587177

0.232161

0.128865

-0.608678

W4
− .

W5

W6

.

.

W7
.

W8
.

0.67742

0.03016

0.978773

-0.561131

-0.379768

-0.521014

0.018266

0.224832

-0.005653

0.602964

1.033528

0.447272

0.204149

0.783817

0.79232

-0.160428

-0.890184

-0.293145

0.045088

-0.130816

0.278554

-0.322108

0.717603

0.227605

-0.775401

0.923427

0.366208

-0.436563

0.819287

-0.198457

-0.025625

0.789534

0.049714

-0.4032

Setelah mengupdate weight hidden layer menuju ke output layer, maka dilanjutkan ke
bagian weight input layer ke hidden layer. Untuk mengupdate weight tersebut
diperlukan gradien error pada setiap neuron di hidden layer, maka perhitungan sebagai
berikut
�ℎ �

=



= .

×[ −

×( .

+ − .

+ − .

+ − .

+ − .

+ − .

= .



]×∑�
=

×[ − .

.

]

×− .

×− .
× .

×− .

×− .
× .

)

Universitas Sumatera Utara

43

�ℎ �

=



= .

×[ −



×( .

]×∑�
=

×[ − .

×− .

+ − .

× .

+ − .

× .

+ − .

×− .

+ − .

�ℎ �

=



= .

×[ −

×− .



×( .

]×∑�
=

×[ − .

× .

+ − .

× .

+ − .


= .

×[ −

×( .

+ − .

+ − .

+ − .

+ − .

+ − .

=− .

]

×− .

+ − .

=

.

×− .

+ − .

�ℎ �

)

× .

+ − .

= .

]

× .

+ − .

= .

.

× .



]×∑�
=

×[ − .

)
.

]

×− .
× .

×− .
× .

×− .

×− .

)

Universitas Sumatera Utara

44

�ℎ �

=



= .

×[ −



×( .

]×∑�
=

×[ − .

×− .

+ − .

× .

+ − .

× .

+ − .

× .

+ − .

×− .

=− .

=



= .

×[ −



×( .

]×∑�
=

×[ − .

×− .

+ − .

× .

+ − .

× .

=− .

= .

×[ −

×( .

+ − .

+ − .

+ − .

+ − .

+ − .
= .

]

×− .

+ − .



.

× .

+ − .

=

)

× .

+ − .

�ℎ �

]

× .

+ − .

�ℎ �

.



]×∑�
=

×[ − .

)
.

]

× .

×− .
× .

×− .

×− .

×− .

)

Universitas Sumatera Utara

45

�ℎ �

=

×[ −



= .



]×∑�
=

×[ − .

×( .

.

]

× .

+ − .

×− .

+ − .

× .

+ − .

×− .

+ − .

× .

+ − .

×− .

=− .

)

Nilai gradien error neuron pada hidden layer ditampilkan pada Tabel 3.11.
Tabel 3. 11 Nilai Gradien Error Neuron pada Hidden Layer
Neuron
Nilai Gradien Error
.

1
2

.

3

.

− .

4

− .

5

− .

6

.

7

− .

8

Setelah didapatkan nilai gradien error masing – masing neuron pada hidden layer, maka
dilanjutkan ke update weight yang berada diantara input layer dan hidden layer.
Perhitungan update weight untuk hidden layer sama dengan update weight pada output
layer dengan perhitungan sebagai berikut
∆ ℎ = −




=− .



=− .

= .

.

+ − .

+ − .

+ − .

=− .

× . =− .

=− .
= .

Universitas Sumatera Utara

46



= .

+ − .

= .



= .

+ − .

= .



= .

+ − .

= .

Proses perhitungan update weight tersebut dilanjutkan sampai neuron ke 8 dan hasil
update weight tersebut akan ditampilkan pada tabel 3.12
Tabel 3. 12 Nilai Weight Baru dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8

W1
− .
0.047308
0.023516
-0.480798
0.194
0.077541
0.319578
-0.098452

W2
− .
0.144746
-0.177415
0.179208
0.319853
0.303899
-0.650749
0.065194

W3
.
0.839377
0.565945
-0.068001
0.757973
-0.291928
0.767966
0.470672

W4
.
-1.058328
-1.002579
-0.095628
-0.313534
-0.179733
-0.703141
0.950606

W5
.
0.391299
0.509804
0.358399
-0.01549
-0.18283
0.478925
-0.74294

W6
.
-0.445167
0.846845
-0.432974
-0.135629
0.351747
0.862164
-0.220036

Setelah didapatkan nilai weight baru dari iterasi pertama maka dilanjutkan ke iterasi
berikutnya sampai ke iterasi ke enam, lalu setelah semua iterasi selesai maka diulangi
sampai nilai error mendekati dengan nilai nol.
3.8

CPU Time untuk Parallel Processing

Analisis CPU Time jaringan arsitektur neural network parallel processing ini
difokuskan pada setiap iterasi yang diproses oleh jaringn neural network. Hasil CPU
Time yang dihasilkan adalah waktu per iterasi, dan total CPU Time pemebelajaran aka
didapatkan dari total dari seluruh iterasi.
�= ∑
=

T adalah total waktu jaringan neural network.

3.1
adalah waktu iterasi. Waktu yang

dihasilkan sebanyak 7 total waktu dari masing – masing thread yang diuji. Pengujian
yang dilakukan adalah sebanyak 3 kali ini dilakukan karena hasil CPU Time yang
dihasilkan tidaklah sama pada setiap waktu karena tergantung pada proses komputer
tersebut, sehinga harus dilakukan tiga kali pengujian untuk memastikan jumlah thread
yang cepat melakukan pembelajaran neural network. Pengujian yang dilakukan

Universitas Sumatera Utara

47

sebanyak tiga kali maka harus dicari rata – rata nilai tersebut dengan menggunakan
rumus sebagai berikut:
�� =

∑= �

3.2

RT adalah merupakan rata – rata waktu, dan ∑ = � merupakan jumlah total dari 3

pengujian tersebut dan dibagi dengan banyak pengujian tersebut dilakukan yaitu 3.

Universitas Sumatera Utara

BAB 4
HASIL DAN PEMBAHASAN

4.1.

Pendahuluan

Pada bab ini menjelaskan hasil penelitian dari penerapan parallel processing ke dalam
resilient backpropagation terhadap waktu training yang dihasilkan. Dataset tersebut
diambil sample hanya 100 kasus, nilai iterasi yaitu 100 dan nilai epoch yaitu 200.
Analisis waktu pelatihan resilient backpropagation dengan penerapan parallel
processing berdasarkan pada CPU time, pada setiap iterasi dihasilkan CPU time ini
digunakan sebagai total keseluruhan waktu proses pembelajaran tersebut dimulai
sampai proses pembelajaran tersebut selesai.
4.2.

Peralatan Pengujian

Hardware yang digunakan dalam pengujian adalah 1 buah komputer dengan
speksifikasi:
1. Processor Core i3
2. Ram 1 GB
Software yang digunakan dalam penelitian ini adalah:
1. Sistem Operasi : Windows 7 Profesional
2. Bahasa Pemograman : Python 3.1
4.3.

Hasil Penelitian

Dalam melakukan pengujian ini dilakukan sebanyak 7 pengujian berdasarkan jumlah
thread yang telah ditentukan pada metode penelitian. Pengujian yang dilakukan ini
berdasarkan banyak thread yang digunakan pada arsitektur neural network. Pengujian
yang diberikan dilakukan sebanyak tiga kali testing untuk mendapatkan waktu rata –
rata pada ketujuh pengujian tersebut.

Universitas Sumatera Utara

49

Hasil proses update weight pada penelitian ini akan ditampilkan dalam tabel 4.1
sebagai berikut.
Tabel 4. 1 Proses update weight berserta dengan CPU Time / iterasi
Weight Hidden

Weight Output

CPU Time

Iterasi

-4,95137

2,102565

-0,947173

-5,327748

-8,68779

8,345004

1,5288

1,372791

1,4508

1,4976

2

-5,05137

2,002565

-1,047173

-5,227748

-8,58779

8,445004

1,3416

1,185593

1,3416

1,3416

3

-5,15137

1,902565

-1,147173

-5,107748

-8,46779

8,565004

1,3728

1,185592

1,3416

1,2324

4

-5,15137

1,902565

-1,147173

-5,107748

-8,46779

8,565004

1,3572

1,154393

1,3416

1,3104

5

-5,15137

1,902565

-1,147173

-4,987748

-8,34779

8,685004

1,3728

1,169992

1,2948

1,3572

6

-5,15137

1,902565

-1,147173

-4,987748

-8,34779

8,685004

1,3884

1,185593

1,2168

1,326


1



7
thread



5
thread



3 thread



1
thread



W3



W2



W1



W3



W2



W1

20000

-5,07137

1,982565

-1,067173

-5,327748

-8,68779

8,345004

1,4352

1,154393

1,24796

1,248

Pada Tabel 4.1 hanya mengambil beberapa sampel untuk bagian weight untuk hidden
dan weight output, demikian pada CPU Time – nya. Pengambilan sample ini disebabkan
total weight yang cukup banyak yaitu proses dari input layer ke hidden layer ada
sebanyak 212058 weight pada hidden layer ke output layer ada sebanyak 2268 weight.
Hasil waktu dari algoritma resilient backpropagation dengan menggunakan
teknik parallel processing menggunakan threading ditampilkan dalam bentuk tabel,
hasil pengujian dilakukan sebanyak tiga kali sehingga ditampilkan tiga bentuk tabel
pengujian dengan bentuk pengujian yang sama yaitu pada setiap tabel akan
menampilkan tujuh bagian yang diselesaikan oleh masing – masing thread bertujuan
untuk mengetahui waktu yang diselesaikan pada masing – masing thread dan
dibandingkan thread manakah yang memiliki waktu proses yang paling cepat selesai.
Pengujian pada pertama kali resilient backpropagation disajikan dalam Tabel 4.2 dan
Tabel 4.3 sebagai lanjutannya.
Tabel 4. 2 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading
Thread
Waktu Selesai
Rata – Rata Waktu Iterasi
1

27293.694772998733 / detik 1.3646847386499366 / detik

2

25413.755037002018 / detik

1.270687751850101 / detik

3

23914.01629200012 / detik

1.195700814600006 / detik

4

25231.32637700154 / detik

1.261566318850077 / detik

Universitas Sumatera Utara

50

Tabel 4. 3 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading
(lanjutan)
Thread
Waktu Selesai
Rata – Rata Waktu Iterasi
5

25519.277693998476 / detik 1.2759638846999237 / detik

6

26835.739719997993 / detik 1.3417869859998997 / detik

7

27292.983101998594 / detik 1.3646491550999298 / detik

Tabel 4.2 dan Tabel 4.3 menunjukan pada pengujian pertama kali mendapatkan bahwa
dengan menggunakan 3 buah thread pada arsitektur neural network resilient
backpropagation pada dapat diselesaikan dalam waktu 23914,01629200012 / detik atau
6,643782 jam. Sedangkan pada pada proses yang menggunakan 1 buah thread dan 7
buah thread menunjukan hasil yang hampir sama yaitu 27293,694772998733 / detik
untuk 1 buah thread dan 27292,983101998594 / detik untuk 7 buah thread, hanya
menunjukan perbedaan 1 detik saja. Pada tabel 4.1 pada pengujian pertama ini
menunjukan terjadi kecepatan penyelesaian yang dimulai dari penggunaan 1 buah
thread sampai 3 buah thread tapi setelah 4 buah thread menunjukan perlambatan waktu
penyelesaian dan ini terjadi pada terus pada 5 buah thread sampai 7 buah thread. Untuk
hasil visual dari peningkatan kecepatan pada penggunaan thread ditunjukan pada
Gambar 4.1.
28000

CPU Time / detik

27000
26000
25000
24000
23000
22000
1

2

3

4

5

6

7

Thread

Gambar 4. 1 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah
Thread Pengujian I
Pada pengujian yang kedua menunjukan hasil sama pada pengujian pertama yaitu 3
buah thread cepat dalam penyelsaian tapi berbeda waktu penyelesaiannya pada
pengujian yang pertama yaitu pada pengujian yang pertama menunjukan CPU time

Universitas Sumatera Utara

51

yang diselesaikan 23914,01629200012 / detik pada pengujian yang kedua waktu
penyelesaiannya 23910,218218001297 / detik, lebih cepat 4 detik dalam penyelesaian
waktunya. Hasil dari pengujian yang kedua ini ditampilkan dalam Tabel 4.4 dan untuk
grafik ditampilkan pada Gambar 4.2.
Tabel 4. 4 Hasil Pengujian II Resilient Backpropagation Parallel Multithreading
Thread
Waktu Selesai
Rata – Rata Waktu Iterasi
1

27290.439604999618 / detik 1.3645219802499808 / detik

2

25172.112700000416 / detik 1.2586056350000208 / detik

3

23910.218218001297 / detik 1.1955109109000648 / detik

4

24732.658940000627 / detik 1.2366329470000312 / detik

5

25274.041188002 / detik

1.2637020594001 / detik

6

26885.634780998025 / detik 1.3442817390499013 / detik

7

27160.287975998206 / detik 1.3580143987999103 / detik

28000

CPU Time / detik

27000
26000
25000
24000
23000
22000
1

2

3

4

5

6

7

Thread

Gambar 4. 2 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah
Thread Pengujian II
Pada pengujian yang ketiga menampilkan hasil sama yaitu dengan menggunakan 3 buah
thread pada arsitektur neural network resilient backpropagation menunjukan kecepatan
waktu penyelesaian yang lebih cepat daripada thread lainnya, tetapi waktu penyelesaian
berbeda

pada

yaitu

24067.489326000406

pada
/

detik,

pengujian

ketiga

penggujian

waktu

kedua

diselesaikn

waktu

dalam

penyelesaiannya

23910.218218001297 / detik, dan pengujian pertama waktu penyelesaiannya

Universitas Sumatera Utara

52

23914.01629200012 / detik. Hasil pengujian ini akan ditampilkan pada Tabel 4.5 dan
untuk grafik waktu akan ditampilkan pada Gambar 4.3.
Tabel 4. 5 Hasil Pengujian III Resilient Backpropagation Parallel Multithreading
Thread
Waktu Selesai
Rata – Rata Waktu Iterasi
1

32389.488616999854 / detik

1.6194744308499927 / detik

2

27906.764599999868 / detik

1.3953382299999935 / detik

3

24067.489326000406 / detik

1.2033744663000203 / detik

4

25553.457462000133 / detik

1.2776728731000067 / detik

5

25500.42951299844 / detik

1.2750214756499219 / detik

6

26590.765166998073 / detik

1.3295382583499036 / detik

7

27500.32026299811 / detik

1.3750160131499054 / detik

35000

CPU Time / detik

30000
25000
20000
15000
10000
5000
0
1

2

3

4

5

6

7

Thread

Gambar 4. 3 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah
Thread Pengujian II
Hasil pengujian pada Tabel 4.1, Tabel 4.2, dan Tabel 4.3 menunjukan hasil waktu yang
bervariasi. Karena hasil yang bervariasi maka ketiga pengujian tersebut digabungkan
dengan rata – rata waktu penyelesaian dari hasil pengujian tersebut. Hasil pengujian
yang telah ditampilkan digabungkan menjadi sebuah tabel dengan menjumlahkan
waktu selesai dari masing – masing proses dan hasil penjumlahan dibagi dengan banyak
pengujian tersebut.

�� � − �� � ��

=

∑=
Universitas Sumatera Utara

53

Hasil rata – rata pengujian tersebut ditunjukan pada Tabel 4.6 sebagai berikut
Tabel 4. 6 Hasil Pengujian Rata – Rata Resilient Backpropagation Parallel
Multithreading
Rata – Rata Waktu Iterasi /
Thread Waktu Selesai / detik
detik
1
2
3
4
5
6
7

1,449560383
1,308210539
1,198195397
1,258624046
1,271562473
1,338535661
1,365893189

28991,20766
26164,21078
23963,90795
25172,48093
25431,24946
26770,71322
27317,86378

Pada pengujian pertama sampai pengujian ketiga bahwa dengan menggunakan 3 thread
pada arsitektur neural network menunjukan waktu proses pembelajaran pada jaringan
tersebut lebih dibandingkan dengan enam pengujian thread lainnya. Pada pengabungan
waktu berfungsi untuk melihat hasil rata – rata waktu penyelesaian masing – masing
thread pada tiga pengujian tersebut. Hasil tampilan grafik waktu rata – rata waktu
tersebut ditampilkan pada Gambar 4.4.
35000

CPU Time / second

30000
25000
20000
15000
10000
5000

0
1

2

3

4

5

6

7

Thread

Gambar 4. 4 Grafik Rata – Rata Waktu Selesai Pembelajaran Resilient
Backpropagation
Hasil penelitian yang telah dilakukan pada (Stubbemann, Kramer, & Treiber,
2015)bagian diatas menunjukan 3 buah thread membantu dalam mempercepat waktu
training, dengan jumlah neuroan pada hidden layer sebanyak 378 neuron.

Universitas Sumatera Utara

54

4.4.

Pembahasan

Hasil pengujian yang telah dilakukan mendapatkan bahwa jaringan neural network
yaitu resilient backpropagation dengan menambahkan teknik parallel processing yang
diimplementasikan menggunakan multithreading menunjukan membantu kinerja
pembelajaran dari jaringan neural network resilient backpropagation. Ini ditunjukan
dari hasil rata – rata waktu pengujian kecepatan pembelajaran yaitu dibuktikan dari
thread 1 sampai thread 3 didapatkan penurunan waktu ini menunjukan kecepatan
pembelajaran thread 3 lebih cepat dari pada thread 1 dan thread 2. Tetapi thread 4
menunjukan waktu yang berangsur – angsur naik sampai thread ke 7, ini menunjukan
waktu pembelajaran menjadi lebih lambat.
Penurunan kecepatan yang dimulai dari penggunaan 4 buah thread ini dapat
disebabkan oleh kemampuan hardware yang digunakan dan pergantian antar thread
yang terjadi. Pengunaan hardware yaitu Core i3 dengan dua core pada masing – masing
core dapat menjalankan 2 thread sekaligus, karena kemampuan ini dapat memproses 4
thread pada waktu yang bersamaan. Proses pada jaringan neural network menggunakan
parallel processing dengan teknik multithreading, pada 1 thread maka yang terjadi ada
adanya penggunaan 2 thread yaitu 1 thread untuk memproses semua neuron pada
hidden layer dan 1 thread sebagai melakukan pengecekan terhadap proses neuron pada
hidden layer apakah sudah selesai semua. Pada saat 2 thread maka yang terjadi adalah
pembentukan sebanyak 2 thread untuk memproses neuron pada hidden layer dan 1
thread sebagai pengecekannya. Pada saat 3 thread maka yang berjalan adalah 4 thread
yaitu 3 thread memproses neuron pada hidden layer dan 1 thread sebagai pengecekan.
Pada setiap thread yang digunakan maka ditambah satu thread sebagai pengecekan
proses pada hidden layer. Oleh sebab itu pemanfaatan thread yang paling optimal
adalah 3 thread karena penggunaan seluruh kemampuan hardware. Tetapi pada saat
penggunaan 4 thread maka yang terjadi adalah pengantian proses antar thread yaitu
thread diproses secara bergantian pada hardware secara berulang – ulang sampai proses
tersebut selesai. Oleh sebab itu terjadi kenaikan waktu proses karena perpindahaan antar
thread tersebut.

Universitas Sumatera Utara

BAB 5
KESIMPULAN DAN SARAN

5.1.

Kesimpulan

Kesimpulan dari hasil penelitian yang dilakukan yaitu:
1. Parallel processing menggunakan multithreading yang diterapakan ke dalam
arsitektur resilient backpropagation membantu kinerja waktu pembelajaran
resilient backpropagation dengan hanya memanfaatkan 3 thread pada kasus
pengenalan aktifitas manusia.
2. Pengunaan lebih dari 3 thread pada arsitektur resilient backpropagation
menyebabkan penurunan waktu pembelajaran yaitu lebih lambat, ini disebabkan
oleh terjadi proses perpindahaan antar thread sehingga terjadi penambahaan
waktu pada setiap perpindahaan thread tersebut.
5.2.

Saran

Saran yang diberikan oleh penulis adalah sebagai berikut:
1. Penggunaan parallel dengan multithreading terhadap arsitektur resilient
backpropagation harus memperhatikan jumlah thread yang dapat diproses pada
waktu bersamaan pada sebuah CPU karena ini berpengaruh terhadap eksekusi
thread yang dapat menyebabkan waktu delay pada perpindahaan antar thread
tersebut.
2. Untuk meningkatkan kemampuan parallel processing pada arsitektur resilient
backpropagation dapat menggunakan multiprocessor yaitu menggunakan
beberapa processor pada waktu bersamaan.

Universitas Sumatera Utara