Selasa, 29 Desember 2009

FIREWALL

Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya. Firewall umumnya digunakan untuk mengontrol akses internet.

A. Jenis-Jenis Firewall

Ada empat jenis firewall, atau lebih tepatnya tiga jenis ditambah dengan satu tipe hybrid (campuran). Keempat jenis tersebut masing-masing adalah sebagai berikut:

1. Packet Filtering

Firewall jenis ini memfilter paket data berdasarkan alamat dan opsi-opsi yang sudah ditentukan terhadap paket tersebut. Firewall jenis ini terbagi lagi menjadi tiga subtipe:

o Static Filtering

o Dynamic Filtering

o Stateful Inspection

2. Circuit Gateways

Firewall jenis ini beroperasi pada layer (lapisan) transpor pada network, dimana koneksi juga diautorisasi berdasarkan alamat.

3. Application Gateways

Firewall tipe ini juga disebut sebagai firewall berbasis proxy.

4. Hybrid Firewalls

Firewall jenis ini menggunakan elemen-elemen dari satu atau lebih tipe firewall.

B. Fungsi Firewall

Firewall mempunyai beberapa fungsi, diantaranya :

1. Mengontrol dan mengawasi paket data yang mengalir di jaringan.

2. Melakukan autentifikasi terhadap akses.

3. Untuk aplikasi proxy.

4. Mencatat semua kejadian dijaringan.

Dalam hal ini memungkinkan membantu sebagai pendeteksi dini akan kemungkinan penjebolan jaringan.

Adapun tugas-tugas lain dari firewall. Firewall juga berfungsi membatasi akses antara dua jaringan, lebih khusus lagi, antara jaringan internal dengan jaringan global Internet. seperti :

1. Service control (kendali terhadap layanan).

Berdasarkan tipe-tipe layanan yang digunakan di Internet dan boleh diakses baik untuk ke dalam ataupun keluar firewall.

2. Direction Control (kendali terhadap arah)

Berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang akan dikenali dan diijinkan melewati firewall.

3. User control(kendali terhadap pengguna)

Berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yang dapat dan ada yang tidak dapat menjalankan suatu service, hal ini di karenakan user tersebut tidak di ijinkan untuk melewati firewall.

4. Behavior Control (kendali terhadap perlakuan)

Berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat memfilter email untuk menanggulangi/mencegah spam.

Sumber :

http://unms.unimal.ac.id/files/Firewall

http://blog.unipro.co.id/archives/650

Jelaskan apa yang dimaksud dengan perintah IP tables:

IPtables –I input –P tcp …. Dport 0:1023 –s 192.168.13.1 –J ACCEPT

Penjelasan :

-I

Memasukan aturan ke iptables.

-i

Melakukan pencocokan jika paket yang masuk dari interface tertentu.

-p

Protokol yang digunakan untuk sambungan.

-j

Jump ke target yang spesifik.

--dport

Port tujuan yang digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu batasan jangkauan ditulis sebagai start:end, yang akan mencocokan semua port start sampai end.

Maksud dari perintah iptables diatas adalah melarang akses dari port 0 sampai 1023 dari IP address 192.168.13.1 tetapi sebelumnya akan dilihat dulu apakah targetnya sesuai atau tidak, jika sesuai maka perintah tersebut dijalankan.

Regresi Linier

LISTING PROGRAM

uses crt;

type data = array[1..100] of real;

statis = object

procedure input;

procedure regresi_yx;

procedure regresi_xy;

procedure menu;

end;

var i,n : integer;

a,b : real;

x,y,x2,y2,xy : data;

pil : char;

function sigma(k:data):real;

var dat : real;

begin

dat := 0;

for i:= 1 to n do

dat:=dat+k[i];

sigma:=dat;

end;

procedure statis.input;

begin

clrscr;

write('Banyaknya data : ');

readln(n);

writeln;

writeln('Nilai X : ');

writeln;

for i:= 1 to n do

begin

write('Nilai X-',i,' : ');

readln(x[i]);

end;

writeln;

writeln('Nilai Y : ');

writeln;

for i:= 1 to n do

begin

write('Nilai Y-',' : ');

readln(y[i]);

end;

for i:= 1 to n do

begin

x2[i]:=x[i]*x[i];

y2[i]:=y[i]*y[i];

xy[i]:=x[i]*y[i];

end;

readln;

end;

procedure statis.regresi_yx;

begin

clrscr;

a:=((sigma(y)*sigma(x2)) - ( sigma(x)*sigma(xy))) / ((n*sigma(x2) - sigma(x)*sigma(x)));

b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(x2))-(sigma(x)*sigma(x)));

writeln;

writeln('Regresi Y terhadap X');

Writeln('--------------------');

writeln;

writeln('a = ',a:4:2);

writeln('b = ',b:4:2);

writeln;

writeln('Y = ',a:4:2,'+ (',b:4:2,') X');

readln;

readln;

end;

procedure statis.regresi_xy;

begin

clrscr;

a:=((sigma(x)*sigma(y2))-(sigma(y)*sigma(xy))) / ((n*sigma(y2))-(sigma(y)*sigma(y)));

b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(y2))-sigma(y)*sigma(y));

writeln;

writeln('Regresi X terhadap Y');

Writeln('--------------------');

writeln;

writeln('a = ',a:4:2);

writeln('b = ',b:4:2);

writeln('X = ',a:4:2,'+ (',b:4:2,') Y');

readln;

readln;

end;

procedure statis.menu;

begin

repeat

clrscr;

writeln('Menu');

writeln('1. Input');

writeln('2. Regresi y terhadap x');

writeln('3. Regresi x terhadap y');

writeln('4. Keluar');

writeln('Masukkan pilihan anda : ');

read(pil);

case pil of

'1':begin

input

end;

'2':begin

regresi_yx

end;

'3':begin

regresi_xy

end;

'4':halt;

end;

until pil = '4';

readln;

end;

var s : statis;

begin

s.menu;

end.

PENJELASAN PROGRAM

Pada laporan akhir kali ini akan membahas mengenai regresi linier. Regresi linier adalah persamaan matematika yang memungkinkan kita meramalkan nilai-nilai suatu peubah tidak bebas dari nilai-nilai satu atau lebih peubah bebas. Pada listing program diatas terdapat beberapa procedure dan juga function. Procedure-procedure tersebut diantaranya function sigma dan beberapa procedure, yakni procedure statis.input, procedure statis.regresi_yx, procedure statis.regresi_xy, procedure statis.menu. Pada procedure menu berisi beberapa pilihan, yakni 1. input, 2. Regresi y terhadap x, 3. Regresi x terhadap y, dan 4. Keluar.

LOGIKA PROGRAM

uses crt;

type data = array[1..100] of real;

statis = object

procedure input;

procedure regresi_yx;

procedure regresi_xy;

procedure menu;

end;

var i,n : integer;

a,b : real;

x,y,x2,y2,xy : data;

pil : char;

Pada listing program ini, uses crt berfungsi apabila akan digunakan unit crt. Pertama-tama dalam membuat suatu program maka kita harus mendeklarasikan tipe data apa saja yang akan dipakai. Kita mendeklarasikan type data yakni bertipe array. Selain itu juga beberapa procedure yang akan dipakai, yakni procedure input, procedure regresi_yx, procedure regresi_xy dan procedure menu. Dan mita juga memakai beberapa variabel. i,n bertipe data integer, a, b bertipe data real kemudian juga ada x, y, x2, y2, xy dan juga ada pilihan yang bertipe data char.

function sigma(k:data):real;

var dat : real;

begin

dat := 0;

for i:= 1 to n do

dat:=dat+k[i];

sigma:=dat;

end;

Function sigma diatas berfungsi untuk mencari jumlah dari semua data yang telah dinput, dan bertipe data real. Rumus dari penjumlahan adalah dat:=dat+k[i];, dimana k:data dan sigma:=dat;. Data tersebut dimulai dari data 1 sampai dengan data ke-n.

procedure statis.input;

begin

clrscr;

write('Banyaknya data : ');

readln(n);

writeln;

writeln('Nilai X : ');

writeln;

for i:= 1 to n do

begin

write('Nilai X-',i,' : ');

readln(x[i]);

end;

writeln;

writeln('Nilai Y : ');

writeln;

for i:= 1 to n do

begin

write('Nilai Y-',' : ');

readln(y[i]);

end;

for i:= 1 to n do

begin

x2[i]:=x[i]*x[i];

y2[i]:=y[i]*y[i];

xy[i]:=x[i]*y[i];

end;

readln;

end;

Selanjutnya procedure statis.input. Procedure ini digunakan untuk memasukkan input dari data. Pada procedure input ini kita akan diminta untuk menginput nilai x dan nilai y, dimana pada masing-masing inputan dari nilai x dan y ini kita diminta untuk menginput atau memasukkan data x dan y tersebut melalui keyboard. Setelai itu kita diminta looping sesuai jumlah yang kita input sebelumnya. Selain itu juga kita menghitung nilai dari x2, y2, dan xy. Untuk menghitung nilai x2 kita menggunakan rumus x2[i]:=x[i]*x[i];, untuk menghitung y2 kita menggunakan rumus y2[i]:=y[i]*y[i];, sedangkan untuk menghitung xy kita menggunakan rumus xy[i]:=x[i]*y[i];.

procedure statis.regresi_yx;

begin

clrscr;

a:=((sigma(y)*sigma(x2)) - ( sigma(x)*sigma(xy))) / ((n*sigma(x2) - sigma(x)*sigma(x)));

b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(x2))-(sigma(x)*sigma(x)));

writeln;

writeln('Regresi Y terhadap X');

Writeln('--------------------');

writeln;

writeln('a = ',a:4:2);

writeln('b = ',b:4:2);

writeln;

writeln('Y = ',a:4:2,'+ (',b:4:2,') X');

readln;

readln;

end;

Procedure selanjutnya yakni procedure statis.regresi_yx. Procedure tersebut digunakan untuk menampilkan regresi y terhadap x. Program tersebut pertama-tama akan mencetak Regresi y terhadap x. Untuk menghitung nilai a menggunakan rumus :=((sigma(y)*sigma(x2)) - ( sigma(x)*sigma(xy))) / ((n*sigma(x2) - sigma(x)*sigma(x)));. Sedangkan untuk menghitung nilai b menggunakan rumus b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(x2))-(sigma(x)*sigma(x)));. Nilai a akan ditampilkan sebagai nilai dari x, sedangkan nilai b akan ditampilkan sebagai nilai dari y apabila perhitungan dari rumus tersebut telah selesai.

procedure statis.regresi_xy;

begin

clrscr;

a:=((sigma(x)*sigma(y2))-(sigma(y)*sigma(xy))) / ((n*sigma(y2))-(sigma(y)*sigma(y)));

b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(y2))-sigma(y)*sigma(y));

writeln;

writeln('Regresi X terhadap Y');

Writeln('--------------------');

writeln;

writeln('a = ',a:4:2);

writeln('b = ',b:4:2);

writeln('X = ',a:4:2,'+ (',b:4:2,') Y');

readln;

readln;

end;

Kemudian procedure statis.regresi_xy. Procedure tersebut digunakan untuk menampilkan regresi x terhadap y. Program tersebut pertama-tama akan mencetak Regresi x terhadap y. Untuk menghitung nilai a menggunakan rumus a:=((sigma(x)*sigma(y2))-(sigma(y)*sigma(xy))) / ((n*sigma(y2))-(sigma(y)*sigma(y)));, sedangkan untuk menghitung nilai b menggunakan rumus b:=(n*(sigma(xy))-(sigma(x)*sigma(y))) / ((n*sigma(y2))-sigma(y)*sigma(y));. Seperti halnya program diatas, pada program ini nilai a juga akan ditampilkan sebagai nilai dari x, sedangkan nilai b akan ditampilkan sebagai nilai dari y apabila perhitungan dari rumus tersebut telah selesai.

procedure statis.menu;

begin

repeat

clrscr;

writeln('Menu');

writeln('1. Input');

writeln('2. Regresi y terhadap x');

writeln('3. Regresi x terhadap y');

writeln('4. Keluar');

writeln('Masukkan pilihan anda : ');

read(pil);

case pil of

'1':begin

input

end;

'2':begin

regresi_yx

end;

'3':begin

regresi_xy

end;

'4':halt;

end;

until pil = '4';

readln;

end;

var s : statis;

begin

s.menu;

end.

Selanjutnya akan masuk pada procedure yang terakhir dalam listing program diatas yakni procedure menu. Di dalam procedure menu diatas akan menjalankan perintah repeat (perulangan), kemudian clrscr digunakan untuk membersihkan layar dan juga akan mencetak menu pilihan, yaitu 1. input, 2. Regresi y terhadap x, 3. Regresi x terhadap y, 4. Keluar. Dan juga menampilkan tulisan Masukkan pilihan anda :. Kemudian memasukan pilihan user ke var pil. Repeat (perulangan) di sini di gunakan agar menu tidak akan keluar atau berakhir sampai user memilih menu pil 4. Pada program procedure menu ini menggunakan case of,dimana menu pertama hanya sebagai penulisan input dan selanjutnya adalah memperlihatkan regresi y terhadap x dan juga regresi x terhadap y.

OUTPUT PROGRAM

Tampilan menu awal.

Tampilan apabila memilih menu 1 dan kita menginput banyaknya data sebanyak 4.

Tampilan apabila memilih menu 2. Regresi y terhadap x.

Tampilan apabila memilih menu 3. Regresi x terhadap y.