KLASIFIKASI TINGKAT STRES MANUSIA BERDASARKAN PENGAMATAN GELOMBANG OTAK MENGGUNAKAN EEG
DENGAN ALGORITMA K-NEAREST NEIGHBOR
SKRIPSI
VENY APRIYANTI M.
141402162
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2020
i
KLASIFIKASI TINGKAT STRES MANUSIA BERDASARKAN PENGAMATAN GELOMBANG OTAK MENGGUNAKAN EEG
DENGAN ALGORITMA K-NEAREST NEIGHBOR SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
VENY APRIYANTI M.
141402162
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2020
iii
PERNYATAAN
KLASIFIKASI TINGKAT STRES MANUSIA BERDASARKAN PENGAMATAN GELOMBANG OTAK MENGGUNAKAN EEG
DENGAN ALGORITMA K-NEAREST NEIGHBOR
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2020
VENY APRIYANTI M.
141402162
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Tuhan yang Maha Esa, karena atas berkat dan izin-Nya penulis dapat menyelesaikan skripsi ini sebagai syarat kelulusan dan memperoleh gelar Sarjana dari Program Studi Teknologi Informasi Universitas Sumatera Utara. Banyak rasa terima kasih yang ingin penulis ucapkan kepada seluruh pihak yang turut serta terlibat dalam masa perkuliahan dan masa pengerjaan skripsi ini hingga selesai :
1 Bapak Prof. Runtung Sitepu, SH., M.Hum., selaku Rektor Universitas Sumatera Utara.
2 Bapak Prof. Dr. Drs. Opim Salim Sitompul, M.Sc., selaku Dekan Fasilkom-TI Universitas Sumatera Utara.
3 Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc., selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
4 Bapak Baihaqi Siregar, S.Si., MT, selaku Dosen Pembimbing I yang telah meluangkan waktu untuk memberikan bimbingan, ide, dan saran kepada penulis sehingga skripsi ini dapat terselesaikan.
5 Bapak Dr. Ir. Fahmi, ST., M.Sc., IPM, selaku Dosen Pembimbing II yang telah meluangkan waktu untuk memberikan bimbingan, ide, dan arahan dalam proses penyelesaian skripsi ini.
6 Bapak Dani Gunawan, ST., MT, selaku Dosen Pembanding I yang telah memberikan kritik dan saran untuk penyempurnaan skripsi ini.
7 Ibu Dr. Erna Budhiarti Nababan, M.IT, selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8 Seluruh Dosen Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara yang telah memberikan ilmu, serta pendidikan pada penulis hingga dapat menunjang dalam penyelesaian skripsi ini. Serta staff akademik yang membantu kelancaran penulis dalam menyelesaikan studi.
9 Orangtua penulis, yaitu Bapak Ir. M. Manalu dan Ibu Damaris Simanjuntak untuk cinta, perhatian, doa dan dukungan moral maupun materiil yang diberikan kepada penulis.
10 Kakak dan adik tercinta penulis, Sarmida Novianna Pratiwi Manalu, ST., dan Trisha Dinda Manalu, yang selalu mendukung, menyemangati, dan mendoakan penulis.
v
11 Sahabat penulis, Devy Iriani Purba, Joceline, Juniati Pakpahan, Rosmaini Rosmiani, Sarah Elisabet Nainggolan, dan Yolanda Natasha Naibaho yang selalu memberikan dukungan serta bantuan kepada penulis selama masa studi dan dalam menyelesaikan skripsi.
12 Sahabat penulis, Ita Purnama Sari Panggabean, Rini Tiurma Permatasari Silalahi, dan Reren Jeanifer yang juga sudah memberikan dukungan dan semangat kepada penulis.
13 Sahabat penulis, Nadya Maysyarah, Helva Silvianita, Irmayani Syafitri, Fadhlah Hani, dan Lisa Olivia yang juga telah memberikan bantuan dan dukungan selama masa studi dan dalam menyelesaikan skripsi.
14 Teman-teman Teknologi Informasi USU 2014 terkhusus Kom C.
15 Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu persatu yang telah membantu penyelesaian skripsi ini.
ABSTRAK
Stres merupakan suatu kondisi yang menekan keadaan psikis seseorang dalam mencapai sesuatu. Stres pada tingkat tertentu dapat membahayakan kesehatan manusia karena dapat menimbulkan berbagai penyakit yang selama ini seringkali diremehkan oleh manusia. Penyakit-penyakit tersebut diantaranya sakit kepala, kram, jantung, tekanan darah tinggi, bahkan stroke dapat terjadi. Deteksi tingkat stres pada umumnya dilakukan dengan mengisi kuesioner atau melakukan self-assessment test. Namun, hal tersebut terkesan subjektif karena hasil penilaia n bergantung pada kejujuran seseorang dalam menjawab kuesioner tersebut. Oleh karena itu, penelitian ini melakukan klasifikasi tingkat stres manusia berdasarkan pengamatan aktivitas gelombang otak menggunakan Elektroensefalogram (EEG). Karena sinyal EEG dapat secara langsung mencerminkan aktivitas listrik otak, hal ini dapat digunakan sebagai ukuran objektif untuk mengklasifikasikan tingkat stres. Pada penelitian ini metode yang digunakan dalam pengklasifikasian adalah K-Nearest Neighbor. Tahapan yang dilakukan sebelum klasifikasi yaitu pre-processing, ekstraksi ciri menggunakan Independent Component Analysis, dan kemudian diklasifikasi menggunakan K-Nearest Neighbor. Penelitian ini menggunakan 62 data yang akan digunakan sebagai data latih dan data uji. Setelah dilakukan pengujian pada penelitian ini, didapatkan kesimpulan bahwa metode K- Nearest Neighbor memiliki kemampuan dalam mengklasifikasi stres ke dalam tingkat normal dan tinggi sebesar 70%.
Kata kunci : stres, elektroensefalogram, independent component analysis, k-nearest neighbor.
ii
CLASSIFICATION OF HUMAN STRESS LEVELS BASED ON BRAIN WAVE OBSERVATION USING EEG WITH
K-NEAREST NEIGHBOR ALGORITHM
ABSTRACT
Stress is a condition that suppresses the person's psychic state in achieving something.
Stress at some level can harm human health since it can cause various diseases that are often underestimated by humans. These diseases include headaches, cramps, heart attack, high blood pressure, and even strokes can occur. Detection of stress levels is generally done by filling out questionnaires or conducting self-assessment tests.
However, it seems subjective because the scoring results depends on one's honesty in answering the questionnaire. Therefore, this study conducts the classification of human stress levels based on the observation of brain wave activity using Electroensephalogram (EEG). Since EEG signals can directly reflect the electrical activity of the brain, it can be used as an objective measure for classifying stress levels.
In this study, the method used in classification is K-Nearest Neighbor. The stages before classification are pre-processing, feature extraction using Independent Component Analysis, and then classified using K-Nearest Neighbor. This research uses 62 data to be used as training data and testing data. After testing the system, it was concluded that the K-Nearest Neighbor method had the ability to classify stress into normal and high levels with the accuracy of 70%.
Keywords : stress, electroencephalogram, independent component analysis, k-nearest neighbor
DAFTAR ISI
Hal.
PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMAKASIH iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL x
DAFTAR GAMBAR xi
Bab 1 PENDAHULUAN 1.1 Latar Belakang 1
1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 LANDASAN TEORI 2.1 Stres 6
2.2 Elektroensefalogram 7 2.3 Independent Component Analysis 8 2.3.1 Ambiguitas ICA 9
2.3.2 Optimasi ICA 10
2.4 Stroop Color-Word Test 12
iv
2.5 Confusion Matrix 12
2.5 K-Nearest Neighbor 14
2.6 Penelitian Terdahulu 15
Bab 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Dataset 17
3.2 Analisis Sistem 19
3.2.1 Akuisisi Data 20
3.2.2 Filtering Data 21
3.2.3 Vektorisasi Data 21
3.2.4 Independent Component Analysis 22
3.2.8 Klasifikasi 24
3.3 Perancangan Sistem 27
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem 30
4.1.1 Perangkat Keras dan Perangkat Lunak 30 4.1.2 Implementasi Perancangan Antarmuka 30
4.1.2.1. Halaman Preproses Data 31
4.1.2.2. Halaman Pelatihan Data 31
4.1.2.2. Halaman Pengujian Data 32
4.2 Pengujian Sistem 33
4.2.1 Ilustrasi Data 33
4.2.2 Prosedur Operasional 33
4.2.3 Pengujian Sistem 38
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 42
5.2 Saran 42
Daftar Pustaka
DAFTAR TABEL
Hal.
Tabel 2.1 Confusion Matrix 13
Tabel 2.2 Penelitian Terdahulu 16
Tabel 3.1 Hasil Vektorisasi Data 22
Tabel 3.2. Hasil Ekstraksi dengan ICA 23
Tabel 3.3 Klasifikasi Data Training 24
Tabel 3.4 Data Testing 24
Tabel 3.5 Perhitungan kuadrat jarak data training dan data testing 25 Tabel 3.6 Pengurutan jarak terkecil dari data testing 25 Tabel 3.6 Pengurutan jarak terkecil dari data testing(lanjutan) 26
Tabel 3.7 Klasifikasi Nearest Neighbor 26
Tabel 4.1 Hasil Confusion Matrix 38
Tabel 4.2 Hasil Pengujian dengan Nilai K yang Berbeda 39 Tabel 4.2 Hasil Pengujian dengan Nilai K yang Berbeda(lanjutan) 40
vi
DAFTAR GAMBAR
Hal.
Gambar 2.1 Blok Diagram Model ICA 9
Gambar 3.1 Stroop Colour-Word Test Sesi Pertama 18
Gambar 3.2 Stroop Colour-Word Test Sesi Kedua 18
Gambar 3.3 Tampilan CyKIT 19
Gambar 3.4 Arsitektur umum 20
Gambar 3.5 Vektorisasi Data 21
Gambar 3.6 Rancangan Tampilan Halaman Preproses Data 27 Gambar 3.7 Rancangan Tampilan Halaman Pelatihan Data 29 Gambar 3.8 Rancangan Tampilan Halaman Pengujian Data 29
Gambar 4.1 Halaman Preproses Data 31
Gambar 4.2 Halaman Pelatihan Data 32
Gambar 4.3 Halaman Pengujian Data 32
Gambar 4.4 H6.csv 33
Gambar 4.5 Input lokasi folder file data 34
Gambar 4.6 Menjalankan perintah preproses data 34
Gambar 4.7 Melakukan Pelatihan Data 35
Gambar 4.8 Hasil Latih Data Berupa Confusion Matrix 36
Gambar 4.9 Detail Confusion Matrix 36
Gambar 4.10 Halaman Pengujian Data 37
Gambar 4.11 Input Lokasi File Model 37
Gambar 4.12 Tampilan Hasil Klasifikasi 38
PENDAHULUAN
1.1 Latar Belakang
Setiap orang mengalami stres dengan tingkat yang berbeda dalam melakukan kegiatan sehari-hari. Baik di lingkungan sekolah, kerja, keluarga, atau dimanapun, stres bisa dialami oleh seseorang.Kupriyanov dan Zhdanov (2014) menyatakan bahwa stres yang ada saat ini adalah sebuah atribut kehidupan modern. Hal ini dikarenakan stres sudah menjadi bagian hidup yang tidak bisa terelakkan. Stres adalah tanggapan seseorang, baik secara fisik maupun secara mental terhadap suatu perubahan di lingkungannya yang dirasakan mengganggu dan mengakibatkan dirinya terancam. Pada tingkat tertentu, stres justru dapat membahayakan kesehatan manusia karena dapat menimbulkan berbagai penyakit yang selama ini seringkali diremehkan oleh manusia. Penyakit-penyakit tersebut diantaranya sakit kepala, kram, jantung, tekanan darah tinggi, bahkan stroke dapat terjadi. Untuk meminimalisir terjadinya hal-hal yang merugikan tersebut, maka tingkat stres pada diri manusia butuh dideteksi sejak dini sehingga penanganan yang tepat dapat dilakukan.
Deteksi tingkat stres pada umumnya dilakukan dengan mengisi kuesioner atau melakukan self-assessment test. Namun, hal tersebut terkesan subjektif karena hasil penilaian bergantung pada kejujuran seseorang dalam menjawab kuesioner tersebut. Oleh karena itu, penelitian ini melakukan klasifikasi tingkat stres manusia berdasarkan pengamatan aktivitas gelombang otak menggunakan Elektroensefalogram (EEG).
Elektroensefalogram adalah salah satu alat yang digunakan untuk mengukur aktivitas kelistrikan dari otak untuk mendeteksi adanya kelainan dari otak.
2
Tindakan ini menggunakan sensor khusus yaitu elektroda yang dipasang di kepala dan dihubungkan melalui kabel menuju komputer. EEG akan merekam aktivitas elektrik dari otak, yang direpresentasikan dalam bentuk garis gelombang. Karena sinyal EEG dapat secara langsung mencerminkan aktivitas listrik otak, hal ini dapat digunakan sebagai ukuran objektif untuk mengklasifikasikan tingkat stres.
Penelitian lain sebelumnya telah dilakukan oleh Guo Jun dan Smitha pada tahun 2016 dengan judul EEG Based Stress Level Identification. Penelitian ini menerapkan Support Vector Machine untuk mengklasifikasikan tingkat stres ke dalam tiga level menggunakan dua stressor (tantangan atau rangsangan yang dapat memicu stres) untuk menimbulkan tingkat stres yang berbeda yaitu Stroop Colour-Word Test dan Mental Arithmetic Test.
Selain itu, penelitian dengan menggunakan teknik yang sama dilakukan oleh Pallavi Gaikwad dan A. N. Paithane dengan judul Novel Approach for Stress Recognition using EEG Signal by SVM Classifier dimana penelitian ini bertujuan untuk membuat sistem yang mengklasifikasikan stres ke dalam tiga level yaitu : Low Stress, Moderate Stress, dan High Stress.
Penelitian yang berjudul Classification of Stress into Emotional, Mental, Physical and No Stress Using Electroencephalogram Signal Analysis dilakukan oleh Berbano, dkk pada tahun 2017. Pada penelitian ini digunakan Artificial Neural Network (ANN) untuk mengelompokkan jenis stres. Klasifikasi Kondisi Rileks pada Perokok Aktif dengan menggunakan K-Nearest Neighbor dilakukan oleh Ahmad Hilmi dkk pada tahun 2017.
Pada penelitian ini, dilakukan analisis untuk sinyal alfa dan beta menggunakan EEG.
Berdasarkan latar belakang yang telah dipaparkan di atas, penulis akan mengajukan penelitian yang dapat membantu dalam melakukan klasifikasi terhadap tingkat stres yang dialami berdasarkan pengamatan gelombang otak menggunakan Elektroensefalogram (EEG), dimana tingkat stres dibagi atas dua level yaitu stres dengan tingkat normal dan tinggi menggunakan metode K-Nearest Neighbor. Metode K-Nearest Neighbor mempunyai beberapa kelebihan, salah satunya adalah metode ini dapat digunakan pada data yang noisy (data yang mengandung infromasi yang tidak dibutuhkan) sehingga metode ini dianggap cocok untuk diterapkan pada penelitian ini.
1.2 Rumusan Masalah
Pada umumnya, deteksi tingkat stres dilakukan dengan mengisi kuesioner atau melakukan self-assessment test yang hasilnya adalah serangkaian informasi yang berkaitan dengan tingkat stres yang dialami peserta. Namun, hal tersebut terkesan subjektif karena hasil penilaian bergantung pada kejujuran seseorang dalam menjawab kuesioner tersebut. Oleh karena itu, metode komputasi diperlukan untuk membantu dalam melakukan klasifikasi tingkat stres manusia.
1.3 Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah :
1. Data yang akan digunakan berasal dari partisipan dengan rentang usia 18-23 tahun 2. Data yang dipakai merupakan data hasil rekaman EEG dengan format .csv
3. Klasifikasi tingkat stres hanya dibatasi pada stres dengan tingkat normal dan tinggi.
1.4 Tujuan Penelitian
Penelitian ini bertujuan untuk membantu dalam mengklasifikasikan tingkat stres yang dialami manusia berdasarkan sinyal yang diperoleh dari EEG dan diklasifikasikan menggunakan algoritma K-Nearest Neighbor.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah :
1. Menjadi referensi dalam pengambilan keputusan yang terkait dengan tingkat stres yang dialami.
2. Membantu pengguna dalam mengetahui tingkat stres yang dialami sehingga pengguna dapat lebih waspada terhadap kesehatan psikologisnya.
1.6 Metodologi Penelitian
Tahapan-tahapan yang akan dilakukan pada penelitian ini adalah sebagai berikut :
4
1. Studi Literatur
Studi literatur dilakukan untuk mengumpulkan dan mempelajari informasi yang diperoleh dari buku, jurnal, skripsi terdahulu, dan berbagai sumber informasi lainnya yang berkaitan dengan penelitian. Informasi yang berkaitan tersebut antara lain mengenai stres, sinyal yang dihasilkan Elektroensefalogram (EEG), Independent Component Analysis dan metode K- nearest Neighbor.
2. Analisis Permasalahan
Analisis permasalahan dilakukan untuk menganalisa berbagai informasi yang telah didapatkan untuk menentukan metode yang tepat dalam mengatasi masalah pada penelitian ini yaitu klasifikasi tingkat stres normal dan tinggi dengan menggunakan K-Nearest Neighbor
3. Implementasi
Pada tahap ini penulis melakukan implementasi terhadap algoritma K-Nearest Neighbor dalam pengklasifikasian stres dengan menggunakan pemrograman R.
4. Pengujian
Pada tahap ini dilakukan pengujian terhadap klasifikasi stres untuk memastikan apakah metode yang digunakan telah berfungsi sesuai dengan harapan.
5. Penyusunan laporan
Pada tahap ini penulis melakukan penyusunan laporan mengenai hasil klasifikasi stres menggunakan K-Nearest Neighbor untuk mengetahui tingkat stres seseorang.
1.7 Sistematika Penulisan
Sistematika penulisan ini terdiri dari lima bagian utama, yaitu : Bab 1 : Pendahuluan
Bab ini terdiri dari latar belakang penelitian, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
Bab 2 : Landasan Teori
Bab ini berisi teori-teori pendukung yang diperlukan untuk dapat memahami permasalahan yang dibahas dalam penelitian ini. Teori-teori tersebut berhubungan dengan stres, Stroop
Colour Word Test, Independent Component Analysis, dan K-Nearest Neighbor untuk klasifikasi tingkat stres.
Bab 3 : Analisis dan Perancangan
Bab ini berisi tentang analisis dari arsitektur umum dan analisis dari metode K-Nearest Neihgbor serta penerapannya dalam mengklasifikasi stres. Pada bab ini juga dibahas arsitektur umum untuk analisis tersebut.
Bab 4 : Implemetasi dan Pembahasan
Bab ini berisi tentang implementasi dari hasil analisis dan perancangan sistem yang telah dijelaskan di bab sebelumnya serta hasil pengujian yang diperoleh terhadap sistem yang telah dibangun.
Bab 5 : Kesimpulan dan Saran
Bab ini berisi kesimpulan dari keseluruhan penelitian yang telah dibahas pada bab-bab sebelumnya serta saran yang diajukan guna pengembangan untuk penelitian selanjutnya.
BAB 2
LANDASAN TEORI
2.1 Stres
Ada beberapa istilah psikologis populer yang sering dikaburkan sebagai “stres”. Pada hakikatnya, kata ini merujuk pada sebuah kondisi seseorang yang mengalami tuntutan emosi berlebihan dan atau waktu yang membuatnya sulit memfungsikan secara efektif semua wilayah kehidupan. Keadaan ini dapat mengakibatkan munculnya cukup banyak gejala, seperti depresi, kelelahan kronis, mudah marah, gelisah, impotensi, dan kualitas kerja yang rendah (Richards, 2010). Hawari (dalam Yusuf, 2004) berpendapat bahwa istilah stres tidak dapat dipisahkan dari distress dan depresi, karena satu sama lainnya saling terkait. Stres merupakan reaksi fisik terhadap permasalahan kehidupan yang dialaminya dan apabila fungsi organ tubuh sampai terganggu dinamakan distress. Sedangkan depresi merupakan reaksi kejiwaan terhadap stressor yang dialaminya. Dalam banyak hal manusia akan cukup cepat untuk pulih kembali dari pengaruh-pengaruh pengalaman stres. Manusia mempunyai suplai yang baik dan energi penyesuaian diri untuk dipakai dan diisi kembali bilamana perlu.
Sarafino (1994) mendefinisikan stres sebagai kondisi yang disebabkan oleh interaksi antara individu dengan lingkungan, menimbulkan persepsi jarak antara tuntutan- tuntutan yang berasal dari situasi yang bersumber pada sistem biologis, psikologis dan sosial dari seseorang. Stres adalah tekanan internal maupun eksternal serta kondisi bermasalah lainnya dalam kehidupan (an internal and eksternal pressure and other troublesome condition in life). Ardani (2007) mendefinisikan stress merupakan suatu keadaan tertekan baik itu secara fisik maupun psikologi
Berikut faktor-faktor yang dapat menyebabkan stres : a. Sudut pandang psikodinamik
Sudut pandang psikodinamik mendasarkan diri mereka pada asumsi bahwa gangguan tersebut muncul sebagai akibat dari emosi yang direpres. Hal-hal yang direpres akan menentukan organ tubuh mana yang terkena penyakit. Sebagai contoh, apabila seseorang merepres kemarahan, maka berdasarkan pandangan ini kondisi tersebut dapat memunculkan essensial hypertension.
b. Sudut pandang biologis
Salah satu sudut pandang biologis adalah somatic weakness model. Model ini memiliki asumsi bahwa hubungan antara stres dan gangguan psikofisiologis terkait dengan lemahnya organ tubuh individu. Faktor biologis seperti misalnya genetik ataupun penyakit yang sebelumnya pernah diderita membuat suatu organ tertentu menjadi lebih lemah daripada organ lainnya, hingga akhirnya rentan dan mudah mengalami kerusakan ketika individu tersebut dalam kondisi tertekan dan tidak fit .
c. Sudut pandang kognitif dan perilaku
Sudut pandang kognitif menekankan pada bagaimana individu mempersepsi dan bereaksi terhadap ancaman dari luar. Seluruh persepsi individu dapat menstimulasi aktivitas sistem simpatetik dan pengeluaran hormon stres. Munculnya emosi yang negatif seperti perasaan cemas, kecewa dan sebagainya dapat membuat sistem ini tidak berjalan dengan berjalan lancar dan pada suatu titik tertentu akhirnya memunculkan penyakit. Berdasarkan penelitian diketahui bahwa bagaimana seseorang mengatasi kemarahannya ternyata berhubungan dengan penyakit tekanan darah tinggi (Fausiah dan Widury, 2005).
2.2 Elektroensefalogram (EEG)
Elektroensephalogram (EEG) adalah instrumen untuk menangkap aktifitas listrik di otak.
Kalangan kedokteran menggunakan sinyal EEG untuk diagnosa penyakit yang berhubungan dengan kelainan otak dan kejiwaan. Walaupun penggunaan teknik modern seperti CT Scan dan Magnetic Resonance Imaging (MRI) dapat memeriksa otak, namun EEG tetap berguna mengingat sifatnya yang non-destruktif, dapat digunakan secara online dan sangat murah harganya dibandingkan kedua metoda yang lain. Disamping itu, sinyal
8
EEG dapat mengidentifikasi kondisi mental dan pikiran, serta menangkap persepsi seseorang terhadap rangsangan luar. Perbedaan kedua metode di atas dan EEG adalah CT Scan dan MRI hanya memeriksa dan memetakan letak serta mengamati perubahan keadaan otak secara fisik. Biasanya untuk mengetahui adanya gangguan, kerusakan atau kecacatan otak, misalkan tumor otak, pecahnya pembuluh darah di otak, benturan pada kepala dan seterusnya. Sedangkan EEG memeriksa getaran, frekuensi, sinyal atau gelombang otak (brainwave) yang kemudian dikelompokkan kedalam beberapa kondisi kesadaran.
Riset menunjukkan bahwa gelombang otak (brainwave) tidak hanya menunjukkan kondisi pikiran dan tubuh seseorang, tetapi dapat juga distimulasi untuk mengubah kondisi mental seseorang. Dengan mengondisikan otak agar memproduksi atau mereduksi jenis frekuensi gelombang otak tertentu, maka dimungkinkan untuk menghasilkan beragam kondisi mental dan emosional.
2.3 Independent Component Analysis (ICA)
Independent Component Analysis (ICA) adalah metode untuk menemukan faktor-faktor yang mendasari atau komponen dari multivarian data statistik (multi-dimensi). ICA merupakan salah satu metode komputasi numerik untuk memisahkan sumber-sumber independen atau sinyal-sinyal independen yang tercampur secara linier dan sinyal tersebut direkam oleh beberapa sensor. Yang membedakan ICA dari metode lain adalah untuk komponen yang keduanya statistik independen, dan non-gaussian. Model Independent Component Analysis dinyatakan dengan:
𝑥 = 𝐴𝑠
(2.1)Atau
𝑥 = ∑
𝑛𝑖=1𝑎
𝑖𝑠
𝑖 (2.2)Persamaan 2.1 di atas dikenal sebagai model dari Independent Component Analysis (ICA).
Model tersebut bersifat general. Komponen independen s, merupakan komponen laten, dimana komponen tersebut tidak dapat langsung diamati. Matriks pencampur A, juga tidak diketahui, hanya sinyal yang terukur saja, x, yang diketahui. Komponen A dan s diestimasi dari sinyal terukur x tersebut. Tujuan dari metode ICA adalah mencari sinyal estimasi y.
Bila persamaan 2.2 di atas ditulis dalam bentuk matriks dua dimensi, maka akan membentuk persamaan 2.3 :
[ 𝑋⃑⃑⃑⃑ 1
𝑋⃑⃑⃑⃑ 2 ] = [𝐴11 𝐴12
𝐴21 𝐴22] ∗ [ 𝑆⃑⃑⃑ 1 𝑆2
⃑⃑⃑ ] 𝑑𝑎𝑛 [ 𝑌⃑⃑⃑ 1 𝑌2
⃑⃑⃑ ] = [𝑊11 𝑊12
𝑊21 𝑊22] ∗ [ 𝑋⃑⃑⃑⃑ 1
𝑋⃑⃑⃑⃑ 2 ] (2.3)
Sehingga sinyal estimasi dapat dinyatakan dengan persamaan 2.4 berikut :
𝑦 = 𝑊𝑥 (2.4)
Dimana 𝑊 = 𝐴−1
Permasalahan utama metode ICA adalah mencari model filter linear W, dimana W merupakan invers dari matriks pencampur A. Ketepatan pemilihan model filter ini akan memengaruhi kualitas pemisahan sinyal. Beberapa metode optimasi untuk mencari nilai W ini akan dijelaskan kemudian. Adapun model ICA dapat dilihat pada Gambar 2.1 berikut.
Gambar 2.1 Blok Diagram Model ICA
2.3.1 Ambiguitas ICA
Dalam Algoritma ICA terdapat beberapa hal bersifat ambigu yang muncul, yaitu:
1. Variansi dan energi tidak dapat ditentukan
Setiap sinyal memiliki suatu nilai variansi tertentu yang menyatakan tingkat energi sinyal tersebut, begitu juga dengan sinyal asli pembentuk mixed signal. ICA memungkinkan proses pemisahan sejumlah komponen bebas dari suatu sinyal tercampur, namun ICA tidak dapat menentukan nilai variansi sinyal asli. Hal ini disebabkan karena pada saat perekaman data akan terdapat faktor bebas skalar yang menyebabkan pelemahan atau penguatan sinyal hasil rekaman, sehingga nilai variansi sinyal asli tidak dapat ditentukan melalui proses ICA.
S A
m n
W
m
y
10
2. Urutan Independent Component tidak dapat ditentukan
Komponen bebas yang dihasilkan melalui kalkulasi ICA dapat berubah-ubah urutannya, hal ini jelas ketika proses simulasi ICA dilakukan.
2.3.2 Optimasi ICA
Ada beberapa algoritma ICA yang digunakan. Masing-masing algoritma memiliki kelebihan satu sama lain, dan dari tahun ke tahun algoritma ini terus disempurnakan.
Beberapa algoritma untuk optimasi ICA adalah sebagai berikut:
1. Infomax
Algoritma infomax mendekati model ICA berdasarkan fungsi non-linear.
2. Natural Gradient
Amari, Chicocki, dan Yang (1996) mengusulkan untuk memodifikasi besar pembobotan filter pemisah pada algoritma Infomax. Algoritma ini lebih cepat konvergen daripada infomax.
3. FastICA
FastICA merupakan suatu algoritma yang ditujukan untuk melakukan proses ekstraksi berdasarkan algoritma ICA. Algoritma FastICA ini dikenal lebih cepat konvergen dari algoritma-algoritma sebelumnya. Algoritma FastICA memodelkan ICA dengan pendekatan non-gaussianity yang didasarkan pada negentropy dengan iterasi titik tetap (fixed-point). Algoritma ini dapat pula didekati dengan iterasi Newton yang menghasilkan persamaan yang sama pula. Aturan pembobotan filter pemisah pada algoritma FastICA ditentukan dengan persamaan 2.5 berikut :
𝑤+ = 𝑤 − 𝐸 {𝑥𝑔(𝑤𝑇𝑥)} − 𝛽𝑤 𝐸 {𝑔′(𝑤𝑇𝑥)} − 𝛽
= 𝐸{𝑥𝑔(𝑤𝑇𝑥)} − 𝐸{𝑔′(𝑤𝑇𝑥)}𝑤 (2.5)
dimana fungsi g merupakan turunan dari fungsi kontras. Proses FastICA terbagi menjadi dua, yaitu pre-processing dan processing.
a. Pre-processing FastICA 1. Remmean
Remmean atau centering adalah tahapan pre-proses yang dilakukan untuk membuang mean/removing mean, m=E. Pada tahapan ini, data input diolah sehingga didapatkan matriks rata-rata/mean. Matriks pusat inilah yang kemudian akan diolah ke tahapan selanjutnya, sedangkan matriks rata-rata akan ditambahkan saat algoritma ICA telah selesai dilakukan.
2. Whitenv
Setelah proses remmean, tahapan pre-proses selanjutnya adalah whitenv. Pada tahapan ini data ditransformasikan sehingga didapatkan vektor data baru dengan karakteristik:
o Antara baris yang satu dan baris yang lainnya tidak saling berkorelasi o Memiliki variasi yang sama
o Kovariansi matriks = matriks identitas 3. PCAmat
PCAmat adalah proses yang ditujukan untuk mengurangi/meminimalkan jumlah redudancy atau pengulangan yang terjadi di dalam data yang diobservasi. Sehingga data yang diolah benar-benar data yang tidak mengandung pengulangan. Pembuangan data redundan oleh PCAmat hanya didasarkan pada sifat korelasi antara elemen-elemen yang terdapat di dalam data tersebut.
b. Processing FastICA
Pada ICA, setiap sinyal yang ditangkap/direkam merupakan hasil dari suatu fungsi linier.
Dengan menganggap bahwa Si bebas statistika, maka invers dari persamaan x=As dapat ditulis dengan persamaan 2.6 berikut :
𝑆 = 𝑊𝑥 (2.6)
Pada persamaan 2.6, W adalah matriks invers dari matriks pencampur A. Jika y adalah salah satu nilai komponen bebas dari mixed signal, atau y = WTx dan wi merupakan salah satu komponen baris dari matriks invers A, maka y adalah salah satu komponen bebas dari X. Permasalahan yang dihadapi sekarang adalah bagaimana cara untuk mendapatkan wi
yang memiliki nilai yang sama dengan salah satu baris dari vektor A. Untuk melihat konsep dasar ICA, persamaan y = WTx = dituliskan kembali menjadi z = ATx, sehingga didapatkan
12
y = WTx = WTAs = zTs. Terlihat bahwa y merupakan kombinasi linear dari s dengan weightened factor. Karena jumlah dari dua komponen bebas atau lebih memiliki sifat gaussian yang lebih besar dari sinyal asli s, maka zTs lebih gaussian dari semua komponen s yang ada, dan nilai gaussian zTs akan semakin kecil dan mendekati nilai s jika zTs mendekati atau sama dengan salah satu variabel bebas s. Berdasarkan hal ini, nilai dari vektor W dapat dicari dengan cara memaksimalkan gaussianity nilai WTx.
2.4 Stroop Color-Word Test
Stroop Colour-Word Test (SCWT) adalah tes neuropsikologi yang digunakan secara luas untuk tujuan eksperimental dan klinis. Stroop Colour-Word Test ini biasanya dilakukan dengan mengidentifikasi warna dan membaca cepat pada beberapa objek. Langkah pertama yaitu subjek diminta untuk membaca beberapa kata yang mewakili warna dasar.
Selanjutnya, subjek akan melalui tahap subtest of interference. Subtest of interference ini didasarkan pada asumsi bahwa nama dari warna yang berbeda dari warna yang sebenarnya (misalnya : kata “merah” ditulis dengan warna hijau) membuat subjek cenderung membaca kata tersebut dibandingkan menyebutkan wana dari kata itu. Ketika membaca dengan cepat, subjek masuk ke situasi stres yang penuh dengan konflik karena jawabannya dipengaruhi oleh reaksi yang dipelajari (dalam hal ini oleh kecenderungan untuk membaca kata-kata, bukan untuk memberi nama warna). Emil Šiška (2002) menyimpulkan bahwa Stroop Color-Word Test merupakan salah satu stressor yang paling sering digunakan, dimana validitas dan reliabilitasnya dinilai positif.
2.5 Confusion Matrix
Confusion matrix merupakan salah satu metode yang dapat digunakan untuk mengukur kinerja suatu metode klasifikasi. Pada dasarnya confusion matrix mengandung informasi yang membandingkan hasil klasifikasi yang dilakukan oleh sistem dengan hasil klasifikasi yang seharusnya. Pada pengukuran kinerja menggunakan confusion matrix, terdapat 4 (empat) istilah sebagai representasi hasil proses klasifikasi. Keempat istilah tersebut adalah True Positive (TP), True Negative (TN), False Positive (FP), dan False Negative (FN). Nilai True Positive (TP) merupakan data positif yang terdeteksi benar, True Negative (TN) merupakan jumlah data negatif yang terdeteksi dengan benar, False
Positive (FP) merupakan data negatif namun terdeteksi sebagai data positif. Sementara itu, False Negative (FN) merupakan kebalikan dari True Positive, sehingga data positif, namun terdeteksi sebagai data negatif. Confusion matrix dapat disajikan dalam Tabel 2.1 berikut.
Tabel 2.1 Confusion Matrix
Kelas Terklasifikasi Positif Terklasifikasi Negatif Positif TP (True Positive) FN (False Negative) Negatif FP (False Positive) TN (True Negative)
Berdasarkan tabel Confusion Matrix pada Tabel 2.1 di atas, dapat dihitung performance metrics untuk mengukur kinerja model yang telah didapatkan. Adapun beberapa performance metrics yang digunakan dalam penelitian ini adalah sebagai berikut.
a. Accuracy
Accuracy merupakan penggambaran seberapa akurat model dapat melakukan klasifikasi dengan benar. Accuracy merupakan rasio prediksi benar dengan kesuluruhan data. Nilai accuracy dapat diperoleh dengan persamaan 2.7.
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = (𝑇𝑃 + 𝑇𝑁) (𝑇𝑃 + 𝐹𝑃 + 𝐹𝑁 + 𝑇𝑁) b. Precision
Precision menggambarkan tingkat keakuratan antara data yang diminta dengan hasil prediksi yang diberikan oleh model. Precision menghitung rasio prediksi benar positif dibandingkan dengan keseluruhan hasil yang diprediksi positf. Adapun precision diperoleh dengan persamaan 2.8.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = (𝑇𝑃) (𝑇𝑃 + 𝐹𝑃) c. Recall
Merupakan rasio prediksi benar positif dibandingkan dengan keseluruhan data yang benar positif. Adapun recall diperoleh dengan persamaan 2.9 berikut
𝑅𝑒𝑐𝑎𝑙𝑙 = (𝑇𝑃) (𝑇𝑃 + 𝐹𝑁)
(2.7)
(2.8)
(2.9)
14
d. F1-Score
F1-Score merupakan perbandingan rata-rata precision dan recall yang dibobotkan. Nilai dari F1-Score dapat diperoleh dari persamaan 2.10 berikut.
𝐹1 𝑆𝑐𝑜𝑟𝑒 = 2(𝑅𝑒𝑐𝑎𝑙𝑙 × 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛) (𝑅𝑒𝑐𝑎𝑙𝑙 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛) e. Specificity
Specificity merupakan kebenaran memprediksi negatif dibandingkan dengan keseluruhan data negatif. Specificity juga bisa disebut dengan True Negative Rate (TNR). Adapun nilai dari specificity dapat diperoleh dari persamaan 2.11
𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 = 𝑇𝑁 𝑇𝑁 + 𝐹𝑃
2.6 K-Nearest Neighbor
K-Nearest Neighbor atau k-NN adalah salah dari algoritma instance based learning atau case-based reasoning. Tujuan dari algoritma k-NN adalah mengklasifikasikan objek baru berdasarkan atribut dan training data. Algoritma k-NN bekerja berdasarkan jarak terpendek dari query instance ke training data untuk menentukan k-NN-nya. Salah satu cara untuk menghitung jarak dekat atau jauhnya tetangga yaitu dengan menggunakan metode euclidian distance. Euclidian Distance sering digunakan untuk menghitung jarak.
Euclidian Distance berfungsi menguji ukuran yang bisa digunakan sebagai interpretasi kedekatan jarak antara dua objek, persamaan 2.12 di bawah ini merupakan rumus Euclidian Distance :
(∑ (𝑥𝑖𝑘− 𝑥𝑗𝑘)2
𝑚 𝑘=1
)
1⁄2
Dimana :
Xik = nilai x pada training data Xjk = nilai x pada testing data M = batas jumlah banyaknya data
Jika hasil nilai dari rumus di atas besar maka akan semakin jauh tingkat keserupaan antara kedua objek dan sebaliknya jika hasil nilainya semakin kecil maka akan semakin dekat
(2.10)
(2.11)
(2.12)
tingkat keserupaan antar objek tersebut. Objek yang dimaksud adalah training data dan testing data. Dalam algoritma ini, nilai k yang terbaik tergantung pada jumlah data. Ukuran nilai k yang besar belum tentu menjadi nilai k yang terbaik begitupun juga sebaliknya.
Langkah-langkah untuk menghitung algoritma k-NN:
1. Menentukan nilai k.
2. Menghitung kuadrat jarak euclidean (query instance) masing-masing objek terhadap training data yang diberikan.
3. Mengurutkan objek-objek tersebut ke dalam kelompok yang mempunyai jarak euclidean terkecil.
4. Mengumpulkan label class Y (klasifikasi Nearest Neighbor).
5. Dengan menggunakan kategori Nearest Neighborhood yang paling mayoritas maka dapat dipredeksikan nilai query instance yang telah dihitung.
2.7 Penelitian Terdahulu
Penelitian yang telah dilakukan sebelumnya oleh Guo Jun dan Smitha pada tahun 2016 dengan judul EEG Based Stress Level Identifiication. Penelitian ini menerapkan Support Vector Machine untuk mengklasifikasikan tingkat stres ke dalam tiga level menggunakan dua stressor (tantangan atau rangsangan yang dapat memicu stres) untuk menimbulkan tingkat stres yang berbeda yaitu Stroop Colour-Word Test dan Mental Arithmetic Test.
Dengan melibatkan 10 partisipan, penelitian ini menghasilkan tingkat akurasi sebesar 75%.
Lalu, penelitian dengan menggunakan teknik yang sama dilakukan oleh Pallavi Gaikwad dan A. N. Paithane dengan judul Novel Approach for Stress Recognition using EEG Signal by SVM Classifier dimana penelitian ini bertujuan untuk membuat sistem yang mengklasifikasikan stres ke dalam tiga level yaitu : Low Stress, Moderate Stress, dan High Stress. Penelitian ini menggunakan EEG dengan 3 channel untuk merekam sinyal gelombang otak subjek. Kemudian, peneliti menggunakan Discrete Wavelet Transform untuk mengekstraksi fitur. Dengan melibatkan 12 partisipan, penelitian ini menghasilkan tingkat akurasi sebesar 72,3%.
Penelitian yang berjudul Classification of Stress into Emotional, Mental, Physical and No Stress Using Electroencephalogram Signal Analysis dilakukan oleh Berbano, dkk pada tahun 2017. Pada penelitian ini digunakan Artificial Neural Network (ANN) yaitu
16
Scaled Conjugate Gradient Backpropagation Network untuk mengelompokkan jenis stres dan divalidasi menggunakan metode K-fold Cross Validation. Sebanyak l7 partisipan ikut dalam penelitian ini dan menghasilkan tingkat akurasi sebesar 80,45%.
Klasifikasi Kondisi Rileks pada Perokok Aktif dengan menggunakan k-Nearest Neighbor dilakukan oleh Ahmad Hilmi dkk pada tahun 2017. Pada penelitian ini, dilakukan analisis untuk sinyal alfa dan beta menggunakan EEG dengan rata-rata akurasi untuk sinyal alfa 83,33% dan sinyal beta sebesar 90%. Adapun penelitian terdahulu dapat dilihat pada Tabel 2.2 berikut.
Tabel 2.2 Penelitian Terdahulu
Perbedaan penelitian yang dilakukan penulis dengan penelitian sebelumnya terletak pada metode klasifikasi yang dilakukan.
No. Peneliti Tahun Metode Hasil
1. Guo Jun, dan
Smitha K. G. 2016
Support Vector Machine, Stroop Color Word Test, Mental Arithmetic Test, Fast Fourier Transform (FFT)
Mengklasifikasikan stres ke dalam 3 level dengan tingkat akurasi sebesar 75%
2.
Pallavi Gaikwad dan A. N.
Paithane
2017
Support Vector Machine, Stroop Color Word Test, Discrete Wavelet Transform (DWT)
Mengklasifikasikan stres ke dalam 3 level dengan tingkat akurasi sebesar 72,3%
3. Berbano, dkk 2017
Artificial Neural Network, K-fold Cross Validation, Discrete Wavelet Transform (DWT)
Mengklasifikasikan stres ke dalam 4 jenis dengan tingkat akurasi sebesar 80,45%
4. Ahmad Hilmi,
dkk 2017
k-Nearest Neighbor, Principal Component Analysis
Menganalisis sinyal alfa dan beta EEG dengan melakukan klasifikasi kondisi rileks pada perokok aktif, akurasi rata-rata pada sinyal alfa 83,33% dan beta 90%.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan membahas tentang analisis dan perancangan pada sistem Klasifikasi Tingkat Stres Manusia Menggunakan Elektroensefalogram. Tahap pertama yaitu analisis data dengan menggunakan beberapa tahapan berupa preproses data dan ekstraksi menggunakan Independent Component Analysis. Kemudian implementasi metode K-Nearest Neighbor dalam mengklasifikasi tingkat stres ke dalam dua kategori yaitu stres tingkat normal dan tinggi.
3.1. Dataset
Data yang digunakan adalah real data dimana data dikumpulkan dari partisipan dengan rentang usia 18-23 tahun. Data yang diambil yaitu berupa sinyal gelombang otak yang direkam dengan Elektroensefalogram (EEG). Adapun EEG yang digunakan untuk merekam data adalah Emotiv EPOC+ yang terdiri atas 14 elektroda. Alat ini terkoneksi dengan laptop secara nirkabel melalui Bluetooth atau USB khusus untuk menerima sinyal EEG. Pada penelitian ini penulis menggunakan USB untuk menghubungkan EEG dengan laptop. Perolehan data dimulai dengan pemasangan masing-masing elektroda EEG pada kepala partisipan. Kemudian, penulis menggunakan Stroop Colour-Word Test sebagai stressor dimana partisipan diminta untuk menyebutkan warna dari 10 kata pada setiap sesi.
Waktu yang disediakan untuk partisipan dalam menjawab tes ini adalah 10 detik per sesi.
Stroop Colour-Word Test ini terdiri dari 2 sesi yaitu : I. Sesi Pengenalan
Pada sesi ini, partisipan akan dijelaskan mengenai prosedur dan instruksi apa saja yang ada dalam melakukan tes.
18
II. Sesi Pertama
Sesi ini dilakukan untuk memicu stres tingkat normal. Peserta diminta untuk membaca kata yang tertera, dimana kata itu sendiri berbeda dengan warnanya. Stroop Colour-Word Test pada sesi pertama dapat dilihat pada Gambar 3.1 berikut.
Jawaban : hitam-hijau-kuning-biru-merah-biru-ungu-hijau-orange-hitam
Gambar 3.1 Stroop Colour-Word Test Sesi Pertama
III. Sesi Kedua
Sesi ini dilakukan untuk memicu stres dengan level tinggi. Soal yang diberikan mirip dengan tahap kedua, namun partisipan diminta untuk menyebutkan warna dari kata tersebut. Stroop Colour-Word Test pada sesi kedua dapat dilihat pada Gambar 3.2 berikut.
Jawaban : coklat-hitam-orange-biru-merah-orange-merah-kuning-hijau-hitam
Gambar 3.2 Stroop Colour-Word Test Sesi Kedua
Untuk merekam data, digunakan software CyKIT berbasis web dan python yang dikembangkan oleh CymaticCorp. Software ini memungkinkan menyimpan rekaman data ke dalam format .csv yang berisikan output dari sensor dalam satuan microvolt dengan range data dari -8912 hingga +8192 microvolt. Adapun tampilan software CyKIT dapat dilihat pada Gambar 3.3
Gambar 3.3 Tampilan CyKIT
Data yang terkumpul berjumlah 62 data dimana 75% dari total data dipakai sebagai data latih dan 25% dari total data digunakan sebagai data uji. Data latih digunakan untuk memperoleh model, sedangkan data uji bertujuan menghitung akurasi model yang dibuat (Han & Kamber, 2011).
3.2. Analisis Sistem
Klasifikasi stres ke dalam tingkat normal dan tinggi pada penelitian ini terdiri dari beberapa tahapan. Tahapan pertama yaitu akuisisi data dengan menggunakan EEG untuk digunakan dalam proses pelatihan dan pengujian sistem. Selanjutnya masuk ke tahapan pre- processing. Pada tahap pre-processing dilakukan filtering data, vektorisasi data, yang kemudian dilanjutkan dengan ekstraksi menggunakan Independent Component Analysis.
Lalu masuk ke tahap klasifikasi menggunakan metode K-Nearest Neighbor. Setelah melalui semua tahap tersebut maka akan menghasilkan output berupa tingkat stres dalam tingkat normal atau tinggi. Adapun tahap-tahap tersebut dapat dilihat dalam bentuk arsitektur umum pada Gambar 3.4.
20
Gambar 3.4 Arsitektur Umum
3.2.1. Akuisisi Data
Data yang digunakan adalah real data dimana data dikumpulkan dari partisipan dengan rentang usia 18-23 tahun. Data yang diambil berupa sinyal gelombang otak yang direkam dengan Elektroensefalogram (EEG). Adapun EEG yang digunakan untuk merekam data adalah Emotiv EPOC+ yang terdiri atas 14 elektroda. Alat ini terkoneksi dengan laptop secara nirkabel melalui Bluetooth atau USB khusus untuk menerima sinyal EEG. Data yang telah direkam disimpan dalam format .csv. Data yang terkumpul berjumlah 62 data dimana 75% dari total data dipakai sebagai data latih dan 25% dari total data digunakan sebagai
File Model
Akuisisi Data EEG Headset
Partisipan
Klasifikasi k-Nearest Neighbor
Output
Hasil klasifikasi tingkat stres
Training Dataset Testing Dataset
Preprocessing
Filtering, Vektorisasi Data, ICA
data uji. Data latih digunakan untuk memperoleh model, sedangkan data uji bertujuan menghitung akurasi model yang dibuat (Han & Kamber, 2011).
3.2.2. Filtering Data
Pada tahap ini, file yang berisi ratusan baris disederhanakan menjadi 128 baris pada tiap datanya. Sehingga penulis hanya mengambil 128 baris pertama untuk data dengan label normal dan 128 baris terakhir untuk data dengan label tinggi.
3.2.3. Vektorisasi Data
Data yang sudah dilakukan filtering terlebih dahulu diubah ke dalam matriks vektor.
Matriks vektor merupakan matriks yang hanya terdiri dari satu baris (1xn) atau satu kolom (nx1) saja. Matriks vektor pada penelitian ini merupakan data matriks yang terdiri dari 63 baris dengan satu kolom (63x1). Gambar 3.5 berikut menunjukkan contoh untuk mendapatkan data vektor.
Gambar 3.5 Vektorisasi Data
Seperti yang terlihat pada Gambar 3.5, data vektor didapat dari matriks berukuran 4x4.
Untuk mengubah matriks 4x4 pada Gambar 3.5(a) ke dalam bentuk vektor yaitu diawali dengan mengambil nilai yang ada pada baris pertama, kemudian dilanjutkan dengan mengambil nilai yang ada pada baris kedua dan seterusnya hingga terakhir pada baris
0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1
0 1 1 1 1 1 0 0 1 1 0 0 (a) Matriks 4x4
(b) Vektor 16x1
22
keempat. Nilai-nilai tersebut dibuat dalam satu garis lurus dengan arah dari atas ke bawah.
Sehingga didapat matriks vektor berukuran 16x1 seperti pada Gambar 3.5(b).
Untuk hasil dari vektorisasi dari data yang didapatkan dapat dilihat dari Tabel 3.1 berikut.
Tabel 3.1 Hasil Vektorisasi Data
,"F32","F33","F34","F35","F36","F37","F38","F39","F310","F311”,... ,"F4129","label"
dt2,-8.20512799996,-12.820513006,...,-1.92307699947, 5.51281999,4.230768999978,"HIGH"
dt2.1,-7.179487000,3.8461539999,..., 9.2307690024 ,-6.282051000,0.512819999999,"HIGH"
dt2.2,-242.307693,220.64103,-140.769231,..., -121.538462 ,1.1538460016,128.58974,"HIGH"
dt2.3,-43.20512899999,10.51282100003,..., -1.1538 ,4.2307689978,2.179486999994,"HIGH"
dt2.4,-10,-0.38461499999994,-5,..., 15.897436002 ,-14.23077000001,-1.7948710006,"HIGH"
dt2.5,24.61538399997,14.6153850000001,..., -20.51281,19.871795,-11.1538460002,"HIGH"
dt2.6,18.0769230005,19.74358999991,..., -49.23076 ,35.25641, -7.82051300000057,"HIGH"
. . .
dt2.51,13.8461539999998,-4.7435889999997,..., -7.8205130,-1.28205100000014,"NORMAL"
dt2.52,-54.10256399998,116.025641,..., -29.48717 ,-25.7692310002,143.461538,"NORMAL"
dt2.53,-3.71794899999986,0.51281999999992,..., -2.435898 ,1.02564100000018,"NORMAL"
dt2.54,65.128205,-61.79487100001,..., 73.076923 ,-49.871795,8.846153999984,"NORMAL"
dt2.54,65.128205,-61.79487100001,31.410256001,..., -49.871795,8.8461539984,"NORMAL"
dt2.55,-12.82051299997,27.05128199994,..., 27.94871800006,-25.25641100003,"NORMAL"
Dari gambar di atas dapat dilihat bahwa pada baris pertama merupakan nama dari masing masing elektroda kemudian diikuti dengan baris kedua sampai ke-63 yang merupakan data hasil rekaman EEG. Semua data tersebut berada dalam 1 kolom.
3.2.4. Independent Component Analysis
Pada tahap ini, data yang telah divektorisasi kemudian diekstraksi sehingga menghasilkan tujuh variabel yaitu X1 sampai dengan X7 disertai dengan label pada masing-masing data.
Hal ini bertujuan untuk menghindari masalah yang timbul dari tingginya dimensionalitas saat melakukan klasifikasi dengan KNN karena KNN adalah salah satu algoritma yang
paling rentan terhadap tingginya dimensionalitas. Hal ini karena semakin banyak dimensi, ruang yang bisa ditempati instance semakin besar, sehingga semakin besar pula kemungkinan bahwa nearest neighbor dari suatu instance sebenarnya sama sekali tidak
“near”. Adapun hasil dari ekstraksi dapat dilihat pada Tabel 3.2 berikut.
Tabel 3.2 Hasil ekstraksi dengan ICA
X1 X2 X3 X4 X5 X6 X7
-1.85E+01 -16.365 -9.9013 8.94875 -5.6134 -1.2774 32.9479 -2.01E+01 -1.5978 7.26178 5.15423 0.28255 4.05655 0.54246 -1.39E+01 -9.5122 1.38767 -12.53 -18.415 -0.8596 13.5312 7.18E+00 4.50784 17.7434 4.12484 -17.893 16.3093 -6.3313 -6.190859 -1.5642 4.09387 30.4057 -38.7 -5.8657 -6.1704 4.6664679 3.14335 0.4237 -13.812 -9.7592 -4.3806 -7.9127 -18.103457 -5.5841 -72.005 112.813 -74.684 108.337 5.7846 4.9981105 1.16149 -1.8424 -8.6644 -10.953 -7.0694 -6.4546 -6.6712021 3.93302 2.03557 -11.333 15.3747 -0.5242 -0.1598 0.0470992 10.2895 -0.4384 0.06151 7.07018 3.84314 1.97934 -21.529358 42.2664 -43.103 48.6314 75.1203 -34.157 -27.207 -20.039355 0.6284 -79.958 -77.325 75.0046 49.5719 50.2428 -25.207794 -2.6851 1.3621 3.48974 1.99386 -3.3708 4.23564 .
. .
174.95897 -4.7182 -9.7994 -14.798 1.48665 6.91817 -33.442 -3.4033031 8.38433 -9.8393 36.567 35.4219 5.81599 -0.8826 13.887647 -14.631 32.149 -8.0989 -1.343 30.0601 -0.9588 3.1198639 3.9624 0.32414 -12.34 -16.752 -3.5506 -6.575 -44.2273 -6.0667 -9.9389 -50.907 -57.403 -58.943 15.8748 9.277592 11.128 -10.614 -13.023 10.9112 4.94555 -4.506 -0.3460723 -4.7704 6.09843 -1.4261 -1.8737 -3.8728 -3.2503 -34.682343 34.2044 -68.383 31.0397 71.6275 -35.305 -14.504 -32.409817 -21.605 -141.69 135.382 -16.884 -110.01 52.5099 -20.075887 0.20725 8.27529 6.59584 -6.1607 -2.3285 -1.2063 -8.4750959 -4.4543 15.9427 -3.0936 -11.487 5.10602 0.57634
24
3.2.5. Klasifikasi
Tahap selanjutnya adalah klasifikasi dengan menggunakan K-Nearest Neighbor (KNN).
Pada penelitian ini K-Nearest Neighbor dipakai pada proses training untuk pengenalan ciri dari nilai ekstraksi fitur yang nanti akan menghasilkan file model yang berisikan bobot pembanding dan nantinya akan dipakai saat proses testing. Berikut contoh perhitungan dengan K-Nearest Neighbor :
Pada Tabel 3.3 terdapat beberapa data yang telah diekstraksi sebelumnya. Adapun objek training ini memiliki tujuh variabel yaitu X1 sampai X7 dengan atribut tingkat stres yaitu normal dan tinggi.
Tabel 3.3 Klasifikasi data training
X1 X2 X3 X4 X5 X6 X7 Y
2 1 1 0 3 1 9 Tinggi
8 0 7 12 1 2 2 Tinggi
188 5 4 4 1 3 8 Tinggi
116 2 4 4 3 2 12 Tinggi
1 1 1 3 1 2 1 Normal
1 1 4 3 3 3 0 Normal
3 8 10 36 35 6 1 Normal
3 4 0 12 17 4 7 Normal
Kemudian diberikan data baru dengan nilai variabel seperti yang disajikan pada Tabel 3.4 berikut :
Tabel 3.4 Data Testing
X1 X2 X3 X4 X5 X6 X7
38 16 44 10 12 4 28
Berikut adalah langkah-langkah penyelesaian dengan KNN : 1. Tentukan Nilai K (Nilai K yang digunakan K=5)
2. Hitung jarak antara data baru dengan semua data training seperti pada Tabel 3.5 Tabel 3.5 Perhitungan kuadrat jarak data training dan data testing
Kuadrat jarak dengan data baru
Hasil Kuadrat Jarak dengan
Data Baru (2-38)2 + (1-16)2 + (1- 44)2 + (0-10)2 + (3-12)2 + (1-4)2 + (9-28)2 = 3921
(8-38)2 + (0-16)2 + (7- 44)2 + (12-10)2 + (1-12)2 + (2-4)2 + (2-28)2 = 3336 (188-38)2 + (5-16)2 + (4- 44)2 + (4-10)2 + (1-12)2 + (3-4)2 + (8-28)2 = 24779 (116-38)2 + (1-16)2 + (1- 44)2 + (0-10)2 + (3-12)2 + (1-4)2 + (9-28)2 = 8257
(1-38)2 + (1-16)2 + (1- 44)2 + (3-10)2 + (1-12)2 + (2-4)2 + (1-28)2 = 4346 (1-38)2 + (1-16)2 + (4- 44)2 + (3-10)2 + (3-12)2 + (3-4)2 + (0-28)2 = 4109 (3-38)2 + (8-16)2 + (10- 44)2 + (36-10)2 + (35-12)2 + (6-4)2 + (1-28)2 = 4383 (3-38)2 + (4-16)2 + (0- 44)2 + (12-10)2 + (17-12)2 + (4-4)2 + (7-28)2 = 3919
3. Kemudian urutkan kuadrat jarak dari yang terkecil seperti yang ditampilkan pada Tabel 3.6
Tabel 3.6 Pengurutan jarak terkecil dari data testing
Euclidean Distance Jarak Terkecil Tetangga Terdekat
√3921 = 62.61 3 Ya
√3336 = 57.70 1 Ya
√24779 = 157.41 8 Tidak
√8257 = 90.8 7 Tidak
√4346 = 65.92 5 Ya
√4109 = 64.1 4 Ya
26
Tabel 3.6 Pengurutan jarak terkecil dari data testing (lanjutan) Euclidean Distance Jarak Terkecil Tetangga Terdekat
√4383 = 66.20 6 Tidak
√3919 = 62.60 2 Ya
4. Lalu, mengumpulkan kategori Y(klasifikasi nearest neighbor) yang dapat dilihat pada Tabel 3.7.
Tabel 3.7 Klasifikasi Nearest Neighbor
X1 X2 X3 X4 X5 X6 X7 Euclidean Distance
Jarak Terkecil
Tetangga
Terdekat Y
2 1 1 0 3 1 9 62.61 3 Ya Tinggi
8 0 7 12 1 2 2 57.70 1 Ya Tinggi
188 5 4 4 1 3 8 157.41 8 Tidak -
116 2 4 4 3 2 12 90.8 7 Tidak -
1 1 1 3 1 2 1 65.92 5 Ya Normal
1 1 4 3 3 3 0 64.1 4 Ya Normal
3 8 10 36 35 6 1 66.20 6 Tidak -
3 4 0 12 17 4 7 62.60 2 Ya Normal
Berdasarkan hasil dari Tabel 3.7 dimana nilai K=5, kita memiliki 3 normal dan 2 tinggi, maka dapat kita simpulkan bahwa hasil klasifikasi data testing dengan nilai X1 = 38, X2
= 16, X3 = 44, X4 = 10, X5 = 12, X6 = 4, dan X7 = 28 termasuk dalam kategori Normal.
3.2.6. Output
Adapun output dalam pelatihan data akan menghasilkan model yang kemudian digunakan untuk melakukan pengujian data. Untuk pengujian data, output yang dihasilkan adalah berupa klasifikasi tingkat stres ke dalam tingkat normal dan tinggi.
3.3. Perancangan Sistem
Pada tahapan ini akan dijelaskan tentang perancangan menu sistem dan perancangan antar muka aplikasi Klasifikasi Tingkat Stres Manusia Berdasarkan Pengamatan Gelombang Otak Menggunakan Elektroensefalogram. Perancangan ini bertujuan agar pengguna dapat menjalankan aplikasi dengan mudah.
1. Rancangan Tampilan Halaman Preproses Data
Adapun rancangan tampilan halaman preproses data dapat dilihat pada Gambar 3.6 berikut.
Gambar 3.6 Rancangan Tampilan Halaman Preproses Data
Rancangan untuk preproses data terdiri dari beberapa button dan kolom, diantaranya
28
a. Import Folder Data EEG : untuk memilih folder yang berisikan data yang akan dilakukan preproses
b. Button Preproses Data : button untuk melakukan preproses data.
c. Jumlah K : untuk memasukkan nilai K yang diinginkan.
d. Proporsi Data Latih : merupakan proporsi data yang ingin digunakan untuk proses data training
e. Seed Sampel Acak : untuk menentukan inisialisai random dalam mengambil data untuk sampel
f. Gunakan Cross Validation : untuk memilih menggunakan cross validation atau tidak.
g. Jumlah Cross Validation : untuk menentukan jumlah cross validation yang dibutuhkan.
h. Folder Simpan Model : untuk menentukan lokasi penyimpanan model setelah dilakukan data training.
i. Button Latih data : untuk melakukan proses latih data.
2. Rancangan Tampilan Halaman Pelatihan Data
Tampilan halaman pelatihan data dapat dilihat pada Gambar 3.7. Pada halaman ini, yang akan ditampilkan adalah hasil dari pelatihan data yaitu berupa :
a. Confusion Matrix : kolom untuk menampilkan Confusion Matrix secara visual b. Confusion Matrix and Statisics : kolom yang menampilkan detail dari
Confusion Matrix.
Gambar 3.7 Rancangan Tampilan Halaman Pelatihan Data 3. Rancangan Tampilan Halaman Pengujian Data
Pada halaman ini, ada beberapa bagian yang akan ditampilkan, yaitu : a. Import Data EEG : untuk membuka dan memilih data yang akan dites.
b. Data yang Akan Diprediksi : menampilkan isi data yang akan diprediksi.
c. Folder Model : merupakan lokasi dimana file model berada.
d. Lakukan Prediksi : button untuk menjalankan proses prediksi.
e. Kolom Prediksi : menampilkan hasil prediksi tingkat stres.
Gambar 3.8 Rancangan Tampilan Halaman Pengujian Data
1
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi Sistem
Sesuai dengan hasil analisis dan perancangan sistem yang telah dibuat, dilakukan implementasi perancangan menjadi aplikasi yang memperlihatkan klasifikasi tingkat stres menggunakan Elektroensefalogram dengan algoritma k-Nearest Neighbor.
4.1.1. Spesifikasi perangkat keras dan perangkat lunak yang digunakan
Sistem dibuat di dalam lingkungan perangkat keras yang memiliki spesifikasi sebagai berikut:
a. Processor Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz 1.70GHz b. Memory RAM yang digunakan 4.00 GB
c. Kapasitas Hardisk 500GB
Selain perangkat keras, sistem juga dibuat dalam lingkungan spesifikasi perangkat lunak sebagai berikut:
a. Microsoft Windows 8 .1 b. R version 3.6.0
c. Rstudio version 1.2.1335
d. Library yang digunakan : shiny, caret, eegkit, kknn
4.1.2. Implementasi Perancangan Antarmuka
Adapun implementasi dari perancangan antarmuka yang telah dibangun pada sistem ini adalah :
4.1.2.1. Halaman Preproses Data
Halaman preproses data merupakan halaman yang pertama kali muncul saat aplikasi dijalankan. Halaman preproses data dapat dilihat pada Gambar 4.1
Gambar 4.1 Halaman Preproses Data
Halaman ini merupakan halaman untuk melakukan preproses dan ekstraksi data dengan input file data yang telah dikumpulkan dalam satu folder. Pada halaman ini terdapat beberapa button dan kolom untuk memasukkan data yang akan diproses.
4.1.2.2. Halaman Pelatihan Data
Pada halaman ini dilakukan pelatihan data yang telah dipreproses sebelumnya. Pelatihan data dilakukan dengan menggunakan button latih data yang terletak pada bagian paling bawah dari halaman ini. Hasil pelatihan data akan ditampilkan di tab Hasil Pelatihan Data.
Setelah dilakukan pelatihan data maka didapatkan file model yang akan digunakan untuk melakukan prediksi tingkat stres. Halaman Pelatihan Data dapat dilihat pada Gambar 4.2.
32
Gambar 4.2 Halaman Pelatihan Data
4.1.2.3. Halaman Pengujian Data
Pada halaman ini dilakukan pengujian data dengan cara mengupload file data rekaman EEG dan memasukkan lokasi file model yang telah didapatkan dari proses pelatihan data.
Halaman pengujian data dapat dilihat pada Gambar 4.3
Gambar 4.3 Halaman Pengujian Data
4.2. Pengujian Sistem
Setelah melakukan proses implementasi, dilanjutkan dengan proses pengujian. Adapun hal yang akan dibahas pada pengujian sistem adalah sebagai berikut.
4.2.1 Ilustrasi Data
Data yang digunakan adalah real data dimana data dikumpulkan dari partisipan dengan rentang usia 18-23 tahun. Data yang diambil yaitu berupa sinyal gelombang otak yang direkam dengan Elektroensefalogram (EEG). Adapun EEG yang digunakan untuk merekam data adalah Emotiv EPOC+ yang terdiri atas 14 elektroda. Data yang telah direkam disimpan dalam format .csv yang memuat hasil rekaman sinyal EEG untuk setiap elektroda yang dapat dilihat pada Gambar 4.4
Gambar 4.4 H6.csv 4.2.2 Prosedur Operasional
Tampilan sistem terdiri dari halaman preproses data, pelatihan data, dan pengujian data.
Pada halaman preproses data, terdapat beberapa kolom dan button untuk melakukan
34
preproses data itu sendiri. Dimulai dari menginput path folder yang berisikan file data yang akan digunakan. Hal ini dapat dilihat pada Gambar 4.5.
Gambar 4.5 Input lokasi folder file data
Untuk menjalankan perintah preproses data dilakukan dengan menekan button Preproses Data. Hasil dari preproses data akan muncul di sebelah kanan halaman pada tab Data dalam format tabel. Tabel terdiri dari 8 kolom dimana tiap baris diberi label sesuai dengan kategori tingkat stres. Adapun tampilan dari tab Data dapat dilihat pada Gambar 4.6.
Gambar 4.6 Menjalankan perintah preproses data