Bahasa Pemrograman Java

Assalamualaikum,
Hari ini saya hanya akan memperkenalkan salah satu bahasa pemrograman yang populer di gunakan oleh para programmer. Bahasa kali ini agak berbeda dengan C, tidak struktural.

Bahasa ini adalah hasil adopsi dari banyak macam bahasa seperti C, dan C++. Dalam melakukan pemrograman java, menggunakan metode OOP atau object oriented programming. Awal perkembangannya ialah pada tahun 1992 dan dari awal hingga sekarang bahasa java bersifat minimalis dan di kompilasi dengan menggunakan Java Virtual Machine.
Karena bersifat minimalis, java sendiri memiliki motto "Tulis sekali, jalankan dimanapun" sehingga menjadi bahasa paling populer saat ini.
Namun sebagai seorang geek dan developer, meski motto java seperti itu. Tidak semua platform bisa kompitibel dengan java sendiri. Aplikasi java hanya bisa berjalan di platform yang support dengan Java Virtual Machine. Tapi tenang saja, hampir semua platform support dengan Java Virtual Machine.

Apa saja kelebihan dan Kekurangan dari Bahasa Pemrograman Java ini ?
Kelebihannya ialah,
  • Bersifat OOP atau Object Oriented Programming dan tidak struktural, jadi lebih mudah mengatasi masalah apabila di rasa terdapat kekurangan pada aplikasi yang kita buat.
  • Multiplatform karena sudah banyak platform yang support dengan Java Virtual Machine, tapi ada juga beberapa yang tidak support.
  • Library di java bisa dibilang cukup lengkap. Terlebih lagi tersedia banyak library tambahan yang bisa kita ambil di website resmi java, seperti library mysql-connector, dan lain-lain.
  • Alokasi memori yang otomatis, sehingga seorang programmer tidak perlu melakukan pengaturan alokasi memory dalam sebuah pemrograman java.
Kekurangannya ialah,
  • Meski dapat berjalan dimana saja, tapi Mac OS X belum support dengan Java Virtual Machine.
  • Algoritma dari program jadi yang telah dibuat dengan bahasa pemrograman java ini sangat mudah di analisa, dengan kata lain sangat mudah untuk di dekompilasi.
  • Penggunaan memori yang berlebihan bisa saja terjadi komputer yang sudah berumur lebih dari 4 tahun.
Dengan demikian, saya  berharap kita bisa belajar bahasa pemrograman ini sama-sama.

Wassalamualaikum

Bangkitkan proxy server di Slackware

Assalamualaikum wr.wb.
Hari ini, saya akan menjelaskan tentang proxy server, tahap dari instalasi proxy server, hingga konfigurasi utama dari proxy server.
Mula-mula, apa itu proxy server ?
Proxy merupakan salah satu jenis server yang memiliki tugas untuk mengatur dan memanajemen lintas ke luarnya paket menuju ke tempat node yang dituju. Pada proxy itu sendiri, kita bisa memanajemen apa-apa saja yang boleh di lakukan oleh user luar terhadap kita ataupun kita terhadap user luar.
Jadi hanya itu fungsi utama dari proxy ?
Meskipun seperti itu, proxy ini juga bisa digunakan sebagai penangkal dari serangan DoS (Denial of Service). Minimal, jikalau server anda di targetkan untuk menjadi korban DoS. Yang tidak berfungsi hanyalah proxy saja, itupun hanya sebentar. InsyaAllah server utama masih kecil kemungkinan terkenanya serangan DoS atau Ping Flood.
Nah, setelah bahas-bahas sedikit tentang proxy. Ada baiknya jika kita coba-coba menjadikan pc/laptop kita menjadi proxy server itu sendiri. Hari ini saya memberikan informasi cara melakukan instalasi dan konfigurasi proxy server pada slackware.
Software penyedia layanan proxy server yang saya gunakan kali ini adalah squid3.

Mula-mula, download file squid3 tersebut di slackpackages.

# wget "http://repository.slacky.eu/slackware-13.37/network/squid/3.1.14/squid-3.1.14-i486-1sl.txz"


Kemudian install filenya
# installpkg squid-3.1.14-i486-1sl.txz

Setelah itu,buka kembali folder squid anda, dan perhatikan file-file yang ada di dalamnya
# cd etc/squid/
# ls
cachemgr.conf          errorpage.css.default  squid.conf
cachemgr.conf.default  mime.conf              squid.conf.default
errorpage.css          mime.conf.default      squid.conf.documented

Kemudian, anda edit file squid.conf tersebut, terserah anda mau menggunakan nano ataupun vim
# nano squid.conf

Inimerupakan hasil daripada editan yang saya lakukan di squid.conf,
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl localnet src 192.168.1.0/255.255.255.0 
acl blockeddomain dst "/etc/squid/blocked.domains.acl"
http_access deny blockeddomain

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

Kemudian, atur port utama yang digunakan dalam proses pengiriman atau penerimaan file. Kita akan menggunakan port 8080, jadi turun kebawah hingga menemukan seperti ini
# Squid normally listens to port 3128
#http_port 3128
#http_port 192.168.1.1:8080
http_port 3128

Kemudian, buat file untuk file-file yang akan di blok dengan nama blocked.domains.acl
dengan cara perintah touch atau nano
# nano blocked.domains.acl
.google.co.id
.yahoo.co.id
.youtube.co.id

Setelah itu, jalankan squid anda dengan memberikan permission dan proses
# chmod 755 /etc/rc.d/rc.squid
# /etc/rc.d/rc.squid restart

Selamat, anda telah berhasil melakukan konfigurasi squid3. Untuk memberikan sifat management / aturan pada squid server bisa dengan cara buka squid.conf dan edit yang seperti ini
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl localnet src 192.168.1.0/24       

Mungkin sekian dari saya, jika ada yang kurang jelas mohon di tanyakan.
Wassalamualaikum wr.wb.

Metode Algoritma Brute Force

Assalamualaikum,
Hari ini saya akan sharing tentang salah satu algoritma yang mungkin akan sangat berguna bagi para pembaca di masa depan. Algoritma ini sering di sebut algoritma Brute Force. Algoritma ini berkerja dengan cara memaksakan segala kemungkinan atau percobaan (biasa di sebut iterasi), kemudian membenarkannya apabila keadaan sudah sesuai berdasarkan keinginan yang ada.
Pada mulanya, brute force merupakan algoritma perkembangan dari bubble sort yaitu algoritma pengurutan nilai dari paling tinggi hingga yang paling rendah. Namun akibat adanya sebuah keinginan dari seorang programmer, maka di kembangkanlah suatu algoritma seperti ini.

Algoritma ini biasanya banyak di gunakan dalam cara kerja program meretas password seseorang, ataupun sebagai solver suatu keadaan, dan sebagainya. Algoritma brute force ini sangatlah berguna dalam pembuatan program seperti, Sudoku Solver, atau Password Cracker, dan sebagainya.
Jadi, brute force ini adalah algoritma yang sangatlah berat apabila di buat program, apa lagi kalau memakai bahasa pemrograman Java ataupun Python, pasti sangatlah berat. Jadi sekedar saran saja, jikalau mau mencoba membuat program dengan metode ini, usahakan menggunakan bahasa dan IDE yang lumayan ringan seperti C++.