• Tidak ada hasil yang ditemukan

KLASIFIKASI TINGKAT STRES MANUSIA BERDASARKAN PENGAMATAN GELOMBANG OTAK MENGGUNAKAN EEG DENGAN ALGORITMA K-NEAREST NEIGHBOR SKRIPSI VENY APRIYANTI M.

N/A
N/A
Protected

Academic year: 2022

Membagikan "KLASIFIKASI TINGKAT STRES MANUSIA BERDASARKAN PENGAMATAN GELOMBANG OTAK MENGGUNAKAN EEG DENGAN ALGORITMA K-NEAREST NEIGHBOR SKRIPSI VENY APRIYANTI M."

Copied!
58
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)

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

(5)

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.

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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.

(14)

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.

(15)

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 :

(16)

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

(17)

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.

(18)

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

(19)

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

(20)

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.

(21)

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

(22)

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.

(23)

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

(24)

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

(25)

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)

(26)

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

)

12

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)

(27)

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

(28)

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

(29)

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.

(30)

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

(31)

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.

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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.

(39)

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

(40)

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.

(41)

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

(42)

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 :

(43)

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.

(44)

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

(45)

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

(46)

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

Referensi

Garis besar

Dokumen terkait

Melakukan klasifikasi K-Nearest Neighbor tanpa seleksi atribut dapat diketahui hasil sehingga dapat dibandingkan di mana kategori 1 menunjukkan kategori

MKNN merupakan algoritma yang dikembangkan dari algoritma KNN, algoritma MKNN menambahkan proses baru untuk melakukan klasifikasi yaitu perhitungan nilai validitas

Metode yang akan dipakai untuk melakukan proses klasifikasi jenis buah jambu biji yaitu menggunakan metode K-NN alasan dipilihnya metode ini karena dapat melakukan

Berdasarkan latar belakang di atas maka dapat dirumuskan permasalahannya yaitu bagaimana membuat sistem yang dapat melakukan klasifikasi penyakit pada anak dengan gejala

Berangkat dari permasalahan tersebut, penulis ingin menerapkan algoritma K-Nearest Neighbor pada sebuah aplikasi atau sistem untuk melakukan klasifikasi persona suatu akun Instagram

Sistem ini memiliki tingkat akurasi yang tinggi untuk melakukan klasifikasi terhadap akun influencer dari Indonesia, kedepannya bisa ditambahkan dataset pada caption agar dapat

Pada penelitian ini akan melakukan perbandingan antara algoritma C4.5 dan Modified K-Nearest Neighbor MKNN mengenai klasifikasi jamur dimana hasil yang ingin dicapai dari perbandingan

Pada penelitian ini akan melakukan perbandingan antara algoritma C4.5 dan Modified K-Nearest Neighbor MKNN mengenai klasifikasi jamur dimana hasil yang ingin dicapai dari perbandingan