<?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>Sembang Programming &#187; Web</title>
	<atom:link href="http://sembangprogramming.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://sembangprogramming.com</link>
	<description>Sembangan mengenai pengaturcaraan</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:58:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reset borang menggunakan jQuery</title>
		<link>http://sembangprogramming.com/2010/04/reset-borang-jquery/</link>
		<comments>http://sembangprogramming.com/2010/04/reset-borang-jquery/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:06:43 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=324</guid>
		<description><![CDATA[Post kali ini agak pendek, hanya untuk mencatatkan sesuatu tentang jQuery iaitu cara untuk reset borang. Reset borang adalah antara elemen-elemen yang dimasukkan kedalam borang (selain input validation, input constraint, etc) tetapi ianya bukanlah mandatori, bergantung pada jenis borang. 
Jika tak kena cara, menambakah serabut dan rimas pada pengguna. Dibawah adalah contoh kod javascript yang [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sembangprogramming.com/wp-content/uploads/2010/04/reset.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/04/reset-150x150.jpg" alt="" title="reset" width="150" height="150" class="alignright size-thumbnail wp-image-326" /></a>Post kali ini agak pendek, hanya untuk mencatatkan sesuatu tentang jQuery iaitu cara untuk reset borang. Reset borang adalah antara elemen-elemen yang dimasukkan kedalam borang (selain input validation, input constraint, etc) tetapi ianya bukanlah mandatori, bergantung pada jenis borang. </p>
<p>Jika tak kena cara, menambakah serabut dan rimas pada pengguna. Dibawah adalah contoh kod javascript yang menggunakan library jQuery.</p>
<pre class="javascript" name="code">
$('#reset_button').click(function(){
  $(':input','#myform')
    .not(':button, :submit, :reset, :hidden')
    .val('')
    .removeAttr('checked')
    .removeAttr('selected');
})
</pre>
<p>Tetapi terdapat kelemahan didalam cara diatas dimana jika sesuatu elemen mempunyai <strong>nilai lalai</strong> (default value), ianya akan dipadamkan sekali. Dibawah adalah contoh input yang mempunyai nilai lalai.</p>
<pre class="html" name="code">
<input type="text" name="something" value="W00t!" />
</pre>
<p>Maka cara terbaik adalah menggunakan function reset dimana nilai untuk elemen akan dikembalikan kepada nilai yang berada didalam attribute &#8216;value&#8217;.</p>
<pre class="javascript" name="code">
$('#reset_button').click(function(){
   $('#myform')[0].reset();
})
</pre>
<p><strong>Tips:</strong> Jika anda menggunakan cara yang kedua (iaitu menggunakan function reset()), elakkan daripada mengguna &#8216;reset&#8217; sebagai ID elemen anda. Nanti tak jadi!</p>
<p>Selamat programming!</p>
<p>Sumber:</p>
<ul>
<li><a href="http://stackoverflow.com/questions/680241/reset-form-with-jquery">Reset form with jQuery</a></li>
<li><a href="http://groups.google.com/group/jquery-dev/msg/2e0b7435a864beea?pli=1">Form reset retain default value</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/04/reset-borang-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pemilihan Tarikh dan Masa dalam Borang (Date and Time picker)</title>
		<link>http://sembangprogramming.com/2010/04/pemilihan-tarikh-dan-masa-dalam-borang-date-and-time-picker/</link>
		<comments>http://sembangprogramming.com/2010/04/pemilihan-tarikh-dan-masa-dalam-borang-date-and-time-picker/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 08:39:58 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Umum]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=313</guid>
		<description><![CDATA[Terdapat sebuah borang (didalam bentuk Word) yang diberikan pada saya dimana ia perlu ditukar kedalam bentuk borang html. Salah satu ruangan (input field) yang perlu di penuhkan oleh pengguna adalah tarikh dan masa. 
Contoh terbaik yang saya ingat adalah Google Calendar seperti berikut

Saya terjumpa timepicker yang agak ringkas yang hampir serupa dengan google calendar timepicker. [...]]]></description>
			<content:encoded><![CDATA[<p>Terdapat sebuah borang (didalam bentuk Word) yang diberikan pada saya dimana ia perlu ditukar kedalam bentuk borang html. Salah satu ruangan (input field) yang perlu di penuhkan oleh pengguna adalah tarikh dan masa. </p>
<p>Contoh terbaik yang saya ingat adalah Google Calendar seperti berikut<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2010/04/google_cal.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/04/google_cal-300x116.jpg" alt="" title="google_cal" width="300" height="116" class="aligncenter size-medium wp-image-314" /></a></p>
<p>Saya terjumpa <a href="http://labs.perifer.se/timedatepicker/">timepicker</a> yang agak ringkas yang hampir serupa dengan google calendar timepicker. <a href="http://sembangprogramming.com/wp-content/uploads/2010/04/timepicker.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/04/timepicker-300x167.jpg" alt="" title="timepicker" width="300" height="167" class="aligncenter size-medium wp-image-317" /></a></p>
<p>Untuk datepicker pula saya menggunakan <a href="http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/">jQuery datepicker</a> tersebut.<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2010/04/datepicker.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/04/datepicker-300x162.jpg" alt="" title="datepicker" width="300" height="162" class="aligncenter size-medium wp-image-318" /></a></p>
<p>Dengan menggabungkan kedua-dua plugin tersebut, ianya kelihatan sama seperti google calendar&#8217;s datetime picker.</p>
<p>Walaupun ianya adalah 2 ruangan yang berbeza (date start, time start), pada bahagian pemprosesannya (backend) saya menyambungkannya kepada satu string dalam bentuk timestamp. Mudah untuk digunakan dan dimanipulasi.</p>
<p>Contoh borang yang ditunjukkan disini kelihatan agak ringkas tetapi memerlukan 3 table untuk menyimpan data-datanya. Tetapi ianya memerlukan post yang baru untuk menunjukkan keseluruhan antara muka borang tersebut dan pemprosesan disebalik tabir.</p>
<p>Maka, setakat ini sahaja. Selamat Programming!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/04/pemilihan-tarikh-dan-masa-dalam-borang-date-and-time-picker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menghasilkan screenshot lengkap laman web</title>
		<link>http://sembangprogramming.com/2010/01/menghasilkan-screenshot-lengkap-laman-web/</link>
		<comments>http://sembangprogramming.com/2010/01/menghasilkan-screenshot-lengkap-laman-web/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 04:41:05 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=265</guid>
		<description><![CDATA[Perisian apa yang anda gunakan untuk menghasilkan screenshot? Saya menggunakan hoversnap untuk mengambil screenshot harian, tetapi menggunakan plugin khas untuk membuat screenshot laman web.
Ini kerana hoversnap tidak dapat mengambil keseluruhan isi kandungan laman web tersebut. Setakat yang hujung sahaja, kalau content bawah kena scroll dan ambil semula.
Mungkin anda menggunakan perisian lain, tetapi bagi tugasan sebegini, [...]]]></description>
			<content:encoded><![CDATA[<p>Perisian apa yang anda gunakan untuk menghasilkan screenshot? Saya menggunakan <strong><a href="http://www.hoverdesk.net/freeware.htm">hoversnap</a></strong> untuk mengambil screenshot harian, tetapi menggunakan plugin khas untuk membuat screenshot laman web.</p>
<p>Ini kerana hoversnap tidak dapat mengambil keseluruhan isi kandungan laman web tersebut. Setakat yang hujung sahaja, kalau content bawah kena scroll dan ambil semula.</p>
<p>Mungkin anda menggunakan perisian lain, tetapi bagi tugasan sebegini, saya menggunakan <a href="https://addons.mozilla.org/en-US/firefox/addon/1146">Screengrab!</a>, plugin firefox. Kelemahannya, ambil screenshot pada firefox sahaja.</p>
<p>Berikut adalah contoh screenshot yang diambil..<br />
<br/><br />
<a href="http://sembangprogramming.com/wp-content/uploads/2010/01/screengrab1.png"><img src="http://sembangprogramming.com/wp-content/uploads/2010/01/screengrab1-145x300.png" alt="" title="screengrab" width="145" height="300" class="aligncenter size-medium wp-image-267" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/01/menghasilkan-screenshot-lengkap-laman-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Belang pada table (zebra stripe)</title>
		<link>http://sembangprogramming.com/2010/01/belang-pada-table-zebra-stripe/</link>
		<comments>http://sembangprogramming.com/2010/01/belang-pada-table-zebra-stripe/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 04:34:22 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=255</guid>
		<description><![CDATA[Berikut adalah cara untuk format table supaya mempunya &#8216;zebra stripe&#8216;. Sesetengah orang kata, bantuan yang diberikan oleh zebra stripe ni hanyalah mitos dalam meningkatkan keboleh bacaan data dalam bentuk jadual (tabular). Data daripada kajian (Zebra Stripes: Does it really help?) yang dijalankan oleh Jessica Enders di A List Apart menyatakan yang ianya membantu. Pada diri [...]]]></description>
			<content:encoded><![CDATA[<p>Berikut adalah cara untuk format table supaya mempunya &#8216;<strong>zebra stripe</strong>&#8216;. Sesetengah orang kata, bantuan yang diberikan oleh zebra stripe ni hanyalah mitos dalam meningkatkan keboleh bacaan data dalam bentuk jadual (tabular). Data daripada kajian (<strong><a href="http://www.alistapart.com/articles/zebrastripingdoesithelp/">Zebra Stripes: Does it really help?</a></strong>) yang dijalankan oleh Jessica Enders di A List Apart menyatakan yang ianya membantu. Pada diri saya, ia membantu, entahlah, lain orang lain cara dibantu.</p>
<p>Berikut adalah cara saya menggunakannya dalam bentuk javascript.</p>
<pre class="javascript" name="code">
$(document).ready(function(){
  $("table tbody tr:nth-child(odd)").addClass("odd");
})
</pre>
<p>Dimana ia akan memasukkan class &#8216;odd&#8217; kedalam baris yang ganjil dan formatkan dalam bentuk berikut:</p>
<pre class="css" name="code">
tr.odd{ background-color: #C3D9FF; }
</pre>
<p>Edit: Terlupa nak beritahu, anda memerlukan jquery.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/01/belang-pada-table-zebra-stripe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Membasmi input-input durjana didalam Perl</title>
		<link>http://sembangprogramming.com/2009/11/membasmi-input-input-durjana-didalam-perl/</link>
		<comments>http://sembangprogramming.com/2009/11/membasmi-input-input-durjana-didalam-perl/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:58:11 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[sekuriti]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=198</guid>
		<description><![CDATA[Memandangkan saya banyak menggunakan Perl/CGI sejak kebelakangan ni, post ni adalah berkaitan dengan perl/cgi. 
Terdapat pengaturcara yang memandang ringan aspek sekuriti dalam perisian (kebanyakannya tak tahu, ignorance is bliss, no?) dan mengabaikannya sehinggalah suatu hari dimana perisian tersebut perlu menembusi pasaran yang lebih besar dan perlu melalui proses &#8220;penetration testing&#8221; (singkatan pen test) yang akan [...]]]></description>
			<content:encoded><![CDATA[<p>Memandangkan saya banyak menggunakan Perl/CGI sejak kebelakangan ni, post ni adalah berkaitan dengan perl/cgi. </p>
<p>Terdapat pengaturcara yang memandang ringan aspek sekuriti dalam perisian (kebanyakannya tak tahu, ignorance is bliss, no?) dan mengabaikannya sehinggalah suatu hari dimana perisian tersebut perlu menembusi pasaran yang lebih besar dan perlu melalui proses &#8220;<a href="http://en.wikipedia.org/wiki/Penetration_test">penetration testing</a>&#8221; (singkatan pen test) yang akan merungkaikan segala kelemahan yang telah diabaikan selama ini didalam pembangunan perisian tersebut.</p>
<p>Apabila terjadi begitu, maka bermulalah operasi menampal perisian daripada lubang-lubang sekuriti tersebut. Bagi kebanyakan input daripada pengguna dalam Perl/CGI, menggunakan &#8220;<strong>placeholder</strong>&#8221; adalah mencukupi untuk menyimpannya dengan selamat dalam pangkalan data (database) mengelakkan daripada SQL Injection. Rujuk article di perlmonks untuk penerangan lanjut, <strong><a href="http://www.perlmonks.org/?node_id=661423">Preventing SQL injection attacks: Placeholders are enough for MySQL, Postgresql and SQLite.</a></strong></p>
<p><a href="http://imgs.xkcd.com/comics/exploits_of_a_mom.png"><img src="http://sembangprogramming.com/wp-content/uploads/2009/11/exploits_of_a_mom-300x92.png" alt="exploits_of_a_mom" title="exploits_of_a_mom" width="300" height="92" class="aligncenter size-medium wp-image-202" /></a></p>
<p><strong>Apa bendakah itu &#8220;placeholder&#8221;?</strong><br />
Placeholder adalah nilai yang digunakan untuk menggantikan sesuatu nilai yang lain. </p>
<p>Berikut adalah contoh penggunaan placeholder.</p>
<pre class="perl" name="code">
$sth = $dbh->prepare( "SELECT name WHERE city = ? AND state = ?" );
$sth->execute( $city, $state );
</pre>
<p>Dengan menggunakan placeholder, modul <a href="http://search.cpan.org/~timb/DBI/DBI.pm">DBI</a> akan secara automatik menguruskan isu-isu &#8220;quoting&#8221; (escape single/double quote, e.g. \&#8221;) didalam nilai yang dihantar kepada pangkalan data.</p>
<p><strong>Kekurangan &#8220;placeholder&#8221;</strong><br />
Walaupun semua jenis input selamat dimasukkan kedalam database dengan menggunakan placeholder tanpa mengakibatkan SQL Injection, ia masih perlu diperiksa kesahihannya. Anda masih perlu untuk mengesahkan (validate) input yang dimasukkan samada ianya integer, numeric, alpha, alphanumeric, dsbnya.<br />
Jika input tersebut adalah berbentuk HTML, tukarkan semua character ke dalam <a href="http://search.cpan.org/~gaas/HTML-Parser-3.64/lib/HTML/Entities.pm">HTML Entities</a>, untuk mengelakkan daripada kes-kes <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS (Cross-site Scripting)</a>. Jika tiada HTML dibenarkan, gunakan <a href="http://search.cpan.org/~podmaster/HTML-Scrubber-0.08/Scrubber.pm">HTML::Scrubber</a> untuk sental semua html daripada input tersebut.</p>
<p>Berikut adalah contoh untuk menukarkan character-character ke bentuk HTML Entity</p>
<pre class="perl" name="code">
use HTML::Entities;
sub html_to_db{
    my ($html) = @_;
	$html = encode_entities($html);
	$html =~ s/\r\n//gs;
	return $html;
}
</pre>
<p>Marilah kita sama sama <strong>belajar mempertahankan diri</strong> daripada anasir-anasir yang tak diingini apabila membangunkan perisian.</p>
<p><a href="http://sembangprogramming.com/wp-content/uploads/2009/11/249141325_4913641b29.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2009/11/249141325_4913641b29.jpg" alt="249141325_4913641b29" title="249141325_4913641b29" width="500" height="274" class="aligncenter size-full wp-image-204" /></a></p>
<p>Selamat programming!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/11/membasmi-input-input-durjana-didalam-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pertandingan Pembangunan Aplikasi Web Sumber Terbuka 24 Jam di MyGOSSCON 2009</title>
		<link>http://sembangprogramming.com/2009/09/pertandingan-pembangunan-aplikasi-web-sumber-terbuka-24-jam-di-mygosscon-2009/</link>
		<comments>http://sembangprogramming.com/2009/09/pertandingan-pembangunan-aplikasi-web-sumber-terbuka-24-jam-di-mygosscon-2009/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 18:59:14 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Umum]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=173</guid>
		<description><![CDATA[Terdapat pertandingan yang akan diadakan oleh Kerajaan Malaysia sempena MyGOSSCON 2009 (Malaysian Government Open Source Software Conference).
Keterangan lanjut boleh didapati pada laman web acara tersebut.
Nampak macam menarik, tetapi jika saya memasuki pertandingan tersebut, aplikasi yang dibina rasanya tidak secanggih mana, kerana saya akan banyak fokus pada kebolehgunaan. Benda yang remeh-remeh seperti menu bantuan (help), tooltip, [...]]]></description>
			<content:encoded><![CDATA[<p>Terdapat pertandingan yang akan diadakan oleh Kerajaan Malaysia sempena MyGOSSCON 2009 (Malaysian Government Open Source Software Conference).</p>
<p>Keterangan lanjut boleh didapati pada <a href="http://mygosscon.oscc.org.my/2009/24h-oss-webdev-contest/#">laman web acara</a> tersebut.</p>
<p>Nampak macam menarik, tetapi jika saya memasuki pertandingan tersebut, aplikasi yang dibina rasanya tidak secanggih mana, kerana saya akan banyak fokus pada kebolehgunaan. Benda yang remeh-remeh seperti menu bantuan (help), tooltip, on-the-fly editable content (dengan menggunakan ajax), penerangan penggunaan aplikasi dan juga dokumentasi (yang memadai untuk pengguna).</p>
<p>Dengan kata lain, bergantung pada skop aplikasi web yang hendak dibangunkan, aplikasi yang dibangunkan dapat dijual setelah berlalu 24 jam pertandingan tersebut. Saya tidak tahu bagaimana pemarkahan akan diberi (ada tak info pada laman web mereka? Rasanya tiada), tetapi itulah yang akan saya lakukan. Sehaluan dengan matlamat pertandingan tersebut:</p>
<ul>
<li>Promote high level open source web application development skills in Malaysia.</li>
<li>Enable local OSS web application development communities to grow and establish themselves.</li>
<li>Encourage students to get involve in open source web application development and be well prepared for industry need.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/09/pertandingan-pembangunan-aplikasi-web-sumber-terbuka-24-jam-di-mygosscon-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rekabentuk dan Kebolehgunaan Antaramuka Pengguna</title>
		<link>http://sembangprogramming.com/2009/09/rekabentuk-dan-kebolehgunaan/</link>
		<comments>http://sembangprogramming.com/2009/09/rekabentuk-dan-kebolehgunaan/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 22:32:16 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=141</guid>
		<description><![CDATA[Rekabentuk dan Kebolehgunaan, bagi yang keliru, dalam bahasa inggeris ianya adalah Design and Usability. Pos ini hanyalah coretan mengenai rekabentuk dan kebolehgunaan pada aplikasi-aplikasi web.

Gambar yang terakhir banyak dilihat pada web aplikasi kerajaan. Seboleh-boleh nak sumbat semua benda, dan kadang-kadang pengaturcara terpaksa akur pada permintaan pengguna (ye lah, tak akur nanti tak nak sign UAT, [...]]]></description>
			<content:encoded><![CDATA[<p>Rekabentuk dan Kebolehgunaan, bagi yang keliru, dalam bahasa inggeris ianya adalah <strong>Design and Usability</strong>. Pos ini hanyalah coretan mengenai rekabentuk dan kebolehgunaan pada aplikasi-aplikasi web.</p>
<p><a href="http://sembangprogramming.com/wp-content/uploads/2009/09/usability.JPG"><img src="http://sembangprogramming.com/wp-content/uploads/2009/09/usability.JPG" alt="usability" title="usability" width="385" height="700" class="aligncenter size-full wp-image-142" /></a></p>
<p>Gambar yang terakhir banyak dilihat pada web aplikasi kerajaan. Seboleh-boleh nak sumbat semua benda, dan kadang-kadang pengaturcara terpaksa akur pada permintaan pengguna (ye lah, tak akur nanti tak nak sign UAT, hehe). Antara cara yang boleh dilakukan adalah menerangkan secara rasional dan saintifik tentang keputusan yang diambil dan impak daripada permintaan pengguna dengan harapan dapat memberi pilihan yang lebih baik daripada kehendaknya dan juga dapat meyakinkan pengguna akan keputusan dan kepakaran perekabentuk sistem.</p>
<p>Satu kes terpencil yang saya jumpa adalah pada waktu saya membuat demonstrasi aplikasi pada sebuah GLC. Ketua Pegawai Eksekutifnya (seorang ekspatriat UK) meminta supaya aplikasi tersebut mempunyai ciri-ciri yang digunapakai oleh Google (rujuk pada Google Apps). <em>Minimalist</em> pada antaramuka tapi kaya dengan fungsi disebalik tabir walaupun pada pendapat saya aplikasi yang saya demo itu agak bagus antaramukanya.</p>
<p>Motifnya adalah untuk mengurangkan click untuk melaksanakan sesuatu objektif kerana majoriti pelanggannya adalah ahli perniagaan, direktor dan orang-orang korporat. Saya amat memahami kehendaknya dan seringkali hendak mengutarakan dalam pembangunan aplikasi web di tempat saya bekerja tetapi tidak berkesampaian kerana selalunya kesuntukan masa (dan kekurangan orang).</p>
<p>Saya memang gemar minimalisme, tetapi bukan semua tempat boleh digunakan dan kadangkala agak sukar meyakinkan orang. Kerana ianya seperti lapang, tiada apa apa, seboleh-bolehnya orang nak sumbat sesuatu di setiap pelosok ruang pada antaramuka tersebut.</p>
<p>Contoh terdekat minimalisme yang boleh saya berikan adalah pada aplikasi yang saya siapkan baru baru ini (bukan untuk GLC yang saya ceritakan diatas).<br />
<span id="more-141"></span></p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3534/3813176917_d1e5819667.jpg"><img alt="Antaramuka Aplikasi Utama" src="http://farm4.static.flickr.com/3534/3813176917_d1e5819667.jpg" title="Antaramuka Pengguna" width="500" height="240" /></a><p class="wp-caption-text">Antaramuka Aplikasi Utama (bukan dibuat oleh saya)</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/25768438@N07/3813102321/"><img alt="Antaramuka Modul Pengguna Umum (Public User)" src="http://farm4.static.flickr.com/3525/3813102321_258d61c75c.jpg" title="Antaramuka Modul Pengguna Umum (Public User)" width="500" height="240" /></a><p class="wp-caption-text">Antaramuka Modul Pengguna Umum (Public User)</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/25768438@N07/3819131414/"><img alt="Antaramuka Modul Pengguna Umum (Public User) v2" src="http://farm4.static.flickr.com/3055/3819131414_d43b5baa8c.jpg" title="Antaramuka Modul Pengguna Umum (Public User) v2" width="500" height="240" /></a><p class="wp-caption-text">Antaramuka Modul Pengguna Umum (Public User) v2</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/25768438@N07/3907193103/"><img alt="Antaramuka Modul Pengguna Umum (Public User) v3" src="http://farm3.static.flickr.com/2517/3907193103_c3f3a7d3c3.jpg" title="Antaramuka Modul Pengguna Umum (Public User) v3" width="500" height="293" /></a><p class="wp-caption-text">Antaramuka Modul Pengguna Umum (Public User) v3</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/25768438@N07/3908091316/"><img alt="Antaramuka Kandungan Modul Pengguna Umum (Public User)" src="http://farm3.static.flickr.com/2509/3908091316_bafb73b1b7.jpg" title="Antaramuka Kandungan Modul Pengguna Umum (Public User)" width="500" height="266" /></a><p class="wp-caption-text">Antaramuka Kandungan Modul Pengguna Umum (Public User)</p></div>
<p>Pandangan pertama oleh pegawai-pegawai yang saya terima amat baik. Mungkin kerana mereka pengguna tegar aplikasi web masa kini? Saya tidak tahu. Saya membuat yang sebaik mungkin supaya rekabentuk dan kebolehgunaannya adalah yang terbaik untuk pengguna, mengikut perkembangan masa kini dan juga <a href="http://www.amazon.com/gp/product/0596008031?ie=UTF8&#038;tag=mkhairulcom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596008031">UI Design Pattern</a><img src="http://www.assoc-amazon.com/e/ir?t=mkhairulcom-20&#038;l=as2&#038;o=1&#038;a=0596008031" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>Walaupun ia mungkin tidak sebaik <a href="http://inspectelement.com/articles/showcase-of-fantastic-login-pages/">mereka ini</a>, tetapi ianya mudah dan ringkas. <strong>Bagaimana dengan antaramuka aplikasi-aplikasi anda?</strong></p>
<p>Antaramuka lain yang saya hasilkan boleh dilihat pada <a href="http://www.flickr.com/photos/25768438@N07/tags/ui/">Photostream Flickr</a> saya.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/09/rekabentuk-dan-kebolehgunaan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery: Perbezaan diantara $(document).ready dan $(window).load</title>
		<link>http://sembangprogramming.com/2009/09/jquery-perbezaan-diantara-document-ready-dan-window-load/</link>
		<comments>http://sembangprogramming.com/2009/09/jquery-perbezaan-diantara-document-ready-dan-window-load/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:30:34 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=115</guid>
		<description><![CDATA[
Disini saya akan post mengenai sesuatu lebih teknikal. Anda pernah menggunakan jQuery? Jika tak, maka anda perlu mencubanya  
Apabila kita nak sesuatu fungsi dalam javascript dilaksanakan apabila web telah dimuat turun, kita akan menggunakan samada $(document).ready ataupun $(window).load. Jadi apakah perbezaannya?
$(document).ready(function(){
  // kod disini
})
Fungsi didalam $(document).ready dilaksanakan apabila Document Object Model (DOM) siap [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquery.com" ><img src="http://sembangprogramming.com/wp-content/uploads/2009/09/logo_jquery_215x53.gif" alt="logo_jquery_215x53" style="background-color: black;" title="logo_jquery_215x53" width="215" height="53" class="alignright size-full wp-image-117" /></a><br />
Disini saya akan post mengenai sesuatu lebih teknikal. Anda pernah menggunakan jQuery? Jika tak, maka anda perlu mencubanya <img src='http://sembangprogramming.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Apabila kita nak sesuatu fungsi dalam javascript dilaksanakan apabila web telah dimuat turun, kita akan menggunakan samada <strong>$(document).ready</strong> ataupun <strong>$(window).load</strong>. Jadi apakah perbezaannya?</p>
<pre name="code" class="javascript">$(document).ready(function(){
  // kod disini
})</pre>
<p>Fungsi didalam <strong>$(document).ready</strong> dilaksanakan apabila <a href="http://en.wikipedia.org/wiki/Document_Object_Model">Document Object Model</a> (DOM) siap sedia digunakan, dengan erti kata lain, apabila semua element HTML (semua isi kandungan didalam ) telahpun dimuat turun.</p>
<pre name="code" class="javascript">
$(window).load(function(){
 // kod disini
})
</pre>
<p>Manakala fungsi didalam <strong>$(window).load</strong> dilaksanakan apabila kesemua element DOM dan juga imej-imej telahpun dimuat turun.</p>
<p>Jadi jika anda hendak mengubahsuai imej-imej (crop, resize, alignment, dsbnya) anda perlu menggunakan <strong>$(window).load</strong>. Jika anda hendak membuat <a href="http://upload.macromedia.com/exchange/flash/previews/thumb8.jpg">skrin preload</a> untuk aplikasi web anda, maka perlu menggunakan <strong>$(document).load</strong>. Guna dua-dua pun tidak mengapa, satu untuk preload dan satu lagi untuk manipulasi imej.</p>
<p>Itu saja setakat ini, selamat programming!</p>
<p><em>Sumber</em></p>
<ul>
<li><a href="http://tutsvalley.com/daily_tip/daily-tip-difference-between-document-ready-and-window-load-in-jquery/">Daily Tip : Difference between $(document).ready and $(window).load in jQuery</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/09/jquery-perbezaan-diantara-document-ready-dan-window-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peranan Firefox dalam Pembangunan Web</title>
		<link>http://sembangprogramming.com/2009/08/peranan-firefox-dalam-pembangunan-web/</link>
		<comments>http://sembangprogramming.com/2009/08/peranan-firefox-dalam-pembangunan-web/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 21:08:39 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=37</guid>
		<description><![CDATA[Siapa tidak kenal akan perisian untuk melayari web Mozilla Firefox? (Sila ikuti link untuk maklumat lanjut). Tidak ramai yang mengenali betapa besarnya peranan Firefox dalam pembangunan web. Saya tidak menggunakan Firefox sepenuhnya untuk melayari web kerana Google Chrome memenuhi kehendak saya untuk itu, akan tetapi, dalam membangunkan aplikasi atau laman web, tiada pengganti bagi Firefox.
Kenapa?
Semuanya [...]]]></description>
			<content:encoded><![CDATA[<div><img class="alignright size-medium wp-image-38" title="firefox" src="http://sembangprogramming.com/wp-content/uploads/2009/08/firefox-300x289.jpg" alt="firefox" width="106" height="103" />Siapa tidak kenal akan perisian untuk melayari web<span> </span><a href="http://www.mozilla.com/en-US/firefox/firefox.html">Mozilla Firefox</a>? (Sila ikuti link untuk maklumat lanjut). Tidak ramai yang mengenali betapa besarnya peranan Firefox dalam pembangunan web. Saya tidak menggunakan Firefox sepenuhnya untuk melayari web kerana<span> </span><a href="http://www.google.com/chrome">Google Chrome</a><span> </span>memenuhi kehendak saya untuk itu, akan tetapi, dalam membangunkan aplikasi atau laman web, tiada pengganti bagi Firefox.</div>
<div><strong>Kenapa?</strong></div>
<div>Semuanya kerana sambungan-sambungan (extension) yang terdapat pada<span> </span><strong>Firefox</strong>. Terutamanya<span> </span><strong><a href="http://getfirebug.com/">Firebug</a></strong>. Add-on ini dapat berkali ganda memudahkan pembangunan web.</div>
<div>
<ul>
<li>Anda boleh meneliti sesuatu elemen dengan mudah kerana firebug menyenaraikan sebarang rujukan CSS yang digunakan oleh elemen tersebut.</li>
<li>Mengedit HTML secara terus melalui antaramuka (User Interface) firebug.</li>
<li>Memudahkan proses nyahpijat (english: debug; aduh, pening dengan istilah-istilah nih) javascript melalui console firebug.</li>
<li>dan pelbagai lagi kemudahan, anda harus cuba untuk lebih memahami dan merasai nikmat yang dapat diberikannya <img src='http://sembangprogramming.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</li>
</ul>
<div><img class="aligncenter size-medium wp-image-39" title="firebug" src="http://sembangprogramming.com/wp-content/uploads/2009/08/firebug-300x181.jpg" alt="firebug" width="300" height="181" /></div>
<div>Selain dari firebug, terdapat beberapa lagi sambungan yang penting dalam pembangunan web.</div>
<div>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Extension</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/271">ColorZilla</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/539">MeasureIt</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/575">LiveHTTPHeader</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/2079">SeleniumIDE</a></li>
</ul>
<p>Mungkin ada banyak lagi yang digunakan oleh pengaturcara-pengaturcara web diluar sana, tapi yang kerap saya gunakan adalah<span> </span><strong>firebug</strong>,<span> </span><strong>web developer extension</strong><span> </span>dan juga<span> </span><strong>selenium</strong>. Ia bergantung pada keperluan masing-masing.</p>
<p>Buat masa ini saya memberi ulasan ringkas mengenai <strong>Firebug</strong>, tetapi penggunaannya amatlah penting dalam proses<span> </span><strong><a href="http://en.wikipedia.org/wiki/Debugging">debugging</a></strong>.<span> </span><strong>SeleniumIDE</strong><span> </span>yang tidak ramai mengetahui mengenainya juga amat penting dalam proses<span> </span><strong><a href="http://en.wikipedia.org/wiki/Software_testing">testing</a><span> </span></strong>kerana ia memberi keupayaan untuk melakukan<span> </span><strong><a href="http://en.wikipedia.org/wiki/Test_automation">automated testing</a></strong> (tak perlu letih-letih buat benda yang sama berulang-ulang).</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/08/peranan-firefox-dalam-pembangunan-web/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Video Rekabentuk Web dalam 2 minit</title>
		<link>http://sembangprogramming.com/2009/08/video-rekabentuk-web-dalam-2-minit/</link>
		<comments>http://sembangprogramming.com/2009/08/video-rekabentuk-web-dalam-2-minit/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 18:34:32 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=27</guid>
		<description><![CDATA[Antara video kegemaran saya. Video &#8216;time-lapse&#8216; yang menunjukkan proses rekabentuk / pembangunan laman web. Musiknya juga amat menenangkan.

Web Design in 2 Minutes
Saya ada merekod beberapa video ditempat kerja saya sebelum ni dalam membangunkan perisian untuk institusi pendidikan swasta. Malangnya video-video tersebut hilang entah ke mana.
]]></description>
			<content:encoded><![CDATA[<p>Antara video kegemaran saya. Video &#8216;<a href="http://en.wikipedia.org/wiki/Time-lapse">time-lapse</a>&#8216; yang menunjukkan proses rekabentuk / pembangunan laman web. Musiknya juga amat menenangkan.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/J0NZ4ekNZoI&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/J0NZ4ekNZoI&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: center;"><strong>Web Design in 2 Minutes</strong></p>
<p style="text-align: left;">Saya ada merekod beberapa video ditempat kerja saya sebelum ni dalam membangunkan perisian untuk institusi pendidikan swasta. Malangnya video-video tersebut hilang entah ke mana.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2009/08/video-rekabentuk-web-dalam-2-minit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
