<?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>Lentera</title>
	<atom:link href="http://blog.lentera.web.id/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lentera.web.id</link>
	<description>A candle loses nothing by lighting another candle</description>
	<pubDate>Mon, 11 May 2009 04:00:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Redirect</title>
		<link>http://blog.lentera.web.id/2008/07/21/redirect/</link>
		<comments>http://blog.lentera.web.id/2008/07/21/redirect/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 02:47:40 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=37</guid>
		<description><![CDATA[Redirect atau URL redirection adalah cara untuk mengarahkan visitor dari satu URL ke URL lain. Ada beberapa sebab dilakukannya redirection, di antaranya:

Halaman yang dimasuki visitor punya persyaratan login untuk memasukinya, maka visitor diarahkan ke halaman login.
Halaman yang didatangi visitor sudah tidak ada lagi, maka visitor diarahkan ke halaman pemberitahuan mengenai nasib dari halaman yang dicarinya, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Redirect </strong>atau<strong> URL redirection</strong> adalah cara untuk mengarahkan visitor dari satu URL ke URL lain. Ada beberapa sebab dilakukannya <em>redirection</em>, di antaranya:</p>
<ul>
<li>Halaman yang dimasuki visitor punya persyaratan login untuk memasukinya, maka visitor diarahkan ke halaman login.</li>
<li>Halaman yang didatangi visitor sudah tidak ada lagi, maka visitor diarahkan ke halaman pemberitahuan mengenai nasib dari halaman yang dicarinya, atau diarahkan ke halaman lain sebagai penggantinya.</li>
<li>Halaman redirection merupakan bagian dari tahapan-tahapan proses (workflow) yang harus dilalui visitor, seperti pada saat registrasi, shopping online, atau posting di forum.</li>
<li>Halaman redirection merupakan bagian dari proses <em>access control,</em> di mana visitor diarahkan ke halaman sesuai dengan kapasitas visitornya.</li>
<li>URL dari halaman tersebut terlalu panjang atau tidak user friendy, sehingga dengan teknik clean url dibuat lebih pendek dan user friendly, dan visitor yang mengunjungi clean url tersebut diarahkan ke URL yang sebenarnya.</li>
</ul>
<p><strong>Cara-cara Redirect</strong></p>
<p>Ada beberapa cara redirection, dari yang termudah sampai yang tersulit. Ringkasannnya sebagai berikut:</p>
<ul>
<li>Dengan menggunakan link href, visitor diminta meng-klik link untuk pergi ke halaman yang diarahkan, misal:
<pre>Kunjungi &lt;a href="http://blog.lentera.web.id&gt;blogku&lt;/a&gt; </pre>
</li>
<li>Dengan META TAG Refresh yang dipasang di bagian &lt;head&gt; halaman web, misalnya:
<pre>&lt;meta http-equiv="Refresh" content="0;http://blog.lentera.web.id"&gt;
</pre>
</li>
<li>Dengan PHP menggunakan perintah header, misal:
<pre class="1" lang="php">header("location:http://blog.lentera.web.id")</pre>
</li>
<li>Dengan memnfaatkan mod_rewrite Apache, misalnya:
<pre class="1" lang="php">RewriteRule ^(.*)$ http://blog.lentera.web.id/$1 [R,L]</pre>
</li>
<li>Dengan menggunakan JavaScript juga bisa, misal:
<pre class="1" lang="php">window.location="http://blog.lentera.web.id/";</pre>
</li>
</ul>
<p><strong>Penggunaan Redirect</strong></p>
<p>Cara-cara penggunaan redirect tergantung dari kebutuhan redirecting. Untuk redirect yang disebabkan oleh proses di dalam workflow, maka teknik redirect yang digunakan biasanya menggunakan PHP atau server-side engine lainnya. Untuk redirect yang disebabkan perubahan alamat halaman web, biasanya menggunakan mod_rewrite apache. Teknik gabungan menggunakan mod_rewrite dan PHP juga sering digunakan dalam aplikasi web.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/07/21/redirect/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mencegah Download Langsung</title>
		<link>http://blog.lentera.web.id/2008/07/20/mencegah-download-langsung/</link>
		<comments>http://blog.lentera.web.id/2008/07/20/mencegah-download-langsung/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 00:41:17 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

		<category><![CDATA[direct download]]></category>

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

		<category><![CDATA[hot linking]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=36</guid>
		<description><![CDATA[Kenapa ya, terdapat web master sengaja menyediakan beberapa file untuk di-download, tetapi berusaha juga dengan berbagai cara untuk melakukan pencegahan terhadap file-filenya daripada agar bisa di-download langsung atau disebut hotlinking. Pastinya ada alasan baik.
Alasan Pencegahan Download Langsung
Web master punya alasan kenapa file-file tidak boleh dipungut langsung, di antaranya:

ingin mengetahui statistik file yang didownload, sudah berapa [...]]]></description>
			<content:encoded><![CDATA[<p>Kenapa ya, terdapat <em>web master</em> sengaja menyediakan beberapa file untuk di-<em>download</em>, tetapi berusaha juga dengan berbagai cara untuk melakukan pencegahan terhadap file-filenya daripada agar bisa di-download langsung atau disebut <em>hotlinking</em>. Pastinya ada alasan baik.</p>
<p><strong>Alasan Pencegahan Download Langsung</strong></p>
<p>Web master punya alasan kenapa file-file tidak boleh dipungut langsung, di antaranya:</p>
<ul>
<li>ingin mengetahui statistik file yang didownload, sudah berapa kalikah file didownload.</li>
<li>ingin mengetahui siapa saja yang mendownload, baik dengan cara harus login dulu, atau harus memasukkan email untuk dikirim link-nya lewat email, merepotkan memang.</li>
<li>ingin merahasikan lokasi file berada, khawatir kalau lokasinya ketahuan bisa didownload semua.</li>
<li>anda menginginkan hit pada halaman web anda, dan tidak rela file download anda dimanfaatkan oleh pihak lain.</li>
<li>ada alasan lain? &#8230;</li>
</ul>
<p>Anda termasuk yang mana? kalau tidak termasuk, biarkanlah file bisa bebas didownload. Tetapi meneruskan baca arikel ini tidak ada salahnya, mungkin suatu ketika anda membutuhkannya.</p>
<p><strong>Cara-cara Mencegah Download Langsung</strong></p>
<p><span class="mediumtxt"><strong>1. Cara pertama, gunakan  .htaccess ini:</strong></span></p>
<pre class="1" lang="php">
RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]

RewriteCond %{REQUEST_FILENAME} .*zip$|.*pdf$|.*mp3$ [NC]
RewriteRule (.*) /halaman_download.php?file=$1 [R]
</pre>
<p>keterangan:</p>
<ul>
<li>baris ke 3, referer tidak boleh kosong, artinya tidak boleh download langsung</li>
<li>baris ke 4, yourdomain diganti dg nama domain anda, artinya tidak boleh didownload dari website lain</li>
<li>baris ke 5, google, membolehkan download dari google</li>
<li>baris ke 6, search, membolehkan download dari link hasil search</li>
<li> baris 8, extensi file yang diatur tidak boleh download langsung</li>
<li>baris 9, halaman redirect, &#8230;</li>
</ul>
<p><strong>2. Cara kedua menggunakan PHP.</strong></p>
<p>cara ini adalah dengan meng-output file yang didownload dari script php, sementara di htaccess anda harus didefinisikan redirect file yang didownload di arahkan ke sebuah file php.</p>
<p>File .htaccess berisi:</p>
<pre class="1" lang="php">RewriteEngine On

RewriteCond %{REQUEST_FILENAME} .*zip$|.*pdf$|.*mp3$ [NC]
RewriteRule (.*) /download.php?file=$1 [R]
</pre>
<p>dan file download.php berisi:</p>
<pre class="1" lang="php">
$ref = $_SERVER["HTTP_REFERER"];

if ( $ref != &#8216;http://www.yourdomain.com/halaman_download.php&#8217; )
{
header(&#8221;Location:http://www.yourdomain.com/halaman_download.php&#8221;);
exit;
} else {
header(&#8221;Content-type: $filetype&#8221;);
header(&#8221;Content-Disposition: attachment; filename=\&#8221;$filename\&#8221;");
header(&#8221;Content-Length: $filesize&#8221;);

echo file_get_contents($filepath);
}
</pre>
<p><strong>3. Cara ketiga, tidak mempublikasikan URL file.</strong></p>
<ul>
<li>jangan pernah mempublikasikan URLnya sehingga nggak ada yang bisa download langsung</li>
<li>dengan PHP, kita bisa meng-generate random encrypted URL, misalnya: download/g6Tgskd93/file.zip</li>
<li>random URL tersebut berbasis session dg waktu terbatas</li>
<li>lalu, kalo ada yg mengakses link tersebut, maka htaccess me-redirect ke halaman atau file download, kalau link-nya sudah expired maka muncul pesan error <em>page not found</em> atau di-redirect ke halaman tertentu.</li>
</ul>
<p><strong>Sekedar Info</strong></p>
<p>Tip ini berkaitan dengan penggunaan <strong>mod_rewrite</strong> pada htaccess, akan sangat baik bagi anda untuk memahami bagaimana menggunakan mod_rewrite. Membaca manual memang paling tepat tetapi kadang kurang praktis, membaca tutorial jadi pilihannya, yaitu melawat ke<br />
<a title="Stupid htaccess Tricks" href="http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/">Stupid htaccess Tricks</a>, anda wajib ke sana.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/07/20/mencegah-download-langsung/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Excel to MySQL Converter</title>
		<link>http://blog.lentera.web.id/2008/07/15/php-excel-to-mysql-converter/</link>
		<comments>http://blog.lentera.web.id/2008/07/15/php-excel-to-mysql-converter/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 14:12:28 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=35</guid>
		<description><![CDATA[Free Download Excel2Mysql
Spreadsheet Excel secara luas digunakan untuk aplikasi keuangan, statistik dan aplikasi lain yang memerlukan penyajian data secara tabulasi. Level penggunaannya yang bervariasi memungkinkan software ini dapat digunakan oleh newbee dan profesional. Karenanya tidak heran banyak data disimpan dan dipertukarkan dalam bentuk Excel.

Maraknya aplikasi web dengan MySQL sebagai databasenya mendorong orang untuk membuat program [...]]]></description>
			<content:encoded><![CDATA[<div align="right">Free Download <a title="Package Excel2Mysql" href="http://blog.lentera.web.id/download/excel2mysql.zip" target="_blank">Excel2Mysql</a></div>
<p>Spreadsheet Excel secara luas digunakan untuk aplikasi keuangan, statistik dan aplikasi lain yang memerlukan penyajian data secara tabulasi. Level penggunaannya yang bervariasi memungkinkan software ini dapat digunakan oleh newbee dan profesional. Karenanya tidak heran banyak data disimpan dan dipertukarkan dalam bentuk Excel.<br />
<span id="more-35"></span><br />
Maraknya aplikasi web dengan MySQL sebagai databasenya mendorong orang untuk membuat program konversi dari Excel ke MySQL. Ada beragam cara untuk mengonversi, seperti menggunakan COM, ODBC, dan XML. Masing-masing cara meminta persyaratan khusus, seperti adanya komponen COM Excel, software ODBC atau format Excel yang harus XML. Jadi akan tidak mudah bagi aplikasi untuk mengonversi file Excel tanpa adanya komponen-komponen tersebut.</p>
<p>Awalnya terpikir bahwa format Excel XML adalah yang layak, sebab XML parser cukup banyak ditemukan. Tetapi ketika sebuah file Excel berukuran 200kb di-<em>save-as</em> ke dalam format XML menjadi berukuran 1Mb, maka penggunaan format ini sepertinya kurang menggairahkan.</p>
<p>Dalam penelusuran di google, terkuak situs <strong>am I work </strong>dengan artikelnya Reading/Parsing Excel using PHP <a href="http://amiworks.co.in/talk/readingparsing-excel-spreadsheet-using-php">http://amiworks.co.in/talk/readingparsing-excel-spreadsheet-using-php</a>, disana dijelaskan bagaimana membaca file excel dan memarsingnya menggunakan librari PHP-ExcelReader dari SourceForge.</p>
<p>Librari tersebut dapat digunakan untuk memindahkan data yang ada di excel ke database MySQL, tentu sahaja dengan serentetan usaha ribet. Bila pekerjaan tersebut dilakukan berulang-ulang, maka menjadi membosankan.</p>
<p>Dengan sedikit sentuhan programming, terbentuklah sebuah librari class <strong><em>Excel to MySQL Converter</em></strong>. Maka konversi excel ke mysql jadi seperti sulapan saja. Petakan <em>column</em> ke <em>field</em> lalu tinggal klik.</p>
<p>Class ini mengasumsikan file excel dengan baris pertama adalah nama kolom, dan mengasumsikan kita sudah menyiapkan tabel di dalam database MySQL ke arah mana data akan dipindahkan.</p>
<p>Sebagai contoh, kita akan memindahkan file excel berikut ke database.</p>
<p><img style="vertical-align: middle;" src="http://img230.imageshack.us/img230/6504/excelbl5.jpg" alt="" /></p>
<p>Skema databasenya adalah:</p>
<p><img style="margin: 5px; vertical-align: baseline;" src="http://img292.imageshack.us/img292/1645/mysqlza7.jpg" alt="database" /></p>
<p><strong>Begini caranya:</strong></p>
<div class="geshi php">
<ol start="10">
<li class="li1">
<div class="de1"><span class="re1">$excel_file</span> <span class="sy0">=</span> <span class="st0">&quot;samplex.xls&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span> <span class="sy0">=</span> <span class="kw2">new</span> Excel2MySQL<span class="br0">&#40;</span> <span class="re1">$excel_file</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Tentukan area excel yang akan dikonversi menggunakan setConvertArea, seperti perintah Excel PrintArea:</p>
<div class="geshi php">
<ol start="13">
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">setConvertArea</span><span class="br0">&#40;</span> <span class="st0">&#39;$A$1:$F$10&#39;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Atau, area konversi dapat juga diset dengan menentukan column dan row pertamanya, seperti ini:</p>
<div class="geshi php">
<ol start="15">
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">setColStart</span><span class="br0">&#40;</span><span class="st0">&#39;A&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">setRowStart</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Khusus untuk file excel dengan content dimulai dari sel $A$1 seperti excel contoh di atas, kita tak perlu menggunakan setRowStart() maupun setColStart(), karena secara default akan mengacu ke sel tersebut.</p>
<p>Lalu, tentukan pemetaan antara kolom-kolom di excel ke kolom-kolom di MySQL. Kita bisa memilih kolom-kolom excel tertentu saja yang akan dikonversi ke database. Perhatikan bahwa saya tidak memasukkan kolom ADDRESS ke dalam proses konversi.</p>
<div class="geshi php">
<ol start="17">
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">setColMapping</span><span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;NAME&#39;</span><span class="sy0">=&gt;</span><span class="st0">&#39;member_name&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="st0">&#39;BIRTHDAY&#39;</span><span class="sy0">=&gt;</span><span class="st0">&#39;member_birthday&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="st0">&#39;CITY&#39;</span><span class="sy0">=&gt;</span><span class="st0">&#39;member_city&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="st0">&#39;EMAIL&#39;</span><span class="sy0">=&gt;</span><span class="st0">&#39;member_email&#39;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Lakukan koneksi, lalu injeksikan data.</p>
<div class="geshi php">
<ol start="22">
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">connectDB</span> <span class="br0">&#40;</span><span class="st0">&#39;localhost&#39;</span><span class="sy0">,</span><span class="st0">&#39;username&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="st0">&#39;password&#39;</span><span class="sy0">,</span><span class="st0">&#39;db_name&#39;</span><span class="sy0">,</span><span class="st0">&#39;table_name&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$excel2mysql</span><span class="sy0">-&gt;</span><span class="me1">injectData</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/***/</span></div>
</li>
</ol>
</div>
<p>Pekerjaan selesai. Ada pertanyaan? Silakan tak perlu sungkan.</p>
<p>Catatan perbaikan:<br />
- 18 Juli 2008, dilakukan perbaikan pada class excel2mysql karena adanya bug pada pemetaan column.</p>
<p>Free Download <a title="Package Excel2Mysql" href="http://blog.lentera.web.id/download/excel2mysql.zip" target="_blank">Excel2Mysql</a> berisi librari dan contoh.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/07/15/php-excel-to-mysql-converter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cara Memasak ala Programmer [ SDLC ]</title>
		<link>http://blog.lentera.web.id/2008/06/25/cara-memasak-ala-programmer/</link>
		<comments>http://blog.lentera.web.id/2008/06/25/cara-memasak-ala-programmer/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 13:44:05 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=34</guid>
		<description><![CDATA[Memasak, sepertinya kegiatan yang gampang dilakukan. Tapi apakah pernah anda memasak? Kalau anda belum pernah memasak, mungkin tulisan ini akan membantu anda dalam memahami bagaimana membuat masakan. Saya tidak menjamin dengan tulisan ini anda akan bisa memasak. Minimal anda tahu caranya, dengan begitu anda menghargai proses penciptaan masakan.Memasak lebih dari sekedar mematangkan beras dan bahan [...]]]></description>
			<content:encoded><![CDATA[<p class="\&quot;MsoNormal\&quot;">Memasak, sepertinya kegiatan yang gampang dilakukan. Tapi apakah pernah anda memasak? Kalau anda belum pernah memasak, mungkin tulisan ini akan membantu anda dalam memahami bagaimana membuat masakan. Saya tidak menjamin dengan tulisan ini anda akan bisa memasak. Minimal anda tahu caranya, dengan begitu anda menghargai proses penciptaan masakan.<span id="more-34"></span>Memasak lebih dari sekedar mematangkan beras dan bahan makanan lainnya. Ia adalah sebuah proses yang bermula dari sebuah gagasan bernama “lapar”. Memahami bagaimana proses mematangkan beras dan sayuran adalah bagian penting dalam hidup kita, sebab kita cukup banyak menghabiskan waktu untuk menyantap makanan. Luangkan sedikit saja waktu anda untuk membaca langkah-langkah berikut, semoga anda menjadi lebih bijak terhadap masakan.</p>
<p class="\&quot;MsoNormal\&quot;">Langkah-langkah utama dalam memasak mengikuti fase-fase SDLC <em>(Software Development Life Cycle)</em>:</p>
<ul>
<li><strong>Requirements</strong>. Memasak bermula      gagasan seseorang mengenai lapar dan keinginan untuk menghilangkan rasa      lapar tersebut. Timbul gagasan mau makan apa, apakah nasi padang, nasi      goreng, nasi uduk, nasi kuning, soto, sate atau yang lainnya. Keinginan      tersebut masih tergambar secara umum.</li>
</ul>
<ul>
<li><strong>Specification</strong>. Sebuah penjelasan      mengenai masakan apa dan detail yang diinginkan. Setiap masakan yang berbeda      punya spesifikasi yang berbeda. Sebagai contoh, nasi putih, nasi uduk,      nasi goreng dan nasi kuning punya spesifikasi yang berbeda. Bahkan kadangkala masakan menetapkan penggunaan framework tertentu, seperti <em>diet sehat, vegetarian </em>atau <em>muslim food.</em></li>
</ul>
<ul>
<li><strong>Design</strong>. Untuk memasak masakan sesuai      spesifikasi maka diperlukan rancangan. Sebab untuk tiap masakan yang berbeda      memiliki modul bumbu-bumbu yang berbeda, juga algoritma meracik bumbu dan      cara memasak yang berbeda, peralatan yang berbeda, format penyajian dan struktur lauk-pauknya      berbeda. Design dituangkan dalam bentuk resep.</li>
</ul>
<ul>
<li><strong><span style="\">Coding</span>/Cooking</strong>. Langkah      berikutnya adalah memasak. Biasanya untuk suatu resep baru dimulai dengan      membuat prototipe, kemudian ada masakan versi alfa dan versi beta. Untuk resep lama atau cooker berpengalaman bisa langsung membuat masakan sebenarnya. Penggunaan <em>ICE</em> juga sangat membantu melaksanakan cooking. ICE singkatan dari <em>Integrated Cooking Environment </em>ataubiasa disebut <em>dapur</em>.</li>
</ul>
<ul>
<li><strong>Testing</strong>. Apakah sudah masak? Sudah      enak? Sudah mak nyus? Lakukan pengetesan dengan cara mencicipi. Sangat      bagus melibat pihak lain dalam mencicipi. Kalau ternyata gak enak, bisa      jadi salah memasaknya, atau desainnya yang salah. Yang jelas, <em>requirement</em> gak pernah salah.</li>
</ul>
<ul>
<li><strong>Debugging</strong>. Kesalahan, kekurangan dan ketidakpuasan yang ditemukan dalam <em>testing</em> dicari penyebabnya. Mungkin ada jenis bumbu yang kurang atau lebih, atau terlalu lama di      atas pengapian. Jadi di sini, debugging tidak diterjemahkan menjadi <em>mencari kutu</em> di dalam masakan kita,      tetapi menemukan penyebab kekurangan. <em>Emang sih, kalau ditemukan kutu pasti gak enak.</em></li>
</ul>
<ul>
<li><strong>Release</strong>. Masakan yang sudah mantap dan lezat disajikan dalam      penyajian yang menarik. Ada      pula yang dikemas dalam box dan dikasih label, lalu dikirimkan ke      meja-meja programmer yang malas beranjak.</li>
</ul>
<ul>
<li><strong>Revision/Updating</strong>. Sudah puas      dengan masakan yang disajikan ini, mungkin anda ingin ada perubahan. Anda      ingin cita rasa dan sensasi yang berbeda. Mungkin anda ingin mengubah      resep atau desainnya, atau mengubah modul-modulnya, algoritmanya atauformat dan outputnya. Kalau sudah muncul      keinginan seperti itu, maka sudah waktunya anda untuk kembali melakukan      programming.</li>
</ul>
<p class="\&quot;MsoNormal\&quot;">Tulisan ini tidak ada hubungannya dengan <strong>CakePHP</strong> <span style="\"><span> <img src='http://blog.lentera.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/25/cara-memasak-ala-programmer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Validasi JavaScript untuk input[] Array</title>
		<link>http://blog.lentera.web.id/2008/06/25/validasi-javascript-untuk-input-array/</link>
		<comments>http://blog.lentera.web.id/2008/06/25/validasi-javascript-untuk-input-array/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 07:11:24 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=33</guid>
		<description><![CDATA[Salah satu hal menarik yang diperkenalkan PHP dalam pembuatan form input data adalah pengenalan input array sebagai nama variabel input, misalnya input[ ]. Dengan format seperti itu, untuk meng-upload 10 image sekaligus, anda tak perlu membuat variabel image_1, image_2, image_3, &#8230;, image_10. Cukup image[ ]. Misalnya:



&#60;input name=&#34;image[]&#34; type=&#34;file&#34; /&#62;



&#60;input name=&#34;image[]&#34; type=&#34;file&#34; /&#62;



&#60;input name=&#34;image[]&#34; type=&#34;file&#34; /&#62;



&#8230;



&#160;


&#60;input [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu hal menarik yang diperkenalkan PHP dalam pembuatan form input data adalah pengenalan input array sebagai nama variabel input, misalnya <em>input[ ]</em>. Dengan format seperti itu, untuk meng-upload 10 image sekaligus, anda tak perlu membuat variabel image_1, image_2, image_3, &#8230;, image_10. Cukup image[ ]. Misalnya:</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;input name=&quot;image[]&quot; type=&quot;file&quot; /&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;input name=&quot;image[]&quot; type=&quot;file&quot; /&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;input name=&quot;image[]&quot; type=&quot;file&quot; /&gt;
</div>
</li>
<li class="li1">
<div class="de1">&#8230;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;input name=&quot;image[]&quot; type=&quot;file&quot; /&gt;</div>
</li>
</ol>
</div>
<p>Permalasahannya adalah ketika melakukan validasi data, JavaScript tidak menganggap legal variabel yang mengandung tanda siku [], sehingga JavaScript tidak bisa mengakses variabel tersebut sebagaimana yang diinginkan.</p>
<p>Ini triknya. Untuk mengakses input array, gunakan sintaks berikut:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">var</span> inputArray <span class="sy0">=</span> document<span class="sy0">.</span>forms<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">.</span>elements<span class="br0">&#91;</span><span class="st0">&#39;image[]&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>inputArray<span class="sy0">.</span>length<span class="sy0">&gt;</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">for</span><span class="br0">&#40;</span>i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span>i<span class="sy0">&lt;</span>inputArray<span class="sy0">.</span>length<span class="sy0">;</span>i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;alert<span class="br0">&#40;</span>inputArray<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="sy0">.</span>value<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;alert<span class="br0">&#40;</span>inputArray<span class="sy0">.</span>value<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Sangat mudah bukan?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/25/validasi-javascript-untuk-input-array/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQLdump: Sedia Backup Sebelum Terlambat</title>
		<link>http://blog.lentera.web.id/2008/06/24/mysqldump-sedia-backup-sebelum-terlambat/</link>
		<comments>http://blog.lentera.web.id/2008/06/24/mysqldump-sedia-backup-sebelum-terlambat/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 04:10:23 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=32</guid>
		<description><![CDATA[Sedia payung sebelum hujan, begitu bunyi peribahasa. Maknanya bersiaplah terhadap apa yang mungkin terjadi. Apa pun kejadiannya bersiaplah, baik kejadian yang menyenangkan apalagi yang menyedihkan. Pepatah itu pun berlaku bagi pranata database, sedia backup sebelum terlambat.
 
Lalu, sudahkan anda hari ini melakukan backup terhadap database anda? Jika belum, tinggalkan bacaan ini, lakukan backup secepatnya. Adapun [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="EN-US">Sedia payung sebelum hujan, begitu bunyi peribahasa. Maknanya bersiaplah terhadap apa yang mungkin terjadi. Apa pun kejadiannya bersiaplah, baik kejadian yang menyenangkan apalagi yang menyedihkan. Pepatah itu pun berlaku bagi pranata database, <em>sedia backup sebelum terlambat</em>.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><em><span lang="EN-US">Lalu, sudahkan anda hari ini melakukan backup terhadap database anda? Jika belum, tinggalkan bacaan ini, lakukan backup secepatnya. Adapun bacaan ini sendiri, tenang saja, sudah ada backupnya.</span></em><span id="more-32"></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">MySQLDump</span></strong></p>
<p class="MsoNormal"><span lang="EN-US">Kabar baiknya, sistem database menyediakan sarana gampang untuk backup, tak ketinggalan juga pada database kita, MySQL. Ia memiliki <em>mysqldump</em> yang dapat membuat backup database secara cepat.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Mysqldump adalah utilitas yang digunakan untuk membuat salinan database dalam bentuk text file berisi pernyataan-pernyataan SQL. Dari kandungan pernyataan SQLnya, dapat disimpulkan bahwa mysqldump tidak saja dimaksudkan untuk membackup data, melainkan juga digunakan untuk menciptakan ulang (<em>re-create</em>) database tersebut.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Untuk menggunakan mysqldump, gunakan <em>console</em> dan masuklah ke root <em>mysql</em> lalu masuk ke direktori <em>bin, </em>ketik: </span></p>
<p style="margin-left: 36pt;"><code><span style="font-size: 10pt;" lang="EN">mysqldump</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/24/mysqldump-sedia-backup-sebelum-terlambat/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DHTML dengan Content yang Dinamis</title>
		<link>http://blog.lentera.web.id/2008/06/24/dhtml-dengan-content-yang-dinamis/</link>
		<comments>http://blog.lentera.web.id/2008/06/24/dhtml-dengan-content-yang-dinamis/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 03:39:40 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

		<category><![CDATA[dynamic web page]]></category>

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=31</guid>
		<description><![CDATA[Dynamic HTML atau DHTML secara Wikipedia adalah gabungan antara HTML, JavaScript, CSS dan DOM. Bertujuan menyajikan halaman web yang interaktif dan animatif, seperti penyajian menu dropdown, menu tree, dan elemen-elemen lainnya pada halaman web.
Berbeda dengan dynamic web page, di mana halaman web ini dihasilkan secara dinamis oleh web server melalui proses yang dilakukan oleh server-side [...]]]></description>
			<content:encoded><![CDATA[<p>Dynamic HTML atau DHTML secara Wikipedia adalah gabungan antara HTML, JavaScript, CSS dan DOM. Bertujuan menyajikan halaman web yang interaktif dan animatif, seperti penyajian menu dropdown, menu tree, dan elemen-elemen lainnya pada halaman web.<span id="more-31"></span></p>
<p>Berbeda dengan <em>dynamic web page</em>, di mana halaman web ini dihasilkan secara dinamis oleh web server melalui proses yang dilakukan oleh server-side engine seperti ASP, PHP dan JSP. Isi halaman web ini dinamis, bisa diganti-ganti berdasarkan tanggal, kategori atau kriteria lain.   Untuk membedakannya dari halaman web yang tidak memerlukan proses di server, halaman web diberi ektensi khusus seperti php, asp atau jsp.</p>
<p>Kelemahan pada dynamic web page adalah setiap kali pengguna web menginginkan content baru, seluruh bagian halaman yang akan ditampilkan diproses terlebih dahulu di server. Proses tersebut meliputi akses database untuk mengambil data, <em>html generation</em> untuk menghasilkan halaman web dan proses-proses lainnya.</p>
<p>Ini menyita waktu, resource dan bandwidth. Padahal yang diperlukan hanya content yang berbeda saja, sedangkan bagian lain halaman webnya tetap sama. Jadi mengapa harus mereload seluruh halaman web jika yang diperlukan hanya content-nya saja?</p>
<p>Kehadiran Ajax memberikan solusi atas masalah tersebut. Ajax bertugas melakukan pertukaran data antara browser dan web server. Content halaman web bisa dibuat dinamis tanpa harus mereload seluruh halaman web. Bahkan sebuah halaman web bisa saja hanya berkekstensi .html namun dapat menyajikan content layaknya <em>dynamic web page</em>.</p>
<p>Nah, kalau kita gabungkan antara DHTML dan Ajax, maka jadilah Double Dynamic HTML. Tidak saja dinamis HTML-nya, tetapi isinya juga dinamis. Kalau begitu, nama yang cocok mungkin Dynamic DHTML ? Atau kita singkat DDHTML, dengan rumusan:</p>
<p>Dynamic DHTML = DHTML + Ajax</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/24/dhtml-dengan-content-yang-dinamis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>URL yang Baik</title>
		<link>http://blog.lentera.web.id/2008/06/18/url-yang-baik/</link>
		<comments>http://blog.lentera.web.id/2008/06/18/url-yang-baik/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 00:26:24 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

		<category><![CDATA[clean url]]></category>

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

		<category><![CDATA[search engine friendly]]></category>

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

		<category><![CDATA[user friendly url]]></category>

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=28</guid>
		<description><![CDATA[Pada website-website berbasis CMS, penulisan URL (Uniform Resource Locator) dari content website dibuat secara otomatis melalui programming. Namun sebagian programmer agaknya tidak peduli pada aspek user friendly. Programmer hanya membuat format URL agar parsingnya mudah.
Berikut adalah contoh-contoh link yang saya pungut secara diam-diam:

http://www.mediaindonesia.com/index.php?ar_id=MTAxNDU=
http://www.sctv.co.id/view.php?114,18382,,0,1213747894
http://www.depkominfo.go.id/portal/?act=detail&#38;mod=berita_kominfo&#38;view=1&#38;id=BRT080613173201

 
 
 
 
Dari URL-URL tersebut, dapat kita lihat:

URLnya mengandung kode-kode yang [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="EN-US">Pada website-website berbasis CMS, penulisan URL (<em>Uniform Resource Locator</em>) dari content website dibuat secara otomatis melalui <em>programming</em>. Namun sebagian programmer agaknya tidak peduli pada aspek <em>user friendly.</em> Programmer hanya membuat format URL agar parsingnya mudah.</span><span id="more-28"></span></p>
<p class="MsoNormal"><span>Berikut adalah contoh-contoh link yang saya pungut secara diam-diam:</span></p>
<ul>
<li>http://www.mediaindonesia.com/index.php?ar_id=MTAxNDU=</li>
<li>http://www.sctv.co.id/view.php?114,18382,,0,1213747894</li>
<li>http://www.depkominfo.go.id/portal/?act=detail&amp;mod=berita_kominfo&amp;view=1&amp;id=BRT080613173201</li>
</ul>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal">Dari URL-URL tersebut, dapat kita lihat:</p>
<ul>
<li>URLnya mengandung kode-kode yang tidak perlu bagi pengunjung, apalagi susah dieja dan dibaca [ <em>dirty URL</em> ]</li>
<li>URLnya tidak secara spesifik menjelaskan sesuatu</li>
<li>URLnya mengandung tanda tanya, tidak jelas pertanyaannya apa. Tanda tanya juga menyebabkan mesin <em>search engine</em> tidak melakukan pengindeksan terhadap <em>string</em> yang ada di belakang tanda tanya.</li>
</ul>
<p class="MsoNormal">Kita ambil contoh lain. URL di bawah ini saya ambil dari detiksport.com:</p>
<p class="MsoNormal">http://pialaeropa.detiksport.com/index.php/detik.read/tahun/2008/bulan/06/tgl/18/<br />
time/030244/idnews/958096/idkanal/514</p>
<p class="MsoNormal">
<p class="MsoNormal">Apa yang bisa kita tangkap dari link di atas?</p>
<p class="MsoNormal" style="margin-left: 36pt;"><span lang="EN-US"> </span></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoNormal">Lumayan &#8230;</li>
<li class="MsoNormal"><span lang="EN-US">Tetapi masih kotor, banyak item-item yang tidak diperlukan      disertakan dalam URL</span><span lang="EN-US"> perhatikan, untuk apa index.php/detik.read/ disertakan dalam URL?</span><span lang="EN-US"> tahun/2008/bulan/06/tgl/18 bukankah cukup ditulis 2008/06/18?</span><span lang="EN-US"><br />
</span></li>
<li class="MsoNormal"><span lang="EN-US">Tidak user friendly, </span><span lang="EN-US">URL di detiksport tersebut terlalu panjang, kalau kita kirimkan      linknya ke forum atau email, bisa terpecah menjadi beberapa baris, bisa      menyebabkan broken link.</span></li>
<li class="MsoNormal"><span lang="EN-US">tidak dapat dipotong, karena kalau kita menulisnya tidak      lengkap, misalnya: http://pialaeropa.detiksport.com/index.php/detik.read/tahun/2008      akan timbul broken link.</span></li>
</ul>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span>Adapun URL di bawah ini saya ambil dari kompas.com:</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>http://bolaeropa.kompas.com/read/xml/2008/06/18/05082916/robben.kami.bermain.untuk.menang</span></p>
<p class="MsoNormal"><span> </span></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoNormal"><span>Nampak lebih baik, meskipun masih ada yang      bisa dihilangkan dari URL tersebut, yaitu <em>read/xml</em>.</span></li>
</ul>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal">
<p class="MsoNormal"><strong><span lang="EN-US">Bagaimanakah sebaiknya URL?</span></strong></p>
<p class="MsoNormal"><span lang="EN-US">Nathan dalam artikelnya <a href="http://www.ashbykuhlman.net/blog/2003/07/27/2227">URLs: Principle</a> menyebutkan 5 hal yang patut diperhatikan dalam membuat URL, yaitu:</span></p>
<p class="MsoNormal"><span lang="EN-US"><span> </span></span></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoNormal"><em><span lang="EN-US">Readability</span></em><span lang="EN-US">: URL seharusnya mudah dibaca</span></li>
<li class="MsoNormal"><em><span lang="EN-US">Brevity</span></em><span lang="EN-US">: URL seharusnya pendek.</span></li>
<li class="MsoNormal"><em><span lang="EN-US">Cleanliness</span></em><span lang="EN-US">: URL seharusnya bersih, tidak mengandung sampah, clean URL.      Clean URL juga membantu mesin search engine dalam mengindeks website kita,      sehingga website kita mudah menjadi populer.</span></li>
<li class="MsoNormal"><em><span lang="EN-US">Hierarchy</span></em><span lang="EN-US">: URL seharusnya bisa dipenggal-penggal secara hirarki,      pemenggalan tidak mengakibatkan broken link.</span></li>
<li class="MsoNormal"><em><span lang="EN-US">Permanence</span></em><span lang="EN-US">: URL seharusnya link permanen dan unik. Jangan sampai      menggunakan ulang URL yang sudah pernah dipakai untuk artikel lain.</span></li>
</ul>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Saya tambahkan satu lagi:</span></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoNormal"><em><span lang="EN-US">Self Descriptable</span></em><span lang="EN-US">: URL seharusnya dapat menjelaskan dirinya sehingga mudah      dipahami dan pengunjung sudah bisa menerka apa isi halaman web dari URL tersebut.</span></li>
</ul>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal">Dengan menganut enam prinsip di atas, URL kita menjadi <em>user friendly</em>, memudahkan pengunjung dalam menjadikannya referensi, mencatat link tersebut, mengirimkannya lewat email, YM atau media handheld lainnya.</p>
<p class="MsoNormal">URL yang baik juga baik buat search engine, merupakan URL yang <em>search engine friendly</em>, dampaknya baik buat website anda.  Sebab di  Era Google ini, sebagian besar pengunjung website datangnya dari Google. Termasuk anda yang sedang membaca artikel ini, mungkin anda datang dari Google.</p>
<p class="MsoNormal"><strong>Format Clean URL</strong></p>
<p class="MsoNormal">Beberapa format clien URL lazim digunakan dan bisa dijadikan alternatif, di antaranya :</p>
<ul>
<li>http://namadomain/tanggal/judul-artikel</li>
<li>http://namadomain/kategori/judul-artikel</li>
<li>http://namadomain/kategori/id</li>
<li>http://namadomain/kategori/subkategori/id</li>
<li>http://namadomain/modul/aksi/parameter</li>
</ul>
<p>Tidak ada patokan baku, bebas menggunakan format yang mana atau membuat format sendiri.</p>
<p class="MsoNormal"><span lang="EN-US">Blog Wordpress memberikan contoh cara menuliskan URL yang baik, seperti URL dari artikel ini. URL cukup berisi <em>titimangsa</em> dan <em>judul artikel</em>. Singkat dan jelas.</span></p>
<p class="MsoNormal"><strong>Bacaan pendukung :</strong></p>
<ul>
<li><a href="http://www.merges.net/theory/20010305.html" target="_blank">How to Make URLs User Friendly</a></li>
<li><a title="SEF" href="http://www.websitepublisher.net/article/search_engine_friendly_urls/" target="_blank">Search Engine Friendly URLs</a></li>
<li><a href="http://www.evolt.org/article/Making_clean_URLs_with_Apache_and_PHP/18/22880/" target="_blank">Making Clean URLs with Apache and PHP</a></li>
<li><a href="http://www.phpclasses.org/browse/package/1943.html " target="_blank">Class: CleanURL - PHP Classes</a></li>
<li><a href="http://phpug.or.id/2006/09/09/trik-membuat-clean-url-tanpa-url-rewrite/" target="_blank">Trik Membuat Clean URL tanpa mod_rewrite</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/18/url-yang-baik/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Abadikan URL Anda</title>
		<link>http://blog.lentera.web.id/2008/06/17/abadikan-url-anda/</link>
		<comments>http://blog.lentera.web.id/2008/06/17/abadikan-url-anda/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 16:51:35 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=27</guid>
		<description><![CDATA[
&#8220;It is the duty of a Webmaster to allocate URIs which you will be able to stand by in 2 years, in 20 years, in 200 years&#8221;. &#8212; Tim Berners-Lee


Internet sudah menjadi perpustakaan besar dan lengkap. Sejak itu pula, pengunjung perpustakaan berkurang drastis, perpustakaan menjadi sepi, bahkan beberapa kunjungan menjadi tidak berarti karena seringkali tidak [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p style="padding-left: 30px;"><cite>&#8220;It is the duty of a Webmaster to allocate URIs which you will be able to stand by in 2 years, in 20 years, in 200 years&#8221;. &#8212; </cite>Tim Berners-Lee</p>
</blockquote>
<p class="MsoNormal">
<p class="MsoNormal">Internet sudah menjadi perpustakaan besar dan lengkap. Sejak itu pula, pengunjung perpustakaan berkurang drastis, perpustakaan menjadi sepi, bahkan beberapa kunjungan menjadi tidak berarti karena seringkali tidak menemukan yang dicari. Para peneliti, perekayasa, dosen, mahasiswa dan siswa memilih berlama-lama di lab komputer yang berakses Internet untuk mencari referensi dan publikasi.<span id="more-27"></span></p>
<p class="MsoNormal">
<p class="MsoNormal">Sebagai perpustakaan, dokumen-dokumen di Internet mempunyai kemampuan <em>hypertext</em> yang dapat menghubungkan satu URL ke URL yang lainnya. URL bukanlah sekedar link, URL adalah alamat referensi. URL sesuai dengan namanya <em>Uniform Resource Locator</em> adalah digunakan untuk menunjukkan lokasi di mana referensi berada.</p>
<p class="MsoNormal">
<p class="MsoNormal">URL tersusun dalam daftar referensi di buku-buku, laporan-laporan ilmiah, karya tulis, blog dan dalam tulisan bentuk-bentuk lainnya. Entahlah, apakah sudah ada aturan resmi penulisan referensi URL untuk penulisan karya ilmiah. Yang pasti, daftar referensi URL sudah satu halaman sendiri.</p>
<p class="MsoNormal">
<p class="MsoNormal">Mempertimbangkan hal tersebut, menjaga URL adalah kewajiban bersama para webmaster atau blogger. Jangan sampai URL yang sudah dijadikan referensi hilang. <em>Langkah pertama</em> bisa dimulai ketika kita membuat halaman web baru, buatlah URLnya sebaik mungkin: pendek, bersih, mudah dibaca, mudah ditulis dan mudah diingat, ini untuk menghindari kesalahan penulisan ketika dijadikan referensi. <em>Langkah kedua, </em>jangan mengganti URL yang sudah dibuat kecuali terpaksa. <em>Langkah ketiga, </em>jika terlanjur mengganti URL, lakukan redirect ke URL baru atau menampilkan halaman khusus yang memberikan informasi mengenai kepindahan URL.</p>
<p class="MsoNormal">URL yang sudah kita buat, misalnya ketika memosting blog, bisa saja dalam waktu singkat tersebar ke segala penjuru Internet, bisa saja kemudian menjadi rujukan artikel-artikel lainnya, menjadi referensi mahasiswa yang sedang menyusun skripsi dan thesis. Apabila anda menghapusnya, maka ada satu jejak ilmu pengetahuan yang hilang</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/17/abadikan-url-anda/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Desain User Interface untuk Aplikasi Web</title>
		<link>http://blog.lentera.web.id/2008/06/16/desain-user-interface-untuk-aplikasi-web/</link>
		<comments>http://blog.lentera.web.id/2008/06/16/desain-user-interface-untuk-aplikasi-web/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 08:00:36 +0000</pubDate>
		<dc:creator>anghuda</dc:creator>
		
		<category><![CDATA[Catatan Pinggir]]></category>

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

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

		<category><![CDATA[web application]]></category>

		<guid isPermaLink="false">http://blog.lentera.web.id/?p=26</guid>
		<description><![CDATA[Web awalnya dimaksudkan untuk menyebarkan dan berbagi  informasi melalui teknologi hypertext dalam ruang maya bernama information highway. Pada perkembangannya, teknologi web semakin canggih dan mengesankan, memungkinkan jadi antarmuka aplikasi secara jarak jauh [remote interface], bahkan belakangan teknologi web diterapkan pada aplikasi desktop sekalipun.
Namun seringkali, karena pekerjaan desain diserahkan kepada desainer web, sementara ia belum [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Web awalnya dimaksudkan untuk menyebarkan dan berbagi <span> </span>informasi melalui teknologi <em>hypertext </em>dalam ruang maya bernama <em>information highway</em>. Pada perkembangannya, teknologi web semakin canggih dan mengesankan, memungkinkan jadi antarmuka aplikasi secara jarak jauh [<em>remote interface</em>], bahkan belakangan teknologi web diterapkan pada aplikasi desktop sekalipun.<span id="more-26"></span></p>
<p class="MsoNormal">Namun seringkali, karena pekerjaan desain diserahkan kepada desainer web, sementara ia belum punya pengalaman membuat software aplikasi, maka antarmuka aplikasi web terjebak ke dalam desain mirip dengan website. Hal ini tentu mengakibatkan aplikasi web tidak berfungsi sebagaimana mestinya. Bayangkan, sebuah aplikasi dengan tampilan pertamanya adalah berita terbaru ?! Bukannya pengguna melaksanakan tugasnya, melainkan ia sibuk membaca berita.</p>
<p class="MsoNormal">Aplikasi web berbeda dari situs web dalam beberapa hal, dari segi peruntukannya, aplikasi adalah program komputer untuk menyelesaikan tugas [ <em>task oriented </em>], sedangkan situs adalah tempat berkunjung di mana pengunjung memperoleh informasi [ <em>content oriented </em>].</p>
<p class="MsoNormal">Untuk mendalami materi ini, silakan simak referensi berikut :</p>
<ul>
<li><a title="UI Design for Web App" href="http://www.digital-web.com/articles/user_interface_design_for_web_applications/" target="_blank">User Interface Design for Web Application</a></li>
<li><a title="Elements" href="http://www.jjg.net/elements/pdf/elements.pdf" target="_blank">The Elements of User Experience</a></li>
</ul>
<p class="MsoNormal">
]]></content:encoded>
			<wfw:commentRss>http://blog.lentera.web.id/2008/06/16/desain-user-interface-untuk-aplikasi-web/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
