Automatic Neural Network-Based Network Analyzer for Hot Spot Area

After about three months, we’ve just finished the Automatic Neural Network-Based Network Analyzer for Hot Spot Area. We created it by Matlab program and by other softwares such us Wireshark (http://www.wireshark.org) and Quick Screenshot Capture.

This system works simple by analyzing the image (with Artificial Neural Network Algorithm) from network traffic graph of wireshark that has captured periodically by Quick Screenshot Capture (or other application that available in the market). The resume will cluster the network by three cluster: Normal Condition, High Traffic Condition and Unnormal Condition. The unnormal condition may be happen if the viruses or DOS attacks threat our Hot Spot. Here is the demonstration of our application.

instead of for Network Analyzer, this system can be implemented for analyzing surveillance by using web cam or other devices.

Mengambil data dari Excel ke MATLAB

Selain mengambil data dari file berekstensi DAT, Matlab juga bisa mengambil data dari Microsoft Excell (baik 2007 maupun 2002/2003). Fungsi yang digunakan adalah “open”. Untuk mempraktekannya coba buka Microsoft Excell kemudian coba buat satu field berisi dua buah field (kolom) berikut ini.

Perhatikan Nama Sheet perlu diganti karena nama ini akan menjadi nama variabel data di workspace Matlab. Ganti Sheet1 menjadi Data misalnya. Simpan dengan nama bebas, misalnya tabel, tidak perlu disave as menjadi word 2002/2003. Buka Command Window Matlab, lakukan instruksi:

>>Open tabel.xlsx

Klik “Finish” saat jendel “Import Wizard” terbuka, centang isian M-Code, jika akan diaplikasikan dalam bentuk Script M-File. Klik tombol radio “Other” terlebih dahulu.

Berikutnya akan muncul satu variabel baru Data, yang jika kita ketik variabel tersebut akan memunculkan data yang sama dengan data excell.

>> Data

Data =

1 11

2 12

3 111

4 14

5 25

6 56

7 67

8 86

9 54

10 67

Berikut ini hasil generati kode –M.

function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
% Imports data from the specified file
% FILETOREAD1: file to read
% Auto-generated by MATLAB on 08-Aug-2011 13:50:26
DELIMITER = ' ';
HEADERLINES = 0;
% Import the file
newData1 = importdata(fileToRead1, DELIMITER, HEADERLINES);
% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base’, vars{i}, newData1.(vars{i}));
end

 

Coba sendiri untuk akses ke GUI-nya ya.

Mengarahkan Fuzzy C-Mean ke “Jalan Yang Benar”

Clustering merupakan masalah yang lumayan rumit. Misalkan kita punya serangkaian data yang terdiri dari dua kategori yaitu nilai IPA dan nilai IPS. Jika kita lakukan klasifikasi langsung dengan FCM kita tidak serta merta mendapatkan hasil klasifikasi nilai yang rata-rata besar di IPA dan yang rata-rata besar di IPS. Mengapa demikian? Karena ada kemungkinan data tersebut terklasifikasi menjadi nilai yang rata-rata IPA dan IPS kecil dan nilai rata-rata IPA dan IPS besar. Berikut ini grafik hasil olah data yang dilakukan oleh contoh help matlab (ketik help fcm). Coba lihat … data tercluster menjadi siswa yang pinter IPA dan IPS dengan yang bodoh IPA dan IPS, padahal yang kita cari siswa yang cenderung IPA (nilai IPA > IPS) dengan yang cenderung IPS (nilai IPS>IPA).


Oleh karena itu agar kita memperoleh klasifikasi antara kelompok IPA dan kelompok IPS kita harus menambahkan satu kategori di kolom berikutnya. Katakanlah jika kelompok IPA (besar nilai IPA-nya) kita kategorikan “1” dan sebaliknya IPS dengan “0”. Pindahkan ke Excel lalu beri satu kolom baru dengan instruksi IF: “=IF(A1<B1;0;1)”. Sehingga diperoleh data baru yang akan diklasifikasi oleh fcm.


… dst

Rename data lama dengan data baru yang tiga kolom ini, lakukan instruksi fcm seperti pada help fcm:

[center,U,obj_fcn] = fcm(data,2);

plot(data(:,1), data(:,2),’o’);

hold on;

maxU = max(U);

% Find the data points with highest grade of membership in cluster 1

index1 = find(U(1,:) == maxU);

% Find the data points with highest grade of membership in cluster 2

index2 = find(U(2,:) == maxU);

line(data(index1,1),data(index1,2),’marker’,’*’,’color’,’g’);

line(data(index2,1),data(index2,2),’marker’,’*’,’color’,’r’);

% Plot the cluster centers

plot([center([1 2],1)],[center([1 2],2)],’*’,’color’,’k’)

hold off;

center:

0.6525 0.2942 0.9853 à Pusat cluster IPA

0.3025 0.5733 0.0113 à Pusat cluster IPS

Hasilnya dapat dilihat pada grafik di bawah ini:


Hasilnya akurat bangettttt …