<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Kucrut.org » Artikel</title>
	
	<link>http://kucrut.org</link>
	<description>Linux, Open Source &amp; Pengembangan Web</description>
	<lastBuildDate>Thu, 10 Sep 2009 00:32:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/kucrut-artikel" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Funtoo, OpenRC 0.5, VirtualBox</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/3d5m7oXvRMU/</link>
		<comments>http://kucrut.org/artikel/funtoo-openrc-0-5-virtualbox/432/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 17:06:47 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[funtoo]]></category>
		<category><![CDATA[f|oss]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[jaringan]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=432</guid>
		<description><![CDATA[Duh, lama banget ga nongkrong di sini&#8230;.
Anyways&#8230;
Bagi yang menggunakan Funtoo Linux dan sudah melakukan upgrade, mungkin mengalami kesulitan untuk mendapatkan koneksi jaringan, terutama yang menggunakan bridge. 
Jika jaringan yang diperlukan hanyalah eth0, maka langkah-langkah yang harus dilakukan tidak banyak, cukup hapus net.eth0 lama, salin net.eth0 yang baru dari paket sys-apps/funtoo-netscripts, sesuaikan, jalankan, dan selesai.


# cd [...]]]></description>
			<content:encoded><![CDATA[<p>Duh, lama banget ga nongkrong di sini&#8230;.</p>
<p>Anyways&#8230;<br />
Bagi yang menggunakan <a href="http://funtoo.org">Funtoo Linux</a> dan sudah melakukan upgrade, mungkin mengalami kesulitan untuk mendapatkan koneksi jaringan, terutama yang menggunakan <em>bridge</em>. </p>
<p>Jika jaringan yang diperlukan hanyalah <code>eth0</code>, maka <a href="http://www.funtoo.org/en/funtoo/networking/">langkah-langkah</a> yang harus dilakukan tidak banyak, cukup hapus <code>net.eth0</code> lama, salin net.eth0 yang baru dari paket <code>sys-apps/funtoo-netscripts</code>, sesuaikan, jalankan, dan selesai.<br />
<span id="more-432"></span></p>
<pre>
# cd /etc/init.d/
# rm net.eth0
# cp /usr/share/doc/funtoo-netscripts-1.1/basic/net.eth0 net.eth0
# nano -w net.eth0
# rc-update add net.eth0 default
# rc
</pre>
<p>Ketika menyesuaikan pengaturan net.eth0, jangan lupa untuk mengganti nilai-nilai dari variabel IP, GW, dll. Selain itu, jika komputer Anda bukan merupakan anggota domain, beri komentar pada awal baris ke-9.</p>
<p>Si kucrut sehari-hari menggunakan <a href="http://virtualbox.org">VirtualBox</a> untuk menjalankan Windows XP (biasanya untuk mencoba website di browser-browser Windows). VirtualBox memberikan beberapa pilihan untuk jaringan, dengan yang paling cocok untuk digunakan oleh si kucrut adalah pilihan <em>Bridge Networking</em>. Untuk menggunakannya ikuti langkah-langkah berikut ini:</p>
<ol>
<li>Install <a href="http://bridge.sourceforge.net/">Bridge Utils</a></li>
<li>Install <a href="http://user-mode-linux.sourceforge.net/">Usermode Utilities</a></li>
<li>Muat modul-modul virtualbox</li>
<li>Tambahkan perangkat jaringan virtual untuk sistem operasi tamu</li>
<li>Salin skrip <code>net.br0</code> dan <code>net.eth0</code> dari paket <code>sys-apps/funtoo-netscripts</code>, kemudian sesuaikan</li>
<li>Salin <code>net.eth0</code> menjadi <code>net.vbox0</code></li>
<li>Tambahkan <code>net.br0</code> pada runlevel <code>default</code></li>
<li>Selesai</li>
</ol>
<p>Berikut perintah-perintah yang harus dijalankan:</p>
<pre>
# emerge net-misc/bridge-utils sys-apps/usermode-utilities
# modprobe vboxnetadp
# modprobe vboxnetflt
# modprobe vboxdrv
# tunctl -u <span class="impo">NAMA_USER</span> -t vbox0
# cd /etc/init.d/
# cp /usr/share/doc/funtoo-netscripts-1.1/bridge/net.br0 net.br0
# nano -w net.br0
# cp /usr/share/doc/funtoo-netscripts-1.1/bridge/net.eth0 net.eth0
# nano -w net.eth0
# cp net.eth0 net.vbox0
# nano -w net.vbox0
# rc-update add net.br0 default
# rc
</pre>
<p>Ketika menyunting file <code>net.br0</code>, jangan lupa untuk mengganti baris ke-43 menjadi:</p>
<pre>
ifconfig $INT $IP netmask $NM up &amp;&amp; \
</pre>
<p>Selain itu, ganti nilai variabel <code>INT</code> pada file <code>net.br0</code> menjadi <code>vbox0</code> . Kelihatannya ini <em>bug</em>, si kucrut sudah melaporkannya dan mudah-mudahan pada versi berikutnya akan diperbaiki.</p>
<p>Beberapa tips:</p>
<ul>
<li>Agar tidak perlu memuat modul-modul yang diperlukan setiap kali boot, tambahkan nama-nama modul tersebut pada file <code>/etc/conf.d/modules</code></li>
<li>Tambahkan RAM agar komputer Anda tidak kelelahan <img src='http://kucrut.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/3d5m7oXvRMU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/funtoo-openrc-0-5-virtualbox/432/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/funtoo-openrc-0-5-virtualbox/432/</feedburner:origLink></item>
		<item>
		<title>the_content atau the_excerpt?</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/-XLZCpMwpFQ/</link>
		<comments>http://kucrut.org/artikel/the_content-atau-the_excerpt/423/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 03:11:05 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=423</guid>
		<description><![CDATA[Ketika sedang membuat theme ngeBlog (yang mudah-mudahan sebentar lagi akan dilepas), si kucrut menghadapi dilema yang sebelumnya tidak terpikirkan sama sekali. Halaman utama theme ngeBlog dirancang untuk menampilkan potongan artikel-artikel terbaru (seperti theme WordPress pada umumnya). Untuk tujuan ini, WordPress telah menyediakan dua fungsi, yaitu the_content() dan the_excerpt().

Fungsi the_content() akan menampilkan potongan artikel mulai dari [...]]]></description>
			<content:encoded><![CDATA[<p>Ketika sedang membuat theme <strong>ngeBlog</strong> (yang mudah-mudahan sebentar lagi akan dilepas), si kucrut menghadapi dilema yang sebelumnya tidak terpikirkan sama sekali. Halaman utama theme <strong>ngeBlog</strong> dirancang untuk menampilkan potongan artikel-artikel terbaru (seperti theme WordPress pada umumnya). Untuk tujuan ini, WordPress telah menyediakan dua fungsi, yaitu <a href="http://codex.wordpress.org/Template_Tags/the_content">the_content()</a> dan <a href="http://codex.wordpress.org/Template_Tags/the_content">the_excerpt()</a>.<br />
<span id="more-423"></span><br />
Fungsi <code>the_content()</code> akan menampilkan potongan artikel mulai dari awal sampai ditemukannya tag <code>&#038;lt!--more--&#038;gt</code> dengan tidak merubah tag html pada potongan artikel tersebut. Sedangkan fungsi <code>the_excerpt()</code> akan menampilkan tulisan yang ditempatkan pada kolom <strong>Excerpt</strong> ketika artikel ditulis, dengan sebelumnya menghapus tag html dari tulisan tersebut. Jika ternyata kolom Excerpt <em>kosong</em>, <code>the_excerpt()</code> akan menampilkan 55 kata pertama dari artikel tersebut dan menambahkan <code>[...]</code> (dengan tetap menghapus tag html.</p>
<p>Nah, bagaimana jika kita hanya ingin memberikan (dan menampilkan) excerpt untuk artikel tertentu dan tidak untuk semua artikel? Pengkondisian dengan menggunakan <code>if</code> tidak akan berguna karena <code>the_excerpt()</code> akan tetap memberikan <em>output</em>, betul? <img src='http://kucrut.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Akhirnya si kucrut teringat dengan variabel <code>$post</code>. Variabel ini akan dipanggil secara otomatis ketika kita menjalankan <a href="http://codex.wordpress.org/The_Loop">loop</a>. Setelah melihat skema database WordPress, si kucrut menemukan bahwa excerpt ditempatkan pada kolom <code>post_excerpt</code> dari tabel post. Sekarang kita bisa menggunakan kondisi <code>if</code> untuk menampilkan excerpt (jika kita telah mengisinya), atau menampilkan potongan artikel dengan fungsi <code>the_content()</code> jika ternyata excerpt kosong.</p>
<p>Berikut potongan dari file <code>index.php</code> dari theme <strong>ngeBlog</strong>.</p>
<pre>
&lt;div id="content" class="home"&gt;
  &lt;div class="box"&gt;
  &lt;?php if (have_posts()) { ?&gt;
    &lt;div class="inside"&gt;
    &lt;?php while (have_posts()) {the_post(); ?&gt;
      &lt;div class="post"&gt;
        &lt;div class="postHead"&gt;
          &lt;h2&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
          &lt;p class="date tSerif"&gt;Posted by &lt;span class="tBold"&gt;&lt;?php the_author_link(); ?&gt;&lt;/span&gt;, &lt;?php the_time($ngeblog_postDateTime); ?&gt;&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class="entry holder"&gt;
          &lt;?php
            <span class="hl">if ($postExcerpt = $post-&gt;post_excerpt) {echo '&lt;p&gt;'.$postExcerpt.'&lt;/p&gt;';}</span>
            <span class="hl">else {the_content('');}</span>
          ?&gt;
        &lt;/div&gt;
        &lt;div class="postMeta"&gt;
          &lt;p class="tBold tRight tSerif more"&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;" title="Continue reading: &lt;?php the_title_attribute(); ?&gt;"&gt;Continue reading &raquo;&lt;/a&gt;&lt;/p&gt;
          &lt;p&gt;&lt;span&gt;Categories:&lt;/span&gt; &lt;?php the_category(', '); ?&gt;&lt;/p&gt;
          &lt;p&gt;&lt;span&gt;Tags:&lt;/span&gt; &lt;?php if (get_the_tags()) {the_tags('', ', ');} else {echo $ngeblog_noTags;} ?&gt;&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;?php } ?&gt;
    &lt;/div&gt;
    &lt;div class="holder pagenav roundedBot"&gt;
      &lt;div class="w50"&gt;&lt;?php next_posts_link('&laquo; Prev'); ?&gt;&lt;/div&gt;
      &lt;div class="tRight w50"&gt;&lt;?php previous_posts_link('Next &raquo;');?&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;?php } ?&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/-XLZCpMwpFQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/the_content-atau-the_excerpt/423/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/the_content-atau-the_excerpt/423/</feedburner:origLink></item>
		<item>
		<title>Instalasi Validator W3C</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/bEm51HVpEIk/</link>
		<comments>http://kucrut.org/artikel/instalasi-validator-w3c/398/#comments</comments>
		<pubDate>Wed, 13 May 2009 11:58:52 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[f|oss]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=398</guid>
		<description><![CDATA[Validator W3C adalah aplikasi web yang digunakan untuk memeriksa validasi dari halaman html. Aplikasi ini sangat penting bagi para pengembang web untuk memastikan agar situs yang telah selesai dibuat tidak hanya cantik dari segi penampilan, tapi juga cantik dari sisi penulisannya   Instalasi Validator W3C di server sendiri merupakan keharusan jika Anda ingin menghemat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://validator.w3.org/">Validator W3C</a> adalah aplikasi web yang digunakan untuk memeriksa validasi dari halaman html. Aplikasi ini sangat penting bagi para pengembang web untuk memastikan agar situs yang telah selesai dibuat tidak hanya cantik dari segi penampilan, tapi juga cantik dari sisi penulisannya <img src='http://kucrut.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Instalasi Validator W3C di server sendiri merupakan keharusan jika Anda ingin menghemat <em>bandwidth</em> atau mempercepat proses validasi.<br />
<span id="more-398"></span><br />
Panduan ini didasarkan pada <a href="http://www.gentoo-wiki.info/HOWTO_W3C_Validator">panduan yang terdapat di Arsip Gentoo Wiki</a> dengan beberapa perubahan. Perubahan yang paling penting adalah, semua file instalasi Validator W3C ditempatkan pada <strong>satu direktori khusus</strong> (di sini kita akan menggunakan direktori <code>/var/www/localhost/htdocs/tools/validator</code>. Menurut si kucrut, hal ini cukup penting untuk agar sistem tidak kacau (yep, si kucrut cukup <em>sensitif</em> dalam urusan manajemen file).</p>
<p>Perlu diketahui juga bahwa di sini si kucrut <strong>tidak</strong> menggunakan <em>Virtual Host</em> untuk Validator W3C, tetapi hanya menggunakan subdirektori dari <code>localhost</code> yang nantinya akan diakses dengan url <code>http://localhost/tools/validator</code>. Hal ini dimaksudkan agar kita tidak perlu menyentuh banyak file konfigurasi.</p>
<h4>Kebutuhan</h4>
<p>Sebelum mengikuti panduan ini, ada beberapa paket yang harus sudah terinstal dan dikonfigurasi dengan benar:</p>
<ul>
<li>Apache2</li>
<li>CVS</li>
</ul>
<p>Selain dua paket tersebut di atas, si kucrut menganggap Anda sudah mengerti cara menggunakan variabel <code>ACCEPT_KEYWORDS</code> jika Anda menggunakan cabang stabil (jika <em>ternyata</em> di tengah jalan Anda memerlukan paket dari cabang tidak stabil &#8212; si kucrut tidak dapat memastikannya karena selalu menggunakan cabang tidak stabil untuk seluruh sistem).</p>
<h4>Pembersihan modul Perl</h4>
<p><strong>Perl</strong>, sama seperti <strong>Python</strong>, memiliki banyak modul dengan kegunaannya masing-masing. Modul-modul ini ditempatkan pada direktori yang relatif terhadap versi perl yang terinstal di sistem. Contohnya jika yang terinstal adalah perl versi 5.8.8, maka modul-modulnya akan dipasang di dalam direktori <code>/usr/lib/perl5/vendor_perl/5.8.8/</code>.</p>
<p>Ketika kita melakukan upgrade sistem, terkadang kita lupa melakukan beberapa tahapan yang tidak dilaksanakan secara otomatis oleh Portage, contohnya pada kasus ini adalah pembersihan modul-modul perl. Untuk itu, sebelum melakukan instalasi modul-modul perl yang diperlukan oleh Validator W3C, kita harus memastikan agar semua modul-modul perl lama telah dibersihkan dan/atau dipindahkan pada tempat yang semestinya. Caranya cukup mudah, cukup jalankan perintah berikut:</p>
<h5>Membersihkan Modul-Modul Perl</h5>
<pre>
# perl-cleaner modules
</pre>
<p>Proses ini akan memakan waktu yang cukup lama karena Portage harus memeriksa semua modul perl yang telah terinstal dan melakukan instalasi ulang (untuk memindahkan tempatnya) satu-persatu. Si kucrut menyarankan Anda untuk sementara tidak menggunakan opsi <code>--ask</code> atau <code>--tree</code> atau <code>--verbose</code> pada pengaturan <code>EMERGE_DEFAULT_OPTS</code> di file <code>/etc/make.conf</code> agar Anda tidak perlu menekan enter setiap kali modul perl akan diinstal.</p>
<h4>Instalasi Modul-modul Perl</h4>
<p>Sekarang saatnya untuk menginstal beberapa modul perl yang diperlukan oleh Validator W3C, juga aplikasi <code>app-portage/g-cpan</code> untuk membantu instalasi beberapa modul perl lainnya yang tidak terdapat di Portage.</p>
<p class="note">Penggunaan opsi <code>-n</code> pada perintah <code>emerge</code> diperlukan agar Portage tidak melakukan instalasi ulang paket-paket yang telah terinstal, tetapi langsung menambahkannya pada set <code>world</code>.</p>
<h5>Instalasi Modul-modul Perl dan Utilitas</h5>
<pre>
# emerge -antv CGI config-general HTML-Parser HTML-Template libwww-perl Net-IP URI XML-LibXML Text-Iconv Class-Accessor Test-Exception opensp g-cpan
</pre>
<p>Masih ada beberapa modul perl yang harus kita instal secara manual dengan menggunakan <code>g-cpan</code> karena tidak disediakan oleh Portage. <code>g-cpan</code> akan mendownload file yang diperlukan, kemudian membuat ebuild untuk modul yang ingin kita instal, baru kemudian menginstalnya. <code>g-cpan</code> akan secara otomatis membaca variabel <code>PORTDIR_OVERLAY</code> di file <code>/etc/make.conf</code> untuk menempatkan ebuild yang dibuatnya. Untuk itu si kucrut <em>sangat</em> menyarankan Anda untuk menggunakan overlay untuk mempermudah perawatan sistem. Jika Anda belum menggunakan overlay, cukup jalankan beberapa perintah di bawah ini untuk membuatnya (panduan ini akan menggunakan direktori <code>/usr/local/portage/misc</code> sebagai overlay).</p>
<h5>Membuat Overlay</h5>
<pre>
# mkdir -p /usr/local/portage/misc/profiles
# echo "misc" &gt; /usr/local/portage/misc/profiles/repo_name
# echo "PORTDIR_OVERLAY" &gt;&gt; /etc/make.conf
</pre>
<p>Sayang sekali, ketika si kucrut menulis panduan ini, <code>g-cpan</code> (versi 0.15.0-r1) memiliki beberapa <em>bug</em> yang cukup mengganggu proses instalasi. Untuk mencegahnya ikuti dua langkah berikut.</p>
<p><strong>Pertama</strong>, pastikan agar semua baris di dalam file <code>/etc/make.conf</code> yang dimulai dengan <code>source</code> telah diberi komentar (#). Anda dapat menghapus kembali tanda komentar setelah instalasi Validator W3C selesai. Langkah ini harus kita lakukan karena adanya bug pada <code>g-cpan</code> yang tidak membaca variabel <code>PORTDIR_OVERLAY</code> pada file <code>/etc/make.conf</code> karena adanya perintah <code>source</code> (biasanya diperlukan oleh <code>layman</code>).</p>
<p><strong>Kedua</strong>, kita harus menyunting sendiri file-file ebuild yang dibuat oleh <code>g-cpan</code> karena adanya <a href="http://bugs.gentoo.org/show_bug.cgi?id=250718">bug</a> yang menambahkan variabel <code>S</code> pada file ebuild. Variabel ini harus kita hapus agar modul perl dapat diinstal dengan sempurna, caranya adalah menggunakan opsi <code>--ask</code> ketika menjalankan <code>g-cpan</code> dan menghentikan instalasi dengan menekan tombol <code>n</code>, kemudian menyunting file ebuild dan membuat <em>manifest</em> baru.</p>
<h5>Instalasi Modul-modul Perl Tambahan</h5>
<pre>
# g-cpan --ask --install Encode-HanExtra
<span class="info">Tekan n ketika Portage meminta persetujuan</span>
# nano -w /usr/local/portage/misc/perl-gcpan/Encode-HanExtra/Encode-HanExtra*.ebuild
<span class="info">Hapus baris yang dimulai dengan 'S=' untuk membuang variabel S</span>
# ebuild /usr/local/portage/misc/perl-gcpan/Encode-HanExtra/Encode-HanExtra*.ebuild manifest
# emerge Encode-HanExtra

# g-cpan --ask --install Encode-JIS2K
<span class="info">Tekan n ketika Portage meminta persetujuan</span>
# nano -w /usr/local/portage/misc/perl-gcpan/Encode-JIS2K/Encode-JIS2K*.ebuild
<span class="info">Hapus baris yang dimulai dengan 'S=' untuk membuang variabel S</span>
# ebuild /usr/local/portage/misc/perl-gcpan/Encode-JIS2K/Encode-JIS2K*.ebuild manifest
# emerge Encode-JIS2K

# g-cpan --ask --install HTML-Encoding
<span class="info">Tekan n ketika Portage meminta persetujuan</span>
# nano -w /usr/local/portage/misc/perl-gcpan/HTML-Encoding/HTML-Encoding*.ebuild
<span class="info">Hapus baris yang dimulai dengan 'S=' untuk membuang variabel S</span>
# ebuild /usr/local/portage/misc/perl-gcpan/HTML-Encoding/HTML-Encoding*.ebuild manifest
# emerge HTML-Encoding
</pre>
<p>Sekarang kita perlu menginstal <code>SGML::Parser::OpenSP</code> secara manual karena tidak disediakan oleh Portage maupun CPAN. Gunakan direktori apa saja untuk menampung file-file OpenSP.</p>
<h5>Instalasi SGML::Parser::OpenSP</h5>
<pre>
# cvs -d:pserver:anonymous@spo.cvs.sourceforge.net:/cvsroot/spo login
<span class="info">(Tekan Enter)</span>
# cvs -z3 -d:pserver:anonymous@spo.cvs.sourceforge.net:/cvsroot/spo co -P spo
# cd spo
# perl Makefile.PL
# make
# make test
<span class="info">Jika tidak ada error...</span>
# make install
</pre>
<h4>Instalasi Validator W3C</h4>
<h5>Jalan Pintas</h5>
<p>Bagi Anda yang sudah tidak sabar untuk menggunakan Validator W3C dari server sendiri dan tidak ingin bersusah payah melakukan instalasi paket Validator W3C, Anda boleh mendownloadnya dari <a href="http://misc.kucrut.org/foss/w3c-validator.kucrut-custom.tar.bz2">sini</a> dan mengekstraknya di <code>/var/www/localhost/htdocs/tools</code>. Selanjutnya ikut langkah <a href="#konfigurasi-apache">konfigurasi file Apache</a> dan langkah <a href="#penyelesaian-akhir">penyelesaian akhir</a>.</p>
<pre>
# mkdir -p /var/www/localhost/htdocs/tools/
# wget http://misc.kucrut.org/foss/w3c-validator.kucrut-custom.tar.bz2
# tar -xjf w3c-validator.kucrut-custom.tar.bz2 -C /var/www/localhost/htdocs/tools/
</pre>
<p>Setelah semua dependensi yang diperlukan telah tersedia, saatnya untuk menginstal Validator W3C. Download dua paket yang diperlukan kemudian ekstrak di tempat sementara.</p>
<h5>Download Paket Validator W3C</h5>
<pre>
# wget -c http://validator.w3.org/validator.tar.gz http://validator.w3.org/sgml-lib.tar.gz
# tar -xzf validator.tar.gz
# tar -xzf sgml-lib.tar.gz
</pre>
<p>Seperti yang telah dikemukakan sebelumnya, kita akan menginstal Validator W3C di dalam direktori <code>/var/www/localhost/htdocs/tools/validator</code>. Untuk itu, kita akan memindahkan file-file yang telah kita ekstrak tadi ke dalam direktori tersebut.</p>
<h5>Instalasi Fie-file Validator W3C</h5>
<pre>
# mkdir -p /var/www/localhost/htdocs/tools/validator
# cd validator-0.8.2 <span class="info">(ganti dengan versi yang anda miliki, jika berbeda)</span>
# mv htdocs/config/* /var/www/localhost/htdocs/tools/validator/conf
# mv htdocs httpd/cgi-bin httpd/conf share /var/www/localhost/htdocs/tools/validator
# cp /var/www/localhost/htdocs/tools/validator/conf/httpd.conf /var/www/localhost/htdocs/tools/validator/conf/httpd.conf.old
</pre>
<p>Sekarang kita harus menyunting beberapa file konfigurasi. File konfigurasi pertama yang akan kita sunting adalah file konfigurasi Validator W3C (<code>/var/www/localhost/htdocs/tools/validator/conf/httpd.conf</code>). Untuk mempersingkat, silakan download file konfigurasi yang digunakan si kucrut dari <a href="http://misc.kucrut.org/foss/w3c-validator.httpd.conf.bz2">sini</a>. Jika penasaran, Anda boleh membedakan isinya dengan yang asli menggunakan perintah <code>diff</code>.</p>
<h5>File <span class="hl">httpd.conf</span> Validator W3C</h5>
<pre>
# wget http://misc.kucrut.org/foss/w3c-validator.httpd.conf.bz2
# bunzip2 w3c-validator.httpd.conf.bz2
# mv w3c-validator.httpd.conf /var/www/localhost/htdocs/tools/validator/conf/httpd.conf
</pre>
<p>Selanjutnya kita perlu perlu menambahkan satu baris pada file konfigurasi Apache agar membaca konfigurasi Validator W3C yang baru saja kita sunting. File yang akan kita sunting adalah <code>/etc/apache2/vhosts.d/00_default_vhost.conf</code>. Kita tidak perlu membuka fiile ini dengan editor, cukup gunakan perintah <code>echo</code> untuk menambahkan satu baris baru di akhir file. Akan lebih baik jika kita membuat cadangan untuk file ini.</p>
<h5 id="konfigurasi-apache">Menambahkan baris <span class="hl">Include</span> pada file konfigurasi Apache</h5>
<pre>
# cp /etc/apache2/vhosts.d/00_default_vhost.conf /etc/apache2/vhosts.d/00_default_vhost.conf.old
# echo 'Include /var/www/localhost/htdocs/tools/validator/conf/httpd.conf' &gt;&gt; /etc/apache2/vhosts.d/00_default_vhost.conf
</pre>
<p>Karena sebelumnya kita telah merubah lokasi file-file konfigurasi Validator W3C, ada satu file lagi yang harus kita sunting, yaitu file <code>check</code>. File yang telah disunting tersedia di <a href="http://misc.kucrut.org/foss/w3c-validator.check.bz2">sini</a>. Ekstrak file ini kemudian pindahkan ke lokasinya:</p>
<h5>File <span class="hl">check</span> Validator W3C</h5>
<pre>
# wget http://misc.kucrut.org/foss/w3c-validator.check.bz2
# bunzip2 w3c-validator.check.bz2
# mv w3c-validator.check /var/www/localhost/htdocs/tools/validator/cgi-bin/check
</pre>
<p>Langkah terakhir adalah memperbaiki perizinan file Validator W3C dan menjalankan kembali Apache.</p>
<h5 id="penyelesaian-akhir">Penyelesaian Akhir</h5>
<pre>
# chown apache:apache /var/www/localhost/htdocs/tools/validator/ -R
# /etc/init.d/apache2 restart
</pre>
<p>Seperti biasa, jika ada kesalahan pada tulisan ini, Anda boleh menyampaikannya kepada si kucrut melalui kolom komentar. <img src='http://kucrut.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/bEm51HVpEIk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/instalasi-validator-w3c/398/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/instalasi-validator-w3c/398/</feedburner:origLink></item>
		<item>
		<title>Migrasi libpq – postgresql-base</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/ajEnYquxMrE/</link>
		<comments>http://kucrut.org/artikel/migrasi-libpq-postgresql-base/388/#comments</comments>
		<pubDate>Tue, 12 May 2009 15:28:50 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[f|oss]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=388</guid>
		<description><![CDATA[Di Gentoo GNU/Linux, jika PostgreSQL diinstal sebagai dependensi, kemungkinan besar paket yang akan diinstal adalah dev-db/libpq, namun jika kita ingin mendapatkan PostgreSQL terbaru dengan semua fitur yang disediakan, akan lebih baik jika kita menginstal paket dev-db/postgresql-server dan dev-db/postgresql-base.

Sebelumnya si kucrut menggunakan dev-db/libpq, tetapi karena ada beberapa fitur yang tidak tersedia (seperti perintah CREATE TABLE nama_tabel_baru [...]]]></description>
			<content:encoded><![CDATA[<p>Di Gentoo GNU/Linux, jika PostgreSQL diinstal sebagai dependensi, kemungkinan besar paket yang akan diinstal adalah <code>dev-db/libpq</code>, namun jika kita ingin mendapatkan PostgreSQL terbaru dengan semua fitur yang disediakan, akan lebih baik jika kita menginstal paket <code>dev-db/postgresql-server</code> dan <code>dev-db/postgresql-base</code>.<br />
<span id="more-388"></span><br />
Sebelumnya si kucrut menggunakan <code>dev-db/libpq</code>, tetapi karena ada beberapa fitur yang tidak tersedia (seperti perintah <code>CREATE TABLE nama_tabel_baru (LIKE nama_tabel_lama INCLUDING INDEXES)</code> akhirnya si kucrut memutuskan untuk berpindah ke paket <code>dev-db/postgresql-server</code> dan <code>dev-db/postgresql-base</code>.</p>
<p>Caranya sangat mudah, cukup uninstal paket lama kemudian instal paket baru.</p>
<pre>
# emerge -C dev-db/libpq
# emerge -atv dev-db/postgresql-server dev-db/postgresql-base
# emerge --config dev-db/postgresql-server
# revdep-rebuild -p
</pre>
<p>Selesai? <strong>Belum!</strong> Ada satu tahapan lagi yang sempat membuat si kucrut kelimpungan. User <code>postgres</code> yang menjadi <em>superuser</em> PostgreSQL tidak dapat menjalankan utilitas bawaan PostgreSQL! Masalahnya bukan pada perizinan, tetapi karena utilitas-utilitas tersebut tidak terdapat dalam <code>PATH</code>. Solusinya cukup mudah, yaitu dengan menggunakan <code>eselect</code>.</p>
<h4>Contoh penggunaan <span class="hl">eselect</span> untuk PostgreSQL</h4>
<pre>
# eselect postgresql list
# eselect postgresql set 8.3   <span class="hl">(ganti dengan versi PostgreSQL Anda)</span>
# eselect postgresql update
</pre>
<p>Baru selesai! <img src='http://kucrut.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/ajEnYquxMrE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/migrasi-libpq-postgresql-base/388/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/migrasi-libpq-postgresql-base/388/</feedburner:origLink></item>
		<item>
		<title>Feed RSS Kategori WordPress</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/2fL2Yu53J54/</link>
		<comments>http://kucrut.org/artikel/feed-rss-kategori-wordpress/361/#comments</comments>
		<pubDate>Wed, 06 May 2009 17:27:41 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=361</guid>
		<description><![CDATA[Bagi para penjelajah blog, RSS Feed sangatlah penting, selain agar dapat mengetahui artikel-artikel terbaru dari blog yang diikuti, membaca artikel melalui RSS aggregator juga dapat menghemat bandwidth.
Masalahnya datang ketika kita hanya ingin mengikuti kategori-kategori tertentu dari sebuah blog, karena kita tidak tertarik dengan kategori lainnya. Contohnya, si kucrut senang sekali mengumpulkan freebies atau gratisan seperti [...]]]></description>
			<content:encoded><![CDATA[<p>Bagi para penjelajah blog, RSS Feed sangatlah penting, selain agar dapat mengetahui artikel-artikel terbaru dari blog yang diikuti, membaca artikel melalui RSS <a href="http://en.wikipedia.org/wiki/Aggregator">aggregator</a> juga dapat menghemat <em>bandwidth</em>.</p>
<p>Masalahnya datang ketika kita hanya ingin mengikuti kategori-kategori tertentu dari sebuah blog, karena kita tidak tertarik dengan kategori lainnya. Contohnya, si kucrut senang sekali mengumpulkan <em>freebies</em> atau gratisan seperti file-file PSD, tema WordPress, dll. Salah satu blog yang menyediakan freebies adalah <a href="http://psd.tutsplus.net">PSDTuts</a>.<br />
<span id="more-361"></span><br />
PSDTuts tidak hanya menyediakan freebies, tetapi juga panduan-panduan tentang desain grafis yang lebih condong kepada penggunaan PhotoShop (namanya juga <strong>PSD</strong>Tuts). Karena si kucrut tidak tertarik untuk belajar desain grafis (selain karena sama sekali tidak memiliki bakat) dan tidak ingin menyia-nyiakan bandwidth-nya untuk mendownload gambar-gambar tutorial, maka dengan sedikit kelicikan, aggregator yang digunakan si kucrut (<a href="http://gregarius.net">Gregarius</a>) tidak lagi mendownload artikel-artikel yang tidak termasuk pada kategori freebies. Caranya?</p>
<p>Sebelum menambahkan feed di aggregator, kita harus mengetahui CMS apa yang digunakan oleh blog tersebut. Jika ternyata menggunakan WordPress, kita beruntung, karena caranya akan sangat mudah. Cukup tambahkan <code>feed/</code> pada akhir link kategori yang ingin kita ikuti.</p>
<h4>Contoh Feed RSS Kategori</h4>
<pre>
http://psd.tutsplus.com/category/freebies/<span class="hl">feed/</span>
</pre>
<p>Bagaimana jika blog tersebut tidak menggunakan WordPress? Anda belum beruntung, karena si kucrut belum tahu caranya! <img src='http://kucrut.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/2fL2Yu53J54" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/feed-rss-kategori-wordpress/361/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/feed-rss-kategori-wordpress/361/</feedburner:origLink></item>
		<item>
		<title>Alias Bash</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/Qk7RibAcboY/</link>
		<comments>http://kucrut.org/artikel/alias-bash/200/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 16:29:09 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[f|oss]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://kucrut.org/?p=200</guid>
		<description><![CDATA[Bagi pengguna GNU/Linux, bash pasti sudah tidak asing lagi, selain karena telah terinstal secara default, bash juga dijadikan sebagai shell default pada kebanyakan distro (beberapa distro seperti SystemRescueCD menggunakan ZSh sebagai shell default).

Banyak sekali trik bash yang bisa membuat pekerjaan kita di Linux menjadi lebih mudah. Kali ini si kucrut hanya akan membahas penggunaan alias. [...]]]></description>
			<content:encoded><![CDATA[<p>Bagi pengguna GNU/Linux, <a href="http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html" title="GNU Bourne again Shell">bash</a> pasti sudah tidak asing lagi, selain karena telah terinstal secara default, bash juga dijadikan sebagai <a href="http://id.wikipedia.org/wiki/Shell_(komputer)" title="Shell">shell</a> default pada kebanyakan distro (beberapa distro seperti <a href="http://www.sysresccd.org/" title="SystemRescueCD">SystemRescueCD</a> menggunakan <a href="http://www.zsh.org/" title="ZSh">ZSh</a> sebagai shell default).</p>
<p><span id="more-200"></span></p>
<p>Banyak sekali trik bash yang bisa membuat pekerjaan kita di Linux menjadi lebih mudah. Kali ini si kucrut hanya akan membahas penggunaan <em>alias</em>. Dengan menggunakan alias, kita bisa menggantikan perintah shell dengan <em>string</em>/kata apapun yang kita inginkan, selama tidak mengandung karakter <code>/</code>, <code>$</code>, <code>`</code>, dan <code>=</code>. Menggunakan alias cukup mudah, yaitu dengan perintah <code>alias</code>.</p>
<h4>Contoh Penggunaan <span>alias</span></h4>
<pre>
$ alias ls='ls -l'
</pre>
<p>Pada contoh di atas, <code>ls</code> digunakan sebagai alias dari perintah <code>ls -l</code>. Artinya, ketika kita mengetikkan <code>ls</code> di shell, bash akan menjalankan <code>ls -l</code>; menampilkan isi direktori dengan format panjang (termasuk pemilik, perizinan, ukuran file dan waktu modifikasi terakhir). Dengan begini, kita dapat mempersingkat perintah-perintah shell yang cukup panjang dengan menggunakan alias yang pendek dan mudah diingat.</p>
<p>Jika kita ingin menggunakan perintah <code>ls</code> tanpa opsi <code>-l</code>, kita bisa menggunakan perintah <code>unalias</code> untuk menghapus alias yang sebelumnya telah kita buat.</p>
<h4>Menghapus alias</h4>
<pre>
$ unalias ls
</pre>
<p>Agar kita tidak perlu menetapkan alias setiap kali kita menjalankan shell, kita dapat mencantumkannya di file konfigurasi bash (<code>~/.bashrc</code>). Anda boleh menggunakan editor teks seperti <a href="http://www.nano-editor.org/" title="Nano, GNU GPL'd Pico clone with more functionality">nano</a>, <a href="http://www.vim.org" title="Vim, an improved vi-style text editor">vim</a>, dll untuk membuka dan menyunting file ini, atau dengan menggunakan perintah <code>echo</code> untuk menambahkan baris baru pada akhir file <code>~/.bashrc</code>. Format penulisannya sama dengan penggunaannya di shell.</p>
<h4>Mencantumkan alias di <span>~/.bashrc</span> dengan <span>echo</span></h4>
<pre>
$ echo "alias ls='ls -l'" &gt;&gt; ~/.bashrc
</pre>
<p>Si kucrut lebih suka mencantumkan alias di file lain (<code>~/.alias</code>) dan mereferensikannya di file <code>~/.bashrc</code> untuk mempermudah pemeliharaannya. Cara mereferensikannya cukup mudah (contoh berikut menggunakan file <code>~/.alias</code>):</p>
<h4>Mereferensikan file penampung alias di <span>~/.bashrc</span></h4>
<pre>
$ echo "source ~/.alias" &gt;&gt; ~/.bashrc
</pre>
<p>Pada contoh di sebelumnya, kita dapat menggunakan perintah <code>unalias</code> untuk menghapus alias yang telah kita tetapkan dari shell (bukan dari file konfigurasi). Sekarang bagaimana jika kita ingin menghapus alias yang telah kita tetapkan di file konfigurasi tanpa menyunting file tersebut (karena kita tidak ingin menghapus alias tersebut selamanya)? Gunakan karakter <code>\</code> (<em>backslash</em>).</p>
<h4>Menggunakan <span>backslash</span> untuk menghapus alias sementara</h4>
<pre>
$ \ls
</pre>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/Qk7RibAcboY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/alias-bash/200/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/alias-bash/200/</feedburner:origLink></item>
		<item>
		<title>WP_Query</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/tf-y480Xo7k/</link>
		<comments>http://kucrut.org/artikel/wp_query/46/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 13:22:50 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://azz/wp/kucrut.org/?p=46</guid>
		<description><![CDATA[WP_Query adalah kelas PHP yang digunakan oleh WordPress untuk mengambil data dari database. Kelas ini bisa digunakan untuk mengubah Loop default WordPress seperti yang bisa Anda lihat di halaman utama Kucrut.org.
Banyak parameter yang bisa kita tambahkan pada kelas ini, seperti yang dijelaskan di codex. Berikut beberapa contoh penggunaan WP_Query:

Menampilkan daftar tujuh tulisan terakhir

  &#60;ul&#62;
 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://codex.wordpress.org/Function_Reference/WP_Query" title="WP_Query">WP_Query</a> adalah kelas PHP yang digunakan oleh WordPress untuk mengambil data dari database. Kelas ini bisa digunakan untuk mengubah <a href="http://codex.wordpress.org/The_Loop" title="Loop WordPress">Loop</a> default WordPress seperti yang bisa Anda lihat di halaman utama <a href="http://kucrut.org" title="Kucrut.org">Kucrut.org</a>.</p>
<p>Banyak parameter yang bisa kita tambahkan pada kelas ini, seperti yang dijelaskan di <a href="http://codex.wordpress.org/Template_Tags/query_posts" title="Pusat Dokumentasi WordPress">codex</a>. Berikut beberapa contoh penggunaan WP_Query:<br />
<span id="more-46"></span></p>
<h4>Menampilkan daftar tujuh tulisan terakhir</h4>
<pre>
  &lt;ul&gt;
  &lt;?php
    $terbaru = new WP_Query();
    $terbaru-&gt;query('showposts=7');
    if ($terbaru-&gt;have_posts()) {while ($terbaru-&gt;have_posts()) {$terbaru-&gt;the_post()
  ?&gt;
    &lt;li&gt;&lt;a&gt; href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;?php } } else { ?&gt;
    &lt;li&gt;Belum ada tulisan&lt;/li&gt;
  &lt;/ul&gt;
</pre>
<h4>Menampilkan daftar tujuh tulisan terakhir dari kategori &#8216;3&#8242;</h4>
<pre>
  &lt;ul&gt;
  &lt;?php
    $terbaru = new WP_Query();
    $terbaru-&gt;query('<span class="hl">cat=3&#038;</span>showposts=7');
    if ($terbaru-&gt;have_posts()) {while ($terbaru-&gt;have_posts()) {$terbaru-&gt;the_post()
  ?&gt;
    &lt;li&gt;&lt;a&gt; href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;?php } } else { ?&gt;
    &lt;li&gt;Belum ada tulisan&lt;/li&gt;
  &lt;/ul&gt;
</pre>
<p>Singkatnya, WP_Query memiliki fungsi yang sama dengan <code>query_posts</code>, hanya saja, WP_Query tidak akan &#8216;mengganggu&#8217; Loop utama.</p>
<p>Dengan segala kelebihannya, WP_Query bukan tidak memiliki kekurangan. Salah satu contoh kasusnya adalah ketika anda ingin menggunakannya sebagai pengganti loop utama di halaman depan (seperti yang digunakan oleh <a href="http://kucrut.org" title="Kucrut.org">Kucrut.org</a>). Jika kelas WP_Query digunakan untuk mengganti loop utama dengan cara seperti pada dua contoh di atas, maka ada beberapa fungsi yang tidak bisa digunakan, seperti <code>the_tags</code> (untuk menampilkan tag-tag dari tulisan), fungsi <code>previous_posts_link</code> dan fungsi <code>next_posts_link</code> (untuk menampilkan link ke halaman sebelum dan sesudah).</p>
<p>Namun jangan khawatir, masalah ini bisa kita atasi dengan cara &#8216;mengelabui&#8217; WordPress, yaitu dengan cara menggunakan <code>$wp_query</code>, variabel yang digunakan WordPress untuk menjalankan query database.</p>
<h4>Menggunakan <span>$wp_query</span> untuk mengatasi keterbatasan kelas WP_Query</h4>
<pre>
  &lt;ul&gt;
  &lt;?php
    <span class="hl">$temp = $wp_query;
    $wp_query = null;</span>
    $wp_query = new WP_Query();
    $wp_query-&gt;query('cat=3&#038;showposts=7');
    if ($wp_query-&gt;have_posts()) {while ($wp_query-&gt;have_posts()) {$wp_query-&gt;the_post()
  ?&gt;
    &lt;li&gt;&lt;a&gt; href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;?php } <span class="hl">$wp_query = null; $wp_query = $temp;</span> } else { ?&gt;
    &lt;li&gt;Belum ada tulisan&lt;/li&gt;
  &lt;/ul&gt;
</pre>
<h4>Tambahan</h4>
<p>Anda mungkin akan mendapatkan masalah lain ketika menggunakan WP_Query untuk mengganti loop utama; WordPress hanya akan menampilkan isi dari dua halaman pertama dan menampilkan pesan 404 pada halaman selanjutnya. Masalah ini bisa diatasi dengan menambahkan variabel <code>$paged</code> sebelum pemanggilan kelas WP_Query, untuk digunakan sebagai nilai dari parameter <code>paged</code> pada <em>method</em> <code>query</code>.</p>
<h4>Mengatasi masalah <span>paged</span></h4>
<pre>
  &lt;ul&gt;
  &lt;?php
    <span class="hl">$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;</span>
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query();
    $wp_query-&gt;query('cat=3&#038;showposts=7<span class="hl">&#038;paged='.$paged</span>);
    if ($wp_query-&gt;have_posts()) {while ($wp_query-&gt;have_posts()) {$wp_query-&gt;the_post()
  ?&gt;
    &lt;li&gt;&lt;a&gt; href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;?php } $wp_query = null; $wp_query = $temp; } else { ?&gt;
    &lt;li&gt;Belum ada tulisan&lt;/li&gt;
  &lt;/ul&gt;
</pre>
<p>Jika anda masih mendapatkan masalah 404 dan anda menggunakan <em>pretty link</em>, lakukan langkah-langkah berikut:</p>
<ul>
<li>Back-up file <code>.htaccess</code> (jika anda telah menambahkan pengaturan selain dari yang ditambahkan oleh WordPress)</li>
<li>Hapus file <code>.htaccess</code></li>
<li>Kembalikan pengaturan <a href="http://codex.wordpress.org/Using_Permalinks" title="Permalink">permalink</a> ke asalnya (gunakan default)</li>
<li>Uji coba, apakah anda masih mendapatkan masalah 404</li>
<li>Jika masalah 404 sudah teratasi, gunakan kembali pengaturan permalink yang anda inginkan</li>
<li>Tambahkan kembali aturan-aturan yang Anda perlukan di dalam file <code>.htaccess</code></li>
</ul>
<h5>Referensi</h5>
<ul class="sources">
<li><a href="http://www.michaelciccarelli.com/2008/07/fix-pagination-on-query-posts/" title="Fix pagination on query_posts()">Fix pagination on query_posts()</a></li>
<li><a href="http://weblogtoolscollection.com/archives/2008/04/13/define-your-own-wordpress-loop-using-wp_query/" title="Define Your Own WordPress Loop Using WP_Query">Define Your Own WordPress Loop Using WP_Query</a></li>
<li><a href="http://return-true.com/2008/12/using-wp_query-to-make-custom-queries-within-wordpress-templates/" title="Using WP_Query to Make Custom Queris Within WordPress Templates">Using WP_Query to Make Custom Queris Within WordPress Templates</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/tf-y480Xo7k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/wp_query/46/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/wp_query/46/</feedburner:origLink></item>
		<item>
		<title>List Cantik Tanpa Gambar</title>
		<link>http://feedproxy.google.com/~r/kucrut-artikel/~3/lnQBJRHdA74/</link>
		<comments>http://kucrut.org/artikel/list-cantik-tanpa-gambar/12/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 10:23:04 +0000</pubDate>
		<dc:creator>kucrut</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://azz/wp/kucrut.org/?p=12</guid>
		<description><![CDATA[Ada dua jenis list dalam bahasa HTML, yaitu Ordered List (ol) atau daftar urutan dan Unordered List (ul) atau daftar tidak berurutan. Keduanya bisa digunakan untuk menampilkan daftar apa saja, baik itu teks biasa maupun blok seperti div, walaupun pada prakteknya ol hampir tidak pernah digunakan untuk menampilkan daftar selain teks.

Setiap browser memiliki aturan default [...]]]></description>
			<content:encoded><![CDATA[<p>Ada dua jenis list dalam bahasa HTML, yaitu <em>Ordered List</em> (<code>ol</code>) atau daftar urutan dan <em>Unordered List</em> (<code>ul</code>) atau daftar tidak berurutan. Keduanya bisa digunakan untuk menampilkan daftar apa saja, baik itu teks biasa maupun blok seperti <code>div</code>, walaupun pada prakteknya <code>ol</code> hampir tidak pernah digunakan untuk menampilkan daftar selain teks.<br />
<span id="more-12"></span><br />
Setiap browser memiliki aturan default untuk menampilkan list. Untuk <code>ol</code> biasanya ditampilkan dengan angka desimal, sedangkan <code>ul</code> ditampilkan dengan bulatan (disc). Aturan ini bisa kita ganti sesuai dengan keinginan kita melalui properti <code>list-style-type</code> di CSS. CSS sendiri hanya menyediakan beberapa pilihan untuk properti ini, yaitu:</p>
<ul>
<li>circle</li>
<li>disc</li>
<li>square</li>
<li>armenian</li>
<li>decimal</li>
<li>decimal-leading-zero</li>
<li>georgian</li>
<li>lower-alpha</li>
<li>lower-greek</li>
<li>lower-latin</li>
<li>lower-roman</li>
<li>upper-alpha</li>
<li>upper-latin</li>
<li>upper-roman</li>
<li>none</li>
<li>inherit</li>
</ul>
<p>Sekarang bagaimana jika tidak ada satupun dari pilihan di atas yang sesuai dengan keinginan kita? Solusinya adalah dengan menggunakan properti <code>list-style-image</code>, yakni menggunakan gambar untuk menampilkan daftar. Properti ini memiliki prioritas yang lebih tinggi dari <code>list-style-type</code>. Artinya, <code>list-style-type</code> hanya akan diterapkan apabila nilai dari <code>list-style-image</code> adalah <code>none</code> (yang merupakan <em>default</em>).</p>
<h4>Contoh Penggunaan <span>list-style-image</span></h4>
<pre>
  ul li {
    list-style-image: url('/images/list.png');
  }
</pre>
<p>Untuk <code>ul</code>, <code>list-style-image</code> bukanlah satu-satunya solusi untuk mempercantik list. Ada cara lain yang kita bisa gunakan untuk mempercantik list tanpa menggunakan gambar, menggunakan <strong>simbol</strong>! Benar, kita bisa menggunakan simbol untuk menampilkan list. Caranya bukan dengan menuliskan simbol yang akan kita gunakan di awal baris setiap list, tetapi dengan <em>memerintahkan CSS untuk menambahkan</em> simbol tersebut sebelum baris pertama <code>li</code> dimulai.</p>
<p>Untuk menuliskan simbol di CSS, kita harus mengetahui kode <em>C Octal escaped UTF-8</em> dari simbol tersebut (HTML menggunakan <em>XML decimal entity</em>). Bagaimana cara mengetahuinya? Kita bisa menggunakan aplikasi pemilih karakter. Si kucrut menggunakan <a href="http://www.gentoo.org">Gentoo GNU/Linux</a> dengan desktop <a href="http://www.kde.org">KDE</a> yang menyediakan aplikasi <strong>KCharSelect</strong>. Anda bisa mencari program serupa lainnya jika tidak menggunakan KDE.</p>
<div class="figure">
  <img src="http://play.kucrut.org/fun/12/kcharselect-01.png" alt="KCharSelect" width="400px"/>
  <p>KCharSelect</p>
</div>

<p>Mari kita mulai dengan membuat unordered list di html. Tambahkan baris-baris kode berikut ke dalam blok <code>body</code> html:</p>
<pre>
&lt;ul&gt;
  &lt;li&gt;Lorem ipsum dolor sit amet, consetetur sadipscing elitr&lt;/li&gt;
  &lt;li&gt;Lorem ipsum dolor sit amet, consetetur sadipscing elitr&lt;/li&gt;
  &lt;li&gt;Lorem iLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumyeirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diamvoluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.&lt;/li&gt;
  &lt;li&gt;Lorem ipsum dolor sit amet, consetetur sadipscing elitr&lt;/li&gt;
  &lt;li&gt;Lorem ipsum dolor sit amet, consetetur sadipscing elitr&lt;/li&gt;
&lt;/ul&gt;
</pre>
<div class="figure">
  <img src="http://play.kucrut.org/fun/12/ul-01.png" alt="Unordered List: Default" width="300px"/>
  <p>Unordered List: Default</p>
</div>

<p>Sebelum kita menggunakan simbol untuk menghias list, kita perlu menghapus pengaturan default browser untuk properti <code>list-style-type</code>. Tambahkan baris kode berikut ke dalam blok <code>style</code> pada <code>head</code> html (atau pada file CSS jika Anda sudah memanggilnya dengan tag <code>&lt;link /&gt;</code>):</p>
<pre>
ul li {list-style-type:none}
</pre>
<div class="figure">
  <img src="http://play.kucrut.org/fun/12/ul-02.png" alt="Unordered List: Reset" width="300px"/>
  <p>Unordered List: Reset</p>
</div>

<p>Untuk menggunakan simbol, salin kode simbol yang telah kita dapatkan dari KCharSelect (atau aplikasi lainnya) dengan cara seperti ini (contoh ini menggunakan simbol  &raquo; ):</p>
<pre>
ul li<span class="hl">:before</span>{content:"\00BB \00A0"}
</pre>
<div class="figure">
  <img src="http://play.kucrut.org/fun/12/ul-03.png" alt="List Cantik Tanpa Gambar" width="300px"/>
  <p>List Cantik Tanpa Gambar</p>
</div>

<p><code>:before</code> merupakan <em>pseudo element</em> CSS yang digunakan untuk mengatur penampilan sebelum elemen HTML yang bersangkutan. <code>\00BB</code> merupakan kode C Octal escaped UTF-8 untuk ( <strong>&raquo;</strong> ) sedangkan <code>\00A0</code> merupakan kode untuk spasi. Kita hampir selesai! Langkah selanjutnya adalah mengatur posisi list. Tambahkan pengaturan CSS berikut untuk <code>ul li</code>.</p>
<pre>
ul li{
  list-style-type:none;
  padding-left:14px;
  text-indent:-14px;
}
</pre>
<div class="figure">
  <img src="http://play.kucrut.org/fun/12/ul-04.png" alt="Unordered List: Cantik" width="300px"/>
  <p>Unordered List: Cantik</p>
</div>

<p><strong>Selesai!</strong> Dengan cara ini, kita bisa menggunakan simbol apa saja untuk menghias list kita, selama simbol tersebut memiliki kode C Octal escaped UTF-8. Pengaturannya pun tidak sebatas apa yang telah diberikan di contoh. Anda bisa menambahkan pengaturan CSS lainnya untuk mempercantik list Anda, seperti mengganti warna, menebalkan dan/atau memiringkan huruf, dsb.</p>
<div class="attachment">
  <p><a href="http://play.kucrut.org/fun/12/index.html" title="Download Contoh">Download Contoh</a></p>
</div>

<img src="http://feeds.feedburner.com/~r/kucrut-artikel/~4/lnQBJRHdA74" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kucrut.org/artikel/list-cantik-tanpa-gambar/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kucrut.org/artikel/list-cantik-tanpa-gambar/12/</feedburner:origLink></item>
	</channel>
</rss>
