IDENTIFIKASI AKTIVITAS MENTAL MANUSIA MENGGUNAKAN KOMBINASI PCA (PRINCIPAL COMPONENT ANALYSIS) DAN
JARINGAN SARAF TIRUAN PADA SINYAL EEG (ELECTROENCEPHALOGRAM)
Nama : Ricky Shonda Sanjaya NRP : 0622006
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,
Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.
Email : ricky_shonda@yahoo.com
ABSTRAK
Sinyal EEG (electroencephalogram) akan dihasilkan ketika seseorang melakukan aktivitas. Sinyal EEG dihasilkan oleh lapisan luar otak yang disebut korteks kemudian direkam dengan menggunakan elektroda yang diletakkan pada kulit kepala menurut sistem 10-20. Pada Tugas Akhir ini, sinyal EEG yang digunakan adalah hasil perekaman yang dilakukan oleh Zachary A. Keirn pada kanal C3, C4, P3, P4, O1, dan O2. Aktivitas mental yang direkam adalah Baseline Task, Math Task, Letter Task, Visual Counting Task, dan Geometric Figure Rotation.
Sinyal EEG tersebut diidentifikasi menggunakan kombinasi metode PCA dan Jaringan Saraf Tiruan dengan algoritma Backpropagation. Identifikasi dilakukan dalam 3 kategori; hasil kategori pertama(data uji sama dengan data latih): semua aktivitas berhasil diidentifikasi sebesar 100 %, sedangkan kategori kedua (data uji dan data latih berasal dari subyek yang sama tetapi berbeda perekaman): aktivitas berhasil diidentifikasi sebesar 26,67 %, dan kategori ketiga (data uji berbeda dengan data latih): aktivitas berhasil diidentifikasi sebesar 20 %.
Kata Kunci : EEG, Aktivitas Mental, Backpropagation, PCA.
Universitas Kristen Maranatha
IDENTIFICATION OF MENTAL ACTIVITIES USING COMBINATION OF PCA (PRINCIPAL COMPONENT ANALYSIS) AND NEURAL
NETWORK ON EEG SIGNAL (ELECTROENCEPHALOGRAM)
Name : Ricky Shonda Sanjaya NRP : 0622006
Electrical Engineering, Maranatha Christian University,
Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.
Email : ricky_shonda@yahoo.com
ABSTRACT
EEG (Electroencephalogram)signal will be generated when a person doing activities. EEG signal is generated by brain cortex. EEG signal can be recorded by using electrodes placed on the scalp based-on 10 – 20 system. In this final project, EEG signal is taken from the recording of Zachary A. Keirn. Mental activities such as Baseline Task, Math Task, Letter Task, Visual Counting Task, and Geometric Figure Rotation are recorded on channel C3, C4, P3, P4, O1, dan O2
based-on 10 – 20 system.
In this research EEG signal is identified by using a combination of PCA and Neural Networks with backpropagation algorithm. Identification processes are divided into 3 categories. First category (test data are same as training data): activities can be successfully identified 100 %. Second category (test data is from the same subject with training data): activities can be successfully identified about 26,67 %. Third category (test data is different with training data): activities can be successfully identified about 20 %.
Keywords : EEG, Mental Activity, Backpropagation, PCA
Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK... i
ABSTRACT…... ii
KATA PENGANTAR…... iii
DAFTAR ISI…... v
DAFTAR TABEL…...…….. viii
DAFTAR GAMBAR…...……. xi
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah... 1
1.2 Identifikasi Masalah... 2
1.3 Perumusan Masalah...…. 2
1.4 Tujuan...…...…... 2
1.5 Pembatasan Masalah...….. 2
1.6 Sistematika Penulisan... 2
BAB 2 OTAK DAN SINYAL EEG 2.1 Otak Manusia...…………...….…... 4
2.2 Bagian Otak Manusia...…...…... 5
2.2.1 Otak Besar (cerebrum)...… 5
2.2.2 Otak Kecil (cerebellum)…..…... 7
2.2.3 Batang Otak (brain stem)…..…... 7
2.3 EEG (Electroencephalogram)... 9
2.3.1 Sinyal – sinyal EEG...….. 9
2.3.1.1 Sinyal Alpha...…. 10
2.3.1.2 Sinyal Beta... 10
2.3.1.3 Sinyal theta... 10
2.3.1.4 Sinyal Delta…... 11
Universitas Kristen Maranatha
2.3.2 Perekaman EEG...……. 11
2.3.2.1 Penempatan Elektroda dan Perekaman EEG.. 11
2.3.2.2 Gangguan pada Perekaman EEG... 13
BAB 3 METODE PCA DAN JARINGAN SARAF TIRUAN 3.1 Principal Component Analysis... 14
3.1.1 Principal Component Analysis dengan Matrik Kovarian... 14
3.2 Jaringan Saraf Tiruan...……... 16
3.2.1 Arsitektur Jaringan..………...………... 17
3.2.2 Fungsi Aktivasi.………...……. 17
3.2.3 Perseptron...………..…….... 19
3.2.4 Koneksi dalam Jaringan Saraf Tiruan...………… 21
3.2.5 Algoritma pelatihan... 21
BAB 4 PENGOLAHAN DATA 4.1 Pengambilan Data... 24
4.2 Aktivitas Mental... 25
4.3 Pengolahan Data... 26
4.3.1 Pembagian Data Latih dan Data Uji………. 26
4.3.2 Pengolahan Data dengan PCA………... 27
4.4 Algoritma Propagasi Balik (Backpropagation)... 28
BAB 5 HASIL PENGUJIAN DAN ANALISIS DATA 5.1 Diagram Blok Percobaan... 31
5.2 Konfigurasi Percobaan... 31
5.2.1 Konfigurasi Neuron Menggunakan Hidden Layer…… 32
5.3 Sasaran Keluaran (Target Output)...…… 32
5.4 Pelatihan Backpropagation... 34
Universitas Kristen Maranatha
5.5 Hasil Pengujian... 37
5.5.1 Kategori Pertama………..…. 37
5.5.2 Kategori Kedua………. 39
5.5.3 Kategori Ketiga………. 40
5.6 Analisis Data... 47
5.6.1 Kategori Pertama dan kategori Kedua………. 47
5.6.2 Kategori Ketiga………. 48
BAB 6 SIMPULAN DAN SARAN 6.1 Simpulan... 50
6.2 Saran... 50
DAFTAR PUSTAKA ... ... ... 51
LAMPIRAN A LIST PROGRAM PADA MATLAB UNTUK JENIS BASELINE
TASK
LAMPIRAN B LIST PROGRAM PADA MATLAB UNTUK JENIS VISUAL
COUNTING TASK
LAMPIRAN C LIST PROGRAM PADA MATLAB UNTUK JENIS LETTER
TASK
LAMPIRAN D LIST PROGRAM PADA MATLAB UNTUK JENIS MATH
TASK
LAMPIRAN E LIST PROGRAM PADA MATLAB UNTUK JENIS
GEOMETRIC FIGURE ROTATION
Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 4.1 Pembagian Data Uji dan Data Latih………... 27
Tabel 5.1 Konfigurasi Neuron dengan Menggunakan Hidden Layer... 32
Tabel 5.2 Hasil Percobaan Kategori Pertama Aktivitas Base………. 37
Tabel 5.3 Hasil Percobaan Kategori Pertama Aktivitas Counting... 38
Tabel 5.4 Hasil Percobaan Kategori Pertama Aktivitas Letter... 38
Tabel 5.5 Hasil Percobaan Kategori Pertama Aktivitas Math... 38
Tabel 5.6 Hasil Percobaan Kategori Pertama Aktivitas Rotate... 38
Tabel 5.7 Hasil Percobaan Kategori Kedua Aktivitas Base... 39
Tabel 5.8 Hasil Percobaan Kategori Kedua Aktivitas Counting……..…. 39
Tabel 5.9 Hasil Percobaan Kategori Kedua Aktivitas Letter... 40
Tabel 5.10 Hasil Percobaan Kategori Kedua Aktivitas Math... 40
Tabel 5.11 Hasil Percobaan Kategori Kedua Aktivitas Rotate... 40
Tabel 5.12 Hasil Percobaan Kategori Ketiga Aktivitas Base pada subyek 2………. 41
Tabel 5.13 Hasil Percobaan Kategori Ketiga Aktivitas Counting pada subyek 2... 41
Tabel 5.14 Hasil Percobaan Kategori Ketiga Aktivitas Letter pada subyek 2…….……… 41
Tabel 5.15 Hasil Percobaan Kategori Ketiga Aktivitas Math pada subyek 2………. 42
Tabel 5.16 Hasil Percobaan Kategori Ketiga Aktivitas Rotate pada subyek 2………. 42
Tabel 5.17 Hasil Percobaan Kategori Ketiga Aktivitas Base pada subyek 4………. 42
Universitas Kristen Maranatha
Tabel 5.18 Hasil Percobaan Kategori Ketiga Aktivitas Counting
pada subyek 4………. 42
Tabel 5.19 Hasil Percobaan Kategori Ketiga Aktivitas Letter
pada subyek 4………. 43
Tabel 5.20 Hasil Percobaan Kategori Ketiga Aktivitas Math
pada subyek 4………. 43
Tabel 5.21 Hasil Percobaan Kategori Ketiga Aktivitas Rotate
pada subyek 4………. 43
Tabel 5.22 Hasil Percobaan Kategori Ketiga Aktivitas Base
pada subyek 6………. 44
Tabel 5.23 Hasil Percobaan Kategori Ketiga Aktivitas Counting
pada subyek 6………. 44
Tabel 5.24 Hasil Percobaan Kategori Ketiga Aktivitas Letter
pada subyek 6………. 44
Tabel 5.25 Hasil Percobaan Kategori Ketiga Aktivitas Math
pada subyek 6………. 45
Tabel 5.26 Hasil Percobaan Kategori Ketiga Aktivitas Rotate
pada subyek 6………. 45
Tabel 5.27 Hasil Percobaan Kategori Ketiga Aktivitas Base
pada subyek 7………. 45
Tabel 5.28 Hasil Percobaan Kategori Ketiga Aktivitas Counting
pada subyek 7………. 45
Tabel 5.29 Hasil Percobaan Kategori Ketiga Aktivitas Letter
pada subyek 7………. 46
Tabel 5.30 Hasil Percobaan Kategori Ketiga Aktivitas Math
pada subyek 7………. 46
Tabel 5.31 Hasil Percobaan Kategori Ketiga Aktivitas Rotate
pada subyek 7………. 46
Universitas Kristen Maranatha
Tabel 5.32 Persentase Keberhasilan pada Konfigurasi A………...… 47
Tabel 5.33 Persentase Keberhasilan pada Konfigurasi B... 47
Tabel 5.34 Persentase Keberhasilan pada Konfigurasi A
pada Kategori 3……….………….. 48
Tabel 5.35 Persentase Keberhasilan pada Konfigurasi B
pada Kategori 3………... 48
Universitas Kristen Maranatha
Universitas Kristen Maranatha
ix
DAFTAR GAMBAR
Gambar 2.1 Skema Neuron …... 5
Gambar 2.2 Bagian cerebrum... 6
Gambar 2.3 Bagian dari Batang Otak... 8
Gambar 2.4 Peletakan Elektroda Pada Kulit Kepala... 9
Gambar 2.5 Sinyal EEG...…... 10
Gambar 2.6 Peletakan Elektroda Sistem 10 - 20...……….……. 12
Gambar 2.7 Artefak yang Muncul saat perekaman EEG. (a) kedipan Mata, (b) gerakan otot, (c) pengaruh ECG, (d) pengaruh Elektroda...……. 13
Gambar 3.1 Model Arsitektur Jaringan Saraf Tiruan yang sederhana... 17
Gambar 3.2 Grafik fungsi Threshold...… 18
Gambar 3.3 Grafik fungsi aktivasi Logsig...………... 18
Gambar 3.4 Grafik fungsi aktivasi tansig... ...…... 19
Gambar 3.5 Grafik fungsi aktivasi linear / purelin ... 19
Gambar 3.6 Perseptron Lapis Tunggal...…... 20
Gambar 3.7 Perseptron Berlapis Jamak... 21
Gambar 3.8 Algoritma Pelatihan dalam Jaringan Saraf Tiruan... 22
Gambar 3.9 Skema Pembelajaran Diawasi... 22
Gambar 4.1 Lokasi Penempatan Elektroda... 24
Gambar 4.2 Contoh Hasil Perekaman Sinyal EEG... 25
Gambar 4.3 Skema Jaringan Saraf Tiruan Sederhana... 29
LAMPIRAN A
LIST PROGRAM PADA MATLAB UNTUK JENIS
BASELINE TASK
Program untuk pengolahan data subyek 1
load s1b3.mat
load s1b4.mat
load s1b5.mat
load s1b6.mat
load s1b7.mat
%bases1b3:coeff dari s1b3
b_s1b3=s1b3(1:6,:)';
[bases1b3,latent1]=princomp(b_s1b3);
s1base1=[bases1b3(:,1);bases1b3(:,2);bases1b3(:,3);bases1b3(:,4); bases1b3(:,5);bases1b3(:,6)];
%bases1b4:coeff dari s1b4
b_s1b4=s1b4(1:6,:)';
[bases1b4,latent2]=princomp(b_s1b4);
s1base2=[bases1b4(:,1);bases1b4(:,2);bases1b4(:,3);bases1b4(:,4); bases1b4(:,5);bases1b4(:,6)];
%bases1b5:coeff dari s1b5
b_s1b5=s1b5(1:6,:)';
[bases1b5,latent3]=princomp(b_s1b5);
s1base3=[bases1b5(:,1);bases1b5(:,2);bases1b5(:,3);bases1b5(:,4); bases1b5(:,5);bases1b5(:,6)];
%bases1b6:coeff dari s1b6
b_s1b6=s1b6(1:6,:)';
[bases1b6,latent4]=princomp(b_s1b6);
s1base4=[bases1b6(:,1);bases1b6(:,2);bases1b6(:,3);bases1b6(:,4); bases1b6(:,5);bases1b6(:,6)];
%bases1b7:coeff dari s1b7
b_s1b7=s1b7(1:6,:)';
[bases1b7,latent5]=princomp(b_s1b7);
s1base5=[bases1b7(:,1);bases1b7(:,2);bases1b7(:,3);bases1b7(:,4); bases1b7(:,5);bases1b7(:,6)];
inputs1base=[s1base1 s1base2 s1base3 s1base4 s1base5];
subyek 3 load s3b2.mat
load s3b4.mat
load s3b5.mat
load s3b7.mat
load s3b10.mat
%bases3b2:coeff dari s3b2
b_s3b2=s3b2(1:6,:)';
[bases3b2,latent1]=princomp(b_s3b2);
s3base1=[bases3b2(:,1);bases3b2(:,2);bases3b2(:,3);bases3b2(:,4); bases3b2(:,5);bases3b2(:,6)];
%bases3b4:coeff dari s3b4
b_s3b4=s3b4(1:6,:)';
[bases3b4,latent2]=princomp(b_s3b4);
s3base2=[bases3b4(:,1);bases3b4(:,2);bases3b4(:,3);bases3b4(:,4); bases3b4(:,5);bases3b4(:,6)];
%bases3b5:coeff dari s3b5
b_s3b5=s3b5(1:6,:)';
[bases3b5,latent3]=princomp(b_s3b5);
s3base3=[bases3b5(:,1);bases3b5(:,2);bases3b5(:,3);bases3b5(:,4); bases3b5(:,5);bases3b5(:,6)];
%bases3b7:coeff dari s3b7
b_s3b7=s3b7(1:6,:)';
[bases3b7,latent4]=princomp(b_s3b7);
s3base4=[bases3b7(:,1);bases3b7(:,2);bases3b7(:,3);bases3b7(:,4); bases3b7(:,5);bases3b7(:,6)];
%bases3b10:coeff dari s3b10
b_s3b10=s3b10(1:6,:)';
[bases3b10,latent5]=princomp(b_s3b10);
s3base5=[bases3b10(:,1);bases3b10(:,2);bases3b10(:,3);bases3b10(: ,4);bases3b10(:,5);bases3b10(:,6)];
inputs3base=[s3base1 s3base2 s3base3 s3base4 s3base5];
subyek 5 load s5b6.mat
load s5b7.mat
load s5b8.mat
load s5b9.mat
load s5b10.mat
%bases5b6:coeff dari s5b6
b_s5b6=s5b6(1:6,:)';
[bases5b6,latent1]=princomp(b_s5b6);
s5base1=[bases5b6(:,1);bases5b6(:,2);bases5b6(:,3);bases5b6(:,4); bases5b6(:,5);bases5b6(:,6)];
%bases5b7:coeff dari s5b7
b_s5b7=s5b7(1:6,:)';
[bases5b7,latent2]=princomp(b_s5b7);
s5base2=[bases5b7(:,1);bases5b7(:,2);bases5b7(:,3);bases5b7(:,4); bases5b7(:,5);bases5b7(:,6)];
%bases5b8:coeff dari s5b8
b_s5b8=s5b8(1:6,:)';
[bases5b8,latent3]=princomp(b_s5b8);
s5base3=[bases5b8(:,1);bases5b8(:,2);bases5b8(:,3);bases5b8(:,4); bases5b8(:,5);bases5b8(:,6)];
%bases5b9:coeff dari s5b9
b_s5b9=s5b9(1:6,:)';
[bases5b9,latent4]=princomp(b_s5b9);
s5base4=[bases5b9(:,1);bases5b9(:,2);bases5b9(:,3);bases5b9(:,4); bases5b9(:,5);bases5b9(:,6)];
%bases5b10:coeff dari s5b10
b_s5b10=s5b10(1:6,:)';
[bases5b10,latent5]=princomp(b_s5b10);
s5base5=[bases5b10(:,1);bases5b10(:,2);bases5b10(:,3);bases5b10(: ,4);bases5b10(:,5);bases5b10(:,6)];
A-4
inputs5base=[s5base1 s5base2 s5base3 s5base4 s5base5];
List Program untuk proses pengujian load trainnetA.mat
s1base s3base s5base
uji_base=[inputs1base inputs3base inputs5base]; base1_A=sim(netA,uji_base)
deviasi=sqrt(jumlah/4); deviasi=0.4*deviasi; for n=1:5
LAMPIRAN B
LIST PROGRAM PADA MATLAB UNTUK JENIS
VISUAL COUNTING TASK
Program untuk pengolahan data Subyek 1
load s1c3.mat
load s1c4.mat
load s1c5.mat
load s1c6.mat
load s1c7.mat
%countings1c3:coeff dari s1c3
c_s1c3=s1c3(1:6,:)';
[countings1c3,latent1]=princomp(c_s1c3);
s1counting1=[countings1c3(:,1);countings1c3(:,2);countings1c3(:,3 );countings1c3(:,4);countings1c3(:,5);countings1c3(:,6)];
%countings1c4:coeff dari s1c4
c_s1c4=s1c4(1:6,:)';
[countings1c4,latent2]=princomp(c_s1c4);
s1counting2=[countings1c4(:,1);countings1c4(:,2);countings1c4(:,3 );countings1c4(:,4);countings1c4(:,5);countings1c4(:,6)];
%countings1c5:coeff dari s1c5
c_s1c5=s1c5(1:6,:)';
[countings1c5,latent3]=princomp(c_s1c5);
s1counting3=[countings1c5(:,1);countings1c5(:,2);countings1c5(:,3 );countings1c5(:,4);countings1c5(:,5);countings1c5(:,6)];
%countings1c6:coeff dari s1c6
c_s1c6=s1c6(1:6,:)';
[countings1c6,latent4]=princomp(c_s1c6);
s1counting4=[countings1c6(:,1);countings1c6(:,2);countings1c6(:,3 );countings1c6(:,4);countings1c6(:,5);countings1c6(:,6)];
%countings1c7:coeff dari s1c7
c_s1c7=s1c7(1:6,:)';
[countings1c7,latent5]=princomp(c_s1c7);
s1counting5=[countings1c7(:,1);countings1c7(:,2);countings1c7(:,3 );countings1c7(:,4);countings1c7(:,5);countings1c7(:,6)];
inputs1counting=[s1counting1 s1counting2 s1counting3 s1counting4 s1counting5];
subyek 3 load s3c2.mat
load s3c4.mat
load s3c5.mat
load s3c7.mat
load s3c10.mat
%countings3c2:coeff dari s3c2
c_s3c2=s3c2(1:6,:)';
[countings3c2,latent1]=princomp(c_s3c2);
s3counting1=[countings3c2(:,1);countings3c2(:,2);countings3c2(:,3 );countings3c2(:,4);countings3c2(:,5);countings3c2(:,6)];
%countings3c4:coeff dari s3c4
c_s3c4=s3c4(1:6,:)';
[countings3c4,latent2]=princomp(c_s3c4);
s3counting2=[countings3c4(:,1);countings3c4(:,2);countings3c4(:,3 );countings3c4(:,4);countings3c4(:,5);countings3c4(:,6)];
%countings3c5:coeff dari s3c5
c_s3c5=s3c5(1:6,:)';
[countings3c5,latent3]=princomp(c_s3c5);
s3counting3=[countings3c5(:,1);countings3c5(:,2);countings3c5(:,3 );countings3c5(:,4);countings3c5(:,5);countings3c5(:,6)];
%countings3c7:coeff dari s3c7
c_s3c7=s3c7(1:6,:)';
[countings3c7,latent4]=princomp(c_s3c7);
s3counting4=[countings3c7(:,1);countings3c7(:,2);countings3c7(:,3 );countings3c7(:,4);countings3c7(:,5);countings3c7(:,6)];
%countings3c10:coeff dari s3c10
c_s3c10=s3c10(1:6,:)';
[countings3c10,latent5]=princomp(c_s3c10);
s3counting5=[countings3c10(:,1);countings3c10(:,2);countings3c10( :,3);countings3c10(:,4);countings3c10(:,5);countings3c10(:,6)];
inputs3counting=[s3counting1 s3counting2 s3counting3 s3counting4 s3counting5];
subyek 5 load s5c6.mat
load s5c7.mat
load s5c8.mat
load s5c9.mat
load s5c10.mat
%countings5c6:coeff dari s5c6
c_s5c6=s5c6(1:6,:)';
[countings5c6,latent1]=princomp(c_s5c6);
s5counting1=[countings5c6(:,1);countings5c6(:,2);countings5c6(:,3 );countings5c6(:,4);countings5c6(:,5);countings5c6(:,6)];
%coutings5c7:coeff dari s5c7
c_s5c7=s5c7(1:6,:)';
[countings5c7,latent2]=princomp(c_s5c7);
s5counting2=[countings5c7(:,1);countings5c7(:,2);countings5c7(:,3 );countings5c7(:,4);countings5c7(:,5);countings5c7(:,6)];
%countings5c8:coeff dari s5c8
c_s5c8=s5c8(1:6,:)';
[countings5c8,latent3]=princomp(c_s5c8);
s5counting3=[countings5c8(:,1);countings5c8(:,2);countings5c8(:,3 );countings5c8(:,4);countings5c8(:,5);countings5c8(:,6)];
%countings5c9:coeff dari s5c9
c_s5c9=s5c9(1:6,:)';
[countings5c9,latent4]=princomp(c_s5c9);
s5counting4=[countings5c9(:,1);countings5c9(:,2);countings5c9(:,3 );countings5c9(:,4);countings5c9(:,5);countings5c9(:,6)];
%countings5c10:coeff dari s5c10
c_s5c10=s5c10(1:6,:)';
[countings5c10,latent5]=princomp(c_s5c10);
s5counting5=[countings5c10(:,1);countings5c10(:,2);countings5c10( :,3);countings5c10(:,4);countings5c10(:,5);countings5c10(:,6)];
B-4
inputs5counting=[s5counting1 s5counting2 s5counting3 s5counting4 s5counting5];
List program untuk proses pengujian load trainnetA.mat
s1counting s3counting s5counting
uji_counting=[inputs1counting inputs3counting inputs5counting]; count1_A=sim(netA,uji_counting)
jumlah=jumlah+(count1_A(n,m)-rata)^2; end;
deviasi=sqrt(jumlah/4); deviasi=0.4*deviasi; for n=1:5
LAMPIRAN C
LIST PROGRAM PADA MATLAB UNTUK JENIS
LETTER TASK
Program untuk pengolahan data Subyek 1
load s1l3.mat
load s1l4.mat
load s1l5.mat
load s1l6.mat
load s1l7.mat
%letters1l3:coeff dari s1l3
l_s1l3=s1l3(1:6,:)';
[letters1l3,latent1]=princomp(l_s1l3);
s1letter1=[letters1l3(:,1);letters1l3(:,2);letters1l3(:,3);letter s1l3(:,4);letters1l3(:,5);letters1l3(:,6)];
%letters1l4:coeff dari s1l4
l_s1l4=s1l4(1:6,:)';
[letters1l4,latent2]=princomp(l_s1l4);
s1letter2=[letters1l4(:,1);letters1l4(:,2);letters1l4(:,3);letter s1l4(:,4);letters1l4(:,5);letters1l4(:,6)];
%letters1l5:coeff dari s1l5
l_s1l5=s1l5(1:6,:)';
[letters1l5,latent3]=princomp(l_s1l5);
s1letter3=[letters1l5(:,1);letters1l5(:,2);letters1l5(:,3);letter s1l5(:,4);letters1l5(:,5);letters1l5(:,6)];
%letters1l6:coeff dari s1l6
l_s1l6=s1l6(1:6,:)';
[letters1l6,latent4]=princomp(l_s1l6);
s1letter4=[letters1l6(:,1);letters1l6(:,2);letters1l6(:,3);letter s1l6(:,4);letters1l6(:,5);letters1l6(:,6)];
%letters1l7:coeff dari s1l7
l_s1l7=s1l7(1:6,:)';
[letters1l7,latent5]=princomp(l_s1l7);
s1letter5=[letters1l7(:,1);letters1l7(:,2);letters1l7(:,3);letter s1l7(:,4);letters1l7(:,5);letters1l7(:,6)];
inputs1letter=[s1letter1 s1letter2 s1letter3 s1letter4 s1letter5];
subyek 3 load s3l2.mat
load s3l4.mat
load s3l5.mat
load s3l7.mat
load s3l10.mat
%letters3l2:coeff dari s3l2
l_s3l2=s3l2(1:6,:)';
[letters3l2,latent1]=princomp(l_s3l2);
s3letter1=[letters3l2(:,1);letters3l2(:,2);letters3l2(:,3);letter s3l2(:,4);letters3l2(:,5);letters3l2(:,6)];
%letters3l4:coeff dari s3l4
l_s3l4=s3l4(1:6,:)';
[letters3l4,latent2]=princomp(l_s3l4);
s3letter2=[letters3l4(:,1);letters3l4(:,2);letters3l4(:,3);letter s3l4(:,4);letters3l4(:,5);letters3l4(:,6)];
%letters3l5:coeff dari s3l5
l_s3l5=s3l5(1:6,:)';
[letters3l5,latent3]=princomp(l_s3l5);
s3letter3=[letters3l5(:,1);letters3l5(:,2);letters3l5(:,3);letter s3l5(:,4);letters3l5(:,5);letters3l5(:,6)];
%letters3l7:coeff dari s3l7
l_s3l7=s3l7(1:6,:)';
[letters3l7,latent4]=princomp(l_s3l7);
s3letter4=[letters3l7(:,1);letters3l7(:,2);letters3l7(:,3);letter s3l7(:,4);letters3l7(:,5);letters3l7(:,6)];
%letters3l10:coeff dari s3l10
l_s3l10=s3l10(1:6,:)';
[letters3l10,latent5]=princomp(l_s3l10);
s3letter5=[letters3l10(:,1);letters3l10(:,2);letters3l10(:,3);let ters3l10(:,4);letters3l10(:,5);letters3l10(:,6)];
inputs3letter=[s3letter1 s3letter2 s3letter3 s3letter4 s3letter5];
subyek 5 load s5l6.mat
load s5l7.mat
load s5l8.mat
load s5l9.mat
load s5l10.mat
%letters5l6:coeff dari s5l6
l_s5l6=s5l6(1:6,:)';
[letters5l6,latent1]=princomp(l_s5l6);
s5letter1=[letters5l6(:,1);letters5l6(:,2);letters5l6(:,3);letter s5l6(:,4);letters5l6(:,5);letters5l6(:,6)];
%letters5l7:coeff dari s5l7
l_s5l7=s5l7(1:6,:)';
[letters5l7,latent2]=princomp(l_s5l7);
s5letter2=[letters5l7(:,1);letters5l7(:,2);letters5l7(:,3);letter s5l7(:,4);letters5l7(:,5);letters5l7(:,6)];
%letters5l8:coeff dari s5l8
l_s5l8=s5l8(1:6,:)';
[letters5l8,latent3]=princomp(l_s5l8);
s5letter3=[letters5l8(:,1);letters5l8(:,2);letters5l8(:,3);letter s5l8(:,4);letters5l8(:,5);letters5l8(:,6)];
%letters5l9:coeff dari s5l9
l_s5l9=s5l9(1:6,:)';
[letters5l9,latent4]=princomp(l_s5l9);
s5letter4=[letters5l9(:,1);letters5l9(:,2);letters5l9(:,3);letter s5l9(:,4);letters5l9(:,5);letters5l9(:,6)];
%letters5l10:coeff dari s5l10
l_s5l10=s5l10(1:6,:)';
C-4
[letters5l10,latent5]=princomp(l_s5l10);
s5letter5=[letters5l10(:,1);letters5l10(:,2);letters5l10(:,3);let ters5l10(:,4);letters5l10(:,5);letters5l10(:,6)];
inputs5letter=[s5letter1 s5letter2 s5letter3 s5letter4 s5letter5];
List program untuk proses pengujian load trainnetA.mat
s1letter s3letter s5letter
uji_letter=[inputs1letter inputs3letter inputs5letter]; letter1_A=sim(netA,uji_letter)
jumlah=jumlah+(letter1_A(n,m)-rata)^2; end;
deviasi=sqrt(jumlah/4); deviasi=0.4*deviasi; for n=1:5
LAMPIRAN D
LIST PROGRAM PADA MATLAB UNTUK JENIS
MATH TASK
Program untuk pengolahan data Subyek 1
load s1m3.mat
load s1m4.mat
load s1m5.mat
load s1m6.mat
load s1m7.mat
%maths1m3:coeff dari s1m3
m_s1m3=s1m3(1:6,:)';
[maths1m3,latent1]=princomp(m_s1m3);
s1math1=[maths1m3(:,1);maths1m3(:,2);maths1m3(:,3);maths1m3(:,4); maths1m3(:,5);maths1m3(:,6)];
%maths1m4:coeff dari s1m4
m_s1m4=s1m4(1:6,:)';
[maths1m4,latent2]=princomp(m_s1m4);
s1math2=[maths1m4(:,1);maths1m4(:,2);maths1m4(:,3);maths1m4(:,4); maths1m4(:,5);maths1m4(:,6)];
%maths1m5:coeff dari s1m5
m_s1m5=s1m5(1:6,:)';
[maths1m5,latent3]=princomp(m_s1m5);
s1math3=[maths1m5(:,1);maths1m5(:,2);maths1m5(:,3);maths1m5(:,4); maths1m5(:,5);maths1m5(:,6)];
%maths1m6:coeff dari s1m6
m_s1m6=s1m6(1:6,:)';
[maths1m6,latent4]=princomp(m_s1m6);
s1math4=[maths1m6(:,1);maths1m6(:,2);maths1m6(:,3);maths1m6(:,4); maths1m6(:,5);maths1m6(:,6)];
%maths1m7:coeff dari s1m7
m_s1m7=s1m7(1:6,:)';
[maths1m7,latent5]=princomp(m_s1m7);
s1math5=[maths1m7(:,1);maths1m7(:,2);maths1m7(:,3);maths1m7(:,4); maths1m7(:,5);maths1m7(:,6)];
inputs1math=[s1math1 s1math2 s1math3 s1math4 s1math5];
Subyek 3 load s3m2.mat
load s3m4.mat
load s3m5.mat
load s3m7.mat
load s3m10.mat
%maths3m2:coeff dari s3m2
m_s3m2=s3m2(1:6,:)';
[maths3m2,latent1]=princomp(m_s3m2);
s3math1=[maths3m2(:,1);maths3m2(:,2);maths3m2(:,3);maths3m2(:,4); maths3m2(:,5);maths3m2(:,6)];
%maths3m4:coeff dari s3m4
m_s3m4=s3m4(1:6,:)';
[maths3m4,latent2]=princomp(m_s3m4);
s3math2=[maths3m4(:,1);maths3m4(:,2);maths3m4(:,3);maths3m4(:,4); maths3m4(:,5);maths3m4(:,6)];
%maths3m5:coeff dari s3m5
m_s3m5=s3m5(1:6,:)';
[maths3m5,latent3]=princomp(m_s3m5);
s3math3=[maths3m5(:,1);maths3m5(:,2);maths3m5(:,3);maths3m5(:,4); maths3m5(:,5);maths3m5(:,6)];
%maths3m7:coeff dari s3m7
m_s3m7=s3m7(1:6,:)';
[maths3m7,latent4]=princomp(m_s3m7);
s3math4=[maths3m7(:,1);maths3m7(:,2);maths3m7(:,3);maths3m7(:,4); maths3m7(:,5);maths3m7(:,6)];
%maths3m10:coeff dari s3m10
m_s3m10=s3m10(1:6,:)';
[maths3m10,latent5]=princomp(m_s3m10);
s3math5=[maths3m10(:,1);maths3m10(:,2);maths3m10(:,3);maths3m10(: ,4);maths3m10(:,5);maths3m10(:,6)];
inputs3math=[s3math1 s3math2 s3math3 s3math4 s3math5];
Subyek 5 load s5m6.mat
load s5m7.mat
load s5m8.mat
load s5m9.mat
load s5m10.mat
%maths5m6:coeff dari s5m6
m_s5m6=s5m6(1:6,:)';
[maths5m6,latent1]=princomp(m_s5m6);
s5math1=[maths5m6(:,1);maths5m6(:,2);maths5m6(:,3);maths5m6(:,4); maths5m6(:,5);maths5m6(:,6)];
%maths5m7:coeff dari s5m7
m_s5m7=s5m7(1:6,:)';
[maths5m7,latent2]=princomp(m_s5m7);
s5math2=[maths5m7(:,1);maths5m7(:,2);maths5m7(:,3);maths5m7(:,4); maths5m7(:,5);maths5m7(:,6)];
%maths5m8:coeff dari s5m8
m_s5m8=s5m8(1:6,:)';
[maths5m8,latent3]=princomp(m_s5m8);
s5math3=[maths5m8(:,1);maths5m8(:,2);maths5m8(:,3);maths5m8(:,4); maths5m8(:,5);maths5m8(:,6)];
%maths5m9:coeff dari s5m9
m_s5m9=s5m9(1:6,:)';
[maths5m9,latent4]=princomp(m_s5m9);
s5math4=[maths5m9(:,1);maths5m9(:,2);maths5m9(:,3);maths5m9(:,4); maths5m9(:,5);maths5m9(:,6)];
%maths5m10:coeff dari s5m10
m_s5m10=s5m10(1:6,:)';
[maths5m10,latent5]=princomp(m_s5m10);
s5math5=[maths5m10(:,1);maths5m10(:,2);maths5m10(:,3);maths5m10(: ,4);maths5m10(:,5);maths5m10(:,6)];
D-4
inputs5math=[s5math1 s5math2 s5math3 s5math4 s5math5];
List program untuk proses pengujian load trainnetA.mat
s1math s3math s5math
uji_math=[inputs1math inputs3math inputs5math]; math1_A=sim(netA,uji_math)
deviasi=sqrt(jumlah/4); deviasi=0.4*deviasi; for n=1:5
LAMPIRAN E
LIST PROGRAM PADA MATLAB UNTUK JENIS
GEOMETRIC FIGURE ROTATION
Program untuk pengolahan data Subyek 1
load s1r3.mat
load s1r4.mat
load s1r5.mat
load s1r6.mat
load s1r7.mat
%rotates1r3:coeff dari s1r3
r_s1r3=s1r3(1:6,:)';
[rotates1r3,latent1]=princomp(r_s1r3);
s1rotate1=[rotates1r3(:,1);rotates1r3(:,2);rotates1r3(:,3);rotate s1r3(:,4);rotates1r3(:,5);rotates1r3(:,6)];
%rotates1r4:coeff dari s1r4
r_s1r4=s1r4(1:6,:)';
[rotates1r4,latent2]=princomp(r_s1r4);
s1rotate2=[rotates1r4(:,1);rotates1r4(:,2);rotates1r4(:,3);rotate s1r4(:,4);rotates1r4(:,5);rotates1r4(:,6)];
%rotates1r5:coeff dari s1r5
r_s1r5=s1r5(1:6,:)';
[rotates1r5,latent3]=princomp(r_s1r5);
s1rotate3=[rotates1r5(:,1);rotates1r5(:,2);rotates1r5(:,3);rotate s1r5(:,4);rotates1r5(:,5);rotates1r5(:,6)];
%rotates1r6:coeff dari s1r6
r_s1r6=s1r6(1:6,:)';
[rotates1r6,latent4]=princomp(r_s1r6);
s1rotate4=[rotates1r6(:,1);rotates1r6(:,2);rotates1r6(:,3);rotate s1r6(:,4);rotates1r6(:,5);rotates1r6(:,6)];
%rotates1r7:coeff dari s1r7
r_s1r7=s1r7(1:6,:)';
[rotates1r7,latent5]=princomp(r_s1r7);
s1rotate5=[rotates1r7(:,1);rotates1r7(:,2);rotates1r7(:,3);rotate s1r7(:,4);rotates1r7(:,5);rotates1r7(:,6)];
inputs1rotate=[s1rotate1 s1rotate2 s1rotate3 s1rotate4 s1rotate5];
Subyek 3 load s1r2.mat
load s1r4.mat
load s1r5.mat
load s1r7.mat
load s1r10.mat
%rotates1r2:coeff dari s1r2
r_s1r2=s1r2(1:6,:)';
[rotates1r2,latent1]=princomp(r_s1r2);
s3rotate1=[rotates1r2(:,1);rotates1r2(:,2);rotates1r2(:,3);rotate s1r2(:,4);rotates1r2(:,5);rotates1r2(:,6)];
%rotates1r4:coeff dari s1r4
r_s1r4=s1r4(1:6,:)';
[rotates1r4,latent2]=princomp(r_s1r4);
s3rotate2=[rotates1r4(:,1);rotates1r4(:,2);rotates1r4(:,3);rotate s1r4(:,4);rotates1r4(:,5);rotates1r4(:,6)];
%rotates1r5:coeff dari s1r5
r_s1r5=s1r5(1:6,:)';
[rotates1r5,latent3]=princomp(r_s1r5);
s3rotate3=[rotates1r5(:,1);rotates1r5(:,2);rotates1r5(:,3);rotate s1r5(:,4);rotates1r5(:,5);rotates1r5(:,6)];
%rotates1r7:coeff dari s1r7
r_s1r7=s1r7(1:6,:)';
[rotates1r7,latent5]=princomp(r_s1r7);
s3rotate4=[rotates1r7(:,1);rotates1r7(:,2);rotates1r7(:,3);rotate s1r7(:,4);rotates1r7(:,5);rotates1r7(:,6)];
%rotates1r10:coeff dari s1r10
r_s1r10=s1r10(1:6,:)';
[rotates1r10,latent4]=princomp(r_s1r10);
s3rotate5=[rotates1r10(:,1);rotates1r10(:,2);rotates1r10(:,3);rot ates1r10(:,4);rotates1r10(:,5);rotates1r10(:,6)];
inputs3rotate=[s3rotate1 s3rotate2 s3rotate3 s3rotate4 s3rotate5];
Subyek 5 load s1r6.mat
load s1r7.mat
load s1r8.mat
load s1r9.mat
load s1r10.mat
%rotates1r6:coeff dari s1r6
r_s1r6=s1r6(1:6,:)';
[rotates1r6,latent4]=princomp(r_s1r6);
s5rotate1=[rotates1r6(:,1);rotates1r6(:,2);rotates1r6(:,3);rotate s1r6(:,4);rotates1r6(:,5);rotates1r6(:,6)];
%rotates1r7:coeff dari s1r7
r_s1r7=s1r7(1:6,:)';
[rotates1r7,latent5]=princomp(r_s1r7);
s5rotate2=[rotates1r7(:,1);rotates1r7(:,2);rotates1r7(:,3);rotate s1r7(:,4);rotates1r7(:,5);rotates1r7(:,6)];
%rotates1r8:coeff dari s1r8
r_s1r8=s1r8(1:6,:)';
[rotates1r8,latent1]=princomp(r_s1r8);
s5rotate3=[rotates1r8(:,1);rotates1r8(:,2);rotates1r8(:,3);rotate s1r8(:,4);rotates1r8(:,5);rotates1r8(:,6)];
%rotates1r9:coeff dari s1r9
r_s1r9=s1r9(1:6,:)';
[rotates1r9,latent2]=princomp(r_s1r9);
s5rotate4=[rotates1r9(:,1);rotates1r9(:,2);rotates1r9(:,3);rotate s1r9(:,4);rotates1r9(:,5);rotates1r9(:,6)];
%rotates1r10:coeff dari s1r10
r_s1r10=s1r10(1:6,:)';
[rotates1r10,latent3]=princomp(r_s1r10);
E-4
s5rotate5=[rotates1r10(:,1);rotates1r10(:,2);rotates1r10(:,3);rot ates1r10(:,4);rotates1r10(:,5);rotates1r10(:,6)];
inputs5rotate=[s5rotate1 s5rotate2 s5rotate3 s5rotate4 s5rotate5];
List program untuk proses pengujian load trainnetA.mat
s1rotate s3rotate s5rotate
uji_rotate=[inputs1rotate inputs3rotate inputs5rotate]; rotate1_A=sim(netA,uji_rotate)
jumlah=jumlah+(rotate1_A(n,m)-rata)^2; end;
deviasi=sqrt(jumlah/4); deviasi=0.4*deviasi; for n=1:5
BAB I
PENDAHULUAN
Pada bab ini akan di bahas tentang latar belakang, identifikasi masalah,
perumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan
laporan Tugas Akhir.
1.1 Latar Belakang
Semua aktivitas yang dilakukan manusia dikendalikan oleh sistem pusat
yang disebut otak. Lapisan luar otak yang disebut korteks menghasilkan sinyal
EEG (Electroencephalogram). Untuk setiap aktivitas yang dilakukan, memiliki
keluaran sinyal EEG yang berbeda. Pada dasarnya, manusia memiliki lima macam
aktivitas mental yaitu: baseline task; letter task; math task; visual counting task;
dan geometric figure rotation.
Berdasarkan penelitian yang telah dilakukan oleh Charles W. Anderson
dan Zlatko Zijercic (1996) tentang klasifikasi lima aktivitas mental manusia
menggunakan model autoregressive (AR) dan Jaringan Saraf Tiruan, hasilnya
kurang maksimal. Begitu juga, penelitian yang telah dilakukan oleh Jimmy
Hasugian (2001) tentang klasifikasi lima aktivitas mental manusia menggunakan
metode Burg dan Jaringan Saraf Tiruan, masih belum menunjukan hasil yang
maksimal.
Dengan mengacu pada penelitian yang telah dilakukan, dalam Tugas
Akhir ini akan dilakukan identifikasi lima aktivitas mental manusia menggunakan
kombinasi PCA (Principal Component Analysis) dan Jaringan Saraf Tiruan
dengan tujuan mendapatkan hasil yang maksimal.
BAB I PENDAHULUAN 2
1.2 Identifikasi Masalah
Berdasarkan pada latar belakang masalah yang telah ada, masalah yang
akan dibahas pada Tugas Akhir ini adalah mengidentifikasi lima aktivitas mental
manusia menggunakan kombinasi PCA dan Jaringan Saraf Tiruan, dengan
menggunakan sinyal EEG sebagai data input.
1.3 Perumusan Masalah
Perumusan masalah pada tugas akhir ini adalah:
1. Bagaimana pengolahan sinyal EEG dengan menggunakan metode PCA?
2. Bagaimana Jaringan Saraf Tiruan mengidentifikasi lima aktivitas mental
manusia?
1.4 Tujuan
Tujuan yang akan dicapai pada tugas akhir ini adalah mengidentifikasi
lima aktivitas mental manusia.
1.5 Pembatasan Masalah
Pembatasan masalah pada tugas akhir ini dibatasi oleh :
1. Sinyal EEG diperoleh dari data penelitian yang dilakukan oleh Zachary A.
Keirn.
2. Pengolahan sinyal EEG dengan kombinasi PCA dan Jaringan Saraf Tiruan
menggunakan MATLAB versi 7.4
1.6 Sistematika Penulisan
Laporan terdiri dari beberapa bab dengan garis besar sebagai berikut :
• BAB 1 PENDAHULUAN
Pada bab ini berisi tentang latar belakang, identifikasi masalah, tujuan,
pembatasan masalah, dan sistematika penulisan laporan tugas akhir.
• BAB 2 OTAK DAN SINYAL EEG
Pada bab ini dijelaskan mengenai teori-teori tentang otak manusia dan sinyal
EEG (Electroencephalogram).
BAB I PENDAHULUAN
Universitas Kristen Maranatha 3
• BAB 3 METODE PCA DAN JARINGAN SARAF TIRUAN
Pada bab ini dijelaskan tentang metode PCA dan Jaringan Saraf Tiruan.
• BAB 4 PENGOLAHAN DATA
Pada bab ini dijelaskan tentang proses pengolahan data sinyal EEG.
• BAB 5 HASIL PENGUJIAN DAN ANALISIS DATA
Pada bab ini dijelaskan tentang hasil pengujian dan analisis data yang telah
dilakukan.
• BAB 6 SIMPULAN DAN SARAN
Pada bab ini berisi simpulan dari Tugas Akhir dan saran-saran yang perlu
BAB VI
SIMPULAN DAN SARAN
6.1 Simpulan
Setelah pengujian identifikasi aktivitas mental manusia pada Tugas
Akhir ini dilakukan, dapat disimpulkan bahwa proses identifikasi untuk lima jenis
aktivitas mental manusia dengan menggunakan kombinasi PCA (Principal
Component Analysis) dan Jaringan Saraf Tiruan.
Pada percobaan menggunakan konfigurasi A untuk:
1. Kategori pertama : semua aktivitas berhasil diidentifikasi dengan
persentase keberhasilan sebesar 100 %.
2. Kategori kedua : jenis aktivitas Geometric Figure Rotation yang memiliki
persentase keberhasilan identifikasi tertinggi sebesar 26.67 %.
3. Kategori ketiga : jenis aktivitas yang sering berhasil diidentifikasi adalah
Math Task dan Letter Task dengan persentase keberhasilan sebesar 20 %.
Pada percobaan menggunakan konfigurasi B untuk:
1. Kategori pertama : semua aktivitas berhasil diidentifikasi dengan
persentase keberhasilan terendah 93 %.
2. Kategori kedua : jenis aktivitas Geometric Figure Rotation yang memiliki
persentase keberhasilan identifikasi tertinggi sebesar 26.67 %.
3. Kategori ketiga : jenis aktivitas yang sering berhasil diidentifikasi adalah
Visual Counting Task dengan persentase keberhasilan sebesar 20 %.
6.2 Saran
Saran yang ingin disampaikan pada Tugas Akhir ini adalah penggunaan
algoritma pelatihan pada Jaringan Saraf Tiruan bisa menggunakan algoritma yang
lain dan bisa dikombinasikan dengan metode lain seperti ICA (Independent
Component Analysis) atau yang lainnya.
DAFTAR PUSTAKA
1. Anderson, Charles W. dan Sijercic, Zlatko. 1996. Classification of EEG
Signals from Four Subjects During Five Mental Task. Colorado.
2. Away, Gunadi Abdia. 2006. The Shortcut of MATLAB Programming.
Bandung: Penerbit Informatika.
3. Demuth, Howard., Beale, Mark., Hagan, Martin. . 2008Neural Network
Toolbox 6 User’s Guide. Math Works Inc..
4. Fausset, Laurene. . 1994. Fundamentals of Neural Networks. New Jersey:
Prentice Hall Inc..
5. Haykin, Simon. 2001. Neural Networks: A Comprehensive Foundation
Second Edition. India: Prentice Hall Inc..
6. Hasugian, M. Jimmy. 2001. Klasifikasi Sinyal EEG Terhadap Variasi
Aktivitas Mental Menggunakan Jaringan Saraf Tiruan Berarsitektur
Multiple Multilayer Perceptron dengan Algoritma Resilient Propagation. Bandung
7. Jolliffe, I.T. . 2002. Principal Component Analysis Second Edition. New
York: Springer.
8. Kung, S.Y. . 1993. Digital Neural Networks. Prentice Hall Inc.,
9. Kusumadewi, Sri. 2004.Membangun Jaringan Saraf Tiruan menggunakan
MATLAB dan Excel Link. Yogyakarta: Graha Ilmu.
10. Shlens, Jonathon. 2005. A Tutorial on Principal Component Analysis. San
Diego.
11. Siang, Jong Jek. 2005.Jaringan Syaraf Tiruan dan Pemrogramannya
menggunakan MATLAB. Yogyakarta: Penerbit Andi.
12. Snell, Richard S. . 2000. Anatomi Klinik untuk mahasiswa kedokteran.
Jakarta: Penerbit Buku Kedokteran EGC.
13. Wibowo, Daniel S. . 2008. Neuroanatomi untuk mahasiswa kedokteran.
Malang: Bayumedia.