Deteksi Keamanan Pola menggunakan AIS (Artificial Immune System) dengan teknik Negative Selection 4


Algoritma AIS (Artificial Immune System) dengan teknik Negative Selection adalah salah satu algoritma yang dapat digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai penentuan pola angka baru apakah termasuk pola yang aman atau tidak.
Algoritma ini merupakan variasi dari Algoritma AIS (Artificial Immune System) yang sudah pernah dibahas sebelumnya. Pada contoh tersebut, algoritma ini digunakan untuk mengoptimasi sebuah permasalahan. Pada kali ini akan digunakan algoritma yang sama dengan algoritma tersebut, tetapi dengan teknik perhitungan yang berbeda, yaitu teknik Negative Selection.



Diasumsikan ada 5 pola angka yang diketahui, yaitu pola angka 1 sampai dengan 5
Diasumsikan 5 pola angka tersebut adalah sebagai berikut:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Contoh data awal adalah sebagai berikut:



Selanjutnya ada sebuah deretan pola baru yang ingin diketahui hasilnya
Maka tentukan apakah deretan pola baru ini adalah pola yang aman atau tidak
Diasumsikan deretan pola baru adalah sebagai berikut:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1

Contoh data baru yang akan dihitung adalah sebagai berikut:



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan jumlah angka (bit) dalam setiap pola angka
Diasumsikan dalam kasus ini, jumlah angka dalam setiap pola angka ada 25 buah, karena pada masing-masing pola angka terdiri dari 25 angka

* Tentukan jumlah angka (bit) dalam setiap antibodi
Antibodi ini nantinya yang akan menentukan deretan pola angka termasuk aman atau tidak
Diasumsikan dalam kasus ini, jumlah angka dalam setiap setiap antibodi ada 6 buah

* Tentukan jumlah limfosit yang dibuat
Masing-masing Limfosit akan mengandung antibodi dengan pola tertentu
Diasumsikan dalam kasus ini, jumlah limfosit adalah 4 buah

* Tentukan batas stimulasi
stimulasi adalah jumlah berapa kali antibodi mendeteksi pola angks yang cocok dengan dirinya
Apabila deretan pola angka sudah melebihi batas stimulasi, maka deretan pola tersebut dikatakan tidak aman
Diasumsikan dalam kasus ini, batas stimulasi adalah 3 kali


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan proses pembuatan limfosit dengan teknik Negative Selection
Antibodi yang dibuat adalah antibodi dengan pola yang tidak terdapat pada contoh pola angka 1 sampai dengan 5

1a. Lakukan pembuatan antibodi dengan mengambil nilai bit (0 atau 1) secara acak
Kemudian masukkan antibodi ini kedalam calon limfosit

* Agar dapat menjalankan skrip diatas, maka diperlukan sebuah Class Limfosit untuk menampung semua data seperti antibodi yang digunakan, umur dan jumlah stimulasi yang telah dilakukan. Deklarasi Class Limfosit adalah sebagai berikut:

1b. Dapatkan nilai hash pada antibodi pada calon limfosit tersebut
Jumlah maksimal bit yang dapat digunakan adalah 32 bit, diluar batas itu maka harus menggunakan cara lain

1c. Lakukan pendeteksian apakah contoh pola angka diatas termasuk dalam pola antibodi acak
Jika ada yang cocok dengan contoh pola angka, maka tolak limfosit ini dan ulangi langkah perhitungan dari awal
Jika tidak ada yang cocok dengan contoh pola angka, maka masukkan calon limfosit ini ke dalam daftar limfosit

* Gunakan fungsi ini untuk mendeteksi apakah pola antibodi terdapat dalam pola angka input
Nilai pengembalian bernilai True apabila pola antibodi terdapat dalam pola angka input
Teknik pendeteksian yang digunakan adalah teknik Knuth-Morris-Pratt atau disebut juga dengan r-chunks matching
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

2. Lakukan perhitungan pendeteksian deretan pola sebanyak jumlah pola data baru dan selama belum ada limfosit yang terstimulasi

2a. Lakukan perulangan pada setiap limfosit
Apabila pola data baru terdeteksi oleh limfosit tertentu, maka tambahkan nilai stimulasi nya sebanyak 1 kali

2b. Apabila nilai stimulasi sebuah limfost sudah melebih batas nilai stimulasi, maka hentikan perhitungan

3. Catat kesimpulan yang didapatkan apakah ada limfosit yang terstimulasi atau tidak
Jika ada limfosit yang terstimulasi, maka deretan pola angka baru termasuk pola angka yang tidak aman
Jika tidak ada limfosit yang terstimulasi, maka deretan pola angka baru termasuk pola angka yang aman


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd58


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

4 pemikiran di “Deteksi Keamanan Pola menggunakan AIS (Artificial Immune System) dengan teknik Negative Selection

    • pip Penulis

      Jika yang anda maksud adalah waktu proses perhitungan seperti 5 detik atau 10 detik, menurut saya hal itu dapat dilakukan tidak dalam konteks algoritma apapun tetapi dilakukan sebelum dan setelah proses perhitungan algoritma dijalankan. Pengecekan nilai akurasi juga dapat dilakukan pada algoritma optimasi apapun setelah proses pelatihan selesai.