deteksi hunian menggunakan metode jaringan...
TRANSCRIPT
DETEKSI HUNIAN MENGGUNAKAN METODE JARINGAN SARAF
TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Matematika
Program Studi Matematika
Oleh :
Gabriel Fransiscoli Sipayung
NIM: 163114018
PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
DETEKSI HUNIAN MENGGUNAKAN METODE JARINGAN SARAF
TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Matematika
Program Studi Matematika
Oleh :
Gabriel Fransiscoli Sipayung
NIM: 163114018
PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
OCCUPANCY DETECTION USING ARTIFICIAL NEURAL NETWORK
BACK PROPAGATION METHODS
THESIS
Presented as Partial Fulfillment of the
Requirements to Obtain the Degree of Sarjana Matematika
Mathematics Study Program
Written by
Gabriel Fransiscoli Sipayung
Student ID : 163114018
MATHEMATICS STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
“Mintalah, maka akan diberikan kepadamu; Carilah, maka kamu akan mendapat;
Ketuklah, maka pintu akan dibukakan bagimu”
(Matius 7: 7)
“Apapun yang kamu perbuat, perbuatlah dengan segenap hatimu seperti untuk
Tuhan dan bukan untuk manusia”
(Kolose 3: 23)
“Ia membuat segala sesuatu indah pada waktunya”
(Pengkhotbah 3: 11)
Skripsi ini penulis persembahkan kepada kedua orang tua,
Fransiskus Xaverius Sariden Sipayung dan Agnesa Sutiyah
Kedua kakak,
Ruth Erika Kristina Sipayung dan Elisabeth Advencia Natalia Sipayung
Kedua adik,
Maria Rosari Epifanya Sipayung dan Aloysius Romanon Sipayung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Deteksi hunian banyak digunakan pada sebuah gedung atau bangunan. Hal ini
terjadi karena penentuan deteksi hunian yang akurat yang diterapkan pada sebuah
bangunan dapat menghemat energi secara signifikan. Oleh karena itu sangatlah
penting untuk menemukan cara mendeteksi hunian sebuah gedung atau bangunan.
Dalam melakukan deteksi hunian ini, kita menggunakan metode jaringan saraf
tiruan. Tujuan dari penelitian ini adalah membangun sistem deteksi hunian
menggunakan jaringan saraf tiruan. Pada skripsi ini akan dibahas bagaimana
membangun sistem deteksi hunian menggunakan metode jaringan saraf tiruan
propagasi balik. Untuk membangun sistem deteksi hunian yang optimal
dibutuhkan model jaringan serta nilai akurasi yang dihasilkan oleh model
jaringan. Selanjutnya model jaringan serta nilai akurasi yang dihasilkan akan
dianalisis agar model yang dihasilkan dapat melakukan deteksi hunian dengan
akurat.
Berdasarkan penelitian ini, model jaringan terbaik yang dihasilkan adalah
model jaringan dengan lima masukan (input), satu lapisan tersembunyi (hidden
layer) dengan jumah 12 neuron, dan satu luaran (output). Nilai akurasi yang
dihasilkan dari model jaringan ini adalah 99.3580%.
Kata kunci: Deteksi hunian, jaringan saraf tiruan, propagasi balik, model
jaringan, nilai akurasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Occupancy detection are mostly used in a building. This is because an
accurate determination of occupancy detection applied to a building can save
energy significantly. Hence, it is very important to find a way to detect the
occupancy of a building. In occupancy detection, we used a method called
artificial neural network. The purpose of this research is to build occupancy
detection system using artificial neural network. This thesis will discuss how to
build occupancy detection system using artificial neural network back
propagation. To build an optimal occupancy detection system, it needs network
model and accuracy value from the network models. Next, the network model and
the accuracy that was produced will be analyzed in order to produce a model with
high occupancy detection.
Based on this research, the best network model is a network model with
five inputs, one hidden layers with 12 neurons, and one output. The accuracy
value resulted from this network model is 99.3580%.
Keyword: Occupancy detection, artificial neural network, back propagation,
network model, accuracy value.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
HALAMAN JUDUL .............................................................................................. ii
HALAMAN PERSETUJUAN PEMBIMBING .................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
HALAMAN PERSEMBAHAN ............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI................................ vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ............................................................................................................. ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI .......................................................................................................... xi
BAB I PENDAHULUAN ....................................................................................... 1
A. Latar Belakang ......................................................................................... 1
B. Rumusan Masalah .................................................................................... 3
C. Batasan Masalah ....................................................................................... 3
D. Tujuan Penulisan ...................................................................................... 3
E. Manfaat Penulisan .................................................................................... 4
F. Metode Penulisan ......................................................................................... 4
G. Sistematika Penulisan ............................................................................... 4
BAB II JARINGAN SARAF TIRUAN .................................................................. 6
A. Dasar-dasar Matematika dalam Jaringan Saraf Tiruan ............................ 6
B. Jaringan Saraf Tiruan ............................................................................. 18
C. Propagasi Balik (Back Propagation) ...................................................... 25
BAB III METODOLOGI ...................................................................................... 36
A. Data ........................................................................................................ 36
B. Preprosesing Data .................................................................................. 38
C. Perancangan Sistem Jaringan Saraf Tiruan ............................................ 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
BAB IV HASIL DAN ANALISIS HASIL ........................................................... 56
A. Hasil dan Analisis Hasil ......................................................................... 56
B. Interface Pengujian Sistem ..................................................................... 63
BAB V PENUTUP ................................................................................................ 72
A. Kesimpulan ............................................................................................. 72
B. Saran ....................................................................................................... 72
DAFTAR PUSTAKA ........................................................................................... 74
LAMPIRAN .......................................................................................................... 75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
Pada bab ini membahas mengenai latar belakang, rumusan masalah, batasan
masalah, tujuan penulisan, manfaat penulisan, metode yang digunakan pada tugas
akhir ini, dan sistematika penulisan.
A. Latar Belakang
Dewasa ini deteksi hunian banyak digunakan dalam sebuah gedung atau
bangunan. Penentuan deteksi hunian yang akurat diperkirakan dapat
menghemat energi sebesar 30% hingga 42% (Candanedo & Feldheim, 2016).
Penghematan energi dapat terjadi karena penentuan deteksi hunian yang
akurat dapat dijadikan pedoman untuk menghidupkan atau mematikan alat
yang menggunakan energi secara otomatis. Sebagai contoh penggunaan AC
(Air Conditioning) dalam sebuah ruangan dapat diatur secara otomatis dengan
berpedoman pada deteksi hunian yang akurat. Hal ini dapat menghindari
kelalaian dalam mematikan daya, sehingga dapat menghemat energi.
Deteksi hunian sekarang ini menjadi sangat mungkin dilakukan,
mengingat keterjangkauan sensor-sensor yang digunakan untuk merekam data
yang dibutuhkan dalam proses deteksi hunian. Sensor-sensor ini digunakan
untuk merekam data seperti suhu, kelembaban udara, kadar karbondioksida
dan lain sebagainya. Data tersebut yang nantinya akan digunakan untuk
melakukan deteksi hunian. Deteksi hunian selain dapat digunakan untuk
penghematan energi juga bisa digunakan dalam sistem keamanan. Deteksi
hunian tanpa menggunakan kamera sangat menarik karena alasan privasi.
Jaringan saraf tiruan (artificial neural network) adalah suatu sistem
komputasi yang disusun dengan meniru proses alamiah yang terjadi dalam
jaringan saraf otak manusia. Jaringan saraf tiruan terdiri dari tiga bagian
penting, yaitu masukan (input), proses (process), dan luaran (output). Bagian
masukan terdiri dari atribut-atribut dari data yang sudah ada sebelumnya.
Bagian proses adalah tempat dimana sistem melakukan komputasi terhadap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
atribut-atribut yang dimasukkan ke dalam sistem, yang dilengkapi dengan
fungsi aktivasi tertentu. Bagian terakhir yaitu luaran adalah hasil yang
diperoleh dari komputasi yang dilakukan oleh bagian proses.
Salah satu sistem pembelajaran yang ada pada jaringan saraf tiruan adalah
sistem pembelajaran propagasi balik (back propagation). Sistem pembelajaran
ini melakukan modifikasi bobot mulai dari lapisan luaran, sampai pada lapisan
masukan. Sistem pembelajaran ini akan terus melakukan modifikasi bobot
sampai besarnya galat lebih kecil atau sama dengan galat yang telah
ditentukan. Algoritma propagasi balik dapat dinyatakan sebagai berikut
( ) (1.1)
dengan adalah masukan pada lapisan, adalah fungsi aktivasi, adalah bias
dan M adalah jumlah lapisan pada jaringan. Untuk pembaharuan bias dan
bobot dapat dinyatakan sebagai berikut
( ) ( )
(1.2)
( ) ( )
(1.3)
dengan adalah bobot pada lapisan ke- dan ( ) merupakan indeks iterasi
ke- , adalah bias, dan adalah konstanta positif.
Jaringan saraf tiruan metode propagasi balik telah banyak digunakan,
misalnya adalah untuk sistem pengenalan kapal, prediksi nilai tukar,
klasifikasi pengendara sepeda motor tidak memakai helm, dan prediksi jumlah
penderita demam berdarah. Jaringan saraf tiruan propagasi balik bisa
digunakan sebagai alternatif sistem deteksi hunian.
Pada tugas akhir ini, akan dibahas mengenai bagaimana melakukan
pendekatan menggunakan jaringan saraf tiruan khususnya sistem
pembelajaran propagasi balik pada sistem deteksi hunian pada sebuah ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
kerja. Deteksi hunian dilakukan berdasarkan variabel-variabel yang akan
dijadikan sebagai atribut untuk membangun jaringan saraf tiruan. Variabel-
variabel yang akan digunakan sebagai atribut pada tugas akhir ini antara lain:
suhu, kelembaban udara, intensitas cahaya, kadar karbondioksida dan rasio
kelembaban. Target yang akan dicapai adalah mengklasifikasikan apakah
sebuah ruangan dihuni atau tidak.
B. Rumusan Masalah
Perumusan masalah yang akan dibicarakan pada tugas akhir ini adalah:
1. Bagaimana jaringan saraf tiruan propagasi balik melakukan deteksi
hunian pada sebuah ruangan?
2. Arsitektur jaringan saraf tiruan seperti apa yang optimal dalam
melakukan deteksi hunian pada sebuah ruangan?
3. Bagaimana akurasi yang diperoleh dari arsitektur jaringan saraf tiruan
yang dibuat tersebut?
C. Batasan Masalah
Tugas akhir ini dibatasi oleh masalah-masalah berikut ini:
1. Jaringan saraf tiruan yang digunakan ialah metode propagasi balik.
2. Arsitektur jaringan saraf tiruan yang akan dibangun dengan variasi
lapisan tersembunyi dan variasi jumlah neuron dalam lapisan
tersembunyi, serta beberapa parameter penting dalam jaringan saraf
tiruan.
3. Penerapan jaringan saraf tiruan yang akan dibahas pada tugas akhir ini
dibatasi pada sistem deteksi hunian pada sebuah ruang kerja.
D. Tujuan Penulisan
Tujuan dari penulisan tugas akhir ini adalah untuk membangun sistem
deteksi hunian ruang kerja menggunakan jaringan saraf tiruan propagasi balik.
Tugas akhir ini diharapkan memperoleh arsitektur yang optimal dalam
melakukan deteksi hunian. Arsitektur yang diperoleh akan dinilai akurasinya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
dalam melakukan deteksi. Penerapan jaringan saraf tiruan yang dilakukan
pada tugas akhir ini juga akan diimplementasikan pada sebuah program pada
Matlab.
E. Manfaat Penulisan
Manfaat penulisan tugas akhir ini adalah dapat menghasilkan penerapan
jaringan saraf tiruan pada masalah sistem deteksi hunian. Selain itu
menghasilkan sebuah program yang dapat dijalankan untuk membantu
mendeteksi apakah suatu ruang kerja berpenghuni atau tidak.
F. Metode Penulisan
Metode penulisan yang digunakan pada tugas akhir ini adalah metode
studi pustaka, yakni dengan membaca mempelajari serta memahami buku-
buku atau jurnal-jurnal yang berkaitan dengan jaringan saraf tiruan dan
penerapannya dalam sistem deteksi.
G. Sistematika Penulisan
BAB I PENDAHULUAN
A. Latar Belakang
B. Rumusan Masalah
C. Batasan Masalah
D. Tujuan Penulisan
E. Manfaat Penulisan
F. Metode Penulisan
G. Sistematika Penulisan
BAB II JARINGAN SARAF TIRUAN
A. Dasar matematika dalam Jaringan Saraf Tiruan
B. Jaringan Saraf Tiruan
C. Propagasi balik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB III METODOLOGI
A. Data
B. Preprosesing data
C. Perancangan Sistem Jaringan Saraf Tiruan
BAB IV HASIL DAN ANALISIS HASIL
A. Hasil dan Analisis Hasil
B. Interface Pengujian Sistem
BAB V PENUTUP
A. Kesimpulan
B. Saran
DAFTAR PUSTAKA
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
JARINGAN SARAF TIRUAN
Pada bab ini dibahas mengenai dasar-dasar matematika dalam jaringan saraf
tiruan, jaringan saraf tiruan, dan jaringan saraf tiruan secara khusus pembelajaran
propagasi balik.
A. Dasar-dasar Matematika dalam Jaringan Saraf Tiruan
Jaringan saraf tiruan dilandasi dan berhubungan langsung dengan
matematika. Dasar-dasar yang digunakan dalam jaringan saraf tiruan di
antaranya adalah matriks, vektor, operasi pada matriks, turunan, dan aturan
rantai untu turunan. Pada bagian ini membahas mengenai definisi, teorema,
serta contoh mengenai dasar-dasar matematika dalam jaringan saraf tiruan.
1. Matriks dan Vektor
Pada bagian ini dibahas mengenai definisi dan contoh dari matriks,
vektor, dan kesamaan dua matriks.
Definifi 2.1 (Matriks)
Matriks adalah jajaran bilangan-bilangan yang disusun dalam baris dan
kolom berbentuk persegi empat.
Ukuran dari matriks ditentukan oleh banyaknya baris dan kolom.
Matriks yang mempunyai baris dan kolom dapat dituliskan sebagai
matriks . Bilangan yang terletak pada matriks disebut elemen
matriks.
Contoh 2.1
Matriks
[
] [
] [
]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
masing-masing mempunyai ukuran dan .
Bentuk umum sebuah matriks berukuran adalah sebagai berikut:
[
]
dengan merupakan elemen matriks .
Definisi 2.2 (Vektor)
Vektor adalah matriks khusus yang mempunyai ukuran atau
. Vektor yang memiliki ukuran disebut vektor kolom dan
vektor yang memiliki ukuran disebut vektor baris.
Contoh 2.2
[ ] [ ]
Vektor kolom memiliki ukuran dan vektor baris memiliki
ukuran .
Bentuk umum vektor kolom dengan ukuran dan vektor baris
berukuran adalah sebagai berikut:
[
] [ ]
dengan merupakan elemen vektor kolom , dan
merupakan elemen vektor baris .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Definisi 2.3 (Kesamaan Dua Matriks)
Dua matriks F dan G dikatakan sama jika kedua matriks berukuran
sama dan elemen yang seletak bernilai sama. Kesamaan dua matriks F dan
G dapat ditulis
Contoh 2.3
Diberikan matriks F, G, dan H sebagai berikut.
[
] [
] [
]
Matriks , sedangkan matriks karena ukuran kedua matriks
berbeda.
2. Operasi pada Matriks
Pada bagian ini membahas mengenai definisi dan contoh beserta
penyelesaian dari operasi-operasi pada matriks.
Definisi 2.4 (Jumlahan Dua Matriks)
Misalkan ( ) dan ( ) merupakan dua matriks berukuran
sama . Jumlah dua matriks dan ditulis adalah matriks
berukuran dengan elemennya merupakan jumlah elemen yang
seletak dari kedua matriks. Dalam hal ini ditulis
( ) (2.1)
Contoh 2.4
Diketahui
[
] [
] [
]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Hasil penjumlahan matriks A dan B adalah?
Penyelesaian
[
]
[
( ) ]
[
]
sedangkan jumlah dari A dan C tidak terdefinisi karena kedua matriks
tidak memiliki ukuran yang sama.
Definisi 2.5 (Perkalian Matriks dengan Skalar)
Diketahui matriks A dan c merupakan sebuah skalar. Matriks cA adalah
matriks yang diperoleh dengan mengalikan setiap elemen dari matriks A
dengan c. Dalam hal ini ditulis
( ) (2.2)
Contoh 2.5
Diketahui matriks
[
]
maka matriks adalah?
Penyelesaian
Hasil perkalian skalar 3 dengan matriks A adalah
[
]
[ ( )
] [
]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Definisi 2.6 (Perkalian Matriks)
Diketahui matriks A berukuran dan matriks B berukuran .
Hasil perkalian matriks A dan B ditulis AB adalah matriks berukuran
dengan elemen pada baris ke-i dan kolom ke-j adalah perkalian
antara matriks baris ke-i dari A dan kolom ke-j dari B.
Diketahui
[
] [
]
Misalkan matriks baris ke-i dari matriks A adalah
[ ]
dan matriks kolom ke-j dari matriks B adalah
[
]
maka elemen baris ke-i dan kolom ke-j dari matriks AB adalah
∑ (2.3)
Contoh 2.6
Diketahui dua matriks A dan B sebagai berikut
[
] [
]
Pada kasus ini matriks A mempunyai ukuran dan matriks B
mempunyai ukuran , dimana Oleh karena
itu, matriks AB mempunyai ukuran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Penyelesaian
Elemen baris ke-1 dan kolom ke-1 dari matriks AB adalah
∑
Elemen baris ke-1 dan kolom ke-2 dari matriks AB adalah
∑
( )
( )
Elemen baris ke-2 dan kolom ke-1 dari matriks AB adalah
∑
( )
( )
Elemen baris ke-2 dan kolom ke-2 dari matriks AB adalah
∑
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
( ) ( )
Jadi hasil perkalian dari A dan B adalah
[
]
3. Turunan
Pada bagian ini membahas mengenai definisi turunan, teorema dan
contoh mengenai turunan dan aturan turunan rantai pada fungsi.
Definisi 2.7 (Turunan)
Turunan dari fungsi di titik di definisikan
( )
( ) ( )
di setiap titik jika limitnya ada. Jika ( ) ada dikatakan fungsi
terdiferensial / mempunyai turunan di .
Turunan dari fungsi di titik juga bisa dinotasikan sebagai
( ) (2.4)
Contoh 2.7
Dengan menggunakan definisi turunan, tentukan turunan dari fungsi
berikut ini:
( ) (2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Penyelesaian:
( )
( ) ( )
( )
( )
Teorema 2.1 (Aturan Turunan: Penjumlahan, selisih, dan kelipatan
konstan)
Jika fungsi-fungsi dan terdiferensial di dan jika adalah sebuah
konstanta, maka fungsi-fungsi terdiferensial di , dan
berlaku
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
Bukti teorema:
( ) ( ) ( ) ( )
( ) ( )
( )( ) ( )( )
( ) ( ) ( ( ) ( ))
( ( ) ( )
( ) ( )
)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
( ( ) ( )
)
( ( ) ( )
)
( ) ( )
( ) ( ) ( ) ( )
( ) ( )
( )( ) ( )( )
( ) ( ) ( ( ) ( ))
( ( ) ( )
( ) ( )
)
( ( ) ( )
)
( ( ) ( )
)
( ) ( )
( ) ( ) ( )
( ) ( )
( )( ) ( )( )
( ) ( )
( ) ( )
( ) ( )
( )
Teorema 2.2 (Aturan Turunan: Perkalian dan Pembagian)
Jika fungsi-fungsi dan terdiferensial di , maka fungsi-fungsi dan
terdiferensial di , dan berlaku
( ) ( ) ( ) ( ) ( ) ( )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
dan
(
)
( ) ( ) ( ) ( ) ( )
( ( ))
Bukti teorema:
( ) ( ) ( ) ( ) ( ) ( )
( ) ( )
( )( ) ( )( )
( ) ( ) ( ( ) ( ))
( ) ( ) ( ) ( ))
( ) ( ) ( ( ) ( ))
( ( ) ( ) ( )
( ) ( ) ( )
)
( )
( ( ) ( )
)
( )
( ( ) ( )
)
( ) ( ) ( ) ( )
(
)
( ) ( ) ( ) ( ) ( )
( ( ))
(
)
( )
( ) ( ) (
) ( )
( ( ) ( )
) ( ( ) ( )
)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( )
( ) ( )( ( )
( ) ( )
)
( ( ) ( ) ( )
)
( )
( )( ( )
( ) ( )
)
( ( )
( ) ( )
)
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ( ))
Teorema 2.3 (Aturan Turunan: Aturan Rantai)
Jika fungsi ( ) terdiferensial di ( ) dan ( ) terdiferensial di ,
maka fungsi ( ( )) terdiferensial di dan berlaku
( ( ( )))
( ( )) ( )
Bukti teorema:
Diketahui ( )terdiferensial di ( ) dan ( ) terdiferensial di
Didefinisikan fungsi dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
( ) (2.6)
( ) ( ) ( )
( ) (2.7)
Menggunakan definisi turunan didapatkan
( ) ( ) ( ) ( ) (2.8)
Jadi, fungsi E kontinu di . Untuk setiap k berlaku
( ) ( ) ( ( ) ( ))
( ) dan ( ) ( ), sehingga diperoleh (
) dan
( ( )) ( ( )) ( ( ( )) ( )) ( ( ) ( ))
Karena terdiferensial di x, maka
( ) ( )
( )
Karena kontinu di x, maka
( ( ) ( ))
Untuk selanjutnya, karena E kontinu di 0, maka
( )
( ) ( )
Dengan demikian berlaku
( ( ))
( ( )) ( ( ))
( ( ( )) ( )) ( ) ( )
( ( ( )) ) ( ) ( ( )) ( )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
B. Jaringan Saraf Tiruan
Gambar 2.1 Jaringan Saraf Biologi
Jaringan saraf biologi pada otak manusia terdiri dari neuron-neuron dan
penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls/sinyal
yang diberikan oleh neuron lain. Neuron memiliki tiga komponen penting
yaitu dendrit, soma dan axon. Dendrit menerima sinyal dari neuron lain yang
dikirim melalui sinapsis. Sinyal tersebut dimodifikasi (diperkuat/diperlemah)
pada celah sinaptik. Selanjutnya soma menjumlahkan semua sinyal yang
masuk, apabila sinyal cukup kuat dan melebihi ambang batas, maka sinyal
akan diteruskan ke sel lain melalui axon.
Jaringan saraf tiruan (artificial neural network) adalah suatu sistem
komputasi yang disusun dengan meniru proses alamiah yang terjadi dalam
jaringan saraf biologi pada otak manusia.
Jaringan saraf tiruan dibentuk dengan menggeneralisasi model matematika
dari jaringan saraf biologis dengan asumsi bahwa:
Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
Sinyal dikirimkan diantara neuron-neuron melalui penghubung.
Penghubung antar neuron memiliki bobot yang dapat memperkuat atau
memperlemah sinyal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
yang dikenakan pada jumlahan input yang diterima. Besarnya output
ini nantinya akan dibandingkan dengan ambang batas tertentu.
1. Model Neuron
Neuron adalah unit pemroses informasi yang menjadi dasar dalam
pengoperasian jaringan saraf tiruan. (Siang, 2005)
a. Single-Input Neuron
Masukan model ini merupakan masukan yang sederhana, karena
masukan hanya terdiri dari satu atribut (variabel yang dipilih sebagai
masukan pada model). Masukan model tunggal ini berupa skalar,
misalnya
Gambar 2.2 Ilustrasi single-input neuron
= input/masukan
= bobot
= bias
= fungsi aktivasi
= output/luaran
Luaran merupakan hasil dari ( ) dimana merupakan
perkalian dari dengan yang kemudian dijumlahkan dengan , atau
dapat disimbolkan dengan formula berikut ini:
( ) ( ) (2.9)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Contoh sederhana pada model dengan input tunggal adalah proses
penentuan nilai untuk mahasiswa. Misalkan otak manusia telah diberi
latihan bahwa klasifikasi nilai berdasarkan rentang nilai tertentu.
Misalkan adalah nilai mahasiswa.
Nilai
Apabila otak manusia diberi input nilai
yang diperoleh adalah 78, maka otak manusia akan memproses
masukan tersebut dan memberi keluaran yaitu nilai B.
b. Multiple-Input Neuron
Masukan model ini merupakan perluasan dari model tunggal
sebelumnya. Jika pada model tunggal hanya memiliki satu atribut,
pada model ini terdiri dari beberapa atribut. Masukan model ini berupa
vektor, misalnya [ ] atau ( ) ( ), yang artinya
masukan memiliki tiga atribut.
Bentuk umum dari multiple-input neuron adalah sebagai berikut:
[
] ( )
dimana merupakan vektor input dengan atribut sebanyak R.
Gambar 2.3 Ilustrasi multiple-input neuron
= input/masukan
= bobot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
= bias
= fungsi aktivasi
= output/luaran
Luaran merupakan hasil dari ( ) dimana merupakan
perkalian dari dengan yang kemudian dijumlahkan dengan , atau
dapat disimbolkan dengan formula berikut ini:
( ) ( ) (2.10)
Perbedaan dengan model single-input neuron terletak pada inputnya,
dimana input model ini merupakan vektor.
Untuk contoh proses pada model multiple-input neuron ini mirip
dengan contoh single-input neuron, hanya saja atribut yang digunakan
sebagai masukan terdiri lebih dari satu atribut.
c. Fungsi Aktivasi
Di dalam jaringan saraf tiruan, fungsi aktivasi adalah salah satu
bagian yang penting. Fungsi aktivasi digunakan untuk menentukan
luaran suatu neuron. Fungsi aktivasi biasanya dipilih berdasarkan
karakteristik data yang akan digunakan.
Berikut ini adalah beberapa contoh fungsi aktivasi.
Tabel 2.1 Tabel Fugsi Aktivasi (Hagan, 2014)
Nama Fungsi
Aktivasi Luaran Simbol
Fungsi pada
MatLab
Hard Limit
Hardlim
Symetrical Hard limit
Hardlims
Linear
purelin
Satrurating Linear
satlin
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Symetrical Saturating
Linear
satlins
Log-Sigmoid
logsig
Hyperbolic Tangent
Sigmoid
tansig
Positive Linear
poslin
Competitive
semua neuron
yang kurang dari
neuron
selainnya
compet
2. Arsitektur Jaringan
Arsitektur jaringan merupakan pola yang menghubungkan antara
neuron-neuron. Arsitektur jaringan ini sangatlah penting dalam
menentukan hasil dari pemrosesan jaringan saraf tiruan. Arsitektur
jaringan dibagi menjadi tiga jenis arsitektur yang berbeda yaitu: jaringan
lapis tunggal (single layer network), jaringan lapis majemuk (multi layer
network), dan jaringan reccurent (reccurent network).
a. Jaringan Lapis Tunggal (Single Layer Network)
Arsitektur jaringan lapis tunggal merupakan sebuah arsitektur
jaringan yang menghubungkan input neuron secara langsung dengan
neuron output. Nilai output ini ditentukan oleh fungsi aktivasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Gambar 2.4 Jaringan Lapis Tunggal
b. Jaringan Lapis Majemuk (Multi Layer Network)
Arsitektur jaringan lapis majemuk merupakan perluasan dari
arsitektur jaringan lapis tunggal. Dalam jaringan ini selain unit input
dan output, terdapat unit lain yang disebut lapis tersembunyi (hidden
layer). Sangat dimungkinkan terdapat beberapa lapis tersembunyi
dalam jaringan ini.
𝑝
𝑝𝑛
𝑎𝑚
𝑎
𝑎
𝑎
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 2.5 Jaringan Lapis Majemuk
Pada jaringan lapis majemuk, input yang dimasukan ke dalam
lapisan pertama tidak langsung menghasilkan output, namun hasil dari
perhitungan di lapis pertama menjadi input pada lapis kedua.
Selanjutnya, hasil perhitungan pada lapis kedua menjadi input untuk
lapis ketiga dan seterusnya sampai pada lapisan terakhir. Untuk kasus
seperti yang ditampilkan pada Gambar 2.5 hasil perhitungan pada
lapisan kedua ini menjadi output, karena pada kasus ini lapis kedua
merupakan lapisan paling akhir.
c. Jaringan recurent (Recurent Network)
Arsitektur jenis jaringan recurent serupa dengan jaringan lapis
tunggal ataupun majemuk. Perbedaannya pada jaringan ini terdapat
𝑝
𝑝𝑛
𝑎𝑝
𝑎
𝑎
𝑎
𝑎𝑚
𝑎
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
neuron output yang memberikan sinyal pada unit input atau yang
sering disebut dengan feedback loop.
Gambar 2.6 Jaringan Recurent
( ) input/masukan pada waktu ke-t
( ) delay output pada waktu ke-t
( ) inisial output
C. Propagasi Balik (Back Propagation)
Jaringan saraf tiruan lapis tunggal masih memiliki keterbatasan dalam
pengenalan pola. Pengenalan pola pada jaringan saraf tiruan merupakan
langkah jaringan untuk memproses masukan hingga memndapatkan hasil.
Keterbatasan jaringan lapis tunggal terjadi apabila sinyal masukan yang
diberikan lemah, maka keluaran yang dihasilkan belum mendekati target.
Kelemahan ini dapat diatasi deegan menambahkan lapisan tersembunyi di
antara lapis masukan dan lapis keluaran, atau yang biasa disebut jaringan lapis
majemuk. Salah satu sistem pembelajaran (metode dalam jaringan saraf
tiruan) pada jaringan lapis majemuk adalah sistem pembelajaran propagasi
balik (back propagation).
Dalam proses pelatihannya, jaringan ini dimulai dengan memberikan
masukan, kemudian masukan akan diteruskan ke lapisan tersembunyi yang
terdapat pada jaringan dan menghasilkan keluaran. Keluaran ini akan
dibandingkan dengan target. Jika keluaran masih belum sesuai dengan target
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
atau perbedaan dengan target masih melebihi galat yang ditentukan, maka
keluaran akan kembali disebarkan mundur (backward) melalui lapisan
tersembunyi hingga ke masukan awal. Pada proses ini nantinya akan
dilakukan perubahan bobot. Contoh proses ini akan ditunjukkan pada bagian
selanjutnya yaitu pada Contoh 2.8.
Jaringan saraf tiruan sistem pembelajaran propagasi balik melakukan
modifikasi bobot mulai dari lapisan luaran, sampai pada lapisan masukan.
Sistem pembelajaran ini akan terus melakukan modifikasi bobot sampai
besarnya galat lebih kecil atau sama dengan galat yang telah ditentukan atau
dengan menentukan jumlah iterasi maksimal. Algoritma propagasi balik dapat
dinyatakan sebagai berikut:
( ) (2.11)
dimana adalah keluaran pada lapisan, adalah fungsi aktivasi, adalah bias
dan M adalah banyaknya lapisan pada jaringan. Neuron pada lapis pertama
merupakan masukan awal
(2.12)
keluaran pada lapisan ke- , dan keluaran pada neuron lapis terakhir
merupakan output dari jaringan
(2.13)
Untuk pembaharuan bobot dan bias dapat dinyatakan sebagai berikut:
( ) ( )
(2.14)
( ) ( )
(2.15)
dengan adalah bobot, adalah bias, dan adalah konstanta positif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
1. Arsitektur Propagasi Balik
Arsitektur propagasi balik mirip dengan arsitektur jaringan lapis
majemuk. Hal ini terjadi karena propagasi balik merupakan salah satu
pembelajaran pada jaringan saraf tiruan khusus jaringan lapis majemuk.
Proses pelatihan pada propagasi balik ini yang menjadi pembedanya,
dimana setelah dilakukan propagasi maju pada jaringan, sinyal neuron
akan kembali dipropagasikan secara mundur hingga ke lapis masukan.
Gambar 2.7 Arsitektur Jaringan Propagasi Balik Dua Lapis Tersembunyi
2. Fungsi Aktivasi
Di dalam jaringan propagasi balik, fungsi aktivasi yang dipakai harus
memenuhi beberapa syarat yaitu: kontinu, terdiferensial (memiliki
turunan), dan merupakan fungsi yang tidak turun. Salah satu fungsi yang
memenuhi ketiga syarat tersebut dan sering dipakai adalah fungsi sigmoid
biner yang memiliki selang ( )
Bentuk dari fungsi sigmoid biner adalah sebagai berikut:
( )
(2.16)
𝑝
𝑝
𝑝5
𝑝4
𝑝
𝑎4
𝑎5
𝑎
𝑎
𝑎
𝑎
𝑎
𝑎4
𝑎5
𝑎
𝑎
𝑎
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Fungsi lain yang juga sering digunakan adalah fungsi sigmoid bipolar
yang bentuk fungsinya mirip dengan fungsi sigmoid biner namun
mempunyai range ( )
Bentuk dari fungsi sigmoid bipolar adalah sebagai berikut:
( )
(2.17)
3. Pelatihan pada Propagasi Balik
Di dalam proses pelatihan propagasi balik terdapat tiga fase. Fase yang
pertama adalah fase maju. Masukan dihitung maju mulai dari lapis
masukan hingga lapis keluaran dengan menggunakan fungsi aktivasi yang
sudah ditentukan. Fase kedua adala fase mundur. Selisih antara keluaran
yang dihasilkan dengan target yang diinginkan merupakan sebuah galat.
Galat ini akan dipropagasikan mundur. Fase ketiga adalah fase modifikasi
bobot dan bias untuk memperkecil galat.
a. Fase I: Propagasi maju
Proses propagasi maju dimulai dengan mempropagasikan sinyal
masukan ( ) ke lapis tersembunyi yang ada di depannya.
Keluaran dari lapis tersembunyi yang pertama ( ) akan di lanjutkan
ke lapis keluaran (jika lapis tersembunyi hanya satu) dan akan
dilanjutkan ke lapis tersembunyi berikutnya ( ) (jika terdiri dari
beberapa lapis tersembunyi) dan baru akan dihubungkan ke lapis
keluaran setelah lapis tersembunyi yang paling akhir.
Hasil keluaran dari jaringan ( ) akan dibandingkan dengan target
( ). Selisih antara keluaran dan target ( ) adalah galat yang
terjadi. Jika galat yang terjadi masih lebih besar dari batas toleransi
galat yang ditentukan, maka proses ini akan dilanjutkan ke proses
selanjutnya yaitu propagasi mundur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
b. Fase II: Propagasi mundur
Berdasarkan galat ( ), modifikasi bobot dan bias dilakukan
dengan mempropagasikan galat ini secara mundur mulai dari lapisan
keluaran sampai pada lapisan masukan. Berdasarkan galat yang
didapatkan, akan dihitung sensitivitas propagasi balik ( ).
Sensitivitas ini nantinya dipakai untuk mempropagasikan secara
mundur galat yang diperoleh.
Persamaan untuk mencari sensitivitas propagasi balik ditunjukan
sebagai berikut:
( )( ) (2.17)
dan
( )( ) (2.18)
dengan adalah banyaknya lapisan pada jaringan.
( )
[ (
)
( )
(
)]
dan ( )
(turunan fungsi aktivasi lapisan ke-m terhadap
n).
c. Fase III: Modifikasi bobot dan bias
Setelah menghitung semua faktor sensitivitas , bobot pada
semua penghubung dimodifikasi. Perubahan bobot pada suatu
penghubung didasari oleh faktor sensitivitas Modifikasi bias juga
dilakukan pada setiap lapisan pada jaringan juga berdasarkan faktor
sensitivitas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Karena modifikasi bobot dan bias didasarkan pada faktor
sensitivitas, maka persamaan untuk modifikasi bobot dan bias menjadi
( ) ( ) ( ) (2.19)
dan
( ) ( ) (2.20)
Contoh 2.8
Diberikan sebuah fungsi sebagai berikut:
( ) (
)
Selanjutnya dibentuk sebuah arsitektur jaringan seperti pada gambar
dibawah ini:
Gambar 2.8 Contoh Arsitektur Jaringan
Bagaimana arsitektur jaringan pada Gambar 2.8 melakukan pendekatan
terhadap fungsi ( ) dengan input ( )
( ) [
] ( ) [
]
( ) [ ] ( ) [ ]
( ) ( )
Nilai-nilai ( ) ( ) ( ) ( ), merupakan inisiasi nilai bobot
dan bias awal (Hagan, 2014).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Penyelesaian:
Masukan (input)
Target ( ) (
4( ))
√
√
Iterasi 1
Fase I: Propagasi Maju
Luaran lapisan pertama adalah sebagai berikut:
( ) ([
] [ ] [
])
([
])
[
5
54
]
[
]
Luaran lapisan kedua adalah sebagai berikut:
( ) ([ ] [
] [ ])
([ ] [ ])
[ ]
Fase II: Propagasi Balik
Pada langkah propagasi balik ini diawali dengan menghitung galat.
Selanjutnya menghitung sensitifitas dari fungsi aktivasi lapisan
pertama dan kedua. Karena untuk memperoleh sensitifitas
membutuhkan turunan dari setiap fungsi aktivasi pada lapisan, maka
terlebih dahulu menghitung turunannya.
( )
(
)
( )
(
) (
)
( )( )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
( )
( )
Langkah berikutnya menghitung sensitifitas , dimulai dari lapisan
paling akhir.
Sensitifitas lapisan kedua:
( )( )
[ ( )][ ]
[ ][ ]
[ ]
Sensitifitas lapisan pertama:
( )( )
[ (
)
( )
] [
] [ ]
[(
)( )
( )(
)] [
]
[( )( )
( )( )] [
]
[
] [
] [
]
Fase III: Modifikasi Bobot dan Bias
Fase terakhir adalah fase modifikasi bobot dan bias, dengan
menggunakan persamaan perubahan bobot dan bias serta laju
pemahaman sebesar α = 0.1.
( ) ( ) ( )
[ ] [ ][ ]
[ ]
( ) ( )
[ ] [ ]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
[ ]
( ) ( ) ( )
[
] [
] [ ]
[
]
( ) ( )
[
] [
] [
]
Bobot dan bias baru telah diperoleh, artinya iterasi pertama sudah
selesai. Setelah mendapatkan bobot dan bias baru pada iterasi pertama,
maka dilanjutkan iterasi kedua.
Iterasi 2
Fase I: Propagasi Maju
Luaran lapisan pertama adalah sebagai berikut:
( ) ([
] [ ] [
])
([
])
[
4
5
]
[
]
Luaran lapisan kedua adalah sebagai berikut:
( )
([ ] [
] [ ])
([ ] [ ])
[ ]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Fase II: Propagasi Balik
Hitung kembali galat yang dihasilkan pada iterasi kedua.
Karena galat yang diperoleh , maka proses iterasi
dilanjutkan berulang-ulang sampai galat yag diperoleh atau
sampai pada batas jumlah iterasi maksimum.
4. Confusion Matrix dan Nilai Akurasi
Nilai akurasi diperoleh dengan menghitung jumlah data yang
diklasifikasikan sesuai dengan target sebenarnya, dan dibandingkan
dengan jumlah data uji yang dipakai. Untuk meghitung jumlah data yang
diklasifikasikan sesuai target dan data yang diklasifikasikan tidak sesuai
target dapat dilihat dari confusion matrix. Confusion matrix berukuran
dengan n merupakan jumlah kelas dalam proses pelatihan. Berikut
ini akan ditampilkan confusion matrix dua kelas.
Tabel 2.2 Tabel Confusion Matrix
Hasil Klasifikasi
Kelas 0 Kelas 1
Target Kelas 0 F00 F01
Kelas 1 F10 F11
F00 = Jumlah data dengan target kelas 0 dan klasifikasikan ke kelas 0
F01 = Jumlah data dengan target kelas 0 dan klasifikasikan ke kelas 1
F10 = Jumlah data dengan target kelas 1 dan klasifikasikan ke kelas 0
F11 = Jumlah data dengan target kelas 1 dan klasifikasikan ke kelas 1
Setelah mendapatkan confusion matrix, maka nilai akurasi dapat
dihitung dengan formula sebagai berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
a. Nilai Akurasi Kelas 0
(2.21)
b. Nilai Akurasi Kelas 1
(2.22)
c. Nilai Akurasi Keseluruhan
(2.23)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
BAB III
METODOLOGI
Bab ini berisi mengenai penjelasan data yang akan digunakan, preprosesing
data, dan perancangan sistem jaringan saraf tiruan, secara khusus jaringan saraf
tiruan propagasi balik.
A. Data
Data yang digunakan dalam penelitian ini adalah data hunian (occupancy).
Data ini berisi variabel-variabel tertentu untuk menentukan apakah ruang kerja
dihuni atau tidak. Data yang digunakan ini diunduh dari UCI Machine
Learning. Data ini meliputi variabel-variabel berikut ini: tanggal, waktu, suhu,
kelembaban, intensitas cahaya, kadar , dan rasio kelembaban. Data awal
ini berjumlah 20560 data.
Data hunian ini sudah digunakan untuk penelitian sebuah jurnal berjudul
“Accurate occupancy detection of an office room from light, temperature,
humidity and CO2 measurements using statistical learning models”. Dalam
jurnal ini menggunakan beberapa metode klasifikasi diantaranya, metode
“Support Vector Machines” (SVM), “Decision Tree” (DT), dan “k-Nearest
Neighbor” (KNN).
Data ini direkam dari sebuah ruangan kerja berukuran (
) dengan menggunakan mikrokontroler yang
dilengkapi dengan sensor untuk merekam data dengan variabel-variabel
tersebut. Target yang akan dicapai adalah mengklasifikasikan ruang kerja
dihuni atau tidak. Contoh data yang akan digunakan akan ditampilkan dalam
tabel berikut ini.
Tabel 3.1 Tabel Data Occupany
No Date Time Temperature Humidity
1 2/2/2015 14:19:00 23.7 26.272
2 2/2/2015 17:34:00 22.6 25.06667
3 2/3/2015 6:00:00 20.29 22.7
4 2/3/2015 10:00:00 21.6 27.4725
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
5 2/3/2015 13:09:59 23.26 25.85667
6 2/4/2015 6:00:00 20.6 24.2
7 2/4/2015 7:40:00 20.4725 23.7675
8 2/5/2015 6:00:00 20.865 23.2925
9 2/5/2015 9:00:00 21.5 24.39
10 2/5/2015 18:00:00 22 23.89
No Light CO2 Humidity Ratio Occupancy
1 585.2 749.2 0.00476416 1
2 428.3333 849.3333 0.00424961 0
3 0 432.25 0.00333571 0
4 467.75 1028.25 0.00438301 1
5 338.3333 997.3333 0.0045646 0
6 0 456 0.00362652 0
7 433 473.75 0.00353328 1
8 0 450 0.00354752 0
9 454 786 0.00386428 1
10 433 850.6667 0.00390274 1
Data tersebut memiliki delapan variabel: tanggal perekaman data (date),
waktu perekaman data (time), suhu ruang kerja pada waktu tersebut
(temperature) dengan satuan derajat celsius ( ), kelembaban udara ruangan
(humidity) dengan satuan ( ), intensitas cahaya ruang kerja (light) dengan
satuan ( ), kadar karbondioksida ( ) dengan satuan ( ), rasio
kelembaban udara (humidity ratio), serta yang terakhir adalah keberadaan
pekerja dalam ruangan kerja/hunian (occupancy). Untuk data hunian
(occupancy) hanya memiliki dua variasi nilai yaitu 1 (yang mempunyai arti
ruang kerja berpenghuni) atau 0 (yang mempunyai arti ruang kerja tidak
berpenghuni).
Dari semua variabel yang ada, akan diambil lima variabel sebagai atribut
dan satu sebagai target. Variabel yang akan digunakan sebagai atribut dalam
sistem jaringan adalah suhu, kelembaban udara, intensitas cahaya, kadar
karbondioksida, dan rasio kelembaban, sedangkan untuk target adalah variabel
hunian (occupancy).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
B. Preprosesing Data
20560 data yang diunduh dari UCI Machine Learning tidak dapat langsung
dimasukkan ke dalam sistem, sehingga diperlukan preprosesing data.
Beberapa langkah yang dilakukan dalam preprosesing data adalah sebagai
berikut:
1. Deteksi Data Pencilan (Outlier)
Data pencilan merupakan data yang memiliki kelainan sifat dengan
data pada umumnya (Suri, 2019). Data pencilan ini bisa terjadi karena
kesalahan penulisan data atau adanya kejadian luar biasa yang jarang
sekali terjadi. Deteksi data pencilan diperlukan untuk menghindari data-
data yang tidak merepresentasikan data yang sebenarnya.
Metode yang digunakan untuk menemukan data pencilan pada tugas
akhir ini adalah metode IQR (Inter Quartile Range) atau dengan
menggunakan boxplot. Metode ini mengasilkan batas atas dan batas bawah
pada setiap variabel untuk menentukan apakah data tersebut merupakan
data pencilan atau tidak. Berikut ini rumus untuk menentukan batas atas
dan batas bawah pada data.
(3.1)
(3.2)
(3.3)
: jarak antar kuartil
: batas atas
: batas bawah
: kuartil pertama
: kuartil kedua/median
: kuartil ketiga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Berikut ini adalah contoh boxplot suatu data:
Gambar 3.1 Contoh Boxplot Data
a. Deteksi Data Pencilan Variabel Suhu (Temperature)
Gambar 3.2 Boxplot Distribusi Suhu (Temperature)
Outlier
𝑄
𝑄
/
𝑄
Batas bawah
Batas atas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Hasil perhitungan deteksi data pencilan pada variabel suhu adalah
sebagai berikut:
Kesimpulan: Terdapat data pencilan pada variabel suhu.
b. Deteksi Data Pencilan Variabel Kelembaban (Humidity)
Gambar 3.3 Boxplot Distribusi Kelembaban (Humidity)
Hasil perhitungan deteksi data pencilan pada variabel kelembaban
adalah sebagai berikut:
Kesimpulan: Tidak terdapat data pencilan pada variabel kelembaban.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
c. Deteksi Data Pencilan Variabel Intensitas Cahaya (Light)
Gambar 3.4 Boxplot Distribusi Cahaya (Light)
Hasil perhitungan deteksi data pencilan pada variabel cahaya adalah
sebagai berikut:
Kesimpulan: Terdapat data pencilan pada variabel cahaya.
d. Deteksi Data Pencilan Variabel Karbondioksida (CO2)
Gambar 3.5 Boxplot Distribusi Karbondioksida (CO2)
Hasil perhitungan deteksi data pencilan pada variabel
karbondioksida adalah sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Kesimpulan: Terdapat data pencilan pada variabel karbondioksida.
e. Deteksi Data Pencilan Variabel Rasio Kelembaban (Humidity
Ratio)
Gambar 3.6 Boxplot Distribusi Rasio Kelembaban (Humidity Ratio)
Hasil perhitungan deteksi data pencilan pada variabel kelembaban
adalah sebagai berikut:
Kesimpulan: Tidak terdapat data pencilan pada variabel rasio
kelembaban.
Setiap variabel sudah ditemukan batas atas dan batas bawah. Untuk
data yang tidak berada pada selang [ ] di setiap
variabelnya merupakan data pencilan. Semua data yang mengandung data
pencilan dikeluarkan dari data yang akan digunakan pada sistem jaringan.
Jumlah data setelah dilakukan deteksi data pencilan berjumlah 18.547 data
dari 20560 data awal. 18.537 data akan digunakan sebagai data pelatihan
serta pengujian jaringan, dan 10 data akan digunakan untuk klasifikasi uji
data tunggal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
2. Normalisasi Data
Normalisasi data dilakukan dengan metode max-min, yaitu melakukan
transformasi linier terhadap data asli. Tujuan dilakunannya normalisasi
data ini agar nilai-nilai dari setiap variabel berada dalam suatu selang
tertentu. Apabila nilai-nilai pada data berada dalam suatu selang tertentu
maka dapat menyederhanakan proses penghitungan pada jaringan. Adapun
rumus yang digunakan untuk melakukan transformasi linier ini adalah
sebagai berikut:
( )( )
( ) (3.4)
data baru setelah di transformasi
data asli
nilai maksimum data
nilai minimum data
nilai maksimum baru yang ditentukan
nilai minimum baru yang ditentukan
Pada transformasi linier yang dilakukan di penelitian ini mengambil nilai
dan nilai Transformasi ini dilakukan pada
setiap variabel yang akan digunakan sebagai atribut.
3. Pemilihan Atribut
Data asli memiliki delapan variabel seperti yang ditampilkan pada
Tabel 3.1 tidak semua variabel dalam data ini akan digunakan untuk
pelatihan sistem jaringan saraf tiruan. Dari kedelapan variabel yang ada,
akan diambil lima variabel yang akan dijadikan sebagai atribut, dan satu
variabel yang akan dijadikan target. Variabel yang akan digunakan sebagai
atribut dalam sistem jaringan adalah suhu, kelembaban udara, intensitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
cahaya, kadar karbondioksida, dan rasio kelembaban, sedangkan untuk
target adalah variabel hunian (occupancy).
Pemilihan variabel yang digunakan sebagai atribut berdasarkan
referensi jurnal acuan yang menggunakan data yang sama. Variabel-
variabel ini dipilih karena memiliki kontribusi yang cukup signifikan
untuk melakukan klasifikasi. Kontribusi setiap variabel yang dipilih ini
mampu membuat sebuah batasan, sehingga dapat membedakan kelas yang
satu dengan yang lainnya.
Tabel 3.2 Tabel Atribut dan Target
Temperature Humidity Light CO2 Humidity
Ratio Occupancy
23.5 26.272 585.2 749.2 0.0047641 1
22.6 25.06667 428.333 849.333 0.0042496 0
20.29 22.7 0 432.25 0.0033357 0
21.6 27.4725 467.75 1028.25 0.0043830 1
23.26 25.85667 338.333 997.333 0.0045646 0
20.6 24.2 0 456 0.0036265 0
20.4725 23.7675 433 473.75 0.0035332 1
20.865 23.2925 0 450 0.0035475 0
21.5 24.39 454 786 0.0038642 1
22 23.89 433 850.666 0.0039027 1
4. Pembagian Data Pelatihan dan Data Uji
Data yang tersedia akan dibagi menjadi dua bagian yaitu data
pelatihan dan data uji. Pembagian data dilakukan dengan metode k-fold
cross validation, dengan nilai . Metode ini dipilih supaya data yang
digunakan sebagai data pelatihan berbeda dengan data yang digunakan
sebagai data uji. Langkah-langkah pembagian data adalah sebagai
berikut.
Langkah 1
Data dibagi menjadi dua bagian berdasarkan target, yaitu data dengan
target = 0 dan data dengan target = 1. Data dengan target = 0 berjumlah
14.781 data, dan data dengan target =1 berjumlah 3.756 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Langkah 2
Data dari masing-masing target dibagi menjadi tiga bagian. Data
dengan target = 0 dibagi menjadi 3 bagian, sehingga terdapat 4.927 data
setiap bagiannya, dan data dengan target = 1 dibagi menjadi 3 bagian,
sehingga terdapat 1.252 data setiap bagiannya. Bagian-bagian tersebut
dilambangkan dengan himpunan-himpunan berikut ini.
A1 = Himpunan 4.927 data dengan target 0 bagian pertama
A2 = Himpunan 4.927 data dengan target 0 bagian kedua
A3 = Himpunan 4.927 data dengan target 0 bagian ketiga
B1 = Himpunan 1.252 data dengan target 1 bagian pertama
B2 = Himpunan 1.252 data dengan target 1 bagian kedua
B3 = Himpunan 1.252 data dengan target 1 bagian ketiga
Langkah 3
Data dengan target = 0 dan target = 1 digabungkan pada setiap
bagiannya, sehingga terbentuk tiga himpunan data, yang masing-masing
himpunan data terdapat data dengan target 0 dan data dengan target 1.
P1 = gabungan himpunan A1 dengan himpunan B1
P2 = gabungan himpunan A2 dengan himpunan B2
P3 = gabungan himpunan A3 dengan himpunan B3
Langkah 4
Himpunan data yang sudah terbentuk dibagi menjadi data pelatihan
dan data uji. Pembagian data dilakukan dengan metode 3-fold cross
validation. Pembagian data ditampilkan dengan tabel berikut ini.
Tabel 3.3 Tabel 3-fold cross validation
Percobaan Data
Pelatihan Uji
1 P1 , P2 P3
2 P1 , P3 P2
3 P2 , P3 P1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
C. Perancangan Sistem Jaringan Saraf Tiruan
Pada subab ini berisi blok diagram atau bagan perancangan sistem,
pelatihan dan pengujian arsitektur jaringan, klasifikasi uji data tunggal, serta
perancangan menu tampilan.
1. Blok Diagram Sistem dan Simulasi Arsitektur Jaringan
Berikut ini adalah blok diagram perancangan sistem jaringan saraf
tiruan yang akan dilakukan.
Gambar 3.6 Blok Diagram Sistem
Data
Data Uji
Pelatihan Jaringan
Hasil Klasifikasi
Preprosesing Data
Data Pelatihan
Model Jaringan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
2. Pelatihan dan Pengujian Arsitektur JST
Proses identifikasi ruang kerja yang dilakukan pada penelitian ini
dibedakan berdasarkan beberapa variabel yaitu: suhu, kelembaban udara,
intensitas cahaya, kadar karbondioksida, dan rasio kelembaban. Metode
yang digunakan untuk mengklasifikasikan apakah ruang kerja tersebut
dihuni atau tidak adalah metode jaringan saraf tiruan propagasi balik.
Metode ini digunakan karena kemampuannya menghasilkan batasan yang
baik untuk proses klasifikasi.
Ada dua jenis arsitektur jaringan saraf tiruan yang digunakan, yaitu
arsitektur jaringan saraf tiruan dengan satu lapisan tersembunyi dan dua
lapian tersembunyi.
a. Arsitektur Jaringan Saraf Tiruan 1 Lapisan Tersembunyi
Arsitektur jaringan saraf tiruan dengan satu lapisan tersembunyi
yang diambil dari simulasi satu bagian kedua ditampilkan pada
Gambar 3.7. Arsitektur jaringan dari simuasi satu terdiri dari 5
masukan data, 1 lapisan tersembunyi dengan 4 neuron dan 1 luaran
yang dihasilkan.
Arsitektur ini dipilih karena atribut yang digunakan sebagai
masukan berjumlah lima, serta target yang dicapai adalah 0 atau 1,
sehingga luaran yang dibutuhkan hanya satu neuron. Variasi jumlah
neuron dilakukan pada lapis tersembunyi mulai dari lapisan dengan
jumlah neuron 2, 4, , 14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 3.7 Arsitektur Jaringan Saraf Tiruan Satu Lapisan
Tersembunyi
b. Arsitektur Jaringan Saraf Tiruan 2 Lapisan Tersembunyi
Arsitektur jaringan saraf tiruan dengan dua lapisan tersembunyi
yang diambil dari simulasi dua bagian kedua ditampilkan pada
Gambar 3.8. Arsitektur jaringan dari simuasi dua bagian pertama
terdiri dari 5 masukan data, 2 lapisan tersembunyi dengan m neuron
pada lapisan tersembunyi yang pertama, 4 neuron pada lapisan
tersembunyi yang kedua dan 1 luaran yang dihasilkan.
Arsitektur ini dipilih karena atribut yang digunakan sebagai
masukan berjumlah lima, serta target yang dicapai adalah 0 atau 1,
sehingga luaran yang dibutuhkan hanya satu neuron. Variasi jumlah
neuron dilakukan pada kedua lapisan tersembunyi mulai dari lapisan
dengan jumlah neuron 2, 4, , 14.
𝑎
𝑝
𝑝
𝑝5
𝑝4
𝑝
𝑎
𝑎4
𝑎
𝑎
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 3.8 Arsitektur Jaringan Saraf Tiruan Dua
Lapisan Tersembunyi
Pada penelitian ini akan dibuat beberapa simulasi yang digunakan
untuk memperoleh nilai akurasi yang baik. Beberapa simulasi ini
dibedakan dengan mengkombinasikan jumlah neuron pada lapisan
tersembunyi, baik arsitektur dengan satu lapisan tersembuyi atau dua
lapisan tersembunyi.
Tabel 3.3 Tabel Simulasi Arsitektur Jaringan
Simulasi Jumlah Neuron
Lapisan 1
Jumlah Neuron
Lapisan 2
1 2, 4, 6, 8, 10, 12, 14 0
2 2, 4, 6, 8, 10, 12, 14
Dimana merupakan jumlah neuron dengan akurasi terbaik pada
simulasi satu.
Sebuah arsitektur jaringan saraf tiruan memerlukan beberapa bagian
penting untuk membangunnya. Berikut ini bagian-bagian yang diperlukan
𝑝
𝑝
𝑝5
𝑝4
𝑝
𝑎𝑚
𝑎
𝑎
𝑎
𝑎
𝑎4
𝑎
𝑎
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
untuk membangun sebuah arsitektur jaringan saraf tiruan dalam penelitian
ini.
a. Lapisan Jaringan
Lapisan yang terdapat pada jaringan terdiri dari empat lapis.
Lapisan yang pertama merupakan lapisan masukan (input), lapisan
tersembunyi (hidden layer), dan lapisan yang terakhir merupakan
lapisan luaran (output).
1) Lapisan masukan (input) terdiri dari 5 masukan data, sesuai
dengan jumlah variabel yang dijadikan atribut pada arsitektur
jaringan yang akan dibangun.
2) Lapisan tersembunyi (hidden layer) pada arsitektur yang
dibangun terdapat pada lapisan kedua untuk arsitektur yang
menggunakan satu lapisan tersembunyi, dan pada lapisan
kedua dan ketiga pada arsitektur yang menggunakan dua
lapisan tersembunyi.
3) Lapisan luaran (output) terletak pada lapisan paling luar pada
arsitektur jaringan. Jumlah luaran pada arsitektur ini adalah
dua, sesuai dengan target yang akan dicapai yang
dilambangkan dengan 1 apabila ruangan berpenghuni, dan 0
apabila ruangan tidak berpenghuni.
b. Fungsi Aktivasi
Fungsi Aktivasi yang akan digunakan dalam membangun
arsitektur jaringan ini adalah fungsi aktivasi linear (purelin) dan
fungsi aktivasi hiperbolic tangent sigmoid (tansig). Fungsi aktivasi
tansig ditunjukkan dengan fungsi berikut:
(3.5)
dan fungsi aktivasi purelin ditunjukan dengan fungsi berikut:
(3.6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Fungsi aktivasi ini dipilih karena fungsi ini memiliki turunan (karena
jaringan saraf tiruan propagasi balik melibatkan turunan dari fungsi
aktivasinya).
c. Fungsi Pelatihan
Fungsi pelatihan yang digunakan pada penelitian kali ini adalah
fungsi pelatihan traingd (metode pelatihan gradient descent).
d. Target Galat
Nilai target galat yang ditentukan pada penelitian kali ini sebesar
0.001. Nilai target galat ini diberikan untuk menghentikan proses
penghitungan apabila nilai luaran yang diperoleh sudah hampir
mendekati nilai target yang akan dicapai dengan tingkat kesalahan
0.001.
e. Batas Iterasi
Batas iterasi yang ditetapkan pada penelitian kali ini adalah 1000
iterasi. Batas iterasi ini berfungsi untuk menghentikan proses
penghitungan. Apabila luaran belum mencapai target pada iterasi ke-
1000 dengan kesalahan target galat yang ditentukan maka proses
penghitungan akan dihentikan.
f. Laju Pemahaman
Nilai laju pemahaman (learning rate) yang dipakai kali ini adalah
0.01. nilai laju pemahaman biasanya disimbolkan α, sehingga dapat
ditulis .
Untuk memperoleh arsitektur jaringan terbaik yang dilihat dari
prosentase akurasi, dilakukan dengan membuat variasi jumlah neuron pada
lapisan tersembunyi. Jumlah neuron pada lapisan tersembunyi divariasi
mulai dari lapisan dengan jumlah neuron 2, 4, , 14. Untuk Arsitektur
jaringan dengan satu lapisan tersembunyi, cukup dengan membuat variasi
pada jumlah neuron pada lapisan tersebut, namun untuk arsitektur jaringan
dengan dua lapisan akan mengambil jumlah neuron dengan akurasi terbaik
pada satu lapisan tersembunyi, kemudian melakukan variasi jumlah neuron
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
pada lapisan tersembunyi yang kedua. Kombinasi jumlah neuron ini yang
akan dibuat 2 simulasi seperti yang ditunjukkan pada Tabel 3.3.
Setiap simulasi arsitektur jaringan akan menghasilkan beberapa nilai
prosentase akurasi. Dari beberapa nilai akurasi ini akan dipilih satu nilai
prosentase akurasi tertinggi pada satu simulasi tersebut (nilai akurasi
maksimum pada satu simulasi). Kedua nilai akurasi maksimum pada dua
simulasi akan dibandingkan kembali dan dipilih nilai akurasi tertinggi
yang nantinya akan dijadikan sebagai arsitektur terbaik yang dihasilkan.
3. Klasifikasi Uji Data Tunggal
Setelah proses pelatihan dan pengujian arsitektur jaringan saraf tiruan,
diperoleh sebuah model jaringan terbaik. Model jaringan ini digunakan
untuk mengklasifikasikan data tunggal yang baru. Hasil klasifikasi dibagi
menjadi dua, yaitu ruangan dihuni atau ruangan tidak dihuni.
Pengujian data tunggal dilakukan dengan memasukkan data baru ke
dalam model jaringan yang diperoleh dari proses pelatihan dan pengujian
arsitektur jaringan. Data baru ini akan diproses di dalam model jaringan
untuk menghasilkan luaran, kemudian diklasifikasikan berdasarkan luaran
target. Proses uji data tunggal ini akan ditunjukan pada bagan berikut ini.
Gambar 3.9 Proses Klasifiasi Uji Data
4. Perancangan Menu Tampilan
Menu tampilan ini dibuat untuk menjalankan sistem seperti melakukan
pelatihan dan pengujian jaringan, menampilkan nilai akurasi, dan menguji
data yang baru untuk di klasifikasikan.
Data Uji
Tunggal Model Jaringan
Hasil
Klasifikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 3.10 Menu Tampilan Sistem
Pada Gambar 3.10 ini merupakan gambar tampilan menu yang terdiri
dari tiga panel utama, yaitu panel pelatihan jaringan, panel hasil, dan panel
klasifikasi data.
Berikut ini adalah rincian setiap panel pada gambar 3.10.
a. Panel Pelatihan
Pada panel pelatihan terdapat empat bagian edit text dan satu
bagian press button.
1) Jumlah Neuron Lapisan 1
Bagian edit text ini berfungsi untuk memasukkan jumlah
neuron pada lapisan tersenbunyi yang pertama. Jumlah neuron
yang dimasukan di bagian ini haruslah bilangan bulat positif.
2) Jumlah Neuron Lapisan 2
Bagian edit text ini berfungsi untuk memasukkan jumlah
neuron pada lapisan tersenbunyi yang kedua. Apabila jaringan
yang ingin dijalankan hanya memiliki satu lapisan terembunyi,
maka bagian ini diisi dengan bilangan 0 (nol).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
3) Batas Iterasi
Bagian edit text ini berfungsi untuk memasukkan jumlah batas
maksimum iterasi yang bisa dijalankan oleh sistem jaringan.
4) MSE
Bagian edit text ini berfungsi untuk memasukkan nilai target
galat yang akan dipakai untuk menjalankan sistem jaringan.
5) Proses
Bagian press button ini berfungsi untuk menjalankan sistem
yang dibangun dengan ketentuan yang dimasukkan melalui edit
text sebelumnya.
b. Panel Hasil
Pada panel hasil ini terdiri dari tiga bagian static text yang
digunakan untuk menampilkan hasil dari proses menjalanjan sistem.
1) Data Benar
Bagian static text ini berfungsi untuk menampilkan jumlah data
benar dari pengujian jaringan.
2) Data Total
Bagian static text ini berfungsi untuk menampilkan jumlah data
total yang digunakan untuk pengujian jaringan.
3) Akurasi
Bagian static text ini berfungsi untuk menampilkan nilai
akurasi dari proses pelatihan dan pengujian jaringan. Nilai
akurasi ini diperoleh dengan rumus
c. Panel Klasifikasi
Pada panel klasifikasi terdapat lima bagian edit text, satu bagian
press button, dan satu bagian static text.
1) Suhu
Bagian edit text ini berfungsi untuk memasukkan nilai suhu
ruangan sebagai data tunggal untuk diklasifikasikan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
2) Kelembaban
Bagian edit text ini berfungsi untuk memasukkan nilai
kelembaban udara ruang kerja sebagai data tunggal untuk
diklasifikasikan.
3) Cahaya
Bagian edit text ini berfungsi untuk memasukkan nilai
intensitas cahaya di dalam ruang kerja sebagai data tunggal
untuk dikla-sifikasikan.
4) CO2
Bagian edit text ini berfungsi untuk memasukkan besaran kadar
karbondioksida dalam ruang kerja sebagai data tunggal untuk
diklasifikasikan.
5) Rasio
Bagian edit text ini berfungsi untuk memasukkan besar rasio
kelembaban udara di dalam ruang kerja sebagai data tunggal
untuk diklasifikasikan.
6) Proses
Bagian press button ini berfungsi untuk menjalankan sistem
guna mengklasifikasi data tunggal yang dimasukkan melalui
edit text sebelumnya.
7) Hasil Klasifikasi
Bagian static text ini berfungsi untuk menampilkan hasil kla-
sifikasi yang dijalankan oleh sistem. Hasil luaran dari
klasifikasi data tunggal ini ada dua macam. Hasil klasifikasi
yang pertama akan menampilkan kalimat “Ruang Kerja Tidak
Berpenghuni” pada static text atau hasil klasifikasi yang kedua
akan menampilkan “Ruang Kerja Berpenghuni” pada static text
yang tersedia pada panel klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
BAB IV
HASIL DAN ANALISIS HASIL
Bab ini berisi tentang hasil dan analisis hasil serta interface pengujian sistem.
Hasil dan analisis hasil membahas mengenai percobaan untuk menghasilkan
model jaringan terbaik, sedangkan interface pengujian sistem memberikan
visualisasi mengenai rancangan sistem untuk pengujian data.
A. Hasil dan Analisis Hasil
Pada subab ini akan dibahas mengenai hasil dan analisis hasil dari
beberapa percobaan jaringan. Dari semua variasi jaringan yang diuji akan
dicari model jaringan terbaik. Model jaringan terbaik dilihat dari nilai akurasi
tertinggi yang dihasilkan oleh model jaringan tersebut. Untuk memperoleh
model jaringan terbaik, maka dilakukan beberapa variasi model jaringan.
Variasi model jaringan dilakukan dengan membuat variasi kombinasi jumlah
neuron pada setiap lapisan tersembunyi.
Selain dipengaruhi oleh variasi kombinasi jumlah neuron pada lapisan
tersembunyi, arsitektur jaringan juga dipengaruhi oleh beberapa parameter.
Berikut ini adalah beberapa parameter yang mempengaruhi arsitektur jaringan
yang akan dibuat.
Jumlah masukan pada arsitektur jaringan adalah lima, sehingga
masukan berupa vektor berukuran yaitu
[
4
5]
Jumlah neuron pada lapisan tersembunyi pertama bervariasi mulai
dari 2, 4, 6, 8 dan 10. Apabila nilai akurasi tertinggi terletak pada
jumlah neuron yang terakhir, maka dilanjutkan dengan jumlah
neuron kelipatan dua berikutnya, proses ini dilakukan sampai nilai
akurasinya turun atau tetap.
Jumlah neuron pada lapisan tersenbunyi yang kedua juga bervariasi
mulai dari 2, 4, 6, sampai jumlah neuron paling tinggi pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
jaringan satu lapisan. Apabila nilai akurasi tertinggi terletak pada
jumlah neuron yang terakhir, maka dilanjutkan dengan jumlah
neuron kelipatan dua berikutnya, proses ini dilakukan sampai nilai
akurasinya turun atau tetap.
Keluaran yang dihasilkan ada 1 neuron, yaitu luaran = 0 atau
luaran = 1.
Fungsi aktivasi yang digunakan adalah fungsi linier (purelin) dan
fungsi hyperbolic tangent sigmoid (tansig).
Nilai target galat yang dipakai adalah 0.001.
Batas iterasi maksimum yang ditentukan adalah 1000 iterasi.
Nilai laju pemahaman (learning rate) adalah .
Untuk menghasilkan nilai akurasi tertinggi, percobaan-percobaan model
jaringan dibagi menjadi dua kelompok atau yang disebut dengan kelompok
simulasi. Simulasi yang akan dibentuk ada dua kelompok simulasi. Kelompok
simulasi satu adalah arsitektur jaringan dengan satu lapisan tersembunyi.
Kelompok simulasi yang dua adalah arsitektur jaringan dengan dua lapisan
tersembunyi dengan jumlah neuron dengan akurasi tertinggi di lapisan
pertama dan variasi jumlah neuron pada lapisan kedua.
Tabel 4.1 Tabel Simulasi Arsitektur Jaringan
Simulasi Bagian
Jumlah
Neuron
Lapisan 1
Jumlah
Neuron
Lapisan 2
1
1 2
0
2 4
3 6
4 8
5 10
6 12
7 14
2
1
12
2
2 4
3 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
4 8
5 10
6 12
7 14
1. Hasil Simulasi
Dari setiap percobaan pada simulasi menghasilkan nilai akurasi. Setiap
simulasi menghasilkan tujuh nilai akurasi yang diperoleh dari tujuh
percobaan. Dari ketujuh nilai akurasi pada suatu simulasi akan dipilih satu
nilai akurasi sebagai nilai akurasi maksimum pada simulasi tersebut.
Berikut ini hasil nilai akurasi dari setiap simulasi.
a. Hasil Simulasi 1
Tabel 4.2 Tabel Hasil Simulasi 1
Bagian Jumlah Neuron Akurasi
(%) Lapisan 1 Lapisan 2
1 2
0
93.2567
2 4 95.1287
3 6 94.1792
4 8 97.2811
5 10 98.3331
6 12 99.3580
7 14 99.3257
Dari Tabel 4.2 dapat dilihat nilai akurasi tertinggi pada simulasi 1
ada pada bagian ke-6, yaitu arsitektur jaringan satu lapisan
tersembunyi dengan 12 neuron pada lapisan tersembunyi tersebut.
Nilai akurasi yang dihasilkan dari simulasi 1 bagian ke-6 ini adalah
99.3580%. Berikut ini ditampilkan grafik nilai akurasi pada simulasi 1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Gambar 4.1 Grafik Nilai Akurasi Simulasi 1
b. Hasil Simulasi 2
Tabel 4.3 Tabel Hasil Simulasi 2
Bagian Jumlah Neuron Akurasi
(%) Lapisan 1 Lapisan 2
1
12
2 95.6681
2 4 98.1011
3 6 94.6431
4 8 99.1584
5 10 97.0438
6 12 95.9486
7 14 96.2453
Dari Tabel 4.3 dapat dilihat nilai akurasi tertinggi pada simulasi 2
ada pada bagian ke-4, yaitu arsitektur jaringan dua lapisan tersembunyi
dengan 12 neuron pada lapisan pertama dan 8 neuron pada lapisan
kedua. Nilai akurasi yang dihasilkan dari simulasi 2 bagian ke-4 ini
adalah 99.1584%. Berikut ini ditampilkan grafik nilai akurasi pada
simulasi 2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.2 Grafik Nilai Akurasi Simulasi 2
2. Model Jaringan Terbaik
Dari hasil simulasi, diperoleh tujuh nilai akurasi setiap simulasi. Untuk
memperoleh nilai akurasi tertinggi maka dilakukan proses perbandingan
antara simulasi 1 dan simulasi 2. Model arsitektur jaringan dengan nilai
akurasi tertinggi inilah yang diambil sebagai model jaringan terbaik.
Model terbaik yang dihasilkan ini akan digunakan sebagai model jaringan
untuk mengklasifikasikan data. Berikut ini adalah tabel perbandingan nilai
akurasi dari setiap simulasi.
Tabel 4.4 Tabel Perbandingan Nilai Akurasi
Bagian
Kombinasi Jumlah Neuron Akurasi (%)
Simulasi 1 Simulasi 2 Simulasi
1
Simulasi
2
1 (2,0) (12,2) 93.2567 95.6681
2 (4,0) (12,4) 95.1287 98.1011
3 (6,0) (12,6) 94.1792 94.6431
4 (8,0) (12,8) 97.2811 99.1584
5 (10,0) (12,10) 98.3331 97.0438
6 (12,0) (12,12) 99.3580 95.9486
7 (14,0) (12,14) 99.3257 96.2453
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Dari Tabel 4.4 dapat dilihat bahwa nilai akurasi tertinggi terdapat pada
simulasi 1 bagian keenam, yaitu arsitektur jaringan satu lapisan
tersembunyi dengan 12 neuron. Nilai akurasi yang dihasilkan dari simulasi
1 bagian keenam ini adalah 99.3580%. Berikut ini ditampilkan grafik
perbandingan nilai akurasi.
Gambar 4.3 Grafik Perbandingan Nilai Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Gambar 4.4 Tampilan Pelatihan Model Jaringan Terbaik
Gambar 4.4 merupakan tampilan pelatihan dari model jaringan terbaik
yang diperoleh. Nilai akurasi yang diperoleh adalah 99.3580%, dengan
data yang sesuai dengan target berjumlah 18.418 data dari 18.537 data uji
yang digunakan. Untuk lebih lengkapnya dapat dilihat dari tabel confusion
matrix berikut ini.
Tabel 4.5 Tabel Confusion Matrix Model Jaringan Terbaik
Tidak
Berpenghuni Berpenghuni
Tidak
Berpenghuni 14676 105
Berpenghuni 14 3742
Tabel 4.5 menunjukkan bahwa data uji dengan target “Tidak
Berpenghuni” (target occupancy = 0) diklasifikasikan sesuai target
sebanyak 14676 data sedangkan sebanyak 105 data tidak sesuai target.
Untuk data uji dengan target “Berpenghuni” (target occupancy = 1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
diklasifikasikan sesuai target debanyak 3742 data sedangkan yang tidak
sesuai target sebanyak 14 data.
Dari Tabel 4.5 ini kita dapat menghitung nilai akurasi dari model
jaringan terbaik. Berikut ini rincian penghitungan nilai akurasi total.
B. Interface Pengujian Sistem
Pada bagian ini membahas mengenai tampilan pelatihan dan pegujian
jaringan, serta klasifikasi pengujian data tunggal. Tampilan pelatihan dan
pengujian jaringan serta tampilan klasifikasi uji data tunggal ditunjukkan pada
tampilan menu utama berikut ini.
Gambar 4.5 Menu Tampilan Utama Sistem
Aplikasi menu utama yang ditampilkan pada Gambar 4.5 ini dibagi
menjadi tiga bagian yaitu pelatihan, hasil dan klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
1. Pelatihan dan Pengujian Jaringan
Pada proses pelatihan dan pengujian jaringan ini dibagi menjadi dua
yaitu pelatihan dan pengujian jaringan dengan satu lapisan tersembunyi
serta pelatihan dan pengujian dengan dua lapisan tersembunyi.
a. Pelatihan dan Pengujian Jaringan Satu Lapisan Tersembunyi
Berikut ini tampilan dari menu pelatihan dan pengujian jaringan
dengan satu lapisan tersembunyi.
Gambar 4.6 Tampilan Pelatihan Jaringan 1 lapisan tersembunyi
Pada Gambar 4.6 merupakan tampilan menu pelatihan dan
pengujian serta hasil akurasi dari jaringan satu lapisan tersembunyi.
Gambar tersebut menampilkan simulasi 1 bagian pertama yaitu
jaringan dengan satu lapisan tersembunyi, dimana jumlah neuron pada
lapisan tersembunyi berjumlah 2 neuron. Pada simulasi ini diperoleh
data yang sesuai dengan target berjumlah 17.287 dan jumlah data yang
diujikan adalah 18.537 data, sehingga nilai akurasi yang diperoleh
adalah 93.2567%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Gambar 4.7 Proses Pelatihan Jaringan 1 lapisan tersembunyi
b. Pelatihan dan Pengujian Jaringan Dua Lapisan Tersembunyi
Berikut ini tampilan dari menu pelatihan dan pengujian jaringan
dengan dua lapisan tersembunyi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Gambar 4.8 Tampilan Pelatihan Jaringan 2 lapisan tersembunyi
Pada Gambar 4.8 merupakan tampilan menu pelatihan dan
pengujian serta hasil akurasi dari jaringan dua lapisan tersembunyi.
Gambar tersebut menampilkan simulasi dua bagian pertama yaitu
jaringan dengan dua lapisan tersembunyi, di mana jumlah neuron pada
lapisan tersembunyi yang pertama berjumlah 12 neuron dan jumlah
neuron pada lapisan tersembunyi yang kedua berjumlah 8. Pada
simulasi ini diperoleh data yang sesuai dengan target berjumlah 17.734
dan jumlah data yang diujikan adalah 18.537 data, sehingga nilai
akurasi yang diperoleh adalah 95.6681%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Gambar 4.9 Proses Pelatihan Jaringan 2 lapisan tersembunyi
2. Klasifikasi Pengujian Data Tunggal
Klasifikasi yang ditargetkan pada penelitian ini ada dua macam, yaitu
“Ruang Kerja Berpenghuni” atau “Ruang Kerja Tidak Berpenghuni”.
Apabila luaran dari hasil perhitungan jaringan adaalah 1, maka akan
diklasifikasikan menjadi “Ruang Kerja Berpenghuni”, sedangkan jika
luarannya adalah 0, maka diklasifikasikan menjadi “Ruang Kerja Tidak
Berpenghuni”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Gambar 4.10 Tampilan Klasifikasi Kelas Target 1
Gambar 4.11 Tampilan Klasifikasi Kelas Target 0
Pada Tabel 4.6 berikut ini merupakan contoh data baru yang akan diuji
menggunakan jaringan saraf tiruan untuk diklasifikasikan apakah masuk
kedalam klasifikasi yang pertama atau kedua.
Tabel 4.6 Tabel Data Uji
Temperature Humidity Light CO2 Humidity
Ratio Occupancy
22.075 37.8975 433 1819.3 0.00624268 1
20 18.7 0 440 0.00269628 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Gambar 4.12 Tampilan Proses Klasifikasi Data Uji 1
Gambar 4.13 Tampilan Proses Klasifikasi Data Uji 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
3. Pengujian Data Baru
Model arsitektur jaringan terbaik yang di hasilkan pada penelitian ini
adalah model jaringan simulasi 1 bagian keenam. Model ini merupakan
model arsitektur jaringan dengan satu lapisan tersembunyi dengan 12
neuron. Model jaringan ini menghasilkan nilai akurasi sebesar 99.3580%.
Pada tahap selanjutnya, model jaringan terbaik ini dipakai untuk
mengklasifikasikan data baru. Berikut ini adalah tabel data yang akan di
klasifikasi.
Tabel 4.7 Tabel Uji Data Baru
No Temperature Humidity Light CO2 Humidity
Ratio Occupancy
1 20 18.7 0 440 0.0027 0
2 19.5 30.1 0 435.5 0.00422 0
3 22.075 26.365 464 1039.5 0.00432 1
4 20.5 34.0675 0 762.5 0.00509 0
5 20.356667 33 0 500.33 0.00488 0
6 20.79 29.495 0 494 0.00448 0
7 23.05 23.295 664 891 0.00406 1
8 23.5 27 574.75 575 0.00484 1
9 21.89 30.39 419 975.67 0.00494 1
10 22.1 34.4 454 1321 0.00567 1
Tabel 4.7 merupakan 10 data baru yang akan diuji menggunakan
model terbaik untuk diklasifikasikan. Data baru akan di uji untuk melihat
apakah hasil klasifikasi sesuai dengan target occupancy. Hasil klasifikasi
dari 10 data baru yang diuji ini akan ditampilkan pada tabel berikut ini.
Tabel 4.8 Tabel Hasil Klasifikasi Data Baru
No
Data
Target
Occupancy
Hasil
Klasifikasi Kesesuaian Keterangan
1 0 0 Sesuai Ruang Kerja Tidak
Berpenghuni
2 0 0 Sesuai Ruang Kerja Tidak
Berpenghuni
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
3 1 1 Sesuai Ruang Kerja
Berpenghuni
4 0 0 Sesuai Ruang Kerja Tidak
Berpenghuni
5 0 0 Sesuai Ruang Kerja Tidak
Berpenghuni
6 0 0 Sesuai Ruang Kerja Tidak
Berpenghuni
7 1 1 Sesuai Ruang Kerja
Berpenghuni
8 1 1 Sesuai Ruang Kerja
Berpenghuni
9 1 1 Sesuai Ruang Kerja
Berpenghuni
10 1 1 Sesuai Ruang Kerja
Berpenghuni
Tabel 4.8 menampilkan 10 data baru yang diambil secara acak
kemudian di klasifikasikan menggunakan model jaringan terbaik. Dari
kesepuluh data yang diuji, hasil klasifikasinya semuanya sesuai dengan
target. Hal ini menunjukkan bahwa model jaringan ini cukup akurat dalam
mengklasifikasikan data ke dalam kelas-kelas yang tersedia. Tampilan
hasil klasifikasi data baru ini lebih lengkapnya dapat dilihat pada lampiran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
BAB V
PENUTUP
A. Kesimpulan
Dari hasil penelitian deteksi hunian menggunakan metode jaringan saraf tiruan
propagasi balik, dapat disimpulkan beberapa hal sebagai berikut:
1. Deteksi hunian dapat dilakukan dengan menggunakan jaringan saraf tiruan
propagasi balik (back propagation) dengan lima atribut dan satu target.
Variabel-variabel yang digunakan sebagai atribut adalah suhu,
kelembaban, intensitas cahaya, kadar karbondioksida, dan rasio
kelembaban. Target yang dituju adalah hunian (occupancy) sebuah ruang
kerja.
2. Model arsitektur jaringan yang optimal yang diperoleh pada penelitian ini
adalah model jaringan dengan lima masukan (input), satu lapisan
tersembunyi (hidden layer) dengan jumah 12 neuron, dan satu luaran
(output). Fungsi aktivasi yang digunakan adalah fungsi purelin pada
lapisan tersembunyi.
3. Nilai akurasi yang diperoleh dari model jaringan yang optimal adalah
99.3580%
B. Saran
Saran yang diberikan untuk mengembangkan penelitian pada tugas akhir ini
adalah sebagai berikut:
1. Untuk pemilihan variabel yang dijadikan sebagai atribut dapat dilakukan
menggunakan uji analisis komponen utama (principal component
analysis).
2. Korelasi antara variabel kelembaban dengan rasio variabel kelembaban
dapat dicari, sehingga apabila korelasi antara kedua variabel tinggi dapat
dilakukan reduksi salah satu dari kedua variabel ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
3. Variasi kombinasi jumlah neuron dapat dikembangkan lagi.
4. Arsitektur jaringan dapat menggunakan fungsi aktivasi yang lain, misalnya
fungasi aktivasi logsig, atau fungsi aktivasi lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
DAFTAR PUSTAKA
Candanedo, L.M., & Feldheim, V. (2016). Accurate occupancy detection of an
office room from light, temperature, humidity and CO2 measurements
using statistical learning models. Energy and Buildings, 112, 28-39.
Hagan, M.T. et al. (2014). Neural Network Design, (second edition). Washington:
PWS Publishing Company.
Hanselman, D. & Littlefield, B. (2012). Mastering Matlab. New York: Prentice
Hall.
Heaton, J. (2012). Introduction Math of Neural Networks. Chesterfield: Heaton
Research Inc.
Putri, A.R. (2017). Pengenalan Pola Aksara Batak Karo Menggunakan Metode
Back Propagation. Skripsi. Yogyakarta.
Sammut, C. & Webb, G.I. (2011). Encyclopedia of Machine Learning. New York:
Springer.
Siang, J.J. (2005). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
Matlab. Yogyakarta: ANDI.
Suri, N. M. R., Murty, M. N., & Athithan, G. (2019). Outlier Detection:
Techniques and Applications. Cham: Springer Nature.
Suryawan, H.P. (2016). Kalkulus Diferensial. Yogyakarta: Sanata Dharma
University Press.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
LAMPIRAN
Data Training
No Date Time Tempe-
rature Humidity Light CO2
Humidity
Ratio
Occu-
pancy
1 2/2/2015 14:19:00 22.6 25.0667 428.333 849.333 0.00425 0
2 2/2/2015 14:19:59 22.6 25.2 422.5 853 0.00427 0
3 2/2/2015 14:21:00 22.6 25.2 423.667 853 0.00427 0
4 2/2/2015 14:22:00 22.54 25.16 424.6 852 0.00425 0
5 2/2/2015 14:23:00 22.54 25.16 427.4 853.6 0.00425 0
6 2/2/2015 14:23:59 22.54 25.14 421.8 845.6 0.00425 0
7 2/2/2015 14:25:00 22.525 25.1 426 834.25 0.00424 0
8 2/2/2015 14:25:59 22.5 25.04 421.8 826.4 0.00422 0
9 2/2/2015 14:26:59 22.5 25 419 819.6 0.00421 0
10 2/2/2015 14:28:00 22.5 25 419 829.6 0.00421 0
18528 2/18/2015 9:10:00 22.34 26.145 438 1068 0.00436 1
18529 2/18/2015 9:10:59 22.29 26.1425 438 1061.75 0.00435 1
18530 2/18/2015 9:11:59 22.29 25.7 441 1045.67 0.00428 1
18531 2/18/2015 9:13:00 22.29 26.22 438 1041.5 0.00436 1
18532 2/18/2015 9:14:00 22.29 26.2425 442.5 1051 0.00437 1
18533 2/18/2015 9:15:00 22.29 26.125 438 1059.25 0.00435 1
18534 2/18/2015 9:16:00 22.315 26.2 438 1065 0.00437 1
18535 2/18/2015 9:16:59 22.29 26.175 442.5 1064.75 0.00436 1
18536 2/18/2015 9:17:59 22.29 26.1 441 1054.67 0.00434 1
18537 2/18/2015 9:19:00 22.29 25.995 447 1042.5 0.00433 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Program Menu Tampilan (m.file)
function varargout = hunian(varargin)
% HUNIAN MATLAB code for hunian.fig
% HUNIAN, by itself, creates a new HUNIAN or raises the
existing
% singleton*.
%
% H = HUNIAN returns the handle to a new HUNIAN or the handle
to
% the existing singleton*.
%
% HUNIAN('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in HUNIAN.M with the given input
arguments.
%
% HUNIAN('Property','Value',...) creates a new HUNIAN or
raises the
% existing singleton*. Starting from the left, property
value pairs are
% applied to the GUI before hunian_OpeningFcn gets called.
An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to hunian_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help hunian
% Last Modified by GUIDE v2.5 04-Jul-2020 19:10:37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @hunian_OpeningFcn, ...
'gui_OutputFcn', @hunian_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before hunian is made visible.
function hunian_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to hunian (see VARARGIN)
% Choose default command line output for hunian
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes hunian wait for user response (see UIRESUME)
% uiwait(handles.figure1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
% --- Outputs from this function are returned to the command line.
function varargout = hunian_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
function layer1_Callback(hObject, eventdata, handles)
% hObject handle to layer1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of layer1 as text
% str2double(get(hObject,'String')) returns contents of
layer1 as a double
% --- Executes during object creation, after setting all
properties.
function layer1_CreateFcn(hObject, eventdata, handles)
% hObject handle to layer1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function layer2_Callback(hObject, eventdata, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
% hObject handle to layer2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of layer2 as text
% str2double(get(hObject,'String')) returns contents of
layer2 as a double
% --- Executes during object creation, after setting all
properties.
function layer2_CreateFcn(hObject, eventdata, handles)
% hObject handle to layer2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function jumlahiterasi_Callback(hObject, eventdata, handles)
% hObject handle to jumlahiterasi (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumlahiterasi
as text
% str2double(get(hObject,'String')) returns contents of
jumlahiterasi as a double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
% --- Executes during object creation, after setting all
properties.
function jumlahiterasi_CreateFcn(hObject, eventdata, handles)
% hObject handle to jumlahiterasi (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function mse_Callback(hObject, eventdata, handles)
% hObject handle to mse (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of mse as text
% str2double(get(hObject,'String')) returns contents of mse
as a double
% --- Executes during object creation, after setting all
properties.
function mse_CreateFcn(hObject, eventdata, handles)
% hObject handle to mse (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in proses.
function proses_Callback(hObject, eventdata, handles)
% hObject handle to proses (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
a=str2num(get(handles.layer1,'string'));
b=str2num(get(handles.layer2,'string'));
c=str2num(get(handles.jumlahiterasi,'string'));
d=str2num(get(handles.mse,'string'));
%Input Data
fid=fopen('hunian.csv');
data=textscan(fid,'%f%f%f%f%f%f%f','delimiter',',');
fclose(fid);
%Membuat matriks atribut dan Matriks Target
P=[data{1} data{2} data{3} data{4} data{5}];
T=double(data{6});
%Nilai Maksimum dan Nilai Minimum
Maks=max(P);
Mini=min(P);
%Normalisasi Data Max-Min
P1=((10.*(P(:,1)-(ones(18537,1).*Maks(1))))./(Maks(1)-
Mini(1)))+(ones(18537,1));
P2=((10.*(P(:,2)-(ones(18537,1).*Maks(2))))./(Maks(2)-
Mini(2)))+(ones(18537,1));
P3=((10.*(P(:,3)-(ones(18537,1).*Maks(3))))./(Maks(3)-
Mini(3)))+(ones(18537,1));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
P4=((10.*(P(:,4)-(ones(18537,1).*Maks(4))))./(Maks(4)-
Mini(4)))+(ones(18537,1));
P5=((10.*(P(:,5)-(ones(18537,1).*Maks(5))))./(Maks(5)-
Mini(5)))+(ones(18537,1));
%Matriks atribut setelah dinormalisasi
P_Normal=[P1 P2 P3 P4 P5];
%k-Fold cross Validation
P_Normal=P_Normal';
T=T';
P=P';
jumdat=length(T);
bagi=round(jumdat*(1/3));
A1=P_Normal(:,1:bagi);
A2=P_Normal(:,bagi+1:2*bagi);
A3=P_Normal(:,2*bagi+1:end);
T1=T(:,1:bagi);
T2=T(:,bagi+1:2*bagi);
T3=T(:,2*bagi+1:end);
Latih1=[A1 A2];
Latih2=[A2 A3];
Latih3=[A3 A1];
Uji1=[A3];
Uji2=[A1];
Uji3=[A2];
Target1=[T1 T2];
Target2=[T2 T3];
Target3=[T3 T1];
T_Uji1=[T3];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
T_Uji2=[T1];
T_Uji3=[T2];
%Proses Pelatihan dan Pengujian
H=zeros(2,2);
if b==0
for j=1:3;
if j==1
Latih=Latih1;
Target=Target1;
Uji=Uji1;
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
elseif j==2
Latih=Latih2;
Target=Target2;
Uji=Uji2;
T_Uji=T_Uji2;
rand('seed',491218382);
net=newff(Latih,Target,[a],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
else
Latih=Latih3;
Target=Target3;
Uji=Uji3;
T_Uji=T_Uji3;
rand('seed',491218382);
net=newff(Latih,Target,[a],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
end
end
%Menampilkan Hasil
H;
aku=(sum(diag(H))/sum(sum(H)))*100;
e=sum(diag(H));
f=sum(sum(H));
else
for j=1:3;
if j==1
Latih=Latih1;
Target=Target1;
Uji=Uji1;
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a,b],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
elseif j==2
Latih=Latih2;
Target=Target2;
Uji=Uji2;
T_Uji=T_Uji2;
rand('seed',491218382);
net=newff(Latih,Target,[a,b],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
else
Latih=Latih3;
Target=Target3;
Uji=Uji3;
T_Uji=T_Uji3;
rand('seed',491218382);
net=newff(Latih,Target,[a,b],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
H=H+hasilsem;
end
end
%Menampilkan Hasil
H;
aku=(sum(diag(H))/sum(sum(H)))*100;
e=sum(diag(H));
f=sum(sum(H));
end
set(handles.output2,'string',e);
set(handles.output3,'string',f);
set(handles.output4,'string',aku);
function temperatur_Callback(hObject, eventdata, handles)
% hObject handle to temperatur (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of temperatur as
text
% str2double(get(hObject,'String')) returns contents of
temperatur as a double
% --- Executes during object creation, after setting all
properties.
function temperatur_CreateFcn(hObject, eventdata, handles)
% hObject handle to temperatur (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function kelembaban_Callback(hObject, eventdata, handles)
% hObject handle to kelembaban (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of kelembaban as
text
% str2double(get(hObject,'String')) returns contents of
kelembaban as a double
% --- Executes during object creation, after setting all
properties.
function kelembaban_CreateFcn(hObject, eventdata, handles)
% hObject handle to kelembaban (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function cahaya_Callback(hObject, eventdata, handles)
% hObject handle to cahaya (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
% Hints: get(hObject,'String') returns contents of cahaya as text
% str2double(get(hObject,'String')) returns contents of
cahaya as a double
% --- Executes during object creation, after setting all
properties.
function cahaya_CreateFcn(hObject, eventdata, handles)
% hObject handle to cahaya (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function co2_Callback(hObject, eventdata, handles)
% hObject handle to co2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of co2 as text
% str2double(get(hObject,'String')) returns contents of co2
as a double
% --- Executes during object creation, after setting all
properties.
function co2_CreateFcn(hObject, eventdata, handles)
% hObject handle to co2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function rasio_Callback(hObject, eventdata, handles)
% hObject handle to rasio (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of rasio as text
% str2double(get(hObject,'String')) returns contents of
rasio as a double
% --- Executes during object creation, after setting all
properties.
function rasio_CreateFcn(hObject, eventdata, handles)
% hObject handle to rasio (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
% --- Executes on button press in Proses2.
function Proses2_Callback(hObject, eventdata, handles)
% hObject handle to Proses2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
a=str2num(get(handles.layer1,'string'));
b=str2num(get(handles.layer2,'string'));
c=str2num(get(handles.jumlahiterasi,'string'));
d=str2num(get(handles.mse,'string'));
%Input Data
fid=fopen('hunian.csv');
data=textscan(fid,'%f%f%f%f%f%f%f','delimiter',',');
fclose(fid);
%Membuat matriks atribut dan Matriks Target
P=[data{1} data{2} data{3} data{4} data{5}];
T=double(data{6});
%Nilai Maksimum dan Nilai Minimum
Maks=max(P);
Mini=min(P);
%Normalisasi Data MAx-Min
P1=((10.*(P(:,1)-(ones(18537,1).*Maks(1))))./(Maks(1)-
Mini(1)))+(ones(18537,1));
P2=((10.*(P(:,2)-(ones(18537,1).*Maks(2))))./(Maks(2)-
Mini(2)))+(ones(18537,1));
P3=((10.*(P(:,3)-(ones(18537,1).*Maks(3))))./(Maks(3)-
Mini(3)))+(ones(18537,1));
P4=((10.*(P(:,4)-(ones(18537,1).*Maks(4))))./(Maks(4)-
Mini(4)))+(ones(18537,1));
P5=((10.*(P(:,5)-(ones(18537,1).*Maks(5))))./(Maks(5)-
Mini(5)))+(ones(18537,1));
%Matriks atribut setelah dinormalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
P_Normal=[P1 P2 P3 P4 P5];
%k-Fold cross Validation
P_Normal=P_Normal';
T=T';
P=P';
jumdat=length(T);
bagi=round(jumdat*(1/3));
A1=P_Normal(:,1:bagi);
A2=P_Normal(:,bagi+1:2*bagi);
A3=P_Normal(:,2*bagi+1:end);
T1=T(:,1:bagi);
T2=T(:,bagi+1:2*bagi);
T3=T(:,2*bagi+1:end);
Latih1=[A1 A2];
Latih2=[A2 A3];
Latih3=[A3 A1];
Uji1=[A3];
Uji2=[A1];
Uji3=[A2];
Target1=[T1 T2];
Target2=[T2 T3];
Target3=[T3 T1];
T_Uji1=[T3];
T_Uji2=[T1];
T_Uji3=[T2];
%Proses Pengujian Data Tunggal
if b==0
Latih=Latih1;
Target=Target1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Uji=Uji1;
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
else
Latih=Latih1;
Target=Target1;
Uji=Uji1;
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a,b],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=c;
net.trainParam.lr=0.01;
net.trainParam.goal=d;
[net,tr]=train(net,Latih,Target);
end
v1=str2num(get(handles.temperatur,'string'));
v2=str2num(get(handles.kelembaban,'string'));
v3=str2num(get(handles.cahaya,'string'));
v4=str2num(get(handles.co2,'string'));
v5=str2num(get(handles.rasio,'string'));
V=[v1 v2 v3 v4 v5];
v1=((10.*(P(:,1)-Maks(1)))./(Maks(1)-Mini(1)))+1;
v2=((10.*(P(:,1)-Maks(2)))./(Maks(2)-Mini(2)))+1;
v3=((10.*(P(:,1)-Maks(3)))./(Maks(3)-Mini(3)))+1;
v4=((10.*(P(:,1)-Maks(4)))./(Maks(4)-Mini(4)))+1;
v5=((10.*(P(:,1)-Maks(5)))./(Maks(5)-Mini(5)))+1;
V_Normal=[v1 v2 v3 v4 v5];
V_Normal=V_Normal';
luar=sim(net,V_Normal);
ident=round(luar);
if ident==0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
i=['Ruang Kerja Tidak Berpenghuni'];
elseif ident==1
i=['Ruang Kerja Berpenghuni'];
else
i=['Error'];
end
set(handles.output5,'string',i);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
Program Simulasi Satu Lapisan Tersembunyi (m.file)
%Input Data
fid=fopen('hunian.csv');
data=textscan(fid,'%f%f%f%f%f%f%f','delimiter',',');
fclose(fid);
%Membuat matriks atribut dan Matriks Target
P=[data{1} data{2} data{3} data{4} data{5}];
T=double(data{6});
%Nilai Maksimum dan Nilai Minimum
Maks=max(P);
Mini=min(P);
%Normalisasi Data MAx-Min
P1=((10.*(P(:,1)-(ones(18537,1).*Maks(1))))./(Maks(1)-
Mini(1)))+(ones(18537,1));
P2=((10.*(P(:,2)-(ones(18537,1).*Maks(2))))./(Maks(2)-
Mini(2)))+(ones(18537,1));
P3=((10.*(P(:,3)-(ones(18537,1).*Maks(3))))./(Maks(3)-
Mini(3)))+(ones(18537,1));
P4=((10.*(P(:,4)-(ones(18537,1).*Maks(4))))./(Maks(4)-
Mini(4)))+(ones(18537,1));
P5=((10.*(P(:,5)-(ones(18537,1).*Maks(5))))./(Maks(5)-
Mini(5)))+(ones(18537,1));
%Matriks atribut setelah dinormalisasi
P_Normal=[P1 P2 P3 P4 P5];
%k-Fold cross Validation
P_Normal=P_Normal';
T=T';
P=P';
jumdat=length(T);
bagi=round(jumdat*(1/3));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
A1=P_Normal(:,1:bagi);
A2=P_Normal(:,bagi+1:2*bagi);
A3=P_Normal(:,2*bagi+1:end);
T1=T(:,1:bagi);
T2=T(:,bagi+1:2*bagi);
T3=T(:,2*bagi+1:end);
Latih1=[A1 A2];
Latih2=[A2 A3];
Latih3=[A3 A1];
Uji1=[A3];
Uji2=[A1];
Uji3=[A2];
Target1=[T1 T2];
Target2=[T2 T3];
Target3=[T3 T1];
T_Uji1=[T3];
T_Uji2=[T1];
T_Uji3=[T2];
%Proses Pelatihan dan Pengujian
n=2:2:10;
a=2:2:10;
AK=[];
for k=1:length(a)
H=zeros(2,2);
for j=1:3;
if j==1
Latih=Latih1;
Target=Target1;
Uji=Uji1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=1000;
net.trainParam.lr=0.01;
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
elseif j==2
Latih=Latih2;
Target=Target2;
Uji=Uji2;
T_Uji=T_Uji2;
rand('seed',491218382);
net=newff(Latih,Target,[a(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=200;
net.trainParam.lr=0.01;
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
else
Latih=Latih3;
Target=Target3;
Uji=Uji3;
T_Uji=T_Uji3;
rand('seed',491218382);
net=newff(Latih,Target,[a(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=1000;
net.trainParam.lr=0.01;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
end
end
H;
aku=(sum(diag(H))/sum(sum(H)))*100;
AK=[AK aku];
display(['akurasi=' num2str(aku) ' persen']);
end
%Menampilkan Hasil
plot(n,AK)
grid on
hold on
plot(n,AK,'o')
xlabel('Jumlah Neuron Lapisan 1')
ylabel('Akurasi (%)')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Program Simulasi Dua Lapisan Tersembunyi (m.file)
%Input Data
fid=fopen('hunian.csv');
data=textscan(fid,'%f%f%f%f%f%f%f','delimiter',',');
fclose(fid);
%Membuat matriks atribut dan Matriks Target
P=[data{1} data{2} data{3} data{4} data{5}];
T=double(data{6});
%Nilai Maksimum dan Nilai Minimum
Maks=max(P);
Mini=min(P);
%Normalisasi Data MAx-Min
P1=((10.*(P(:,1)-(ones(18537,1).*Maks(1))))./(Maks(1)-
Mini(1)))+(ones(18537,1));
P2=((10.*(P(:,2)-(ones(18537,1).*Maks(2))))./(Maks(2)-
Mini(2)))+(ones(18537,1));
P3=((10.*(P(:,3)-(ones(18537,1).*Maks(3))))./(Maks(3)-
Mini(3)))+(ones(18537,1));
P4=((10.*(P(:,4)-(ones(18537,1).*Maks(4))))./(Maks(4)-
Mini(4)))+(ones(18537,1));
P5=((10.*(P(:,5)-(ones(18537,1).*Maks(5))))./(Maks(5)-
Mini(5)))+(ones(18537,1));
%Matriks atribut setelah dinormalisasi
P_Normal=[P1 P2 P3 P4 P5];
%k-Fold cross Validation
P_Normal=P_Normal';
T=T';
P=P';
jumdat=length(T);
bagi=round(jumdat*(1/3));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
A1=P_Normal(:,1:bagi);
A2=P_Normal(:,bagi+1:2*bagi);
A3=P_Normal(:,2*bagi+1:end);
T1=T(:,1:bagi);
T2=T(:,bagi+1:2*bagi);
T3=T(:,2*bagi+1:end);
Latih1=[A1 A2];
Latih2=[A2 A3];
Latih3=[A3 A1];
Uji1=[A3];
Uji2=[A1];
Uji3=[A2];
Target1=[T1 T2];
Target2=[T2 T3];
Target3=[T3 T1];
T_Uji1=[T3];
T_Uji2=[T1];
T_Uji3=[T2];
%Proses Pelatihan dan Pengujian
n=2:2:10;
a=2;
b=2:2:10;
AK=[];
for k=1:length(b)
H=zeros(2,2);
for j=1:3;
if j==1
Latih=Latih1;
Target=Target1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Uji=Uji1;
T_Uji=T_Uji1;
rand('seed',491218382);
net=newff(Latih,Target,[a,b(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=200;
net.trainParam.lr=0.01;
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
elseif j==2
Latih=Latih2;
Target=Target2;
Uji=Uji2;
T_Uji=T_Uji2;
rand('seed',491218382);
net=newff(Latih,Target,[a,b(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=200;
net.trainParam.lr=0.01;
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
else
Latih=Latih3;
Target=Target3;
Uji=Uji3;
T_Uji=T_Uji3;
rand('seed',491218382);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
net=newff(Latih,Target,[a,b(k)],{'purelin','tansig'},'traingd');
net=init(net);
net.trainParam.epochs=200;
net.trainParam.lr=0.01;
net.trainParam.goal=0.001;
[net,tr]=train(net,Latih,Target);
out=sim(net,Uji);
luaran=round(out);
hasilsem=confusionmat(T_Uji,luaran);
H=H+hasilsem;
end
end
H;
aku=(sum(diag(H))/sum(sum(H)))*100;
AK=[AK aku];
display(['akurasi=' num2str(aku) ' persen']);
end
%Menampilkan Hasil
plot(n,AK)
grid on
hold on
plot(n,AK,'o')
xlabel('Jumlah Neuron Lapisan 2')
ylabel('Akurasi (%)')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
Program Deteksi Outlier (Program menggunakan R)
Input Data > o20k <- read_excel("MATLAB/o20k.xlsx") > View(o20k) > attach(o20k)
Deteksi Outlier/Pencilan Setiap Variabel
1. Deteksi Outlier/Pencilan Variabel Temperature
> boxplot (Temperature, data = o20k,col = c("lightblue"), cex.main=1.5, main = "Boxplot Distribusi Temperature", ylab = "Temperature",cex.lab=1) > boxplot.stats(Temperature) $`stats` [1] 19.000 20.200 20.700 21.525 23.500 $n [1] 20560 $conf [1] 20.6854 20.7146
2. Deteksi Outlier/Pencilan Variabel Humidity
> boxplot (Humidity, data = o20k,col = c("lightblue"), cex.main=1.5, main = "Boxplot Distribusi Humidity", ylab = "Humidity",cex.lab=1) > boxplot.stats(Humidity) $`stats` [1] 16.745 24.500 27.290 31.290 39.500 $n [1] 20560 $conf [1] 27.21518 27.36482 $out numeric(0)
3. Deteksi Outlier/Pencilan Variabel Light
> boxplot (Light, data = o20k,col = c("lightblue"), cex.main=1.5, main = "Boxplot Distribusi Light", ylab = "Light",cex.lab=1) > boxplot.stats(Light) $`stats` [1] 0.0 0.0 0.0 301.0 752.5 $n [1] 20560 $conf [1] -3.316745 3.316745
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
4. Deteksi Outlier/Pencilan Variabel CO2
> boxplot (CO2, data = o20k,col = c("lightblue"), cex.main=1.5, main = "Boxplot Distribusi CO2", ylab = "CO2",cex.lab=1) > boxplot.stats(CO2) $`stats` [1] 412.7500 460.0000 565.4167 804.6667 1321.5000 $n [1] 20560 $conf [1] 561.6188 569.2146
5. Deteksi Outlier/Pencilan Variabel Humiditi Ratio
> boxplot (HumidityRatio, data = o20k,col = c("lightblue"), cex.main=1.5, main = "Boxplot Distribusi Humidity Ratio", ylab = "Humidity Ratio",cex.lab=1) > boxplot.stats(HumidityRatio) $`stats` [1] 0.002674127 0.003719022 0.004291895 0.004831766 0.006476013 $n [1] 20560 $conf [1] 0.004279633 0.004304156 $out numeric(0)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Gambar uji data baru
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI