<?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/"
	>

<channel>
	<title>Yan Arief Purwanto &#187; PHP</title>
	<atom:link href="http://www.yanrf.com/blog/cat/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yanrf.com</link>
	<description></description>
	<lastBuildDate>Tue, 21 Oct 2008 02:01:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Planet Projotamansari, Coret-moret Blogger Bantul</title>
		<link>http://www.yanrf.com/blog/83/planet-projotamansari-coret-moret-blogger-bantul</link>
		<comments>http://www.yanrf.com/blog/83/planet-projotamansari-coret-moret-blogger-bantul#comments</comments>
		<pubDate>Fri, 02 May 2008 08:53:41 +0000</pubDate>
		<dc:creator>Yan Arief</dc:creator>
				<category><![CDATA[Bantul]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[projotamansari]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[RSS Awareness Day]]></category>
		<category><![CDATA[simplepie]]></category>

		<guid isPermaLink="false">http://www.yanrf.com/blog/83/planet-projotamansari-coret-moret-blogger-bantul</guid>
		<description><![CDATA[Telah banyak planet-planet bertebaran di blogosfir Indonesia, sebagai agregator RSS dari blog anggota suatu komunitas. Mengikuti jejak komunitas lain, saya membangun sebuah planet sebagai pengumpul umpan RSS bagi blogger warga Bantul — Planet Projotamansari. Dan lebih afdolnya saya rilis untuk menyambut RSS Awareness Day.

Ide awal pembuatan Planet ini adalah untuk lebih mengenal dan bersilaturahmi dengan [...]]]></description>
			<content:encoded><![CDATA[<p>Telah banyak planet-planet bertebaran di blogosfir Indonesia, sebagai agregator RSS dari blog anggota suatu komunitas. Mengikuti jejak komunitas lain, saya membangun sebuah planet sebagai pengumpul umpan RSS bagi blogger warga Bantul — <a href="http://www.projotamansari.com">Planet Projotamansari</a>. Dan lebih afdolnya saya rilis untuk menyambut <a href="http://rssday.org/spread/">RSS Awareness Day</a>.</p>
<p align="center"><a title="Planet Projotamansari - Agregator blog warga Bantul" href="http://www.projotamansari.com"><img src="http://www.yanrf.com/wp-content/uploads/2008/05/planet-projotamansari-blog.gif" alt="planet-projotamansari-blog" width="400" height="114" /></a></p>
<p>Ide awal pembuatan Planet ini adalah untuk lebih mengenal dan bersilaturahmi dengan rekan-rekan blogger di daerah saya. Mengumpulkan umpan RSS mereka sehingga pengunjung planet bisa membaca coret-moret blogger Bantul dalam satu wadah. Harapan saya, Planet Projotamansari juga mampu menarik warga Bantul untuk meramaikan blogofir.</p>
<p>Saat ini warga Planet Projotamansari baru sejumlah 14 blog termasuk blog saya ini. Terdiri bermacam-macam blogger diantaranya seniman ternama, penyihir bahasa, dosen, pensiunan guru, praktisi TI, hingga remaja.</p>
<p>Secara teknis, planet ini saya bangun menggunakan PHP Framework <a href="http://codeigniter.com/">CodeIgniter</a> ditambah pustaka <a href="http://simplepie.org/">SimplePie</a> sebagai pengolah umpan RSS. Mengapa saya tidak menggunakan aplikasi seperti <a href="http://www.planetplanet.org/">PlanetPlanet</a> atau aplikasi siap pakai lainnya? Alasannya, untuk mengasah kemampuan menggunakan <abbr title="CodeIgniter">CI</abbr>, sedikit bersusah payah menulis kode namun saya merasa bisa bersenang-senang dengan CI (halah..)</p>
<p>Nah, bagi warga Bantul lainnya yang tertarik bergabung di Planet Projotamansari silahkan menghubungi saya.</p>
<p><em>credit: RSS Logo by fasticon.com</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanrf.com/blog/83/planet-projotamansari-coret-moret-blogger-bantul/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Sphinx, SQL full-text Search Engine</title>
		<link>http://www.yanrf.com/blog/65/sphinx-sql-full-text-search-engine</link>
		<comments>http://www.yanrf.com/blog/65/sphinx-sql-full-text-search-engine#comments</comments>
		<pubDate>Mon, 13 Aug 2007 11:57:21 +0000</pubDate>
		<dc:creator>Yan Arief</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yanrf.com/blog/65/sphinx-sql-full-text-search-engine</guid>
		<description><![CDATA[Sphinx , mesin pencari standalone, menggunakan sistem full-text indexing agar performa pencarian cepat dan efisien. Dirancang bisa diitegrasikan dengan SQL database (MySQL) dan bahasa pemrograman web.
Menurut pengembangnya, Sphinx merupakan akronim SQL Pharse Indexing. Perangkat lunak ini  didistribusikan secara opensource dan bebas pakai menggunakan lisensi GPL2. Versi komersial juga tersedia bagi penggunaan secara embeded.
Fasilitas utama [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.yanrf.com/wp-content/uploads/2007/08/sphinx-search.gif" alt="Sphinx Logo" align="right" /><a href="http://www.sphinxsearch.com">Sphinx </a>, mesin pencari standalone, menggunakan sistem <em>full-text indexing</em> agar performa pencarian cepat dan efisien. Dirancang bisa diitegrasikan dengan SQL database (MySQL) dan bahasa pemrograman web.</p>
<p>Menurut pengembangnya, Sphinx merupakan akronim SQL Pharse Indexing. Perangkat lunak ini  didistribusikan secara opensource dan bebas pakai menggunakan lisensi GPL2. Versi komersial juga tersedia bagi penggunaan secara <em>embeded</em>.</p>
<p>Fasilitas utama Sphinx yakni</p>
<ul>
<li><strong>indexer</strong>, untuk membuat indeks dalam format <em>full-text</em>.</li>
<li><strong>search</strong>, <em>command line</em> untuk melakukan (mencoba) <em>query </em>terhadap hasil indeks.</li>
<li><strong>searchd</strong>, <em>daemon </em>untuk memproses pencarian dari perangkat lunak lain, misalnya skrip web.</li>
<li><strong>sphinxapi</strong>, pustaka <abbr title="Application programming interface">API</abbr> untuk bahasa pemrograman berbasis web, baru tersedia untuk PHP.</li>
</ul>
<p>Aplikasi mesin pencari dengan sistem <em>full-text/site indexing</em> seperti Sphinx ini sebaiknya digunakan bagi situs web besar, yang memiliki ratusan — ribuan halaman dinamis maupun statis. Sebenarnya bisa juga menggunaka fitur mesin pencari Google namun tampilan hasil pencariannya kurang pas (belum bisa) bila diintegrasikan dengan layout/desain situs web kita.</p>
<p>Sebagai tambahan info, Martin Streicher, <em>Editor in Chief</em>, <a href="http://www.linux-mag.com">Linux Magazine</a> menulis tentang <a href="http://www.ibm.com/developerworks/opensource/library/os-php-sphinxsearch/index.html?ca=drs-tp3107">tutorial instalasi Sphinx</a> dan integrasi dengan PHP dan MySQL di situs <a href="http://www.ibm.com/developerworks/">IBM developerWorks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanrf.com/blog/65/sphinx-sql-full-text-search-engine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warna Baris Dinamis dengan PHP dan CSS</title>
		<link>http://www.yanrf.com/blog/45/warna-baris-dinamis-dengan-php-dan-css</link>
		<comments>http://www.yanrf.com/blog/45/warna-baris-dinamis-dengan-php-dan-css#comments</comments>
		<pubDate>Thu, 21 Jun 2007 01:22:35 +0000</pubDate>
		<dc:creator>Yan Arief</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yanrf.com/blog/45/warna-baris-dinamis-dengan-php-dan-css</guid>
		<description><![CDATA[PHP dipadukan dengan CSS mampu menghasilkan tampilan data yang menarik. Contoh sederhana dalam tutorial ini, membuat warna baris dinamis. Data dinamis yang diolah oleh skrip PHP ditampilkan dengan warna baris selang-seling, CSS mendefinisikan warna background pertama dan kedua. Untuk lebih mempercantik tampilan, bisa menggunakan backrground image file di skrip CSS-nya.
Langkah pertama, menggunakan image editor favorit [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.yanrf.com/wp-content/uploads/2007/06/php-css-baris-dinamis.jpg" alt="PHP &amp;mdash warna baris dinamis" align="left" />PHP dipadukan dengan CSS mampu menghasilkan tampilan data yang menarik. Contoh sederhana dalam tutorial ini, membuat warna baris dinamis. Data dinamis yang diolah oleh skrip PHP ditampilkan dengan warna baris selang-seling, CSS mendefinisikan warna background pertama dan kedua. Untuk lebih mempercantik tampilan, bisa menggunakan backrground image file di skrip CSS-nya.</p>
<p>Langkah pertama, menggunakan image editor favorit anda, membuat 2 image yang akan digunakan sebagai background baris, contohnya :</p>
<p><img src="http://www.yanrf.com/myfiles/warnabaris/warna1.jpg" title="Warna 1" alt="Warna 1" height="25" width="15" />  <img src="http://www.yanrf.com/myfiles/warnabaris/warna2.jpg" title="Warna 2" alt="Warna 2" height="25" width="15" /></p>
<p>Selanjutnya, membuat file berekstensi .php dengan struktur halaman html/xhtml: baris.php<br />
<code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Warna Baris Dinamis&lt;/title&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br />
&lt;!-- letak CSS di sini --&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!-- letak skrip PHP di sini --&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>Membuat skrip CSS dan disisipkan di bagian &lt;head&gt; dalam file baris.php.</p>
<p><code>/* Definisi warna baris 1 dan 2 */<br />
.warna1 { background: #a4dfcd; } /* Hijau */<br />
.warna2 { background: #fff; } /* Putih */<br />
/* Definisi warna baris menggunakan background image */<br />
.warna-img1 { background: url(warna1.jpg) repeat-x bottom; }<br />
.warna-img2 { background: url(warna2.jpg) repeat-x bottom; }</code></p>
<p>Skrip CSS lengkap :</p>
<p><code>&lt;style type="text/css"&gt;<br />
&lt;!--<br />
body { text-align:left; font-family:Arial, Helvetica, sans-serif;<br />
font-size:12px; }<br />
#container { margin:0; padding:4px; width:200px; background:#0072bc; }<br />
h1 { display:block; text-align:center; font-size:120%; color:#fff}<br />
ul { padding:0; margin-left:0px; list-style-type:none; }<br />
li { margin-left:0px; padding:3px; font-weight:bold; }<br />
/* Definisi class untuk warna baris 1 dan 2 */<br />
.warna1 { background: #a4dfcd; } /* Hijau */<br />
.warna2 { background: #fff; } /* Putih */<br />
/* Definisi class untuk warna baris menggunakan background image */<br />
.warna-img1 { background: url(warna1.jpg) repeat-x bottom; }<br />
.warna-img2 { background: url(warna2.jpg) repeat-x bottom; }<br />
--&gt;<br />
&lt;/style&gt;</code></p>
<p>Untuk menampilkan hasilnya, menggunakan teknik &lt;em&gt;Looping&lt;/em&gt; sederhana di PHP. Teknik ini bisa juga diterapkan menampilkan database MySQL dalam bentuk tabel data dan membuat navigation list.</p>
<p>Skrip inti untuk menampilkan warna secara dinamis adalah mengambil nilai modulus barisnya :<br />
<code>$warna_baris = ($n % 2) ? "warna1" :"warna2";</code></p>
<p>Sedangkan untuk menampilkan warna baris menggunakan background image :<br />
<code>$warna_baris = ($n % 2) ? "warna-img1" :"warna-img2";</code></p>
<p>Kode PHP ditaruh di dalam bagian &lt;body&gt; halaman HTML, selengkapnya :</p>
<p><code>&lt;div id="container"&gt;<br />
&lt;h1&gt;Warna Baris Dinamis dengan PHP dan CSS&lt;/h1&gt;<br />
&lt;ul&gt;<br />
&lt;?php<br />
// looping<br />
for ($n=1;$n&lt;=10;$n++) {<br />
// mengambil nilai dari modulus (%) 2<br />
// class warna baris tanpa background image<br />
$warna_baris = ($n % 2) ? "warna1" :"warna2";<br />
// class warna menggunakan background image<br />
// $warna_baris = ($n % 2) ? "warna-img1" :"warna-img2";<br />
// menampilkan hasil<br />
echo "&lt;li class=\"$warna_baris\"&gt;Baris $n&lt;/li&gt;\n";<br />
}<br />
?&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;</code></p>
<p>Source code selengkapnya<a href="http://www.yanrf.com/myfiles/warnabaris/baris.php.txt" title="Lihat source code" target="_blank"> lihat di sini</a>, sedangkan untuk melihat <a href="http://www.yanrf.com/myfiles/warnabaris/" title="Lihat Demo" target="_blank">demo di sini</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanrf.com/blog/45/warna-baris-dinamis-dengan-php-dan-css/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Membuat Cache untuk XML Feed dengan PHP-CLI dan Cron</title>
		<link>http://www.yanrf.com/blog/17/membuat-cache-untuk-xml-feed-dengan-php-cli-dan-cron</link>
		<comments>http://www.yanrf.com/blog/17/membuat-cache-untuk-xml-feed-dengan-php-cli-dan-cron#comments</comments>
		<pubDate>Thu, 10 May 2007 06:41:53 +0000</pubDate>
		<dc:creator>Yan Arief</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yanrf.com/?p=17</guid>
		<description><![CDATA[Fasilitas XML feed mempermudah kita dalam mengambil suatu informasi dari sebuah website secara realtime. Sebagai contoh, kita ingin menampilkan informasi cuaca suatu kota, Yahoo! Weather telah menyediakan XML feed termasuk kota-kota besar di Indonesia.
Ada dua cara untuk membaca xml feed, yang pertama secara realtime dari website sumbernya dan yang kedua membuat cache untuk xml feed [...]]]></description>
			<content:encoded><![CDATA[<p>Fasilitas XML feed mempermudah kita dalam mengambil suatu informasi dari sebuah website secara realtime. Sebagai contoh, kita ingin menampilkan informasi cuaca suatu kota, <a href="http://weather.yahoo.com">Yahoo! Weather</a> telah menyediakan XML feed termasuk kota-kota besar di Indonesia.</p>
<p>Ada dua cara untuk membaca xml feed, yang pertama secara realtime dari website sumbernya dan yang kedua membuat cache untuk xml feed itu. Cara pertama memiliki kelemahan, proses eksekusi skrip membutuhkan waktu lebih lama dan setiap kali user mengakses website kita,  aplikasi pembaca xml feed mengambil data langsung dari website sumbernya.</p>
<p>Sedangkan cara kedua dengan membuat cache, XML feed dibaca dari sumbernya secara rutin berdasarkan interval waktu dan disimpan dalam cache. Informasi yang akan ditampilkan di halaman web mengambil dari cache tersebut dan proses eksekusi skrip lebih cepat.</p>
<p>Contoh kasus, menampilkan prakiraan cuaca kota <a href="http://weather.yahoo.com/forecast/IDXX0058_c.html">Yogyakarta</a> dengan mengambil <a href="http://xml.weather.yahoo.com/forecastrss?p=IDXX0058&amp;u=c">XML Feed</a> dari <a href="http://weather.yahoo.com">Yahoo! Weather</a>. Untuk membuat cache file, menggunakan PHP-CLI ( command line ) dan cron di Linux Server. Dalam tutorial ini saya menjalankan skrip di PHP 5.2.0.</p>
<p>File untuk membaca xml feed dan membuat cache : get_xml.php</p>
<p><code> // xml feed kota Yogyakarta<br />
$xmlfeed = "http://xml.weather.yahoo.com/forecastrss?p=IDXX0058&amp;u=c";</code></p>
<p>$handle = fopen( $xmlfeed, &#8220;r&#8221;);</p>
<p>if ($handle) {<br />
while (!feof($handle)) {<br />
$data = fgets($handle, 4096);<br />
echo $data;<br />
}<br />
fclose($handle);<br />
}<br />
?&gt;</p>
<p>Selanjutnya melalui console, supaya file get_xml.php dapat dieksekusi jalankan perintah :</p>
<p><code>$bash&gt; chmod 755 get_xml.php</code></p>
<p>Uji file get_xml.php menggunakan php-cli<br />
<code>$bash &gt; /usr/local/php/bin/php -f  ./get_xml.php &gt; file_cache.xml</code></p>
<p>Cek apakah file_cache.xml menghasilkan output yang sesuai<br />
<code>$bash &gt; cat file_cache.xml</code></p>
<p>Langkah berikutnya menambahkan perintah di Linux CronJob, menjalankan skrip get_xml.php setiap jam 06:05 atau sesuai kebutuhan anda :<br />
<code>$bash&gt; crontab -e</code></p>
<p>tambahkan baris :<br />
<code>05 06 * * * /usr/local/php/bin/php -f  /lokasi/get_xml.php &gt; /lokasi/file_cache.xml</code></p>
<p>Langkah terakhir, menampilkan prakiraan cuaca, menggunakan skrip di bawah ini  ( simple and dirty way :D ) :</p>
<p><code> $handle = fopen("/lokasi/file_cache.xml", "r");<br />
$data = NULL;<br />
if ($handle) {<br />
while (!feof($handle)) {<br />
$data .= fgets($handle, 4096);<br />
}<br />
fclose($handle);<br />
}</code></p>
<p>preg_match(&#8220;@yweather:condition text=\&#8221;(.+)\&#8221; code=\&#8221;(\d+)\&#8221; temp=\&#8221;(\d+)\&#8221;@i&#8221;,$data, $cuaca);</p>
<p>echo &#8220;Yogyakarta &lt;br /&gt;\n&#8221;;<br />
echo &#8220;Condition : &#8220;.$cuaca[0].&#8221;&lt;br /&gt;\n&#8221;;<br />
echo &#8220;Temp. : &#8220;.$cuaca[2].&#8221; C&lt;br /&gt; \n&#8221;;<br />
?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanrf.com/blog/17/membuat-cache-untuk-xml-feed-dengan-php-cli-dan-cron/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
