Analisis Dan Peracangan Aplikasi Sistem Pendeteksi Gangguan Jaringan Komputer Menggunakan Multilayer Dengan Pelatihan Feedforward

(1)

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

MEDAN 2011


(2)

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

MEDAN 2011


(3)

PERSETUJUAN

Judul : ANALISIS DAN PERANCANGAN APLIKASI

SISTEM PENDETEKSI GANGGUAN PADA JARINGAN KOMPUTER MENGGUNAKAN

MULTILAYER DENGAN PELATIHAN

FEEDFORWARD

Kategori : SKRIPSI

Nama : SISKA MELINWATI

Nomor Induk Mahasiswa : 061401040

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN 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,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003


(4)

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

SISKA MELINWATI 061401040


(5)

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.

Penulis juga mengucapkan terima kasih kepada semua rekan-rekan kuliah di S1 Ilmu Komputer USU dan semua pihak yang tergabung di Yayasan Global Sejahtera Indonesia tanpa terkecuali yang telah membantu penulis dalam menyelesaikan tugas akhir ini dan memberikan semangat serta dorongan kepada penulis. Semoga Tuhan Yang Maha Esa memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.


(6)

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


(7)

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

) for a single hidden layer with 15 neurons. This error level was achieved in a time of one second and 12 epochs interations. Simulation using training results indicated that for a single hidden layer with neurons more than 15 did not yield a better performance. With 50 neurons, error level was only 0,164 with 32 epoch and time required 39 seconds.


(8)

DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 3

Bab 2 Tinjauan Pustaka 5

2.1 Analisis Jaringan 5

2.2 TCP/IP 6

2.2.1 Arsitektur TCP/IP 6

2.2.2 Paket 6

2.2.3 Koneksi TCP/IP 7

2.2.4 Pendeteksi Intrusi Jaringan 8

2.3 Model Neuron 9

2.3.1 Neuron Biologis 9

2.4 Arsitektur Neural Network 10

2.4.1 Jaringan Syaraf Lapisan Tunggal 11 2.4.2 Jaringan Syaraf Lapisan Ganda 12 2.5 Fungsi Aktivasi Pada Neural Network 13

2.5.1 Fungsi Identitas 13

2.5.2 Fungsi Tangga Aktivasi 14

2.5.3 Fungsi Simetric Hard Limit 14

2.5.4 Fungsi Sigmoid Binari 15

2.5.5 Fungsi Sigmoid Bipolar 15

2.5.6 Fungsi Saturating Linear 16

2.5.7 Fungsi Symetric Saturating Linear 16 2.5.8 Fungsi Invers Sigmoid Bipolar 17

2.5.9 Fungsi Tangent Hyperbolic 17

2.6 Training Pada Artificial Neural Network 18

2.6.1 Supervised Training 18


(9)

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

4.2 pelatihan 40

4.2.1 Data Parameter 40

4.2.2 Gambar dan Hasil 41

4.3 Pengujian 50

Bab 5 Kesimpulan dan Saran 55

5.1 Kesimpulan 55

5.2 Saran 55


(10)

DAFTAR TABEL

Halaman

Tabel 3.1 Data Intrusion 32

Tabel 3.2 Argumen Untuk tiap Lapis 37

Tabel 3.3   Sintaks     38


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Model Internet TCP/IP 6

Gambar 2.2 Contoh Paket Http 7

Gambar 2.3 Three-way handshake 7

Gambar 2.4 Pemodelan Neuron Biologis 9

Gambar 2.5 Neural Network model Strukture 11

Gambar 2.6 Neural Network Single Layer 12

Gambar 2.7 Neural Network Multilayer 12

Gambar 2.8 Fungsi Identitas (linear) 13

Gambar 2.9 Fungsi HardLimit 14

Gambar 2.10 Fungi Symetric HardLimit 14

Gambar 2.11 Fungsi Sigmoid Binary 15

Gambar 2.12 Fungsi Sigmoid Bipolar 15

Gambar 2.13 Fungsi Saturating Linear 16

Gambar 2.14 Symetric Saturating linear              17

Gambar 2.15 Fungsi Invers Sigmoid Bipolar      17

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 2.21 Proses Penjumlahan dan threshold Pada Satu Buah Neuron 24

Gambar 2.22 Perhitungan Keluaran Neuron node.1 26

Gambar 2.23 Perhitungan Keluaran Neuron node.2 26

Gambar 2.24 Perhitungan Keluaran Neuron node.3 27

Gambar 2.25 Perhitungan Keluaran Neuron node.4 27

Gambar 2.26 Perhitungan Keluaran Neuron node.5 28

Gambar 2.27 Perhitungan Keluaran Neuron node.6 28

Gambar 3.1a Jaringan Tunggal dari S Logsing Neuron 32

Gambar 3.1b Diagram Lapis Logsing 32

Gambar 3.27 Jaringan Feedforward 33

Gambar 3.4 GUI Aplikasi pendeteksi Gangguan 37

Gambar 3.5 Tampilan Performance 37

Gambar 3.6 Hasil Data Pelatihan 38

Gambar 3.7 Arsitektur Multilayer Menggunakan Pelatihan Feedforward 38


(12)

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


(13)

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


(14)

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

) for a single hidden layer with 15 neurons. This error level was achieved in a time of one second and 12 epochs interations. Simulation using training results indicated that for a single hidden layer with neurons more than 15 did not yield a better performance. With 50 neurons, error level was only 0,164 with 32 epoch and time required 39 seconds.


(15)

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. Setiap unit tersebut terdiri dari input, hidden layer dan output. Masing-masing unit berfungsi


(16)

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 merupakan langkah awal untuk membuat sistem pertahanan pada komputer baik personal


(17)

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 Perancangan Aplikasi Pendeteksi Gangguan Jaringan Komputer Menggunakan Multilayer


(18)

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 hasil yang di peroleh yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.


(19)

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


(20)

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


(21)

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.


(22)

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 musuh


(23)

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 jalur yang ada.


(24)

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 hormon yang dapat mempengaruhi keseluruhan kontrol proses )


(25)

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 bobot (weight) pada jaringan syaraf (neural network) berisikan informasi yang sangat penting.


(26)

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.


(27)

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 [Fausett] adalah sebagai berikut:


(28)

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, di mana nilai variabelnya bersifat kontinu yang menghasilkan nilai output bernilai biner (yaitu 1


(29)

atau 0) atau bipolar (1 atau -1). Fungsi tangga binary ini juga dikenal sebagai fungsi threshold atau fungsi Heaviside.

1 0 jika x y jika x θ θ ≤ ⎧

= ⎨ <

⎩ (0.1)

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 1 0 jika x y jika x − ≤ ⎧ = ⎨

⎩ (0.2)

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 selama training.


(30)

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

( )

1 exp f x

x σ

=

+ − (0.3)

( )

( )

( )

' 1

f xf xf x (0.4)

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

2 1 1

1 exp 1 exp

1 exp g x f x

x x x σ σ σ = − = − + − − − = + − (0.5)


(31)

( )

( )

( )

' 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

0.5 0.5 0.5

0 0.5

jika x

y x jika x

jika x ≥ ⎧ ⎪ = + − ≤ ≤ ⎪ ≤ − ⎩ (0.7)

Gambar 2.13 Fungsi saturating linear.

2.5.7 Fungsi Symetric Saturating Linear

Fungsi dirumuskan sebagai berikut:

1 1

1 1

1 1

jika x

y x jika x

jika x ≥ ⎧ ⎪ = − ≤ ≤ ⎪− ≤ − ⎩ (0.8)


(32)

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

( )

( )

( )

( )

( )

( )

( )

exp exp

exp exp

1 exp 2

1 exp 2

x x

h x

x x

x x

− −

=

+ −

− −

=

+ −


(33)

( )

( )

( )

' 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 proses pengelompokan. Termasuk pada pelatihan tidak terpandu ini adalah:


(34)

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


(35)

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

1 i i i

y F w x θ

=

⎛ ⎞

= +

⎠ (0.11)

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) :

1 0 ( ) 1 if s F s otherwise > ⎧ = ⎨−⎩ (0.12)

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)


(36)

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.17 Jaringan lapis tunggal merepresentasikan suatu fungsi garis pemisah.


(37)

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 membroadcast sinyal tersebut ke semua unit pada lapisan di atasnya (unit tersembunyi).


(38)

Langkah 4 : Setiap unit tersembunyi

(

Zj, j=1,...,p

)

menjumlahkan sinyal – sinyal input berbobot, 0

1

_

n

j j i i

i

z in v x v j

=

= +

gunakan fungsi aktivasi untuk menghitung sinyal outputnya.zj = f z in

(

_ j

)

dan kirimkan 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 1

_

p

k k j jk

j

y in w z w

=

= +

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 proses prediksi atau pengujian, bobot memiliki nilai tetap (fixed weights).


(39)

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. Signal y disebut juga sebagai output signal dari suatu neuron.


(40)

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


(41)

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


(42)

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


(43)

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 jaringan y:


(44)

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, yaitu Supervised Training, Unsupervised Training, Fixed-Weight Nets. Metode


(45)

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 meramalkan suatu output.


(46)

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:


(47)

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');


(48)

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;


(49)

data = data_norm(1:nrow,:);

% ---input data normalisasi

---nrow_train=200;

nrow_test=nrow-nrow_train;

Ptrain = data(1:nrow_train,1:size(data,2)-1); Ttrain = data(1:nrow_train,size(data,2));

Ptest = data(nrow_train+1:nrow_train+nrow_test,1:size(data,2)-1); Ttest = data(nrow_train+1:nrow_train+nrow_test,size(data,2));

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


(50)

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 appropriate notation is used in the two-layer tansig/purelin network shown next.


(51)

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 Transfer function output layer Purelin


(52)

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 2 T SN x Q2 matrix dari Q2 sample SN-element input vectors;


(53)

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 sederhana dengan beberapa baris code Matlab saja.


(54)

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');


(55)

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 pelatihan dihentikan oleh sistem.


(56)

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')


(57)

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

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T a rge t dan O u tp ut Target Output

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 pendekatan pelatihan sangat dekat dengan target sebenarnya.


(58)

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:

Parameter Neural Network: net.trainParam.epochs = 300; net.trainParam.goal = 1e-6; net.trainParam.lr = 0.05; net.trainParam.show = 100;


(59)

Jumlah Fitur: 28 Jumlah Data: 41

4.2.2 Gambar dan Hasil

Kode Hidden Layer Jumlah Neuron Waktu (detik) Last Error Epoch Hasil

A01 1 10 1 0.0139 9 Gb. A01a,

A01b

A02 1 15 1 9.28.10-7 12 Gb. A02 a,

A02b

A03 1 20 4 0.269 22 Gb. A03 a,

A03b

A04 1 25 3 1.48.10-5 14 Gb. A04 a,

A04b

A05 1 30 2 0.0336 7 Gb. A05 a,

A05b

A06 1 35 4 0.342 8 Gb. A06 a,

A06b

A07 1 40 18 8.01.10-4 27 Gb. A07 a,

A07b

A08 1 45 2 0.575 1 Gb. A08 a,

A08b

A09 1 50 39 0.164 32 Gb. A09 a,


(60)

(61)

(62)

(63)

(64)

(65)

(66)

(67)

(68)

(69)

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

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T ar get dan O ut put Target Output


(70)

0 5 10 15 20 25 30 35 40 45 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T ar ge

t dan O

ut

pu

t

Target Output

Gambar 4.11 Pengujian Konfigurasi A02 dengan neuron 15

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T ar get dan Out p ut Target Output


(71)

0 5 10 15 20 25 30 35 40 45 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T ar get da n O ut put Target Output

Gambar 4.13 Pengujian Konfigurasi A04 dengan neuron 25

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T a rg e t d a n O u tp u t Target Output


(72)

Gambar 4.14 Pengujian Konfigurasi A05 dengan neuron 30

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Input

T

ar

get

dan O

ut

put

Target Output


(73)

0 5 10 15 20 25 30 35 40 45 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T a rget dan O ut put Target Output

Gambar 4.16 Pengujian Konfigurasi A07 dengan neuron 40

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input T ar get dan O ut put Target Output


(74)

Gambar 4.17 Pengujian Konfigurasi A08 neuron

45

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Input

T

ar

get

dan

O

ut

put

Target Output


(75)

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 hidden layer membutuhkan waktu yang lebih lama dan mencapai nilai error yang lebih besar.


(76)

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 Algoritma ini bisa memprediksi jumlah neuron yang optimal untuk tiap layer.


(77)

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. Tanenbaum, Andrew.S. Jaringan Komputer. Jilid 1. Prenhallindo. Jakarta.1997


(78)

% training backpropagtion newff clear all;

% --- PREPARE DATA --- % --- read input data --- xls_file='data_intrusion_50';

data_xls = xlsread(xls_file,'intrusion_1000','a1:al1000'); %---

% ---data normalisasi---

%--- nrow = size(data_xls,1);

data_norm = normalisasi(data_xls); data = data_norm(1:nrow,:);

% ---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); weight_init = net.IW{1,1}

bias_init = net.b{1}

net.trainParam.epochs = ; net.trainParam.goal = 1e-6; net.trainParam.lr = 0.05; net.trainParam.show = 100;

% pelatihan struktur jaringan net = train(net,Ptrain',Ttrain'); weight_final = net.IW{1,1} bias_final = net.b{1} simulation = sim(net,Ptest') %denormalisasi

xmax=max(data_xls(:,-)); xmin=min(data_xls(:,-));


(79)

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')

ylabel('Target dan Output') legend('Target','Output')


(1)

Gambar 4.17 Pengujian Konfigurasi A08 neuron

45

0 5 10 15 20 25 30 35 40 45

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Input

T

ar

get

dan

O

ut

put

Target Output


(2)

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 hidden layer membutuhkan waktu yang lebih lama dan mencapai nilai error yang lebih besar.


(3)

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 Algoritma ini bisa memprediksi jumlah neuron yang optimal untuk tiap layer.


(4)

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.


(5)

% training backpropagtion newff clear all;

% --- PREPARE DATA --- % --- read input data --- xls_file='data_intrusion_50';

data_xls = xlsread(xls_file,'intrusion_1000','a1:al1000'); %---

% ---data normalisasi---

%---

nrow = size(data_xls,1);

data_norm = normalisasi(data_xls); data = data_norm(1:nrow,:);

% ---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); weight_init = net.IW{1,1}

bias_init = net.b{1}

net.trainParam.epochs = ; net.trainParam.goal = 1e-6; net.trainParam.lr = 0.05; net.trainParam.show = 100;

% pelatihan struktur jaringan net = train(net,Ptrain',Ttrain');

weight_final = net.IW{1,1} bias_final = net.b{1} simulation = sim(net,Ptest')

%denormalisasi

xmax=max(data_xls(:,-)); xmin=min(data_xls(:,-));


(6)

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')

ylabel('Target dan Output') legend('Target','Output')