• Tidak ada hasil yang ditemukan

BAB 3 METODOLOGI PENELITIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 METODOLOGI PENELITIAN"

Copied!
35
0
0

Teks penuh

(1)

BAB 3

METODOLOGI PENELITIAN

3.1 Pendahuluan

Algoritma ResilientBackpropagation (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.

(2)

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

artificialneural 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.

(3)

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 Nama Feature No Nama Feature

1 tBodyAcc-mean()-X 281 fBodyAcc-sma() 2 tBodyAcc-mean()-Y 282 fBodyAcc-energy()-X 3 tBodyAcc-mean()-Z 283 fBodyAcc-energy()-Y 4 tBodyAcc-std()-X 284 fBodyAcc-energy()-Z 5 tBodyAcc-std()-Y 285 fBodyAcc-iqr()-X 6 tBodyAcc-std()-Z 286 fBodyAcc-iqr()-Y 7 tBodyAcc-mad()-X 287 fBodyAcc-iqr()-Z 8 tBodyAcc-mad()-X 288 fBodyAcc-entropy()-X 9 tBodyAcc-mad()-Z 289 fBodyAcc-entropy()-Y 10 tBodyAcc-max()-X 290 fBodyAcc-entropy()-Z 11 tBodyAcc-max()-Y 291 fBodyAcc-maxInds-X 12 tBodyAcc-max()-Z 292 fBodyAcc-maxInds-Y 13 tBodyAcc-min()-X 293 fBodyAcc-maxInds-Z 14 tBodyAcc-min()-Y 294 fBodyAcc-meanFreq()-X 15 tBodyAcc-min()-Z 295 fBodyAcc-meanFreq()-Y 16 tBodyAcc-sma() 296 fBodyAcc-meanFreq()-Z 17 tBodyAcc-energy()-X 297 fBodyAcc-skewness()-X 18 tBodyAcc-energy()-Y 298 fBodyAcc-kurtosis()-X 19 tBodyAcc-energy()-Z 299 fBodyAcc-skewness()-Y 20 tBodyAcc-iqr()-X 300 fBodyAcc-kurtosis()-Y 21 tBodyAcc-iqr()-Y 301 fBodyAcc-skewness()-Z 22 tBodyAcc-iqr()-Z 302 fBodyAcc-kurtosis()-Z 23 tBodyAcc-entropy()-X 303 fBodyAcc-bandsEnergy()-1,8 24 tBodyAcc-entropy()-Y 304 fBodyAcc-bandsEnergy()-9,16 25 tBodyAcc-entropy()-Z 305 fBodyAcc-bandsEnergy()-17,24 26 tBodyAcc-arCoeff()-X,1 306 fBodyAcc-bandsEnergy()-25,32 27 tBodyAcc-arCoeff()-X,2 307 fBodyAcc-bandsEnergy()-33,40 28 tBodyAcc-arCoeff()-X,3 308 fBodyAcc-bandsEnergy()-41,48 29 tBodyAcc-arCoeff()-X,4 309 fBodyAcc-bandsEnergy()-49,56

(4)

No Nama Feature No Nama Feature 30 tBodyAcc-arCoeff()-Y,1 310 fBodyAcc-bandsEnergy()-57,64 31 tBodyAcc-arCoeff()-Y,2 311 fBodyAcc-bandsEnergy()-1,16 32 tBodyAcc-arCoeff()-Y,3 312 fBodyAcc-bandsEnergy()-17,32 33 tBodyAcc-arCoeff()-Y,4 313 fBodyAcc-bandsEnergy()-33,48 34 tBodyAcc-arCoeff()-Z,1 314 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

No Aktifitas Nilai Target

1 Jalan 100000 2 Naik Tangga 010000 3 Turun Tangga 001000 4 Duduk 000100 5 Berdiri 000010 6 Tidur 000001

3.4 Arsitektur ArtificialNeuralNetwork

Rancangan arsitektur artificialneuralnetwork ini bertujuan untuk menentukan jumlah neuron pada masing – masing layer.

3.4.1 InputLayer

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

(5)

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 HiddenLayer

Hidden Layer merupakan layer melakukan proses nilai input menghasilkan nilai function yang diteruskan ke layer output. Node atau neuron yang disediakan pada

hiddenlayer di penelitian ini ditentukan berdasarkan (Heaton, 2008):

1. Jumlah neuron pada hiddenlayer harus diantara jumlah neuron pada inputlayer

dan jumlah neuron pada outputlayer.

2. Jumlah neuron pada hiddenlayer harus 2/3 jumlah neuron pada inputlayer, dan ditambahkan dengan jumlah neuron pada outputlayer

3. Jumlah neuron pada hiddenlayer harus kurang dari dua kali jumlah neuron pada

inputlayer

Neuron hiddenlayer yang digunakan pada penelitian ini adalah menggunakan peraturan pada no 2 yaitu jumlah neuron pada hiddenlayer adalah 2/3 dari jumlah neuron input layer dan outputlayer. Jumlah neuron pada hiddenlayer yang digunakan adalah

𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2 3(𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 𝑖𝑛𝑝𝑢𝑡 + 𝑗𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 𝑜𝑢𝑡𝑝𝑢𝑡) 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2 3(561 + 6) 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2 3 567 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 378

Jumlah neuron hiddenlayer yang digunakan sebanyak 378 neuron pada hiddenlayer.

3.4.3 OutputLayer

Output Layer merupakan layer memproses nilai dari hidden layer dan menghasilkan nilai error, yang digunakan sebagai nilai untuk mengupdate nilai weight. Neuron pada

layeroutput 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.

(6)

Berdasarkan data yang telah disebutkan maka rancangan neural network dijelaskan melalui Gambar 3.3. Input Layer X1 Y1 Y2 Y377 Y378 X2 X 561 Z1 Z2 Z6 Hidden Layer Output Layer . . . . . . . . . Feed Forward Backward

Gambar 3. 2 Arsitektur NeuralNetwork 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 inputlayer. Pada hiddenlayer

berdasarkan perhitungan yang telah didapatkan maka neuron pada hidden layer

disediakan sebanyak 378 neuron. Dan untuk output layer sesuai dengan data yang disebut pada outputlayer 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

(7)

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 BackpropagationParallel

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.

X1 Y1 Y2 Y377 Y378 X2 X561 Z1 Z2 Z6 1 Thread . . . . . . . . . Feed Forward

Gambar 3. 3 Arsitektur NeuralNetworkParallel dengan 1 Thread

Gambar 3.3 arsitektur neural network ini satu buah thread memproses sebanyak 378 neuron pada hiddenlayer.

(8)

X1 Y1 Y188 Y189 Y378 X2 X561 Z1 Z2 Z6 1 Thread 2 Thread . . . . . . . . . . . .

Gambar 3. 4 Arsitektur NeuralNetworkParallel dengan 2 Thread

Gambar 3.4 thread yang digunakan yaitu sebanyak 2 buah dan 1 buah thread

memproses sebanyak 189 neuron.

X1 Y252 Y378 X2 X561 Z1 Z2 Z6 3 Thread . . . Y1 Y125 1 Thread . . . Y126 Y251 2 Thread . . . . . . . . . Feed Forward

(9)

Gambar 3.5 pada arsitektur neuralnetwork dibentuk 3 thread untuk memproses neuron pada hiddenlayer. Pada masing – masing thread memproses sebanyak 126 thread.

X1 Y188 Y281 X2 X561 Z1 Z2 Z6 3 Thread . . . Y1 Y93 1 Thread . . . Y94 Y187 2 Thread . . . Y282 Y378 4 Thread . . . . . . .. . Feed Forward

Gambar 3. 6 Arsitektur NeuralNetworkParallel dengan 4 Thread

Gambar 3.6 pada arsitektur neural network ini ada 4 thread yang dibuat untuk memproses neuron yang berada pada hiddenlayer. 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.

(10)

X1 Y150 Y224 X2 X561 Z1 Z2 Z6 3 Thread . . . Y1 Y74 1 Thread . . . Y75 Y149 2 Thread . . . Y299 Y378 5 Thread . . . Y225 Y299 4 Thread . . . . . . .. .

Gambar 3. 7 Arsitektur NeuralNetworkParallel dengan 5 Thread

Gambar 3.8 arsitektur neuralnetworkneuralnetwork ini menggunakan 5 thread untuk memproses neuron pada hiddenlayer. Pada thread 1 sampai 4 memproses 75 neuron, dan thread ke 5 memproses sebanyak 78 thread.

(11)

X1 Y126 Y188 X2 X561 Z1 Z2 Z6 3 Thread . . . Y1 Y62 1 Thread . . . Y63 Y125 2 Thread . . . Y252 Y314 5 Thread . . . Y189 Y251 4 Thread . . . Y315 Y378 6 Thread . . . . . . .. . Feed Forward

Gambar 3. 8 Arsitektur NeuralNetworkParallel dengan 6 Thread

Gambar 3.8 arsitektur neural network ini menggunakan 6 thread untuk memproses neuron pada hiddenlayer, pada masing – masing thread memproses 63 neuron.

(12)

X1 Y108 Y161 X2 X561 Z1 Z2 Z6 3 Thread . . . Y1 Y53 1 Thread . . . Y54 Y107 2 Thread . . . Y206 Y259 5 Thread . . . Y162 Y205 4 Thread . . . Y260 Y313 6 Thread . . . Y314 Y378 7 Thread . . . . . . . . .

Gambar 3. 9 Arsitektur NeuralNetworkParallel dengan 7 Thread

Gambar 3.9 arsitektur ini menggunakan 7 buah thread untuk memproses neuron pada

hiddenlayer. 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 resilientbackpropagation.

(13)

Pengujian yang dilakukan dibagi menjadi beberapa bagian berdasarkan thread

yang dibentuk pada multithreading yang dijabarkan pada Tabel 3.4.

Tabel 3. 4 Pembagian Neuron HiddenLayer Berdasarkan Jumlah Thread Thread yang

terbentuk

Hidden Neuron pada sebuah Thread

Total Neuron pada

HiddenLayer 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 ParallelResilientBackpropagation

Pada proses perhitungan parallel ini dijabarkan terlebih dahulu proses kerja dari algoritma resilientbackpropagation 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.

(14)

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 hiddenlayer telah terkumpul, maka dilanjutkan ke output layer. Pada output layer setiap neuron pada outputlayer menerima jumlah dari nilai function neuron pada hiddenlayer

dikalikan dengan weight yang menuju ke neuron outputlayer. 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 updateweight dari hiddenlayer menuju ke outputlayer.

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

hiddenlayer 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

(15)

Nilai masing – masing weight neuron dari inputlayer ke hiddenlayer ditunjukan pada Tabel 3.6.

Tabel 3. 6 Nilai Weight dari InputLayer ke HiddenLayer

W1 W2 W3 W4 W5 W6 Neuron 1 0.426761 -0.209749 0.130493 0.159938 0.513239 0.259989 Neuron 2 0.147308 0.244746 0.939377 -0.958328 0.491299 -0.345167 Neuron 3 0.123516 -0.077415 0.665945 -0.902579 0.609804 0.946845 Neuron 4 -0.580798 0.079208 -0.168001 -0.195628 0.258399 -0.532974 Neuron 5 0.094000 0.219853 0.657973 -0.413534 -0.115490 -0.235629 Neuron 6 -0.022459 0.203899 -0.391928 -0.279733 -0.282830 0.251747 Neuron 7 0.419578 -0.550749 0.867966 -0.603141 0.578925 0.962164 Neuron 8 -0.198452 -0.034806 0.370672 0.850606 -0.842940 -0.320036

Nilai masing – masing weight neuron dari hiddenlayer ke outputlayer ditunjukan pada Tabel 3.7.

Tabel 3. 7 Nilai Weight dari HiddenLayer ke OutputLayer

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

𝑁𝑦1 = (−0.29711074 × 0.426761) + (−0.21974984 × −0.209749) + (−0.54056759 × 0.130493 ) + (−0.15985587 × 0.159938 ) + (−0.34680107 × 0.513239) + (−0.60118907 × 0.259989 ) = −0.51110466146687 𝑓(𝑁𝑦1) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−0.51110466146687)= 0.3749346028203156

(16)

+ (−0.54056759 × 0.939377 ) + (−0.15985587 × −0.958328 ) + (−0.34680107 × 0.491299) + (−0.60118907 × −0.345167) = −0.41502447919987007 𝑓(𝑁𝑦2) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−0.41502447919987007) = 0.3977079594387821 𝑁𝑦3 = (−0.29711074 × 0.123516) + (−0.21974984 × −0.077415) + (−0.54056759 × 0.665945 ) + (−0.15985587 × −0.902579) + (−0.34680107 × 0.609804) + (−0.60118907 × 0.946845 ) = −1.01610527340649 𝑓(𝑁𝑦3) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−1.01610527340649) = 0.2657867400127982 𝑁𝑦4 = (−0.29711074 × −0.580798) + (−0.21974984 × 0.079208) + (−0.54056759 × −0.168001 ) + (−0.15985587 × −0.195628 ) + (−0.34680107 × 0.258399) + (−0.60118907 × −0.532974) = 0.508048651775 𝑓(𝑁𝑦4) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(0.508048651775)= 0.6243489216047062 Proses perhitungan pada thread 2

𝑁𝑦5 = (−0.29711074 × 0.094000) + (−0.21974984 × 0.219853) + (−0.54056759 × 0.657973 ) + (−0.15985587 × −0.413534 ) + (−0.34680107 × −0.115490) + (−0.60118907 × −0.235629 ) = −0.18410447773467994 𝑓(𝑁𝑦5) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−0.18410447773467994) = 0.4541034439696736 𝑁𝑦6 = (−0.29711074 × −0.022459) + (−0.21974984 × 0.203899) + (−0.54056759 × −0.391928 ) + (−0.15985587 × −0.279733 ) + (−0.34680107 × −0.282830) + (−0.60118907 × 0.251747 ) = 0.16518477580253998

(17)

𝑓(𝑁𝑦6) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−0.18410447773467994) = 0.5412025487653866 𝑁𝑦7 = (−0.29711074 × 0.419578) + (−0.21974984 × −0.550749) + (−0.54056759 × 0.867966 ) + (−0.15985587 × −0.603141) + (−0.34680107 × 0.578925) + (−0.60118907 × 0.962164 ) = −1.15562707476906 𝑓(𝑁𝑦7) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(−1.15562707476906) = 0.2394627762742987 𝑁𝑦8 = (−0.29711074 × −0.198452) + (−0.21974984 × −0.034806) + (−0.54056759 × 0.370672) + (−0.15985587 × 0.850606) + (−0.34680107 × −0.842940) + (−0.60118907 × −0.320036) = 0.21499784078014 𝑓(𝑁𝑦8) = 1 1 + 𝑒−𝑁ℎ1 = 1 1 + 𝑒−(0.21499784078014)= 0.553543369536466 Nilai function neuron pada hiddenlayer dijabarkan pada Tabel 3.8

Tabel 3. 8 Nilai Function Neuron pada HiddenLayer

Threa d 1 𝑓(𝑁𝑦1) 𝑓(𝑁𝑦2) 𝑓(𝑁𝑦3) 𝑓(𝑁𝑦4) 0.3749346028203156 0.3977079594387821 0.2657867400127982 0.6243489216047062 Threa d 2 𝑓(𝑁𝑦5) 𝑓(𝑁𝑦6) 𝑓(𝑁𝑦7) 𝑓(𝑁𝑦8) 0.4541034439696736 0.5412025487653866 0.2394627762742987 0.553543369536466

Nilai function yang telah dihasilkan dari hidden layer pada masing – masing thread

dilanjutkan ke outputlayer. Proses perhitungan hiddenlayer ke output layer disajikan sebagai berikut. 𝑁𝑧1 = (0.3749346028203156 × −0.210552) + (0.3977079594387821 × 0.247029) + (0.2657867400127982 × 0.141611 ) + (0.6243489216047062 × −0.006003 ) + (0.4541034439696736 × 0.367705) + (0.5412025487653866 × 0.217677 ) + (0.2394627762742987 × 0.236928 ) + (0.553543369536466 × 0.833174 ) = 0.8559093625825036

(18)

𝑓(𝑁𝑧1) = 1 + 𝑒−𝑁𝑜1 =1 + 𝑒−(0.8559093625825036) = 0.7018052950441617 𝑒𝑜(𝑁𝑧1) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧1) − 𝑓(𝑁𝑧1) = 1 − 0.7018052950441617 = 0.29819470495583833 𝛿𝑜 (𝑁𝑧1) = 𝑓(𝑁𝑧1) × [1 − 𝑓(𝑁𝑧1)] × 𝑒𝑜(𝑁𝑧1) = 0.7018052950441617 × [1 − 0.7018052950441617] × 0.29819470495583833 = 0.06240458442806568 𝑁𝑧2 = (0.3749346028203156 × −0.194510) + (0.3977079594387821 × −0.906991) + (0.2657867400127982 × −0.687177 ) + (0.6243489216047062 × 0.577420 ) + (0.4541034439696736 × −0.069840) + (0.5412025487653866 × 0.878773) + (0.2394627762742987 × −0.661131 ) + (0.553543369536466 × −0.479768 ) = −0.23578610696011662 𝑓(𝑁𝑧2) = 1 1 + 𝑒−𝑁𝑧2 = 1 1 + 𝑒−(−0.23578610696011662) = 0.44132505826024154 𝑒𝑜(𝑁𝑧2) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧2) − 𝑓(𝑁𝑧2) = 0 − 0.44132505826024154 = −0.44132505826024154 𝛿𝑜 (𝑁𝑧2) = 𝑓(𝑁𝑧2) × [1 − 𝑓(𝑁𝑧2)] × 𝑒𝑜(𝑁𝑧2) = 0.44132505826024154 × [1 − 0.44132505826024154] × −0.44132505826024154 = −0.10881189325554852

(19)

𝑁𝑧3 = (0.3749346028203156 × 0.132161) + (0.3977079594387821 × 0.028865) + (0.2657867400127982 × −0.621014 ) + (0.6243489216047062 × −0.081734 ) + (0.4541034439696736 × 0.124832) + (0.5412025487653866 × −0.105653) + (0.2394627762742987 × 0.502964 ) + (0.553543369536466 × 0.933528 ) = 0.48164010968736654 𝑓(𝑁𝑧3) = 1 1 + 𝑒−𝑁𝑧3 = 1 1 + 𝑒−(0.48164010968736654) = 0.61813508792344 𝑒𝑜(𝑁𝑧3) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧3) − 𝑓(𝑁𝑧3) = 0 − 0.61813508792344 = −0.61813508792344 𝛿𝑜 (𝑁𝑧3) = 𝑓(𝑁𝑧3) × [1 − 𝑓(𝑁𝑧3)] × 𝑒𝑜(𝑁𝑧3) = 0.61813508792344 × [1 − 0.61813508792344] × −0.61813508792344 = −0.14590714112626096 𝑁𝑧4 = (0.3749346028203156 × −0.708678) + (0.3977079594387821 × 0.347272) + (0.2657867400127982 × 0.104149 ) + (0.6243489216047062 × 0.683817 ) + (0.4541034439696736 × 0.692320) + (0.5412025487653866 × −0.260428) + (0.2394627762742987 × −0.990184 ) + (0.553543369536466 × −0.393145 ) = 0.04573234502369555 𝑓(𝑁𝑧4) = 1 1 + 𝑒−𝑁𝑧4 = 1 1 + 𝑒−(0.04573234502369555) = 0.5114310940310602 𝑒𝑜(𝑁𝑧4) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧4) − 𝑓(𝑁𝑧4) = 0 − 0.5114310940310602 = −0.5114310940310602

(20)

= 0.5114310940310602 × [1 − 0.5114310940310602] × −0.5114310940310602 = −0.12779094485235482 𝑁𝑧5 = (0.3749346028203156 × −0.054912) + (0.3977079594387821 × −0.230816) + (0.2657867400127982 × 0.178554 ) + (0.6243489216047062 × −0.422108 ) + (0.4541034439696736 × 0.617603) + (0.5412025487653866 × 0.127605) + (0.2394627762742987 × −0.875401 ) + (0.553543369536466 × 0.823427 ) = 0.26722124457485047 𝑓(𝑁𝑧5) = 1 1 + 𝑒−𝑁𝑧5= 1 1 + 𝑒−(0.26722124457485047) = 0.5664105977929704 𝑒𝑜(𝑁𝑧5) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧5) − 𝑓(𝑁𝑧5) = 0 − 0.5664105977929704 = −0.5664105977929704 𝛿𝑜 (𝑁𝑧5) = 𝑓(𝑁𝑧5) × [1 − 𝑓(𝑁𝑧5)] × 𝑒𝑜(𝑁𝑧5) = 0.5664105977929704 × [1 − 0.5664105977929704] × −0.5664105977929704 = −0.1391045705565229 𝑁𝑧6 = (0.3749346028203156 × 0.266208) + (0.3977079594387821 × −0.536563) + (0.2657867400127982 × 0.719287) + (0.6243489216047062 × −0.298457 ) + (0.4541034439696736 × −0.125625) + (0.5412025487653866 × 0.689534) + (0.2394627762742987 × −0.050286 ) + (0.553543369536466 × −0.503200) = −0.08320297993132811 𝑓(𝑁𝑧6) = 1 1 + 𝑒−𝑁𝑧6= 1 1 + 𝑒−(−0.08320297993132811)= 0.4792112465544288

(21)

𝑒𝑜(𝑁𝑧6) = 𝑦𝑡𝑎𝑟𝑔𝑒𝑡(𝑁𝑧6) − 𝑓(𝑁𝑧6) = 0 − 0.4792112465544288 = −0.4792112465544288

𝛿𝑜 (𝑁𝑧5) = 𝑓(𝑁𝑧5) × [1 − 𝑓(𝑁𝑧5)] × 𝑒𝑜(𝑁𝑧5)

= 0.4792112465544288 × [1 − 0.4792112465544288] × −0.4792112465544288 = −0.11959570982646014 Nilai function neuron pada outputlayer ditampilkan pada Tabel 3.9.

Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron OutputLayer

Neuron Function Error Gradien Error

1 0.7018052950441617 0.29819470495583833 0.06240458442806568 2 0.44132505826024154 −0.44132505826024154 −0.10881189325554852 3 0.61813508792344 −0.61813508792344 −0.14590714112626096 4 0.5114310940310602 −0.5114310940310602 −0.12779094485235482 5 0.5664105977929704 −0.5664105977929704 −0.1391045705565229 6 0.4792112465544288 −0.4792112465544288 −0.11959570982646014

Nilai gradien error yang telah didapatkan pada masing – masing neuron outputlayer, dilanjutkan ke fase backward yaitu melakukan update weight pada jaringan neural network tersebut. Updateweight yang pertama kali dimulai dari weighthiddenlayer 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 erroroutput sekarang, maka dilanjutkan ke perhitungan updateweight dengan penjabaran sebagai berikut

∆𝑤𝑜1 = −𝑠𝑖𝑔𝑛(0.06240458442806568)× 0.1 = −0.1

𝑤𝑜11 = −0.210552 + (−0.1) = −0.310552 𝑤𝑜12= 0.247029 + (−0.1) = 0.147029

𝑤𝑜13 = 0.141611 + (−0.1) = 0.04161099999999998 𝑤𝑜14 = −0.006003 + (−0.1) = −0.106003

(22)

𝑤𝑜16= 0.217677 + (−0.1) = 0.117677 𝑤𝑜17= 0.236928 + (−0.1) = 0.136928 𝑤𝑜18= 0.833174 + (−0.1) = 0.733174

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 HiddenLayer ke OutputLayer

W1 W2 W3 W4 W5 W6 W7 W8 Neuron 1 −0.310552 0.147029 0.041611 −0.106003 0.267705 0.117677 0.136928 0.733174 Neuron 2 -0.09451 -0.806991 -0.587177 0.67742 0.03016 0.978773 -0.561131 -0.379768 Neuron 3 0.232161 0.128865 -0.521014 0.018266 0.224832 -0.005653 0.602964 1.033528 Neuron 4 -0.608678 0.447272 0.204149 0.783817 0.79232 -0.160428 -0.890184 -0.293145 Neuron 5 0.045088 -0.130816 0.278554 -0.322108 0.717603 0.227605 -0.775401 0.923427 Neuron 6 0.366208 -0.436563 0.819287 -0.198457 -0.025625 0.789534 0.049714 -0.4032 Setelah mengupdateweighthiddenlayer menuju ke outputlayer, maka dilanjutkan ke bagian weight input layer ke hidden layer. Untuk mengupdate weight tersebut diperlukan gradien error pada setiap neuron di hiddenlayer, maka perhitungan sebagai berikut 𝛿ℎ(𝑁𝑦1) = 𝑓(𝑁𝑦1) × [1 − 𝑓(𝑁𝑦1)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤1𝑜(𝑝) = 0.3749346028203156 × [1 − 0.3749346028203156] × ((0.06240458442806568 × −0.210552) + (−0.10881189325554852 × −0.194510) + (−0.14590714112626096 × 0.132161) + (−0.12779094485235482 × −0.708678) + (−0.1391045705565229 × −0.054912) + (−0.11959570982646014 × 0.266208)) = 0.012914606073151137

(23)

𝛿(𝑁𝑦2) = 𝑓(𝑁𝑦2) × [1 − 𝑓(𝑁𝑦2)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤2𝑜(𝑝) = 0.3977079594387821 × [1 − 0.3977079594387821] × ((0.06240458442806568 × 0.247029) + (−0.10881189325554852 × −0.906991) + (−0.14590714112626096 × 0.028865) + (−0.12779094485235482 × 0.347272) + (−0.1391045705565229 × −0.230816) + (−0.11959570982646014 × −0.536563)) = 0.03875590565609073 𝛿ℎ(𝑁𝑦3) = 𝑓(𝑁𝑦3) × [1 − 𝑓(𝑁𝑦3)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤3𝑜(𝑝) = 0.2657867400127982 × [1 − 0.2657867400127982] × ((0.06240458442806568 × 0.141611) + (−0.10881189325554852 × −0.687177) + (−0.14590714112626096 × −0.621014) + (−0.12779094485235482 × 0.104149) + (−0.1391045705565229 × 0.178554) + (−0.11959570982646014 × 0.719287)) = 0.009766958283362576 𝛿ℎ(𝑁𝑦4) = 𝑓(𝑁𝑦4) × [1 − 𝑓(𝑁𝑦4)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤4𝑜(𝑝) = 0.6243489216047062 × [1 − 0.6243489216047062] × ((0.06240458442806568 × −0.006003) + (−0.10881189325554852 × 0.577420) + (−0.14590714112626096 × −0.081734) + (−0.12779094485235482 × 0.683817) + (−0.1391045705565229 × −0.422108) + (−0.11959570982646014 × −0.298457)) = −0.010379097384309031

(24)

𝛿(𝑁𝑦5) = 𝑓(𝑁𝑦5) × [1 − 𝑓(𝑁𝑦5)] × ∑ 𝛿𝑜 (𝑝). 𝑜=1 𝑤5𝑜(𝑝) = 0.4541034439696736 × [1 − 0.4541034439696736] × ((0.06240458442806568 × 0.367705) + (−0.10881189325554852 × −0.069840) + (−0.14590714112626096 × 0.124832) + (−0.12779094485235482 × 0.692320) + (−0.1391045705565229 × 0.617603) + (−0.11959570982646014 × −0.125625)) = −0.03644713666440263 𝛿(𝑁𝑦6) = 𝑓(𝑁𝑦6) × [1 − 𝑓(𝑁𝑦6)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤6𝑜(𝑝) = 0.5412025487653866 × [1 − 0.5412025487653866] × ((0.06240458442806568 × 0.217677) + (−0.10881189325554852 × 0.878773) + (−0.14590714112626096 × −0.105653) + (−0.12779094485235482 × −0.260428) + (−0.1391045705565229 × 0.127605) + (−0.11959570982646014 × 0.689534)) = −0.033162464982293714 𝛿(𝑁𝑦7) = 𝑓(𝑁𝑦7) × [1 − 𝑓(𝑁𝑦7)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤7𝑜(𝑝) = 0.2394627762742987 × [1 − 0.2394627762742987] × ((0.06240458442806568 × 0.236928) + (−0.10881189325554852 × −0.661131) + (−0.14590714112626096 × 0.502964) + (−0.12779094485235482 × −0.990184) + (−0.1391045705565229 × −0.875401) + (−0.11959570982646014 × −0.050286)) = 0.04874653253015212

(25)

𝛿(𝑁𝑦8) = 𝑓(𝑁𝑦8) × [1 − 𝑓(𝑁𝑦8)] × ∑ 𝛿𝑜 (𝑝). 𝑙 𝑜=1 𝑤8𝑜(𝑝) = 0.553543369536466 × [1 − 0.553543369536466] × ((0.06240458442806568 × 0.833174) + (−0.10881189325554852 × −0.479768) + (−0.14590714112626096 × 0.933528) + (−0.12779094485235482 × −0.393145) + (−0.1391045705565229 × 0.823427) + (−0.11959570982646014 × −0.503200)) = −0.008929311385118785

Nilai gradien error neuron pada hiddenlayer ditampilkan pada Tabel 3.11.

Tabel 3. 11 Nilai Gradien Error Neuron pada HiddenLayer

Neuron Nilai Gradien Error

1 0.012914606073151137 2 0.03875590565609073 3 0.009766958283362576 4 −0.010379097384309031 5 −0.03644713666440263 6 −0.033162464982293714 7 0.04874653253015212 8 −0.008929311385118785

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

∆𝑤ℎ1 = −𝑠𝑖𝑔𝑛(0.012914606073151137)× 0.1 = −0.1

𝑤ℎ11= −0.426761+ (−0.1) = −0.526761

𝑤ℎ12=−0.209749+ (−0.1) = −0.309749

(26)

𝑤ℎ15 =0.513239+ (−0.1) = 0.413239

𝑤ℎ16 =0.259989+ (−0.1) = 0.159989

Proses perhitungan update weight tersebut dilanjutkan sampai neuron ke 8 dan hasil

updateweight tersebut akan ditampilkan pada tabel 3.12

Tabel 3. 12 Nilai Weight Baru dari InputLayer ke HiddenLayer

W1 W2 W3 W4 W5 W6 Neuron 1 −0.526761 −0.309749 0.030493 0.059938 0.413239 0.159989 Neuron 2 0.047308 0.144746 0.839377 -1.058328 0.391299 -0.445167 Neuron 3 0.023516 -0.177415 0.565945 -1.002579 0.509804 0.846845 Neuron 4 -0.480798 0.179208 -0.068001 -0.095628 0.358399 -0.432974 Neuron 5 0.194 0.319853 0.757973 -0.313534 -0.01549 -0.135629 Neuron 6 0.077541 0.303899 -0.291928 -0.179733 -0.18283 0.351747 Neuron 7 0.319578 -0.650749 0.767966 -0.703141 0.478925 0.862164 Neuron 8 -0.098452 0.065194 0.470672 0.950606 -0.74294 -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 ParallelProcessing

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.

𝑇 = ∑ 𝐼𝑖 𝑛

𝑖=1

T adalah total waktu jaringan neural network. 𝐼𝑖 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 3.1

(27)

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

𝑅𝑇 = ∑ 𝑇𝑖 3 𝑖=1

3

RT adalah merupakan rata – rata waktu, dan ∑3𝑖=1𝑇𝑖 merupakan jumlah total dari 3 pengujian tersebut dan dibagi dengan banyak pengujian tersebut dilakukan yaitu 3.

(28)

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pendahuluan

Pada bab ini menjelaskan hasil penelitian dari penerapan parallelprocessing 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 neuralnetwork. Pengujian yang diberikan dilakukan sebanyak tiga kali testing untuk mendapatkan waktu rata – rata pada ketujuh pengujian tersebut.

(29)

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

Iterasi

Weight Hidden Weight Output CPU Time

W1 W2 W3 W1 W2 W3 1 thread 3 thread 5 thread 7 thread 1 -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 … … … … 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 ResilientBackpropagationParallelMultithreading 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

(30)

(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.

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

22000 23000 24000 25000 26000 27000 28000 1 2 3 4 5 6 7 CPU T im e / d etik Thread

(31)

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

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 neuralnetworkresilientbackpropagation menunjukan kecepatan waktu penyelesaian yang lebih cepat daripada thread lainnya, tetapi waktu penyelesaian

berbeda pada yaitu pada pengujian ketiga waktu diselesaikn dalam

24067.489326000406 / detik, penggujian kedua waktu penyelesaiannya

23910.218218001297 / detik, dan pengujian pertama waktu penyelesaiannya

22000 23000 24000 25000 26000 27000 28000 1 2 3 4 5 6 7 CPU T im e / d etik Thread

(32)

untuk grafik waktu akan ditampilkan pada Gambar 4.3.

Tabel 4. 5 Hasil Pengujian III ResilientBackpropagationParallelMultithreading 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

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.

𝑅𝑎𝑡𝑎 − 𝑅𝑎𝑡𝑎 𝑊𝑎𝑘𝑡𝑢 =

𝑤

𝑖 𝑛 𝑖=1

𝑛

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 CPU T im e / d etik Thread

(33)

Hasil rata – rata pengujian tersebut ditunjukan pada Tabel 4.6 sebagai berikut

Tabel 4. 6 Hasil Pengujian Rata – Rata ResilientBackpropagationParallel Multithreading

Thread Waktu Selesai / detik Rata – Rata Waktu Iterasi / detik 1 28991,20766 1,449560383 2 26164,21078 1,308210539 3 23963,90795 1,198195397 4 25172,48093 1,258624046 5 25431,24946 1,271562473 6 26770,71322 1,338535661 7 27317,86378 1,365893189

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.

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 hiddenlayer sebanyak 378 neuron.

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 CPU T im e / s econ d Thread

(34)

Hasil pengujian yang telah dilakukan mendapatkan bahwa jaringan neural network

yaitu resilientbackpropagation dengan menambahkan teknik parallelprocessing 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 neuralnetwork menggunakan

parallelprocessing 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

(35)

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.

Gambar

Gambar 3. 1 Diagram Tahapan – Tahapan Penelitian
Tabel 3. 1 Fitur Dataset Triaxial
Tabel 3. 3 Nilai Target Output Aktifitas Manusia
Gambar 3. 2 Arsitektur Neural Network Resilient Backpropagation
+7

Referensi

Dokumen terkait

Balai Penelitian Tanaman Industri dan Penyegar adalah salah satu entitas akuntansi di bawah Badan Pembinaan Akuntansi Instansi yang berkewajiban menyelenggarakan akuntansi dan

Akhir kata semoga penyusunan skripsi ini dapat berguna bagi semua pihak khususnya mahasiswa Sekolah Tinggi Ilmu Ekonomi Indonesia (STIESIA) Surabaya6. Lain dari

Nilai mean untuk variabel manajemen laba adalah sebesar -0,112 yang menunjukan bahwa perusahaan sub sektor batubara selama periode penelitian, rata-rata terindikasi

Tujuan yang ingin dicapai adalah Memacu para dosen untuk terus melakukan penelitian dan menulis khususnya menulis buku, Kegiatan seperti ini pada akhirnya jelas akan

Anak dengan CDGP berperawakan pendek, akan mengalami pubertas terlambat, usia tulang yang lebih muda dari usia kronologis, namun tidak ditemukan kelainan yang

Dengan adanya aplikasi Pengelolaan Data Administrasi Dan Praktek Dokter pada Puskesmas Sabokingking dapat mempercepat dalam pencarian data pasien, data dokter, data diagnosis, dan

Terry (2014:6) “Manajemen adalah suatu kerangka kerja/proses yang membutuhkan pengarahan dan bimbingan suatu kelompok orang-orang untuk mencapai tujuan organisasi

Kelembagaan non formal yang sudah berfungsi baik yang erat kaitannya dengan program minapolitan diantaranya kelembagaan penyedia input, kelembagaan penyedia modal, kelembagaan