<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>my documentation</title>
	<atom:link href="http://nugrahaputra.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nugrahaputra.wordpress.com</link>
	<description>beberapa catatan kecil</description>
	<lastBuildDate>Tue, 27 Sep 2011 02:52:03 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nugrahaputra.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>my documentation</title>
		<link>http://nugrahaputra.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nugrahaputra.wordpress.com/osd.xml" title="my documentation" />
	<atom:link rel='hub' href='http://nugrahaputra.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Materi Dasar Teknologi Informasi</title>
		<link>http://nugrahaputra.wordpress.com/2011/09/27/materi-dasar-teknologi-informasi/</link>
		<comments>http://nugrahaputra.wordpress.com/2011/09/27/materi-dasar-teknologi-informasi/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 02:41:54 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
		
		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=139</guid>
		<description><![CDATA[&#160; Materi Dasar Teknologi Informasi dapat didownload disini : pert1 pert2 pert3 pert4 pert5 pert6 pert7 pert8 pert9 pert10 pert11<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=139&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Materi Dasar Teknologi Informasi dapat didownload disini :</p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert1.ppt">pert1</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert2.ppt">pert2</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert3.ppt">pert3</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert4.ppt">pert4</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert5.ppt">pert5</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert6.ppt">pert6</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert7.ppt">pert7</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert8.ppt">pert8</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert9.ppt">pert9</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert10.ppt">pert10</a></p>
<p><a href="http://nugrahaputra.files.wordpress.com/2011/09/pert11.ppt">pert11</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=139&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2011/09/27/materi-dasar-teknologi-informasi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
		<item>
		<title>membuat CAPTCHA dengan Zend Framework Captcha Image</title>
		<link>http://nugrahaputra.wordpress.com/2010/02/23/membuat-captcha-dengan-zend-framework-captcha-image/</link>
		<comments>http://nugrahaputra.wordpress.com/2010/02/23/membuat-captcha-dengan-zend-framework-captcha-image/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 04:12:32 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=129</guid>
		<description><![CDATA[Untuk mengurangi SPAM pada aplikasi web kita, kita dapat menggunakan fitur CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart). Captcha ini akan melakukan test pengidentifikasian terhadap manusia atau komputer (mesin). tes dilakukan dengan memberikan sebuah tampilan, bisa berupa text-yang tidak biasa atau gambar berupa tulisan yang tidak umum, tetapi masih dapat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=129&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Untuk mengurangi SPAM pada aplikasi web kita, kita dapat menggunakan fitur CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans         Apart). Captcha ini akan melakukan test pengidentifikasian terhadap manusia atau komputer (mesin). tes dilakukan dengan memberikan sebuah tampilan, bisa berupa text-yang tidak biasa atau gambar berupa tulisan yang tidak umum, tetapi masih dapat ditebak manusia.</p>
<p>Zend Framework menyediakan fitur generator captcha test berupa text atau gambar yang dapat digunakan pada website kita. salah satunya dengan menggunakan Zend Capctha Image. penggunaannya cukup mudah, dengan meng-instance kelas Zend_Captcha_Image kita dapat meng-generate image captcha untuk validasi input form pada website kita.</p>
<p>Berikut ini contoh kelas Captcha yang dibuat untuk menghandle captcha.</p>
<p><span id="more-129"></span></p>
<p><pre class="brush: php;">

&lt;?php

class Captcha {
 var $id;
 var $captcha;
 var $imgDir;

 public function Captcha (){

require_once ('Zend/Captcha/Image.php&quot;);
 $this-&gt;imgDir = '/var/www/html/public/images/captcha/';
 $this-&gt;captcha = new Zend_Captcha_Image();
 $this-&gt;captcha-&gt;setTimeout('300') //set waktu menebak
 -&gt;setWordLen('5') //set jumlah huruf
 -&gt;setHeight('50') //set tinggi bambar
 -&gt;setFont('/var/www/default.ttf') //set font default
 -&gt;setImgDir($this-&gt;imgDir) //mengatur direktori untuk menyimpan gambar (harus memiliki permision read-write atau mode 777 pada linux OS)
 -&gt;setDotNoiseLevel('40')  //mengatur tingkat (jumlah) noise titik pada gambar
 -&gt;setLineNoiseLevel('2')  ;  //mengatur tingkat (jumlah) niose garis pada gambar

 $this-&gt;captcha-&gt;generate();    //command to generate session + create image
 $this-&gt;id = $this-&gt;captcha-&gt;getId();
 }

 public function getId(){
 return $this-&gt;id;
 }

 public function getImgDir(){
 return $this-&gt;imgDir;
 }

 public function isValid($id, $input){

require_once('Zend/Session/Namespace.php');
$session = new Zend_Session_Namespace('Zend_Form_Captcha_'.$id);
 if ($session-&gt;word==$input){
 return true;
 }
 else{
 return false;
 }
 }
}

</pre></p>
<p>dengan memanggil fungsi $this-&gt;captcha-&gt;generate() Zend_Captcha akan menggenerate gambar random pada path imgDir, nama file merupakan ID captcha yang dapat diambil dengan fungsi getId() dan berekstensi default &#8220;.png&#8221;.</p>
<p>Fungsi -&gt;generate() juga otomatis menyimpan ID captcha dan &#8220;word&#8221; captcha pada session dengan namespace Zend_Form_Captcha_(no Id Captcha) session ini dapat digunakan untuk melakukan validasi terhadap inputan dari user. pada contoh ini telah dibuat fungsi isValid() dengan input berupa id captcha dan word captcha untuk dicocokkan dengan yang tersmpan dalam session.</p>
<p>dalam script view nya dapat dilihat pada contoh berikut :</p>
<p><pre class="brush: xml;">

&lt;?=$this-&gt;form('form1', array('method'=&gt;'POST','action'=&gt;'registrasi/daftar/','onsubmit'=&gt;&quot;return validasi()&quot;)) ?&gt;

Isikan data identifikasi anda dibawah ini, dan tekan tombol &quot;KIRIM&quot;
&lt;table&gt;
&lt;tr&gt;
 &lt;td&gt;&lt;?= $this-&gt;formLabel('idlabel', 'Nomor Identitas') ?&gt;&lt;/td&gt;
 &lt;td&gt;&lt;?= $this-&gt;formText('identitas', '',array('id'=&gt;'identitas','maxlength'=&gt;&quot;35&quot;)) ?&gt;&lt;/td&gt;
 &lt;td&gt;&lt;small&gt;(Isikan nomor identitas berupa &lt;strong&gt;KTP&lt;/strong&gt; atau &lt;strong&gt;SIM&lt;/strong&gt;)&lt;/small&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
 &lt;td&gt;&lt;?= $this-&gt;formLabel('email', 'Email') ?&gt;&lt;/td&gt;
 &lt;td&gt;&lt;?= $this-&gt;formText('email', '',array('id'=&gt;'email')) ?&gt;&lt;/td&gt;
 &lt;td&gt;&lt;small&gt;(Isikan email valid anda)&lt;/small&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
 &lt;td colspan=&quot;2&quot;&gt;&lt;img src=&quot;public/images/captcha/&lt;?= $this-&gt;captcha-&gt;getId() ?&gt;.png &quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;/tr&gt;
 &lt;td&gt;&amp;nbsp; &lt;/td&gt;
 &lt;td&gt;&lt;?= $this-&gt;formText('input', '',array('id'=&gt;'captcha')) ?&gt;&lt;input name=&quot;id&quot; type=&quot;hidden&quot; value=&quot;&lt;?=$this-&gt;captcha-&gt;getId() ?&gt;&quot; /&gt;&lt;/td&gt;
 &lt;td&gt;&lt;small&gt;(isikan karakter yang muncul pada gambar diatas)&lt;/small&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 &lt;td colspan=&quot;2&quot; align=&quot;center&quot;&gt;&lt;?= $this-&gt;formSubmit('submit', 'Kirim', array('id'=&gt;'submit')) ?&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;

</pre></p>
<p>dan hasilnya akan tampil sebagai berikut :</p>
<p style="text-align:left;"><a href="http://nugrahaputra.files.wordpress.com/2010/02/captcha.png"><img class="aligncenter size-full wp-image-130" title="captcha" src="http://nugrahaputra.files.wordpress.com/2010/02/captcha.png?w=700" alt=""   /></a><a href="http://framework.zend.com/manual/en/zend.captcha.html" target="_blank">sumber</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=129&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2010/02/23/membuat-captcha-dengan-zend-framework-captcha-image/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2010/02/captcha.png" medium="image">
			<media:title type="html">captcha</media:title>
		</media:content>
	</item>
		<item>
		<title>mengirim email dengan PHP dan Zend Mail</title>
		<link>http://nugrahaputra.wordpress.com/2010/02/23/mengirim-email-dengan-php-dan-zend-mail/</link>
		<comments>http://nugrahaputra.wordpress.com/2010/02/23/mengirim-email-dengan-php-dan-zend-mail/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 03:24:18 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=114</guid>
		<description><![CDATA[Zend Framework menyediakan fitur transportasi email dengan kelas Zend_Mail. dengan menggunakan fitur Zend Mail ini, kita dapat dengan mudah melalukan pengiriman email otomatis dari halaman website kita ke alamat email yang dituju. Berikut ini ada beberapa contoh mudah untuk menggunakan Zend_Mail. Requirements Apache web server dan PHP 5.x jika belum terinstall pada web server anda, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=114&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://framework.zend.com" target="_self">Zend Framework</a> menyediakan fitur transportasi email dengan kelas Zend_Mail. dengan menggunakan fitur Zend Mail ini, kita dapat dengan mudah melalukan pengiriman email otomatis dari halaman website kita ke alamat email yang dituju. Berikut ini ada beberapa contoh mudah untuk menggunakan Zend_Mail.</p>
<ol>
<li><strong>Requirements</strong>
<ul>
<li>Apache web server dan PHP 5.x
<ul>
<li>jika belum terinstall pada web server anda, cukup mudah, hanya jalankan perintah :</li>
</ul>
<p><pre class="brush: bash;">
yum install -y httpd php* php-devel
</pre></p>
<p><pre class="brush: bash;">
service httpd start
chkconfig httpd on
</pre></li>
<li>mail transport agent untuk centos : <strong>sendmail</strong> untuk menginstall, perintahnya :</li>
<p><pre class="brush: bash;">
yum install -y sendmail sendmail-devel
service sendmail start
chkconfig sendmail on
</pre></p>
<li><a href="http://nugrahaputra.wordpress.com/2009/07/21/instalasi-zend-framework/">package Zend Framework</a> yang tentunya harus terinstall di sistem.</li>
</ul>
</li>
<p>beberapa hal yang dibutuhkan sebelum kita dapat menggunakan Zend_Mail adalah (disini digunakan web server dengan sistem operasi Centos 5.2) :</p>
<li><strong>simple code untuk mengirim pesan dengan format HTML<br />
</strong></li>
<p>Zend Mail dapat dengan mudah digunakan dengan melakukan instance terhadap kelas Zend_Mail. seperti contoh berikut :</p>
<p><pre class="brush: php;">
&lt;?php
include ('Zend/Mail.php');
$msg = '&lt;h2&gt;TESTING EMAIL &lt;/h2&gt; &lt;br /&gt;'.
$msg .= 'Terima kasih telah melakukan aktivasi pendaftaran&lt;br /&gt;';
$msg.= '--------------------------------------------------------------- &lt;br /&gt;';
$msg.= '&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;User ID &lt;/td&gt;&lt;td&gt;&lt;strong&gt;= ID &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;'.'&lt;strong&gt;Kode Aktivasi &lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;= kode aktifasi &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;';
$msg.= '--------------------------------------------------------------- &lt;br /&gt;';
$msg .= 'Silahkan melakukan login untuk melengkapi biodata pendaftaran dengan menggunakan user ID sebagai username dan kode Aktivasi anda sebagai password pada website kami &lt;a href =&quot;http://localhost/&quot; &gt; klik &lt;/a&gt;&lt;br /&gt;'.
'Terima kasih,&lt;br /&gt;'.
'webmaster &lt;br /&gt;';

$mail = new Zend_Mail(); //instance kelas Zend_Mail
$mail-&gt;setBodyHtml($msg); //mengisikan body atau isi pesan dengan format HTML bisa juga dengan format plain text dengan fungsi setBodyText()
$mail-&gt;setFrom('localhost@domain.com', 'WEBMASTER'); //menentukan alamat pengirim dan nama pengirim
$mail-&gt;addTo('xxxx@gmail.com', 'receiver'); //menentukan tujuan email dan nama penerima
$mail-&gt;setSubject('KODE AKTIVASI PENDAFTARAN'); //mengisi SUBJECT email
$mail-&gt;send(); //mengirim email

?&gt;
</pre></p>
<li><strong>mail attachment</strong></li>
<p>dengan Zend_Mail kita juga dapat menambahkan attachment berupa file dengan fungsi createAttachment() seperti contoh berikut :</p>
<p><pre class="brush: php;">
$mail-&gt;createAttachment($myImage,
'image/gif',
Zend_Mime::DISPOSITION_INLINE,
Zend_Mime::ENCODING_8BIT);
</pre></p>
<div><a href="http://framework.zend.com/manual/en/zend.mail.html" target="_blank">sumber</a></div>
<div><a href="http://nugrahaputra.files.wordpress.com/2010/02/untitled.png"><img class="aligncenter size-large wp-image-126" title="hasil kiriman email" src="http://nugrahaputra.files.wordpress.com/2010/02/untitled.png?w=614&#038;h=278" alt="" width="614" height="278" /></a></div>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=114&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2010/02/23/mengirim-email-dengan-php-dan-zend-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2010/02/untitled.png?w=1024" medium="image">
			<media:title type="html">hasil kiriman email</media:title>
		</media:content>
	</item>
		<item>
		<title>MARS : salah satu algoritma kriptografi kandidat AES</title>
		<link>http://nugrahaputra.wordpress.com/2009/10/07/mars-salah-satu-algoritma-kriptografi-kandidat-aes/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/10/07/mars-salah-satu-algoritma-kriptografi-kandidat-aes/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 04:37:10 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=108</guid>
		<description><![CDATA[KRIPTOGRAFI Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Ilmu menyandi (Kriptografi) sebetulnya adalah ilmu yang sudah dikenal bahkan semenjak jaman Julius Caesar (sebelum masehi). Ilmu ini tidak hanya mencakup teknik-teknik menyandikan informasi, tetapi juga teknik untuk membongkar sandi. Enkripsi adalah suatu proses mengubah sebuah teks murni (plaintext) menjadi sebuah runtutan karakter atau data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=108&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><strong>KRIPTOGRAFI</strong></h2>
<p>Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Ilmu menyandi (Kriptografi) sebetulnya adalah ilmu yang sudah dikenal bahkan semenjak jaman Julius Caesar (sebelum masehi). Ilmu ini tidak hanya mencakup teknik-teknik menyandikan informasi, tetapi juga teknik untuk membongkar sandi. Enkripsi adalah suatu proses mengubah sebuah teks murni (<em>plaintext</em>) menjadi sebuah runtutan karakter atau data yang terlihat tidak berarti dan mempunyai urutan bit yang tidak beraturan, disebut <em>ciphertext. </em>Proses pengubahan kembali <em>ciphertext </em>menjadi <em>plaintext </em>disebut dekripsi.</p>
<p>Algoritma Kriptografi terdiri atas tiga fungsi dasar, yaitu :</p>
<ol>
<li>Enkripsi : merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut <em>Plaintext</em>, diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan chiper atau kode. Sama halnya dengan jika kita tidak mengerti akan sebuah kata, maka kita akan melihatnya si dalam kamus atau daftar istilah.</li>
<li>Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan dalam bentuk asalnya (teks asli), disebut dengan dekripsi pesan. Algoritma yang digunakan dalam proses dekripsi tentunya berbeda dengan algoritma yang digunakan untuk enkripsi.</li>
<li> Kunci : yang dimaksud disini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (<em>private key</em>) dan kunci umum (<em>public key</em>).</li>
</ol>
<p>Berdasarkan kunci yang dipakai, algoritma kriptografi dibedakan menjadi tiga bagian<span id="more-108"></span>, yaitu :</p>
<ol>
<li>Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripsinya).</li>
<li>Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan dekripsinya).</li>
<li>Hash Function</li>
</ol>
<h2><strong>Sejarah MARS</strong></h2>
<p>Pada tahun 1997, <em>National Institute </em>of <em>Standard and Technology </em>(NIST) mengadakan program untuk menentukan algoritma standar untuk enkripsi data yang dikenal dengan <em>Advanced Encryption Standard </em>(AES) sebagai pengganti <em>Data Encryption Standard </em>(DES) yang sebelumnya digunakan sebagai algoritma standar untuk enkripsi data. Hal ini dilakukan karena kunci yang digunakan pada algoritma DES terlalu pendek sehingga tidak dapat menjamin keamanan data tingkat tinggi yang dibutuhkan saat ini. Triple-DES muncul sebagai altematif solusi untuk masalah-­masalah yang membutuhkan kemanan data tingkat tinggi seperti perbankan, tetapi terlalu lambat pada beberapa penggunaan.</p>
<p>NIST bertugas untuk menilai algoritma-algoritma yang sudah masuk sebagai kandidat untuk AES dengan kriteria kunci yang digunakan harus panjang, ukuran blok yang digunakan harus lebih besar, lebih cepat, dan fleksibel. Pada tahun 1999, terpilih 5 buah algoritma sebagai kandidat final untuk AES yaitu MARS, RC6, RIJNDAEL, SERPENT dan MARS. Pada tahun 2000, tepatnya bulan oktober algoritma RIJNDAEL terpilih sebagai algoritma standar untuk enkripsi yang dikenal dengan AES. Meskipun algoritma MARS tidak terpilih sebagai algoritma AES, tetapi algoritma MARS dapat dijadikan sebagai salah satu allematif untuk enkripsi data dalarn berbagai aplikasi.</p>
<h2>Algoritma Enkripsi MARS</h2>
<p>Ukuran blok yang digunakan untuk enkripsi data pada algoritma MARS adalah 128 bit. Sebelum enkripsi blok dimulai, satu blok masukan dibagi menjadi empat word data dimana setiap word data terdiri dari 32-bit data. Untuk selanjutya keseluruhan operasi internal dilakukan pada 32-bit data atau satu word data.</p>
<h3>Struktur <em>Cipher </em>Algoritma MARS</h3>
<p>Struktur <em>cipher </em>pada MARS dibagi dalam 3 tahap yakni :</p>
<p>Tahap pertama adalah <em>forward mixing, </em>berfungsi untuk mencegah serangan terhadap <em>chosen plainlext. </em>Terdiri dari penambahan sub kunci pada setiap word data atau <em>plaimezr, </em>diikuti dengan delapan iterasi <em>mixing </em>tipe-3 <em>feitsal </em>(dalarn <em>forward mode) </em>dengan berbasis S-box.</p>
<p>Tahap kedua adalah <em>&#8220;cryptographic core&#8221; </em>dan <em>cipher, </em>terdiri dari enam belas iterasi tranformasi kunci tipe-3 <em>feistal. </em>Untuk menjamin bahwa proses enkripsi dan dekripsi mempunyai kekuatan yang sama, delapan iterasi pertama ditunjukkan dalam “<em>forward mode&#8221; </em>dan delapan iterasi terakhir ditunjukkan dalam &#8220;backward mode”.</p>
<p>Tahap terakhir adalah <em>backward mixing, </em>berfungsi untuk melindungi serangan kembali terhadap <em>chosen chipertext. </em>Tahap ini merupakan invers dari tahap pertama, terdiri dari delapan iterasi <em>mixing </em>tipe-3 <em>feistel </em>(dalam <em>backward mode) </em>dengan berbasis s-box, diikuti dengan pengurangan sub kunci dari word data. Hasil pengurangan inilah yang disebut dengan <em>ciphertext</em>.</p>
<h3>Pustaka</h3>
<p>A., Menez, Van Ooorschot P., dan Vanstone S. <em>Handbook of applied Cryptography.</em> CRC Press, 1996.</p>
<p>Ariyus, Dony. <em>Pengantar Ilmu Kriptografi.</em> Yogyakarta: CV. Andi Offset, 2008.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=108&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/10/07/mars-salah-satu-algoritma-kriptografi-kandidat-aes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
		<item>
		<title>Web  Server HTTPS : Secure HTTP Protocol pada CentOS</title>
		<link>http://nugrahaputra.wordpress.com/2009/09/04/configuring-https-secure-http-protocol-on-centos/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/09/04/configuring-https-secure-http-protocol-on-centos/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 05:13:50 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=97</guid>
		<description><![CDATA[Pada beberapa halaman web kita sering menemukan alamat yang menggunakan &#8220;https://&#8221; seperti pada login aplikasi bank, paypal, facebook, email, dll. apakah sebenarnya https itu? dan bagaimana kita menyediakan webserver dengan fitur https? HTTPS adalah kepanjangan dari Hypertext Transfer Protocol Secure yang merupakan sebuah protokol kombinasi antara HTTP (Hypertext Transfer Protocol) dan Cryptographic Protocol. Pada protokol [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=97&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pada beberapa halaman web kita sering menemukan alamat yang menggunakan &#8220;https://&#8221; seperti pada login aplikasi bank, paypal, facebook, email, dll. apakah sebenarnya https itu? dan bagaimana kita menyediakan webserver dengan fitur https?</p>
<p>HTTPS adalah kepanjangan dari <em><a href="http://en.wikipedia.org/wiki/HTTPS">Hypertext Transfer Protocol Secure</a></em> yang merupakan sebuah protokol kombinasi antara HTTP (<em><a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">Hypertext Transfer Protocol</a></em>) dan <em><a href="http://en.wikipedia.org/wiki/Cryptographic_protocol">Cryptographic Protocol</a></em>. Pada protokol ini selain menggunakan komunikasi plain text, juga menyandikan data sesi dengan menggunakan protokol SSL (<em>Secure Socket Layer</em>) atau Protokol TLS (<em>Transport Layer Security</em>). Pada umumnya Port yang digunakan adalah port 443 dan url yang digunakan adalah https://</p>
<p><strong><span style="text-decoration:underline;">menyediakan webserver https</span></strong></p>
<p>Untuk menyediakan webserver berbasis https, saya mencoba melakukan instalasi pada mesin webserver dengan sistem operasi CentOS. langkah-langkahnya adalah :<br />
<span id="more-97"></span></p>
<ol>
<li><strong>Mendapatkan paket aplikasi yang dibutuhkan</strong></li>
<p>Paket aplikasi yang dibutuhkan adalah mod_ssl dan OpenSSL. mod_ssl adalah interface yang digunakan Apache untuk menggunakan OpenSSL. kita bisa menginstallnya menggunakan yum atau <a href="http://rpm.pbone.net/" target="_blank">rpm</a>.<br />
Untuk instalasi dengan yum caranya :</p>
<p><pre class="brush: bash;">
yum install mod_ssl openssl
</pre></p>
<li><strong>Men-</strong><em><strong>generate</strong></em><strong> &#8220;</strong><em><strong>self-signed certificate</strong></em><strong>&#8220;</strong></li>
<p>Untuk menyiapkan sebuah web server agar menerima koneksi HTTPS, administrator harus membuat sertifikat kunci publik untuk server web. Sertifikat ini harus ditandai oleh otoritas sertifikat yang terpercaya agar semua browser web bisa menerimanya koneksi HTTPS dari web server kita. Sertifikasi ini untuk menyatakan bahwa pemegang sertifikat tersebut memang merupakan sertifikat resmi. Web browser pada umumnya didistribusikan dengan sertifikat yang resmii sehingga mereka dapat memverifikasi koneksi HTTPS web server kita. Sertifikat sekuritas ini ada yang gratis (free) ada juga yang berlangganan antara US$13 &#8211; US$1.500 per tahun.</p>
<p>Tapi ada cara lain, yaitu membuat sertifikat kita sendiri, tetapi resikonya setiap web browser akan memberikan peringatan bahwa sertifikat milik web server kita tidak resmi. Untuk mendapatkan sertifikat sekuritas langkahnya adalah :</p>
<p><pre class="brush: bash;">
# Generate private key
openssl genrsa -out ca.key 1024 

# Generate CSR
openssl req -new -key ca.key -out ca.csr

# Generate Self Signed Key
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

# Move the files to the correct locations
mv ca.crt /etc/pki/tls/certs
mv ca.key /etc/pki/tls/private/ca.key
mv ca.csr /etc/pki/tls/private/ca.csr
</pre></p>
<p>Kemudian kita harus mengupdate konfigurasi Apache SSL</p>
<p><pre class="brush: bash;">
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
</pre></p>
<p>Mengubah path untuk mencocokkan di mana file kunci disimpan.</p>
<p><pre class="brush: bash;">
SSLCertificateFile /etc/pki/tls/certs/ca.crt
</pre></p>
<p>Kemudian mengatur path untuk Sertifikat Key File</p>
<p><pre class="brush: bash;">
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
</pre></p>
<p>restart Apache</p>
<p><pre class="brush: bash;">
service httpd restart
</pre></p>
<li><strong>Mengeset Virtual Host</strong></li>
<p>Nah kemudian kita membuat <a href="http://en.wikipedia.org/wiki/Virtual_hosts">virtual host</a> pada webserver kita agar kita mempunyai 2 host yang berbeda dalam 1 webserver.<br />
Misalnya kita akan mengarahkan host http port 80 ke direktori /var/www/html/ dan untuk host https port 443 ke direktori /var/www/secure/. Maka kita lakukan modifikasi pada file konfigurasi apache /etc/httpd/conf/httpd.conf</p>
<p><pre class="brush: xml;">
&lt;VirtualHost *:80&gt;
        &lt;Directory /var/www/html&gt;
        AllowOverride All
        &lt;/Directory&gt;
        DocumentRoot /var/www/html
        ServerName 172.18.3.184
&lt;/VirtualHost&gt;
NameVirtualHost *:443
&lt;VirtualHost *:443&gt;
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/ca.crt
        SSLCertificateKeyFile /etc/pki/tls/private/ca.key
        &lt;Directory /var/www/secure&gt;
        AllowOverride All
        &lt;/Directory&gt;
        DocumentRoot /var/www/secure
        ServerName 172.18.3.184
&lt;/VirtualHost&gt;
</pre></p>
<p>kemudian restart Apache</p>
<p><pre class="brush: bash;">
service httpd restart
</pre></p>
<li>Configure firewall</li>
<p>Langkah terakhir kita set konfigurasi firewall agar menerima request yang melalui port 443</p>
<p><pre class="brush: bash;">
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service iptables save
iptables -L -v
</pre></ol>
<p>sekian, selamat mencoba<br />
<a href="http://wiki.centos.org/HowTos/Https"> sumber</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=97&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/09/04/configuring-https-secure-http-protocol-on-centos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
		<item>
		<title>Full Text search engine dengan Zend Search Lucene</title>
		<link>http://nugrahaputra.wordpress.com/2009/08/03/full-text-search-engine-dengan-zend-search-lucene/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/08/03/full-text-search-engine-dengan-zend-search-lucene/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 06:58:42 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=67</guid>
		<description><![CDATA[Zend Framework menyediakan sebuah fitur Zend_Search_Lucene yang berguna untuk pencarian Full Text pada dokumen. Fitur ini merupakan adopsi dari project Apache Lucene, merupakan project full-featured full text search engine yang dibangun dalam bahasa JAVA. Secara garis besar, dalam membuat search engine untuk website, yang perlu dilakukan adalah : menginstall Zend Framework. melakukan pengindeksan terhadap dokumen-dokumen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=67&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Zend Framework menyediakan sebuah fitur Zend_Search_Lucene yang berguna untuk pencarian Full Text pada dokumen. Fitur ini merupakan adopsi dari project <a href="http://lucene.apache.org/java/docs/" target="_blank">Apache Lucene</a>, merupakan project full-featured full text search engine yang dibangun dalam bahasa JAVA.</p>
<p>Secara garis besar, dalam membuat search engine untuk website, yang perlu dilakukan adalah :</p>
<ol>
<li><a href="http://nugrahaputra.wordpress.com/2009/07/21/instalasi-zend-framework/" target="_blank">menginstall Zend Framework</a>.</li>
<li>melakukan pengindeksan terhadap dokumen-dokumen yang akan digunakan sebagai &#8220;kamus data&#8221; pencarian.</li>
<li>melakukan pencarian dalam index yang telah terbentuk.</li>
</ol>
<p><span style="text-decoration:underline;"><strong>Menginstal Zend Framework</strong></span></p>
<p>Untuk menginstall Zend Framework telah saya tulis di posting saya sebelumnya.</p>
<p><span style="text-decoration:underline;"><strong>Melakukan Pengindeksan</strong></span></p>
<p>Indeks disini adalah semacam kamus pencarian bagi search engine kita, yaitu tempat dimana dokumen-dokumen di<em>ekstrak</em> informasi didalamnya (mis : url, title, isi dokumen itu sendiri, dll) kemudian diurutkan dan disimpan menjadi satu kesatuan yang terindeks.</p>
<p>Untuk melakukan pengindeksan website, kita harus membaca semua halaman yang ada di website tersebut, metodenya adalah kita membaca halaman HTML (frontpage), mengambil informasi (isi dan judul) dan membaca semua link yang ada didalamnya. Kemudian dari link yang terbaca, kita simpan dalam array dan dilakukan pembacaan halaman HTML berdasarkan link yang ada di dalam array. Proses crawling website ini kita batasi pada domain kita saja, jadi proses akan berjalan selama url yang akan dibaca masih dalam domain tertentu mis : wordpress.com maka kita akan melakukan proses crawilng pada wordpress.com beserta hosting-hosting didalamnya.</p>
<p><span id="more-67"></span></p>
<p>berikut ini contoh coding crawling website dalam sebuah domain. ada beberapa kelas Zend Framework yang digunakan, antaralain :</p>
<ol>
<li>Zend/Search/Lucene.php -&gt; untuk melakukan pengindeksan search Lucene</li>
<li>Zend/Http/Client.php -&gt; untuk melakukan pembacaan dokumen html melalui http request</li>
<li>Zend/Log.php -&gt; melakukan proses LOG proses yang dilakukan dan menyimpan di dalam FILE</li>
</ol>
<p><pre class="brush: php;">
&lt;?php
/*
@package searching **
@author nugrahaputra@gmail.com
@search controller
@filename index.php
*/
require_once('Zend/Search/Lucene.php');
require_once('Zend/Http/Client.php');
require_once('Zend/Log.php');
require_once('Zend/Log/Writer/Stream.php');
require_once('Zend/Uri.php');

$place = strip_tags($_REQUEST['p']);
define('HOST','http://'.$_SERVER['HTTP_HOST'].'/');

ini_set('display_errors',true);
ini_set('max_execution_time','10000');

if ($place=='situs'){
	$start = 'http://www.yourdomain.ac.id';
	$match = 'yourdomain.ac.id';
	$excp = 'yourdomain';
	$EXCEPTION = array (
	'http://exception.yourdomain.ac.id/');	

define ('APP_ROOT',realpath(dirname(__FILE__)));
define ('START_URI', $start);
define ('MATCH_URI', $match);

$log = new Zend_Log(new Zend_Log_Writer_Stream(APP_ROOT .  DIRECTORY_SEPARATOR . 'log' . DIRECTORY_SEPARATOR . 'crawler.log'));

$log-&gt;info('Crawler Start');
echo ('Crawler Start
');

$client = new Zend_Http_Client();
$client-&gt;setConfig(array('timeout' =&gt; 30));

$indexpath = APP_ROOT . DIRECTORY_SEPARATOR . $place ;

try{
	$index = Zend_Search_Lucene::open($indexpath);
	$log-&gt;info(&quot;opened index $indexpath&quot;);
	echo (&quot;opened index $indexpath
&quot;);
}catch(Zend_Search_Lucene_Exception $e){
	try{
		$index = Zend_Search_Lucene::create($indexpath);
		$log-&gt;info(&quot;opened index $indexpath&quot;);
//		echo(&quot;opened index $indexpath
&quot;);
	}catch (Zend_Search_Lucene_Exception $e){
		$log-&gt;error(&quot;Failed opening and creating&quot;);
//		echo(&quot;Failed opening and creating
&quot;);
		$log-&gt;error($e-&gt;getMessage());
		echo($e-&gt;getMessage());
		echo &quot;unable to opening and creating index {$e-&gt;getMessage()}
&quot;;
		exit(1);
	}
}

$targets = array(START_URI);

for($i = 0; $i &lt; count($targets); $i++){
	try{
		if (Zend_Uri::check($targets[$i])&amp;&amp;(! in_array($targets[$i],$EXCEPTION))&amp;&amp;(strpos ($targets[$i],$excp)===false)){
			$client-&gt;setUri($targets[$i]);
		}else{
			$client-&gt;setUri('http://www.yourdomain.ac.id');
		}
	}catch(Zend_Uri_Exception $e){
		$log-&gt;info(&quot;{$targets[$i]} not valid&quot;);
		$client-&gt;setUri('http://www.yourdomain.ac.id');
	}

	try{
		$response = $client-&gt;request();
	}catch (Zend_Http_Client_Exception $e){
//		$response = $client-&gt;request();
		$log-&gt;info(&quot;{$targets[$i]} cannot connect&quot;);
		echo (&quot;{$targets[$i]} cannot connect&quot;);
	}

	if ($response-&gt;isSuccessful()){
		$body = $response-&gt;getBody();
		//$title = $response-&gt;getTitle();
//		echo $title;
		$log-&gt;info(&quot;fetched&quot; . strlen($body) . &quot;bytes from {$targets[$i]}&quot; );
//		echo(&quot;fetched&quot; . strlen($body) . &quot;bytes from {$targets[$i]}
&quot; );

		$body_checksum = md5($body);
		try{
			$hits = $index-&gt;find('url:'.$targets[$i]);
		}catch (Zend_Search_Lucene_Search_QueryParserException $e){
			$log-&gt;info(&quot;fail&quot;);
		}

		$matched = false;

		foreach($hits as $hit){
			if ($hit-&gt;md5 == $body_checksum){
				if($matched == true)$index-&gt;delete($hit-&gt;id);
				$matched = true;
			}else{
				$log-&gt;info($targets[$i] . &quot; out of date and reindexing &quot;);
			//	$index-&gt;delete($hit);
			}
		}
		if ($matched){
			$log-&gt;info($targets[$i] . &quot; is up to date, skipping &quot;);
			continue;
		}
		echo $targets[$i].&quot;
&quot;;
		//$doc = new Zend_Search_Lucene_Document();

		$doc = Zend_Search_Lucene_Document_Html::loadHTML($body,true);

		$doc-&gt;addField(Zend_Search_Lucene_Field::UnIndexed('url',$targets[$i]));
		$doc-&gt;addField(Zend_Search_Lucene_Field::UnIndexed('md5',$body_checksum));
	//	$doc-&gt;addField(Zend_Search_Lucene_Field::Text('title',$doc-&gt;getTitle()));
		$doc-&gt;addField(Zend_Search_Lucene_Field::Text('content',$body));

		$index-&gt;addDocument($doc);
		$log-&gt;info(&quot;indexed {$targets[$i]}&quot;);
		echo(&quot;indexed {$targets[$i]}
&quot;);

		$links = $doc-&gt;getLinks();
		foreach ($links as $link){
			if ((strpos($link, MATCH_URI) !== false )&amp;&amp; //cek apakah link sudah tersimpan
				(! in_array($link,$targets)&amp;&amp;(strpos($link,$excp)&gt;=0))) $targets[] = $link;

			//echo $targets[$i].$link.&quot;
&quot;;
		}
	} else {
		//$log-&gt;warning(&quot;requesting $url returned HTTP &quot; . $response-&gt;getStatus());
		echo(&quot;requesting $url returned HTTP &quot; . $response-&gt;getStatus().&quot;
&quot;);
	}
}

$log-&gt;info(&quot;iterated over &quot; . count($targets). &quot; documents&quot;);
//echo(&quot;iterated over &quot; . count($targets). &quot; documents
&quot;);
$log-&gt;info(&quot;optimizing index&quot;);
//echo(&quot;optimizing index
&quot;);
//$index-&gt;optimize();

//$index-&gt;commit();
$log-&gt;info(&quot;Done index contains &quot; . $index-&gt;numDocs() . &quot; documents&quot;);
echo(&quot;Done index contains &quot; . $index-&gt;numDocs() . &quot; documents
&quot;);
$log-&gt;info(&quot;Crawler shutting down&quot;);
echo(&quot;Crawler shutting down
&quot;);

?&gt;
</pre></p>
<p><a href="http://www.slideshare.net/shahar/content-indexing-with-zendsearchlucene" target="_blank">sumber</a></p>
<p>code ini dieksekusi secara berkala untuk melakukan update terhadap index dokumen website.</p>
<p><span style="text-decoration:underline;"><strong>Pencarian dalam Index dan Manajemen Hasil Pencarian</strong></span></p>
<p>Untuk melakukan pencarian dalam index yang telah terbentuk, dan melakukan manajemen hasil pencarian, berikut ini codingnya</p>
<p><pre class="brush: php;">
&lt;?php
/*
@package searching **
@author nugrahaputra@gmail.com
@search controller
@filename search.controller.php
*/
require_once('Zend/Search/Lucene.php');
require_once('Zend/Log.php');
require_once('Zend/Log/Writer/Stream.php');

class search_controller{
	var $result;
	var $indexPath;
	var $index;
	var $query;
	var $real_query;
	var $hits = array();

	//fungsi konstuktor untuk membuka index yang telah tersimpan
	function __construct ($index_path){
		$this-&gt;indexPath = $index_path;
		try {
			$this-&gt;index = Zend_Search_Lucene::open($index_path);
		}catch(Zend_Search_Lucene_Exception $e){
			echo 'gagal membuka index '.$index_path;
		}
	}

	//fungsi untuk &quot;membersihkan&quot; hasil parsing dokumen HTML dari tag-tag script, style, dan special character
	function filter($content){
		$buffer = strip_tags( $content,&quot;&lt;script&gt; &lt;style&gt; &lt;title&gt; &quot;);	//filter tag yang diijinkan
		$regex_style = '/&lt;\s*style.+?&lt;\s*\/\s*style.*?&gt;/si';//hilangkan style
		$buffer = preg_replace($regex_style, ' ' , $buffer);
		$regex_script = '/&lt;\s*script.+?&lt;\s*\/\s*script.*?&gt;/si';//hilangkan script
		$buffer = preg_replace($regex_script, ' ' , $buffer);
		$buffer = ereg_replace(&quot;&amp;nbsp; | &amp; | &amp;quot; | &lt; | &gt; &quot;,&quot; &quot;,$buffer);
		return $buffer;
	}

	//fungsi untuk mencari keyword dalam index
	function find ($keyword){
		$this-&gt;real_query=strtolower($keyword);
		$this-&gt;query=Zend_Search_Lucene_Search_QueryParser::parse($keyword);
		Zend_Search_Lucene::setResultSetLimit(100);

		$this-&gt;result=$this-&gt;index-&gt;find($this-&gt;query);
		$i = 0;
		foreach ($this-&gt;result as $item){
			$this-&gt;hits[$i][&quot;id&quot;] = $item-&gt;id;
			$this-&gt;hits[$i][&quot;title&quot;] =$this-&gt;query-&gt;highlightMatches($item-&gt;title);
			$this-&gt;hits[$i][&quot;url&quot;] = $item-&gt;url;
			//memberikan &quot;HIGHLIGHT&quot; pada pencarian yang ditemukan
			$this-&gt;hits[$i][&quot;content&quot;] =$this-&gt;query-&gt;highlightMatches($this-&gt;filter($item-&gt;content));
			$this-&gt;hits[$i][&quot;score&quot;] = $item-&gt;score;
			$i++;
		}
	}
	//hitung hasil pencarian
	function get_num_result(){
		return count($this-&gt;result);
	}
	//memecah2 hasil menjadi beberapa halaman @halaman = $offset hasil dan ditampilkan halaman ke $page
	function get_result ($offset, $page, $keyword){
		$temp = array();
		//$this-&gt;find($keyword);
		$startpos = $page * $offset;
		$endpos = $startpos+$offset;
		for ($i=$startpos;$i&lt;$endpos;$i++){
			if(isset($this-&gt;hits[$i]))
				$temp[]=$this-&gt;hits[$i];
			else
				break;
		}
		return $temp;
	}

}

?&gt;
</pre></p>
<p>class diatas digunakan untuk memproses pencarian dalam index dan manajemen hasil pencarian.</p>
<p>Zend Lucene memberikan fitur pencarian menggunakan query parser, dimana dengan query parser kita dapat meng-<em>customize </em>hasil pencarian yang kita inginkan, misalnya dengan menambahkan operator AND, dsb. Untuk lebih lengkapnya baca manual nya Zend.</p>
<p>Berikut ini contoh penggunaan class <strong><em>searching <span style="font-weight:normal;"><span style="font-style:normal;">untuk melakukan pencarian</span></span></em></strong></p>
<p><strong><em><span style="font-weight:normal;"><span style="font-style:normal;"> </span></span></em></strong></p>
<p><pre class="brush: php;">
$print='';
foreach($tes as $item) {
			$print .='
&lt;blockquote&gt;&lt;strong&gt;&lt;a href=&quot;'.$item[url].'&quot; &gt;';
			$print .= $item[title].$item[id];
			$print .= '&lt;/a&gt;&lt;/strong&gt;';
			$print .=$item[content];
			$print .='&lt;/blockquote&gt;
';
	}
	echo $print;
</pre></p>
<p>OK, selamat mencoba</p>
<p><a href="http://ganeshhs.com/zend-framework/zend-search-lucene-part1" target="_blank"><span style="font-weight:normal;"><span style="text-decoration:none;"><span style="font-style:normal;">sumber</span></span></span></a></p>
<p><a href="http://framework.zend.com/manual/en/zend.search.lucene.html" target="_blank"><span style="font-weight:normal;"><span style="text-decoration:none;"><span style="font-style:normal;">sumber</span></span></span></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=67&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/08/03/full-text-search-engine-dengan-zend-search-lucene/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalasi Zend Framework</title>
		<link>http://nugrahaputra.wordpress.com/2009/07/21/instalasi-zend-framework/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/07/21/instalasi-zend-framework/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:11:21 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=40</guid>
		<description><![CDATA[Zend Framework adalah salah satu framework bahasa pemrograman PHP yang berbasis OOP (Oject Oriented Programming), sederhana, dan open source. Zend Framework difokuskan untuk membangun aplikasi Web 2.0 dan Web Service yang lebih aman, reliabel dan modern. Framework ini juga telah mendukung API untuk beberapa vendor seperti e Google, Amazon, Yahoo!, Flickr beberapa fiur terbaru Zend [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=40&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://framework.zend.com/">Zend Framework</a> adalah salah satu framework bahasa pemrograman <a title="PHP" href="http://id.wikipedia.org/wiki/PHP" target="_blank">PHP</a> yang berbasis OOP (Oject Oriented Programming), sederhana, dan open source.</p>
<p>Zend Framework difokuskan untuk membangun aplikasi <a href="http://id.wikipedia.org/wiki/Web_2.0">Web 2.0</a> dan <a href="http://id.wikipedia.org/wiki/Web_service">Web Service</a> yang lebih aman, reliabel dan modern. Framework ini juga telah mendukung API untuk beberapa vendor seperti e     <a href="http://code.google.com/apis/gdata" target="_blank">Google</a>,     <a href="http://aws.amazon.com/" target="_blank">Amazon</a>,     <a href="http://developer.yahoo.com/" target="_blank">Yahoo!</a>,     <a href="http://flickr.com/services/" target="_blank">Flickr</a></p>
<p>beberapa fiur terbaru Zend Framework antaralain :</p>
<ul>
<li><span>AJAX</span> support through JSON</li>
<li><span>Search</span> &#8211; Lucene</li>
<li><span>Syndication</span></li>
<li><span>Web Services</span></li>
<li><span>High-quality, object-oriented PHP 5 class library</span> – attention to best practices     like design patterns, unit testing, &amp; loose coupling</li>
</ul>
<p>untuk mendapatkan packages Zend anda dapat mendownloadnya <a href="http://framework.zend.com/download/latest">disini</a>, dan jangan lupa <a href="http://framework.zend.com/docs/api">manualnya</a>.</p>
<p><strong>Instalasi Zend Framework </strong></p>
<p>Untuk menggunakan Zend Framework, caranya mudah sekali,<br />
<span id="more-40"></span></p>
<ol>
<li> Mendownload package Zend Framework,</li>
<li>Kemudian mengekstraknya, anda mendapatkan folder ZendFramework-[versi yang anda download], di dalamnya terdapat beberapa folder, antara lain folder &#8220;library&#8221;, &#8220;demos&#8221; dan &#8220;test&#8221;.</li>
<li>Jadikan isi folder library (folder &#8220;Zend&#8221;) sebagai salah satu include path PHP anda, caranya :
<ul>
<li>jika anda mempunyai akses full pada websever anda, letakkan folder <strong>Zend</strong> (library) pada /usr/share/lib/php</li>
<li>atau jika anda menggunakan hosting, buat satu direktory (mis : <strong>/html/lib</strong>/) dan letakkan folder <strong>Zend</strong> pada direktori tersebut, kemudian tambahkan baris berikut pada halaman controller PHP anda.</li>
</ul>
</li>
<p><pre class="brush: php;">

set_include_path('.'.PATH_SEPARATOR.$_SERVER['DOCUMENT_ROOT'].PATH_SEPARATOR.$_SERVER['DOCUMENT_ROOT'].'/lib');
</pre></p>
<li>Copykan folder <strong>demos</strong> pada direktory web server anda (mis : /var/www/html/ )</li>
<li>Jalankan file <strong>http://server.anda/demos/Zend/Gdata/InstallationChecker.php</strong> pada browser,  jika instalasi sukses, akan muncul halaman sbb:</li>
</ol>
<div id="attachment_63" class="wp-caption aligncenter" style="width: 310px"><a href="http://nugrahaputra.files.wordpress.com/2009/07/ci090720213319.jpg"><img class="size-medium wp-image-63" title="installation checker" src="http://nugrahaputra.files.wordpress.com/2009/07/ci090720213319.jpg?w=300&#038;h=181" alt="installation checker" width="300" height="181" /></a><p class="wp-caption-text">installation checker</p></div>
<p>yah,, selesai &#8230; SELAMAT MENCOBA&#8230;.:-)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=40&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/07/21/instalasi-zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2009/07/ci090720213319.jpg?w=300" medium="image">
			<media:title type="html">installation checker</media:title>
		</media:content>
	</item>
		<item>
		<title>setting transparent web proxy pada Mikrotik RouterOS</title>
		<link>http://nugrahaputra.wordpress.com/2009/07/20/setting-transparent-web-proxy-pada-mikrotik-routeros/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/07/20/setting-transparent-web-proxy-pada-mikrotik-routeros/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:23:01 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[mikrotik]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=36</guid>
		<description><![CDATA[Salah satu fungsi proxy adalah untuk menyimpan cache. Apabila sebuah LAN menggunakan proxy untuk berhubungan dengan Internet, maka yang dilakukan oleh browser ketika user mengakses sebuah url web server adalah mengambil request tersebut di proxy server. Sedangkan jika data belum terdapat di proxy server maka proxy mengambilkan langsung dari web server. Kemudian request tersebut disimpan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=36&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Salah satu fungsi proxy adalah untuk menyimpan cache. Apabila sebuah LAN menggunakan proxy untuk berhubungan dengan Internet, maka yang dilakukan oleh browser ketika user mengakses sebuah url web server adalah mengambil request tersebut di proxy server. Sedangkan jika data belum terdapat di proxy server maka proxy mengambilkan langsung dari web server. Kemudian request tersebut disimpan di cache proxy. Selanjutnya jika ada client yang melakukan request ke url yang sama, akan diambilkan dari cache tersebut. Ini akan membuat akses ke Internet lebih cepat.</p>
<p>Bagaimana agar setiap pengguna dipastikan mengakses Internet melalu web proxy yang telah kita aktifkan? Untuk ini kita dapat menerapkan transparent proxy. Dengan transparent proxy, setiap Browser pada komputer yang menggunakan gateway ini secara otomatis melewati proxy.<br />
<span id="more-36"></span><br />
Mengaktifkan fiture web proxy di mikrotik:<br />
<code>[admin@routerOS] &gt; /ip proxy set enabled=yes<br />
[admin@routerOS] &gt; /ip web-proxy set<br />
cache-administrator=xxx@xxx.com<br />
[admin@routerOS] &gt; /ip web-proxy print</code></p>
<p><code>enabled: yes<br />
src-address: 0.0.0.0<br />
port: 3128<br />
hostname: "routerOS"<br />
transparent-proxy: yes<br />
parent-proxy: 0.0.0.0:0<br />
cache-administrator: "xxx@xxx.com"<br />
max-object-size: 8192KiB<br />
cache-drive: system<br />
max-cache-size: unlimited<br />
max-ram-cache-size: unlimited<br />
status: running<br />
reserved-for-cache: 4733952KiB<br />
reserved-for-ram-cache: 2048KiB<br />
</code><br />
Membuat rule untuk transparent proxy pada firewall NAT, tepatnya ada dibawah rule untuk NAT masquerading:<br />
<code>[admin@routerOS] &gt; /ip firewall nat add  chain=dstnat in-interface=local src-address=192.168.0.0/24 protocol=tcp dst-port=80 action=redirect to-ports=3128<br />
</code><br />
<code>[admin@routerOS] &gt; /ip firewall nat print<br />
Flags: X - disabled, I - invalid, D - dynamic<br />
0   chain=srcnat out-interface=public action=masquerade<br />
1   chain=dstnat in-interface=local src-address=192.168.0.0/24 protocol=tcp dst-port=80 action=redirect to-ports=3128</code></p>
<p>Pada winbox:<br />
1. Aktifkan web proxy pada menu IP&gt;Proxy&gt;Access&gt;Setting ( check box enable)<!--more--></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=36&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/07/20/setting-transparent-web-proxy-pada-mikrotik-routeros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
		<item>
		<title>setting NAT pada Mikrotik RouterOS</title>
		<link>http://nugrahaputra.wordpress.com/2009/04/06/setting-nat-pada-mikrotik-routeros/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/04/06/setting-nat-pada-mikrotik-routeros/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 08:28:04 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[mikrotik]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=24</guid>
		<description><![CDATA[Network Address Translation atau yang lebih biasa disebut dengan NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP. Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas dalam administrasi jaringan. Saat ini, protokol IP yang banyak [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=24&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Network_address_translation">Network Address Translation</a> atau yang lebih biasa disebut dengan NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP. Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas dalam administrasi jaringan.</p>
<p>Saat ini, protokol IP yang banyak digunakan adalah IP version 4 (IPv4). Dengan panjang alamat 4 bytes berarti terdapat 2 pangkat 32 = 4.294.967.296 alamat IP yang tersedia. Jumlah ini secara teoretis adalah jumlah komputer yang dapat langsung koneksi ke internet. Karena keterbatasan inilah sebagian besar ISP (Internet Service Provider) hanya akan mengalokasikan satu alamat untuk satu user dan alamat ini bersifat dinamik, dalam arti alamat IP yang diberikan akan berbeda setiap kali user melakukan koneksi ke internet. Hal ini akan menyulitkan untuk bisnis golongan menengah ke bawah. Di satu sisi mereka membutuhkan banyak komputer yang terkoneksi ke internet, akan tetapi di sisi lain hanya tersedia satu alamat IP yang berarti hanya ada satu komputer yang bisa terkoneksi ke internet. Hal ini bisa diatasi dengan metode NAT. Dengan NAT gateway yang dijalankan di salah satu komputer, satu alamat IP tersebut dapat dishare dengan beberapa komputer yang lain dan mereka bisa melakukan koneksi ke internet secara bersamaan.<br />
<span id="more-24"></span><br />
Misal kita ingin menyembunyikan jaringan local/LAN 192.168.0.0/24 dibelakang satu IP address 202.51.192.42 yang diberikan oleh ISP, yang kita gunakan adalah fitur Mikrotik source network address translation (masquerading) . Masquerading akan merubah paket-paket data  IP address asal dan port dari network 192.168.0.0/24 ke 202.51.192.42 untuk selanjutnya diteruskan ke jaringan internet global.</p>
<p>Untuk menggunakan masquerading, rule source NAT dengan action &#8216;masquerade&#8217; harus ditambahkan pada konfigurasi firewall:</p>
<p><code>[widhy@routerOS] &gt; /ip firewall nat add chain=srcnat action=masquerade out-interface=public</code></p>
<p>Jika di setting menggunakan Winbox, langkahnya seperti berikut ini :</p>
<p><a href="http://nugrahaputra.files.wordpress.com/2009/04/untitled.jpg"><img class="alignnone size-full wp-image-25" title="untitled" src="http://nugrahaputra.files.wordpress.com/2009/04/untitled.jpg?w=700&#038;h=93" alt="untitled" width="700" height="93" /></a></p>
<p><a rel="attachment wp-att-26" href="http://nugrahaputra.wordpress.com/2009/04/06/setting-nat-pada-mikrotik-routeros/untitled1/"><img class="alignnone size-full wp-image-26" title="untitled1" src="http://nugrahaputra.files.wordpress.com/2009/04/untitled1.jpg?w=700" alt="untitled1"   /></a><a rel="attachment wp-att-27" href="http://nugrahaputra.wordpress.com/2009/04/06/setting-nat-pada-mikrotik-routeros/untitled2/"><img class="alignnone size-full wp-image-27" title="untitled2" src="http://nugrahaputra.files.wordpress.com/2009/04/untitled2.jpg?w=700" alt="untitled2"   /></a></p>
<p><a href="http://wiki.mikrotik.com/wiki/NAT_Tutorial">sumber</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=24&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/04/06/setting-nat-pada-mikrotik-routeros/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2009/04/untitled.jpg" medium="image">
			<media:title type="html">untitled</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2009/04/untitled1.jpg" medium="image">
			<media:title type="html">untitled1</media:title>
		</media:content>

		<media:content url="http://nugrahaputra.files.wordpress.com/2009/04/untitled2.jpg" medium="image">
			<media:title type="html">untitled2</media:title>
		</media:content>
	</item>
		<item>
		<title>configuring unixODBC &#8211; ODBC in CentOS</title>
		<link>http://nugrahaputra.wordpress.com/2009/04/01/configuring-unixodbc-odbc-in-centos/</link>
		<comments>http://nugrahaputra.wordpress.com/2009/04/01/configuring-unixodbc-odbc-in-centos/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 09:07:27 +0000</pubDate>
		<dc:creator>nugrahaputra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ODBC]]></category>

		<guid isPermaLink="false">http://nugrahaputra.wordpress.com/?p=21</guid>
		<description><![CDATA[ODBC (Open Database Connection) adalah sebuah API (Application Programming Interface) yang bertugas menjembatani antara software dengan DBMS (Database Management System). untuk lebih lengkapnya baca disini. unixODBC unixODBC adalah salah satu implementasi dari ODBC yang berjalan pada plattform unix, linux, macOS X, IBM OS/2 dan Microsoft Interix. Untuk instalasi unixODBC pada mesin berbasis centOS (Red Hat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=21&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/ODBC">ODBC (Open Database Connection)</a> adalah sebuah <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API (Application Programming Interface)</a> yang bertugas menjembatani antara software dengan <a href="http://en.wikipedia.org/wiki/Database_management_system">DBMS (Database Management System)</a>. untuk lebih lengkapnya baca disini.</p>
<p><strong>unixODBC</strong></p>
<p><a href="http://en.wikipedia.org/wiki/UnixODBC">unixODBC </a>adalah salah satu implementasi dari ODBC yang berjalan pada plattform unix, linux, macOS X, IBM OS/2 dan Microsoft Interix.</p>
<p>Untuk instalasi unixODBC pada mesin berbasis centOS (Red Hat Linux), perintahnya adalah :<br />
<span id="more-21"></span></p>
<ol>
<li>Instalasi paket yang dibutuhkan<br />
<code>[root@vm01 ~]# yum install compat-libstdc++-33.i386 libtool-ltdl.i386 libX11 libXcursor libXext</code></li>
<li>Install unixODBC dan unixODBC-devel<br />
<code>[root@vm01 ~]# yum install unixODBC unixODBC-devel</code></li>
<li>Setting file konfigurasi <strong>/etc/odbcinst.ini</strong><br />
File ini digunakan untuk menampung driver DBMS jika kita telah minginstall DBMS sebelumnya, untuk contoh, saya menggunakan DBMS <a href="http://nugrahaputra.wordpress.com/2009/04/01/install-configure-ibm-db2-centos-i386/">DB2</a> yang telah terinstall. Langkahnya, edit file /etc/odbcinst.ini dan tambahkan baris berikut :<br />
<code>[DB2]<br />
Description             = ODBC for DB2<br />
Driver          = /opt/IBM/db2/V8.1/lib/libdb2.so<br />
FileUsage               = 1<br />
DontDLClose             = 1</code></li>
<li>Setting file konfigurasi <strong>/etc/odbc.ini </strong><br />
File ini digunakan untuk mengkoneksikan database yang ada pada DBMS ke ODBC. langkahnya, edit file odbc.ini, tambahkan baris berikut :<br />
<code>[testdb]       //sesuaikan dengan nama database yang ada pada DBMS<br />
Description= testDB<br />
Driver          = DB2     //sesuaikan dengan nama driver DBMS yang ada pada file odbcinst.ini<br />
Database     = testdb //nama database</code></li>
<li>Terapkan setting konfigurasi driver dan DSN (Data Source Name), perintahnya :<br />
- menerapkan setting driver (odbcinst.ini)<br />
<code>[root@vm01 ~]# odbcinst -i -d -f /etc/odbcinst.ini</code><br />
-menerapkan setting DSN (odbc.ini)<br />
<code>[root@vm01 ~]# odbcinst -i -s -l -f /etc/odbc.ini</code></li>
<li>Cek daftar DSN yang telah terkonfigurasi<br />
<code>[root@vm01 ~]# odbcinst -s -q</code><br />
<code>[test]<br />
[testdb]<br />
[mydsn]</code></li>
<li>Connect ke DSN yang dituju.<br />
<code>[root@vm01 ~]# isql -v testdb db2admin db2admin<br />
+---------------------------------------+<br />
| Connected!                            |<br />
+---------------------------------------+<br />
SQL&gt;</code></li>
</ol>
<p>Sekian dokumentasi proses konfigurasi unixODBC. Mohon kritik dan saran untuk pengembangan lebih lanjut.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nugrahaputra.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nugrahaputra.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nugrahaputra.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nugrahaputra.wordpress.com&amp;blog=3196062&amp;post=21&amp;subd=nugrahaputra&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nugrahaputra.wordpress.com/2009/04/01/configuring-unixodbc-odbc-in-centos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c288098071afcd6314e2725ae8eb15f8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nugrahaputra</media:title>
		</media:content>
	</item>
	</channel>
</rss>
