Hidup Ini Bagai Putaran Roda, Harus di Kayuh Agar Terus Berputar'

Minggu, 25 Januari 2009

Prasangka

Aduh ketemu temen lama emang bisa menyihir waktu cerita mulai dari jam 9 pagi sampek gak terasa sampai jam 4 sore, ada cerita yang aku mersas terkesan dengan cerita kelurga temenku langsung aja ceritanya gini, Ada seorang janda miskin hidup berdua dengan putri kecilnya yang masih berusia sembilan tahun. Kemiskinan memaksanya untuk membuat sendiri kue-kue dan menjajakannya di pasar demi kelangsungan hidup mereka. Hidup penuh kekurangan membuat si kecil tidak pernah bermanja-manja kepada ibunya seperti anak-anak kecil lainnya.

Suatu hari di musim dingin, saat selesai membuat kue, si ibu tersadar melihat keranjang penjaja kuenya sudah rusak berat. Dia pun keluar rumah untuk membeli keranjang baru dan berpesan kepada putrinya agar menunggu saja di rumah. Pulang dari membeli keranjang, si ibu menemukan pintu rumah tidak terkunci dan putrinya tidak ada di rumah. Spontan amarahnya memuncak. Putri betul-betul tidak tahu diri! Cuaca dingin seperti ini, disuruh diam di rumah sebentar saja malahan pergi bermain dengan teman-temannya!

Setelah selesai menyusun kue di keranjang, si ibu segera pergi untuk menjajakan kuenya. Dinginnya salju yang memenuhi jalanan tidak menyurutkan tekadnya demi kehidupan mereka. Dan sebagai hukuman untuk si putri, pintu rumah di kuncinya dari luar. "Kali ini Putri harus diberi pelajaran karena telah melanggar pesan," geram si ibu dalam hati.

Sepulang dari menjajakan kue, mata si ibu mendadak nanar saat menemukan gadis kecilnya tergeletak di depan pintu. Dengan berteriak histeris segera dipeluknya tubuh putrinya yang telah kaku karena kedinginan. Dengan susah payah dipindahkannyalah tubuh putri ke
dalam rumah.

"Putri...Putri. ..Putri.. ., bangun, Nak! Ini ibu, Nak! Bangun, Nak!
Ibu tidak marah kok. Bangun Putri anakku!" Serunya sambil menangis merung-raung dan berusaha sekuat tenaga membangunkan dengan menguncang-guncangk an tubuh si putri agar terbangun. Tetapi putri tidak bereaksi sama sekali.

Tiba-tiba terjatuh dari genggaman tangan si putri sebuah bungkusan kecil. Saat dibuka, ternyata di dalamnya berisi sebungkus kecil biskuit dan secarik kertas usang. Dengan tergesa-gesa dan tangan yang gemetar hebat, si ibu segera mengenali tulisan putrinya yang masih berantakan tetapi terbaca jelas.

"Ibuku tersayang, Ibu pasti lupa hari istimewa Ibu ya. Hi... hi... hi..., ini Putri belikan biskuit kesukaan ibu. Maaf Bu, uang putri tidak cukup untuk membeli yang besar dan maaf lagi Putri telah melanggar pesan Ibu karena meninggalkan rumah untuk membeli biskuit ini. Selamat ulang tahun, Bu. Putri selalu sayang, Ibu!" Dan meledaklah tangis sang ibu.

Pembaca yang budiman,

Huai Ie, prasangka sering mendatangkan petaka adalah kalimat yang cocok dengan kisah tadi dan penyesalan biasanya datang menyusul di belakang itu. Begitu banyak masalah dan problem di dunia ini muncul karena prasangka negatif maka butuh kedewasaan dalam mengendalikan
pikiran agar kebiasaan berprasangka tidak kita layani begitu saja dan sedapat mungkin kita hilangkan. Kita ganti dengan berfikir positif sekaligus hati-hati dengan demikian memungkinkan hubungan kita dengan orang lain akan menjadi harmonis dan membahagiakan.

Jumat, 23 Januari 2009

STACK

Dalam Ilmu komputer Stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO

Pemanfaatan Stack :

  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif

Operasi Stack yang biasanya :

  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain.
Disini saya akan memberikan Contoh coding stack di Java
/**
* @(#)Text1.java
*
*
* @author Siswoko
* @version 1.00 2009/1/23
*/


import java.io.*;
import java.util.Hashtable;
import java.util.Enumeration;

public class Stack {
public static void main(String args[]) {
System.out.println("Contoh STACK \nby : Siswoko ");
BufferedReader entry=new BufferedReader(new InputStreamReader(System.in));
Hashtable myHashtable=new Hashtable();
Enumeration enum1;
try {
int data=0,urutan=0,temp=0,pilihan=0;
do{
System.out.print("\nMasukkan data (0 - selesai) : ");
data=Integer.parseInt(entry.readLine());
if (data!=0) {
urutan++;
myHashtable.put(new Integer(urutan),new Integer(data));
System.out.print(data);
}
}while(data!=0);
do{
System.out.print("\n\n MENU OPERASI STACK"+
"\n 1 - put() --> menambahkan Stack"+
"\n 2 - insert --> menyisipkan Stack"+
"\n 3 - remove() --> mengurangi Stack"+
"\n 4 - select removed--> mengurangi sesuai indeks"+
"\n 5 - isEmpty() --> mengecek apakah Stack kosong?"+
"\n 6 - clear() --> mengosongkan STACK"+
"\n 7 - size() --> mengetahui banyak data di Stack"+
"\n (0 - selesai)"+
"\n\nPilihan Anda : ");
pilihan=Integer.parseInt(entry.readLine());

//operasi pada variabel STACK
switch (pilihan){
case 0 : break;
case 1 :{System.out.print("\nMasukkan data baru (0 - cancel) : ");
data=Integer.parseInt(entry.readLine());
if (data!=0) {
System.out.print(data);
urutan++;
myHashtable.put(new Integer(urutan),new Integer(data));
}break;
}
case 2 :{ System.out.print("\nMasukkan data baru (0 - cancel) : ");
data=Integer.parseInt(entry.readLine());
if (data!=0) {
System.out.print(data);
System.out.print("\nMasukkan lokasi data : ");
temp=Integer.parseInt(entry.readLine());
if (temp<0||temp>urutan) {
System.out.println("\nSalah input lokasi!");
temp=0;
break;
}
else{
System.out.print(temp);
myHashtable.put(new Integer(temp),new Integer(data));
temp=0;
}
}break;
}
case 3 :{ if (myHashtable.isEmpty())
System.out.println("\nData telah habis!");
else{
System.out.print("\nData teratas dihapus : "+
myHashtable.remove(new Integer(urutan)));
urutan--;
}
break;
}
case 4 :{ System.out.print("\nMasukkan lokasi data (1-"+urutan+") yang akan dihapus (0 - cancel) : ");
temp=Integer.parseInt(entry.readLine());
if (temp==0)
break;
else{
System.out.print(temp);
myHashtable.remove(new Integer(temp));
}break;
}
case 5 :{ if (myHashtable.isEmpty())
System.out.println("\nData telah habis!");
else
System.out.println("\nData tersedia.");
break;
}
case 6 :{ System.out.println("\nAnda telah mengosongkan varibel Stack!");
myHashtable.clear();
break;
}
case 7 :{ System.out.println("\nData di varibel Stack adalah "+myHashtable.size());
break;
}
default : System.out.println("Pilihan tidak tersedia!\n");
}
}while (pilihan!=0);
//menampilkan seluruh data Stack
System.out.print("\n PILIHAN TAMPILAN"+
"\n 1 - LIFO (Last In Fist Out)"+
"\n 2 - FIFO (First In First Out)"+
"\n\nPilihan Anda : ");
pilihan=0;
pilihan=Integer.parseInt(entry.readLine());
System.out.print("\nData di variabel Stack : ");

if (!myHashtable.isEmpty()){
switch (pilihan) {
//LIFO
case 1 :{

enum1=myHashtable.elements();
while (enum1.hasMoreElements())
System.out.print("\n\t"+enum1.nextElement());

/* while (urutan>0) {
Object object=myHashtable.get(new Integer(urutan));
System.out.print("\n\t"+object);
urutan--;
}
*/ break;
}
//FIFO
case 2 :{
for (int i=1;i<=urutan;i++) {
Object object=myHashtable.get(new Integer(i));
System.out.print("\n\t"+object);
}
break;
}
default : System.out.print("Pilihan tidak tersedia!\n");
}
}else
System.out.print("kosong\n");
System.out.println();
} catch (Exception e) {
System.out.println("\nSalah Input data!");
}
}
}


Rabu, 21 Januari 2009

Filosofi aturan Permainan Catur



“Jangan pernah meremehkan orang meski orang tersebut tak berarti"
ini ibarat pion,meski kdg cm dipandang sebelah mata & sering diremehkan perannya dalam permainan--tapi pada saatnya-- pion bisa berubah menjadi apa saja jika selamat melangkah dibatas akhir pertahanan lawan.
Permainan catur adalah permainan yang cukup rumit. Kerumitan ini meliputi beberapa hal. Pertama si pemain harus mengerti aturan gerak langkah masing-masing buah catur. Benteng gerakannya lurus. Luncur atau 'knight' gerakannya diagonal , Kuda gerakannya berbentuk hurul L, dst. Kedua, aturan permainan, misal bagaimana cara "makan, teknik skak dan skak mat". Saya yakin banyak yg sudah mahir bermain catur, namun taukah anda bahwa di permainan catur itu ada filosofi kehidupan?? dan inilah sebenernya yang ingin saya bahas disini.

Dalam catur sudah diatur bagimana pergerakan dari bidak-bidaknya, Dalam kehidupan…..setiap orang mempunyai peran dan cara hidup masing-masing yang terikat dalam aturan-aturan, baik yg dibuat Tuhan maupun oleh manusia sendiri. So….ikuti aturan dan pahami benar-benar apa peran yang sedang kita mainkan serta seyogyanya kita tahu apa yang seharusnya kita kerjakan.

Dalam catur kita sudah menentukan cara bermain….. bertahan atau menyerang. Dalam kehidupan, kita bisa melihat bagaimana seseorang menjalani kehidupannya, ada yang bertahan dengan hidup yang ia jalani , ada yang berusaha dengan sekuat tenaga mengalahkan takdir hidup yang ia jalani. Mana yang lebih baik? semua tentu baik asal tujuannya bukan untuk menyerah tapi untuk menang.

Dalam catur posisi skak adalah posisi dimana kita terjepit untuk melangkah, Dalam kehidupan kita sering mengalami hal-hal yang membuat kita terjepit, dihadapkan pada pilihan2 yang sama2 sulit, maka disinilah letak kejelian kita untuk menentukan sikap dalam masa2 sulit, satu sikap yang benar2 bagus. Sikap dan keputusan yang bijak dan bermanfaat untuk langkah selanjutnya, menentukan solusi jitu untuk keluar dari masa sulit dalam hidup ini ibarat permainan catur dalam posisi skak.

Dalam catur posisi skak matt adalah akhir dari permainan, Sang Raja mati langkah lalu biasanya dimulailah permainan baru dari awal, dengan semangat baru bagi yang menang dan bagi yang kalah adalah awal untuk menyusun strategi baru guna mengalahkan si lawan, begitupun dalam kehidupan, kadang kita dihadapkan pada takdir yang tidak kita inginkan, membuat kita mati langkah dan harus menerima kenyataan gagal/kalah dalam hidup ini. namun sepahit apapun takdir hidup kita, segeralah bangkit untuk menyusun permainan baru, dengan semangat baru dan strategi baru untuk mengalahkan! untuk menang!

"Filosofi hidup itu layaknya bermain catur, meski pada kenyatannya lebih rumit dan lebih kompleks aturannya dari sekedar permainan catur."

Kamis, 15 Januari 2009

Load Balancing Dual ADSL di Satu Router

Akhir nya kelar juga deh nyobak dua koneksi ADSl spedy yang akhir akhir ini koneksi yang kayak gini,ambil belajar waktu luang iseng iseng buat load balance di Router Openbsd.Berikut ini contoh load balance yang saya terapkan pada mesin OpenBSD sebagai NAT router, interface ethernet yang digunakan yaitu fxp0 dan fxp1 dengan dua koneksi ADSL Telkom Speedy.

Aktifkan tcp forwarding di mesin BSD anda dengan command :

sysctl -w net.inet.ip.forwarding=1

dan edit di /etc/sysctl.conf agar tetap tereksekusi pada saat router reboot

net.inet.ip.forwarding=1

Pastikan konfigurasi interface ethernet dan default routingnya kosong, hanya filename saja

# /etc/hosts.fxp0

# /etc/hosts.fxp1

# /etc/hostname.fxp0

# /etc/hostnamefxp1

# /etc/mygate

Berikut ini contoh script koneksi ADSL Telkom Speedy pada PPP, pppoe0 untuk koneksi pertama dan pppoe1 untuk koneksi kedua. Sesuaikan interface, username dan passwordnya.

# /etc/ppp/ppp.conf

default:

set log Phase Chat LCP IPCP CCP tun command

set redial 15 0

set reconnect 15 10000

pppoe0:

set device “!/usr/sbin/pppoe -i fxp0″

disable acfcomp protocomp

deny acfcomp

set mtu max 1492

set mru max 1492

set crtscts off

set speed sync

enable lqr

set lqrperiod 5

set cd 5

set dial

set login

set timeout 0

set authname usernamespeedy1@telkom.net

set authkey passwordspeedy1

add! default HISADDR

enable dns

enable mssfixup

pppoe1:

set device “!/usr/sbin/pppoe -i fxp1″

disable acfcomp protocomp

deny acfcomp

set mtu max 1492

set mru max 1492

set crtscts off

set speed sync

enable lqr

set lqrperiod 5

set cd 5

set dial

set login

set timeout 0

set authname usernamespeedy2@telkom.net

set authkey passwordspeedy2

add! default HISADDR

enable dns

enable mssfixup

Aktifkan interface fxp0 dan fxp1 pada mesin router

# ifconfig fxp0 up

# ifconfig fxp1 up

Jalankan PPPoE, Point to Point Protocol over Ethernet.

# ppp -ddial pppoe0

# ppp -ddial pppoe1

Jika dial koneksi ADSL Telkom Speedy berhasil, maka IP Address dari ADSL Telkom Speedy akan di Binding di dalam interface tunneling tun0 dan tun1

# ifconfig

tun0: flags=8051 mtu 1492

groups: tun egress

inet 125.xxx.xxx.234 -> 125.163.72.1 netmask 0xffffffff

tun1: flags=8051 mtu 1492

groups: tun

inet 125.xxx.xxx.235 -> 125.163.72.1 netmask 0xffffffff

Default gateway akan otomatis aktif dan terisi

# netstat -nr

Routing tables

Internet:

Destination Gateway Flags Refs Use Mtu Interface

default 125.163.72.1 UGS 5 18347 - tun0

Konfigurasi DNS server pada file /etc/resolv.conf akan otomatis terisi

# cat /etc/resolv.conf

nameserver 202.134.2.5

nameserver 203.130.196.5

Untuk load balancing nya saya menggunakan OpenBSD Packet Filter (pf). Aktifkan PacketFirewall pf.

# /etc/rc.conf

pf=”YES”

Script Packet Firewall NAT dan balancing menggunakan round-robin (atau bisa diganti dengan loadbalance jika lebih sesuai dengan kebutuhan).

# /etc/pf.conf

lan_net = “192.168.0.0/24″

int_if = “em0″

ext_if1 = “tun0″

ext_if2 = “tun1″

ext_gw1 = “125.163.72.1″

ext_gw2 = “125.163.72.1″

# scrub all

scrub in all

# nat outgoing connections on each internet interface

nat on $ext_if1 from $lan_net to any -> ($ext_if1)

nat on $ext_if2 from $lan_net to any -> ($ext_if2)

# pass all outgoing packets on internal interface

pass out on $int_if from any to $lan_net

# pass in quick any packets destined for the gateway itself

pass in quick on $int_if from $lan_net to $int_if

# load balance outgoing tcp traffic from internal network.

pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \ $ext_gw2) } \ round-robin proto tcp from $lan_net to any flags S/SA \ modulate state

# load balance outgoing udp and icmp traffic from internal network

pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \ ext_gw2) } \ round-robin proto { udp, icmp } from $lan_net to any keep state

# general “pass out” rules for external interfaces

pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state

pass out on $ext_if1 proto { udp, icmp } from any to any keep state

pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state

pass out on $ext_if2 proto { udp, icmp } from any to any keep state

Setelah itu restart pf rules dengan perintah

# pfctl -f /etc/pf.conf

Masukkan baris berikut ke dalam /etc/rc.local agar setiap router restart / reboot akan otomatis menjalankan PPPoE.

# /etc/rc.local

ppp -ddial pppoe0

ppp -ddial pppoe1

Untuk membunuh / merestart koneksi ADSL, PPPoE harus dimatikan terlebih dahulu

# pkill ppp

Fungsi NAT Pool round-robin dapat dipantau menggunakan pftop yang dapat diambil di sini.

Konfigurasi Mikrotik Router dengan Firewall

Untuk mengamankan router mikrotik dari serangan orang orang yang tidak bertanggung jawab, traffic virus dan excess ping, berikut ini langkah-langkah yang harus dilakukan :

Pertama kita buat address-list “trusted-network” yang berisi alamat IP yang berhak mengakses router dan masuk dalam kategori “Trusted Network”.

Dalam contoh berikut ini, saya menggunakan IP lokal network / LAN 192.168.1.0/24. Dan IP public 202.152.x.x dari akses internet rumah saya. Anda bisa menambahkan list IP tersebut agar dapat mengakses routernya.

/ip firewall address-list add list=trusted-network address=192.168.1.0/24 comment=”Trusted Network” disabled=no

/ip firewall address-list add list=trusted-network address=202.152.x.x/24 comment=”Trusted Network” disabled=no

Selanjutnya buat chain virus agar port-port yang sering dimanfaatkan virus di blok sehingga traffic virus tidak dapat dilewatkan, tetapi perlu diperhatikan jika ada user yang kesulitan mengakses service tertentu apakah port yang dibutuhkan user tersebut terblok oleh firewall.

/ip firewall filter add chain=forward connection-state=established action=accept comment=”Allow Established Connections” disabled=no

/ip firewall filter add chain=forward connection-state=related action=accept comment=”Allow Related Connections” disabled=no

/ip firewall filter add chain=virus protocol=udp dst-port=135-139 action=drop comment=”Drop Messenger Worm” disabled=no

/ip firewall filter add chain=forward connection-state=invalid action=drop comment=”Drop Invalid Connections” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=135-139 action=drop comment=”Drop Blaster Worm” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment=”Worm” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=445 action=drop comment=”Drop Blaster Worm” disabled=no

/ip firewall filter add chain=virus protocol=udp dst-port=445 action=drop comment=”Drop Blaster Worm” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=593 action=drop comment=”________” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment=”________” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1080 action=drop comment=”Drop MyDoom” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1214 action=drop comment=”________” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1363 action=drop comment=”NDM Requester” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1364 action=drop comment=”NDM Server” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1368 action=drop comment=”Screen Cast” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1373 action=drop comment=”Hromgrafx” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=1377 action=drop comment=”Cichlid” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment=”Bagle Virus” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=2283 action=drop comment=”Drop Dumaru.Y” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=2535 action=drop comment=”Drop Beagle” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment=”Drop Beagle.C-K” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=3127 action=drop comment=”Drop MyDoom” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=3410 action=drop comment=”Drop Backdoor OptixPro” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=4444 action=drop comment=”Worm” disabled=no

/ip firewall filter add chain=virus protocol=udp dst-port=4444 action=drop comment=”Worm” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=5554 action=drop comment=”Drop Sasser” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=8866 action=drop comment=”Drop Beagle.B” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=9898 action=drop comment=”Drop Dabber.A-B” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=10000 action=drop comment=”Drop Dumaru.Y, sebaiknya disable karena juga sering digunakan utk vpn / webmin” disabled=yes

/ip firewall filter add chain=virus protocol=tcp dst-port=10080 action=drop comment=”Drop MyDoom.B” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=12345 action=drop comment=”Drop NetBus” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=17300 action=drop comment=”Drop Kuang2″ disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=27374 action=drop comment=”Drop SubSeven” disabled=no

/ip firewall filter add chain=virus protocol=tcp dst-port=65506 action=drop comment=”Drop PhatBot, Agobot, Gaobot” disabled=no

Jump semua paket yang melewati router ke dalam virus chain

/ip firewall filter add chain=forward action=jump jump-target=virus comment=”Jump to The Virus Chain” disabled=no

Accept Established and Related Connection

/ip firewall filter add chain=input connection-state=established action=accept comment=”Accept Established Connections” disabled=no

/ip firewall filter add chain=input connection-state=related action=accept comment=”Accept Related Connections” disabled=no

Drop Invalid Connection

/ip firewall filter add chain=input connection-state=invalid action=drop comment=”Drop Invalid Connections” disabled=no

Accept UDP Connection, Limited Pings and Drop Excess Ping

/ip firewall filter add chain=input protocol=udp action=accept comment=”UDP” disabled=no

/ip firewall filter add chain=input protocol=icmp limit=50/5s,2 action=accept comment=”Allow Limited Pings” disabled=no

/ip firewall filter add chain=input protocol=icmp action=drop comment=”Drop Excess Pings” disabled=no

Allow Input Connection From Trusted Networks

/ip firewall filter add chain=input protocol=tcp dst-port=21 src-address-list=trusted-network action=accept comment=”FTP” disabled=no

/ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list=trusted-network action=accept comment=”SSH for Secure Shell” disabled=no

/ip firewall filter add chain=input protocol=tcp dst-port=23 src-address-list=trusted-network action=accept comment=”Telnet” disabled=no

/ip firewall filter add chain=input protocol=tcp dst-port=80 src-address-list=trusted-network action=accept comment=”Web” disabled=no

/ip firewall filter add chain=input protocol=tcp dst-port=8291 src-address-list=trusted-network action=accept comment=”Winbox” disabled=no

/ip firewall filter add chain=input protocol=tcp dst-port=1723 action=accept comment=”pptp-server” disabled=no

/ip firewall filter add chain=input src-address-list=trusted-network action=accept comment=”From Trusted Network” disabled=no

Log All and Drop Everything Else

/ip firewall filter add chain=input action=log log-prefix=”DROP INPUT” comment=”Log Everything Else” disabled=no

/ip firewall filter add chain=input action=drop comment=”Drop Everything Else” disabled=no

Dengan Firewall diatas maka :

1. Router hanya dapat diakses service FTP, SSH, Web dan Winbox dari IP yang telah didefinisikan dalam address-list “trusted-network”.
2. Port-port yang sering dimanfaatkan oleh virus di blok oleh Router sehingga traffic virus tidak dapat melewati Router, tetapi perlu diperhatikan jika ada user yang mengakses service tertentu harus dicek pada chain=”virus” apakah port yang dibutuhkan user tersebut terblok oleh firewall atau tidak.
3. Ping Request dibatasi untuk menghindari excess ping.

NB : Perlu diperhatikan bahwa default user dari mikrotik ini adalah admin. Untuk lebih safe nya, buat user baru dan password dengan group full kemudian disable user admin, hal ini untuk meminimasi resiko router mikrotik di hack orang.

Rabu, 14 Januari 2009

Setting Mikrotik Wireless Bridge

Sering kali, kita ingin menggunakan Wireless untuk solusi point to point dengan mode jaringan bridge (bukan routing). Namun, RouterOS sendiri didesain bekerja dengan sangat baik pada mode routing. Kita perlu melakukan beberapa hal supaya link wireless kita bisa bekerja untuk mode bridge.

Mode bridge memungkinkan network yang satu tergabung dengan network di sisi satunya secara transparan, tanpa perlu melalui routing, sehingga mesin yang ada di network yang satu bisa memiliki IP Address yang berada dalam 1 subnet yang sama dengan sisi lainnya.

Namun, jika jaringan wireless kita sudah cukup besar, mode bridge ini akan membuat traffic wireless meningkat, mengingat akan ada banyak traffic broadcast dari network yang satu ke network lainnya. Untuk jaringan yang sudah cukup besar, saya menyarankan penggunaan mode routing.

Berikut ini adalah diagram network yang akan kita set.

Konfigurasi Pada Access Point

1. Buatlah sebuah interface bridge yang baru, berilah nama bridge1

2. Masukkan ethernet ke dalam interface bridge

3. Masukkan IP Address pada interface bridge1

4. Selanjutnya adalah setting wireless interface. Kliklah pada menu Wireless (1), pilihlah tab interface (2) lalu double click pada nama interface wireless yang akan digunakan (3). Pilihlah mode AP-bridge (4), tentukanlah ssid (5), band 2.4GHz-B/G (6), dan frekuensi yang akan digunakan (7). Jangan lupa mengaktifkan default authenticated (8) dan default forward (9). Lalu aktifkankanlah interface wireless (10) dan klik OK (11).

5. Berikutnya adalah konfigurasi WDS pada wireless interface yang digunakan. Bukalah kembali konfigurasi wireless seperti langkah di atas, pilihlah tab WDS (1). Tentukanlah WDS Mode dynamic (2) dan pilihlah bridge interface untuk WDS ini (3). Lalu tekan tombol OK.

6. Langkah selanjutnya adalah menambahkan virtual interface WDS. Tambahkan interface WDS baru seperti pada gambar, lalu pilihlah interface wireless yang kita gunakan untuk WDS ini. Lalu tekan OK.

7. Jika WDS telah ditambahkan, maka akan tampak interface WDS baru seperti pada gambar di bawah.

Konfigurasi pada Wireless Station

Konfigurasi pada wireless station hampir sama dengan langkah-langkah di atas, kecuali pada langkah memasukkan IP Address dan konfigurasi wirelessnya. Pada konfigurasi station, mode yang digunakan adalah station-wds, frekuensi tidak perlu ditentukan, namun harus menentukan scan-list di mana frekuensi pada access point masuk dalam scan list ini. Misalnya pada access point kita menentukan frekuensi 2412, maka tuliskanlah scan-list 2400-2500.


Pengecekan link

Jika link wireless yang kita buat sudah bekerja dengan baik, maka pada menu wireless, akan muncul status R (lihat gambar di bawah).

Selain itu, mac-address dari wireless yang terkoneksi juga bisa dilihat pada jendela registration (lihat gambar di bawah).


Konfigurasi keamanan jaringan wireless

Pada Mikrotik, cara paling mudah untuk menjaga keamanan jaringan adalah dengan mendaftarkan mac-address wireless pasangan pada access list. Hal ini harus dilakukan pada sisi access point maupun pada sisi client. Jika penginputan access-list telah dilakukan, maka matikanlah fitur default authenticated pada wireless, maka wireless lain yang mac addressnya tidak terdaftar tidak akan bisa terkoneksi ke jaringan kita.

Jika kita menginginkan fitur keamanan yang lebih baik, kita juga bisa menggunakan enkripsi baik WEP maupun WPA.

Sumber : http://www.mikrotik.co.id/

Senin, 12 Januari 2009

Tekanan-tekanan hidup

Perubahan situasi dan kondisi krisis global saat ini, membawa perasaan banyak jiwa menjadi gundah, khawatir, takut, emosi tinggi, dan tidak sedikit yang menjadi kebingungan akan kelanjutan kehidupannya di masa depan.

Banyak orang yang kemudian sulit menggambarkan perasaan yang sesungguhnya sedang dialaminya, sehingga hanya semakin menambah banyaknya pribadi yang mengalami tekanan-tekanan dalam hidupnya.

Namun, tidak sedikit pribadi yang mengalami perubahan dari tidak serius menjadi lebih serius dalam bekerja, lebih rajin dalam berjuang menjalankan usaha dan bisnis.

Sebetulnya, ada dua pola tekanan – yang satu demikian cantiknya sehingga tidak dirasakan sebagai tekanan; dan yang satu lagi demikian menyiksanya sehingga merenggut seseorang keluar dari kenyamanan rumah tangganya dan menjadikan jalanan sebagai tempat tinggalnya.

Berikut adalah beberapa tekanan yang mungkin sedang menghimpit kita dari kebebasan yang semestinya

1. Tekanan Persepsi

Pelajaran dan tuntunan itu tampil dan ada se-nyata batu yang tergigit dalam kunyahan nasi, dan tidak untuk dipersepsikan selain sebagai yang telah terbuktikan.

Tetapi persepsi kita – cara pandang yang dihasilkan oleh pendapat dan pengertian kita, sering membuat kita menerapkan pendekatan pada hidup, yang membuat kita berpacu kencang terbentur-bentur di jalan-jalan lingkar yang rumit, hanya untuk dipaksa masuk kembali ke jalan yang paling mendekatkan.

Dalam kondisi seperti saat ini, banyak di antara kita yang memajukan persepsi masing-masing yang pada akhirnya menjadi sebuah ajang peperangan yang saling menjelekkan persepsi orang lain.

2. Tekanan Kebutuhan

Bila seseorang bisa sampai pada keadaan di mana dia tidak dapat memenuhi kebutuhan dasarnya, pasti ada hal-hal yang harus diperbaiki pada persepsi-persepsi, keputusan-keputusan, dan cara-caranya.

Karena, kita sering membutuhkan yang tidak kita butuhkan, dan dengan keyakinan yang tidak mengerti, menafikan yang paling kita butuhkan.

Dalam suasana krisis global seperti ini, banyak orang yang merasa berada dalam tekanan kebutuhan yang terjadi sebagai akibat tidak tegasnya terhadap pilihan-pilihan keputusan yang baik.

3. Tekanan Keinginan

Ada anggapan bahwa semakin banyak keinginan kita, akan semakin tinggi tingkat tekanan hidup kita. Itu tidak sepenuhnya benar.

Karena tidak semua keinginan memberikan beban yang berat.

Hanya keinginan-keinginan yang tidak didasari oleh nilai-nilai yang baik, yang akan menghasilkan pemaksaan-pemaksaan diri yang berat.

Dalam perasaan dan kondisi yang menghimpit ini, kita sering meminta kepada Beliau Yang Maha Memiliki agar memenuhi seluruh keinginan kita dengan cara-cara yang tidak mendekatkan kita bagi terbagikannya izin dari-Nya untuk memenuhi.

4. Tekanan Kewajiban

Kewajiban minimal kita hanya sebanding dengan kebutuhan dasar kita.

Tetapi kita semua terdorong untuk mencapai tingkat-tingkat yang lebih tinggi dari tingkat di mana kita berada sekarang, yang menghasilkan pembengkakan dari kewajiban-kewajiban kita.

Sehingga kita membuat lebih banyak perjanjian. Kita terlibat dalam lebih banyak kesibukan dan keharusan.

Berbagai tekanan yang melanda kita,mengkomposisikan perasan dan pikiran yang penuh sesak dengan kewajiban-kewajiban yang harus dilaksanakan untuk memenuhi seluruh kebutuhan.

5. Tekanan Umur

Ini adalah tekanan yang paling sering tidak kita rasakan, sampai saat di mana batasan-batasan umur menjadi aktif dalam mempermalukan keinginan-keinginan kita.

Itu sebabnya kita membutuhkan pengingatan yang terus menerus mengenai keharusan untuk memaksimalkan upaya agar kita menjadi apa pun yang bisa kita capai, selama umur masih ramah membagi tenaga-nya kepada kita.

Tekanan-tekanan itu begitu menghimpit kehidupan kita, yang membuat di antara kita yang merasa tak bebas lagi melangkah dalam menjadikan diri ini sebagaimana seharusnya menjadi.

Langkah-langkah yang sebelumnya gagah, menjadi tertahan seakan-akan tidak ada lagi jalan dan cara lain untuk menuju pencapaian-pencapaian yang lebih baik di masa depan.

Jika kita ikhlas dalam menjalani dan menerima semua yang terjadi dalam kehidupan ini,maka sebetulnya banyak hikmah dan pelajaran yang dapat kita petik untuk kita lebih berani berjalan.

Mudah-mudahan pengertian ini dapat menjadikan kita menjadi pribadi yang lebih berbahagia dalam kedamaian yang penuh kesyukuran.

Rabu, 07 Januari 2009

Coding Contoh Kalkulator di java


ya sekedar mencobah belajar java dengan membuat projek Kalkulator agak berbeda dengan kalkulator di delphi dulu,baik codingnya dan tataletaknya langsung aja ni :
coding ini simpan/Save aja dengan nama CobaCalculator. setelah itu compile jadi deh. ni cuma kalkulator sedehana banget untuk lebih bagus silahkan modifikasi


/**
* @(#)Text1.java
*
*
* @author
* @version 1.00 2009/1/8
*/


import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.UIManager;

class MiniCalculator extends JFrame implements ActionListener {
private JPanel panelAtas = new JPanel();
private JPanel panelTengah = new JPanel();
private JPanel panelBawah = new JPanel();

private JTextField tampilan = new JTextField("");
private JCheckBox pemisahRibuan = new JCheckBox("Pemisah Ribuan", true);

private JButton[] tombolFungsi =
{
new JButton("Hapus"), new JButton("Batal"),
new JButton("Ulang"), new JButton("^"),
new JButton("7"), new JButton("8"),
new JButton("9"), new JButton("*"),
new JButton("4"), new JButton("5"),
new JButton("6"), new JButton("/"),
new JButton("1"), new JButton("2"),
new JButton("3"), new JButton("-"),
new JButton("0"), new JButton("."),
new JButton("="), new JButton("+"),
};

private JLabel informasi = new JLabel("(c)2008");
private JButton tombolExit = new JButton("Exit");

private char operator = ' ';
private double dataPertama = 0.0;
private double dataKedua = 0.0;
private double dataHasil = 0.0;
private boolean awalKetikan = true;
private boolean entryPertama = true;
private boolean entryDesimal = true;

//----------------------------
//Constructor class
//----------------------------
public MiniCalculator() {
super("Kalkulator Sederhana");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(350,300);
setResizable(false);

//Procedure
setPanelAtas();
setPanelTengah();
setPanelBawah();
resetNilai();

getContentPane().setLayout(new BorderLayout());
getContentPane().add(panelAtas, BorderLayout.NORTH);
getContentPane().add(panelTengah, BorderLayout.CENTER);
getContentPane().add(panelBawah, BorderLayout.SOUTH);

show();
}

//----------------------
//Mereset seluruh nilai
//----------------------
private void resetNilai()
{
operator = ' ';

dataPertama = 0.0;
dataKedua = 0.0;
dataHasil = 0.0;

awalKetikan = true;
entryPertama = true;
entryDesimal = false;
}

//-------------------
//Mengatur Panel Atas
//-------------------
private void setPanelAtas()
{
pemisahRibuan.setForeground(new Color (0,0,0));
pemisahRibuan.setFont(new Font ("arial", Font.PLAIN, 14));

tampilan.setEnabled(false);
tampilan.setHorizontalAlignment(JTextField.RIGHT);
tampilan.setFont(new Font("arial", Font.BOLD, 15));

panelAtas.setLayout(new BorderLayout());
panelAtas.add(tampilan, BorderLayout.CENTER);
panelAtas.add(pemisahRibuan, BorderLayout.SOUTH);
}

//---------------------
//Mengatur Panel Tengah
//---------------------
private void setPanelTengah()
{
panelTengah.setLayout(new GridLayout (5,4));

for (int i=0; i<5*4; temp =" data.toString();"> 3)
{
temp = data.substring(data.length() - 3);
data.delete(data.length() - 3, data.length());

temp = pisahkan(data) + ',' + temp.toString();
}
return(temp);
}

//---------------------------
//Pemisah Ribuan
//---------------------------
private String pisahkanRibuan(double data)
{
String string = Double.toString(data);
int titik = string.indexOf('.');
String pecahan = string.substring(titik);
long bulat = new Double(dataHasil).longValue();

string = Long.toString(bulat);
string = pisahkan(new StringBuffer (string));

return(string);
}

//---------------------------
//Menghapus karakter terakhir
//---------------------------
private void hapusKarakter()
{
if (tampilan.getText().length() > 0)
{
StringBuffer data = new StringBuffer(tampilan.getText());
char terakhir = data.charAt(data.length()-1);

if (terakhir == '.')
entryDesimal = false;

data.deleteCharAt(data.length()-1);
tampilan.setText(data.toString());
}
}

//---------------------------
//Membatalkan data Terakhir
//---------------------------
private void batalkanData()
{
if (entryPertama)
dataPertama = 0.0;
else
dataKedua = 0.0;

tampilan.setText("");
}

//---------------------------
//Mengupdate data angka
//---------------------------
private void updateData(int index)
{
if (awalKetikan)
tampilan.setText("");

String label = tombolFungsi[index].getLabel();
char karakter = label.charAt(0);
StringBuffer data = new StringBuffer(tampilan.getText());
tampilan.setText(data.toString() + karakter);

awalKetikan = false;
}

//---------------------------
//Mengupdate Data Operator
//---------------------------
private void updateOperator(int index)
{
if (entryPertama)
{
StringBuffer data = new StringBuffer(tampilan.getText());
dataPertama = Double.parseDouble(data.toString());
}

String label = tombolFungsi[index].getLabel();
operator = label.charAt(0);
entryPertama = false;
awalKetikan = true;
}

//----------------------------
//Melakukan proses perhitungan
//----------------------------
private void prosesPerhitungan()
{
StringBuffer data = new StringBuffer(tampilan.getText());
dataKedua = Double.parseDouble(data.toString());

switch(operator)
{
case '+': dataHasil = dataPertama + dataKedua;
break;
case '-': dataHasil = dataPertama - dataKedua;
break;
case '*': dataHasil = dataPertama * dataKedua;
break;
case '/': dataHasil = dataPertama / dataKedua;
break;
case '^': dataHasil = Math.pow(dataPertama, dataKedua);
break;
}

if (pemisahRibuan.isSelected())
tampilan.setText(pisahkanRibuan(dataHasil));
else
tampilan.setText(Double.toString(dataHasil));

entryPertama = true;
awalKetikan = true;
}

//--------------------------
//Menambahkan tanda desimal
//--------------------------
private void tambahTandaDesimal()
{
if(!entryDesimal && !awalKetikan)
{
entryDesimal = true;

StringBuffer data = new StringBuffer(tampilan.getText());
tampilan.setText(data.toString() + '.');
}
}

//---------------------------
//Action terhadap respon user
//---------------------------
public void actionPerformed(ActionEvent event)
{
Object objek = event.getSource();
int lokasi = 0;

if (objek == tombolExit)
System.exit(0);
else
{
for (; lokasi<20; lokasi++)
if (objek == tombolFungsi[lokasi])
break;

switch(lokasi)
{
case 0 : hapusKarakter();
break;
case 1 : batalkanData();
break;
case 2 : resetNilai();
tampilan.setText("");
break;
case 16 : ;
case 12 : ;
case 13 : ;
case 14 : ;
case 8 : ;
case 9 : ;
case 10 : ;
case 4 : ;
case 5 : ;
case 6 : updateData(lokasi);
break;
case 3 : ;
case 7 : ;
case 11 : ;
case 15 : ;
case 19 : updateOperator(lokasi);
break;
case 18 : prosesPerhitungan();
break;
case 17 : tambahTandaDesimal();
break;
}
}
}
}

//-----------
//Class Utama
//-----------
public class CobaCalculator
{
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
} catch (Exception e) {
System.out.println("Look And Feel Not Supported, Ignored !!!");
}
new MiniCalculator();
} // end run method
}); // end thread safe
}
}

INFORMASI PENERBANGAN GRATIS AL-JENAZAH AIRLINES LAYANAN PENUH 24 JAM

Bila kita akan ‘berangkat” dari alam ini ia ibarat penerbangan ke sebuah
tempat, dimana informasi tentangnya tidak terdapat dalam brosur
penerbangan, tetapi melalui Al-Qur’an dan Al-Hadist.

Di mana penerbangan bukan dengan Garuda Airlines, Singapore Airlines,
atau US Airlines, tetapi Al-Jenazah Airlines.

Di mana bekal kita bukan lagi tas seberat 23Kg,Emas 1 Kg 24 Karat, tetapi amalan kita didunia,
tak lebih, tak kurang.

Di mana bajunya bukan lagi Pierre Cardin, atau setaraf dengannya, akan
tetapi kain kafan putih.

Di mana pewanginya bukan Channel atau Polo,Malboro, tetapi air biasa yang suci.
Di mana passport kita bukan Indonesia,German,Jepang, Malaysia, British atau American, tetapi Al-Islam.
Di mana visa kita bukan lagi sekedar 6 bulan, 1 Tahun, tetapi ‘Laailaahaillallah’
Di mana pelayannya bukan pramugari jelita,Cantik, tetapi Izrail dan lain-lain.
Di mana servisnya bukan lagi kelas business atau ekonomi, tetapi sekedar
kain yang diwangikan

Di mana tujuan mendarat bukannya Bandara Cengkareng, Juanda, Heathrow Airport atau
Jeddah International, Terminal, Stasiun, Akan tetapi tanah pekuburan.

Di mana ruang menunggunya bukan lagi ruangan ber AC dan permadani, tetapi
ruang 2×1 meter, gelap gulita.

Di mana pegawai imigrasi adalah Munkar dan Nakir, mereka hanya memeriksa
apakah kita layak ke tujuan yang diidamkan.

Di mana tidak perlu satpam dan alat detector.
Di mana lapangan terbang transitnya adalah Al Barzah
Di mana tujuan KIta ke Suarabaya, kediri, malang, jakarta,Malaysia, singapura, london, akan terakhir apakah Syurga yang mengalir sungai di bawahnya
atau Neraka Jahannam.

Penerbangan ini tidak akan diTembak atau dibom, karena itu tak perlu
bimbang.
Sajian tidak akan disediakan, oleh karena itu tidak perlu merisaukan
masalah alergi atau halal haram makanan.

Jangan risaukan cancel pembatalan, penerbangan ini senantiasa tepat
waktunya, ia berangkat dan tiba tepat pada masanya.
Jangan pikirkan tentang hiburan dalam penerbangan, anda telah hilang
selera bersuka ria.
Jangan bimbang tentang pembelian tiket, ia telah siap di booking sejak
ruh anda ditiupkan di dalam rahim ibu.

YA…BERITA BAIK !!! Jangan bimbangkan siapa yang duduk di sebelah anda.
Anda adalah satu-satunya penumpang penerbangan ini.
Oleh karena itu bergembiralah selagi bisa! Dan sekiranya anda bisa!

Hanya ingat! Penerbangan ini datang tanpa ‘Pemberitahuan’ .
Cuma perlu ingat!! Nama anda telah tertulis dalam tiket untuk
Penerbangan. …
Saat penerbangan anda berangkat… tanpa doa Bismillahi Tawakkaltu ‘Alallah,
atau ungkapan selamat jalan.
Tetapi Inalillahi Wa Inna ilaihi Rajiuun….
Anda berangkat pulang ke Rahmatullah. Mati.
ADAKAH KITA TELAH SIAP UNTUK BERANGKAT?

Template by : Kowsi