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

<channel>
	<title>Sorsawo Journal &#187; Programming</title>
	<atom:link href="http://www.sorsawo.com/journal/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sorsawo.com/journal</link>
	<description>Sorsawo Journal, Wahana Belajar Linux dan Open Source Software</description>
	<pubDate>Mon, 30 Jun 2008 16:55:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Mencicipi Lezatnya CakePHP</title>
		<link>http://www.sorsawo.com/journal/mencicipi-lezatnya-cakephp</link>
		<comments>http://www.sorsawo.com/journal/mencicipi-lezatnya-cakephp#comments</comments>
		<pubDate>Sun, 29 Jun 2008 01:41:04 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=261</guid>
		<description><![CDATA[
Saya yakin belum banyak yang tahu apa itu CakePHP. Hal ini wajar mengingat istilah ini baru muncul sekitar tahun 2005. Sesuai dengan namanya, CakePHP merupakan framework pemrograman web berbasis PHP. Berikut ini pernyataan yang dikutip dari situs CakePHP.Org.
&#8220;CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-262" title="cake-logo" src="http://www.sorsawo.com/journal/wp-content/uploads/2008/06/cake-logo.png" alt="CakePHP" width="180" height="180" /></p>
<p>Saya yakin belum banyak yang tahu apa itu <a href="http://cakephp.org/" target="_blank">CakePHP</a>. Hal ini wajar mengingat istilah ini baru muncul sekitar tahun 2005. Sesuai dengan namanya, CakePHP merupakan framework pemrograman web berbasis PHP. Berikut ini pernyataan yang dikutip dari situs CakePHP.Org.</p>
<p><em>&#8220;CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.&#8221;</em></p>
<p><span id="more-261"></span></p>
<p>CakePHP berawal dari sebuah framework kecil yang ditulis oleh Michal Tatarynowicz pada tahun 2005. Ia lalu mempublikasikan proyek tersebut di Internet. Hal ini ternyata mendapat tanggapan yang cukup bagus dari komunitas dan banyak yang tertarik untuk ikut mengembangkannya. Akhirnya proyek ini diberi nama CakePHP.</p>
<p>Ide dasar dari CakePHP ini adalah Ruby on Rails, suatu framework pemrograman web yang menggunakan bahasa Ruby. Dan seperti halnya beberapa framework web lainnya, CakePHP juga memakai arsitektur <a href="http://wikipedia.com/wiki/Model-view-controller" target="_blank">MVC (Model View Controller)</a>.</p>
<p>Berikut ini fitur-fitur yang dimiliki CakePHP:</p>
<ul>
<li>Model, View, Controller Architecture</li>
<li>Application Scaffolding</li>
<li>Code generation via Bake</li>
<li>Helpers for HTML, Forms, Pagination, AJAX, Javascript, XML, RSS and more</li>
<li>Access Control Lists and Authentication</li>
<li>Simple yet extensive validation of model data</li>
<li>Router for mapping urls and handling extensions</li>
<li>Security, Session, and RequestHandler Components</li>
<li>Utility classes for working with Files, Folders, Arrays and more</li>
</ul>
<p>Sumber bacaan:</p>
<ul>
<li><a href="http://cakephp.org/" target="_blank">CakePHP.Org</a></li>
<li><a href="http://bakery.cakephp.org/" target="_blank">Cake Bakery</a></li>
<li><a href="http://book.cakephp.org/" target="_blank">Cookbook</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/mencicipi-lezatnya-cakephp/feed</wfw:commentRss>
		</item>
		<item>
		<title>Pilih Desktop atau Web Application</title>
		<link>http://www.sorsawo.com/journal/pilih-desktop-atau-web-application</link>
		<comments>http://www.sorsawo.com/journal/pilih-desktop-atau-web-application#comments</comments>
		<pubDate>Sat, 14 Jun 2008 05:53:01 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=245</guid>
		<description><![CDATA[Dulu sebelum teknologi World Wide Web menjadi populer seperti sekarang ini, jika kita ingin mengembangkan software, yang terlintas di benak kita pastilah aplikasi desktop.
Namun kini tidak hanya desktop saja. Ada banyak alternatif yang bisa kita ambil. Misalnya saja aplikasi berbasis web atau yang biasa dikenal dengan sebutan web application.
Dengan perkembangan teknik AJAX yang kian canggih, [...]]]></description>
			<content:encoded><![CDATA[<p>Dulu sebelum teknologi World Wide Web menjadi populer seperti sekarang ini, jika kita ingin mengembangkan software, yang terlintas di benak kita pastilah aplikasi desktop.</p>
<p>Namun kini tidak hanya desktop saja. Ada banyak alternatif yang bisa kita ambil. Misalnya saja aplikasi berbasis web atau yang biasa dikenal dengan sebutan web application.</p>
<p>Dengan perkembangan teknik AJAX yang kian canggih, kini kita bisa mengembangkan aplikasi web dengan mudah dan cepat. Tidak hanya itu, saat ini aplikasi web yang dikembangkan dengan AJAX merupakan pesaing berat bagi software desktop.</p>
<p><span id="more-245"></span></p>
<p>Anda tahu Google? Google merupakan perusahaan dotcom yang paling gencar dalam mengembangkan aplikasi berbasis web. Banyak sekali web application yang sukses dikembangkan oleh Google.</p>
<p>Kebanyakan aplikasi yang dibuat oleh Google memakai teknik AJAX di dalamnya. Misalnya saja GMail, Google Docs dan Google Calendar.</p>
<p>Apa saja keunggulan web application dibandingkan desktop application?</p>
<p><strong>Platform Sistem Operasi</strong></p>
<p>Web application adalah aplikasi yang berjalan di browser. Itu berarti hampir semua platform sistem operasi memungkinkan untuk menjalankan aplikasi web. Hanya diperlukan sebuah browser untuk menjalankannya.</p>
<p>Apakah aplikasi desktop hanya bisa dijalankan di satu platform saja? Tidak juga. Anda tahu bahasa Java? Java merupakan bahasa pemrograman yang bisa dipakai untuk mengembangkan aplikasi desktop yang bersifat multiplatform.</p>
<p>Namun Java ini memiliki kelemahan, yaitu membutuhkan resource CPU dan memori yang sangat besar. Itu sebabnya aplikasi desktop dengan bahasa Java kurang begitu populer.</p>
<p><strong>Distribusi Aplikasi</strong></p>
<p>Aplikasi desktop harus diinstall satu persatu di komputer yang dipakai untuk menjalankan aplikasi tersebut. Tidak demikian halnya dengan aplikasi web. Aplikasi web hanya perlu dipasang di web server saja. Sedangkan di sisi client/pengguna hanya perlu web browser untuk mengaksesnya.</p>
<p>Selain itu apabila di kemudian hari terjadi perubahan atau update terhadap aplikasi, yang perlu diperbarui hanya aplikasi di komputer server saja. Jadi lebih mudah dalam maintenance.</p>
<p><strong>Kecepatan Akses</strong></p>
<p>Aplikasi desktop lebih cepat dibandingkan dengan aplikasi web. Itu jelas, karena aplikasi desktop berjalan di komputer lokal. Namun dengan adanya AJAX, kecepatan akses aplikasi berbasis web bisa meningkat cukup signifikan, tidak kalah dengan aplikasi desktop.</p>
<p>Apakah itu berarti kita tidak memerlukan aplikasi desktop lagi?</p>
<p>Jelas kita masih memerlukannya. Ada beberapa fungsi desktop yang tidak bisa digantikan dengan aplikasi web. Contohnya web browser. Bisakah membuat browser yang berbasis web? Rasanya kok susah sekali.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/pilih-desktop-atau-web-application/feed</wfw:commentRss>
		</item>
		<item>
		<title>URL Rewriting Ala WordPress (Bagian 1)</title>
		<link>http://www.sorsawo.com/journal/url-rewriting-ala-wordpress-bagian-1</link>
		<comments>http://www.sorsawo.com/journal/url-rewriting-ala-wordpress-bagian-1#comments</comments>
		<pubDate>Mon, 02 Jun 2008 00:18:37 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=233</guid>
		<description><![CDATA[Melanjutkan tulisan saya terdahulu tentang Panduan URL Rewriting, saya ingin mengulas sedikit tentang metode URL rewriting yang dipakai oleh WordPress dan juga beberapa CMS lainnya. Di WordPress, mereka menyebutnya dengan istilah permalink (dan slug).
Agar lebih jelas tulisan ini akan saya pecah menjadi beberapa bagian. Saya belum bisa memastikan akan menjadi berapa bagian. Silakan Anda ikuti [...]]]></description>
			<content:encoded><![CDATA[<p>Melanjutkan tulisan saya terdahulu tentang <a href="http://www.sorsawo.com/journal/panduan-url-rewriting" target="_blank">Panduan URL Rewriting</a>, saya ingin mengulas sedikit tentang metode <em>URL rewriting</em> yang dipakai oleh WordPress dan juga beberapa CMS lainnya. Di WordPress, mereka menyebutnya dengan istilah <em>permalink</em> (dan slug).</p>
<p>Agar lebih jelas tulisan ini akan saya pecah menjadi beberapa bagian. Saya belum bisa memastikan akan menjadi berapa bagian. Silakan Anda ikuti saja terus pembahasannya di blog ini.</p>
<p>Kalau kita lihat struktur URL Rewriting yang dipakai oleh WordPress (dan beberapa CMS lain) sepertinya sangat sederhana. Ya, memang benar aturannya teramat sangat pendek dan sederhana. Hanya terdiri dari beberapa baris saja.</p>
<p><span id="more-233"></span></p>
<p>Akan tetapi coba Anda tengok source code pemrogramannya. Sangat rumit dan kompleks sekali. Banyak sekali aturan-aturan <em>regular expression</em> yang dipakai.</p>
<p>Berikut ini adalah cuplikan file .htaccess yang dibuat oleh WordPress:</p>
<div class="syntax_hilite">
<div id="code-2">
<div class="code" style="font-family: monospace;"># BEGIN WordPress<br />
&lt;IfModule mod_rewrite.<span style="">c</span>&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %<span style="color:#006600; font-weight:bold;">&#123;</span>REQUEST_FILENAME<span style="color:#006600; font-weight:bold;">&#125;</span> !-f<br />
RewriteCond %<span style="color:#006600; font-weight:bold;">&#123;</span>REQUEST_FILENAME<span style="color:#006600; font-weight:bold;">&#125;</span> !-d<br />
RewriteRule . /index.<span style="">php</span> <span style="color:#006600; font-weight:bold;">&#91;</span>L<span style="color:#006600; font-weight:bold;">&#93;</span><br />
&lt;/IfModule&gt;<br />
# END WordPress</div>
</div>
</div>
<p></p>
<p>Isi file .htaccess di WordPress akan berisi baris-baris seperti di atas, apabila kita mengeset <strong>Permalinks </strong>dibagian <strong>Settings</strong>. Gambar di bawah ini adalah cuplikannya.</p>
<p><img class="alignnone size-full wp-image-234" title="permalink" src="http://www.sorsawo.com/journal/wp-content/uploads/2008/05/permalink.jpg" alt="permalink" width="450" height="45" /></p>
<p>Mungkin Anda bertanya-tanya, kenapa aturan yang diterapkan di dalam file .htaccess sangat berbeda dengan tulisan sebelumnya.</p>
<p>Seperti yang Anda lihat pada cuplikan source file htaccess diatas, WordPress menggunakan fungsi <strong>RewriteCond</strong> dan <strong>RewriteRule</strong> untuk mengarahkan URL ke halaman web yang sesungguhnya.</p>
<p>Maksud dari kedua pernyataan <strong>RewriteCond</strong> diatas adalah jika request yang diterima bukan berupa file atau direktori maka request tersebut akan diteruskan ke file index.php.</p>
<p>Nah, selanjutnya oleh class <strong>WP_Rewrite</strong> (ada di <em>wp-include/rewrite.php</em> yang di-include di file index.php) request tersebut akan diperiksa dan diarahkan ke halaman web yang dimaksud.</p>
<p>Tambah bingung? Tenang saja, pada tulisan mendatang akan saya jelaskan lebih detil lagi apa makna dari struktur di atas. Untuk sementara itu dulu dan tunggu pembahasan selanjutnya di blog ini.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/url-rewriting-ala-wordpress-bagian-1/feed</wfw:commentRss>
		</item>
		<item>
		<title>Tips Mengkompilasi Program C++</title>
		<link>http://www.sorsawo.com/journal/tips-mengkompilasi-program-c</link>
		<comments>http://www.sorsawo.com/journal/tips-mengkompilasi-program-c#comments</comments>
		<pubDate>Tue, 13 May 2008 03:10:38 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=203</guid>
		<description><![CDATA[Anda pernah mendengar bahasa pemrograman C/C++? Yah, bahasa ini memang tergolong bahasa pemrograman yang cukup tua. Meskipun demikian bahasa ini sangat ampuh, terutama bila dipakai untuk memprogram perangkat keras (device driver).
Bagi yang sering membuat program untuk platform Windows, pasti tahu kompiler yang dipakai untuk mengkompilasi C++ ini. Antara lain Microsoft Visual C++, Borland C++, Turbo [...]]]></description>
			<content:encoded><![CDATA[<p>Anda pernah mendengar bahasa pemrograman C/C++? Yah, bahasa ini memang tergolong bahasa pemrograman yang cukup tua. Meskipun demikian bahasa ini sangat ampuh, terutama bila dipakai untuk memprogram perangkat keras (<em>device driver</em>).</p>
<p>Bagi yang sering membuat program untuk platform Windows, pasti tahu kompiler yang dipakai untuk mengkompilasi C++ ini. Antara lain Microsoft Visual C++, Borland C++, Turbo C++, dan masih banyak lagi yang lainnya.</p>
<p>Bagaimana cara mengkompilasi program C++ pada sistem operasi Linux? Di Linux, program C++ biasanya dikompilasi dengan <strong>g++</strong>, yaitu kompiler yang termasuk dalam paket <strong>GCC </strong>(<em>GNU Compiler Collection</em>).</p>
<p><span id="more-203"></span></p>
<p>Pada distro Ubuntu, paket software ini belum terinstall secara default. Kita perlu menginstall terlebih dulu paket <strong>build-essential</strong> dengan perintah:</p>
<div class="syntax_hilite">
<div id="bash-10">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> build-essential</div>
</div>
</div>
<p></p>
<p>Perintah tersebut secara otomatis akan menginstall program <strong>gcc</strong>, <strong>g++</strong>, dan <strong>make</strong> pada sistem Linux kita. Dengan catatan kita harus terhubung dengan Internet jika pakai perintah diatas.</p>
<p>Namun jika tidak ada akses Internet, kita masih bisa menginstall-nya secara manual setelah mendownload paket software tersebut.</p>
<p>Berikut ini langkah-langkah untuk mengkompilasi program C++ dengan <strong>g++</strong>.</p>
<p><strong>Langkah Pertama</strong></p>
<p>Buat program dengan teks editor misalnya<strong> vi</strong> atau <strong>mcedit</strong>. Simpan dengan ekstensi <strong>.cpp</strong>, <strong>.cc</strong>, atau <strong>.C</strong>. Ingat bahwa di Linux nama file sifatnya <em>case-sensitive</em>.</p>
<p>Misalnya kita akan membuat program untuk menampilkan tulisan "Hello World" seperti kode dibawah ini.</p>
<div class="syntax_hilite">
<div id="cpp-11">
<div class="cpp" style="font-family: monospace;"><span style="color: #339900;">#include &lt;iostream&gt;;</span></p>
<p><span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std;</p>
<p><span style="color: #0000ff;">int</span> main<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><br />
<span style="color: #000000;">&#123;</span><br />
  <span style="color: #0000dd;">cout</span> &lt;&lt; <span style="color: #666666;">&quot;Hello World&quot;</span>;<br />
  <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span>;<br />
<span style="color: #000000;">&#125;</span></div>
</div>
</div>
<p></p>
<p><strong>Langkah Kedua</strong></p>
<p>Setelah program jadi kita bisa mengkompilasi program tersebut dengan cara:</p>
<div class="syntax_hilite">
<div id="bash-12">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ <span style="color: #c20cb9; font-weight: bold;">g++</span> hello.<span style="color: #c20cb9; font-weight: bold;">cpp</span></div>
</div>
</div>
<p></p>
<p>Perintah tersebut akan mengkompilasi program <strong>hello.cpp</strong> menjadi file executable. Pada Linux file executable tersebut otomatis akan diberi nama <strong>a.out</strong>.</p>
<p><strong>Langkah Ketiga</strong></p>
<p>Setelah kompilasi berhasil , kita bisa menjalankan program tersebut dengan cara:</p>
<div class="syntax_hilite">
<div id="bash-13">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ ./a.out</div>
</div>
</div>
<p></p>
<p>Tidak terlalu sulit bukan?</p>
<p>Selain cara diatas, jika kita ingin memberi nama lain pada file executable-nya, kita bisa menggunakan perintah sebagai berikut:</p>
<div class="syntax_hilite">
<div id="bash-14">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ <span style="color: #c20cb9; font-weight: bold;">g++</span> -o hello hello.<span style="color: #c20cb9; font-weight: bold;">cpp</span></div>
</div>
</div>
<p></p>
<p>Perintah tersebut akan mengkompilasi program <strong>hello.cpp</strong> menjadi file executable yang bernama <strong>hello</strong>. Nah, kita bisa menjalankannya dengan cara:</p>
<div class="syntax_hilite">
<div id="bash-15">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ ./hello</div>
</div>
</div>
<p></p>
<p>Masih banyak alternatif lain dalam menggunakan g++. Selengkapnya bisa Anda lihat di manual g++ dengan cara:</p>
<div class="syntax_hilite">
<div id="bash-16">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ <span style="color: #c20cb9; font-weight: bold;">man</span> <span style="color: #c20cb9; font-weight: bold;">g++</span></div>
</div>
</div>
<p></p>
<p>Selain dengan cara manual (berbasis <em>command line</em>), kita juga bisa mengedit dan mengkompilasi program C++ dengan IDE khusus. Tapi ini tidak akan kita bahas pada tulisan ini.</p>
<p>Selamat mencoba.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/tips-mengkompilasi-program-c/feed</wfw:commentRss>
		</item>
		<item>
		<title>Panduan Menulis Shell Script</title>
		<link>http://www.sorsawo.com/journal/panduan-menulis-shell-script</link>
		<comments>http://www.sorsawo.com/journal/panduan-menulis-shell-script#comments</comments>
		<pubDate>Mon, 12 May 2008 00:56:07 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=183</guid>
		<description><![CDATA[Pada tulisan terdahulu telah dibahas apa dan bagaimana pemrograman berbasis shell itu. Nah, sekarang saatnya kita belajar bagaimana menulis dan menjalankan kode program.
Untuk tahap awal kita akan mencoba menulis kode program yang sederhana. Kita akan membuat program untuk menampilkan teks "Belajar pemrograman shell" pada layar komputer.
Langkah Pertama
Jalankan teks editor (misalnya vi, pico, gedit, atau mcedit) [...]]]></description>
			<content:encoded><![CDATA[<p>Pada <a title="Membuat Program Pakai Shell, Why Not?" href="http://www.sorsawo.com/journal/membuat-program-pakai-shell-why-not">tulisan terdahulu</a> telah dibahas apa dan bagaimana pemrograman berbasis shell itu. Nah, sekarang saatnya kita belajar bagaimana menulis dan menjalankan kode program.</p>
<p>Untuk tahap awal kita akan mencoba menulis kode program yang sederhana. Kita akan membuat program untuk menampilkan teks "Belajar pemrograman shell" pada layar komputer.</p>
<p><strong>Langkah Pertama</strong></p>
<p>Jalankan teks editor (misalnya vi, pico, gedit, atau mcedit) dan ketikkan baris program berikut:</p>
<div class="syntax_hilite">
<div id="bash-20">
<div class="bash" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">#!/bin/sh</span></p>
<p><span style="color: #c20cb9; font-weight: bold;">clear</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Belajar pemrograman shell&quot;</span></div>
</div>
</div>
<p></p>
<p>Simpan program dengan nama <strong>my_program</strong>.</p>
<p><span id="more-183"></span></p>
<p><strong>Langkah Kedua</strong></p>
<p>Sebelum dieksekusi, ubah dulu <em>file permission</em> untuk file <strong>my_program</strong> menjadi executable.</p>
<div class="syntax_hilite">
<div id="bash-21">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x my_program</div>
</div>
</div>
<p></p>
<p>Setting <em>file permission</em> ini cukup dilakukan sekali saja. Nantinya apabila kita mengedit file my_program, kita tidak perlu mengubah <em>file permission</em> lagi.</p>
<p><strong>Langkah Ketiga</strong></p>
<p>Jalankan program dengan cara:</p>
<div class="syntax_hilite">
<div id="bash-22">
<div class="bash" style="font-family: monospace;">bowo@sorsawo:~$ ./my_program</div>
</div>
</div>
<p></p>
<p>Bagaimana, sangat mudah bukan?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/panduan-menulis-shell-script/feed</wfw:commentRss>
		</item>
		<item>
		<title>Membuat Program Pakai Shell, Why Not?</title>
		<link>http://www.sorsawo.com/journal/membuat-program-pakai-shell-why-not</link>
		<comments>http://www.sorsawo.com/journal/membuat-program-pakai-shell-why-not#comments</comments>
		<pubDate>Thu, 24 Apr 2008 14:20:48 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=174</guid>
		<description><![CDATA[Anda tahu apa itu shell? Meskipun hanya sekumpulan program sederhana, bisa dikatakan shell merupakan bahasa pemrograman yang cukup bagus. Shell bisa dipakai untuk membuat program yang berbasis teks.
Wajib hukumnya bagi sistem administrator untuk menguasai bahasa pemrograman yang satu ini. Karena dalam pekerjaannya ia akan sering berurusan dengan shell.
Ada banyak shell yang bisa dijalankan di Linux, [...]]]></description>
			<content:encoded><![CDATA[<p>Anda tahu apa itu shell? Meskipun hanya sekumpulan program sederhana, bisa dikatakan shell merupakan bahasa pemrograman yang cukup bagus. Shell bisa dipakai untuk membuat program yang berbasis teks.</p>
<p>Wajib hukumnya bagi sistem administrator untuk menguasai bahasa pemrograman yang satu ini. Karena dalam pekerjaannya ia akan sering berurusan dengan shell.</p>
<p>Ada banyak shell yang bisa dijalankan di Linux, namun yang sering dipakai adalah <a title="Bourne Again Shell" href="http://www.sorsawo.com/journal/bourne-again-shell">Bash Shell</a>. Karena shell merupakan bahasa interpreter, jadi tidak perlu dikompilasi. Script bisa langsung dijalankan melalui terminal.</p>
<p>Pemrograman shell sangat cocok dipakai untuk keperluan administrasi sistem karena prosesnya cukup mudah dan cepat. Ada beberapa tugas administrasi yang biasanya memakai shell script, antara lain:</p>
<ul>
<li>Konfigurasi sistem</li>
<li>Membuat prototype program</li>
<li><em>Backup</em> dan <em>maintenance</em> sistem</li>
<li>Instalasi program (berbasis teks)</li>
<li>Untuk menjalankan tugas (<em>task</em>) secara otomatis</li>
</ul>
<p><span id="more-174"></span></p>
<p>Kita tidak memerlukan tool atau IDE yang canggih untuk menulis shell script. Cukup dengan editor teks seperti <strong>vim</strong>, <strong>pico</strong> atau <strong>mcedit</strong> kita sudah bisa membuat program.</p>
<p>Tentu saja editor yang dilengkapi dengan fitur  <em>syntax highlight</em> dan <em>code completion</em> pasti akan lebih membantu. Setidaknya membantu mengingat fungsi-fungsi yang terdapat pada shell tersebut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/membuat-program-pakai-shell-why-not/feed</wfw:commentRss>
		</item>
		<item>
		<title>Perlukah Kita Memakai AJAX?</title>
		<link>http://www.sorsawo.com/journal/perlukah-kita-memakai-ajax</link>
		<comments>http://www.sorsawo.com/journal/perlukah-kita-memakai-ajax#comments</comments>
		<pubDate>Wed, 19 Dec 2007 11:38:57 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=187</guid>
		<description><![CDATA[Popularitas AJAX menanjak seiring dengan perkembangan Web 2.0. Banyak sekali aplikasi web masa kini yang dikembangkan dengan teknologi AJAX. Misalnya saja Google Map, Google  Suggest, Yahoo!, Flickr, GMail, dan sebagainya.
Yang menjadi pertanyaan,  perlukah kita melengkapi website kita dengan fitur AJAX?
Boleh saja memakai AJAX, asal disesuaikan dengan tujuan dari website tersebut. Jangan sampai pemakaiannya [...]]]></description>
			<content:encoded><![CDATA[<p>Popularitas AJAX menanjak seiring dengan perkembangan Web 2.0. Banyak sekali aplikasi web masa kini yang dikembangkan dengan teknologi AJAX. Misalnya saja <a title="Google Map" href="http://maps.google.com/" target="_blank">Google Map</a>, <a title="Google Suggest" href="http://www.google.com/webhp?complete=1&amp;hl=en" target="_blank">Google  Suggest</a>, <a title="Yahoo.Com" href="http://www.yahoo.com" target="_blank">Yahoo!</a>, <a title="Flickr.Com" href="http://www.flickr.com/" target="_blank">Flickr</a>, <a title="GMail" href="http://www.gmail.com" target="_blank">GMail</a>, dan sebagainya.</p>
<p>Yang menjadi pertanyaan,  perlukah kita melengkapi website kita dengan fitur AJAX?</p>
<p>Boleh saja memakai AJAX, asal disesuaikan dengan tujuan dari website tersebut. Jangan sampai pemakaiannya justru merugikan kita sendiri. Kenapa bisa seperti itu? Ini semua terkait dengan karakteristik AJAX itu sendiri.</p>
<p>Salah satu karakteristik AJAX adalah <em>less machine readable</em>. Itu  artinya <em>search-engine</em> akan kesulitan untuk mengindeks website yang dibuat dengan  AJAX. Efeknya adalah jika kita hanya mengandalkan <em>search engine</em> untuk promosi pastilah  pengunjung yang didapat hanya sedikit sekali.</p>
<p><span id="more-187"></span></p>
<p>Oleh karena itu kita perlu mempertimbangkan masak-masak perlu tidaknya menggunakan fitur AJAX di website kita. Jika terpaksa harus memakai AJAX, gunakan seperlunya saja, misalnya pada form registrasi, buku tamu, pencarian dan sebagainya.</p>
<p>Hindari sebisa mungkin penggunaan AJAX pada menu. Jika tidak bisa dihindari, sertakan pula menu berbasis teks dan sitemap agar mudah diindeks oleh search-engine.</p>
<p>Anda pernah membuka website Yahoo.Com? Website tersebut juga dilengkapi dengan fitur AJAX namun penggunaannya tidak membabi-buta. Hanya pada bagian-bagian tertentu saja yang menggunakan fitur tersebut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/perlukah-kita-memakai-ajax/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apa Itu AJAX?</title>
		<link>http://www.sorsawo.com/journal/apa-itu-ajax</link>
		<comments>http://www.sorsawo.com/journal/apa-itu-ajax#comments</comments>
		<pubDate>Mon, 17 Dec 2007 11:38:31 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=186</guid>
		<description><![CDATA[AJAX bukanlah bahasa pemrograman seperti halnya PHP, ASP, Java dan sebagainya, tapi hanya sebuah teknik untuk mengembangkan aplikasi web yang lebih interaktif, cepat dan responsif. AJAX sendiri adalah singkatan dari Asynchonous JavaScript and XML.
AJAX merupakan kombinasi dari beberapa teknologi web, yaitu:

HTML (HyperText Markup Language)
JavaScript
XML (eXtensible Markup Language)
DHTML (Dynamic HTML)
DOM (Document Object Model)

Transfer data antara browser [...]]]></description>
			<content:encoded><![CDATA[<p>AJAX bukanlah bahasa pemrograman seperti halnya PHP, ASP, Java dan sebagainya, tapi hanya sebuah teknik untuk mengembangkan aplikasi web yang lebih interaktif, cepat dan responsif. AJAX sendiri adalah singkatan dari <em>Asynchonous JavaScript and XML</em>.</p>
<p>AJAX merupakan kombinasi dari beberapa teknologi web, yaitu:</p>
<ul>
<li>HTML (HyperText Markup Language)</li>
<li>JavaScript</li>
<li>XML (eXtensible Markup Language)</li>
<li>DHTML (Dynamic HTML)</li>
<li>DOM (Document Object Model)</li>
</ul>
<p>Transfer data antara browser dan web server (<em>HTTP request</em>) terjadi  secara <em>asynchronous</em>. Hal inilah yang  memungkinkan halaman web untuk  me-<em>request</em> sejumlah kecil data dari server tanpa harus  me-<em>reload</em> keseluruhan halaman web.</p>
<p><span id="more-186"></span></p>
<p>Saat ini jika kita ingin mengembangkan aplikasi, ada dua pilihan yang bisa  kita ambil, yaitu:</p>
<ul>
<li>Aplikasi desktop <em>(desktop application)</em></li>
<li>Aplikasi web <em>(web application)</em></li>
</ul>
<p>Aplikasi desktop adalah aplikasi yang biasa kita install di komputer desktop, misalnya MS Office, Corel Draw, dan Photoshop. Aplikasi ini biasanya didistribusikan melalui CD atau dalam bentuk file yang bisa didownload dari Internet.</p>
<p>Sedangkan aplikasi web adalah aplikasi yang berjalan di web server dan diakses melalui web browser. Aplikasi desktop pada umumnya proses eksekusinya sangat cepat karena berjalan di komputer lokal. Sebaliknya, aplikasi web lebih lambat, karena harus menunggu <em>loading</em> dari server.</p>
<p>Salah satu keunggulan dari aplikasi web adalah pada distribusi aplikasi. Aplikasi web cukup diinstall di web server dan bisa diakses dari manapun melalui web browser. Lebih efisien dan lebih mudah di-<em>maintenance </em>daripada aplikasi desktop.</p>
<p>Nah, dengan teknik AJAX inilah kita bisa mengembangkan aplikasi web yang cepat dan responsif seperti halnya aplikasi desktop. Aplikasi web yang memiliki karakteristik seperti aplikasi desktop ini sering disebut dengan istilah <em>Rich Internet Application</em> (RIA).</p>
<p>Berikut ini contoh aplikasi web yang dikembangkan dengan teknik AJAX,  yaitu:</p>
<ul>
<li><a title="Google Map" href="http://maps.google.com/" target="_blank">Google Map</a></li>
<li><a title="Google Suggest" href="http://www.google.com/webhp?complete=1&amp;hl=en" target="_blank">Google  Suggest</a></li>
<li><a title="GMail" href="http://www.gmail.com" target="_blank">GMail</a></li>
<li><a title="Orkut.Com" href="http://www.orkut.com" target="_blank">Orkut</a></li>
<li><a title="Flickr.Com" href="http://www.flickr.com/" target="_blank">Flickr</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/apa-itu-ajax/feed</wfw:commentRss>
		</item>
		<item>
		<title>Pemrograman Web Berbasis Framework (Bagian 2)</title>
		<link>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-2</link>
		<comments>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-2#comments</comments>
		<pubDate>Sat, 15 Dec 2007 11:31:43 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=185</guid>
		<description><![CDATA[Di Internet kita bisa menemukan berbagai framework pemrograman web. Ada yang menggunakan bahasa pemrograman Java, PHP, Ruby atau Python. Hampir semuanya bisa kita download secara gratis. Saking banyaknya kita jadi bingung, framework apa yang sebaiknya kita pakai.
Kalau kita cermati sebenarnya fitur yang ditawarkan oleh masing-masing framework tersebut hampir sama. Hanya ada perbedaan kecil di antara [...]]]></description>
			<content:encoded><![CDATA[<p>Di Internet kita bisa menemukan berbagai framework pemrograman web. Ada yang menggunakan bahasa pemrograman Java, PHP, Ruby atau Python. Hampir semuanya bisa kita download secara gratis. Saking banyaknya kita jadi bingung, framework apa yang sebaiknya kita pakai.</p>
<p>Kalau kita cermati sebenarnya fitur yang ditawarkan oleh masing-masing framework tersebut hampir sama. Hanya ada perbedaan kecil di antara framework tersebut, itu pun tidak terlalu mendasar.</p>
<p>Ada 5 fitur yang biasanya terdapat pada framework, yaitu <em>database  access</em>, <em>authentication</em>, <em>data validation</em>, <em>data  sanitization</em>, dan <em>template system</em>. Beberapa framework bahkan ada yang  menyediakan API atau library  untuk AJAX.</p>
<p><span id="more-185"></span></p>
<p><strong>1. Database Access</strong></p>
<p>Sudah bukan jamannya lagi membangun web statis. Saat ini semuanya serba  dinamis. Untuk itu diperlukan adanya database. Fitur <em>database access</em> ini merupakan fitur yang sangat penting.</p>
<p><strong>2. Authentication</strong></p>
<p>Aspek <em>authentication</em> adalah isu yang sangat penting dalam pemrograman web. Hal ini berkaitan dengan gimana caranya mengembangkan aplikasi web yang aman.</p>
<p><strong>3. Data Validation</strong></p>
<p>Validasi diperlukan untuk memeriksa keabsahan data yang akan disimpan di database. Data haruslah valid, baik itu tipe datanya, format yang diijinkan, ukuran data, dan sebagainya.</p>
<p><strong>4. Data Sanitization</strong></p>
<p>Programmer seringkali melupakan hal yang satu ini, yaitu sanitasi data.  Apakah setiap <em>query</em> ke database tersebut benar-benar aman? Belum tentu, bisa jadi  <em>query</em> tersebut berisi kode yang bisa merusak database. Disinilah  pentingnya sanitasi data.</p>
<p><strong>5. Template System</strong></p>
<p>Seperti yang telah saya singgung di tulisan terdahulu, pada framework  tampilan itu terpisah dari <em>business rule</em>. Inilah yang membedakannya dengan  pemrograman web secara konvensional.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-2/feed</wfw:commentRss>
		</item>
		<item>
		<title>Pemrograman Web Berbasis Framework (Bagian 1)</title>
		<link>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-1</link>
		<comments>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-1#comments</comments>
		<pubDate>Wed, 12 Dec 2007 11:27:14 +0000</pubDate>
		<dc:creator>Wahyu Wibowo</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.sorsawo.com/journal/?p=184</guid>
		<description><![CDATA[Dulu sebelum pemrograman berbasis framework ini populer, web developer jika membuat  aplikasi web  melakukan coding secara prosedural. Kelemahannya adalah antara fungsi satu dengan yang lainnya kurang terintegrasi dengan baik.
Apalagi sering kali kode program menyatu dengan desain (tampilan) HTML. Jika aplikasi tersebut cukup sederhana hal itu tidak akan menjadi masalah. Namun jika sudah kompleks [...]]]></description>
			<content:encoded><![CDATA[<p>Dulu sebelum pemrograman berbasis framework ini populer, web developer jika membuat  aplikasi web  melakukan <em>coding</em> secara prosedural. Kelemahannya adalah antara fungsi satu dengan yang lainnya kurang terintegrasi dengan baik.</p>
<p>Apalagi sering kali kode program menyatu dengan desain (tampilan) HTML. Jika aplikasi tersebut cukup sederhana hal itu tidak akan menjadi masalah. Namun jika sudah kompleks akan sulit sekali untuk mengaturnya.</p>
<p>Di kemudian hari apabila kita ingin merubah logika sistem, kita harus mengobrak-abrik program tersebut. Akibatnya struktur aplikasi menjadi berantakan. Bisa dibilang hanya programmernya saja yang mengerti, programmer lain tidak akan paham dengan alur program. Tentu hal tersebut merepotkan bukan?</p>
<p><span id="more-184"></span></p>
<p>Nah, disinilah pentingnya penggunaan framework. Dalam terminologi framework, aplikasi dibagi menjadi beberapa lapisan  (<em>layer</em>). Masing-masing layer mempunyai tugas yang berbeda dan saling mendukung satu sama lain.</p>
<p>Kebanyakan framework menganut arsitektur <strong>Model-View-Controller (MVC)</strong>.  Model-View-Controller adalah <em>software design pattern</em> yang membagi aplikasi  menjadi tiga bagian yaitu:</p>
<ul>
<li> <em>Data model</em> (Model)</li>
<li><em>Business rule</em> (Controller)</li>
<li><em>User interface</em> (View)</li>
</ul>
<p><strong>Model</strong></p>
<p>Model merepresentasikan struktur tabel di database dan relasinya dengan tabel yang lain. Biasanya model juga berisi aturan validasi yang diperlukan pada saat proses <em>insert</em> atau <em>update</em> data.</p>
<p><strong>View</strong></p>
<p>View merepresentasikan tampilan user interface. Dalam hal ini adalah file  HTML yang berfungsi untuk menampilkan data.</p>
<p><strong>Controller</strong></p>
<p>Controller adalah layer yang meng-<em>handle</em> request ke database server. Layer  ini bertanggung jawab untuk memproses masukan/input dari user dan mengakses  model. <em>Controller</em> ini merupakan perantara antara  <em>view</em> dan <em>model</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sorsawo.com/journal/pemrograman-web-berbasis-framework-bagian-1/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
