MULTILAYER DENGAN PELATIHAN FEEDFORWARD
SKRIPSI
SISKA MELINWATI 061401040
PROGRAM STUDI SARJANA ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MULTILAYER DENGAN PELATIHAN FEEDFORWARD
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
SISKA MELINWATI 061401040
PROGRAM STUDI SARJANA ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS DAN PERANCANGAN APLIKASI
SISTEM PENDETEKSI GANGGUAN PADA JARINGAN KOMPUTER MENGGUNAKAN
MULTILAYER DENGAN PELATIHAN
FEEDFORWARD ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di Medan, 10 Januari 2011 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si, M.Kom Syahriol Sitorus, S.Si, MIT
Nip. NIP: 197103101997031004
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FMIPA USU Ketua,
PERNYATAAN
ANALISIS DAN PERANCANGAN APLIKASI SISTEM PENDETEKSI GANGGUAN JARINGAN KOMPUTER MENGGUNAKAN MULTILAYER
DENGAN PELATIHAN FEEDFORWARD
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 10 Januari 2011
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena kasih dan karuniaNya yang selalu menyertai penulis sehingga karya tulis ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Syahriol, S.Si, MIT dan Bapak Amer Sharif S.Si, M.Kom selaku pembimbing untuk menyelesaikan skripsi ini dan telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan karya tulis ini. Ucapan terimakasih juga penulis sampaikan kepada Prof. Dr. Muhammad Zarlis dan Syahril Efendi, S.Si, MIT selaku dosen penguji. Panduan ringkas, padat, dan profesional telah diberikan kepada penulis agar dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada ketua dan sekretaris Departemen ilmu komputer, Bapak Dr. Poltak Sihoming M.Kom dan Iu Maya Silvi Lydia B.Sc, M.Sc. Panduan ringkas, padat dan propesional telah diberikan kepada penulis agar dapat menyelesaikan tugas akhir ini. Ucapan terimakasih juga di tujukan kepada Dekan dan Pembantu Dekan Fakultas Matematikan dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, serta dosen serta para pegawai pada Departemen Ilmu Komputer dan FMIPA USU,
Tidak lupa juga penulis ucapkan terima kasih yang sebesar-besarnya kepada kedua Orangtuaku Ibu T. Marpaung dan Bapak A.B. Sitorus yang selalu memberikan cinta kasihnya dan dukungan, baik secara materil dan spiritual. Buat saudara-saudara penulis Bang Royles Toni Sitorus beserta Kak Hotmauli Simanjuntak, Bang Agus Santoso Sitorus dan Bang Pahotan Sumardi Sitorus terima kasih atas perhatian dan dukungan serta motivasi yang diberikan kepada penulis.
ABSTRAK
Deteksi intrusi jaringan komputer dapat di lakukan dengan memanfaatkan teknologi Jaringan Syaraf Tiruan (JST), yang berfungsi seperti otak manusia arsitektur multilayer feedforward dan algoritma pembelajaran Backpropagation. Arsitektur multilayer terdiri atas layer input, hidden layer dan output. Di mana setiap later dapat terdiri dari satu atau lebih neuron. Sinyal input berupa variabel nilai dari data intrusi yang telah dinormalisasi sehingga memghasilkan antara nilai 0 dan 1. Dari hasil pengujian dapat di simpulkan bahwa pemilihan parameter dan bobot yang dapat digunakan untuk deteksi intrusi ditentukan oleh hasil training, jika tingkat error yang diperoleh minimum maka parameter dan bobot hasil training akan di pakai untuk mendeteksi intrusion. Hasil training menunjukkan bahwa dari target error 1x10-6 hasil terbaik yang diperoleh adalah tingkat error sebesar (9.28x10-7) untuk satu hidden layer dengan 15 neuron. Tingkat error tersebut dicapai dalam waktu 1 detik dan jumlah iterasi sebanyak 12 epoch. Simulasi menggunakan satu hidden dengan 15 neuron tidak membuat performance menjadi lebih baik. Sedang untuk 50 neuron, tingkat error
ANALYSIS AND DESIGN OF COMPUTER NETWORKS INTRUSION-DETECTION USING MULTILAYER FEEDFORWARD ARTIFICIAL NEURAL
NETWORK
WITH BACKPROPAGATION TRAINING
ABSTRACT
Intrusion detection in computer networks may be achived by utilizing Artificial Neural Networks (ANN), which serves as a model the human brain with multilayer feedforward architecture and backpropagation training algorithm. This architecture consists of an input layer, one or more hidden layer, and output layer where each layer may consists of one or more neurons. Input signals are obtained from intrusion data which where normalized to yield values between 0 and 1. From the test results we may concluded that the parameters and weights for intrusion detection are determined by the training results, if the error level achieved is minimum then the parameters and weights from the training will be used for intrusion. Training results indicated that for a target error of 1x109-7, the minimum error level which can be achieved was (9.28x10 -7
DAFTAR ISI
1.7 Sistematika Penulisan 3
Bab 2 Tinjauan Pustaka 5
2.4 Arsitektur Neural Network 10
2.4.1 Jaringan Syaraf Lapisan Tunggal 11
2.6 Training Pada Artificial Neural Network 18
2.6.1 Supervised Training 18
2.7 Perceptron 19 2.7.1 Jaringan dengan Threshold dan Fungsi Aktivasi 19
2.7.2 Algoritma Feedforward 21
2.7.3 Perceptron Lapis Ganda 23
2.8 Ilustrasi Proses feedforward 23
2.8.1 Ilustrasi Proses Alur Maju 25
2.8.2 Algoritma Backpropagation dalam Jaringan Syaraf Tiruan 27
Bab 3 Analisis dan Perancangan 31
3.1 Analisis 31
3.2 Persiapan Input Data 32
3.2.1 Membaca Input Data 32
3.2.2 Normalisasi Data 33
3.3 jaringan Feedforward 34
3.3.1 Membangun Suatu Jaringan Alur Maju Feedforward 36
3.4 Pelatihan dan Pembelajaran 38
3.4.1 Simulasi dan Pembelajaran 38
3.4.2 verifikasi Hasil dan Data Pelatihan 40
Bab 4 Implementasi dan pengujian 40
4.1 Implementasi dan Pengujian 40
DAFTAR TABEL
Halaman
Tabel 3.1 Data Intrusion 32
Tabel 3.2 Argumen Untuk tiap Lapis 37
Tabel 3.3 Sintaks 38
DAFTAR GAMBAR
Gambar 2.16 Jaringan Syaraf Lapisan Tunggal dengan satu Output dan dua Input 19
Gambar 2.17 Jaringan Lapis Tunggal Merepresentasikan Suatu Fungsi Garis Pemisah 21
Gambar 2.18 Jaringan Topologi umum Feedforward dengan Multilayers 21
Gambar 2.19 Proses Pengujian pada Perceptron lapis Ganda (Multilayers) 23
Gambar 2.20 Model Sederhana Jaringan dengan dua Input dan satu output Dengan Total Enam Neuron 24
Gambar 3.7 Arsitektur Multilayer Menggunakan Pelatihan Feedforward 38
Gambar 4.2 Grafik dari Kode A02 42
Gambar 4.3 Grafik dari Kode A03 43
Gambar 4.4 Grafik dari Kode A04 44
Gambar 4.5 Grafik dari Kode A05 46
Gambar 4.6 Grafik dari Kode A06 47
Gambar 4.7 Grafik dari Kode A07 48
Gambar 4.8 Grafik dari Kode A08 49
Gambar 4.9 Grafik dari Kode A09 50
Gambar 4.10 Pengujian Konfigurasi A01 51
Gambar 4.11 Pengujian Konfigurasi A02 52
Gambar 4.12 Pengujian Konfigurasi A03 53
Gambar 4.13 Pengujian Konfigurasi A04 54
Gambar 4.14 Pengujian Konfigurasi A05 55
Gambar 4.15 Pengujian Konfigurasi A02 56
Gambar 4.16 Pengujian Konfigurasi A03 57
Gambar 4.17 Pengujian Konfigurasi A04 58
ABSTRAK
Deteksi intrusi jaringan komputer dapat di lakukan dengan memanfaatkan teknologi Jaringan Syaraf Tiruan (JST), yang berfungsi seperti otak manusia arsitektur multilayer feedforward dan algoritma pembelajaran Backpropagation. Arsitektur multilayer terdiri atas layer input, hidden layer dan output. Di mana setiap later dapat terdiri dari satu atau lebih neuron. Sinyal input berupa variabel nilai dari data intrusi yang telah dinormalisasi sehingga memghasilkan antara nilai 0 dan 1. Dari hasil pengujian dapat di simpulkan bahwa pemilihan parameter dan bobot yang dapat digunakan untuk deteksi intrusi ditentukan oleh hasil training, jika tingkat error yang diperoleh minimum maka parameter dan bobot hasil training akan di pakai untuk mendeteksi intrusion. Hasil training menunjukkan bahwa dari target error 1x10-6 hasil terbaik yang diperoleh adalah tingkat error sebesar (9.28x10-7) untuk satu hidden layer dengan 15 neuron. Tingkat error tersebut dicapai dalam waktu 1 detik dan jumlah iterasi sebanyak 12 epoch. Simulasi menggunakan satu hidden dengan 15 neuron tidak membuat performance menjadi lebih baik. Sedang untuk 50 neuron, tingkat error
ANALYSIS AND DESIGN OF COMPUTER NETWORKS INTRUSION-DETECTION USING MULTILAYER FEEDFORWARD ARTIFICIAL NEURAL
NETWORK
WITH BACKPROPAGATION TRAINING
ABSTRACT
Intrusion detection in computer networks may be achived by utilizing Artificial Neural Networks (ANN), which serves as a model the human brain with multilayer feedforward architecture and backpropagation training algorithm. This architecture consists of an input layer, one or more hidden layer, and output layer where each layer may consists of one or more neurons. Input signals are obtained from intrusion data which where normalized to yield values between 0 and 1. From the test results we may concluded that the parameters and weights for intrusion detection are determined by the training results, if the error level achieved is minimum then the parameters and weights from the training will be used for intrusion. Training results indicated that for a target error of 1x109-7, the minimum error level which can be achieved was (9.28x10 -7
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Dalam sebuah jaringan komputer, keamanan dalam pengiriman serta penerimaan data sangat
penting untuk menjamin bahwa data yang dikirim tidak jatuh ke pihak ketiga, terutama jika data
tersebut bersifat rahasia. Untuk itu perlu dilakukan implementasi metode-metode pengamanan
data pada jaringan. Banyak metode yang dapat di implementasikan, seperti penggunaan tanda
tangan digital, pendeteksi gangguan, serta enkripsi ataupun pemasangan firewall (Tanenbaum,
2003).
Pada umumnya sistem pertahanan aktivitas gangguan komputer yang ada saat ini
dilakukan secara manual oleh administrator. Hal ini mengakibatkan integritas sistem bergantung
pada ketersediaan dan kecepatan administrator dalam merespon gangguan yang terjadi. Apabila
penyusup berhasil menyerang sistem jaringan komputer maka sistem tersebut akan mengalami
malfungsi, sehingga administrator tidak dapat mengakses sistem secara remote dan tidak dapat
mengendalikan sistem sebagaimana biasanya. Untuk mengatasi masalah tersebut dibutuhkan
suatu tool yang mampu mendeteksi lebih awal terjadinya penyusupan atau kegiatan yang
merugikan suatu jaringan. Intrusion Detection System merupakan salah satu sistem yang dapat
mengatasi serangan yang masuk pada jaringan komputer.
Algoritma jaringan syaraf tiruan dapat digunakan sebagai salah satu pendeteksi karena
terdiri dari unit-unit yang saling berhubungan yang dapat dikelompokkan menjadi layer-layer.
menerima n buah masukan dan mengeluarkan sebuah nilai (Output). Nilai tersebut merupakan
hasil perhitungan yang disesuaikan dengan jenis unit. Sistem pembelajaran pada jaringan syaraf
tiruan (sering disebut pembobotan jaringan Syaraf tiruan) dilakukan dengan cara mencari bobot
yang sesuai untuk masing-masing jalur antara unit pada layer tertentu dengan unit pada layer
lainnya, sehingga dengan bobot tersebut jaringan syaraf tiruan dapat mewakili fungsi target yang
ingin dicapai (Mitchell, Tom M. 1997).
1.2Rumusan Masalah
Yang menjadi rumusan permasalahan ini adalah bagimana cara kerja jaringan syaraf tiruan untuk
mengenali jenis serangan berdasarkan gejala-gejala yang diberikan oleh penyerang berupa
intrusion (virus).
1.3 Batasan Masalah
Adapun yang menjadi batasan masalahnya adalah:
1. Arsitektur yang digunkan adalah multilayer feedforward dengan pelatihan Backpropagation
2. Output yang diperoleh ditampilakan menggunakan MATLAB.
3. Data Intrusion di ambil dari KDD Cup 99 dan disajikan dalam bentuk Ascii file.
4. Analisis dan perancangan menggunakan Multilayer feedforward dengan pelatihan
backpropogation.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah membuat suatu perangkat lunak yang dapat mengaplikasikan
jaringan syaraf tiruan dalam mengenali jenis serangan (intrusion) berupa virus. Hal ini
maupun organisasi. Kiranya dengan adanya aplikasi ini pengguna dapat mengenali setiap
ancaman keamanan yang sering menyerang jaringan terutama virus.
1.5 Manfaat Penelitian
Dengan perangkat lunak ini diharapkan dapat mendeteksi serangan maupun aktivitas jaringan
yang mencurigakan, yang mampu berinteraksi dengan administrator (pengguna), sehingga dapat
mengenali jenis serangan yang terjadi pada jaringan komputer yang berbentuk penyusupan
(intrusion). Dengan dilakukannya penelitian ini penulis maupun pembaca dapat mengenali jenis
serangan (intrusion) yang ditimbulkan serta dapat mempelajari cara kerja dari jaringan syaraf
tiruan tersebut dengan menggunkan beberapa pelatihan.
1.6 Metode Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah:
1. Studi literatur ini dilakukan dengan mempelajari buku-buku referensi atau sumber-sumber
yang berkaitan dengan skripsi ini, baik dari textbook maupun internet.
2. Menganalisis gangguan (Intrusi) jaringan komputer mengguanakan multilayer feedforward
dengan pelatihan Backpropagation.
3. Implementasi Program (Coding) menggunakan bahasa perograman MATLAB.
4. Penyusunan laporan serta mengambil kesimpulan berdasarkan dari hasil penelitian
.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:
BAB 1: PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Analisis dan
feedforward dengan pelatihan Backpropagation”, rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2: LANDASAN TEORI
Bab ini akan membahas mengenai teori-teori yang berkaitan dengan gangguan jaringan
komputer berupa serangan Intrusion, metode pembelajaran Backpropagation serta menganalisis
arsitektur multilayer feedforward.
BAB 3: ANALISIS DAN PERANCANGAN
Bab ini akan membahas mengenai metode yang digunakan beserta cara kerjanya. Selain itu juga
terdapat perancangan antar muka (Interface) dari aplikasi pendeteksi gangguan jaringan
komputer menggunakan multilayer feedforward dengan pelatihan feedforward.
BAB 4: IMPLEMENTASI DAN PENGGUANAAN
Bab ini membahas tentang spesifikasi kebutuhan perangkat keras (hardware) dan kebutuhan
perangkat lunak (software) dari sitem, serta cara kerja dan tampilan dari perangkat lunak aplikasi
pendeteksi gangguan jaringan komputer.
BAB 5: KESIMPULAN DAN SARAN
Bab ini akan memuat kesimpulan isi dari analisis hasil kerja sebelumnya dan saran-saran dari
BAB 2
LANDASAN TEORI
2.1 Analisis Jaringan
Jaringan komputer adalah sekumpulan komputer, printer dan peralatan lainnya yang terhubung
dalam satu kesatuan. Informasi dan data yang bergerak melalui kabel-kabel atau tanpa kabel
sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data,
sampai mencetak data dengan bantuan printer yang sama dan bersama-sama menggunakan
hardware/software yang terhubung dengan jaringan. Setiap komputer, printer atau periferal yang
terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua,
puluhan, ribuan atau bahkan jutaan node. Network analyzer atau packet sniffer di desain untuk
mengontrol jalur lintasan pada jaringan. Fungsi lain dapat juga digunakan untuk memonitor
jaringan, melakukan tes diagnosa, ataupun pemecahan masalah.
Jumlah lalu lintas sangat tergantung pada posisi komputer dalam jaringan. Klien dari
sistem terdalam pada sebuah cabang dalam suatu jaringan hanya dapat melihat sebagian kecil
segmen lalu lintas jaringan, sedangkan yang domain server utama dapat melihat hampir semua
hal.
2.2 TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) adalah pasangan protokol yang
diwajibkan untuk berkomunikasi antar host yang terhubung pada internet. Model TCP/IP
tersusun oleh empat layer yang mengacu pada model Open System Interconnection (OSI), yaitu
Network Interface and Hardware Layer, Internetwork Layer, Transport Layer, dan Application
Layer. Seperti pada gambar 2.1 yang menunjukkan proses yang terlibat pada komunikasi
host-to-host.
Gambar 2.1 Model Internet TCP/IP
2.2.2 Paket
Gambar 2.2 menunjukkan contoh rincian paket HTTP. Kolom header dapat mempunyai panjang
yang berbeda dari yang digambarkan, berdasarkan pilihan protokol dan header. Bagian yang
pertama enkapsulasi header pada link layer, jika Ethernet maka akan dipresentasikan oleh 14
byte dari frame Ethernet header dengan kolom sumber dan tujuan alamat MAC. Selanjutnya,
terdapat header datagram IP, yang memuat minimal 20 bytes jika tidak ada pilihan IP yang
mengikutinya, seperti header protocol yang terenkapsulasi (TCP, UDP, ICMP, dan lain
sebagainya) yang ukurannya bekisar dari 8 byte hingga lebih dari 20 byte untuk header TCP
dengan pilihan. Tidak semua data dapat di kumpulkan besarnya sesuai dengan snaplen yang
Ethernet frame
)P datagram
Embedded protocol TCP, UDP, )CPM
– bytes – bytes – bytes – bytes bytes
Gambar 2.2 Contoh paket HTTP
2.2.3 Koneksi TCP/IP
Sebuah koneksi TCP selalu dimulai dengan three-way handshake. Setiap sesi diawali dengan
paket SYN akhirnya menjadi sebuah paket ACK yang menyatakan seluruh sesi telah dibangun.
Sambungan saat ini telah dibuat dan mampu untuk mulai mengirim data dalam keadaan OPEN.
Komunikasi yang berlangsung antara sumber dan tujuan yang telah diijinkan sampai salah
satunya memberikan paket FIN, atau paket RST, atau sambungan yang telah time out. Semua
protokol internet yang perlu pembentukan sambungan di bangun diatas protokol TCP.
2.2.4 Pendeteksi Intrusi Jaringan (Intrusion Detection System/IDS)
Intrusion didefinisikan sebagai kegiatan yang bersifat anomaly, incorrect, inappropriate yang
terjadi pada jaringanatau di host. Sedangkan perangkat yang digunakan untuk mendeteksi segala
bentuk penyusupan adalah Intrusion Detection System (IDS) yang memeriksa secara automatic
audit logs dan event system secara real time. Intrusion Detection System dapat mengamati segala
macam pelanggaran dari kerahasiaan (confidentiality), integritas (integrity), dan ketersediaan
(availability) suatu sistem.
Kerahasiaan (confidentiality), di mana object tidak dibocorkan kepada subjek yang tidak
seharusnya berhak terhadap objek tersebut, atau sering disebut tidak authorize.
1. Integritas (Integrity), bahwa objek tetap orisinil atau tetap terjaga keasliannya, dengan
tidak dimodifikasi dalam perjalanannya dari sumber menuju penerimanya.
2. Ketersediaan (Availability), dimana user yang mempunyai hak akses atau authorized
users diberi akses tepat waktu dan tidak mengalami kendala apapun.
Serangan yang dikenali oleh Intrusion Detection System dapat berasal dari koneksi external
seperti ancaman dari internet atau jaringan partner, virus, code berbahaya, subject internal yang
mencoba untuk melakukan kegiatan yang tidak di authorisasi. Pada penulisan skripsi ini
Intrusion Detection System digunakan untuk mendeteksi segala macam kegiatan yang tidak di
authorisasi ataupun kegiatan yang berbahaya lainnya, untuk mempersingkat waktu pengerjaan
data yang digunakan merupakan data yang telah dikelompokkan yang berasal dari kdd cup.
Intrusion Detection System memeriksa semua kegiatan traffic jaringan, inbound dan outbound
dan mengidentifikasi pola yang mencurigakan yang mencoba memasuki sistem atau yang
menyerang sistem. Intrusion Detection System bisa membantu anda dalam hal berikut ini:
1. Secara aktif mengamati segala macam kegiatan yang mencurigakan
2. Memeriksa audit logs dengan sangat cermat dan seksama
3. Mengirim alert kepada administrator saat kejadian khusus di deteksi
4. Mengunci file-file penting atau mengunci kemampuannya agar tidak dapat dikuasai oleh
5. Melacak segala bentuk penyusupan yang bersifat cepat maupun lambat
6. Memberi tanda (informasi) pada saat serangan ditemukan
7. Mengindentifikasi asal mulanya terjadi penyusup
8. Melacak lokasi dari logical maupun physical penyusup
9. Terminasi atau interupsi segala macam percobaan penyusupan dan serangan
10.Melakukan konfigurasi ulang router dan firewall untuk mencegah pengulangan dari
serangan yang berhasil diketemukan / dideteksi.
Kemampuan Intrusion Detection System untuk menghentikan serangan yang sedang
berlangsung atau pencegahan serangan dimasa mendatang. Karenanya suatu Intrusion Detection
System seharusnya dianggap bagian dari komponen yang membentuk suatu sistem keamanan
yang sangat solid untuk melindungi suatu jaringan. Keamanan secara fisik dan logical access
control merupakan komponen yang penting. Pencegahan terhadap penyusupan memerlukan
pemeliharaan yang mencukupi dari suatu system keamanan secara keseluruhan.
2.3Model Neuron
2.3.1 Neuron Biologis
Menurut Fausett, sebuah neuron pada neural network dianalogikan sebagai neuron biologis di
mana sebuah neuron biologis memiliki 3 tipe komponen yang menjadi bagian dalam memahami
artificial neuron yaitu: dendrit, soma dan axon. Dendrit biasanya mendapatkan sinyal-sinyal dari
neuron lain, sinyal itu berupa impuls elektrik yang ditransmisikan melalui sebuah synaptic gap
dengan bantuan proses kimia. Proses kimia inilah yang memodifikasi sinyal masuk sehingga
proses kimia erat kaitanya dengan fungsi aktivasi pada neural network. Komponen kedua, soma
atau cell body, adalah jumlah dari sinyal masuk. Di mana soma ini diperoleh dari proses aktivasi
dendrit yang ada melalui jalur yang dikenal dengan axon. Jalur ini pada neural network
disimbolkan dengan weight, di mana weight inilah yang membedakan nilai koneksi dari setiap
Gambar 2.4 Permodelan Neuron Biologis
Menurut (Fausett), beberapa fitur utama pada element pemrosesan pada artificial neural network
di dasari properti yang dimiliki oleh neuron biologis diantaranya :
1. Element pemrosesan menerima banyak sinyal.
2. Sinyal dapat dimodifikasi berdasarkan weight yang dimiliki pada synapse penerima
3. Elemen pemrosesan menjumlahkan semua input yang telah diberi bobot
4. Dalam keadaan tepat (input suficient), neuron mentransmisikan sebuah output tunggal.
5. Output dari neuron tertentu dapat menuju banyak neuron-neuron yang lain.
Fitur-fitur lain seperti :
1. Informasi pemrosesan bersifat lokal (walaupun ada komponen lain seperti pengaruh
2. Memori yang ada bersifat terdistribusi :
• Memory long-term berada pada synapses neuron atau weight
• Memory short-term berkorespondensi dengan sinyal yang dikirimkan dari neuron-neuron lain
3. Kekuatan synapse dapat berubah seiring pengalaman
4. Neuron transmitter untuk synapses dapat berupa excitatory atau inhibitory.
2.4 Arsitektur dari Neural Network
Menurut (Fausset), seringkali neuron di visualiasikan ke dalam bentuk layer, di mana
neuron-neuron yang berada pada layer yang sama memiliki perilaku yang sama. Faktor penentu perilaku
dari neuron ini adalah fungsi aktivasi dan pola dari weight koneksinya sehingga neuron tersebut
dapat mengirim dan menerima sinyal. Dalam setiap layer, neuron biasanya memiliki fungsi
aktivasi yang sama dan pola dari koneksi yang sama terhadap neuron-neuron lain. Untuk lebih
spesifik, banyak neural network maupun neuron-neuron di dalam sebuah layer dapat saling
terhubung secara penuh maupun tidak. Jika ada neuron pada sebuah layer (sebagai contoh, layer
pada unit tersembunyi) terhubung dengan neuron layer lain (misal: layer output) maka setiap
unit tersembunyi dapat terkoneksi di setiap neuron output.
Pengaturan neuron ke dalam layers dan pola koneksi di dalam dan antara layers dikenal
dengan “net archictecture”. Banyak neuron nets memiliki layersinput yang aktivasi dari setiap
unitnya sama dengan sinyal input external. Neural network seringkali di kategorikan dalam 2
jenis yaitu : single layer dan multilayer. Dalam menentukan jumlah layer setiap unit input tidak
dapat di hitung sebagai layer, karena unit tersebut tidak dapat melakukan fungsi komputasi. Atau
bisa dikatakan bahwa jumlah layer pada neural network di tentukan berdasarkan layer yang
berisikan weight antar koneksi dari kumpulan neuron-neuron. Hal inilah yang mendasari bahwa
Gambar 2.5 Neural network model structure
2.4.1 Jaringan Syaraf Lapis Tunggal
Arsitektur lapis tunggal (single layer) memiliki 1 lapis koneksi bobot. Di mana setiap unit
dibedakan antara unit input dan unit ouput. Unit input adalah unit yang menerima sinyal yang
berasal dari lingkungan luar, sedangkan unit output adalah respon dari neural network yang
dapat dibaca. Pada umumnya, unit input secara penuh terkoneksi dengan unit output tetapi tidak
terkoneksi dengan unit input lain, begitu juga halnya unit output tidak terkoneksi dengan unit
output yang lain.
2.4.2 Jaringan Syaraf Lapis Ganda
Pada jaringan syaraf lapis ganda, input tidak langsung terkoneksi dengan output.
Gambar 2.7 Neural network Multilayer
2.5Fungsi Aktivasi pada Neural network
Fungsi aktivasi adalah operasi dasar pada artificial neuron yang meliputi penjumlahan bobot
(weight) sinyal input dan mangaplikasikannya pada output. Untuk unit input, fungsi ini adalah
fungsi identitas. Pada umumnya fungsi aktivasi yang sama di gunakan untuk semua neuron pada
layer tertentu dari neural network, walaupun hal ini tidak diperlukan. Pada kebanyakan kasus,
fungsi aktivasi non linear yang sering digunakan, karena hal ini terjadi sejak hasil dari
memasukkan sinyal melalui dua atau lebih layer dari element pemrosesan linear contohnya
element dengan fungsi aktivasi linear yang tidak jauh berbeda dengan apa yang didapatkan
dengan menggunakan (single layer). Fungsi-fungsi aktivasi yang umum di gunakan menurut
2.5.1 Fungsi Identitas
Fungsi identitas disebut juga sebagai fungsi linear. Fungsi linear memiliki nilai output yang
sama dengan nilai inputnya. y = x
Gambar 2.8 Fungsi Identitas (Linear)
( )
f x =x
untuk semua harga x
Fungsi ini biasanya digunakan pada unit input untuk memberi nilai awal harga setiap unitnya.
2.5.2 Fungsi Tangga Binary
Fungsi tangga binary atau Fungsi Hard Limit
Gambar 2.9 Fungsi HardLlimit.
Neural network single layer sering menggunakan fungsi tangga untuk mengkonversi unit input,
atau 0) atau bipolar (1 atau -1). Fungsi tangga binary ini juga dikenal sebagai fungsi threshold
2.5.3 Fungsi Symetric Hard Limit
Berfungsi mengkonversikan input dari suatu variabel yang bernilai kontinyu ke suatu output
berupa nilai 1,0 atau -1.
1 0
Gambar 2.10 Fungsi Symetric Hard Limit. 16
2.5.4 Fungsi Sigmoid Binary
Fungsi sigmoid (kurva dengan bentuk S) adalah fungsi aktivasi yang berguna. Fungsi sigmoid
yang umum adalah fungsi logistik dan fungsi tangent hyperbolic. Kedua fungsi ini bermanfaat
khususnya untuk penggunaan neural network karena hubungan yang sederhana antara nilai
fungsi pada sebuah point dan nilai dari derivatif pada point itu mengurangi hambatan komputasi
Gambar 2.11 Fungsi Sigmoid Binary.
Untuk fungsi logistik yang memiliki range 0 sampai 1, sering di gunakan untuk
menghasilkan output yang diinginkan bernilai binary atau berada pada interval 0 dan 1. Fungsi
dengan range ini juga dikenal dengan binary sigmoid.
( )
1( )
2.5.5 Fungsi Sigmoid Bipolar
Fungsi sigmoid bipolar adalah fungsi logistik yang memiliki range output dari -1 sampai 1.
Gambar 2.12 Fungsi Sigmoid Bipolar.
( )
( )
( )
' 1 1
2
g x =σ ⎡⎣ +g x ⎤ ⎡⎦ ⎣ −g x ⎤⎦ (0.6)
Fungsi bipolar sigmoid erat kaitannya dengan fungsi tangent hyperbolic, yang sering juga
di gunakan sebagai fungsi aktivasi ketika range output yang di inginkan bernilai -1 sampai
dengan 1.
2.5.6 Fungsi Saturating Linear
Fungsi dirumuskan sebagai berikut:
1 0.5
Gambar 2.13 Fungsi saturating linear.
2.5.7 Fungsi Symetric Saturating Linear
Fungsi dirumuskan sebagai berikut:
Gambar 2.14 Symetric Saturating Linear.19
2.5.8 Fungsi Invers Sigmoid Bipolar
Fungsi merupakan invers Sigmoid Bipolar umum dipakai untuk recurrent network misal model
jaringan Hopfield (Haykin,1999).
Gambar 2.15 Fungsi Invers Sigmoid Bipolar.22
2.5.9 Fungsi Tangent Hyperbolic
( )
( )
( )
' 1 1
h x = +⎡⎣ h x ⎤ ⎡⎦ ⎣ −h x ⎤⎦ (0.10)
2.6 Training Pada Artificial Neural network
Pelatihan adalah metode untuk mengatur nilai dari bobot, di mana pelatihan ini adalah
karakteristik yang membedakan neural network yang berbeda. Menurut [Fausett], ada 2 tipe dari
pelatihan, yaitu: supervised dan unsupervised. Sebagai tambahan ada neural network yang
bobotnya bernilai tetap tanpa proses pelatihan yang berulang.
2.6.1 Supervised Training
Kebanyakan aturan jaringan syaraf tiruan (artificial neural network), pelatihan di lakukan
dengan menunjukkan sekuens vektor pelatihan atau pola, di mana setiap pola yang ada di
asosiasikan dengan vektor output target. Bobot kemudian diatur berdasarkan algoritma learning.
Proses inilah yang di kenal sebagai pelatihan terpandu (supervised training). Termasuk pada
pelatihan terpandu ini adalah:
• Perceptron
• Adaline
• Feedforward Backpropagation network
• Statistical trained networks (Boltzmann/Cauchy machines)
• Radial basis function networks
2.6.2 Unsupervised Training
Pelatihan jenis ini dilakukan dengan menyediakan sekuens vektor input, akan tetapi tidak ada
target vektor tertentu yang di spesifikasikan. Neural network tersebut akan memodifikasi bobot
sehingga kebanyakan input vektor yang sejenis memiliki unit output yang sama (cluster) atau
• Hopfield Memory
• Bidirectional associative memory
• Fuzzy associative memory
• Learning vector quantizer
2.7 Perceptron
Pada bab ini akan membahas jaringan syaraf lapis tunggal, termasuk di dalamnya pendekatan
klasik pada Neural Computing dan masalah pembelajaran. Pada bagian pertama kita akan
diskusikan keunggulan dan keuntungan dari jaringan lapis tunggal dan algoritma
pembelajarannya. Pada bagian kedua kita akan diskusikan kelemahan dan keterbatasan dari
jaringan syaraf lapis tunggal ini. Kemudian akan dibahas perceptron lapis tunggal dan
perceptron lapis ganda. Pada bagian akhir dari bab ini akan dibahas contoh perceptron dengan
perhitungan manual, ANN toolbox dan program sendiri dengan bantuan Matlab.
Dua pendekatan model klasik dari jaringan syarat lapis tunggal ini adalah: Perceptron,
yang diusulkan oleh Rosenblatt (Rosenblatt, 1959) dan di akhir tahun 50'an dan Adaline,
diperkenalkan pada awal tahun 60-an oleh Widrow and Ho_ (Widrow & Ho_, 1960).
2.7.1 Jaringan dengan threshold dan fungsi aktivasi
Jaringan lapis tunggal alur-maju(kamus bahasa Indonesia), (single layer feed-forward network)
umumnya terdiri dari satu atau banyak output neurons o, yang masing-masingnya dihubungkan
dengan bobot faktor wio ke semua inputs i. contoh yang paling sederhana adalah jaringan yang
hanya memiliki dua input dan keluaran tunggal seperti terlihat pada gambar 2.13, Input neuron
adalah jumlah input yang tertimbang (atau bisa dikatakan bobot x input) ditambah dengan faktor
Gambar 2.16 Jaringan Syaraf Lapis tunggal dengan satu output dan dua input
Jaringan dibentuk oleh output neuron fungsi aktivasi di mana fungsi dari input
2
Fungsi aktivasi F bisa linear sedemikian sehingga kita memiliki suatu jaringan linear,
atau jaringan yang tidak linear. Pada kasus ini digunakan fungsi thereshold (atau Heaviside atau
sgn) :
Dengan demikian output jaringan di batasi bernilai +1 atau -1, tergantung pada input.
Jaringan ini bisa digunakan dan diaplikasikan untuk tugas pengelompokan (classifier) atau
pengelompokan pola(Fauset) (pattern classification). Jaringan ini bisa memutuskan apakah pola
input masuk pada kelompok mana dari dua kelas tadi (kelas +1 atau kelas -1. Jika total input
bernilai positif, maka pola dikenali sebagai kelas +1, dan jika total input bernilai negatif maka
pola input dikenali sebagai kelas -1. pemisahan dua kelas pada kasus ini adalah berupa sebuah
garis lurus., yang diberikan oleh sebuah persamaan garis:
1 1 2 2 0
w x +w x + =θ
(0.13)
Secara geometris fungsi diskriminan ini mempresentasikan jaringan linear threashold seperti
terlihat pada gambar . Persamaan 0.13 bisa ditulis sebagai berikut:
1
2 1
2 2
w
x x
w w
θ
= − −
Dari persamaan diatas kita bisa melihat bahwa bobot yang akan menentukan gradient atau
kemiringan garis, sementara bias menentukan keluaran 'o_set' untuk melihat seberapa jauh garis
determinan ini dari titik pusat 0. Jika vektor bobotnya juga ikut ditampilkan pada inputspace ini
akan selalu tegak lurus pada garis diterminan itu.
Gambar 2.18 Jaringan topologi umum feedforward dengan multilayers
2.7.2 Algoritma Feedforward
Untuk membangun jaringan feedforward multilayers dengan pembelajaran algoritma
pembelajaran apapun nantinya maka lakukan algoritma(fauset) di bawah ini:
Langkah 0 : Inisialisasi bobot dan bias
(untuk mudahnya, pengaturan nilai bobot dapat menggunakan nilai nol atau bisa juga dengan
menggunakan bilangan random). Set Laju Pembelajaran (0< ≤α 1), untuk mudahnya, α bisa
diset ke 1.
Langkah 1 : Selama kondisi berhenti false, lakukan langkah 2 hingga langkah 6
Langkah 2 : Untuk setiap pasangan data pelatihan, lakukan langkah 3 sampai langkah ke 5
Alur Maju (Feedforward):
Langkah 3 : Setiap unit input
(
X ii, =1,...,n)
menerima sinyal input xidan membroadcastLangkah 4 : Setiap unit tersembunyi
(
Zj, j=1,...,p)
menjumlahkan sinyal – sinyal inputkirimkan sinyal ini ke semua unit di lapisan atasnya (unit –unit output).
Langkah 5 : Setiap unit output / keluaran pada masing-masing neuron
(
Y kk, =1,...,m)
menjumlahkan sinyal – sinyal input terbobot,
0
Dan gunakan fungsi aktivasi untuk menghitung sinyal outputnya, keluaran setiap
neuronyk = f y in
(
_ k)
2.7.3 Perceptron Lapis Ganda
Berikut ini akan dibahas perceptron dengan banyak lapis lebih dari satu. Pembelajaran yang
dipakai pada umumnya adalah optimalisasi bobot dengan menggunakan Evolutionary
Programming, dan sangat populer dipergunakan. Fase Pelatihan (pembelajaran). Fase Prediksi
(pengujian) merupakan subset dari fungsi pembelajaran di mana proses pengujian alur proses
pencarian (feedforward) tidak ada arah perambatan mundur untuk penyesuaian bobot. Pada
Gambar 2.19 Proses pengujian pada perceptron lapis ganda (Multi Layers)
2.8 Ilustrasi Proses Feedforward
Pada bagian ini akan dijelaskan model jarigan syaraf feedforward proses alur maju untuk lapis
ganda seperti pada gambar dibawah ini. Untuk mempermudah pemahaman, maka kita ambil
struktur yang sangat sederhana dari multi layers feedfordward, yaitu struktur terdiri dari dua
input (x1 dan x2) dengan dua lapis hidden layer dan satu buah output y.
Gambar 2.20 Model sederhan jaringan dengan dua input dan satu output, dengan total 6 neuron.
Setiap neuron terdiri dari dua unit. Unit pertama adalah proses penjumlahan dari
koefisien bobot dan input sinyal. Sedangkan unit kedua adalah proses meneruskan sinyal
ke fungsi nonlinear yang disebut sebagai fungsi aktivasi. Sinyal e adalah faktor
penjumlahan output sinyal dan, dan y = f(e) adalah output signal dari nonlinear element.
Gambar 2.21 Proses perjumlahan dan threshold pada satu buah neuron
Pada ilustrasi gambar diatas terlihat, dua unit proses yang terjadi pada sebuah neuron.
Jika dilihat untuk sistem lebih besar. Output dari satu neuron pada lapis sebelumnya adalah
menjadi input pada neuron lapis sesudahnya.
Untuk mengajari neural network kita butuh training data set. The training data set terdiri
dari input signals (x1 dan x2 ) yang memiliki target tertentu yang disebut (desired output) z.
proses pembelajaran adalah proses iteratif. Setiap iterasi koefisien bobot diubah dan dimodifikasi
dengan menggunakan data input yang baru dari data training set. Modifikasi dihitung dengan
menggunakan algoritma seperti dijelaskan dibawah ini. Setiap iterasi pembelajaran mulai dengan
menggunakan data input dari data pembelajaran. Dengan bobot awal yang dinitialisasi dengan
nilai 0 agar lebih mudah atau dengan nilai bilangan random, maka dengan demikian kita bisa
menghitung output keluar dari masing-masing neuron sampai keluaran output dari jaringan itu
sendiri dalam alur maju. Symbols w(xm)n mewakili bobot yang terkoneksi antara network input
2.8.1 Ilustrasi proses alur maju
Untuk y1output dari neuron node pertama, yang terkoneksi dengan dua input x1 dan x2 dapat di
hitung seperti dibawah ini. Symbol w(x1)n mewakili bobot koneksi antara input sinyal 1 dan input
neuron n pada lapisan berikutnya. Misalnya w(x1)1 artinya bobot pada koneksi dari input node 1
terhubung dengan koneksi dari neuron node 1. maka untuky1 dihitung dengan komponen bobot
w(x1)1 dari neuron node 1, w(x2)1 dari input sinyal ke 2
Gambar 2.22 Perhitungan keluaran neuron node.1
1 2
1 1( (x)1 1 (x)1 2) y = f w x +w x
1 2
2 2( (x) 2 1 (x)2 2) y = f w x +w x
1 2
3 3( (x)3 1 (x)3 2) y = f w x +w x
warna biru menunjukkan alir proses yang terkait dan untuk output neuron pada node 2 y2
Gambar 2.23 Perhitungan keluaran neuron node.2
Untuk y3 output node 3 dihitung seperti dibawah ini
Gambar 2.24 Perhitungan keluaran neuron node.3
Symbol wmn mewakili bobot koneksi antara output neuron m dan input neuron n pada
lapisan berikutnya. Misalnya w14 artinya bobot pada koneksi dari neuron node 1 terhubung
dengan koneksi dari neuron node 4. maka untuky4 dihitung dengan komponen bobot w14 dari
Gambar 2.25 Perhitungan keluaran neuron node.4
maka untuky5 dihitung dengan komponen bobotw15 dari neuron node 1, w25 dari neuron node 2
dan w35 dari neuron node 3 seperti dibawah ini:
Gambar 2.26 Perhitungan keluaran neuron node.5
dan terakhir perambatan sinyal melalui lapisan tersembunyi. Menghitung output keluaran
Gambar 2.27 Perhitungan keluaran neuron node.6
2.9 Algoritma Backpropagation dalam Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan Back-Propagation merupakan salah satu algoritma jaringan yang populer
pada jaringan syaraf tiruan. Model jaringan ini banyak digunakan untuk menyelesaikan suatu
masalah berkaitan dengan identifikasi, prediksi, pengenalan pola dan sebagainya. Dengan latihan
yang berulang-ulang, algoritma ini akan menghasilkan hasil yang lebih baik. Hal ini berarti
bahwa “bobot interkoneksi” jaringan syaraf tiruan semakin mendekati bobot yang seharusnya.
(Penelitian jaringan syaraf tiruan, 1993). Kelebihan lain yang di miliki jaringan syaraf tiruan ini
adalah kemampuannya untuk belajar (bersifat adaptif) dan kebal terhadap adanya kesalahan
(Fault Tolerance) dengan kelebihan tersebut jaringan syaraf tiruan dapat mewujudkan sistem
yang tahan akan kerusakan (robust) dan konsisten bekerja dengan baik.
Metode Backpropagation ini pertama kali di perkenalkan oleh Paul Werbospada
tahun 1974, kemudian di kemukakan kembali oleh David Parkerdi tahun 1982 dan di
populerkan oleh Rumelhartdan McCellandpada tahun
1986. Pada algoritma backpropagation ini merupakan arsitektur jaringan menggunakan jaringan
banyak lapis. Secara garis besar proses pelatihan pada jaringan saraf tiruan di kenal beberapa tipe
pelatihan Backpropagationdi kenal dengan Generalize Delta Rule (GDR) yang
merupakan supervised training untuk tiap pola input yang terdapat pasangan target output untuk
masing-masing pola input. Prinsip kerjanya adalah jika hasil yang diberikan tidak sesuai dengan
target yang diinginkan, maka bobot akan dikoreksi kembali agar error semakin berkurang. Pada
umumnya tujuan jaringan syaraf tiruan melakukan proses pelatihan adalah untuk mendapatkan
balancing antara kemampuan jaringan untuk menanggapi secara benar pola-pola input pada saat
pelatihan dan kemampuan untuk memberikan hasil yang layak ataupun hasil dengan error rate
yang terendah. Sehingga dalam tahap pelatihan akan di bentuk pembobot yang digunakan
sebagai faktor pengali keterkaitan input dengan hasil yang di harapkan.
Pada tahap pelatihan ini yang merupakan langkah bagaimana suatu jaringan syaraf itu
berlatih, yaitu dengan cara melakukan perubahan bobot, baik bobot sambungan antar input
layer dan hidden layer maupun antara hidden layer dan output layer, bila terdapat lebih dari
satu hidden layer maka juga terdapat pembobot antar hidden layer itu sendiri. Setelah pelatihan
yang cukup, barulah suatu model dengan pembobot tersebut digunakan untuk memecahkan atau
BAB 3
ANALISIS DAN PERANCAGAN
3.1 Analisis Forensik/ pendeteksi
Forensik digital dianggap sebagai aplikasi ilmu pengetahuan untuk mengidentifikasi,
mengoleksi, menganalisa dan menguji data-data digital serta memelihara integritas dari semua
informasi yang dikumpulkan, pemeliharaan suatu rantai penjagaan atau tindakan pemeliharaan
bukti lain. Forensik jaringan merupakan lebih dari sekedar mengumpulkan trafik jaringan.
3.1.1 Persiapan Input Data
Data pelatihan dan data pengujian untuk intrusi diambil dari data standar yaitu kdd cup 99, yang
digunakan untuk membangun detektor intrusi yang dapat membedakan antara serangan koneksi
buruk (adanya gangguan) dan baik (tidak ada gangguan atau koneksi dalam keadaan normal).
Sebelum pelatihan dilakukan, terlebih dahulu harus ditentukan nilai parameter yaitu parameter
nu. Menurut penelitian (Laskov, Pavel et.2004), dataset kdd cup paling baik diproses oleh
algoritma nonliniear. Untuk itu pendekatan ini mudah digunakan pada dataset yang jumlahnya
ribuan. Akan tetapi, dataset yang akan digunakan pada Tugas Akhir ini ukurannya sangat besar,
maka akan digunakan subset dari dataset yang diambil secara acak, kemudian dilakukan grid
search pada subset tersebut. Setelah ditemukan parameter terbaik, dilakukan grid search pada
rentang nilai yang lebih kecil untuk memperoleh parameter terbaik yang terdiri dari 41 fitur
seperti pada tabel dibawah ini:
3.1.2 Membaca input data
Pada tugas akhir ini data yang berasal dari kdd cup 99 disajikan dalam table excell, yang
digunakan untuk memudahkan membaca fungsi excel xlsread:
% --- PREPARE DATA
% --- read input data
---xls_file='data_intrusion_50';
data_xls = xlsread(xls_file,'intrusion_modif','a1:al1000');
Tabel 3.2 Data Input pada Excel
Jika data input diubah maka susuannya harus seperti table diatas, aturannnya:
1. kolom terakhir= target
2. kolom sisanya = input data
3. jumlah parameter = jumlah kolom -1
3.1.3 Normalisasis Data
Data yang telah dinormalisasi, akan dijadikan sebagai input yang diseragamkan dari range -1
sampai 1 dan akan disimpan dalam fungsi tersendiri:
%---% ---data
normalisasi---
%---nrow=244;
data = data_norm(1:nrow,:);
% ---input data normalisasi
---nrow_train=200;
%---END OF INPUT DATA
PREPARATION---Data dibagi dua, data pelatihan dan data untuk pengujian. Berikut ini fungsi normalisasi:
function data_norm= normalisasi(data)
for i=1:5
maxr(i)=max(data(:,i));
minr(i)=min(data(:,i));
delta(i) = maxr(i)-minr(i);
data_norm(:,i) = 2*(data(:,i)-minr(i))/delta(i)-1;
end
end
rumus perhitungan normalisasi sederhana, dengan batasan nilai antara -1 dan 1:
data = 2*(data-min)/(max – min)-1
Oleh karena itu aktivasi yang cocok dan sesuai untuk topologi jaringan ini adalah sigmoid
bipolar. Karena sigmoid bipolar melewatkan nilai antara -1 dan 1. Aktivasi ini seragam untuk
semua lapisan.
Topologi jaringan yang digunakan pada penulisan ini adalah jaringan tipe Feedforward atau alur
maju, karena jaringan lapis tunggal ini terdiri dari S logsig neurons yang memiliki R input
seperti di perlihatkan pada gambar kiri dan dengan diagram lapis pada gambar sebelah kanannya.
Gambar 3.3a Jaringan Tunggal dari Gambar 3.3b Diagram Lapis S logsing
S Logsing Neuron
Jaringan Feedforward bias memiliki satu atau lebih lapisan tersembunyi dari sigmoid
neurons yang diikuti oleh output layer dari linear neurons. Lapisan ganda dari neuron dengan
fungsi transfer tidak linear membolehkan jaringan untuk mempelajari hubungan nonlinear dan
linear antara input dan output vectors. Linear output layer mengijinkan jaringan untuk
menghasilkan nilai diluar antara -1 dan +1.
Di sisi lain, jika ingin membatasi output jaringan seperti misalnya hanya nilai antara 0
dan 1, termasuk nilai pecahan 0.1; 0.25 dan seterusnya, maka fungsi transfer akan menggunakan
sigmoid transfer function (seperti misalnya logsig). Pada skripsi ini output di set antara -1 dan
1.
Untuk multilayer network, jumlah lapisan (layer) menentukan jumlah matrik bobot. The
Gambar 3.4 Jaringan feedforward
3.2.1 Membangun Suatu Jaringan Alur Maju Feedforward (newff)
Langkah pertama pada pembelajaran suatu jaringan alur maju adalah membuat obyek jaringan.
Fungsi newff merupakan suatu objek jaringan alur maju. Fungsi Newff memerlukan tiga
arguments. Argument pertama adalah R-element input vectors, argument kedua adalah
S-element target vectors danargumen ke tiga adalah sebuah array yang berisi ukuran atau nilai di
tiap hidden layer.
Argument lain bisa di tambah sesuai dengan pilihan misalnya argument ke empat adalah
setting untuk nama dari transfer functions yang digunakan pada tiap lapisan. Argument ke lima
berisi nama pilihan training function yang dipakai. Jika hanya diisi tiga argument saja maka
default transfer function untuk hidden layer secara otomatis akan di set ke tansig dan default
untuk output layer sebagai purelin. Sedangkan default training function adalah dapat benilai
trainlm.
Tabel 3.5 Argumen untuk Tiap Lapisan
Default Nilai
Transfer function Hidden layer Tansig
Training function Trainlm
Pada penulisan ini layer fungsi transfer tansig merupakan fungsi transfer yang digunakan
untuk lapisan output. Pada langkah pertama hidden layer dibuat hanya satu, dengan 4 buah
Neuron. Fungsi transfer default pada lapisan tersembunyi adalah tan-sigmoid, dan digunakan
untuk lapisan output linier.
% jumlah hidden layers
hidden_layers =4;
% create struktur jaringan objek
net = newff(Ptrain',Ttrain',hidden_layers);
Di mana
net = newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, BTF,BLF,PF,IPF,OPF,DDF)
Penggunaannya: newff(P, T, [S1 S2...S(N-l)], {TF1 TF2...TFNl}, BTF, BLF, PF, IPF, OPF,
DDF) merupakan argument yang diperlukan.
Tabel 3.6 Penjelasan Parameter Argumen yang Diperlukan pada Newff
No Parameter Keterangan
1 P R x Q1 matrix dari Q1 sample R-element input vectors
3 Si Jumlah dari layer ke i, untuk N-1 layers, default = [
].(Ukuran Output layer SN ditentukan dari target vector
T.);
4 TFi Transfer fungsi dari ith layer, defaultnya = 'tansig' untuk
hidden layers dan 'purelin' untuk output layer.);
5 BTF Jaringan Backpropagation fungsi pelatihan, default =
'traingdx'
6 BLF Bobot/bias fungsi pembelajaran Backpropagation,
default = 'learngdm'
7 PF Fungsi Performance, jika tidak diisi maka default = 'mse'.
IPF kolom cell array dari input fungsi processing. (Default =
{'fixunknowns','removeconstantrows','mapminmax'});
OPF: baris cell array dari keluaran fungsi processing.
(Default = {'removeconstantrows','mapminmax'});
DDF Data divison function (default = 'dividerand')
Fungsi newff ini menghasilkan output jaringan sebanyak n layer dengan menggunakan
pelatihan feed-forward backprop. Pada bab ini digunakan toolbox Neural network, untuk
mengetahui bagaimana kerumitan dalam membuat topologi pada neural network. Serta proses
pembelajaran untuk mendapatkan bobot dan bias yang optimal hanya dengan proses yang
Gambar 3.7 Arsitektur Multilayer Feedforward dalam mendeteksi adanya Intrusi pada jaringan
komuter
3.3Pelatihan dan Pembelajaran
3.3.1 Simulasi Pembelajaran
Untuk menjalankan simulasi pelatihan maka gunakan perintah train seperti pada perintah
dibawah ini:
% pelatihan struktur jaringan
net = train(net,Ptrain',Ttrain');
Gambar 3.8 Tampilan Interface dari aplikasi pendeteksi Intrusion
jika diklik performance maka akan muncul gambar epoch dengan errors seperti tampak
pada gambar proses pelatihan dibawah ini. Gambar ini terdiri dari sumbu x sebagai epoch dan
sumbu y sebagai performance sedangkan default sebagai nilai dari mse (mean square errors).
Jika error kemudian steady atau stabil tidak lagi menurun tapi terus mendatar maka proses
Gambar 3.9 Tampilan performance
3.3.2 Verifikasi hasil data pelatihan
Data verifikasi menggunakan data target pada pelatihan kemudian disesuaikan dengan hasil
output pelatihan. Dengan langkah-langkah sebagai berikut:
Langkah pertama lakukan simulasi untuk menghasilkan output jaringan
>>simtrain = sim(net,Ptrain')
Dengan perintah diatas kita memiliki hasil output jaringan dengan nama simtrain. Lalu
tampilkan output ini dan sekaligus bandingkan dengan target pelatihan
>>j=1:1:200;
>>plot(j,simtrain,'bo',j,Ttrain','*')
>> xlabel('Input')
>> legend('Target','Output')
Tampak pada percobaan simulasi pelatihan pertama dengan parameter yang disebutkan
sebelmnya belum menunjukkan hasil yang memadai.
0 5 10 15 20 25 30 35 40 45
Gambar 4.0 Tampilan Output dari hasil Simulasi
Sumbu x adalah nilai input time series dalam hal ini disederhanakan dengan nomor data
1-700 sedangkan, sumbu y adalah target (o) dan output (*) dari pelatihan. Secara umum hasil
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi dan Pengujian
Pada bagian simulasi ini akan di lakukan serangkaian pelatihan dan pengujian data berupa
gangguan jaringan dengan yang diperoleh dari KDD Cup 99 baik menggunakan data dengan
fitur yaitu 28 dari maksimal 41 fitur atau dengan pengurangan fitur yang dianggap mewakili
pola gangguan jaringan.
4.2 Pelatihan
Pada pelatihan ini akan di gunakan serangkaian data dan parameter untuk mendapatkan bobot
yang optimal sehingga mendapatkan error yang paling kecil sesuai dengan diharapkan pada
pelatihan ini.
4.2.1 Data Parameter:
Jumlah
4.2.2 Gambar dan Hasil
4.3Pengujian
Pada pengujian ini akan digunakan bobot dan bias yang terbaik didapat dari hasi pelatihan pada
bagian pelatihan sebelumnya
4.3.1 Data Parameter
Parameter Neural Network: net.trainParam.epochs = 300; net.trainParam.goal = 1e-6; net.trainParam.lr = 0.05; net.trainParam.show = 100;
4.3.2 Gambar dan Hasil
0 5 10 15 20 25 30 35 40 45
0 5 10 15 20 25 30 35 40 45
Gambar 4.11 Pengujian Konfigurasi A02 dengan neuron 15
0 5 10 15 20 25 30 35 40 45
0 5 10 15 20 25 30 35 40 45
Gambar 4.13 Pengujian Konfigurasi A04 dengan neuron 25
Gambar 4.14 Pengujian Konfigurasi A05 dengan neuron 30
0 5 10 15 20 25 30 35 40 45
Gambar 4.16 Pengujian Konfigurasi A07 dengan neuron 40
Gambar 4.17 Pengujian Konfigurasi A08 neuron
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil latihan terlihat best result mencapai error 9.28.10-7 dari error minimum sebesar (1.10
-6
) dicapai oleh satu hidden layer dengan jumlah neuron 15 buah. Error tersebut membutuhkan
waktu sebesar 1 detik dengan jumlah iterasi epoch sebanyak 12 kali. Dari hasil simulasi
pelatihan dapat di lihat setelah neuron 15 untuk hidden layer satu, semakin banyak neuron tidak
membuat performance menjadi lebih baik.
Pada jumlah neuron 50, error hanya mencapai 0.164 dengan usaha epoch sebanyak 32
kali dan membutuhkan waktu sebanyak 39 detik. Pola serangan bisa dikenali dengan baik dengan
menggunakan deteksi Neural Network dengan pembelajaran Backpropagation. Konfigurasi atau
topology yang ideal tidak bisa ditentukan atau diprediksi, seperti halnya mengidentifikasi jumlah
layer dan jumlah neuron setiap layernya yang optimal untuk menghasilkan kesalahan yang
minimal tidak bisa diprediksi sebelumnya.
Dengan menguji dua data hidden layer dengan jumlah 15 buah, ternyata tidak lebih baik
dari pada menggunakan satu hidden layer. Pada saat menguji data dengan menggunakan dua
5.2 Saran
Setelah melihat hasil simulasi maka saran penulis untuk penelitian dan study selanjutnya sebagai
berikut:
1. Menambah jumlah fitur untuk jumlah maksimal sebanyak 41 fitur, agar memberikan pola
serangan yang lebih utuh
2. Untuk mempercepat proses pembelajaran perlu diadakan seleksi fitur yang relevan dari
maksimal 41 fitur data serangan jaringan
3. Untuk memperbaiki performance dari pembelajaran backpropagation, perlu dilakukan
alternatif pembelajaran dari Algoritma Genetika atau Evolutionary Programming di mana
DAFTAR PUSTAKA
Andayani, Farida., dan Febrian, Jack., 2002, Kamus Komputer dan Istilah Teknologi Informasi, Penerbit Informatika Bandung, Bandung.
Arhami, Muhammad. 2005. Konsep Dasar Sistem Pakar. Yogyakarta: Andi Yogyakarta.
Desiani, Anita & Arhami, Muhammad. 2006. Konsep Kecerdasan Buatan. Yogyakarta: Andi Yogyakarta.
Fausett, L, 1994, Fundamentals Of Neural Networks Architectures, Algorithms, and Applications, Prentice-Hall New Jersey.
Haykin, S,1994, Neural Network : A Comprehensive Foundation. Macmillan publishing Company, New York.
Imam Winardi. Kamus Neurologi Berbasis Multimedia. [September 2007]
Lin, Chih-Jen. 2005. Optimization, Support Vector Machines, and Mahine Learning.
http://www.csie.ntu.edu.tw/%7Ecjlin/papers/rome.pdf. Diakses tanggal 10 Januari 2007.
KDD Cup 1999. Tersedia di: http://kdd.ics.uci.edu/databases/kddcup 99/kddcup99.html, Ocotber 2007.
Kusumadewi, S. 2003. Artifial Intelligence (teknik dan aplikasinya). Graha Ilmu Yogyakarta, Jogjakarta.
Kusumadewi, S, 2004, Membangun Jaringan Saraf Tiruan (Menggunakan MATLAB & Excel Link), Graha Ilmu Jogjakarta, Jogjakarta.
Puji Hartono, “Sistem Pencegahan Penyusupan pada Jaringan berbasis Snort IDS dan IPTables Firewall”,http://budi.insan.co.id, 2005
Purbo, Onno W., Wiharjito, Tony., Keamanan Jaringan Internet, Elex Media Komputindo, 2000
Santoso, J, 2000, Jaringan Saraf Tiruan Teori, Arsitektur, dan Algoritma, Universitas Atma Jaya Jogyakarta, Jogjakarta.
Siang, JJ. 2005. Jaringan saraf tiruan dan pemrogramannya menggunakan MATLAB. Yogyakarta: Andi Yogyakarta.
Suparman, 1991, Mengenal Artificial Intelligence, Penerbit ANDI, Yogyakarta.
% training backpropagtion newff
% ---input data normalisasi --- nrow_train=800;
Ptest = data(nrow_train+1:nrow_train+nrow_test)-); Ttest = data(nrow_train+1:nrow_train+nrow_test);
%---END OF INPUT DATA PREPARATION---
% jumlah hidden layers
hidden_layers =[ ];
% create struktur jaringan objek
net = newff(Ptrain',Ttrain',hidden_layers);
output= denormalisasi(simulation, xmin, xmax)
% simulasikan hasil pelatihan sim_train = sim(net,Ptrain');
% plot perbandingan target hasil pelatihan j=1:1:size(sim_train,2);
figure
plot(j,sim_train,'bo',j,Ttrain','*') xlabel('Input')