Pages

Senin, 25 Maret 2013

Konsep Dasar Algoritma

Sebelum belajar algoritma pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu program yaitu:

  1. Mendefinisikan masalah
  2. Mencari solusinya
  3. Menentukan algoritma
  4. Menulis program
  5. Menguji program
  6. Mendokumentasikan program
  7. Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :
Algoritma
Algoritma yaitu kumpulan langkah-langkah / steps untuk menyelesaikan masalah menggunakan komputer (program komputer) dengan syarat tertentu. Adapun syarat-syaratnya adalah sebagai berikut :
  1. Setiap langkah harus DEFINITE (pasti, tertentu), dalam algoritma terdapat instruksi-instruksi yang jelas dan tidak ambigu.
  2. Minimum mempunyai 1 output (input boleh tidak ada)
  3. Harus ada stoping criteria (bisa berhenti).
Algoritma juga mempunyai beberapa jenis yaitu :
  1. Sequence, instruksi dikerjakan berurutan (sekuensial).
  2. Selection, instruksi dikerjakan bila kreteria tertentu terpenuhi.
  3. Iteration, instruksi dikerjakan selama memenuhi kondisi tertentu.
  4. Concurrent, mengerjakan banyak instruksi secara bersama.
Contoh algoritma
Algoritma menghitung luas persegi.
  1. Masukkan sisi (S)
  2. Luas <- S * S
  3. Tulis Luas
Untuk menulis suatu penjelasan cara menyelesaikan masalah dapat pula digunakan Pseudo Code yaitu berupa pengkodean atau penandaan yang menyerupai suatu program. Pseudo Code ini sering digunakan dalam penulisan algoritma.
Contoh : Mencari bilangan terkecil dari dua bilangan yang dimasukkan.
Algoritma :
  1. Masukkan bil pertama
  2. Masukkan bil kedua
  3. Jika bil pertama < bil kedua maka kerjakan langkah 4, bila tidak maka dikerjakan langkah 5.
  4. Tampilkan bil pertama
  5. Tampilkan bil kedua
Pseudo code:
  1. Input x
  2. Input y
  3. If x < y then langkah 4 else langkah 5
  4. write x
  5. write y
Dari penjelasan diatas tampaklah perbedaan antara penulisan algoritma dalam bentuk tertentu. Dengan begitu akan lebih mudah dipahami oleh pemrogram dan orang lain yang ingin di beri pemahaman.

Mengatasi Program Has Stopped Working

Rasa amarah pasti bangkit ketika kita sedang mengerjakan tugas di program office, browsing menggunakan program browser atau main game, tiba-tiba program has stopped working, serasa ingin banting laptop tapi sayang, soalnya enggak ada lagi,, :D


Setelah saya explorer, saya menemukan penyebab dan cara untuk mengatasinya.
Penyebab yang sudah tidak asing lagi adalah software, bisa karena program corrupt, terinfeksi virus, dan karena registry error.
Cara mengatasinya bisa dengan cara DEP (Deep Execution Prevention).
Langkah-langkahnya,

- klik Start -> Computer -> klik kanan lalu Properties atau dengan tombol di keyboard ( windows + Pause Break)


- lalu pilih Advance System Settings


-  pada jendela System Properties, pilih tab advance lalu klik command button Settings
- pilih tab Data Execution Prevention lalu pilih turn on DEP for all programs and services except those I select, dan klik add, pilih program yang sering has stopped working, setelah itu, restart PC/Laptopnya.
Coba jalankan programnya, apabila program tidak has stopped working lagi, berarti cara di atas berhasil, dan jika program masih has stopped working, coba otak-atik compability modenya, sampai tidak terjadi crash lagi, terus scan PC/Laptop sobat, mungkin penyebabnya karena program terinfeksi virus, untuk pengecekan menggunakan antivirus, gunakan antivirus yang tidak menghapus file yang terinfeksi, apabila setelah di scan program masih tetap crash, coba instal ulang programnya, barangkali ada file yang hilang.

Sistem Pembangun Jaringan Internet

Jaringan internet terbentuk dengan adanya Web Server, Proxy Server, Mail Server, File Transfer Protocol (FTP) Server, dan DNS Server.

System tersebut dinamakan Sistem Integrasi. Sistem inilah yang membangun jaringan internet.

1. Web Server


Web Server merupakan sebuah layanan akses kepada user melalui protocol HTTP atau HTTPS melalui Web Browser.
Web Server yang umum digunakan adalah Apache dan Microsoft Internet Information Services (IIS)








2. Proxy Server

Proxy Server merupakan sebuah perantara yang bertindak sebagai perantara permintaan dari pengguna (client) mencari sumber daya dari server lain. Penggunalayan A terhubung ke server perantara, meminta beberapa layanan, seperti berkas, sambungan, laman, atau sumber daya lainnya, yang tersedia dari peladen yang berbeda. Server perantara menilai uji (evaluate) permintaan menurut aturan penyaringan.
Fungsi dari Proxy Server adalah :
  • Untuk menjaga mesin di balik anonim (terutama untuk keamanan).
  • meningkatkan akses ke sumber (menggunakan caching). Web proxy biasanya digunakan untuk cache halaman internet dari server web.
  • menerapkan aturan akses terhadap internet atau isinya, seperti memblok situs yang tidak diinginkan
  • Untuk melewati kontrol keamanan/ parental.
  • memindai perpindahan konten bila terdapat malware sebelumya.
  • Untuk memindai konten outbound, misalnya untuk perlindungan data dari kebocoran.
  • Untuk menghindari pembatasan regional.
 3. Mail Server

 
Mail Server adalah Perangkat lunak program yang mendistribusikan file atau informasi sebagai respons atas permintaan yang dikirim via email.
Mail Server dibagi menjadi 2, yaitu :
  • Web Mail
Adalah klien email yang menggunakan halaman Web sebagai media untuk mengelola email di sisi klien. Sesuai dengan sifat AplikasiWeb, pemakai Webmail tidak perlu melakukan instalasi perangkat lunak dan cukup mengisi sangat sedikit konfigurasi. Dengan kemudahan akses halaman Web dari banyak tempat, Webmail menjadi lebih disukai lagi terutama bagi mereka yang sering berganti-ganti komputer untuk akses Internet.
  • E-Mail Client
Adalah software yang digunakan untuk organisasi email, baik untuk akun email berbayar maupun yang gratis. Syaratnya, harus ada akun POP3-nya. Email Client biasa disebut juga sebagai Oulook Express.

4. FTP Server

FTP terdiri dari sebuah client dan sebuah server yang merupakan aplikasi yang memberikan akses /pertukaran transfer data antara dua komputer ( client dan server ). Transfer data ini dapat terjadi antara komputer yang berbentuk mainframe dan sebuah komputer di jaringan lokal atau transfer data dapat terjadi dari komputer kita ke server FTP melalui internet. FTP merupakan aplikasi yang sangat berguna ( powerful) karena aplikasi ini menyediakan akses kepada pengunjung atau user untuk mengakses data yang tersimpan pada server tersebut, dan dapat diakses oleh sejumlah besar komputer secara bersamaan

Proses yang terjadi pada FTP ada 2 alur, yaitu Alur yang pertama adalah proses transfer data dari komputer lokal ( komputer kita ) ke komputer server (komputer remote) yang menyediakan akses ftp, Proses ini di kenal sebagai proses UPLOAD, sedangkan proses transfer data dari komputer server ( remote ke komputer lokal ( komputer kita ) dinamakan prosess DOWNLOAD.

Bentuk dasar dari ftp adalah : ftp://host.domain
2 macam FTP berdasarkan hak akses nya :
1. FTP User
FTP user artinya ftp yang dapat di akses dan memiliki permisi hanya di batasi hanya untuk user tertentu. Karena ftp user disertakan suatu autentifikasi bila kita akan mengakses ke dalam nya.
Format dari FTP user adalah :
ftp://user@host.domain
2. FTP anonymous
FTP anonymous artinya, FTP yang disediakan secara anonymous/ tanpa nama, dengan kata lain FTP tersebut dapat di akses oleh siapapun dan biasanya tanpa password, ataupun bila di minta password,. Biasanya server meminta alamat email kita sebagai password nya untuk ferivikasi.
Contoh nya :
ftp://unila.ac.id
ftp://ftp5.freebsd.org
ftp://ftp.tucows.com

5. DNS Server

Inti dari sistem integrasi adalah DNS, sebuah web tidak akan bisa berjalan tanpa adanya DNS, karena DNS atau Sistem Penamaan Domain merupakan sebuah sistem yang menyimpan informasi tentang nama host ataupun nama domain dalam bentuk basis data (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surel (email) untuk setiap domain. Menurut browser Google Chrome, DNS adalah layanan jaringan yang menerjemahkan nama situs web menjadi alamat internet. Web yang tidak memiliki DNS tidak bisa berjalan karena tidak memiliki nama domainnya.

Setting dan Install Router Microtik


 1. Langkah pertama adalah install Mikrotik RouterOS pada PC atau pasang DOM.

2. Login Pada Mikrotik Routers melalui console :
MikroTik v2.9.7
Login: admin
Password: (kosongkan)
Sampai langkah ini kita sudah bisa masuk pada mesin Mikrotik. User default adalah admin
dan tanpa password, tinggal ketik admin kemudian tekan tombol enter.

3. Untuk keamanan ganti password default
[admin@Mikrotik] > password
old password: *****
new password: *****
retype new password: *****
[admin@ Mikrotik]] >

4. Mengganti nama Mikrotik Router, pada langkah ini nama server akan diganti menjadi [admin@Mikrotik] > system identity set name=WAHYU
[admin@ WAHYU] >

5. Melihat interface pada Mikrotik Router
[admin@ WAHYU] > interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R ether1 ether 0 0 1500
1 R ether2 ether 0 0 1500
[admin@ WAHYU] >

6. Memberikan IP address pada interface Mikrotik. Misalkan ether1 akan kita gunakan
untuk koneksi ke Internet dengan IP 192.168.0.1 dan ether2 akan kita gunakan untuk network local kita dengan IP 172.16.0.1
[admin@ WAHYU] > ip address add address=192.168.0.1
netmask=255.255.255.0 interface=ether1
[admin@ WAHYU] > ip address add address=172.16.0.1
netmask=255.255.255.0 interface=ether2

7. Melihat konfigurasi IP address yang sudah kita berikan
[admin@ WAHYU] >ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.1/24 192.168.0.0 192.168.0.63 ether1
1 172.16.0.1/24 172.16.0.0 172.16.0.255 ether2
[admin@ WAHYU] >

8. Memberikan default Gateway, diasumsikan gateway untuk koneksi internet adalah
192.168.0.254
[admin@ WAHYU] > /ip route add gateway=192.168.0.254

9. Melihat Tabel routing pada Mikrotik Routers
[admin@ WAHYU] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf
# DST-ADDRESS PREFSRC G GATEWAY DISTANCE INTERFACE
0 ADC 172.16.0.0/24 172.16.0.1 ether2
1 ADC 192.168.0.0/26 192.168.0.1 ether1
2 A S 0.0.0.0/0 r 192.168.0.254 ether1
[admin@ WAHYU] >

10. Tes Ping ke Gateway untuk memastikan konfigurasi sudah benar
[admin@ WAHYU] > ping 192.168.0.254
192.168.0.254 64 byte ping: ttl=64 time<1 ms
192.168.0.254 64 byte ping: ttl=64 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/0.0/0 ms
[admin@ WAHYU] >

11. Setup DNS pada Mikrotik Routers
[admin@ WAHYU] > ip dns set primary-dns=192.168.0.10 allow-remoterequests=no
[admin@ WAHYU] > ip dns set secondary-dns=192.168.0.11 allow-remoterequests=no

12. Melihat konfigurasi DNS
[admin@ WAHYU] > ip dns print
primary-dns: 192.168.0.10
secondary-dns: 192.168.0.11
allow-remote-requests: no
cache-size: 2048KiB
cache-max-ttl: 1w
cache-used: 16KiB
[admin@ WAHYU] >

13. Tes untuk akses domain, misalnya dengan ping nama domain
[admin@ WAHYU] > ping yahoo.com
216.109.112.135 64 byte ping: ttl=48 time=250 ms
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 571/571.0/571 ms
[admin@ WAHYU] >
Jika sudah berhasil reply berarti seting DNS sudah benar.

14. Setup Masquerading, Jika Mikrotik akan kita pergunakan sebagai gateway server maka agar client computer pada network dapat terkoneksi ke internet perlu kita masquerading.
[admin@ WAHYU]> ip firewall nat add action=masquerade outinterface=
ether1 chain:srcnat
[admin@ WAHYU] >

15. Melihat konfigurasi Masquerading
[admin@ WAHYU]ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether1 action=masquerade
[admin@ WAHYU] >
Setelah langkah ini bisa dilakukan pemeriksaan untuk koneksi dari jaringan local. Dan jika berhasil berarti kita sudah berhasil melakukan instalasi Mikrotik Router sebagai Gateway server. Setelah terkoneksi dengan jaringan Mikrotik dapat dimanage menggunakan inBox
yang bisa di download dari Mikrotik.com atau dari server mikrotik kita.
Misal Ip address server
mikrotik kita 192.168.0.1, via browser buka http://192.168.0.1 dan download WinBox dari situ.
Jika kita menginginkan client mendapatkan IP address secara otomatis maka perlu kita

setup dhcp server pada Mikrotik. Berikut langkah-langkahnya :

1.Buat IP address pool
/ip pool add name=dhcp-pool ranges=172.16.0.10-172.16.0.20

2. Tambahkan DHCP Network dan gatewaynya yang akan didistribusikan ke client Pada contoh ini networknya adalah 172.16.0.0/24 dan gatewaynya 172.16.0.1
/ip dhcp-server network add address=172.16.0.0/24 gateway=172.16.0.1

3. Tambahkan DHCP Server ( pada contoh ini dhcp diterapkan pada interface ether2 )
/ip dhcp-server add interface=ether2 address-pool=dhcp-pool

4. Lihat status DHCP server
[admin@ WAHYU]> ip dhcp-server print
Flags: X - disabled, I - invalid
# NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP
0 X dhcp1 ether2
Tanda X menyatakan bahwa DHCP server belum enable maka perlu dienablekan terlebih dahulu pada langkah 5.

5. Jangan Lupa dibuat enable dulu dhcp servernya
/ip dhcp-server enable 0
kemudian cek kembali dhcp-server seperti langkah 4, jika tanda X sudah tidak ada berarti sudah aktif.

6. Tes Dari client
c:\>ping www.kuswanto.6te.net

untuk bandwith controller, bisa dengan sistem simple queue ataupun bisa dengan mangle
[admin@ WAHYU] queue simple> add name=Komputer01
interface=ether2 target-address=172.16.0.1/24 max-limit=65536/131072
[admin@ WAHYU] queue simple> add name=Komputer02
interface=ether2 target-address=172.16.0.2/24 max-limit=65536/131072
dan seterusnya

Konfigurasi PC Router dan Proxy Server Dengan Ubuntu 10.10

PC Router adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, Linux, dan lain-lain, dan proxy server adalah server yang bertugas menyimpan sementara (cache) file html server lain, kegunaannya adalah untuk mempercepat akses internet. Untuk lebih lanjutnya sobat dapat membaca postingan saya sebelumnya.


Langkah awalnya untuk membangun PC Router dan Proxy server adalah sebagai berikut:

Bahan-bahan/Ingredients:

  1.  Siapkan Switch, dan Modem
  2. PC yang akan dijadikan PC Router
  3. CD Ubuntu 10.xx (karena jika menggunakan versi yang di bawah 10, LAN Card tidak akan langsung terdetect)
  4. 2 Buah LAN Card
  5. Koneksi ke Internet (Yang saya gunakan adalah ISP Speedy)
  6. Squid
  7. Kabel LAN

Cara membuatnya:

  1. Instal Ubuntunya
  2. Jika sudah selesai, buka Application -> Accessories -> Terminal
  3. Login sebagai root, dengan cara mengetikan $sudo su dan masukan password
  4. Terlebih dahulu sobat harus melihat konfigurasi ethernet defaultnya, dengan mengetikan #ifconfig, jika eth0 dan eth1-nya terdeteksi, maka kita lanjut ke tahap selanjutnya
  5. Selanjutnya konfigurasi ethernetnya, dengan mengetikan #nano /etc/network/interfaces, lalu masukan script di bawah ini
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp (jika menggunakan internet dengan IP Static, maka setinglah sebagai static)
auto eth1 (untuk jaringan lokal)
iface eth1 inet static
address 192.168.44.1 (misalkan)
netmask 255.255.255.0
network 192.168.44.0
lalu tekan ctrl+o untuk simpan, dan ctrl+x untuk keluar
  6.  Restart jaringan tersebut, #/etc/init.d/networking restart
  7.  Ketikan perintah, #nano /etc/sysctl.conf, lalu cari baris berikut dengan ctrl+w, net.ipv4.ip_forward=1, hilangkan tanda # disampingya.
  8.  Lalu ketikan perintah berikut, dan masukan ke rc.local, #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  9. Masukan perintah yang di step 8, ke rc.local, #nano /etc/rc.local, atas exit 0
10. Langkah selanjutnya adalah dengan menginstal squidnya, tetapi sebelumnya, update dulu, #apt-get update, setelah update, baru instal squidnya, #apt-get install squid squid-common
11. Lalu konfigurasi squidnya, #nano /etc/squid/squid.conf
12. Membuat transparent Proxy, (Transparent proxy adalah konfigurasi proxy dimana client yang terhubung ke proxy tidak harus menyeting browser satu2 sob,  jadi tinggal redirect saja maka computer itu sudah bisa memanfaatkan server proxy sebagai cache, ini berguna bagi area hotspot atau warnet yang tidak perlu repot untuk mengkonfigurasikan tiap browser di client.), cari (ctrl+w) http_port 3128, kemudian rubah menjadi : http_port 3128 transparent
13. cari acl connect, dan tambahkan dibawahnya script di bawah ini:
   acl situs dstdomain "/etc/squid/badsites"
   no_cache deny situs
   http_access deny situs
   acl jaringan src 192.168.44.0/24
   http_access allow jaringan
14. cari TAG: visible_hostname, hapus tanda #, dan ganti menjadi, visible_hostname (nama host)
15. cari juga cache_mgr webmaster, hapus tanda #, dan ganti menjadi cache_mgr (nama atau email)
16. Selelah itu, cari http_access deny all, tambahkan tanda # di sampingya
17. Selanjutnya buat daftar situs yang akan di blok, #nano /etc/squid/badsites
   www.facebook.com
   www.youtube.com
   facebook.com
   youtube.com
18. Cek konfigurasi squidnya, #squid -z
19. Edit rc.local agar firewallnya berjalan otomatis, #nano /etc/rc.local, dan tambahkan script dibawah ini, di atas exit 0
 iptables -t nat -A PREROUTING -s 192.168.44.0/24 - tcp --dport 80 -j REDIRECT --to-ports 3128
20. Test konfigurasinya, jika situs facebook dan youtube access denied, berarti konfigurasinya berhasil.