Tuesday, July 9, 2013

Paging PHP

pada pos kali ini saya akan share sedikit tentang PHP..
ceritanya, saya disuruh atasan buat bikin program akunting di perusahaan, terus dia tanya ke saya, bahasa pemrograman apa yang anda kuasai katanya..dengan sedikit ragu saya bilang saya mengusai PHP hihi :D padahal saya lulusan TKJ dan cuma belajar sedikit tentang PHP..
nah karena itu saya jadi mainin PHP....
udah dulu curhatnya..sekarang kita lanjut ke materi..

pertama buat file paging.php seperti berikut:

<?php
function paging($sql,$item_per_page){
   $page          =  isset($_GET['page']) ? $_GET['page'] : 1 ; // halaman adalah didapat dari GET page. Jika tidak ada ya berarti halaman satu
   if( ( $page < 1) && (empty( $page ) ) ){
      $page=1;
   }
   $query         = mysql_query( $sql );
   $jumlah_data   = mysql_num_rows($query);
   $jumlah_hal    = ceil( $jumlah_data/$item_per_page );
   if( $page>$jumlah_hal ){
      $page=$jumlah_hal;
   }
   $lanjut  = $page + 1;
   $sebelum = $page - 1;
   ?>
   Anda ada di halaman <?php echo $page;?> dari <?php echo $jumlah_hal;?><br />
   <a href="?page=1">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;<a href="?page=<?php echo $sebelum; ?>">&lt;&nbsp;sebelumnya</a>&nbsp;&nbsp;&nbsp;
   ||
   &nbsp;&nbsp;&nbsp;<a href="?page=<?php echo $lanjut;?>">selanjutnya&nbsp;&gt;</a>&nbsp;&nbsp;&nbsp;<a href="?page=<?php echo $jumlah_hal;?>">&gt;&gt;</a>
   Ke Halaman: <form action="" method="get"><input type="text" name="page"><input type="submit" value="Go"></form>
   <?php
}
?>

setelah itu include kan ke tabel yg akan di beri paging dan panggil fungsi paging pada paging.php..contonya seperti berikut

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("db_accounting");
include "paging.php";
$sql = "SELECT * FROM coa";
$item_per_page = 100;
paging( $sql,$item_per_page );
 $page          =  isset($_GET['page']) ? $_GET['page'] : 1 ;
$batas = ($page - 1) * $item_per_page;
$sql_ = "SELECT * FROM coa LIMIT $batas, $item_per_page";
$query = mysql_query( $sql_ );

$i = $page + ($page - 1) * ($item_per_page - 1);


?>
<table border="1">
<tr>
<th>No. : </th>
<th>No. Coa :</th>
<th>Deskripsi Coa
<th>Debit/Credit :</th>
<th>Aksi</th>
</tr>
<?php
while($row=mysql_fetch_array($query)){
?>
<tr>
<td><?php echo "$i";?></td>
<td><?php echo $row['id_coa'];?></td>
<td><?php echo $row['desc_coa'];?></td>
<td><?php $a=$row['db_cr']; if($a=='db'){echo 'Debit';}elseif($a=='cr'){echo 'Credit';}?></td>
<td>
<a href="delete.php?id=<?php echo $row['id_coa']; ?>" onclick="return confirm('Apakah anda yakin?')">Delete</a>
<a href="update.php?id=<?php echo $row['id_coa']; ?>">Update</a>
</td>
<?php
$i++;
 }
?>
</table><br>
<a href="input.php">Input data form</a>

singkat yah maap..hihi :D
terimakasih, semoga bermanfaat info nya ;)

Wednesday, May 1, 2013

RIP Routing

Dalam posting saya kali ini, saya akan memberi bahasan seputar RIP routing..
singkatnya routing ini merupakan Interior Routing Protokol yang menggunkan algoritma Distance Vector, dan termasuk dynamic routing..gitu sih intinya hehe
oke sekarang kita bahas lebih lanjut lagi ;)

Routing Information Protocol. Distancevector protokol – merawat daftar jarak tempuh ke network-network lain berdasarkan jumlah hop, yakni jumlah router yang harus lalui oleh paket-paket untuk mencapai address tujuan. RIP dibatasi hanya sampai 15hop. Broadcast di-update dalam setiap 30 detik untuk semua RIP router guna menjaga integritas. RIP cocok dimplementasikan untuk jaringan kecil.

RIP mengirim routing table yang lengkap ke semua interface yang aktif setiap 30 detik. RIP hanya menggunakan jumlah hop untuk menentukan cara terbaik ke sebuah network remote, tetapi RIP secara default memiliki sebuah nilai jumlah hop maksimum yg diizinkan, yaitu 15, berarti nilai 16 tidak terjangkau (unreachable). RIP bekerja baik pada jaringan kecil, tetapi RIP tidak efisien pada jaringan besar dengan link WAN atau jaringan yang menggunakan banyak router.

RIP v1 menggunakan clasfull routing, yang berarti semua alat di jaringan harus menggunkan subnet mask yang sama. Ini karena RIP v1 tidak mengirim update dengan informasi subnet mask di dalamnya. RIP v2 menyediakan sesuatu yang disebut prefixrouting, dan bisa mengirim informasi subnet mask bersama dengan update-update dari route. Ini disebut classless routing.

Rip terbagi menjadi 2:
  1. · rip versi 1 merupakan bagian dari distance vektor yang mencari hop terpendek atau router terbaik,rip versi 1 juga merupakan class full routing.
  2. · rip versi 2 merupakan bagian dari distance vektor yang mencari hop terpendek atau router terbaik,rip versi2 juga merupakan class list routing.

RIP memiliki beberapa keterbatasan, antara lain:
  1. · Metric: HopCountRIP menghitung routing terbaik berdasarkan hop count dimana belum tentu hop count yang rendah menggunakan protokol LAN yang bagus, dan bisasaja RIP memilih jalur jaringan yang lambat.
  2. · Hop Count Limit RIP tidak dapat mengatur hop lebih dari 15. Hal ini digunakan untuk mencegah loop pada jaringan.
  3. · Classful Routing Only RIP menggunakan classfulrouting ( /8, /16, /24 ). RIP tidak dapat mengatur classlessrouting. 
mungkin segitu dulu yang bisa saya jelaskan..semoga bermanfaat ^-^

Monday, April 29, 2013

Link State Routing

Pada postingan sebelumnya, saya membahas mengenai algoritma Distance Vector..saya harap postingan saya bisa dipahami :D
nah, selanjutnya masih bahasan tentang algoritma routing, kali ini saya akan menjelaskan mengenai algoritma Link State..hmm, apa sih link state? apa coba yang membedakan nya sama Distance Vector?
lansung aja kita bahas ;) pake bahasa indonesia yang baik dan benar :D


Algoritma link-state juga dikenal dengan algoritma Dijkstra atau algoritma shortest path first (SPF). Algoritma ini memperbaiki informasi database dari informasi topologi. Algoritma Distance vector memiliki informasi yang tidak spesifik tentang distance network dan tidak mengetahui jarak router. Sedangkan algortima link-state memperbaiki pengetahuan dari jarak router dan bagaimana mereka inter-koneksi. Link-state advertisement (LSA) adalah paket kecil dari informasi routing yang dikirim antar router. Ada beberapa titik berat yang berhubungan dengan protokol link-state, antara lain:

a. Processor overhead
b. Kebutuhan memori
c. Konsumsi bandwidth

Router-router yang menggunakan protokol link-state membutuhkan memori lebih dan proses data yang lebih daripada router-router yang menggunakan protokol Distance vector. Router link-state membutuhkan memori yang cukup untuk menangani semua informasi dari database, pohon topologi dan tabelrouting.

Pada protokol routing link state, router akan memilih sendiri jalur untuk menuju ketujuannya. Router tersebut akan mendapatkan informasi tentang jalur terbaik (best pathway) melalui router tetangganya. Dari router tetangganya itulah router mempelajari routing dan mencari jalur terbaik melalui router tetangganya itu.

Protokol routing link state memiliki beberapa fungsi, yaitu:

a. Akan cepat merespon jika dijaringan mengalami perubahan
b. Mengirimkan triggered update hanya pada saat jaringan itu mengalami perubahan
c. Mengirimkan update secara priodik yang dikenal dengan link state refreshes
d. Menggunakan “hello packet” untuk mencari router tetangga

Hello packet terkirim hanya pada router tetangga. Hellopacket berisi informasi tentang jaringan yang terhubung.
Fitur-fitur dari protokol routing link state:

a. Link State Advertisements (LSA)

Adalah paket kecil dari informasi routing yang dikirim antar router. LSA akan dikirim antar router. LSA akan dikirim ke router yang terhubung langsung. Saat terjadi perubahan jaringan. Sebagai contoh jika ada router yang mati, maka routeryang terhubung langsung akan meng-update LSAnya. Masing-masing router membangun database topologi yang berisi informasi LSA.

Link state protokol akan melakukan flood atau pembanjiran dengan menggunakan alamat multicast. Kemudia router yang mendapatkan informasi perubahan itu akan mengirimkan lagi updatenya ke router tetangga yang terhunbung langsung. Namun informasi LSA ini tidak akan terkirim lagi ke si pengirim pertama.

b. Topologi database

Adalah kumpulan informasi yang dari LSA-LSA yang telah terkumpul. Disini informasi yang bias didapatkan adalah semua informasi tentang interface yang terhubung langsung. Bisa berupa IPAddress dari interface itu, subnetmask, jenis dari jaringan yang terhubung, bagaimana router itu terkonek ke jaringan dan lain-lain. Kumpulan database ini kadang disebut dengan topologi database. Dari database ini bisa digunakan untuk menghitung jalur terbaik pada jaringan.

c. Algoritma Shortest Path First (SPF)

Adalah hasil perhitungan pada database sebagai hasil dari SPF tree. Dari algorithma SPF dan database tadilah, maka akan dibuat tree (pohon) dengan routeritu sendiri sebagai root. Router kemudian akan menggunakan SPF untuk mengetahui jalur mana yang paling pendek untuk mencapai tujuan. SPF juga bias disebut dengan algorithma Dijkstra.

d. SPF tree

Telah dijelaskan diatas, bagaimana algorithma SPF akan membentuk sebuah percabangan. Ini akan membantu router untuk mennetukan jalur terbaiknya. Dari percabangan itu juga router akan mengetahui jalur mana yang pendek dan yang terbaik.

e. Penentuan jalur terbaik pada routing table, baik jalurnya maupun portnya.

Routing table adalah daftar rute dan interface. Saat terjadi perubahan jaringan (network) maka routingtable pun akan berubah. Di tabellink state inilah sebuah router mempelajari router tetangganya, beserta router yang ada di jaringan.


Dari pembahasan diatas bias disimpulkan proses dari linkstate adalah sebagai berikut. Awalnya router akan mengirimkan hello packet secara priodik. Dari hello paket inilah akan tercipta LSA. LSA akan mengetahui jaringanmana yang mati atau hidup. Saat sebuah router mati, maka LSA dari router yang terhubung langsung dengan router yang mati itu, akan segera meng-update LSAnya. Dari LSA ini, informasi yang didapatkan akan dibuatkan database-nya dan akan dilanjutkan ke router tetangga. Agar router tetangga mengetahui tentang perubahan jaringan.

Tidak seperti protokol distance vector, protokol link state membangun dan mempelajari jaringan setiap router yang terhubung denagn sangat baik. Hal ini dilakukan pada saat pengiriman LSA. Setiap router akan mempelajari sebuah router tetangganya dari database LSA. Setelah LSA ter-update, maka SPF algoritma akan mempelajarinya dan menghitung jumlah metrik yang dibutuhkan untuk mencapai tujuan.Informasi ini akan digunakan untuk mengupdate routing table. Table routing akan berubah manakala ada router yang mati.

Dalam link state juga menggunakan triggered update. Dimana tidak perlu menunggu waktu tertentu untuk meng-update tabelrouting. Jadi, saat jaringan mengalami perubahan, maka linkstate akan langsung meng-update tabelrouting-nya. Hal ini akan mempercepat adanya penyatuan jaringan tanpa harus menunggu sejumlah waktu tertentu.

Di dalam algoritma routing link state memiliki karakteristik sebagai berikut:

a. Link state akan bersatu dalam Shortest Path First (SPF) protokol.
b. Link state akan mempelajari database yang sangat rumit dari topologi jaringan
c. Linkstate dibuat berdasarkan algorithma Dijkstra

Router akan mempelajari database dari topologi jaringan yang terdapat dari LSA. Kemudian dari LSA itu akan dibuat SPF algoritma. Algoritma SPF akan menghitung jaringan yang dapat dicapai. Router membangun logical topologi sebagai pohon (tree), dengan router sebagai root. Topologi ini berisi semua rute-rute yang mungkin untuk mencapai jaringan dalam protokol link state internetwork. Router kemudian menggunakan SPF untuk memperpendek rute. Daftar rute-rute terbaik dan interface yang digunakan telah di data dalam tabelrouting.

Kelebihan link state protokol :

a. Link state protokol menggunakan cost metric untuk memilih jalurnya di dalam jaringan
b. Link state protokol menggunakan triggered, yang memastikan bahwa jaringan akan menyatu pada akhirnya tanpa harus menunggu waktu tertentu
c. Masing-masing router sudah memiliki gambaran sendiri tentang jaringan yang akan digunakan
d. Router selalu menggunakan informasi yang paling akhir, karena LSA selalu mengupdate informasinya saat terjadi perubahan jaringan
e. Ukuran databaselinkstate dapat di perkecil dengan memperhatikan bentuk jaringan. Disini, linkstate mampu mengambil keputusan untuk menentukan jalur yang paling pendek dan yang terbaik
f. Semua router memiliki kemampuan untuk meng-copy peta (mapping) selama masih dalam satu jaringan
g. Didukung oleh Classless Interdomain Routing (CIDR) dan Variable-lenght Subnetmasking (VLSM)

Kerugian dari link state protokol :

a. Membutuhkan banyak memory dan processor
b. Membutuhkan bentuk jaringan yang pasti
c. Membutuhkan seorang administrator yang paham akan routing link state
d. Saat terjadi perubahan jaringan, maka LSA akan membanjiri jaringan. Hal ini bisa mengganggu proses pengiriman data

sudah jelas? saya harap jelas dan bisa dipahami :D
terimakasih sudah membaca post ini, baca juga ya post selanjutnya ;)

Sunday, April 28, 2013

Distance Vector atau Vektor Jarak

Distance Vector
yang liat postingan ini pastinya orang-orang yang lagi berhubungan sama routing nih hehe..
sebelumnya distance vector itu adalah salah satu algoritma routing dinamik, yang sifat nya yaitu dia akan mencari jalur-jalur atau rute terdekat untuk meneruskan paket data ke jaringan lain..
biar lebih jelas..gini nih penjelasannya ;)


Algoritma routing Distance vector secara periodik menyalin tabel routing dari router ke router. Perubahan tabel routing ini di-update antar router yang saling berhubungan pada saat terjadi perubahan topologi. Algoritma distance vector juga disebut dengan algoritma Bellman-Ford. Setiap router menerima tabelrouting dari router tetangga yang terhubung langsung. 

Cara kerjanya dengan membentuk tabel routing di jaringan adalah dengan cara setiap router memberikan informasi mengenai keadaan jaringanyang diketahui router tersebut kepada router-router tetangganya setiap selang waktu tertentu. Informasi keadaan jaringan tersebut adalah dalam bentuk distance-vector (vektor jarak), yaitu jumlah hop yang diperlukan untuk mencapai suatu jaringan. Router tetangga tersebut menyimpan dan mengolah informasi keadaan jaringan yang diterimanya dan juga me-nyampaikan informasi yang dimilikinya ke router-router tetangga yang lain. Hal ini terus berlangsung sampai seluruh router di jaringan mengetahui keadaan jaringan, Distance Vector routing mempunyai prinsip-prinsip berikut:
a.       Router mengirim update hanya kepada router tetangganya.
b.      Router mengirim semua routing table yang diketahuinya kepada router tetangganya.
c.       Tabel ini dikirim dengan interval waktu tertentu, dimana setiap router dikonfigurasi dengan interval update masing-masing.
d.      Router memodifikasi tabelnya berdasarkan informasi yang diterima dari router teangganya.
Karena router-router menggunakan metoda distance vector routing dalam mengirim informasi tabelrouting secara keseluruhan dengan interval waktu yang tertentu, sehingga mereka ini rentan terhadap suatu kondisi yang disebut routing loop (juga disebut sebagai kondisi count-to-infinity). Seperti halnya dengan bridging loop pada STP, routing loop terjadi jika dua router berbagi informasi yang berbeda. 

Metoda Distance Vector mempunyai keuntungan berikut:
a.       Relatif terbukti stabil, yang merupakan algoritmaoriginal routing.
b.      Relatif gampang dipelihara dan di implementasikan.
c.       Kebutuhan bandwidth bisa diabaikan untuk environment LAN typical. 

Kerugian dari Distance vector adalah sebagai berikut:
a.       Membutuhkan waktu yang relatif lama untuk mencapai convergence (update dikirim dengan interval waktu tertentu).
b.      Router melakukan kalkulasi tabelrouting nya sebelum mem-forward perubahan tabelnya
c.       Rentan terjadinya routing loop.
d.      Kebutuhan bandwidth bisa sangat besar untuk WAN atau environment LAN yang kompleks.


Belajar Routing OSPF (Open Shortest Path First)

Dalam postingan ini saya akan bebagi tentang cara mengimplementasikan routing OSPF..
langsung aja..
karena posringan ini di ambil dari Tugas Akhir saya, bahasanya sedikit baku..gapapa lah yah :D


    OSPF bekerja berdasarkan algoritma Shortest Path First yang dikembangkan berdasarkan algoritma Dijkstra. Sebagai Interior Gateway protocol (IGP). Interior Gateway protocol atau Interior Routing Protokol dikembangkan untuk menghubungkan router-router dibawah kendali administrator jaringan, OSPF mendistribusikan informasi routing-nya di dalam router-router yang tergabung ke dalam suatu AS. AS adalah jaringan yang dikelola oleh administrator setempat. OSPF menggunakan protokol routinglink-state, didesain untuk bekerja dengan sangat efisien dalam proses pengiriman update informasi rute. OSPF merupakan protokol alternatif untuk menutupi kelemahan RIP. OSPF juga merupakan protokol routing yang menggunakan prinsip multipath (multipath protokol) dapat mempelajari berbagai rute dan memilih lebih dari satu rute ke host tujuan. 

     OSPF digunakan bersamaan dengan IP, maksudnya paket OSPF dikirim bersamaan dengan header paket data IP. Setiap router OSPF mempunyai database yang identik yang menggambarkan topologi suatu AutonomousSystem yang disebut dengan LinkStatedatabase (Topologicaldatabase). Dari database ini, perhitungan Shortest Path First dilakukan untuk membentuk RoutingTable. Perhitungan ulang terhadap Shortest Path First dilakukan apabila terjadi perubahan pada topologi jaringan. OSPF memungkinkan beberapa jaringan untuk dikelompokkan bersama. Pengelompokkan seperti ini dinamakan dengan area dan topologinya tersembunyi dari seluruh AS. Informasi yang tersembunyi ini memungkinkan penurunan trafficrouting. Dengan menggunakan konsep area sistem penyebaran informasinya menjadi lebih teratur dan tersegmentasi. Dengan adanya distribusi routing yang teratur,maka penggunaan bandwidth akan lebih efisien, lebih cepat mencapai konvergensi, dan lebih presisi dalam menentukan rute terbaik dalam mengirim paket.
 
Routing ini membentuk peta jaringan dalam tiga tahap, tahap pertama setiap routermengenali seluruh tetangganya, lalu router saling bertukar informasi dan router akanmenghitung jarak terpendek ke setiap tujuan. Peta jaringanya akan disimpan dalambasis data sebagai hasil dari pertukaran informasi antar router.OSPF dapat menangani routing jaringan TCP/IP yang besar dan membuat hirarkirouting dengan membagi jaringan menjadi beberapa area. Setiap paket yang dikirimdapat dibungkus dengan autentikasi, namun protokol ini membutuhkan kemampuanCPU dan memori yang besar. 

Proses dasar routing OSPF adalah menghidupkan adjency, proses flooding, danperhitungan table routing. Router-router mengirimkan paket hello ke seluruh jaringanyang terhubung secara periodic, jika paket tidak terdengar maka jaringan dianggapdown, defaultya mengirimkan 4 kali paket hello.Router-router selalu berusaha adjacent dengan router tetangganya berdasarkan pakethello yang diterima. Dalam jaringan multi access, router memilih Designated Router(DR) dan Backup Designated Router (BDR) dan mencoba adjacent dengan keduarouter tersebut.

Misalkan jaringan baru terkoneksi, maka router A akan mem-broadcast paket hello kesemua int dengan memberikan informasi tentang router A, dan begitu juga sebaliknyaA akan mengetahui informasi tentang tetangganya berdasarkan informasi yangditerima dan mengetahui berapa biaya untuk mencapai router lain. Data-data inidisimpan dalam basis dataSetelah itu setiap router mengirimkan basis data tersebut dalam satu paket LSA(link state advertisement), dan router yang menerima LSA harus mengirimkan kesemua router yang terhubung dengannya.Karena router B telah menerima paket LSA dari router A maka jika LSA yangdikirimkan C sama dengan yang ada pada basis data B atau bukan yang baru, makapaket LSA dari C akan di drop.Antara router satu dengan yang lain akan mengirmkan paket hello dengan intervaltertentu misalnya 120 detik , jika tidak terdapat hello paket dari jaringan yangterkoneksi dengannya atau tidak mendapat balasan maka jaringan tersebut diangapdown. Maka jika terjadi NT down maka paket LSA akan disebarkan ke semuajaringan dengan menggunakan flooding dan akan menyebabkan basis data LSAberubah untuk mencari jalan yang terbaik dalam paket data

Tahapan dalam membentuk adjacency:
Pada saat baru pertama ON, router OSPF tidak tahu apapun tentang tetangganya,router akan mulai mengirimkan paket Hello ke seluruh interface jaringan untukmemperkenalkan dirinya. Jika router yang baru ON ini menerima paket hello yangmenyimpan informasi tentang dirinya maka router ini dapat saling berhubungan duaarah dengan router pengirim hello,Default nilai hello pada broadcastmulti-access adalah 10 detik dan 40 detik jika tidakada respon akan mati, dan pada NBMA hello 30 detik dan akan mati pada 120 detikjika tidak terdapat respon

a.       down : router tidak dapat hellopacket dari router manapun
b.      attempt : router mengirimkan hellopacket tetapi belum mendapat respon, hanya ada pada tipe NT non broadcast multi-access (NBMA) dan tidak ada respon dari router lain.
c.       Init : router mendapatkan hello packet dari router lain, tetapi belum terbentuk hubungan yang bidirectional (2 way)
d.      way : pada tahap ini hubungan antar router sudah bi-directional, untuk NT broadcast DR & BDR nya akan melanjutkan ke tahap full, router non DR& BDR akan melanjutkan Full hanya dengan DR & BDR saja
e.       Exstart : terjadi pemilihan Master dan Slave, master adalah router yang memiliki router id tertinggi
f.       exchange : terjadi pertukaran DatabaseDescriptor (DBD) paket DBD ini digambarkan dari topologi DB router, proses dimulai oleh master
g.      loading : router akan memeriksa DBD dari router lain dan apabila ada entry yang tidak diketahui maka router akan mengira link state request (LSR) , LSR akan dibalas dengan linkstate state ACK dan link state reply, diakhir tahap ini semua router yang di adjacent memiliki topologi DB yang sama
h.      Full : masing-masing router sudah membentuk hubungan yang adjancent.
Perintah-perintah OSPF
Router(config)#router OSPF [process id]
Router(config-router)#network [network id][wildcard mask] area [number]
Router(config-if)#ip OSPF priority [0-255] a bandwidth link
Router(config-if)#IP OSPF cost [1-65535]
Rouer(config-if)#bandwidth [1-10.000.000] –> kbps