<?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/category/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>Dasar-dasar Search Engine Optimizing (SEO)</title>
		<link>http://www.thinkrooms.com/2008/04/19/dasar-dasar-search-engine-optimizing-seo/</link>
		<comments>http://www.thinkrooms.com/2008/04/19/dasar-dasar-search-engine-optimizing-seo/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 09:04:16 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[dasar]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[teknik]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/?p=58</guid>
		<description><![CDATA[Search Engine Optimizingng (SEO) adalah teknik-teknik yang digunakan untuk mengoptimalkan website agar tampil pada hasil pencarian search engine dengan keyword tertentu. Dengan demikian suatu website yang menerapkan SEO diharapkan dapat memperoleh banyak pengunjung yang datang dari hasil pencarian search engine seperti Google, Yahoo, MSN, dan search engine lainnya. Teknik yang digunakan adalah disesuaikan dengan algoritma [...]]]></description>
			<content:encoded><![CDATA[<p>Search Engine Optimizingng (SEO) adalah teknik-teknik yang digunakan untuk mengoptimalkan website agar tampil pada hasil pencarian search engine dengan keyword tertentu. Dengan demikian suatu website yang menerapkan SEO diharapkan dapat memperoleh banyak pengunjung yang datang dari hasil pencarian search engine seperti Google, Yahoo, MSN, dan search engine lainnya.  Teknik yang digunakan adalah disesuaikan dengan algoritma atau tata cara mesin search engine membaca, mencatat, menyimpan di database, dan menyusun peringkat sesuai dengan populeritas dan kesesuaian konten website dengan kata kunci pencarian. Dengan memudahkan pekerjaan mesin search engine yang biasa disebut web crawler/web spider/bot maka mesin search engine tersebut dapat mencatatkan atau mengindeks website kita secara optimal. Berikut adalah teknik-teknik dasar SEO yang mengadopsi teknik indexing dari bot-bot Google, Yahoo, MSN, dan search engine lainnya: <span id="more-58"></span></p>
<h3>Konten</h3>
<ol>
<li>Content is the king, pepatah yang sangat klasik dalam SEO. Konten yang menarik akan menarik pengunjung secara optimal. Bila pengunjung mengunjungi website anda dan mendapatkan konten yang ia cari maka terkadang ia akan merekomendasikan atau membuat link ke website anda. Hal ini tentu akan membantu meningkatkan populeritas website anda. Karena itu mulailah SEO dengan membuat konten yang menarik dan banyak dicari orang. Makin banyak link yang menuju website anda maka website anda akan makin mudah memperoleh peringkat atas pada daftar pencarian search engine.</li>
<li>Pastikan code website anda lolos tes validitas XHTML &amp; CSS atau biasa disebut web standart. Dengan memastikan semua kode telah benar maka bot search engine tidak akan kesulitan dalam membaca website anda. Anda bisa menvalidasi web anda pada <a href="http://validator.w3.org/">http://validator.w3.org/</a></li>
<li>Gunakan text daripada gambar atau animasi flash pada konten penting. Bot search engine tidak dapat membaca gambar dan animasi flash. Pastikan anda menggunakan text pada gambar atau animasi flash. Seringkali suatu perusahaan ingin kelihatan canggih maka ia membuat homepage website mereka menggunakan flash tanpa konten teks. Akibatnya website mereka tidak dapat dikenali oleh search engine dan website mereka menjadi tidak populer. Walaupun sebenarnya masih bisa diakali dengan alternatif misalnya seperti penggunaan attribute ALT pada tag &lt;img&gt;.</li>
<li>Penggunaan format font seperti cetak tebal, miring, atau makin tinggi ukuran font makin membuat teks tersebut dianggap lebih penting dibanding teks lain disekitarnya. Contohnya teks dengan tag &lt;h2&gt; akan dianggap lebih penting daripada &lt;h3&gt; apalagi dibandingkan dengan &lt;p&gt;.</li>
<li>Gunakan attribut title dan alt pada tag image secara akurat untuk memberi maksud dari gambar yang ditampilkan.</li>
<li>Pastikan halaman web anda tidak lebih dari 150Kb karena bot search engine akan kesulitan membaca halaman web anda selain itu akan mengurangi beban server anda pada saat web anda sedang di-index.</li>
<li>Hindari duplikasi konten. Jangan sampai terdapat halaman dengan konten yang sama.</li>
<li>Hindari penggunaan frame karena search engine tidak dapat mengindeks konten didalam frame.</li>
<li>Jangan membuat konten yang berbeda pada saat dibaca oleh search engine dan pada saat diakses oleh user.</li>
<li>Jangan memasukkan ilegal konten kedalam website anda, contohnya copy paste dari web lain dan langsung dimasukkan ke dalam web anda.</li>
</ol>
<h3>Keyword, Header, dan Meta Tag</h3>
<ol>
<li>Pilih keyword yang tepat untuk memberikan gambaran konten website anda. Keyword merupakan kata-kata kunci yang dapat memberikan gambaran mengenai keseluruhan konten pada halaman web anda. Keyword yang tepat akan membuat website anda lebih mudah tampil pada saat para user mengetikkan keyword yang berkaitan dengan keyword anda di search engine. Jangan gunakan keyword yang tidak relevan dengan website anda karena akan membuat website anda di banned oleh search engine. Keyword ini berguna untuk digunakan pada header, title, tag, dan bagian web lainnya.</li>
<li>Pada bagian header halaman web gunakan keyword pada title, tag, dan description untuk memberikan gambaran konten yang ada pada halaman web kita.</li>
<li>
<div>Penggunaan heading tag (H1,H2,H3,dst) terkait dengan keyword pada halaman akan mempengaruhi bobot teks tersebut. Dengan memasukkan keyword dalam heading text maka keyword tersebut akan makin berbobot.</div>
<p style="margin-left: 18pt">
</li>
</ol>
<h3>Link</h3>
<ol>
<li>Bobot suatu link dinilai atas beberapa faktor. Contohnya bila link ke web anda berasal dari text dalam paragraf maka link tersebut memiliki bobot lebih penting dibanding link yang terdapat pada sidebar. Bila link ke web anda berasal dari web yang memiliki reputasi bagus maka link tersebut akan mengangkat peringkat web anda.</li>
<li>Pastikan tidak ada broken link atau link ke halaman yang tidak ada, hal ini akan membuat ranking anda menurun pada search engine.</li>
<li>Jangan mencantumkan link ke link farm, link share, link exchange, atau website pertukaran link lainnya. Karena hal ini akan membuat website kita di banned oleh search engine.</li>
<li>Hindari membuat link dalam satu halaman terlalu banyak. Jumlah link wajar adalah kurang dari 100 link. Kalau link halaman web anda terlalu banyak maka search engine akan mengira bahwa web anda merupakan web link share, link exchange, atau web pertukaran link lainnya.</li>
<li>Hindari penggunaan redirect link kecuali terpaksa seperti redirect ke halaman login.</li>
<li>Pastikan tiap halaman dapat dicapai dari link. Bila sebuah halaman dapat dicapai hanya dengan meng-input form, memilih pada image map atau animasi flash maka search engine tidak akan dapat mencapai halaman itu karena bot search engine hanya dapat membaca page yang dicapai dari hyperlink.</li>
</ol>
<h3>Publikasi</h3>
<ol>
<li>Submit website anda ke search engine dan directory service seperti Google, Yahoo, dan DMOZ. Tapi jangan gunakan layanan yang menjanjikan akan mensubmit web anda ke 100 search engine atau lebih. Karena ada kemungkinan web anda akan dianggap sebagai spam, phising, dsb.</li>
<li>Penggunaan file robot.txt untuk memfilter akses search engine ke web server kita. Dengan demikian maka search engine tidak akan mengindeks file yang kita tidak ingin diakses oleh pihak luar. File robot.txt juga berguna untuk memberitahu lokasi file sitemap web kita.</li>
<li>Penggunaan sitemap yaitu file xml yang ditempatkan di web server dan berisi daftar konten web kita. Penggunaannya bisa dilihat di <a href="http://sitemap.org">http://sitemap.org</a> . File ini memudahkan search engine mengindeks web kita. Tapi kita juga perlu men-submint file tersebut ke search engine agar search engine lebih cepat mengetahui keberadaan file sitemap tersebut.</li>
<li>Update website anda, makin sering website anda di-update maka website anda tidak dianggap mati oleh search engine.</li>
</ol>
<h3>Lain-lain</h3>
<ol>
<li>Friendly URL, gunakan URL Rewriting pada URL page anda, misalnya untuk halaman http://thinkrooms.com/?p=1 sebaiknya dibuat menjadi lebih friendly seperti http://thinkrooms.com/post/1. Hal ini akan membuat bot search engine menganggap konten halaman tersebut adalah konten statis sehingga dimasukkan ke dalam indexing. Bila menggunakan karakter ? pada URL maka search engine menganggap bahwa halaman tersebut bersifat dinamis alias bukan konten tetap sehingga besar kemungkinan tidak dimasukkan ke dalam indexing.</li>
<li>Makin tua suatu web maka web tersebut akan lebih dianggap berbobot oleh search engine.</li>
<li>Hindari tampilan berbeda pada URL yang sama. Terkadang kita menyajikan tampilan yang berbeda bila akses dari browser atau dari handphone. Hal ini akan membuat search engine kesulitan mengindeks website anda karena terdapat 2 konten yang berbeda pada 1 URL. Sebaiknya gunakan URL yang berbeda untuk tiap tampilan. Seperti facebook yang menggunakan url  m.facebook.com untuk tampilan mobile phone.</li>
</ol>
<p>Itulah teknik-teknik dasar SEO yang bila diimplementasikan dengan baik maka akan membantu website anda muncul pada hasil pencarian dengan keyword yang sesuai dengan website anda. Semoga membantu.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=58&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2008/04/19/dasar-dasar-search-engine-optimizing-seo/feed/</wfw:commentRss>
		<slash:comments>23</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>Kolaborasi Web Designer, Programmer, dan Database Designer menggunakan Prado.</title>
		<link>http://www.thinkrooms.com/2007/11/19/kolaborasi-web-designer-programmer-dan-database-designer-menggunakan-prado/</link>
		<comments>http://www.thinkrooms.com/2007/11/19/kolaborasi-web-designer-programmer-dan-database-designer-menggunakan-prado/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 02:02:06 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[IT Solution]]></category>
		<category><![CDATA[Prado Framework]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Developer]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/2007/11/19/kolaborasi-web-designer-programmer-dan-database-designer-menggunakan-prado/</guid>
		<description><![CDATA[Sejak pembicaraan proyek dengan Mas Anton, salah satu pengguna Prado dari Indonesia saya ingin menulis bagaimana cara kolaborasi team antar Web Designer, Programmer, dan Database Designer. Di Indonesia orang masih memandang ketiga profesi di atas tidak berbeda jauh. Terkadang perusahaan atau pemberi proyek mencari profesional IT yang harus memiliki ketiga kemampuan diatas. Kenapa? Mereka ingin [...]]]></description>
			<content:encoded><![CDATA[<p>Sejak pembicaraan proyek dengan Mas Anton, salah satu pengguna Prado dari Indonesia saya ingin menulis bagaimana cara kolaborasi team antar Web Designer, Programmer, dan Database Designer. Di Indonesia orang masih memandang ketiga profesi di atas tidak berbeda jauh. Terkadang perusahaan atau pemberi proyek mencari profesional IT yang harus memiliki ketiga kemampuan diatas. Kenapa? Mereka ingin menghemat pengeluaran dengan membayar 1 orang untuk melakukan 3 pekerjaan diatas. Padahal untuk memperoleh hasil yang lebih maksimal maka pemisahan kerja wajib dilakukan. Hal ini akan memberi kesempatan pada profesional IT untuk lebih berkonsentrasi pada bidang yang lebih disukai.<span id="more-38"></span></p>
<p>Bank NISP salah satu perusahaan yang memperoleh hasil dari pengkategorian pekerjaan. Dengan cepat mereka berkembang dan menjadi salah satu Bank dengan perkembangan yang sangat pesat di Indonesia. Mereka bahkan membayar profesional IT yang kerjaannya cuman memikirkan ide bagus apa yang bisa diimplementasi di perusahaan mereka. Bukan untuk mengerjakan sesuatu. Hal ini membuat mereka dengan cepat melakukan update teknologi dalam perusahaan karena setiap bulan mereka memperoleh ide baru tentang update teknologi yang berkembang sangat cepat.</p>
<p>Saya rasa cukup gambaran pentingnya pembagian kerja yang baik, dan kenapa kerja team lebih baik daripada kerja individual. Di Prado pengembangan aplikasi web based sangat memungkinkan dilakukan pembagian kerja. Dengan sifat Prado yang memisahkan business logic dan presentation logic membuat kita dapat bekerja team langsung secara berbarengan. Seperti yang kita tahu bahwa alur pengembangan aplikasi adalah seperti berikut:</p>
<ol>
<li>Requirement (Project Manager)</li>
<li>Analisa (System Analyst)</li>
<li>Desain (System Analyst, Web Designer, Programmer, dan Database Designer)</li>
<li>Implementasi (Web Designer, Programmer, Database Designer)</li>
<li>Testing</li>
<li>Maintenance</li>
</ol>
<p>saya langsung membahas pada sisi implementasi yaitu pembuatan aplikasi berdasarkan hasil analisa dan desain. Berikut skenario kolaborasi menurut pemikiran saya:</p>
<ol>
<li>Karena dokumen desain telah ada, maka web designer, programmer, dan, database designer tidak perlu saling menunggu. Mereke dapat langsung memulai pekerjaan masing-masing berdasarkan desain yang telah ada. Bila ada perubahan maka bisa meminta System Analyst untuk melakukan perubahan.</li>
<li>Pembagian kerja dengan Prado adalah sebagai berikut:
<ul>
<li>Web Designer melakukan perancangan tampilan XHTML + CSS berdasarkan dokumen desain yang ada dan mempersiapkan layout component template Prado yaitu file TPL, dan PAGE.</li>
<li>Programmer membuat kode program berdasarkan business logic yang ada. Bila membutuhkan perubahan template maka bisa memberitahu pada web designer.</li>
<li>Database designer merancang dan membuat query SQL yang dibutuhkan programmer menggunakan feature Prado SQL MAP sehingga memudahkan programmer dalam menampilkan data yang diinginkan.</li>
</ul>
<p>Dari skenario di atas maka diagram kolaborasi bisa di gambarkan seperti berikut:</p>
<p align="center">SQLMAP    &lt;==========&gt; PHP   &lt;=========&gt; PAGE/TPL<br />
DB DESIGNER                PROGRAMMER          WEB DESIGNER</li>
</ol>
<p>Demikian skenario kolaborasi pengerjaan suatu aplikasi web menurut pemikiran saya. Skenario di atas adalah kolaborasi paling sederhana dan tidak menggunakan metode-metode pengembangan aplikasi seperti Agile, Extreme, USDP, RUP, Prototype, atau metode lainnya yang banyak kita peroleh di bangku kuliah. Improvisasi dan Kreatifitas diperlukan agar membuat metode sederhana diatas dapat berjalan dengan baik. Mohon maaf bila ada penggunaan bahasa yang tidak cocok atau tidak dapat dimengerti. Mohon saran dan kritik bila ada yang salah. Terima kasih.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=38&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2007/11/19/kolaborasi-web-designer-programmer-dan-database-designer-menggunakan-prado/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>
		<item>
		<title>Set up OpenVPN di Ubuntu Server 7.04</title>
		<link>http://www.thinkrooms.com/2007/08/09/set-up-openvpn-di-ubuntu-server-704/</link>
		<comments>http://www.thinkrooms.com/2007/08/09/set-up-openvpn-di-ubuntu-server-704/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 05:48:15 +0000</pubDate>
		<dc:creator>tyohan</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://thinkrooms.com/?p=23</guid>
		<description><![CDATA[Ini merupakan tutorial bagaimana set up OpenVPN di server Ubuntu Feisty. Sebelum melakukan set up pastikan Ubuntu Server sudah terinstal dan berjalan dengan baik. Untuk melakukan instalasi OpenVPN pastikan beberapa dependency package sudah terinstall. Biasanya sih ubuntu akan otomatis menginstall package lain yang dibutuhkan. Namun bila paket yang dibutuhkan tidak terinstall secara otomatis maka bisa [...]]]></description>
			<content:encoded><![CDATA[<p>Ini merupakan tutorial bagaimana set up OpenVPN di server Ubuntu Feisty. Sebelum melakukan set up pastikan Ubuntu Server sudah terinstal dan berjalan dengan baik. Untuk melakukan instalasi OpenVPN pastikan beberapa dependency package sudah terinstall. Biasanya sih ubuntu akan otomatis menginstall package lain yang dibutuhkan. Namun bila paket yang dibutuhkan tidak terinstall secara otomatis maka bisa dilakukan installasi manual. Paket yang dibutuhkan adalah openssl, lzo, pam. OpenSSL untuk kebutuhan enkripsi data yang dikirim melalui jaringan, LZO merupakan kompressor untuk mengkompress paket data yang dikirim sehingga ukuran paket yang dikirim lebih kecil dan lebih cepat. Sedangkan PAM biasanya sudah diinstall, merupakan paket untuk fungsi otentikasi lokal ke server Linux. Untuk installasi OpenVPN setelah semua siap lakukan langkah sebagai berikut:<span id="more-23"></span></p>
<ol>
<li>Install OpenVPN server, caranya ketik di terminal <span style="font-style: italic">&#8220;sudo apt-get install openvpn&#8221;</span>. Installasi akan mencari paket pada repository, bila tidak tersedia secara lokal atau pada CD installer maka harus terhubung ke internet agar installer dapat mendownload paket yang dibutuhkan. Installasi akan berjalan tunggu hingga selesai.</li>
<li>Copy file contoh dari folder document OpenVPN ke folder konfigurasi OpenVPN. Caranya ketik di terminal<br />
<code>sudo cp -R /usr/share/doc/openvpn/example /etc/openvpn/</code></li>
<li>Masuk ke folder example yang telah di copy ke folder konfigurasi OpenVPN. Caranya ketik di terminal <code>cd /etc/openvpn/example</code></li>
<li>Setup Certificate Authority dan server key dimana sertifikat ini harus dimiliki oleh tiap client. Sertifikat merupakan file yang berfungsi sebagai kunci. tanpa file ini maka client tidak akan bisa terhubung. Cara setup sertifikat dan public key sebagai berikut:<br />
<code>sudo ./vars<br />
sudo ./clean-all<br />
sudo ./build-ca</code><br />
Perintah-perintah diatas akan mengenerate sertifikat dan key yang dibutuhkan.</li>
<li>Selain sertifikat dan public key diatas kita juga perlu menggenerate private key yang akan digunakan oleh server. Ketikkan perintah berikut di terminal<br />
<code>sudo ./build-key-server server</code>.<br />
Jawab yes dengan menekan tombol Ypada  pertanyaan<br />
<code>Sign the certificate? [y/n]</code><br />
dan<br />
<code>1 out of 1 certificate requests certified, commit? [y/n</code>].</li>
<li>Generate <a href="http://www.rsasecurity.com/rsalabs/node.asp?id=2248">Diffie Hellman</a> dengan perintah<br />
<code>sudo ./build-dh</code>.</li>
<li>Perintah-perintah diatas akan membuat folder keys pada folder saat ini yaitu<br />
<code>/etc/openvpn/examples/keys/</code><br />
folder ini dimiliki oleh root karena perintah dijalankan dengan sudo. Untuk itu kita perlu mengubah hak akses folder dengan perintah<br />
<code>sudo chmod -R 644 /etc/openvpn/example/keys</code></li>
<li>Copy file yang dibutuhkan ke folder utama konfigurasi openvpn yaitu dengan perintah<br />
<code>cd keys<br />
sudo cp ca.* /etc/openvpn<br />
sudo cp server.* /etc/openvpn<br />
sudo cp dh1024.pem /etc/openvpn<br />
</code></li>
<li>Buat file konfigurasi dengan nama server.conf di folder OpenVPN. Berikut contoh dengan menggunakan vim editor. Pada terminal ketik "sudo vim /etc/openvpn/server.conf". Bila muncul screen baru kosong tekan "A" untuk mode edit masukkan teks konfigurasi berikut:<code><br />
#plugin untuk membuat OpenVPN client login terlebih dahulu pada server sebelum terhubung<br />
plugin /usr/lib/openvpn/openvpn-auth-pam.so login<br />
#client private key tidak diperlukan karena menggunakan login local<br />
client-cert-not-required<br />
username-as-common-name<br />
#port yang digunakan server Openvpn, secara default berisi port 1194<br />
port 1194<br />
#Settingan protokol yang digunakan. Defaultnya adalah UDP<br />
#namun sebagian besar ISP memblok paket UDP<br />
#sehingga OpenVPN terkadang tidak bisa berjalan pada protokol UDP.<br />
#Ganti tcp-server dengan UDP bila hendak menggunakan protokol UDP.<br />
proto tcp-server<br />
#tipe virtual network yang digunakan, tun untuk tunnel, dan tap untuk bridge mode.<br />
dev tun<br />
#Settingan certificate dan key untuk server<br />
ca ca.crt<br />
cert server.crt<br />
key server.key<br />
dh dh1024.pem<br />
#Settingan untuk berjalan sebagai server<br />
#Secara otomatis server akan memiliki IP 10.131.1.1 dan sisanya untuk client<br />
server 10.22.1.0 255.255.255.0<br />
#Agar client yang terputus memperoleh ip yang sama maka data koneksi disimpan pd file<br />
ifconfig-pool-persist ipp.txt<br />
#memberikan routing ke client agar network di routing melalui vpn<br />
#sehingga client dapat mengakses network di belakan vpnserver<br />
push "route 10.22.1.0 255.255.255.0"<br />
#Settingan apakah client dapat saling terhubung atau tidak<br />
client-to-client<br />
keepalive 10 120<br />
#Setting agar koneksi dikompress dan algoritma LZO<br />
comp-lzo<br />
#Untuk keamanan maka aplikasi diubah running user &amp; groupnya<br />
user nobody<br />
group nogroup<br />
persist-key<br />
persist-tun<br />
status openvpn-status.log<br />
verb 3<br />
</code><br />
Setelah selesai tekan "escape" untuk kembali ke mode normal, lalu tekan ":wq" agar keluar dari vim editor dan menyimpan file.</li>
<li>Jalankan openvpn dengan perintah<br />
<code>sudo /etc/init.d/openvpn start</code>.</li>
</ol>
<p>Konfigurasi server sudah selesai. Kita sisa melakukan konfigurasi klien. Saya membahas client windows karena sebagian besar client masih menggunakan windows. Berikut langkah konfigurasi klien VPN:</p>
<ol>
<li>Download OpenVPN GUI dari <a href="http://openvpn.se/download.html">http://openvpn.se/download.html</a></li>
<li>Install hingga selesai.</li>
<li>Buat file konfigurasi klien di folder default OpenVPN di "C:\Program Files\OpenVPN\config\". Caranya buka notepad dan masukkan teks konfigurasi seperti contoh berikut:<br />
<code><br />
#Setting agar user memasukkan user dan password<br />
auth-user-pass<br />
#Setting agar bertindak sebagai client<br />
client<br />
#Tipe device dan protokol yang digunakan<br />
dev tun<br />
proto tcp-client<br />
#Alamat &amp; port remote server OpenVPN yang akan diakses<br />
#Ganti x.x.x.x dengan alamat publik server OpenVPN<br />
remote x.x.x.x 1194<br />
resolv-retry infinite<br />
nobind<br />
persist-key<br />
persist-tun<br />
#Settingan agar menggunakan sertifikat CA<br />
#yang akan dibandingkan dengan server<br />
ca ca.crt<br />
ns-cert-type server<br />
#Settingan untuk kompresi data<br />
comp-lzo<br />
verb 3<br />
</code><br />
Simpan dengan nama client.ovpn di folder config Openvpn.</li>
<li>Jalankan openvpn GUI lalu pada icon OpenVPN Gui di tray klik kanan-&gt;Connect. Masukkan username dan password user lokal pada server OpenVPN.</li>
<li>Bila tidak ada masalah maka client akan terhubung dengan server.</li>
</ol>
<p>Demikian tutorial set up OpenVPN. Untuk lebih jelas sebaiknya menggunakan <a href="http://openvpn.net/man.html">manual openvpn</a> dan <a href="http://openvpn.net/howto.html">howto openvpn</a>. Tutorial ini cuma memberi langkah praktis. Saya memilih settingan tidak menggunakan private key untuk tiap klien. Tapi menggunakan autentikasi ke server OpenVPN menggunakan account local pada server. Tiap klien yang terhubung harus memiliki user name local yang berbeda agar tidak terjadi bentrok saat terhubung dengan server. Semoga tutorial ini bisa membantu.</p>
<img src="http://www.thinkrooms.com/?ak_action=api_record_view&id=23&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.thinkrooms.com/2007/08/09/set-up-openvpn-di-ubuntu-server-704/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.589 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-07-31 04:51:29 -->
