<?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>thinkrooms &#187; Tutorial</title>
	<atom:link href="http://www.thinkrooms.com/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thinkrooms.com</link>
	<description>Web Developer, Web Designer, Internet Solution, Network  and System Integration</description>
	<lastBuildDate>Sun, 08 Nov 2009 04:43:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>12 Langkah Menjadi Seorang Web Developer</title>
		<link>http://www.thinkrooms.com/2008/06/23/12-langkah-menjadi-seorang-web-developer/</link>
		<comments>http://www.thinkrooms.com/2008/06/23/12-langkah-menjadi-seorang-web-developer/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 16:06:37 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Recommended]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/?p=62</guid>
		<description><![CDATA[Tentu anda sudah mengenal apa web itu. Namun mungkin ada yang belum mengerti bagaimana sih membuat web tersebut. Apa yang harus dipelajari untuk menjadi web developer, dan bagaimana untuk hidup dari profesi web developer. Saya mencoba membuat daftar langkah-langkah yang dapat anda tempuh untuk menjadi seorang web developer berdasarkan pengalaman saya sebagai web developer. Semoga [...]]]></description>
			<content:encoded><![CDATA[<p>Tentu anda sudah mengenal apa web itu. Namun mungkin ada yang belum mengerti bagaimana sih membuat web tersebut. Apa yang harus dipelajari untuk menjadi web developer, dan bagaimana untuk hidup dari profesi web developer. Saya mencoba membuat daftar langkah-langkah yang dapat anda tempuh untuk menjadi seorang web developer berdasarkan pengalaman saya sebagai web developer. Semoga daftar ini dapat membantu anda untuk memulai karir sebagai web developer. Tidak panjang lebar inilah langkah-langkah menjadi seorang web developer: <span id="more-62"></span></p>
<ol>
<li>
<div><strong>Belajar bahasa pemrograman web</strong>, untuk memulainya tentu anda harus menguasai bahasa pemrograman web. Dan bahasa yang dikuasai tidak cukup 1 bahasa pemrograman saja karena web dibangun diatas beberapa faktor pendukung.  Bahasa yang sebaiknya anda pelajari untuk menjadi web developer adalah:</div>
<ul>
<li>HTML, merupakan bahasa pemrograman web paling dasar dan mutlak harus dikuasai. HTML adalah bahasa untuk menciptakan tampilan web yang anda lihat di browser. HTML membangun struktur tampilan web seperti header, content, footer, menu, dan sebagainya. Namun untuk menciptakan tampilan yang lebih baik tidak cukup dengan HTML saja masih diperlukan bahasa lain untuk menciptakan tampilan yang lebih baik.</li>
<li>CSS, inilah bahasa pelengkap HTML. Tanpa CSS kita tak akan dapat menciptakan tampilan yang indah. CSS adalah bahasa yang mengatur layout dan tampilan dari web tersebut misalnya warna background, tulisan, font, ukuran, dan sebagainya. Dengan kombinasi HTML dan CSS maka kita dapat menciptakan tampilan yang baik dan indah.</li>
<li>Bahasa scripting web misalnya PHP, ASP, ColdFusion, Python, dan lainnya. Bahasa pemrograman ini adalah bahasa yang akan kita gunakan untuk membangun aplikasi web. Kalau tadi HTML dan CSS merupakan pembangun tampilan dari web tersebut maka bahasa scripting ini adalah pengontrol logika aplikasi web. Bahasa ini menghubungkan aplikasi web kita dengan database dan mengolah input output dari aplikasi kita.  Sebaiknya anda memilih salah satu bahasa untuk didalami. Saya menyarankan menggunakan PHP karena bahasa inilah yang paling banyak digunakan untuk membuat aplikasi web. Dengan sifatnya yang terbuka dan bebas biaya maka kita dengan mudah mempelajari dan membuat aplikasi web dengan mudah. Kelengkapan dokumentasi dan tutorial PHP juga sangat banyak sehingga anda tidak akan kesulitan mempelajari bahasa yang satu ini.</li>
<li>SQL, merupakan bahasa scripting database. Database adalah aplikasi pengolah data yang menyimpan data untuk digunakan bersama aplikasi web kita. Database ada bermacam-macam misalnya MySQL, SQLite, Oracle, PostgreSQL, SQL Server, dan database lainnya. Sangat disarankan untuk memilih salah satu untuk didalami. Walaupun SQL merupakan standar bahasa scripting database namun dengan mempelajari salah satu scripting database yang ada maka kita akan dimudahkan dalam menyimpan, mengelola, dan memberikan output data dengan tersedianya fungsi-fungsi yang akan membantu anda bekerja dengan database.</li>
<li>Javascript, bahasa scripting yang berjalan di browser.  Bahasa ini tidak mutlak dipelajari, namun kalau anda ingin membuat web dengan efek animasi, dan web yang lebih interaktif maka javascript akan membantu anda. Dibandingkan dengan flash untuk membuat efek tertentu, saya lebih memilih Javascript. Kenapa, karena Flash masih memerlukan installasi plugin sedangkan Javascript sudah didukung secara default oleh browser modern.</li>
</ul>
</li>
<li><strong>Pelajari teknik penyelesaian kasus-kasus pemrograman web</strong>. Misalnya bagaimana pemrograman yang berhubungan dengan tanggal, bagaimana menghubungkan web dengan aplikasi lainnya, bagaimana mengakses database, dan beragam teknik lainnya. Dengan mengetahui teknik pemrograman dan penyelesaian kasus-kasus pemrograman web maka anda dapat lebih efektif dalam pemrograman aplikasi web anda.</li>
<li><strong>Pelajari metode pengembangan web yang baik</strong>. Ada banyak metode pengembangan seperti RUP, Agile, dan USDP tapi pada dasarnya mengfokuskan pada analisa, perancangan, pengembangan, dan pengujian. Lakukan pengembangan aplikasi dengan tahapan-tahapan diatas. Lakukan analisa apa yang diperlukan oleh aplikasi ini, kemudian rancang terlebih dahulu aplikasi anda sebelum melakukan coding, lakukan pengembangan atau coding, dan uji coba terlebih dahulu sebelum dirilis atau didelivery. Anda dapat kembali ketahap sebelumnya bila diperlukan. Yang penting, tentukan sendiri metode yang paling baik seusai dengan diri anda.</li>
<li><strong>Belajar mengolah gambar</strong>. Buat apa? Karena dengan gambar maka kita dapat memberikan informasi lebih cepat dan efektif dibandingkan dengan mendeskripsikan dalam text yang panjang. Cukup pelajari Adobe Photoshop atau Adobe Firework yang merupakan software paling umum untuk keperluan gambar web. Pelajari bagaimana membuat gambar seperti icon, background, patern, dan gambar lainnya. Sebenarnya bukan merupakan keharusan karena untuk menciptakan gambar untuk tampilan web karena hal ini lebih cenderung merupakan pekerjaan web designer. Namun bila anda bs membuat gambar untuk web maka akan lebih membantu dibandingkan anda harus meminta tolong teman anda untuk keperluan gambar web anda.</li>
<li><strong>Gunakan framework</strong>, framework merupakan sekumpulan fungsi dan library yang dapat memudahkan pemrograman anda. Gunakan framework sesuai dengan bahasa pemrograman anda. Misalnya ASP menggunakan .NET Framework. Ruby dengan Rails Framework, Python dengan Django Framework, dan PHP yang lebih banyak lagi seperti Prado, Symfony, CakePHP, dan framework lainnya. Lakukan riset dan tentukan pilihan anda framework mana yang akan anda gunakan dan dalami framework tersebut. Jangan terlalu banyak berpindah-pindah framework karena anda tidak akan memperoleh manfaat maksimal karena pemahaman yang terpecah-pecah. Jadi tentukan framework pilihan anda sesuai minat, dan teknik yang anda senangi.</li>
<li><strong>Pelajari teknik-teknik mengoptimalkan aplikasi anda</strong>. Agar aplikasi anda dapat berjalan lebih cepat dan responsif maka anda harus dapat melakukan tuning atau optimalisasi. Pelajari teknik pemrograman web yang baik, pemecahan masalah programming yang efektif, tuning dan optimalisasi database, serta optimasi web server.</li>
<li><strong>Pelajari web server</strong>, akan sangat bermanfaat bila anda mempelajari web server agar anda dapat mengetahui bagaimana menjalankan aplikasi anda di web server. Atau bagaimana cara mengoptimalkan aplikasi di web server. Misalnya penggunaan module caching seperti APC, eAccelerator, dan sebagainya. Atau penggunaan file .htaccess untuk menciptakan friendly URL atau URL yang lebih enak dibaca. Dengan mempelajari web server maka anda dapat mengoptimalkan dan menambahkan feature aplikasi anda di server.</li>
<li><strong>Pelajari penggunaan control panel hosting</strong>. Karena anda akan banyak berhubungan dengan control panel bila anda menyewa hosting untuk web anda. Control panel yang banyak digunakan antara lain Cpanel, Pleks, ISPConfig, dan sebagainya. Dengan memahami penggunaan control panel maka anda dapat mengoptimalkan aplikasi anda di provider hosting anda.</li>
<li><strong>Ikuti perkembangan teknologi web terbaru</strong>. Teknologi web selalu berkembang misalnya munculnya teknologi RSS, PODCasting, dan teknologi lainnya. Pelajari bagaimana membuat dan menggunakan teknologi tersebut di aplikasi anda. Karena aplikasi yang ketinggalan jaman akan ditinggalkan penggunanya juga.</li>
<li><strong>Pelajari manajemen proyek</strong>. Suatu pengembangan aplikasi merupakan suatu proyek yang harus di atur, direncanakan, dan dilakukan dengan baik. Dengan mempelajari manajemen proyek maka anda dapat melakukan kolaborasi dengan yang lain dalam mengembangkan aplikasi.  Anda juga dapat memperoleh efektifitas dan efisiensi waktu dalam menyelesaikan suatu proyek.</li>
<li><strong>Untuk meningkatkan kemampuan anda, selalu asah kemampuan anda dengan mengerjakan aplikasi web</strong>. Entah pekerjaan, atau proyek pribadi. Karena makin banyak aplikasi yang anda buat maka kemampuan anda akan makin baik. Kembangkan ide anda dan realisasikan menjadi suatu aplikasi.</li>
<li>Yang terakhir, jangan mau selalu menjadi web developer yang hanya mengerjakan proyek orang lain. <strong>Anda harus membuat suatu aplikasi yang dapat dijadikan produk atau layanan anda sebagai wujud kemampuan anda</strong>. Produk dan layanan ini dapat anda jual sehingga anda dapat memperoleh hasil dari kemampuan anda dan menikmati hasilnya. Dibandingkan dengan mengerjakan proyek orang lain secara terus-terusan dan dibayar per-proyek tentu akan lebih baik bila anda mengerjakan 1 produk namun anda memperoleh hasil terus-terusan dengan syarat produk anda memiliki nilai jual yang baik.</li>
</ol>
<p>Itulah langkah-langkah dasar untuk menjadi seorang web developer menurut pengalaman saya. Langkah diatas tidaklah cukup, hanya langkah dasar saja. Semoga daftar diatas dapat menjadi pembimbing anda dan bahkan dapat menjadikan anda web developer yang lebih baik lagi. Anda harus terus belajar dan berlatih terus serta selalu menerima perkembangan yang ada agar kemampuan anda terus terasah.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=62&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/06/23/12-langkah-menjadi-seorang-web-developer/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Mengakses situs yang diblokir</title>
		<link>http://www.thinkrooms.com/2008/04/12/mengakses-situs-yang-diblokir/</link>
		<comments>http://www.thinkrooms.com/2008/04/12/mengakses-situs-yang-diblokir/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 03:41:50 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/?p=57</guid>
		<description><![CDATA[Saat ini beberapa website telah diblokir pemerintah. Baik dari situs berkategori pornografi, kekerasan, atau dengan alasan lainnya. Situs pornografi dan kekerasan menurut saya memang pantas diblokir, yang menurut saya adalah pemakan bandwith internet paling rakus. Menurut google pencarian pornografi menduduki peringkat pertama yang dicara oleh pengguna internet jadi hal ini menunjukkan internet paling banyak menghabiskan [...]]]></description>
			<content:encoded><![CDATA[<p>Saat ini beberapa website telah diblokir pemerintah. Baik dari situs berkategori pornografi, kekerasan, atau dengan alasan lainnya. Situs pornografi dan kekerasan menurut saya memang pantas diblokir, yang menurut saya adalah pemakan bandwith internet paling rakus. Menurut google pencarian pornografi menduduki peringkat pertama yang dicara oleh pengguna internet jadi hal ini menunjukkan internet paling banyak menghabiskan bandwith internet. Saya tidak berpendapat apakah pornografi dan kekerasan harus diblokir atau tidak? Menurut saya internet sebaiknya digunakan secara efektif dan efisien karena internet merupakan resource terbatas yang harus kita jaga.</p>
<p>Yang paling heboh adalah pemblokiran situs Youtube karena masalah penyebaran situs Fitna. Hal ini tentu akan merepotkan sebagian besar pengguna internet broadband. Sudah tidak dapat bertukar video lagi lewat Youtube. Menurut saya Youtube tidak pantas diblokir karena penyebaran film Fitna tidak terbatas pada YouTube, kita dengan mudah mendapat film tersebut dari Torrent atau situs peer to peer lainnya. Seharusnya kita sebagai penggunalah yang menentukan web mana yang boleh kita akses dan mana yang tidak. Untuk itu buat pengguna YouTube yang tidak senang dengan blokir pemerintah ke situs ini bisa menggunakan teknik-teknik berikut untuk mengakses YouTube atau situs lainnya yang diblokir:<span id="more-57"></span></p>
<ol>
<li>Google Accelerator, dengan menggunakan aplikasi dari google ini maka semua akses internet kita tidak langsung melalui ISP tetapi di relay melalui server Google melalui tunnel. Tunnel adalah private network yang dibangun antara client dan server sehingga hubungan antar client dan server bersifat privat dan tidak dapat dibaca oleh yang tidak berhak. Beberapa keuntungannya adalah aplikasi ini berjalan seperti proxy cache pada komputer kita dan akan mempercepat akses ke internet karena melakukan cache lokal di komputer kita dan kompresi data pada koneksi internet kita. Akses internet kita akan di alirkan melalalui tunnel ke server google dan server google akan mengambilkan data yang diminta melalui tunnel juga. Hasilnya ISP tidak dapat mencegah akses ke situs yang diblokir karena request data dianggap ke google bukan ke situs yang diblokir. Aplikasi ini bisa diperoleh dari <a title="Google Accelerator" href="http://webaccelerator.google.com" target="_blank">http://<span class="a">webaccelerator.google.com</span></a></li>
<li>Toonel, aplikasi yang mirip dengan Google Accelerator. Namun bedanya aplikasi ini tidak melakukan cache lokal. Bekerja seperti proxy yang dipasang di komputer kita dan data yang diakses akan dialirkan ke server Toonel di Jerman melalui tunnel. Kelebihannya kompresi data dan image yang hebat, kita bisa menghemat bandwith hingga 60% sehingga membantu pengguna internet yang berbasis jumlah data seperti 3G atau GPRS. Aplikasi ini bisa diperoleh dari <a title="Toonel" href="http://toonel.net" target="_blank">http://toonel.net</a>.</li>
<li>Menggunakan tor + vidalia. Applikasi ini merupakan aplikasi anonymizer yang akan mengalirkan akses internet kita melalui node-node yang yang menggunakan aplikasi tor juga. Jadi setiap pengguna aplikasi tor akan menjadi proxy untuk pengguna tor lainnya. Hasilnya akses internet kita susah untuk dilacak karena request kita akan dimintakan oleh node-node Tor secara acak. Karena sifatnya sama dengan software lainnya yang menggunakan tunnel maka akses kita tidak dapat diblokir oleh ISP karena request kita akan dialihkan oleh node-node Tor tersebut. Kelebihannya dengan menggunakan software ini kita memperoleh proteksi terhadap privasi kita. Berbeda dengan google dan toonel yang dengan mampu melacak akses kita karena hanya melalui satu server yang server google dan toonel. Aplikasi ini dapat diperoleh dari <a title="Tor" href="http://www.torproject.org" target="_blank"><span class="a">www.torproject.org</span></a></li>
<li><span class="a">Menggunakan google translator untuk menerjemahkan website yang diblokir dan ditampilkan hasilnya dibrowser. Dengan teknik ini maka kita melakukan request data ke Google dan google akan mengambilkan data dan menampilkannya kepada kita melalui server Google. Teknik ini membuat ISP membaca akses kita ke Google bukan ke situs yang diminta karena request dan menampilkan data ke situs dan dari situs tersebut dilakukan oleh Google bukan oleh kita. Caranya adalah dengan mengakses situs yang diblokir dengan URL berikut:<br />
</span></p>
<pre><span class="a">http://www.google.com/translate?u=http%3A%2F%2Fyoutube.com&amp;langpair=de|en&amp;hl=en&amp;ie=UTF8
</span></pre>
<p><span class="a">Anda cukup mengganti youtube.com dengan alamat web terblokir yang ingin anda akses. Google akan menampilkan web tersebut dalam sebuah frame. Hasilnya youtube dapat dibuka. Google melakukan tidak dapat melakukan translate dari english ke englis. Namun bila kita memilih Germany ke English maka text yang dideteksi sebagai English tidak akan ditranslate jadi konten tidak berubah. Anda juga bisa membuka <a title="Google Translate" href="http://www.google.com/translate_t" target="_blank">http://www.google.com/translate_t</a> untuk memasukkan input web yang ingin anda akses. Triknya pastikan konten anda terjemahkan ke english bila web yang anda akses berbahasa inggris agar hasil konten tidak berubah. Sedangkan untuk bahasa asal bisa menggunakan bahasa apa saja.<br />
</span></li>
</ol>
<p>Sebenarnya masih ada trik lain untuk mengakses situs yang diblokir, namun konsep yang digunakan sebagian besar sebenarnya sama saja yaitu tunneling, dan anonim proxy. Saya tidak menjamin teknik diatas mampu melakukan bypass pada firewall di kantor atau ditempat lainnya. Namun untuk tingkat ISP kemungkinan berhasil adalah 90% karena ISP tidak mungkin melakukan blokir pada Google dan website lainnya tanpa alasan yang fatal.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=57&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/04/12/mengakses-situs-yang-diblokir/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tutorial Dasar Perancangan Theme WordPress</title>
		<link>http://www.thinkrooms.com/2008/03/27/tutorial-dasar-perancangan-theme-wordpress/</link>
		<comments>http://www.thinkrooms.com/2008/03/27/tutorial-dasar-perancangan-theme-wordpress/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 02:19:31 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Recommended]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/2008/03/27/tutorial-dasar-perancangan-theme-wordpress/</guid>
		<description><![CDATA[WordPress adalah blog engine terpopuler saat ini. Hal ini karena WordPress bersifat open dan mudah untuk dikostumasi dan ditambahkan fitur dengan bermacam template dan plugin yang tersedia secara gratis. Namun tentu ada ingin memiliki tampilan blog yang unik dan beda dengan yang lain. Untuk permulaan anda tentu dapat menggunakan theme yang telah tersedia. Atau juga [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wordpress.org/">WordPress</a> adalah  blog engine terpopuler saat ini. Hal ini karena <a href="http://www.wordpress.org/">WordPress</a> bersifat open dan mudah untuk dikostumasi  dan ditambahkan fitur dengan bermacam template dan plugin yang tersedia secara  gratis. Namun tentu ada ingin memiliki tampilan blog yang unik dan beda dengan  yang lain. Untuk permulaan anda tentu dapat menggunakan theme yang telah  tersedia. Atau juga bisa menggunakan template default yaitu Kubrick. Namun  untuk anda yang ingin merancang sendiri tampilan blog WordPress anda inilah  caranya. Merancang theme <a href="http://www.wordpress.org/">WordPress</a> memerlukan keahlian HTML, CSS, dan dasar <a href="http://php.net/">PHP</a>.  Saya tidak mengajarkan hal tersebut disini.  Jadi kalau anda telah memiliki keahlian  tersebut silakan melanjutkan tutorial ini. Template yang kita rancang akan  menggunakan engine WordPress 2.3 yang merupakan versi mayor terbaru saat  tutorial ini dibuat yang telah mendukung widget secara default. Kebanyakan  template mendukung 1 sidebar saja, namun tutorial ini sidebar yang saya gunakan  ada 2 yaitu sidebar pada halaman depan atau hompage dan sidebar pada halaman  posting. Tujuannya agar kita bisa memberikan link yang sesuai dengan posting  agar pengunjung tertarik mengunjungi posting lainnya.</p>
<p>Konsep dari theme WordPress adalah menggunakan template tag.  Halaman theme akan digunakan sesuai dengan halaman yang diload. Contohnya pada  saat konten posting kita ditampilkan maka yang dipanggil adalah file  single.php. Bila yang ditampilkan adalah page maka yang dipanggil adalah  page.php. Demikian juga dengan pemanggilan archive, category, dan halaman  lainnya.</p>
<p>Agar lebih dapat dimengerti silakan ikut langkah tutorial  berikut. Berikut adalah langkah-langkah perancangan dasar theme WordPress:</p>
<p><span id="more-54"></span></p>
<ol>
<li>Langkah pertama siapkan template HTML &amp; CSS  yang sudah siap pakai. Template ini berupa template lengkap yang merupakan  halaman web statis yang akan kita ubah menjadi themes WordPress. Anda sebaiknya  merancang template HTML CSS terlebih dahulu sebelum mengubahnya menjadi themes  WordPress. Template ini nanti akan kita pilah-pilah menjadi bagian-bagian dari  theme WordPress. Berikut adalah kode HTML dari template basic kita:
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;link href="style.css" rel="stylesheet" type="text/css" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="container"&gt;
       &lt;div id="header"&gt;
       &lt;ul id="pagelist"&gt;
       &lt;li&gt;home&lt;/li&gt;
        &lt;li&gt;about&lt;/li&gt;
        &lt;li&gt;contact&lt;/li&gt;
    &lt;/ul&gt;
        &lt;h1&gt;Title Blog&lt;/h1&gt;
        &lt;h3&gt;Blog Description&lt;/h3&gt;
    &lt;/div&gt;
    &lt;div id="content"&gt;
       &lt;div id="content-right"&gt;
        &lt;h2&gt;Category&lt;/h2&gt;
            &lt;ul&gt;
                &lt;li&gt;internet&lt;/li&gt;
                &lt;li&gt;flash&lt;/li&gt;
                &lt;li&gt;web&lt;/li&gt;
                &lt;li&gt;php&lt;/li&gt;
            &lt;/ul&gt;
         &lt;h2&gt;Archive&lt;/h2&gt;
            &lt;ul&gt;
                &lt;li&gt;03/2008&lt;/li&gt;
                &lt;li&gt;02/2008&lt;/li&gt;
                &lt;li&gt;01/2008&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div id="content-left"&gt;
              &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
            &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
            &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div id="footer"&gt;
       &lt;p&gt;Basic Template Footer &lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Dan  file style.css yang merupakan file style dari template kita:</p>
<pre>@charset "utf-8";
body{
       font-family:Arial, Helvetica, sans-serif;
       }
#container {
       width: 955px;
       margin:0 auto;
}
#header{
       height:100px;
       border-bottom:1px dotted #666666;
       }
#searchform{
       float:right;
}
#pagelist{
       margin-top:20px;
       float:right;
       text-align:right;
       list-style:none;
       clear:right;
       text-transform:lowercase;
}
#pagelist li{
       float:left;
       text-align:right;
       margin-left:20px;
}
#content{
       margin-top:20px;
}
#content-left{
       width:582px;
       }
#content-right{
       background-color:#CCCCCC;
       float:right;
       width:360px;
       }
#content-right h2{
       margin-left:10px;
       }
#footer{
       margin-top:20px;
       clear:both;
       text-align:center;
       border-top:1px dotted #666666;
}</pre>
</li>
<li>Selanjutnya kita akan membagi atau memotong kode  HTML penyusun template diatas. Kode HTML kita bagi menjadi 4 bagian menjadi 4  file PHP yaitu:
<ul>
<li>Header.php, file yang akan menyimpan bagian  header theme WordPress. Yang perlu dipertimbangkan pada bagian ini adalah  header akan selalu di load atau ditampilkan pada tiap halaman WordPress kita.  Jadi potong bagian penting yang harus diload tiap kita akan membuka semua  halaman blog. Contohnya adalah bagian tag &lt;head&gt; pada file HTML dan  sedikit bagian pad tag &lt;body&gt; pada contoh template basic diatas bagian  yang dimasukkan adalah pada bagian header. Jadi untuk pemotongan awal inilah  isi dari file header.php:
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;link href="style.css" rel="stylesheet" type="text/css" /&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div id="container"&gt;
       &lt;div id="header"&gt;
        &lt;h1&gt;Title Blog&lt;/h1&gt;
        &lt;h3&gt;Blog Description&lt;/h3&gt;
    &lt;/div&gt;</pre>
</li>
<li>Index.php, yaitu file utama yang akan diload  pada saat pertama kali blog kita dibuka. File ini merupakan halaman depan dari  blog WordPress kita karena itu tempatkan bagian body dari HTML template basic  kita yang merupakan bagian konten utama dari template kita. Pada contoh  template basic yang merupakan konten utama adalah pada bagian konten posting di  blok content-left. Dengan demikian isi dari file index.php adalah sebagai  berikut:
<pre>&lt;div id="content-left"&gt;
              &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
            &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
            &lt;h2&gt;Posting title&lt;/h2&gt;
            &lt;div&gt;posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here. posting content here.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;</pre>
</li>
<li>Sidebar.php, yaitu bagian sub content dari blog  kita. Pada sidebar kita menempatkan beberapa informasi singkat dari blog kita  seperti kategori, arsip, daftar link, dan sebagainya. Pada template basic yang dimaksud  sidebar adalah pada blok content-right. Karena itu isi dari file sidebar.php  adalah:
<pre>    &lt;div id="content"&gt;
           &lt;div id="content-right"&gt;
            &lt;h2&gt;Category&lt;/h2&gt;
                &lt;ul&gt;
                    &lt;li&gt;internet&lt;/li&gt;
                    &lt;li&gt;flash&lt;/li&gt;
                    &lt;li&gt;web&lt;/li&gt;
                    &lt;li&gt;php&lt;/li&gt;
                &lt;/ul&gt;
             &lt;h2&gt;Archive&lt;/h2&gt;
                &lt;ul&gt;
                    &lt;li&gt;03/2008&lt;/li&gt;
                    &lt;li&gt;02/2008&lt;/li&gt;
                    &lt;li&gt;01/2008&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/div&gt;</pre>
</li>
<li>Footer.php, hampir sama dengan bagian header  yaitu bagian penutup blog yang akan selalu diload setiap blog kita diakses.  Dengan demikian pada bagian template basic kita yang dimaksud adalah blok  footer. Kita bisa menempatkan kode javascript pada bagian ini. Isi dari  footer.php akan menjadi sebagai berikut:
<pre>    &lt;div id="footer"&gt;
           &lt;p&gt;Basic Template Footer &lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;/body&gt;
    &lt;/html&gt;</pre>
</li>
</ul>
</li>
<li>Setelah selesai membagi template basic kita  menjadi sub-sub template maka selanjutnya kita akan mengubah kode-kode HTML biasa  dengan menambahkan beberapa kode PHP yang merupakan template tag dari  WordPress. Template tag ini berfungsi untuk meload isi sebenarnya blog kita  dari engine blog WordPress. Dengan demikian template tag akan menampilkan isi-isi  dari blog. Berikut adalah perubahan pada file themes basic WordPress yang telah  kita potong-potong sebelumnya:
<ul>
<li>Header.php, pada file ini kita menempatkan  template tag yang akan meload beberapa komponen blog seperti blog-title,  blog-description, page-menu, dan lain-lain. File ini bisa dipanggil dengan template  tag &lt;?php get_header(); ?&gt;.  Berikut isi file header.php yang kita ubah:
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" &lt;?php language_attributes(); ?&gt;&gt;

&lt;head profile="http://gmpg.org/xfn/11"&gt;
&lt;meta http-equiv="Content-Type" content="&lt;?php bloginfo('html_type'); ?&gt;; charset=&lt;?php bloginfo('charset'); ?&gt;" /&gt;

&lt;title&gt;&lt;?php bloginfo('name'); ?&gt; &lt;?php if ( is_single() ) { ?&gt; » Blog Archive &lt;?php } ?&gt; &lt;?php wp_title(); ?&gt;&lt;/title&gt;
&lt;meta name="generator" content="WordPress &lt;?php bloginfo('version'); ?&gt;" /&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" type="text/css" media="screen" /&gt;
&lt;link rel="alternate" type="application/rss+xml" title="&lt;?php bloginfo('name'); ?&gt; RSS Feed" href="&lt;?php bloginfo('rss2_url'); ?&gt;" /&gt;
&lt;link rel="pingback" href="&lt;?php bloginfo('pingback_url'); ?&gt;" /&gt;
&lt;?php wp_head(); ?&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="container"&gt;
       &lt;div id="header"&gt;
        &lt;h1&gt;&lt;a href="&lt;?php echo get_option('home'); ?&gt;/"&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt;&lt;/h1&gt;
        &lt;h3&gt;&lt;?php bloginfo('description'); ?&gt;&lt;/h3&gt;
        &lt;div id="searchform"&gt;
              &lt;form method="get" id="searchform" action="&lt;?php bloginfo('url'); ?&gt;/"&gt;
            &lt;input type="text" value="&lt;?php the_search_query(); ?&gt;" name="s" id="s" /&gt;
            &lt;input type="submit" id="searchsubmit" value="Search" /&gt;
            &lt;/form&gt;
         &lt;/div&gt;
&lt;ul id="pagelist"&gt;&lt;li&gt;&lt;a href="&lt;?php bloginfo('url'); ?&gt;"&gt;home&lt;/a&gt;&lt;/li&gt;&lt;?php wp_list_pages('depth=1&amp;title_li='); ?&gt;&lt;/ul&gt;
    &lt;/div&gt;</pre>
</li>
<li>Index.php, pada file ini kita akan meload daftar  posting yang kita miliki. Berikut isi dari perubahan pada file index.php:
<pre>&lt;?php get_header(); ?&gt;
&lt;?php get_sidebar(); ?&gt;
&lt;div id="content-left"&gt;
        &lt;?php if (have_posts()) : ?&gt;

              &lt;?php while (have_posts()) : the_post(); ?&gt;

                     &lt;div id="post-&lt;?php the_ID(); ?&gt;"&gt;
                            &lt;h2&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" title="Permanent Link to &lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
                            &lt;small&gt;&lt;?php the_time('F jS, Y') ?&gt;  by &lt;?php the_author() ?&gt; &lt;/small&gt;

                            &lt;div&gt;
                                  &lt;?php the_content('Read the rest of this entry »'); ?&gt;
                            &lt;/div&gt;

                            &lt;p class="postmetadata"&gt;&lt;?php the_tags('Tags: ', ', ', '&lt;br /&gt;'); ?&gt; Posted in &lt;?php the_category(', ') ?&gt; | &lt;?php edit_post_link('Edit', '', ' | '); ?&gt;  &lt;?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?&gt;&lt;/p&gt;
                     &lt;/div&gt;

              &lt;?php endwhile; ?&gt;

              &lt;div class="navigation"&gt;
                     &lt;div class="nav-left"&gt;&lt;?php next_posts_link('« Older Entries') ?&gt;&lt;/div&gt;
                     &lt;div class="nav-right"&gt;&lt;?php previous_posts_link('Newer Entries »') ?&gt;&lt;/div&gt;
              &lt;/div&gt;

       &lt;?php else : ?&gt;

              &lt;h2&gt;Not Found&lt;/h2&gt;
              &lt;p&gt;Sorry, but you are looking for something that isn't here.&lt;/p&gt;
              &lt;?php include (TEMPLATEPATH . "/searchform.php"); ?&gt;

       &lt;?php endif; ?&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
&lt;?php get_footer(); ?&gt;</pre>
</li>
<li>Sidebar.php, pada file ini kita akan meload  beberapa widget yang telah kita set pada wordpress administrator. Sidebar yang  diload ada 2 macam. Bila sidebar dipanggil oleh hompage atau page biasa maka  yang diload adalah sidebar 1, sedangkan bila sidebar dipanggil oleh single post  atau halaman yang menampilkan isi posting maka yang dipanggil adalah sidebar 2.  File ini dipanggil dengan template tag &lt;?php get_sidebar(); ?&gt; Berikut  adalah isi perubahan pada file sidebar.php:
<pre>&lt;div id="content"&gt;
    &lt;div id="content-right"&gt;
        &lt;?php if ( function_exists('dynamic_sidebar')): ?&gt;
              &lt;?php if (is_single()): dynamic_sidebar(2) ?&gt;
        &lt;?php else : dynamic_sidebar(1) ?&gt;
        &lt;?php endif; ?&gt;  
       &lt;?php endif; ?&gt;          
&lt;/div&gt;</pre>
</li>
<li>Footer.php, pada file ini tidak terlalu banyak  fungsi yang penting. Hanya sedikit informasi mengenai blog ini. File ini  dipanggil dengan template tag &lt;?php get_footer(); ?&gt;. Berikut adalah isi  dari footer.php:
<pre>&lt;div id="footer"&gt;
       &lt;p&gt;
              &lt;?php bloginfo('name'); ?&gt; is proudly powered by
              &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;
              &lt;br /&gt;&lt;a href="&lt;?php bloginfo('rss2_url'); ?&gt;"&gt;Entries (RSS)&lt;/a&gt;
              and &lt;a href="&lt;?php bloginfo('comments_rss2_url'); ?&gt;"&gt;Comments (RSS)&lt;/a&gt;.
              &lt;!-- &lt;?php echo get_num_queries(); ?&gt; queries. &lt;?php timer_stop(1); ?&gt; seconds. --&gt;
       &lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;?php wp_footer(); ?&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
</li>
</ul>
</li>
<li>Setelah mengubah file template basic kita  menjadi file theme  WordPress maka kita  perlu menambahkan beberapa file theme lagi untuk melengkapi theme kita agar  dapat bekerja secara penuh. Berikut ada file-file yang perlu kita buat:
<ul>
<li>Single.php, merupakan file theme turuan dari  index.php. Strukturnya hampir sama namun yang membedakan adalah isi yang  diload. Anda bisa mengkopi file index.php dan menyimpannya dengan filename  single.php dan mengubahnya sedikit.  Pada  bagian isi posting dan postmetadata Berikut adalah isi dari file single.php:
<pre>&lt;?php get_header(); ?&gt;
&lt;?php get_sidebar(); ?&gt;
&lt;div id="content-left"&gt;
              &lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;
                     &lt;div id="post-&lt;?php the_ID(); ?&gt;"&gt;
            &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
            &lt;small&gt;&lt;?php the_time('F jS, Y') ?&gt;  by &lt;?php the_author() ?&gt; &lt;/small&gt;
            &lt;div&gt;
                &lt;?php the_content('&lt;p class="serif"&gt;Read the rest of this entry »&lt;/p&gt;'); ?&gt;
            &lt;?php wp_link_pages(array('before' =&gt; '&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; ', 'after' =&gt; '&lt;/p&gt;', 'next_or_number' =&gt; 'number')); ?&gt;
            &lt;?php the_tags( '&lt;p&gt;Tags: ', ', ', '&lt;/p&gt;'); ?&gt;
            &lt;/div&gt;
            &lt;p class="postmetadata alt"&gt;
            &lt;small&gt;
            This entry was posted on &lt;?php the_time('l, F jS, Y') ?&gt; at &lt;?php the_time() ?&gt;
            and is filed under &lt;?php the_category(', ') ?&gt;.
            You can follow any responses to this entry through the &lt;?php comments_rss_link('RSS 2.0'); ?&gt; feed.
            &lt;?php if (('open' == $post-&gt; comment_status) &amp;&amp; ('open' == $post-&gt;ping_status)) {
                // Both Comments and Pings are open ?&gt;
                You can &lt;a href="#respond"&gt;leave a response&lt;/a&gt;, or &lt;a href="&lt;?php trackback_url(); ?&gt;" rel="trackback"&gt;trackback&lt;/a&gt; from your own site.
            &lt;?php } elseif (!('open' == $post-&gt; comment_status) &amp;&amp; ('open' == $post-&gt;ping_status)) {
                // Only Pings are Open ?&gt;
                Responses are currently closed, but you can &lt;a href="&lt;?php trackback_url(); ?&gt; " rel="trackback"&gt;trackback&lt;/a&gt; from your own site.
            &lt;?php } elseif (('open' == $post-&gt; comment_status) &amp;&amp; !('open' == $post-&gt;ping_status)) {
                // Comments are open, Pings are not ?&gt;
                You can skip to the end and leave a response. Pinging is currently not allowed.

            &lt;?php } elseif (!('open' == $post-&gt; comment_status) &amp;&amp; !('open' == $post-&gt;ping_status)) {
                // Neither Comments, nor Pings are open ?&gt;
                Both comments and pings are currently closed.
            &lt;?php } edit_post_link('Edit this entry.','',''); ?&gt;
            &lt;/small&gt;
            &lt;/p&gt;
                     &lt;/div&gt;
       &lt;div class="navigation"&gt;
        &lt;div class="nav-left"&gt;&lt;?php next_posts_link('« Older Entries') ?&gt;&lt;/div&gt;
        &lt;div class="nav-right"&gt;&lt;?php previous_posts_link('Newer Entries »') ?&gt;&lt;/div&gt;
       &lt;/div&gt;
       &lt;?php comments_template(); ?&gt;
       &lt;?php endwhile; else: ?&gt;
              &lt;p&gt;Sorry, no posts matched your criteria.&lt;/p&gt;
&lt;?php endif; ?&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;?php get_footer(); ?&gt;</pre>
</li>
<li>Selain single.php yang memiliki struktur mirip  dengan index.php ada juga file yang mirip yaitu page.php. File ini digunakan  untuk menampilkan halaman yang dibuat. Contohnya halaman about dan contact. Berikut  contoh page.php:
<pre>&lt;?php get_header(); ?&gt;
&lt;?php get_sidebar(); ?&gt;
&lt;div id="content-left"&gt;
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;
       &lt;div id="post-&lt;?php the_ID(); ?&gt;"&gt;
              &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
              &lt;div&gt;
              &lt;?php the_content('&lt;p class="serif"&gt;Read the rest of this entry »&lt;/p&gt;'); ?&gt;
              &lt;?php wp_link_pages(array('before' =&gt; '&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; ', 'after' =&gt; '&lt;/p&gt;', 'next_or_number' =&gt; 'number')); ?&gt;
              &lt;/div&gt;
       &lt;/div&gt;
&lt;?php endwhile; else: ?&gt;
    &lt;p&gt;Sorry, no posts matched your criteria.&lt;/p&gt;
&lt;?php endif; ?&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;?php get_footer(); ?&gt;</pre>
</li>
<li>Untuk menampilkan daftar komentar pada suatu  post maka diperlukan file comments.php. File ini dapat dipanggil dengan  template tag  &lt;?php  comments_template(); ?&gt;
<pre>&lt;?php // Do not delete these lines
       if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
              die ('Please do not load this page directly. Thanks!');
       if (!empty($post-&gt;post_password)) { // if there's a password
              if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post-&gt;post_password) {  // and it doesn't match the cookie
                     ?&gt;
                     &lt;p class="nocomments"&gt;This post is password protected. Enter the password to view comments.&lt;/p&gt;
                     &lt;?php
                     return;
              }
       }
       /* This variable is for alternating comment background */
       $oddcomment = 'class="alt" ';
?&gt;
&lt;?php if ($comments) : ?&gt;
       &lt;h3 id="comments"&gt;&lt;?php comments_number('No Responses', 'One Response', '% Responses' );?&gt; to “&lt;?php the_title(); ?&gt;”&lt;/h3&gt;
       &lt;ol&gt;
       &lt;?php foreach ($comments as $comment) : ?&gt;
              &lt;li &lt;?php echo $oddcomment; ?&gt;id="comment-&lt;?php comment_ID() ?&gt;"&gt;
                     &lt;?php comment_author_link() ?&gt; says:
                     &lt;?php if ($comment-&gt;comment_approved == '0') : ?&gt;
                     &lt;em&gt;Your comment is awaiting moderation.&lt;/em&gt;
                     &lt;?php endif; ?&gt;
                     &lt;br /&gt;
                     &lt;small&gt;&lt;a href="#comment-&lt;?php comment_ID() ?&gt;" title=""&gt;&lt;?php comment_date('j F Y') ?&gt; at &lt;?php comment_time() ?&gt;&lt;/a&gt; &lt;?php edit_comment_link('edit','  ',''); ?&gt;&lt;/small&gt;
                     &lt;?php comment_text() ?&gt;
              &lt;/li&gt;
       &lt;?php  $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : ''; ?&gt;
       &lt;?php endforeach; /* end for each comment */ ?&gt;
       &lt;/ol&gt;
 &lt;?php else : // this is displayed if there are no comments so far ?&gt;
       &lt;?php if ('open' == $post-&gt;comment_status) : ?&gt;
              &lt;!-- If comments are open, but there are no comments. --&gt;
        &lt;?php else : // comments are closed ?&gt;
              &lt;!-- If comments are closed. --&gt;
              &lt;p&gt;Comments are closed.&lt;/p&gt;
       &lt;?php endif; ?&gt;
&lt;?php endif; ?&gt;
&lt;?php if ('open' == $post-&gt;comment_status) : ?&gt;
&lt;h3 id="respond"&gt;Leave a Reply&lt;/h3&gt;
&lt;?php if ( get_option('comment_registration') &amp;&amp; !$user_ID ) : ?&gt;
&lt;p&gt;You must be &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-login.php?redirect_to=&lt;?php echo urlencode(get_permalink()); ?&gt;"&gt;logged in&lt;/a&gt; to post a comment.&lt;/p&gt;
&lt;?php else : ?&gt;
&lt;form action="&lt;?php echo get_option('siteurl'); ?&gt;/wp-comments-post.php" method="post" id="commentform"&gt;
&lt;?php if ( $user_ID ) : ?&gt;
&lt;p&gt;Logged in as &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-admin/profile.php"&gt;&lt;?php echo $user_identity; ?&gt;&lt;/a&gt;. &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-login.php?action=logout" title="Log out of this account"&gt;Logout »&lt;/a&gt;&lt;/p&gt;
&lt;?php else : ?&gt;
&lt;p&gt;&lt;input type="text" name="author" id="author" value="&lt;?php echo $comment_author; ?&gt;" size="22" tabindex="1" /&gt;
&lt;label for="author"&gt;&lt;small&gt;Name &lt;?php if ($req) echo "(required)"; ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;input type="text" name="email" id="email" value="&lt;?php echo $comment_author_email; ?&gt;" size="22" tabindex="2" /&gt;
&lt;label for="email"&gt;&lt;small&gt;Mail (will not be published) &lt;?php if ($req) echo "(required)"; ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;input type="text" name="url" id="url" value="&lt;?php echo $comment_author_url; ?&gt;" size="22" tabindex="3" /&gt;
&lt;label for="url"&gt;&lt;small&gt;Website&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;
&lt;?php endif; ?&gt;
&lt;p&gt;&lt;textarea name="comment" id="comment" cols="50%" rows="10" tabindex="4"&gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&lt;input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" /&gt;
&lt;input type="hidden" name="comment_post_ID" value="&lt;?php echo $id; ?&gt;" /&gt;&lt;/p&gt;
&lt;?php do_action('comment_form', $post-&gt;ID); ?&gt;
&lt;/form&gt;
&lt;?php endif;?&gt;
&lt;?php endif;?&gt;</pre>
</li>
<li>Berikutnya adalah file functions.php yang merupakan  file untuk menyimpan fungsi-fungsi yang berkaitan dengan theme buatan kita.  Pada file ini kita mendeklarasikan widget yang kita inginkan. Pada file ini  juga dapat memberi fungsi tambahan untuk administrasi theme dari WordPress  administrator:
<pre>&lt;?php
if ( function_exists('register_sidebar') ){
    register_sidebars(2,array('before_widget' =&gt; '&lt;div id="%1$s" class="widget %2$s"&gt;',
'after_widget' =&gt; "&lt;/div&gt;",
'before_title' =&gt; '&lt;h2&gt;',
'after_title' =&gt; "&lt;/h2&gt;"));
       }
?&gt;</pre>
</li>
</ul>
</li>
<li>Selesailah theme WordPress kita. Sebenarnya  masih ada file file lain yang dibutuhkan untuk menampilkan secara keseluruhan  fungsi blog WordPress. Akan tetapi file tersebut tidak bersifat harus ada. Bila  file tersebut tidak ada blog kita masih dapat menampilkan konten dengan baik.  File-file itu dapat tergantikan oleh file default atau oleh file lainnya. Contohnya  adalah archive.php,search.php,category.php, dll. Bila ingin tampilan theme anda  dapat lebih spesifik maka anda dapat melengkapi file-file tersebut. Anda  tinggal meng-copy semua file tersebut ke dalam 1 folder dan memasukkannya ke  folder theme WordPress. Selanjutnya anda dapat mengaktifkan theme buatan anda  dari menu Presentation pada WordPress Administrator.</li>
</ol>
<p>Bila ingin menggunakan theme WordPress yang lebih lengkap  maka theme default WordPress 2.3 adalah permulaan yang bagus. Kelengkapan  fungsi dan file theme dapat dijadikan referensi untuk pengembangan theme anda  sendiri.  Contoh theme wordpress yang  kita gunakan diatas merupakan theme yang sangat dasar. Anda dapat memperbaiki  theme tersebut dengan memodifikasi theme dan CSS dari theme tersebut. Anda juga  dapat menambahkan beberapa gambar agar lebih menarik. Selamat berkreasi.</p>
<h3>Referensi</h3>
<ul>
<li><a href="http://codex.wordpress.org">http://codex.wordpress.org</a></li>
<li><a href="http://codex.wordpress.org/Templates">http://codex.wordpress.org/Templates</a></li>
<li><a href="http://codex.wordpress.org/Theme_Development">http://codex.wordpress.org/Theme_Development</a></li>
<li><a href="http://codex.wordpress.org/Blog_Design_and_Layout">http://codex.wordpress.org/Blog_Design_and_Layout</a></li>
<li><a href="http://codex.wordpress.org/Developer_Documentation">http://codex.wordpress.org/Developer_Documentation</a></li>
</ul>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=54&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/03/27/tutorial-dasar-perancangan-theme-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Wujudkan Mimpimu!</title>
		<link>http://www.thinkrooms.com/2008/03/19/wujudkan-mimpimu/</link>
		<comments>http://www.thinkrooms.com/2008/03/19/wujudkan-mimpimu/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 13:22:47 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[mimpi]]></category>
		<category><![CDATA[motivasi]]></category>
		<category><![CDATA[pendapat]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/2008/03/19/wujudkan-mimpimu/</guid>
		<description><![CDATA[Semua orang tentu punya mimpi atau cita-cita. Pada waktu kecil kita sering ditanya, pengen jadi apa? Cita-citanya apa? Dengan semangat kita menjawab, pengen jadi dokter, pilot, presiden, dan sebagainya. Itulah cita-cita, yaitu tujuan atau keinginan yang ingin dicapai atau diwujudkan. Seiring bertambah umur dan dewasa maka terkadang ada beberapa orang yang menganggap cita-citanya adalah mimpi. [...]]]></description>
			<content:encoded><![CDATA[<p>Semua orang tentu punya mimpi atau cita-cita. Pada waktu kecil kita sering ditanya, pengen jadi apa? Cita-citanya apa? Dengan semangat kita menjawab, pengen jadi dokter, pilot, presiden, dan sebagainya. Itulah cita-cita, yaitu tujuan atau keinginan yang ingin dicapai atau diwujudkan. Seiring bertambah umur dan dewasa maka terkadang ada beberapa orang yang menganggap cita-citanya adalah mimpi. Mimpi yang sulit diwujudkan atau mungkin mustahil diwujudkan. Ada juga seiring perkembangan zaman dan peralihan tren maka cita-cita orang berubah karena berbagai profesi baru bermunculan dan menjadi profesi yang exclusive. Mimpi bukanlah sekedar profesi dan mimpi tidak memiliki batasan.</p>
<p>Mimpi bisa menjadi keinginan yang pantas untuk diwujudkan. Selama mimpi kita ada kemungkinan untuk diwujudkan kenapa kita tidak berusaha? Karena kita memiliki mimpi maka tentu kita ingin mewujudkannya. Namun hanya memiliki keinginan saja tidaklah cukup, harus disertai tindakan. Pikiran tanpa tindakan adalah sia-sia. Lebih baik kita tidak usah bermimpi bila kita tidak memiliki usaha untuk mewujudkannya. Disaat umur, waktu, tenaga, dan pikiran masih memungkinkan jangan tunda lagi untuk mewujudkan mimpimu. Bayangkan saat umur sudah di ujung jalan baru kita merenung dan berpikir, kenapa kita tidak begini? Kenapa kita tidak begitu? Kalau begini pasti begitu? Dan beragam penyesalan timbul karena kita tidak mau berusaha dan bertindak. Akan lebih baik bila kita telah berusaha dan gagal namun tidak berakhir dengan penyesalan. Kegagalan bukan akhir, tapi seperti iklan rokok kegagalan adalah sukses yang tertunda. Mimpi bisa diwujudkan selama itu mungkin. Kita tentu tidak mungkin bermimpi bahwa kita akan bisa terbang tanpa alat bantu apapun, karena hal ini tidak mungkin. Hampir mustahil mewujudkan mimpi yang menentang hukum alam. Tapi bila mimpi kita mungkin diwujudkan maka siapkan dirimu dan raihlah mimpimu. Inilah langkah untuk mewujudkan mimpimu:<span id="more-51"></span></p>
<ol>
<li>Ciptakan mimpimu secara detail. Mimpi tidak dapat digambarkan dalam 1 kalimat seperti saya ingin menjadi dokter. Mimpi lebih dari itu. Ciptakan dan deskripsikan mimpimu dengan detail. Contohnya ingin menjadi dokter spesialis apa? Ingin bekerja dimana? Rumah sakit atau prakter sendiri? Dan sebagainya. Dengan menciptakan secara detail maka tujuan atau mimpimu menjadi lebih jelas. Jalan kesana menjadi lebih mudah. Seakan-akan tercipta jalur yang tepat yang akan menuntun kita untuk mencapai mimpi kita.</li>
<li>Yakinkan dirimu untuk mencapai mimpi. Memiliki mimpi harus disertai dengan keyakinan untuk mewujudkan. Otak dan tubuh kita memiliki 2  cara kerja, yaitu secara sadar dan tidak sadar. Sadar bahwa tubuh atau otak kita bekerja sesuai keinginan kita. Sedangkan tidak sadar adalah tubuh atau otak kita bekerja secara reflek dan otomatis. Bekerja tidak sadar bukan tidak bisa dikontrol. Bekerja tidak sadar bisa diprogram atau disetting. Bila kita ingin bangun jam 5 dan dan punya keinginan kuat untuk bangun jam 5 maka tanpa alarm pun maka tubuh kita akan otomatis bangun sekitar jam 5. Namun bila kita tidak memiliki kepastian dan keyakinan maka tubuh dan pikiran kita tidak akan berjalan sesuai program atau keinginan. Karena itu dengan memiliki keyakinan kuat untuk mewujudkan mimpimu maka tubuh dan pikiran kita akan terprogram baik secara sadar atau tidak sadar untuk berusaha mewujudkan mimpimu. Kamu bisa memulainya dengan mengucapkan mimpimu setiap bangun pagi. Agar mimpimu terus terekam dalam pikiran dan kamu akan berusaha untuk mewujudkannya.</li>
<li>Singkirkan hambatan yang menghalangi jalan ke mimpimu. Segala sesuatu yang ingin dicapai tentu ada hambatannya. Makin tinggi mimpimu makin berat hambatannya. Karena itu buat daftar kemungkinan hambatan atau rintangan yang mungkin akan menghalangi mimpimu dan bagaimana cara mengatasinya. Dengan demikian bila dalam usaha mencapai mimpimu dan rintangan muncul menghadang maka kita akan lebih siap menghadapinya. Diharapkan dengan meminimalisasi kemungkinan resiko rintangan maka jalan yang berat akan lebih mudah dihadapi dengan persiapan yang matang.</li>
<li>Belajar dan pelajari mimpimu. Mimpi itu tidak sederhana. Bila keinginan mudah dicapai maka keinginan itu bukanlah mimpi, hal itu hanyalah keinginan biasa yang dengan beberapa tindakan dapat dicapai. Karena itu untuk memuluskan langkahmu pelajari mimpimu dengan baik. Dengan mengenali dan mengetahui mimpimu lebih baik maka langkahmu akan lebih mantap untuk mencapai mimpi. Contohnya untuk menjadi direktur tentu ada kriteria-kriteria yang harus terpenuhi. Ada kriteria kepemimpinan, pengelolaan  resource yang baik, dan berbagam kriteria lainnya. Hal-hal tersebut tidak dimiliki seseorang sejak lahir, akan tetapi diperoleh dari hasil pendidikan dan pengalaman.</li>
<li>Bertindaklah dan melangkah untuk mewujudkan mimpimu. Segala usaha, pemikiran, dan pendidikan akan sia-sia bila tidak diakhiri dengan tindakan. Karena tindakanlah yang akan mewujudkan mimpimu, yang lain hanyalah alat bantu untuk melakukannya. Bukan tidak mungkin mimpimu dapat terwujud hanya dengan bermimpi dan bertindak. Namun hal itut tentu akan sangat sulit. Sama seperti memotong daging, tanpa pisau sebagai alat bantu tentu akan sangat kesulitan memotongnya dengan tangan kosong.</li>
</ol>
<p>Jadi tunggu apa lagi? Mari kita mewujudkan semua mimpi kita. Saya pun memiliki mimpi yang mungkin bagi orang adalah mimpi yang sangat tinggi. Saya bermimpi untuk melanjutkan S2 di Eropa yaitu di Belanda, lalu mendirikan perusahaan sekelas Google dan memperkerjakan banyak orang, dan memberi kebahagian buat keluarga, teman, dan semuanya. Mimpi? Memang, tapi bagi saya mimpi bukan sekedar mimpi. Tapi untuk itulah kita hidup. Hidup untuk menciptakan dan mewujudkan mimpimu. Karena jalan menuju mimpi dan pencapaian mimpi adalah bunga kehidupan yang akan membawa kesegaran hingga tua.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=51&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/03/19/wujudkan-mimpimu/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Langkah-langkah menghilangkan virus komputer</title>
		<link>http://www.thinkrooms.com/2008/02/03/langkah-langkah-menghilangkan-virus-komputer/</link>
		<comments>http://www.thinkrooms.com/2008/02/03/langkah-langkah-menghilangkan-virus-komputer/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 04:58:13 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[IT Solution]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[anti virus]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/2008/02/03/langkah-langkah-menghilangkan-virus-komputer/</guid>
		<description><![CDATA[Beberapa tahun belakangan banyak bermunculan virus-virus yang mulai merepotkan masyarakat pengguna komputer. Kalau dahulu pengguna internet saja yang dipusingkan oleh virus karena penyebarannya yang masih terbatas melalui email dan jaringan. Seiring perkembangan teknologi maka perangkat mobile teknologi informasi juga berkembang. Saat ini hampir tiap pengguna komputer pasti memiliki flash disk yang merupakan media penyimpanan data [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa tahun belakangan banyak bermunculan virus-virus yang mulai merepotkan masyarakat pengguna komputer. Kalau dahulu pengguna internet saja yang dipusingkan oleh virus karena penyebarannya yang masih terbatas melalui email dan jaringan. Seiring perkembangan teknologi maka perangkat mobile teknologi informasi juga berkembang. Saat ini hampir tiap pengguna komputer pasti memiliki flash disk yang merupakan media penyimpanan data yang sangat portable dan mudah digunakan karena sifatnya seperti disket namun dengan kapasitas besar dan tidak mudah rusak. Namun kepopuleran flash disk di pengguna komputer memancing para pembuat virus untuk membuat virus yang menyebar melalui media penyimpanan ini. Hal ini membuat para pengguna yang kurang paham komputer terkadang tertipu karena menjalankan virus yang disangkanya adalah file lain seperti file dokumen Microsoft Word, Folder, atau bentuk file lainnya. Padahal yang sedang dibuka adalah program virus yang memiliki icon sama dengan file-file tersebut.</p>
<p>Tidak perlu membahas terlalu panjang sejarah kemunculan virus ini, namun buat pengguna yang sudah terkena virus maka sebenarnya langkah pembasmian virus-virus tersebut hampir sama. Biasanya masyarakat umum yang tidak memiliki akses internet di komputernya akan lebih mudah terkena virus karena antivirus yang tidak up to date sehingga antivirus miliknya tidak mengenali virus-virus baru. Ada beberapa cara menghilangkan virus dari komputer anda bila sudah terlanjur terinfeksi virus ini. Teknik-teknik berikut dibahas pada sistem operasi Windows XP karena OS inilah yang paling umum terinfeksi dan paling banyak digunakan. Berikut adalah teknik teknik tersebut:<span id="more-49"></span></p>
<h4>Menghapus dengan antivirus di komputer lain</h4>
<p>Dengan melepaskan hardisk komputer yang telah terinfeksi virus kemudian dipasangkan ke komputer lain yang memilki antivirus yang terbaru atau setidaknya mampu mengenali virus di sistem yang telah terinfeksi. Lakukan full scanning pada hardisk sistem yang terinfeksi dan hapus semua virus yang ditemukan. Setelah selesai hardisk tersebut sudah dapat dipasang kembali dikomputer dan jalankan sistem seperti biasa. Lakukan pemeriksaan kembali apakah komputer masih menunjukkan gejala yang sama saat terkena virus. Cara ini ampuh membersihkan virus sepanjang antivirus di komputer lain tersebut dapat mengenali dan menghapus virus di hardisk yang terinfeksi. Namun virus masih meninggalkan jejak berupa autorun atau startup yang tidak berfungsi.  Jejak ini terkadang memunculkan pesan error yang tidak berbahaya namun mungkin sedikit mengganggu.</p>
<h4>Menghapus dengan sistem operasi lain</h4>
<p>Pada laptop atau komputer yang tidak dapat dilepas harddisknya maka cara lain adalah menjalankan sistem operasi lain yang tidak terinfeksi virus dan melakukan full scan terhadap seluruh harddisk. Biasanya ada beberpa pengguna yang menggunakan dual OS seperti Linux dan Windows atau Windows XP dan Windows Vista dsb. Selain itu bisa juga menggunakan LiveCD atau OS Portable seperti Knoopix dan Windows PE ( Windows yang telah diminimazed dan dapat dibooting dari media penyimpanan portable seperti flash disk atau CD.) lalu lakukan full scanning dengan antivirus terbaru. Efektifnya sama dengan menghapus virus dengan antivirus di komputer lain contoh diatas. Virus terkadang masih meninggalkan jejak tidak berbahaya.</p>
<h4>Menghapus secara manual</h4>
<p>Bila anda kesulitan melakukan hal diatas masih ada cara lain yaitu dengan cara manual. Langkah-langkah tersebut adalah:</p>
<ol>
<li>Matikan process yang dijalankan oleh virus. Virus yang aktif pasti memiliki process yang berjalan pada sistem. Process ini biasanya memantau aktifitas sistem dan melakukan aksinya bila ada kejadian tertentu yang dikenali virus tersebut. Contohnya pada saat kita memasang flash disk, process virus akan mengenali aksi tersebut dan menginfeksi flash disk dengan virus yang sama. Proses ini harusnya bisa dilihat dari task manager yang bisa diaktifkan dengan tombol Ctrl + Alt + Del namun terkadang virus akan memblokir aksi ini dengan melakukan log off, menutup window Task Manager, atau restart sistem. Cara lain adalah menggunakan tool lain untuk melihat dan mematikan proses virus. Saya biasa menggunakan Process Explorer dari <a href="http://www.sysinternals.com/">http://www.sysinternals.com/</a> . Dengan tool ini anda bisa mematikan process yang dianggap virus. Pada saat mematikan proses milik virus perlu diperhatikan terkadang proses milik virus terdiri atas lebih dari 1 proses yang saling memantau. Bila 1 proses dimatikan maka proses tsb akan dihidupkan lagi dengan proses lainnya. Karena itu mematikan process virus harus dengan cepat sebelum proses yang dimatikan dihidupkan lagi oleh proses lainnya. Kenali terlebih dahulu proses yang dianggap virus lalu matikan semuanya dengan cepat. Biasanya virus menyamar menyerupai proses windows tapi tentu ada bedanya seperti IExplorer.exe yang meniru Explorer.exe. Berikut adalah proses windows yang bisa dijadikan referensi proses yang dikategorikan aman:
<pre>C:\WINDOWS\system32\smss.exe
C:\WINDOWS\system32\csrss.exe
C:\WINDOWS\system32\winlogon.exe
C:\WINDOWS\system32\services.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\Explorer.exe</pre>
<p>Selain process explorer anda bisa menggunakan tools lainnya yang mungkin lebih mudah dan bisa menghapus process sekaligus. Contoh lain adalah HijackFree. Anda bisa mencari di google tools sejenis.</li>
<li>Setelah proses mematikan virus berhasil lakukan pengembalian nilai default parameter sistem yang digunakan virus untuk mengaktifkan dirinya dan memblokir usaha menghapus dirinya. Parameter tersebut berada pada registry windows yang bisa di reset dengan nilai defaultnya. Simpan file berikut dengan nama apa saja dengan extention file .reg. Kemudian eksekusi file tersebut dengan mengklik 2 kali. Bila ada konfirmasi anda bisa menjawab Yes/Ok. Berikut file registry tersebut:
<pre>Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000000
"SuperHidden"=dword:00000000
"ShowSuperHidden"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot]
"AlternateShell"="Cmd.exe"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\SafeBoot]
"AlternateShell"="Cmd.exe"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot]
"AlternateShell"="Cmd.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe"
"Userinit"="C:\WINDOWS\system32\userinit.exe,"

[HKEY_CLASSES_ROOT\regfile\shell\open\command]
@="regedit.exe \"%1\""

[HKEY_CLASSES_ROOT\scrfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\piffile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\comfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"</pre>
<p>File registry diatas akan membuka blokir regedit, mencegah virus mencangkokkan dirinya pada sistem, dan reset parameter lain untuk mencegah virus jalan lagi.</li>
<li>Setelah proses virus dimatikan dan parameter sistem di reset. Cegah virus aktif kembali dengan menghapus entry virus pada autorun dan startup Windows. Bisa menggunakan tool bawaan windows MSConfig atau mengedit langsung pada registry dengan Regedit. Untuk lebih mudahnya gunakan tools pihak ketiga seperti autoruns dari <a href="http://www.sysinternals.com">http://www.sysinternals.com</a> untuk menghapus entry autorun dan startup milik virus tsb. Jangan lupa periksa folder StartUp pada menu Start Menu -&gt; Programs -&gt; Startup dan pastikan tidak ada entry virus tsb.</li>
<li>Download antivirus terbaru dan lakukan full scanning pada sistem agar antivirus memeriksa keseluruhan sistem dan menghapus semua virus yang ditemukan. Saya menyarankan avira yang bisa didownload dari <a href="http://www.free-av.com">http://www.free-av.com</a> karena sifatnya free dan scanner virus yang sama tangguhnya dengan antivirus komersil seperti Symantec atau Kaspersky.</li>
<li>Sebelum restart pastikan anda tidak melewatkan virus baik dari proces atau autorun dan startup sistem. Karena bila tidak maka pada saat restart maka sistem akan kembali seperti pada saat terinfeksi virus dan sia-sia semua langkah yang anda lakukan sebelumnya.</li>
<li>Setelah restart periksa kembali komputer anda dan perhatikan apakah gejala yang muncul pada saat komputer terinfeksi masih ada atau tidak. Bila ada maka anda terlewat beberpa autorun virus atau reset parameter sistem diatas tidak berhasil. Lakukan langkah diatas dan periksa lebih cermat tiap langkah anda sebelum melakukan restart sistem.</li>
</ol>
<p>Itulah langkah-langkah penghapusan virus pada sistem Windows XP. Untuk mencegah virus datang kembali sebaiknya anda rajin update antivirus atau memasang aplikasi pencegah seperti WinPooch atau Comodo Firewall yang akan memperingatkan pengguna bila ada program lain yang akan memodifikasi sistem. Jadi walaupun virus tersebut tidak dikenali akan tetapi sebelum masuk maka pengguna akan diperingatkan oleh aplikasi pencegah. Bila anda mengenali program yang hendak mengakses sistem anda maka anda bisa mengijinkan akses tersebut namun bila tidak sebaiknya tolak dan blokir akses tersebut karena ada kemungkinan program tersebut adalah virus.</p>
<p>Berhati-hati pada saat membuka flash disk. Jangan membuka flash disk dengan klik 2 kali. Buka dengan klik kanan lalu  pilih menu Open agar fitur autoplay pada flash disk tidak menjalankan virus secara ototmatis. Jangan lupa perhatikan file yang anda buka. Walaupun iconnya sama perhatikan bahwa file yang anda buka buka tipe application atau program. Pastikan file word adalah betul-betul word dan folder betul-betul folder bisa dengan melihat detail atau properties dari file tsb. Semoga artikel ini membantu dan mencegah anda terinfeksi virus komputer.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=49&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/02/03/langkah-langkah-menghilangkan-virus-komputer/feed/</wfw:commentRss>
		<slash:comments>113</slash:comments>
		</item>
		<item>
		<title>WordPress Perfect Setup Tutorial</title>
		<link>http://www.thinkrooms.com/2007/11/20/perfect-setup-wordpress-tutorial/</link>
		<comments>http://www.thinkrooms.com/2007/11/20/perfect-setup-wordpress-tutorial/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 04:08:00 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/2007/11/20/tutorial-setup-wordpress/</guid>
		<description><![CDATA[Sudah punya blog berbasis wordpress? Atau berencana membuat blog berbasis wordpress. Saya akan membantu bagaimana mengsetup wordpress agar memperoleh hasil lebih maksimal. Disini saya buka membahas step-by-step tutorial tapi lebih membahas apa saja yang harus dilakukan untuk memperoleh blog yang lebih maksimal. Tutorial ini digunakan pada wordpress yang di setup di webserver selain di website [...]]]></description>
			<content:encoded><![CDATA[<p>Sudah punya blog berbasis wordpress? Atau berencana membuat blog berbasis <a href="http://wordpress.org" title="download wordpress" target="_blank">wordpress</a>. Saya akan membantu bagaimana mengsetup wordpress agar memperoleh hasil lebih maksimal. Disini saya buka membahas step-by-step tutorial tapi lebih membahas apa saja yang harus dilakukan untuk memperoleh blog yang lebih maksimal. Tutorial ini digunakan pada wordpress yang di setup di webserver selain di website <a href="http://wordpress.com" title="free blog wordpress" target="_blank">http://wordpress.com</a>. Beberapa langkah tidak dapat dilakukan karena free blog wordpress di wordpress.com membatasi beberapa feature. Berikut langkah-langkah yan harus dilakukan dari awal:<span id="more-39"></span></p>
<ol>
<li>Install wordpress terbaru. Pastikan  selalu wordpress yang anda gunakan adalah yang terbaru, hal ini untuk menghindari masalah keamanan dan memperoleh feature yang lebih baik. Pada web hosting mereka menyediakan script automatis untuk installasi WordPress. Periksa terlebih dahulu di website wordpress apakah versi wordpress pada script automatis akan menginstall versi terbaru.</li>
<li>Pilih themes yang sesuai dengan konsep blog anda. Ada ratusan themes yang bebas di download dan digunakan. Beberapa mengharuskan anda mencantumkan link ke website designer. Anda bisa memilih themes yang ingin digunakan di <a href="http://themes.wordpress.net" title="wordpress themes viewer" target="_blank">http://themes.wordpress.net</a> atau bisa cari di google dengan keywords &#8220;wordpress free theme&#8221;. Anda tinggal download themes yang diinginkan, upload ke server blog anda dan kemudian aktifkan pada menu presentation di http://domain-blog-anda/wp-admin/ . Anda juga bisa membuat theme anda sendiri namun diperlukan pemahaman php dan cara membuat theme WordPress.</li>
<li>Cari plugin yang anda inginkan untuk menambah feature dari blog anda. Saya menyarankan beberapa plugin dibawah ini:
<ul>
<li>All in one SEO pack &#8211; plugin ini mengoptimalkan blog anda terhadap search engine. Anda bisa membuat keyword secara otomatis per post, definisi keyword per halaman, penggunaan title otomatis, dan feature SEO lainnya.</li>
<li>WP-Cache &#8211; mempercepat loading wordpress dengan mengyimpan sementara tampilan dari halaman-halaman yang dibuka. Sehingga halaman tersebut dapat langsung ditampilkan bila dibuka lagi tanpa harus diproses lagi dari awal. Sangat berguna meringankan kerja server untuk blog yang sibuk.</li>
<li>Popularity contest &#8211; statistik plugin untuk memberi nilai tiap halaman blog anda berdasarkan cara akses, feedback, comment, dan kriteria lainnya. Plugin ini akan mengurutkan populeritas tiap halaman berdasarkan nilainya. Berguna bila anda ingin mengetahui halaman atau posting mana yang disukai pengunjung.</li>
<li>Statpress &#8211; plugin untuk mengetahui statistik pengunjung blog anda. Anda akan disajikan tabel statistik disertai chart sederhana untuk memberikan gambaran statistik kunjungan atau akses ke blog anda.</li>
</ul>
<p>Plugin-plugin diatas bisa anda dapatkan di <a href="http://wordpress.org/extend/plugins/" title="wordpress plugin" target="_blank">http://wordpress.org/extend/plugins/</a> Anda bisa mendownloadnya kemudian upload ke server blog anda. Agar bisa digunakan anda harus mengaktifkannya pada menu plugin di http://domain-blog-anda/wp-admin/ .</li>
<li>Buat halaman-halaman selain posting anda seperti halaman &#8220;about me&#8221;, &#8220;contact&#8221;, atau halaman lainnya yang memuat informasi spesifik.</li>
<li>Setting wordpress dan plugin anda. Settingan wordpress dan plugin dapat anda temukan di menu options pada http://domain-blog-anda/wp-admin/. Beberapa plugin harus di enable dulu di menu option agar dapat berfungsi contohnya seperti plugin WP-Cache.</li>
<li>Setting sidebar widget yang ingin ditampilkan pada sidebar blog anda.Bisa di setting di menu presentation-&gt;widgets pada wp-admin.</li>
<li>Mulailah menulis isi blog anda, kategorikan tulisan anda agar lebih mudah di akses. Blog yang baik adalah content yang baik. Sebaiknya anda menulis lebih banyak tentang informasi atau ilmu pengetahuan yang dibutuhkan umum dibandingkan anda menulis tentang kehidupan sehari-hari. Kecuali konsep blog anda memang ditujukan untuk catatan kehidupan anda. Bisa saja catatan kehidupan anda memberi inspirasi terhadap orang lain.</li>
</ol>
<p>Demikian langkah-langkah untuk memulai blog anda menurut pandangan saya. Bila ada yang kurang mungkin bisa ditambahkan. Semoga sukses menjadi blogger.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=39&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2007/11/20/perfect-setup-wordpress-tutorial/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tutorial Pembuatan Login Dengan Prado Framework</title>
		<link>http://www.thinkrooms.com/2007/11/16/tutorial-pembuatan-login-dengan-prado-framework/</link>
		<comments>http://www.thinkrooms.com/2007/11/16/tutorial-pembuatan-login-dengan-prado-framework/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 04:30:21 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Prado Framework]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Developer]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/?p=37</guid>
		<description><![CDATA[Tutorial ini adalah cara authentikasi pada website dan mengatur hak akses per folder per level user. Contoh ini menggunakan kode program yang saya gunakan dalam aplikasi saya. Mudahan bisa membantu semuanya agar lebih mengerti cara pembuatan authentikasi atau sistem login pada website. Sebelum memulai coding di Prado berikut adalah requirement atau kebutuhan dari sistem yang [...]]]></description>
			<content:encoded><![CDATA[<p>Tutorial ini adalah cara authentikasi pada website dan mengatur hak akses per folder per level user. Contoh ini menggunakan kode program yang saya gunakan dalam aplikasi saya. Mudahan bisa membantu semuanya agar lebih mengerti cara pembuatan authentikasi atau sistem login pada website.<span id="more-37"></span></p>
<ol>
<li>Sebelum memulai coding di Prado berikut adalah requirement atau kebutuhan dari sistem yang harus dibuat atau dilakukan:
<ul>
<li>Sistem login menggunakan database MySQL. Pada database terdapat tabel user yang menyimpan data user yang boleh menggunakan sistem ini. Tabel user minimal memiliki 3 kolom yaitu username, password, dan level. Tabel user menggunakan usernamae sebagai primary key. Untuk kolom level memiliki 2 default yaitu member dan admin. Level adalah hak akses dimana user pada suatu level hanya dapat mengakses folder yang dibolehkan.</li>
<li>Pada file konfigurasi aplikasi Prado yaitu file application.xml masukkan module database, auth manager, dan user. Berikut contoh dari file application.xml pada aplikasi saya:
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;application id="Help Desk" mode="Debug"&gt;
&lt;paths&gt;
&lt;alias id="page" path="pages" /&gt;
&lt;using namespace="page.*" /&gt;
&lt;using namespace="Application.modules.*"/&gt;
&lt;using namespace="Application.database.*" /&gt;
&lt;using namespace="System.Web.UI.ActiveControls.*"/&gt;
&lt;/paths&gt;
&lt;!-- modules configured and loaded for all services --&gt;
&lt;modules&gt;
<span class="xml-hl-brackets">&lt;</span><span class="xml-hl-reserved">module</span><span class="xml-hl-code"> </span><span class="xml-hl-var">class</span><span class="xml-hl-code">=</span><span class="xml-hl-quotes">"</span><span class="xml-hl-string">System.Data.ActiveRecord.TActiveRecordConfig</span><span class="xml-hl-quotes">"</span><span class="xml-hl-code"> </span><span class="xml-hl-var">EnableCache</span><span class="xml-hl-code">=</span><span class="xml-hl-quotes">"</span><span class="xml-hl-string">true</span><span class="xml-hl-quotes">"</span><span class="xml-hl-brackets">&gt;</span><span class="xml-hl-code">
</span><span class="xml-hl-brackets">&lt;</span><span class="xml-hl-reserved">database</span><span class="xml-hl-code"> </span><span class="xml-hl-var">ConnectionString</span><span class="xml-hl-code">=</span><span class="xml-hl-quotes">"my</span><span class="xml-hl-string">sql:host=localhost;dbname=test</span><span class="xml-hl-quotes">"</span><span class="xml-hl-code">
</span><span class="xml-hl-var">Username</span><span class="xml-hl-code">=</span><span class="xml-hl-quotes">"</span><span class="xml-hl-string">dbuser</span><span class="xml-hl-quotes">"</span><span class="xml-hl-code"> </span><span class="xml-hl-var">Password</span><span class="xml-hl-code">=</span><span class="xml-hl-quotes">"</span><span class="xml-hl-string">dbpass</span><span class="xml-hl-quotes">"</span><span class="xml-hl-code"> </span><span class="xml-hl-brackets">/&gt;</span><span class="xml-hl-code">
</span><span class="xml-hl-brackets">&lt;/</span><span class="xml-hl-reserved">module</span><span class="xml-hl-brackets">&gt;</span><span class="xml-hl-code">
</span>&lt;module id="auth"
class="System.Security.TAuthManager"
UserManager="users"
LoginPage="login" /&gt;
&lt;module id="users"
class="System.Security.TDbUserManager"
UserClass="Application.dbuser" /&gt;
&lt;/modules&gt;
&lt;services&gt;
&lt;!-- page service --&gt;
&lt;service id="page" class="TPageService" BasePath="Application.pages" DefaultPage="home"&gt;
&lt;!-- modules configured and loaded when page service is requested --&gt;
&lt;pages MasterClass="Application.layouts.mainlayout"/&gt;
&lt;/service&gt;
&lt;/services&gt;
&lt;/application&gt;</pre>
<p>Pada contoh file diatas yang perlu diperhatikan adalah pada bagian module yang menyimpan settingan database dan authentikasi. Juga pada bagian path dimana terdapat settingan untuk untuk meload class active record pada folder database di folder protected aplikasi.</li>
<li>Pada folder database di dalam folder protected kita membuat file class UserRecord untuk menyimpan konfigurasi tabel user di database. Berikut adalah contoh dari file UserRecord:
<pre>const TABLE='user';public $username;public $password;public $level;

public static function finder($className=__CLASS__)

{

return parent::finder($className);

}

}

?&gt;</pre>
</li>
<li>File class dbuser yang akan menghandle login ke database yang diturunkan dari class TDbUserManager berikut contoh kode class dbuser
<pre>* User Class mengatur data user yang disimpan di session*/class dbUser extends TDbUser{public function createUser($username)

{

// Gunakan Active Record pada tabel user untuk mencari primary key

// username berdasarkan username yang di input

// fungsi ini dipanggil bila login berhasil atau fungsi validate user dibawahnya menghasilkan nilai true

$userRecord=UserRecord::finder()-&gt;findByPk($username);

if($userRecord instanceof UserRecord) // if found

{

$user=new dbUser($this-&gt;Manager);

$user-&gt;Name=$username;  // set username

$user-&gt;Roles=$userRecord-&gt;level; // set role berdasarkan kolom level pada database tabel user

$user-&gt;IsGuest=false;   // the user is not a guest

return $user;

}

else

return null;

}

/**

* Fungsi pengecekan apakah input username dan password valid

* Fungsi ini dipanggil dari halaman login

* parameter string username

* parameter string password

* mengembalikan nilai boolean true bila user valid.

*/

public function validateUser($username,$password)

{

// gunakan UserRecord Active Record untuk mengecek username dan password pada tabel user.

return UserRecord::finder()-&gt;find('username = ? AND password = ?', array($username, $password))!==null;

}

/**

* fungsi pengecekan level user adalah admin

*/

public function getIsAdmin()

{

return $this-&gt;isInRole('admin');

}

/**

* fungsi pengecekan level user adalah member

*/

public function getIsMember(){

return $this-&gt;isInRole('member');

}

}

?&gt;</pre>
<p>Simpan kode di atas ke file dbuser.php dan tempatkan pada folder sesuai settingan pada file application.xml. Dari contoh saya karena saya mengeset lokasi file class dbuser di application yaitu folder protected maka saya menyimpannya pada folder protected di folder aplikasi yang saya buat. Penyimpanan password pada contoh menggunakan clear text untuk memudahkan pengertian. Disarankan untuk menggunakan hash pada password seperti MD5, SHA1, atau tipe hash lainnya.</li>
<li>Folder member dan admin yang diletakkan didalam folder page aplikasi Prado. Di dalam folder member dan admin kita membuat file dengan nama config.xml. File ini untuk mengatur hak akses ke dalam folder tersebut.Contohnya pada folder admin saya membuat file config.xml dengan isi sebagai berikut: File di atas hanya membolehkan folder tersebut diakses oleh user dengan level admin. Untuk folder member kita bisa menggunakan kode yang sama dengan mengganti allow roles menjadi member.</li>
</ul>
</li>
<li>Setelah file konfigurasi, database, dan class dbuser telah selesai maka kita tinggal membuat halaman login. Pada contoh yang saya gunakan saya menggunakan komponen active control sehingga halaman login saya menggunakan AJAX untuk verifikasi login. Anda tinggal mengganti dengan komponen standar yang bukan active control bila tidak ingin menggunakan feature AJAX. Halaman login memerlukan 2 file yaitu file template dan file controller PHP. Berikut adalah contoh file template halaman login:
<pre>&lt;com:TContent ID="right"&gt;&lt;h3&gt;Login&lt;/h3&gt;&lt;p&gt;&lt;com:TLabel  ID="txtLoginStatus"/&gt; &lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;

&lt;td width="100px"&gt;User Name&lt;/td&gt;

&lt;td&gt;: &lt;com:TTextBox  ID="txtUser"/&gt;

&lt;com:TRequiredFieldValidator ControlToValidate="txtUser" ErrorMessage="Please provide your username." Display="Dynamic" /&gt;

&lt;/td&gt;

&lt;/tr&gt;

&lt;td&gt;Password&lt;/td&gt;

&lt;td&gt;: &lt;com:TTextBox ID="txtPass" TextMode="Password"/&gt;

&lt;/td&gt;

&lt;/table&gt;

&lt;com:TButton ID="btnLogin" OnCommand="checkLogin" Text="Login"/&gt;

&lt;/com:TContent&gt;</pre>
<p>Contoh diatas dengan asumsi bahwa pada file master template layout terdapat komponen TContentPlaceHolder dengan id right contohnya sebagai berikut:</p>
<pre class="code">&lt;com:tcontentplaceholder id="right"/&gt;</pre>
<p>Pada kode template diatas terdapat komponen validator yang mengharuskan user untuk mengisi textbox txtUser, bila tidak pada saat form di submit maka akan dimunculkan error bahwa textbox txtUser harus diisi. Bila tidak ada kesalahan maka pada saat button Login di klik maka akan memanggil function checkLogin pada file controller PHP.</li>
<li>Berikut merupakan contoh kode pada file controller PHP untuk memproses login:
<pre>
class login extends TPage{function checkLogin($sender,$param){

$authManager=$this-&gt;Application-&gt;getModule('auth'); //memanggil module auth atau class dbuser // mengecek username dan password dengan memanggil function login// yang akan menjalankan function validateUser pada class dbuser yang telah kita buat sebelumnya.

if($authManager-&gt;login($this-&gt;txtUser-&gt;Text,$this-&gt;txtPass-&gt;Text)) //if login success

//masukkan fungsi disini untuk menghandle status bila login sukses

if($this-&gt;user-&gt;isAdmin) //mengecek level user, bila admin maka di redirect ke halaman admin

$this-&gt;response-&gt;Redirect('index.php?page=admin.home');

else //bila bukan admin maka dianggap sebagai member dan di redirect ke halaman member

$this-&gt;response-&gt;Redirect('index.php?page=member.home');

else

$this-&gt;txtLoginStatus-&gt;Text="Login Fail"; //masukkan fungsi disini untuk menghandle status bila login gagal

}

public function onLoad($param){

parent::onLoad($param);

//Check apakah sesi user masih aktif bila iya arahkan ke folder sesuai level user

if(if($this-&gt;user-&gt;isMember)

this-&gt;response-&gt;Redirect('index.php?page=member.home');

else

$this-&gt;response-&gt;Redirect('index.php?page=admin.home');

}

}

?&gt;</pre>
<p>Contoh kode diatas akan memproses input username dan password dengan memanggil fungsi login yang juga menjalankan fungsi validateUser yang telah kita buat pada class dbUser. Bila sukses maka user akan didaftarkan pada session beserta level aksesnya kemudian akan diarahkan ke halaman yang telah ditentukan sesuai hak aksesnya.</li>
</ol>
<p>Itulah tutorial authentikasi pada Prado. Contoh diatas hanya contoh sederhana. Masih bisa ditambahkan atau di modifikasi sesuai kebutuhan. Semoga contoh ini bisa membantu dan memperkenalkan Prado pada para programmer web Indonesia. This is Prado Way..</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=37&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2007/11/16/tutorial-pembuatan-login-dengan-prado-framework/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.511 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-07-31 05:13:30 -->
