<?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>Iznyn Design</title>
	<atom:link href="http://iznyn.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://iznyn.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Mon, 19 Dec 2011 03:46:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Membuat Button dengan CSS3</title>
		<link>http://iznyn.com/blog/2012/01/30/membuat-button-dengan-css3</link>
		<comments>http://iznyn.com/blog/2012/01/30/membuat-button-dengan-css3#comments</comments>
		<pubDate>Mon, 30 Jan 2012 22:54:08 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2012/01/30/membuat-button-dengan-css3</guid>
				<description><![CDATA[<p>CSS (Cascading Style Sheet) merupakan bahasa style yang digunakan untuk memberitahukan kepada browser tentang bagaimana markup HTML di tampilkan. CSS3 merupakan versi terbaru dari CSS dan memiliki berbagai feature baru yang dapat menolong pengembang dalam mengurangi penggunaan <em>non-semantic markup</em>, script yang terlalu kompleks atau penggunaan gambar tambahan. Feature baru tersebut antara lain adalah tambahan selectors, drop shadows,
rounded corners, multiple backgrounds, animation, transparency dan banyak lagi.</p>]]></description>
					<content:encoded><![CDATA[<p>CSS (Cascading Style Sheet) merupakan bahasa style yang digunakan untuk memberitahukan kepada browser tentang bagaimana markup HTML di tampilkan. CSS3 merupakan versi terbaru dari CSS dan memiliki berbagai feature baru yang dapat menolong pengembang dalam mengurangi penggunaan <em>non-semantic markup</em>, script yang terlalu kompleks atau penggunaan gambar tambahan. Feature baru tersebut antara lain adalah tambahan selectors, drop shadows,
rounded corners, multiple backgrounds, animation, transparency dan banyak lagi.</p>

<p>Keuntungan penggunaan CSS3 dapat dilihat dalam pembuatan sebuah button. Sebelum adanya CSS3 untuk membentuk suatu button yang bagus kita perlu menggunakan gambar tambahan, namun dengan CSS3 kita dapat membentuknya dengan hanya menggunakan kode CSS. Dengan attribute seperti border-radius, linear-gradient dan box-shadow kita dapat membuat sebuah button yang bagus tanpa menggunakan gambar tambahan. Bagi pengguna hal ini menjadi cukup menyenangkan karena akses website menjadi cepat karena tidak perlu lagi meload gambar tambahan.</p>

<p>Pada artikel ini kita akan belajar membuat sebuah button dengan menggunakan feature baru CSS3 dan berikut adalah hasil akhir dari button yang akan kita buat :</p>

<style type="text/css">
	.example {
		background-color: white!important;
		padding: 26px!important;
	}
	.button {
		margin-top: 20px;
		text-align: center!important;
	}
	.grd {
		text-decoration: none;
	}
	.button .grd {
		background-color: #fdfdfd;
		padding: 6px 12px;
		font: 11px Arial, sans-serif;
		color: #323232;
		border: 1px solid #bdbdbd;
		-moz-border-radius: 8px;
		-webkit-border-radius: 8px;
		-khtml-border-radius: 8px;
		-o-border-radius: 8px;
		border-radius: 8px;
		box-shadow: 0px 1px #dddddd;
		background-image: -moz-linear-gradient(#fdfdfd, #eaeaea);
		background-image: -webkit-linear-gradient(#fdfdfd, #eaeaea);
		background-image: -khtml-linear-gradient(#fdfdfd, #eaeaea);
		background-image: -o-linear-gradient(#fdfdfd, #eaeaea);
		background-image: linear-gradient(#fdfdfd, #eaeaea);
	}
	.example .grd:visited,
	.example .grd:link {
		color: #323232;
	}
	.example a:hover {
		text-decoration: none;
	}
	.button .grd:hover {
		border-color: #808080;
	}
	.button .grd:active {
		background-image: -moz-linear-gradient(#eaeaea, #fdfdfd);
		background-image: -webkit-linear-gradient(#eaeaea, #fdfdfd);
		background-image: -khtml-linear-gradient(#eaeaea, #fdfdfd);
		background-image: -o-linear-gradient(#eaeaea, #fdfdfd);
		background-image: linear-gradient(#eaeaea, #fdfdfd);
		background-color: #eaeaea;
	}
</style>

<p class="example button">
	<a href="#" class="grd">Send Message</a>
</p>

<h3>Basic Style</h3>
<p>Sebelum menggunakan CSS3 hal paling penting yang harus diperhatikan adalah bahwa belum semua browser pada hari ini support terhadap seluruh attribute CSS3 dan juga tidak semua pengguna bersedia melakukan update browser. Dengan fakta tersebut dapat kita asumsikan bahwa tidak semua pengguna akan dapat melihat efek dari attribute CSS3 yang digunakan. Untuk mengatasinya kita perlu membuat desain dasar yang tetap terlihat bagus meski browser yang digunakan oleh pengguna tidak support terhadap CSS3.</p>
<p>Berikut kode CSS yang membentuk tampilan dasar dari button :</p>
[css]
.button {
	font: 11px Arial, sans-serif;
	color: #323232;
	padding: 6px 12px;
	background-color: #fdfdfd;
	border: 1px solid #bdbdbd;
}
[/css]
<p>Kode CSS tersebut akan menghasilkan tampilan button sebagai berikut :</p>

<style type="text/css">
.button2 .grd {
	font: 11px Arial, sans-serif;
	color: #323232;
	padding: 6px 12px;
	background-color: #fdfdfd;
	border: 1px solid #bdbdbd;
}
</style>
<p class="example button2">
	<a href="#" class="grd">Send Message</a>
</p>
<p>Kunci penting dari suatu button adalah bahwa dia mempunyai perbedaan tampilan pada setiap tindakan menggunakan mouse. Kita dapat mengaturnya menggunakan <em>Pseudo-classes Selector</em> sebagai berikut :</p>

[css]
...
.button:hover {
	border-color: #808080;
}
.button:active {
	background-color: #eaeaea;
}
[/css]

<p>Kode CSS diatas akan menghasilkan sebagai berikut :</p>
<style type="text/css">
.button3 .grd {
	font: 11px Arial, sans-serif;
	color: #323232;
	padding: 6px 12px;
	background-color: #fdfdfd;
	border: 1px solid #bdbdbd;
}
.button3 .grd:hover {
	border-color: #808080;
}
.button3 .grd:active {
	background-color: #eaeaea;
}
</style>
<p class="example button3">
	<a href="#" class="grd">Send Message</a>
</p>
<p>Untuk memahami lebih lanjut tentang <em>Pseudo-classes Selector</em> dapat dilihat pada artikel saya, <a href="http://iznyn.com/blog/2011/02/15/mengenal-web-links-style" rel="bookmark">Mengenal Web Links : Style</a>.</p>

<p>Tampilan button tersebut adalah apa yang kan dilihat ketika browser tidak support terhadap CSS3. Tidak buruk bukan ?.</p>

<h3>CSS3 Style</h3>
<p>Nah setelah kita bisa membuat desain dasar diatas, kita sekarang dapat menambahkan attribute CSS3 pada button tanpa harus takut desain akan rusak pada browser lama.</p>
<h4>Rounded Corner</h4>
<p>Pertama kita akan menambahkan efek <em>Rounded Corner</em> pada button kita. Untuk melakukannya kita dapat menggunakan attribute <code>border-radius</code>. Untuk informasi lebih lengkap tentang penggunaan attribute ini silahkan baca pada <a href="http://www.css3.info/preview/rounded-border/">create rounded corners with CSS</a>.</p>
<p>Kita akan menambahkan Rounded Corner untuk semua sudut dengan kode sebagai berikut :</p>

[css]
.button {
	...
	border-radius: 8px;
}
[/css]

<p>Meski pada versi terbaru dari beberapa browser telah support attribute ini, tapi mungkin user belum mengupgrade browsernya sehingga kita perlu menambahkan 
<a href="http://reference.sitepoint.com/css/vendorspecific">vendor extension</a>, sebagai berikut :</p>

[css]
.button {
	...
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-khtml-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
}
[/css]

<p>Sekarang button kita akan berbentuk sebagai berikut :</p>
<style type="text/css">
.button4 .grd {
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-khtml-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
}
</style>
<p class="example button3 button4">
	<a href="#" class="grd">Send Message</a>
</p>

<h4>Gradient</h4>
<p>Efek gradient akan digunakan agar button kita benar-benar terlihat seperti button yang seharusnya. Untuk melakukannya kita dapat menggunakan attribute <code>linear-gradient</code>. Untuk informasi lebih lengkap tentang penggunaan attribute ini silahkan baca pada <a href="http://css-tricks.com/css3-gradients/">Speed Up with CSS3 Gradients</a>.</p>

<p>Kode yang menambahkan efek gradient tersebut adalah sebagai berikut :</p>

[css]
.button {
	...
	background-image: -moz-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -webkit-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -khtml-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -o-linear-gradient(#fdfdfd, #eaeaea);
	background-image: linear-gradient(#fdfdfd, #eaeaea);
}
.button:active {
	background-color: #eaeaea;
	background-image: -moz-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -webkit-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -khtml-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -o-linear-gradient(#eaeaea, #fdfdfd);
	background-image: linear-gradient(#eaeaea, #fdfdfd);
}
[/css]
<p>Kode diatas telah menyertakan <em>vendor extension</em>, yang membuat desain kita semakin kompatibel terhadap semua versi browse. Pada kode tersebut kita juga memberikan efek yang sama ketika button ditekan dengan warna gradient terbalik. Sekarang button kita akan berbentuk sebagai berikut : </p>

<style type="text/css">
.button5 .grd {
	background-image: -moz-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -webkit-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -khtml-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -o-linear-gradient(#fdfdfd, #eaeaea);
	background-image: linear-gradient(#fdfdfd, #eaeaea);
}
.button5 .grd:active {
	background-color: #eaeaea;
	background-image: -moz-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -webkit-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -khtml-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -o-linear-gradient(#eaeaea, #fdfdfd);
	background-image: linear-gradient(#eaeaea, #fdfdfd);
}
</style>
<p class="example button3 button4 button5">
	<a href="#" class="grd">Send Message</a>
</p>

<h3>Box Shadow</h3>
<p>Terakhir kita akan menambahkan sedikit efek shadow pada button dan kita melakukannya dengan attribute <code>box-shadow</code>, sebagai berikut :</p>

[css]
.button {
	...
	-moz-box-shadow: 0px 1px #dddddd;
	-webkit-box-shadow: 0px 1px #dddddd;
	-khtml-box-shadow: 0px 1px #dddddd;
	-o-box-shadow: 0px 1px #dddddd;
	box-shadow: 0px 1px #dddddd;
}
[/css]
<p>Untuk informasi lebih lanjut tentang penggunaan attribute <code>box-shadow</code> silahkan baca pada <a href="http://css-tricks.com/snippets/css/css-box-shadow/">CSS Box Shadow</a>.</p>

<p>Berikut seluruh kode CSS yang dibutuhkan untuk membentuk button :</p>
[css]
.button {
	background-color: #fdfdfd;
	padding: 6px 12px;
	font: 11px Arial, sans-serif;
	color: #323232;
	text-decoration: none;
	border: 1px solid #bdbdbd;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-khtml-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
	background-image: -moz-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -webkit-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -khtml-linear-gradient(#fdfdfd, #eaeaea);
	background-image: -o-linear-gradient(#fdfdfd, #eaeaea);
	background-image: linear-gradient(#fdfdfd, #eaeaea);
	-moz-box-shadow: 0px 1px #dddddd;
	-webkit-box-shadow: 0px 1px #dddddd;
	-khtml-box-shadow: 0px 1px #dddddd;
	-o-box-shadow: 0px 1px #dddddd;
	box-shadow: 0px 1px #dddddd;
}
.button:hover {
	border-color: #808080;
}
.button:active {
	background-image: -moz-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -webkit-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -khtml-linear-gradient(#eaeaea, #fdfdfd);
	background-image: -o-linear-gradient(#eaeaea, #fdfdfd);
	background-image: linear-gradient(#eaeaea, #fdfdfd);
	background-color: #eaeaea;
}
[/css]

<p>Dan berikut adalah hasil akhirnya :</p>

<style type="text/css">
.button6 .grd {
	-moz-box-shadow: 0px 1px #dddddd;
	-webkit-box-shadow: 0px 1px #dddddd;
	-khtml-box-shadow: 0px 1px #dddddd;
	-o-box-shadow: 0px 1px #dddddd;
	box-shadow: 0px 1px #dddddd;
}
</style>
<p class="example button3 button4 button5 button6">
	<a href="#" class="grd">Send Message</a>
</p>

<p>Demikian tutorial pembuatan button dengan CSS3, semoga bermanfaat.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2012/01/30/membuat-button-dengan-css3?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Hal baru di iznyn.com</title>
		<link>http://iznyn.com/blog/2012/01/18/hal-baru-di-iznyncom</link>
		<comments>http://iznyn.com/blog/2012/01/18/hal-baru-di-iznyncom#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:14:37 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Iznyn Corner]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2012/01/18/hal-baru-di-iznyncom</guid>
				<description><![CDATA[<p>Tahun pun telah berganti dan kami pun menggunakan momen ini untuk berusaha melakukan suatu transformasi ke sesuatu hal baru yang tentu saja menuju ke sebuah kebaikan. Hampir selama setengah tahun ini website iznyn.com tidak pernah berubah dari dari segi desain maupun konten. Hal ini memang cukup disesalkan namun apa daya kesibukan membuat waktu terkuras habis tak tersisa untuk menangani pembaharuan website ini.</p>]]></description>
					<content:encoded><![CDATA[<p>Tahun pun telah berganti dan kami pun menggunakan momen ini untuk berusaha melakukan suatu transformasi ke sesuatu hal baru yang tentu saja menuju ke sebuah kebaikan. Hampir selama setengah tahun ini website iznyn.com tidak pernah berubah dari dari segi desain maupun konten. Hal ini memang cukup disesalkan namun apa daya kesibukan membuat waktu terkuras habis tak tersisa untuk menangani pembaharuan website ini.</p>

<p>Dan pada awal tahun ini kami memiliki banyak waktu luang untuk kembali &quot;merias&quot; website ini sehingga membuatnya makin cantik dan bermanfaat bagi banyak pihak. Perubahan yang berhasil kami kerjakan diantaranya :</p>

<h3>Sistem Baru</h3>
<p>Sistem website atau <abbr title="Content Management System">CMS</abbr> akan menjadi hal sangat penting dalam pengelolaan website, tidak hanya tentang kemudahan mengelola konten website tapi juga bagaimana fleksibilitas CMS tersebut ketika kita ingin memperluas fungsi baru. Hal inilah yang ingin kami capai selama satu tahun ini.</p>
<p>Pada dasarnya iznyn.com masih menggunakan WordPress sebagai sistem dasar dengan mengembangkan theme sendiri. Namun berbeda dengan sebelumnya theme yang digunakan saat ini cukup independent dalam arti tidak tergantung pada fungsi-fungsi dari Plugin tambahan. Walaupun proses pengembangan menjadi lebih rumit namun kita bisa mendapatkan fleksibilitas maksimal dalam mempengaruhi website ini.</p>
<p>Semoga dalam beberapa bulan ke depan kami bisa membagi sistem website ini secara publik dalam bentuk WordPress Theme. Amin... </p>

<h3>Tampilan Baru</h3>
<p>Dalam perubahan iznyn.com kali ini kita juga melakukan perubahan tampilan website yaitu pada bagian :</p>

<dl>
<dt>Homepage</dt>
<dd><p>Dalam halaman depan kita menampilkan konten <strong>Works</strong> dan <strong>Blog Post</strong> secara berimbang dan saling bersebelahan. Selain itu kita juga menghilangkan <strong>Contact Form</strong> karena bagian tersebut justru menjadi sasaran spamer untuk mengirimkan email spam dan sebagai gantinya kita menambahkan link social network yang kami miliki.</p></dd>

<dt>Works</dt>
<dd><p>Kita melakukan perubahan besar terhadap bagian yang menampilkan hasil perkerjaan ini. Dengan desain baru serta ditambah beberapa fungsi Javascript membuat user dalam menjelajahi hasil karya kami menjadi semakin nyaman dan mudah. Selain itu kita juga menambah beberapa hasil karya yang telah berhasil kami buat selama satu tahun terakhir ini.</p></dd>
</dl>

<h3>Hal Yang Hilang</h3>
<p>Selain beberapa perubahan yang kami lakukan di iznyn.com kami juga menghilangkan beberapa hal yang kami nilai tidak efektif lagi jika dipertahankan, beberapa hal yang kami hilangkan antara lain :</p>

<dl>
<dt>Contact Form di Homepage</dt.
<dd><p>Kami memutuskan untuk menghilangkan fasilitas ini karena ternyata menjadi sasaran empuk bagi spamer untuk mengirimkan email spam. Jadi jika anda ingin menghubungi kami bisa langsung dilakukan di halaman <a href="http://iznyn.com/contact/">Contact</a>.</p></dd>

<dt>WordPress Theme</dt>
<dd><p>Beberapa waktu lalu saya telah membuat dan <a href="http://iznyn.com/blog/2009/09/18/2-wordpress-theme-baru-dari-iznyn-com">mempublikasikan dua WordPress Theme</a> yang bernama Opor Ayam dan PurityOfSoul. Namun karena terdapat kesulitan dalam pengembangan kedua theme ini maka kami memutuskan untuk menghentikan support dan pengembangannya.</p>
<p>Semoga dalam waktu dekat kami bisa mempublikasikan theme baru yang lebih professional.</p></dd>

<dt>Comment Notification</dt>
<dd><p>Sebelumnya ketika anda memberikan komentar pada blog iznyn.com maka anda akan mendapatkan penawaran untuk mengikuti setiap komentar baru pada post yang sama. Fasilitas ini pada dasarnya kami kembangkan sendiri dan kami mendapati beberapa masalah terhadap sistem yang menanganinya sehingga untuk sementara waktu fasilitas ini tidak dapat digunakan hingga kami berhasil memperbaiki fasilitas ini.</p></dd>
</dl>

<p>Dan akhir kata, kami hanya berharap bahwa semua perubahan ini dapat menjadikan website iznyn.com semakin bermanfaat bagi semua pihak. Amin..</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2012/01/18/hal-baru-di-iznyncom?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Membuat Zebra Table dengan CSS3</title>
		<link>http://iznyn.com/blog/2011/05/07/membuat-zebra-table-dengan-css-3</link>
		<comments>http://iznyn.com/blog/2011/05/07/membuat-zebra-table-dengan-css-3#comments</comments>
		<pubDate>Sat, 07 May 2011 11:57:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2011/05/07/membuat-zebra-table-dengan-css-3</guid>
				<description><![CDATA[<p>Kehadiran CSS3 sungguh sangat dinanti oleh pengembang web di seantero dunia karena dengan adanya CSS3 akan semakin memaksimalkan kreativitas mereka dalam mengembangkan website. Walaupun saat ini masih dalam bentuk <a href="http://www.w3.org/TR/2011/WD-css3-speech-20110419/">draft</a> namun telah <a href="http://www.impressivewebs.com/css3-browser-support/">disupport</a> oleh beberapa web browser modern sehingga memungkinkan kita untuk menggunakannya. Selain itu, telah banyak hasil <a href="http://www.smashingmagazine.com/2010/07/12/css3-design-contest-results/">penggunaan CSS3</a> dipublikasikan yang dapat dijadikan sebagai inspirasi dalam mengembangkan website. Dan pada artikel ini anda akan diperkenal penggunaan satu bagian kecil dari CSS 3 yang sudah menunjukkan kehebatannya. Di sini kita akan membuat <em>Zebra Table</em> dengan menggunakan CSS 3.</p>]]></description>
					<content:encoded><![CDATA[<p>Kehadiran CSS3 sungguh sangat dinanti oleh pengembang web di seantero dunia karena dengan adanya CSS3 akan semakin memaksimalkan kreativitas mereka dalam mengembangkan website. Walaupun saat ini masih dalam bentuk <a href="http://www.w3.org/TR/2011/WD-css3-speech-20110419/">draft</a> namun telah <a href="http://www.impressivewebs.com/css3-browser-support/">disupport</a> oleh beberapa web browser modern sehingga memungkinkan kita untuk menggunakannya. Selain itu, telah banyak hasil <a href="http://www.smashingmagazine.com/2010/07/12/css3-design-contest-results/">penggunaan CSS3</a> dipublikasikan yang dapat dijadikan sebagai inspirasi dalam mengembangkan website. Dan pada artikel ini anda akan diperkenal penggunaan satu bagian kecil dari CSS3 yang sudah menunjukkan kehebatannya. Di sini kita akan membuat <em>Zebra Table</em> dengan menggunakan CSS3.</p>

<p><strong>Zebra table</strong> merupakan istilah yang diberikan untuk suatu penyajian content table, dimana setiap row table secara berseling ditampilkan dengan background warna yang berbeda. Penyajian table seperti ini dimaksudkan untuk mempermudah user dalam membaca content di dalam table. 

Berikut salah satu contoh dari Zebra Table :</p>

<style type="text/css">
#zebra-table {
	width: 70%;
	color: #260e0f;
	border-collapse: collapse; 
	border-spacing: 0;
}
#zebra-table th {
	color: #F7E8E9;
	background-color: #260E0F;
	padding: 0.4em;
}
#zebra-table td {
	text-align: center;
	padding: 0.4em;
	background-color: #E4E3E1;
}
#zebra-table.finish tr:nth-child(odd) td {
	background-color: #D2D1D0;
}
</style>
<table id="zebra-table" class="finish">
	<thead>
		<tr>
			<th>Gol</th>
			<th>Player</th>
			<th>Name</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>21</td>
			<td>Dimitar Berbatov</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>19</td>
			<td>Carlos Tevez</td>
			<td>Manchester City</td>
		</tr>
		<tr>
			<td>15</td>
			<td>Robin van Persie</td>
			<td>Arsenal</td>
		</tr>
		<tr>
			<td>14</td>
			<td>Peter Odemwingie</td>
			<td>West Brom</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Florent Malouda</td>
			<td>Chelsea</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Javier Hernandez</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Rafael van der Vaart</td>
			<td>Tottenham Hotspur</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Kevin Nolan</td>
			<td>Newcastle United</td>
		</tr>
	</tbody>
</table>

<p>Sebelumnya untuk membentuk desain table seperti diatas dilakukan dengan menggunakan Javascript atau menambahkan class pada setiap baris table (tag <code>tr</code>). Penggunaan Javascript akan sedikit lebih rumit sedangkan penambahan class akan cukup merepotkan terutama ketika data yang ditampilkan cukup besar. Dengan CSS3 kita cukup menggunakan sedikit code untuk dapat membuat <em>Zebra Table</em> tersebut.</p>

<h3>Struktur HTML</h3>
<p>Pertama-tama kita terlebih dahulu membuat struktur HTML, sebagai berikut :</p>
[xml autolinks="false"]
<table id="zebra-table">
	<thead>
		<tr>
			<th>Gol</th>
			<th>Player</th>
			<th>Name</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>21</td>
			<td>Dimitar Berbatov</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>19</td>
			<td>Carlos Tevez</td>
			<td>Manchester City</td>
		</tr>
		<tr>
			<td>15</td>
			<td>Robin van Persie</td>
			<td>Arsenal</td>
		</tr>
		<tr>
			<td>14</td>
			<td>Peter Odemwingie</td>
			<td>West Brom</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Florent Malouda</td>
			<td>Chelsea</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Javier Hernandez</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Rafael van der Vaart</td>
			<td>Tottenham Hotspur</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Kevin Nolan</td>
			<td>Newcastle United</td>
		</tr>
	</tbody>
</table>
[/xml]

<h3>CSS Dasar</h3>
<p>Setelah menyusun struktur HTML table kita akan mulai menggunakan CSS untuk menyusun tampilan dari table. Namun untuk sementara kita jangan memikirkan bentuk dari <em>Zebra Table</em>, dari pada itu kita akan menyusun tampilan dasar dari table. Berikut kode CSS yang membentuk tampilan table :</p>

[css autolinks="false"]
#zebra-table {
	width: 50%;
	font: 62.5% Arial, "Helvetica Neue", Helvetica, sans-serif; 
	color: #260e0f;
	border-collapse: collapse; 
	border-spacing: 0;
}
#zebra-table th {
	color: #F7E8E9;
	background-color: #260E0F;
	font-size: 1.2em;
	padding: 0.4em 0;
}
#zebra-table td {
	text-align: center;
	font-size: 1.2em;
	padding: 0.4em 0;
	background-color: #E4E3E1;
}
[/css]

<p>Kode CSS diatas akan menghasilkan tampilan table sebagai berikut :</p>

<table id="zebra-table">
	<thead>
		<tr>
			<th>Gol</th>
			<th>Player</th>
			<th>Name</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>21</td>
			<td>Dimitar Berbatov</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>19</td>
			<td>Carlos Tevez</td>
			<td>Manchester City</td>
		</tr>
		<tr>
			<td>15</td>
			<td>Robin van Persie</td>
			<td>Arsenal</td>
		</tr>
		<tr>
			<td>14</td>
			<td>Peter Odemwingie</td>
			<td>West Brom</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Florent Malouda</td>
			<td>Chelsea</td>
		</tr>
		<tr>
			<td>13</td>
			<td>Javier Hernandez</td>
			<td>Manchester United</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Rafael van der Vaart</td>
			<td>Tottenham Hotspur</td>
		</tr>
		<tr>
			<td>12</td>
			<td>Kevin Nolan</td>
			<td>Newcastle United</td>
		</tr>
	</tbody>
</table>

<p>Disini kita tidak perlu menjelaskan maksud dari masing-masing kode CSS karena kita anggap anda sudah memahaminya secara mendalam. Jika anda belum memahami tentang CSS, <a href="http://www.w3schools.com/css/">W3School</a> dapat menjadi pijakan pertama anda untuk mempelajarinya.</p>

<p>Untuk membentuk <em>Zebra Table</em> dengan CSS3 cukup dilakukan dengan menggunakan <em>CSS3 Pseudo-classes</em> <code>:nth-child</code>. Pseudo-class ini berfungsi untuk menyamakan element berdasarkan posisinya di dalam element induk yang memiliki beberapa element turunan. Pseudo-class ini menerima satu argument yang dapat berupa <em>keyword</em>, <em>number</em> atau <em>number expression</em>.</p>

<p>Untuk membentuk <em>Zebra Table</em> kita dapat menggunakan <code>:nth-child</code> dan keyword <strong>odd</strong> sebagai argument. Pseudo-class tersebut kemudian akan menyamakan element secara berseling. Berikut kode CSS nya,</p>

[css autolinks="false"]
#zebra-table tr:nth-child(odd) td {
	background-color: #D2D1D0;
}
[/css]

<h3>Browser Support</h3>
<p>Satu kelemahan penggunaan CSS3 untuk saat ini adalah dukungan browser. Hanya browser modern saja yang telah mendukung CSS3, sehingga untuk user yang masih menggunakan browser lama tidak akan dapat melihat efek dari CSS3 tersebut. Untuk pseudo-class <code>:nth-child</code> telah didukung oleh Firefox 3.5+, Safari 3.1+, Opera 9.0+ dan Chrome 2.0+.</p>

<p>Namun masalah kecil ini jangan sampai mencegah anda untuk mencoba menggunakannya. Hal ini dikarenakan sifat CSS yang akan mengabaikan attribute yang tidak tersedia. Jadi ketika user menggunakan browser lama maka dia akan mendapatkan tampilan table biasa. Sedangkan bagi user yang menggunakan browser modern akan mendapatkan tambahan pengalaman melalui tampilan <em>Zebra Table</em>.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2011/05/07/membuat-zebra-table-dengan-css-3?feed=comment</wfw:commentRss>
		<slash:comments>2</slash:comments>
	</item>
		<item>
		<title>Mengenal WordPress Post Type</title>
		<link>http://iznyn.com/blog/2011/03/12/mengenal-wordpress-post-type</link>
		<comments>http://iznyn.com/blog/2011/03/12/mengenal-wordpress-post-type#comments</comments>
		<pubDate>Sat, 12 Mar 2011 08:07:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2011/03/12/mengenal-wordpress-post-type</guid>
				<description><![CDATA[<p>WordPress pada awalnya hanya sebuah mesin blog yang secara khusus didesain untuk menampilkan content Blog Post. Feature yang disediakan di dalam WordPress akan disesuaikan dengan kebutuhan suatu web blog. Seperti penyajian artikel berdasarkan tanggal, pengkategorian dan tagging artikel. Dia tidak dipersiapkan untuk memenuhi kebutuhan website yang lebih komplek.</p>]]></description>
					<content:encoded><![CDATA[<p>WordPress pada awalnya hanya sebuah mesin blog yang secara khusus didesain untuk menampilkan content Blog Post. Feature yang disediakan di dalam WordPress akan disesuaikan dengan kebutuhan suatu web blog. Seperti penyajian artikel berdasarkan tanggal, pengkategorian dan tagging artikel. Dia tidak dipersiapkan untuk memenuhi kebutuhan website yang lebih komplek.</p>
<p>Namun pada perkembangannya, fungsi-fungsi di dalam WordPress justru diperluas oleh beberapa pengembang website untuk dapat menyelesaikan berbagai kebutuhan website yang lebih komplek, seperti Website gallery, E-Commerce, dan sebagainya. Dengan kata lain sekarang ini WordPress telah berkembang menjadi sebuah CMS (Content Management System).</p>
<p>Melihat perkembangan tersebut, pengembang WordPress mulai berpikir untuk menambahkan beberapa fasilitas yang dapat mendukung kebutuhan suatu Content Management System. Dan salah satu fasilitas tersebut adalah <strong>Post Type</strong>.</p>

<h3>Pengertian Post Type</h3>
<p>Untuk mempermudah pembahasan tentang Post Type, kita dapat mengartikan Post Type sebagai tipe content di dalam suatu website. Sebelumnya kita telah mengenal tiga jenis konten yang disediakan oleh WordPress, yaitu Post, Page dan Attachment. Ketiga jenis konten ini memiliki karakteristik dan cara penyajian yang berbeda-beda.</p>
<p>Dengan tiga jenis konten tersebut akan sangat sulit untuk memenuhi kebutuhan website yang lebih komplek. Tanpa adanya kesempatan untuk menambahkan tipe konten baru, membutuhkan kerja extra untuk dapat memenuhinya. Sehingga dengan adanya penambahan fasilitas yang memungkinkan untuk membentuk tipe konten baru jelas merupakan kabar gembira bagi pengguna WordPress.</p>

<h3>Cara Penambahan Post Type</h3>
<p>Secara teknis setiap konten (post, page atau attachment) oleh WordPress akan disimpan di dalam database didalam table <strong>wp_post</strong>, dan dibedakan dengan nilai dari field <em>post_type</em> (diisi sesuai dengan nama tipe post). Dengan nilai field <em>post_type</em> inilah kita kemudian akan membedakan konten yang akan ditampilkan.</p>
<p>Menambahkan Post Type berarti kita menyimpan konten WordPress dengan nilai field post_type baru. Namun untuk melakukannya tidak semudah yang dikatakan. Pertama kita perlu membuat fungsi yang menyimpan data post dengan post_type berbeda. Kemudian kita juga perlu membuat halaman administration yang akan berfungsi sebagai input data. Terakhir kita perlu membuat fungsi-fungsi yang menampilkan content post_type tersebut.</p>

<p>Kabar baiknya, sekarang kita dapat memenuhi kebutuhan penambahan post type baru tanpa harus membuat fungsi-fungsi itu sendiri, karena WordPress telah menyediakannya untuk kita. Untuk menambahkan post type baru dapat dilakukan cukup dengan satu fungsi, yaitu <code>register_post_type</code>. Selain berfungsi untuk mendaftarkan post type baru ke dalam sistem WordPress, function ini juga berfungsi untuk mengatur karakteristik dari post type tersebut. Function ini membutuhkan dua parameter, yaitu :</p>
<dl>
<dt>$name</dt>
<dd>Parameter yang akan menentukan nama dari post type. Nama ini akan berfungsi untuk membedakan konten di dalam database serta untuk menampilkan tipe konten tersebut.</dd>
<dt>$arguments</dt>
<dd>Parameter opsional yang digunakan untuk mengatur karakteristik post type. Argument kita masukkan ke dalam function dalam bentuk Array, dengan array key sebagai kata kunci argument dan array value sebagai nilai argument. Untuk penjelasan lebih lengkap tentang arguments pengaturan post type dapat dibaca pada &quot;Pengaturan Post Type pada WordPress&quot;.</dd>
</dl>
<p>Setiap kita melakukan pendaftaran terhadap suatu post type baru maka akan ditambahkan bagian baru di dalam bagian administrator sesuai dengan pengaturan yang kita tentukan. Berikut contoh penambahan post type baru :</p>
[php]
$labels = array(
    'name' => _x('Works', 'Works'),
    'singular_name' => _x('Works', 'Works'),
    'add_new' => _x('Add New', 'work'),
    'add_new_item' => __('Add New Work'),
    'edit_item' => __('Edit Work'),
    'new_item' => __('New Work'),
    'view_item' => __('View Work'),
    'search_items' => __('Search Work'),
    'not_found' =>  __('Nothing found'),
    'not_found_in_trash' => __('Nothing found in Trash'),
    'parent_item_colon' => ''
);
 
$args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array( 'title','editor','excerpt', 'revisions' )
);  
register_post_type( 'work' , $args );
[/php]
<p>Contoh diatas akan mendaftarkan suatu post type bernama &quot;work&quot;. Untuk memahami detail tentang pengaturan post type diatas dapat dilihat pada &quot;Pengaturan Post Type pada WordPress&quot;.</p>
<p>Satu hal yang paling penting dalam pendaftaran post type baru adalah dimana kode pendaftaran diletakkan dan dipanggil. Ketika request datang ke sistem WordPress maka post type yang telah kita buat harus sudah dapat dikenali oleh WordPress sehingga halaman pengaturan post type tersebut dapat dibuat (di dalam administration) atau konten dengan tipe post tersebut dapat ditampilkan.</p>
<p>Agar hal tersebut dapat di penuhi kita harus meletakkan kode pendaftar post type (function register_post_type) di bagian awal dari proses penanganan request WordPress. Disini kita dapat memanfaatkan hook action <code>init</code> yang telah disediakan oleh WordPress. Untuk melakukannya pertama kita perlu menggabungkan kode pendaftaran post type ke dalam suatu function, kemudian function tersebut kita daftarkan ke action <code>init</code>, berikut kodenya.</p>
[php]
function registerPostTypeWork {
    $labels = array(
        'name' => _x('Works', 'Works'),
        'singular_name' => _x('Works', 'Works'),
        'add_new' => _x('Add New', 'work'),
        'add_new_item' => __('Add New Work'),
        'edit_item' => __('Edit Work'),
        'new_item' => __('New Work'),
        'view_item' => __('View Work'),
        'search_items' => __('Search Work'),
        'not_found' =>  __('Nothing found'),
        'not_found_in_trash' => __('Nothing found in Trash'),
        'parent_item_colon' => ''
    );
	 
    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array( 'title','editor','excerpt', 'revisions' )
    );  
    register_post_type( 'work' , $args );
}
add_action( 'init', 'registerPostTypeWork' );
[/php]
<p>Setelah kita mendaftarkan post type tersebut, kita langsung dapat menggunakannya. Dalam artikel ini hanya sekedar pengenalan terhadap post type WordPress, untuk pembahasan lebih detail termasuk pengenalan pengaturan post type dan contoh implementasi post type akan dijelaskan pada beberapa artikel kami berikutnya.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2011/03/12/mengenal-wordpress-post-type?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Membuat Method Getter Yang Efektif</title>
		<link>http://iznyn.com/blog/2011/03/06/membuat-method-getter-yang-efektif</link>
		<comments>http://iznyn.com/blog/2011/03/06/membuat-method-getter-yang-efektif#comments</comments>
		<pubDate>Sun, 06 Mar 2011 11:43:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Php]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2011/03/06/membuat-method-getter-yang-efektif</guid>
				<description><![CDATA[<p>Di dalam dunia <em>OOP (Object Oriented Programming)</em> kita mengenal adanya konsep <strong>Encapsulation</strong>, dimana setiap perubahan yang terjadi di dalam <em>class</em> jangan sampai menyebabkan efek berantai yang tidak diinginkan sehingga dapat mengganggu kinerja applikasi secara keseluruhan.</p>
<p>Penerapan konsep <em>Encapsulation</em> dilakukan dengan memperjelas <a href="http://php.net/manual/en/language.oop5.visibility.php" title="More about PHP Visibility">visibility</a> dari setiap <em>property</em> di dalam <em>class</em>. Visibility akan menentukan dimana property dan method dapat diakses.</p>]]></description>
					<content:encoded><![CDATA[<p>Di dalam dunia <em>OOP (Object Oriented Programming)</em> kita mengenal adanya konsep <strong>Encapsulation</strong>, dimana setiap perubahan yang terjadi di dalam <em>class</em> jangan sampai menyebabkan efek berantai yang tidak diinginkan sehingga dapat mengganggu kinerja applikasi secara keseluruhan.</p>
<p>Penerapan konsep <em>Encapsulation</em> dilakukan dengan memperjelas <a href="http://php.net/manual/en/language.oop5.visibility.php" title="More about PHP Visibility">visibility</a> dari setiap <em>property</em> di dalam <em>class</em>. Visibility akan menentukan dimana property dan method dapat diakses. Di dalam <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> kita mengenal 3 jenis <em>visibility</em>, yaitu :</p>
<dl>
	<dt>Public</dt>
	<dd>Setiap <em>property</em> dan <em>method</em> dengan hak akses ini akan dapat diakses secara bebas baik dari luar maupun dari dalam class.</dd>
	<dt>Private</dt>
	<dd>Dengan hak akses ini akan membuat property dan method hanya dapat diakses di dalam class.</dd>
	<dt>Protected</dt>
	<dd>Dengan hak akses ini, property dan method tidak dapat diakses dari luar class namun dapat diakses di dalam class turunan.</dd>
</dl>
<p>Kita menggunakan <em>visibility</em> ini dengan menambahkan kata kunci <em>visibility</em> di depan property atau method, seperti :</p>
[php]
class Person
{
    protected $_name;

    public function getName()
    {
        //Some code
    }
}
[/php]
<p>Penggunaan <em>visibility</em> akan sangat tergantung dari desain dan kebutuhan applikasi.</p>

<h3>Penggunaan Setter dan Getter</h3>
<p>Penerapan konsep <em>encapsulation</em> yang paling aman adalah dengan menutup seluruh akses property class baik dengan menggunakan visibility <em>private</em> maupun <em>protected</em>. Kemudian untuk property yang didesain untuk dapat diakses dari luar class, kita dapat membuat method yang berfungsi untuk merubah <em>(setter)</em> dan mendapatkan <em>(getter)</em> nilai property. Berikut contoh dari method <em>getter</em> dan <em>setter</em> ini :</p>
[php]
class Person
{
    protected $_name;

    public function setName( $name )
    {
        $this->_name = $name;
    }

    public function getName()
    {
        return $this->_name;
    }
}
[/php]
<p>Untuk method <em>setter</em> kemudian kita dapat menambahkan beberapa kode untuk memperketat nilai yang dapat dimasukkan ke dalam property.</p>

<h3>Mendesain Method Getter yang Efektif</h3>
<p>Ketika kita membuat suatu method getter, kita mungkin hanya akan secara langsung mengembalikan nilai di dalam property seperti yang ada dalam contoh diatas. Tentu saja tidak ada yang salah dengan hal ini, namun kita dapat mendesain method getter agar dapat digunakan secara lebih efektif.</p>

<h4>Memeriksa Nilai Property</h4>
<p>Ketika menggunakan method getter terkadang kita tidak mengetahui secara pasti nilai di dalam property sehingga dengan desain method getter sebelumnya kita perlu memeriksa nilai yang dihasilkan.</p>
<p>Berikut ini contoh pemeriksaan agar nilai yang dihasilkan oleh method getter selalu berbentuk string,</p>
[php]
$person = new Person();
$name   = $person->getName();
if ( ! empty( $name ) && is_string( $name ) ) {
	//Do something
}
[/php]
<p>Jika kita mempunyai kebutuhan kode diatas di beberapa tempat di dalam applikasi tentu saja akan sangat merepotkan, karena kita harus mengulang kode yang sama disetiap tempat yang membutuhkannya.</p>
<p>Solusi terbaik dalam masalah ini adalah dengan melakukan pemeriksaan di dalam method getter. Berikut contoh untuk penyelesaian dari method <code>getName</code>.</p>
[php]
public function getName()
{
    $name = false;
    if ( ! empty( $this->_name ) && is_string( $this->_name ) ) {
        $name = $this->_name;
    }
    return $name;
}
[/php]
<p>Sekarang untuk menggunakan method <code>getName</code> cukup dengan kode berikut :</p>
[php]
if ( $name = $person->getName() ) {
    //Do something
}
[/php]

<h4>Menambahkan Nilai Default</h4>
<p>Dalam method getter di atas akan mengembalikan nilai <code>false</code> jika tidak sesuai dengan pemeriksaan. Namun terkadang kita menginginkan adanya nilai default jika pemeriksaan tidak sesuai. Berikut contohnya :</p>
[php]
if ( ! $name = $person->getName() ) {
    $name = 'Unknown';
}
//Do something
[/php]
<p>Kita bisa menyederhanakan kode di atas dengan memungkinkan method getter untuk mengembalikan nilai default ketika tidak sesuai dengan pemeriksaan nilai yang di dapatkan. Berikut contohnya :</p>
[php]
public function getName( $default = false ) 
{
    $name = $default;
    if ( ! empty( $this->_name ) && is_string( $this->_name )) {
        $name = $this->_name;
    }
    return $name;
}
[/php]
<p>Penggunaan method <code>getName</code> sekarang menjadi lebih sederhana, yaitu :</p>
[php]
$name = $person->getName( 'Unknown' );
//Do something
[/php]
<p>Menyusun suatu method getter akan sangat tergantung pada desain applikasi yang dikerjakan, namun dengan membuat desain method getter yang disesuaikan dengan penggunaannya akan memberikan keuntungan lebih bagi kita.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2011/03/06/membuat-method-getter-yang-efektif?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Menambahkan Post Thumbnail Tanpa Bantuan Theme dan Plugin</title>
		<link>http://iznyn.com/blog/2011/02/26/menambahkan-post-thumbnail-tanpa-bantuan-theme-dan-plugin</link>
		<comments>http://iznyn.com/blog/2011/02/26/menambahkan-post-thumbnail-tanpa-bantuan-theme-dan-plugin#comments</comments>
		<pubDate>Sat, 26 Feb 2011 09:37:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2011/02/26/menambahkan-post-thumbnail-tanpa-bantuan-theme-dan-plugin</guid>
				<description><![CDATA[<p>Mulai versi 2.9, WordPress menambahkan fasilitas post thumbnail. Post thumbnail merupakan sebuah gambar yang dijadikan sebagai gambar representative dari suatu <strong>post</strong>, <strong>page</strong> ataupun <strong>Custom Post Type</strong>. Feature ini terutama berguna untuk membentuk tampilan post yang mirip dengan isi majalah.</p>]]></description>
					<content:encoded><![CDATA[<p>Mulai versi 2.9, WordPress menambahkan fasilitas post thumbnail. Post thumbnail merupakan sebuah gambar yang dijadikan sebagai gambar representative dari suatu <strong>post</strong>, <strong>page</strong> ataupun <strong>Custom Post Type</strong>. Feature ini terutama berguna untuk membentuk tampilan post yang mirip dengan isi majalah.</p>

<p>Walaupun fasilitas ini telah ditambahkan di dalam WordPress namun ketersediaan dan penggunaannya sangat tergantung pada theme yang digunakan. Jika dalam theme yang digunakan tidak mendukung penambahan post thumbnail maka kita tidak dapat menggunakannya. Penerapan post thumbnail dari setiap theme pun akan berbeda-beda. Sebagai contoh pada default theme 3.0, twentyteen, setiap post thubmnail akan ditempatkan pada bagian header website.</p>

<p>Berikut contoh dari post thumbnail :</p>

<p class="image">
[wptf act="InsertImg" src="post-thumbnail/post-thumbnail-example.jpg" alt="Gambar contoh post thumbnail"][/wptf]
</p>

<p>Dengan kenyataan seperti itu, maka terlalu merepotkan jika kita terlalu mengandalkan theme dan plugin hanya untuk menambahkan post thumbnail. Pada tutorial ini akan menjelaskan bagaimana menambahkan post thumbnail ke dalam sistem WordPress dengan sangat mudah dan cepat.</p>

<p>Untuk menambahkan post thumbnail kita perlu memberitahukan kepada WordPress bahwa theme yang kita gunakan mendukung fasilitas post thumbnail. Untuk melakukannya buka file <code>function.php</code> di folder theme yang digunakan dan tambahkan kode berikut :</p>
[php]
if ( function_exists( 'add_theme_support') ) { 
    add_theme_support( 'post-thumbnails' ); 
}
[/php]

<p>Kode diatas akan menambahkan sebuah panel di halaman administrator &quot;Add New Post&quot; dan &quot;Add New Page&quot; berlabel <strong>Featured Image</strong>. Panel ini akan berfungsi untuk menyertakan sebuah image ke dalam post. Setelah menyertakan image ke dalam post maka anda tinggal menggunakannya di dalam theme.</p>

<p class="image">
[wptf act="InsertImg" src="post-thumbnail/featured-image-panel.jpg" alt="Gambar contoh post thumbnail"][/wptf]
</p>

<p>Disini kita hanya akan memberikan contoh untuk penambahan image di bagian atas setiap post. Caranya cukup sederhana, anda cukup menambahkan kode singkat berikut pada file <code>function.php</code> :</p>

[php]
function IznynPostThumbnail( $content ) {
    $thumbnail = '<p class="thumbnail">' . get_the_post_thumbnail() . '</p>';
    return $thumbnail . $content;
}
add_filter( 'the_content', 'IznynPostThumbnail' );
[/php]

<p>Dengan kode diatas maka setiap image yang disertakan pada setiap post akan ditambahkan pada bagian atas dari setiap post. Berikut contohnya :</p>

<p class="image">
[wptf act="InsertImg" src="post-thumbnail/post-thumbnail-insert.jpg" alt="Gambar contoh post thumbnail"][/wptf]
</p>

<h3>Image Size</h3>

<p>Pada kode di atas hanya akan menampilkan gambar post thumbnail dengan ukuran sesuai dengan ukuran default dari function <code>get_the_post_thumbnail</code>. Untuk merubahnya kita dapat menentukan ukuran gambar melalui parameter function tersebut. Berikut contohnya :</p>

[php]
function IznynPostThumbnail( $content ) {
    $imageSize = array(
        '200', //Image width
        '400', //Image height
        'true' //Croping image ?		
    );
    $thumbnail = '<p class="thumbnail">' . get_the_post_thumbnail() . '</p>';
    return $thumbnail . $content;
}
add_filter( 'the_content', 'IznynPostThumbnail' );
[/php]

<p>Selain secara langsung menentukan ukuran gambar dengan nilai yang anda inginkan, anda juga dapat menentukan ukuran gambar dengan kata kunci yang telah disediakan oleh WordPress, yaitu :</p>
<ol>
	<li><em>thumbnail</em> - Ukuran 150px x 150px</li>
	<li><em>medium</em> - Ukuran 300px x 300px</li>
	<li><em>large</em> - Ukuran 640px x 640px</li>
</ol>
<p>Apabila ada ukuran yang sesuai anda tinggal mengganti parameter $imageSize dengan kata kunci tersebut, yaitu :</p>

[php]
$imageSize = 'medium';
[/php]

<h3>Image Style</h3>

<p>Untuk mempercantik tampilan post thumbnail tersebut masukkan kode CSS dibawah ini, ke dalam file <code>style.css</code> di dalam folder theme anda :</p>
[css]
.thumbnail {
    float: left;
    margin-left: 1em;
}
.thumbnail img {
    padding: 2px;
    border: 1px solid #666666;
}
[/css]

<p>Berikut hasil akhir dari post thumbnail :</p>

<p class="image">
[wptf act="InsertImg" src="post-thumbnail/post-thumbnail-finish.jpg" alt="Gambar contoh post thumbnail"][/wptf]
</p>

<p>Demikianlah tutorial tentang penambahan gambar post thumbnail di dalam suatu post, semoga bermanfaat. Dan selamat mencoba.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2011/02/26/menambahkan-post-thumbnail-tanpa-bantuan-theme-dan-plugin?feed=comment</wfw:commentRss>
		<slash:comments>3</slash:comments>
	</item>
		<item>
		<title>Mengenal Web Links : Style</title>
		<link>http://iznyn.com/blog/2011/02/15/mengenal-web-links-style</link>
		<comments>http://iznyn.com/blog/2011/02/15/mengenal-web-links-style#comments</comments>
		<pubDate>Tue, 15 Feb 2011 11:31:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2011/02/15/mengenal-web-links-style</guid>
				<description><![CDATA[<p>Setelah pada artikel sebelumnya, kita telah menjelaskan tentang bagaimana menyusun struktur dasar suatu link, kali ini kita akan menjelaskan bagaimana cara menghias link dengan menggunakan <abbr title="Cascade Style Sheet">CSS</abbr> agar dapat berfungsi secara maksimal. Di dalam menghias suatu link dapat dilakukan dengan berbagai cara dan dengan berbagai attribute CSS. Namun kita harus tetap memperhatikan anatomi suatu link, dimana link merupakan suatu bagian di dalam halaman web yang dapat diklik dan akan membawa user ke halaman lain.</p>]]></description>
					<content:encoded><![CDATA[<p>Setelah pada artikel sebelumnya, kita telah menjelaskan tentang bagaimana menyusun struktur dasar suatu link, kali ini kita akan menjelaskan bagaimana cara menghias link dengan menggunakan <abbr title="Cascade Style Sheet">CSS</abbr> agar dapat berfungsi secara maksimal.</p>
<p>Link akan menjadi sebuah hal yang paling penting di dalam suatu website. Tanpa adanya link tidak akan terbentuk jaringan internet yang kuat. Link akan menghubungkan satu halaman web dengan halaman web lainnya sehingga memungkinkan halaman-halaman web saling berkomunikasi. Di dalam sisi <abbr title="Search Engine Optimizer">SEO</abbr> link menjadi unsur terpenting di dalam pengukuran peringkat website.</p>

<h3>Link Style</h3>
<p>Di dalam menghias suatu link dapat dilakukan dengan berbagai cara dan dengan berbagai attribute CSS. Namun kita harus tetap memperhatikan anatomi suatu link, dimana link merupakan suatu bagian di dalam halaman web yang dapat diklik dan akan membawa user ke halaman lain.</p>
<p>Selain itu kita perlu memperhatikan kebiasaan penyusunan link secara umum pada website lain karena sebagian besar waktu akan dihabiskan di website lain sehingga secara pasti user akan terbiasa dengan bentuk link di dalam website-website tersebut.</p>

<h3>CSS Selector</h3>
<p>Selector di dalam CSS berfungsi untuk menargetkan element di dalam dokumen yang akan diubah tampilannya. Untuk mengubah tampilan dari suatu link kita dapat menggunakan element selector <code>a</code>. Lihatlah contoh di bawah ini untuk lebih jelasnya.</p>
[css]
a {
    color: blue;
}
[/css]
<style type="text/css">
a {
	color: inherit;
	text-decoration: none;
}
.entry-content a.exlink1 {
	color: blue;
}
</style>
<p>Kode CSS diatas akan merubah warna teks link menjadi biru seperti : <a class="exlink1" href="http://contoh.com">Blue Link</a>.</p>
<p>Selain element selector <code>a</code>, CSS menyediakan beberapa <em>pseudo-classes selector</em> yang secara khusus digunakan untuk link. Dengan menggunakan selector ini kita dapat mengubah style link untuk berbagai kondisi. Beberapa pseudo-classes selector ini antara lain :</p>
<dl>
	<dt>:link</dt>
	<dd>Pseudo-classes selector yang digunakan untuk menargetkan element link pada kondisi biasa atau belum adanya interaksi dari user ke link. Efek dari selector ini hampir sama seperti di dalam element selector.</dd>
	<dt>:visited</dt>
	<dd>Pseudo-classes selector yang digunakan untuk menargetkan element link, dimana link tersebut telah diklik sebelumnya.</dd>
	<dt>:hover</dt>
	<dd>Pseudo-classes selector yang digunakan untuk menargetkan element link ketika mouse sedang berada di atasnya.</dd>
	<dt>:active</dt>
	<dd>Pseudo-classes selector yang digunakan untuk menargetkan element link ketika link sedang diklik.</dd>
</dl> 
<p>Satu hal yang perlu anda ingat tentang selector pseudo-class diatas adalah urutan di dalam file css harus seperti urutan diatas, jika tidak mungkin efek code css tidak akan terlihat. Selain itu untuk element selector <code>a</code> jika di deklerasikan setelah pseudo-classes ini akan menggantikan seluruh style dari kondisi link diatas.</p>

<h3>Contoh Tampilan Link</h3>
<p>Dalam menghias element link dapat dilakukan dengan berbagai gaya seperti mengubah warna teks, mempertebal teks, menambah garis bawah, dan sebagainya. Selain itu dengan memberikan gaya yang berbeda pada setiap kodisi link (hover, active, visited) akan semakin memperkuat link tersebut.</p>
<p class="note">Sebelum anda mengatur style element link, sebaiknya anda melakukan pembersihan terhadap default style dari browser sehingga dapat mempermudah dalam mengatur tampilan link. Satu yang disediakan oleh <a href="http://developer.yahoo.com/yui/reset/" title="Reset CSS from YUI">Yahoo (YUI)</a> adalah contoh yang cukup bagus untuk melakukannya.</p>
<p>Berikut beberapa contoh dari pengaturan tampilan link :<p>

<h4>Simple Link Style</h4>
<p>Penyusunan tampilan link yang paling sederhana adalah mengubah warna dan menambahkan garis bawah. Style ini sangat sesuai untuk link yang berada di dalam suatu paragraph. Berikut beberapa contohnya :</p>
[css]
a {
    color: #cc00cc;
    text-decoration: underline;
}
[/css]
<style type="text/css">
.entry-content a.exlink2 {
	color: #cc00cc;
    text-decoration: underline;
}
</style>
<p>Kode CSS ini akan menghasilkan <a href="http://contoh.com" class="exlink2">link seperti ini</a>.</p>
<p>Kita coba menambahkan style dengan Pseudo-classes, sebagai berikut :</p>
[/css]
[css]
a:link {
    color: #003399;
}
a:visited {
    color: #003366;
}
a:hover {
    text-decoration: underline;
}
a:active {
    color: #0066ff;
}
[/css]
<style type="text/css">
.entry-content a.exlink3:link {
	color: #003399; 
}
.entry-content a.exlink3:visited {
	color: #003366;
}
.entry-content a.exlink3:hover {
	text-decoration: underline;
}
.entry-content a.exlink3:active {
	color: #0066ff;
}
</style>
<p>Kode CSS ini akan menghasilkan <a class="exlink3" href="http://contoh.com">link seperti ini</a>.</p>


<h4>Underline With Border</h4>
<p>Keuntungan penggunaan border daripada attribute CSS <code>text-decoration</code> adalah garis yang ditambahkan menjadi lebih bervariasi. Berikut contohnya :</p>
[css]
a {
    color: #33cc00;
    border-bottom: 1px dotted #009900;
}
[/css]
<style type="text/css">
.entry-content a.exlink4 {
	color: #006600;
	border-bottom: 1px dotted #003300; 
}
</style>
<p>Kode CSS ini akan menghasilkan <a class="exlink4" href="http://contoh.com">link seperti ini</a>.</p>

<h4>Text Background</h4>
<p>Menambahkan warna background ke teks link akan memberikan keunikan tersendiri bagi element link. Berikut contohnya :</p>
[css]
a {
    color: #ffffff;
    background-color: #000000;
}
[/css]
<style type="text/css">
.entry-content a.exlink5:link {
	color: #ffffff;
	background-color: #000000; 
}
</style>
<p>Kode CSS ini akan menghasilkan <a class="exlink5" href="http://contoh.com">link seperti ini</a>.</p>

<p>Style seperti ini akan sesuai untuk kondisi hover sedangkan untuk kondisi biasa kita hias secara lebih sederhana. Berikut contohnya :</p>
[css]
a {
    color: #000000;
    text-decoration: underline;
}
a:hover {
    color: #ffffff;
    background-color: #073d63;
    border-bottom: #130e06;
    text-decoration: none;
}
[/css]
<style type="text/css">
.entry-content a.exlink6 {	
    color: #000000;
    text-decoration: underline;
}
.entry-content a.exlink6:hover {
	color: #ffffff;
	background-color: #073d63;
	border-bottom: 1px solid #130e06;
    text-decoration: none;
}
</style>
<p>Kode CSS ini akan menghasilkan <a class="exlink6" href="http://contoh.com">link seperti ini</a>.</p>


<h4>Block Link</h4>
<p>Pada contoh sebelumnya kita hanya menghias link yang tampak di dalam paragraph (inline). Namun kita bisa saja merubah link menjadi <em>element block</em>. Hal ini sering terlihat pada bagian sidebar website.</p>
<p>Dengan style seperti ini area klik dari link menjadi lebih luas dan cukup sesuai untuk diterapkan pada suatu <em>list link</em>. Berikut contohnya :</p>
[css]
a {
    display: block;
    background-color: black;
    color: white;
    padding: 1em 2em;
    width: 100px;
}
a:hover {
    background-color: #999999;
    color: black;
}
[/css]
<style type="text/css">
.entry-content a.exlink7 a {	
    display: block;
    background-color: black;
    color: white;
	padding: 0.5em 1.2em;
	margin-bottom: 0.3em;
	width: 100px;
}
.entry-content a.exlink7 a:hover {
	background-color: #999999;
	color: black;
}
</style>
<p>Kode CSS ini akan menghasilkan :</p>
<ul class="exlink7">
	<li><a href="/">List Link 1</a></li>
	<li><a href="/">List Link 1</a></li>
	<li><a href="/">List Link 2</a></li>
</ul>
<p class="note">Kita perlu memberikan attribute <code>width</code> pada element link atau element kontainer dari link agar tidak terlalu lebar (jika tidak ditentukan maka lebar akan seluas halaman atau kontainernya).</p>

<h4>Button Link</h4>
<p>Html mempunyai tag <code>button</code> yang digunakan di dalam form untuk membentuk suatu button. Namun ketika kita ingin membentuk suatu button tetapi tidak sebagai bagian dari form maka kita dapat menggunakan link dengan beberapa manipulasi CSS.</p>
<p>Untuk langkah-langkah lengkap bagaimana membentuk <em>button link</em> dapat dibaca pada artikel &quot;[link_inserter name="membuat-button-link" type="post" title="Lihat tutorial Membuat Button Link" text="Membuat Button Link"]&quot;</p>

<h4>Membedakan Link Dalam dan Link Luar</h4>
<p>Dengan membedakan link ke halaman di luar website dengan link ke halaman di dalam website yang sama akan membuat user dapat mengetahui ke mana tujuan dari link sebelum mengkliknya.</p> 
<p>Untuk tutorial lengkap berkatian dengan masalah ini dapat dibaca pada artikel &quot;[link_inserter name="membedakan-link-luar-dan-link-dalam" type="post" title="Lihat tutorial Membedakan Link Dalam dan Link Luar" text="Membedakan Link Dalam dan Link Luar"]&quot;</p>

<p>Itulah beberapa contoh dari penyusunan tampilan link. Walaupun penulis yakin bahwa di dalam artikel ini masih banyak kekurangan namun semoga dapat bermanfaat bagi semua pembaca. Selanjutnya kita akan bermain-main dengan Javascript untuk membentuk perilaku link.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2011/02/15/mengenal-web-links-style?feed=comment</wfw:commentRss>
		<slash:comments>3</slash:comments>
	</item>
		<item>
		<title>Mengenal Web Links : Structure</title>
		<link>http://iznyn.com/blog/2010/09/13/mengenal-web-links-structure</link>
		<comments>http://iznyn.com/blog/2010/09/13/mengenal-web-links-structure#comments</comments>
		<pubDate>Mon, 13 Sep 2010 06:29:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Html]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/09/13/mengenal-web-links-structure</guid>
				<description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Hyperlink">Link</a> di dalam sebuah halaman web menjadi sangat penting karena menjadi penghubung antara halaman web yang satu dengan yang lain. Tanpa adanya link, web tak ubahnya hanya seperti secarik kertas biasa. Dengan posisinya yang sangat penting tersebut, memahami bagaimana menyusun struktur dan tampilan link menjadi suatu kebutuhan pokok. Dan hal inilah yang akan dibahas dalam artikel ini.</p>

<p>Pembahasan tentang link akan dibagi ke dalam tiga seri artikel yang akan membahas secara mendalam tentang link dalam tiga aspek yaitu struktur, style dan script. Untuk artikel yang pertama ini kita akan berbicara tentang struktur HTML yang membentuk link.</p>]]></description>
					<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Hyperlink">Link</a> di dalam sebuah halaman web menjadi sangat penting karena menjadi penghubung antara halaman web yang satu dengan yang lain. Tanpa adanya link, web tak ubahnya hanya seperti secarik kertas biasa. Dengan posisinya yang sangat penting tersebut, memahami bagaimana menyusun struktur dan tampilan link menjadi suatu kebutuhan pokok. Dan hal inilah yang akan dibahas dalam artikel ini.</p>

<p>Pembahasan tentang link akan dibagi ke dalam tiga seri artikel yang akan membahas secara mendalam tentang link dalam tiga aspek yaitu struktur, style dan script. Untuk artikel yang pertama ini kita akan berbicara tentang struktur HTML yang membentuk link.</p>

<h2>Struktur Link</h2>
<p>Ketika kita bicara struktur <abbr title="Hypertext Markup Language">HTML</abbr> yang membentuk link, maka kita berbicara tag <code>a</code>. Pada tag ini ada beberapa attribute yang cukup penting dalam membentuk link, anatara lain :</p>
<dl>
<dt>href</dt>
<dd>
<p>Attibute wajib yang harus selalu hadir di dalam tag <code>a</code>. Attribute ini digunakan untuk menentukan lokasi tujuan dari link.</p>
[xml autolinks="false"]
<a href="http://iznyn.com/blog/">Iznyn Blog</a>
[/xml]
<p>Kode diatas akan menghasilkan :</p>
<p><a href="http://iznyn.com/blog/">Iznyn Blog</a></p>
</dd>

<dt>title</dt>
<dd>
<p>Attribute yang walaupun bersifat pilihan, namun cukup penting. Attribute ini dapat digunakan untuk memberikan informasi kepada user tentang lokasi tujuan dari link tersebut. Text yang dimasukkan di dalam attribute ini dapat dilihat melalui <em>tooltip</em> yang muncul ketika kita meletakkan mouse diatas sebuah link.</p>
<p>Hal ini sangat bermanfaat, karena kita dapat menampilkan teks singkat sebagai label dari link yang secara langsung dilihat oleh user, kemudian kita dapat menggunakan attribute title untuk memperjelas tentang lokasi tujuan link. Untuk lebih jelasnya perhatikan contoh dibawah ini.</p>
[xml autolinks="false"]
<a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia">Link</a>
[/xml]
<p>Kode diatas akan menghasilkan :</p>
<p><a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia">Link</a></p>
</dd>

<dt>accesskey</dt>
<dd>
<p>Attribute yang menyediakan suatu key shortcut untuk user dalam mengakses link di dalam suatu halaman. User sendiri dapat menggunakan accesskey yang disediakan dalam link berbeda untuk setiap jenis browser dan platform. Sebagai contoh pada firefox/window kita dapat mengunakan accesskey dengan menekan kombinasi <code>shift+ctrl+<em>key</em></code>.</p>
<p>Walapun sangat berguna namun kita harus menyediakan suatu metode khusus untuk menampilkan accesskey dari suatu link agar dapat diketahui oleh user. Tanpa dilakukan hal ini, maka user tidak akan pernah menyadari bahwa accesskey itu hadir. Beberapa cara dapat dilakukan dan yang paling sering digunakan adalah dengan menyertakannya di dalam attribute title. Namun cara ini pun terdapat masalah karena user perlu meletakkan mouse diatas link terlebih dahulu untuk dapat mengetahui adanya accesskey.</p>
<p>Cara lain yang dapat digunakan adalah dengan menyertakan informasi accesskey di dalam teks link, seperti contoh di bawah ini :</p>
[xml autolinks="false"]
<a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia" accesskey="a">Link [Access key = a]</a>
[/xml]
<p>Kode diatas akan menghasilkan :</p>
<p><a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia" accesskey="a">Link [Access key = a]</a></p>
</dd>

<dt>tabindex</dt>
<dd>
<p>Di dalam suatu halaman web ketika seorang user mengklik tombol tab pada keyboard maka akan menelurusi setiap link yang ada di dalamnya. Dan attribute ini digunakan untuk menentukan urutan penelusuran link tersebut. Secara normal penelusuran akan dimulai dari link yang muncul pertama kali di kode html. Sebagai contoh,</p>
[xml autolinks="false"]
<a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia" tabindex="4">Link </a>
[/xml]
<p>Kode diatas akan menghasilkan :</p>
<p><a href="http://en.wikipedia.org/wiki/Hyperlink" title="Penjelasan lengkap tentang link di dalam Wikipedia" tabindex="4">Link </a></p>
</dd>

<dt>rel</dt>
<dd>
<p>Attribute yang digunakan untuk menggambarkan hubungan antara halaman yang menjadi tujuan link (yang disertakan di dalam attribute href) dengan halaman yang mereferensikan. Nilai yang dapat dimasukkan dalam attribute ini sangat bervariasi, berikut beberapa link yang mencantumkan beberapa nilai attribute <code>rel</code>.</p>
<ul>
<li><a href="http://www.w3.org/TR/html401/types.html#type-links">HTML 4 Link Type</a></li>
<li><a href="http://wiki.whatwg.org/wiki/RelExtensions">HTML5 rel values</a></li>
<li><a href="http://microformats.org/wiki/existing-rel-values">Microformat rel Value</a></li>
<li><a href="http://gmpg.org/xfn/11"><abbr title="Xhtml Friends Network">XFN</abbr> relationships meta data profile</a></li>
</ul>
<p>Attribute ini sebenarnya tidak disupport oleh seluruh browser, atau browser akan mengabaikan attribute ini dan tidak akan memberikan perilaku yang berbeda untuk setiap tipe relationship. Namun Attribute rel dapat membantu <em>search engine</em> untuk mendapatkan diskripsi tentang suatu link. Walaupun demikian kita dapat membedakan sendiri setiap attribute rel dengan bantuan css dan javascript. Kita akan menjelaskannya pada dua seri artikel berikutnya.</p>
<p>Berikut beberapa contoh penggunaan attribute rel dapat dilihat dibawah ini.</p>
[xml autolinks="false"]
<a href="http://iznyn.com" rel="me home" title="Iznyndotcom homepage">Home</a>
[/xml]
[xml autolinks="false"]
<a href="http://iznyn.com/blog/2010/08/31/tentang-link" rel="bookmark" title="Penjelasan tentang struktur Html Link">Tentang link</a>
[/xml]
</dd>
</dl>

<h2>Tips</h2>
<p>Berikut beberapa tips yang berhubungan dengan penyusunan struktur Html Link sehingga dapat menghasilkan struktur yang baik.</p>
<dl>
<dt>Teks Link</dt>
<dd>
<p>Di dalam menentukan teks link sebaiknya digunakan kata-kata singkat namun deskriptif. Hindari penggunaan kata-kata yang kurang deskriptif seperti <em>disini</em>, <em>berikut ini</em>, <em>link ini</em> etc.</p>
<p>Sebagai contoh daripada menggunakan kalimat berikut :</p>
<p class="exam">Link disusun dengan menggunakan tag HTML <code>a</code>. Untuk lebih jelasnya klik <a>disini</a>.</p>
<p>Lebih baik menggunakan,</p>
<p class="exam">Link disusun dengan menggunakan tag HTML <code>a</code>. Pada artikel &quot;<a>Memahamai Web Link</a>&quot; akan memberikan penjelasan yang sangat bagus tentang link.</p>		
</dd>

<dt>href value</dt>
<dd>
<p>Hal penting dalam menentukan url dari link tujuan adalah bahwa dia tidak boleh menyertakan karakter khusus HTML seperti &amp;, &lt;, &gt;, <a href="http://www.w3schools.com/tags/ref_entities.asp">etc</a>. Jika karakter tersebut tetap disertakan akan menghasilkan kode HTML yang tidak valid. Untuk mengatasinya kita harus mengubah karakter tersebut menjadi <a href="http://www.w3schools.com/HTML/html_entities.asp">HTML entities</a>. Sebagai contoh untuk karakter <code>&amp;</code> dapat dirubah menjadi <code>&amp;amp;</code> atau <code>&amp;#38;</code>.</p>
</dd>
</dl>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/09/13/mengenal-web-links-structure?feed=comment</wfw:commentRss>
		<slash:comments>2</slash:comments>
	</item>
		<item>
		<title>Mengenal WordPress Settings</title>
		<link>http://iznyn.com/blog/2010/08/21/mengenal-wordpress-settings</link>
		<comments>http://iznyn.com/blog/2010/08/21/mengenal-wordpress-settings#comments</comments>
		<pubDate>Sat, 21 Aug 2010 10:21:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/08/21/mengenal-wordpress-settings</guid>
				<description><![CDATA[<p>Walaupun secara umum Wordpress adalah suatu tool blog yang mudah digunakan, namun tidak jarang pengguna, terutama bagi para pemula, dibingungkan oleh berbagai opsi yang disediakan Wordpress di dalam menu settings. Tanpa pemahaman yang baik terhadap fungsi-fungsi opsi-opsi tersebut, niscaya kita dapat menggali seluruh potensi yang dimiliki oleh Wordpress.</p>
<p>Secara default WordPress menyediakan kepada kita 7 halaman settings, yaitu <em>General Settings</em>, <em>Writting Settings</em>, <em>Reading Settings</em>, <em>Discussion Settings</em>, <em>Media Settings</em>, <em>Privacy Settings</em> dan <em>Permalink Settings</em>. Dengan setiap halamannya mengandung berbagai pengaturan terhadap perilaku WordPress. Berikut penjelasan dari masing-masing halaman settings.</p>]]></description>
					<content:encoded><![CDATA[<p>Walaupun secara umum Wordpress adalah suatu tool blog yang mudah digunakan, namun tidak jarang pengguna, terutama bagi para pemula, dibingungkan oleh berbagai opsi yang disediakan Wordpress di dalam menu settings. Tanpa pemahaman yang baik terhadap fungsi-fungsi opsi-opsi tersebut, niscaya kita dapat menggali seluruh potensi yang dimiliki oleh Wordpress.</p>
<p>Artikel ini akan berisi tentang penjelasan tentang seluruh setting yang secara default disediakan oleh Wordpress. Sehingga kita dapat memiliki pemahaman yang lebih baik tentang fungsi opsi-opsi tersebut.</p>
<p>Secara default WordPress menyediakan kepada kita 7 halaman settings, yaitu <em>General Settings</em>, <em>Writting Settings</em>, <em>Reading Settings</em>, <em>Discussion Settings</em>, <em>Media Settings</em>, <em>Privacy Settings</em> dan <em>Permalink Settings</em>. Dengan setiap halamannya mengandung berbagai pengaturan terhadap perilaku WordPress. Berikut penjelasan dari masing-masing halaman settings.</p>
<p class="note">Note : Hal yang perlu diingat bahwa pengaruh dari sebagian besar settings WordPress sangat dipengaruhi oleh theme yang digunakan. Namun demikian secara umum dia mempunyai basic yang sama. Perlu dicatat, bahwa penulis menggunakan theme <em>Twenty Ten 1.0</em>, theme terbaru WordPress yang disertakan bersama versi 3.0.</p>
<h2>General Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/general-setting-thumb.jpg" alt=""][/wptf]
</p>

<p>Halaman settings yang berisi segala pengaturan yang bersifat umum, seperti zona waktu, membership dsb. Berikut beberapa pengaturan yang dapat dibuat pada halaman ini.</p>

<dl> 
<dt>Site Title</dt> 
<dd>
<p>Menentukan title dari website. Biasanya oleh sebagian besar theme, opsi ini akan diletakkan di dua tempat, yaitu :</p>
<ul>
<li>
	<p>Di dalam tag <code>&lt;title&gt;</code> di dalam html head, yang kemudian oleh browser akan di tampilkan pada browser bar.</p>	
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/browser-title-bar.jpg" alt=""][/wptf]
</p>
</li>
<li>
	<p>Pada bagian teratas dari halaman web sebagai website header.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/title.jpg" alt=""][/wptf]
</p>

</li>
</ul>
</dd> 
<dt>Tagline</dt> 
<dd>Digunakan untuk menentukan penjelasan singkat tentang website. Oleh sebagian besar WordPress theme akan diletakkan dibagian atas dari halaman web dan lebih khusus dibawah site header yang diatur oleh <em>Site Title</em>. Namun di dalam theme default kita akan melihat tag line diletakkan disebelah kanan dari header :).</dd>
<dt>WordPress Address</dt> 
<dd>Menentukan letak seluruh file dasar WordPress ditempatkan. Setelah dilakukan penginstalan, WordPress akan menentukan nilai ini secara otomatis. Dan sebaiknya jangan berurusan dengan opsi ini jika tidak ingin terjadi suatu bencana besar.</dd> 
<dt>Site Address</dt> 
<dd>
<p>Secara default, opsi ini akan mempunyai nilai yang sama seperti opsi WordPress Address. Secara khusus opsi ini digunakan jika kita menginginkan halaman depan web kita berbeda dengan alamat tempat file dasar WordPress di letakkan. Sebagai contoh misalkan kita ingin menggunakan WordPress hanya pada bagian <em>http://example.com/blog</em>. Maka kita meletakkan file Wordpress pada bagian tersebut, kemudian kita menentukan opsi ini sebagai <em>http://example.com/</em>.</p>
<p>Untuk lebih jelasnya tentang masalah ini dapat dilihat pada <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">dokumentasi WordPress</a>.</p>
</dd> 
<dt>E-mail Address</dt> 
<dd>Digunakan untuk menentukan alamat e-mail administrator. Secara umum, alamat e-mail ini akan digunakan oleh WordPress untuk beberapa pemberitahuan, seperti pemberitahuan adanya komentar baru, pemberitahuan adanya user baru, dsb. Selain itu alamat e-mail mungkin juga akan digunakan oleh beberapa plugin.</dd>
<dt>Membership</dt> 
<dd>Mengatur keanggotaan blog/website. Jika dihidupkan (checked) maka pada halaman login akan ditampilkan link <em>register</em> sehingga setiap orang dapat melakukan pendaftaran keanggotaan.</dd> 
<dt>New User Default Role</dt> 
<dd>
<p>Setiap user yang melakukan proses registration maka secara otomatis akan diberikan suatu <em>role</em>. Setiap <em>role</em> akan menentukan kemampuan user dalam mengakses setiap fasilitas administrator. Secara default ada 5 jenis <em>role</em> yang disediakan oleh WordPress, yaitu :</p>
<ul>
	<li><strong>Subcriber</strong> - Role dengan tingkatan paling rendah paling rendah. User dengan jabatan ini hanya mampu melihat dan mengedit profile di halaman administrator. Kecuali untuk alasan yang cukup jelas, anda seharusnya memilih opsi ini.</li>
	<li><strong>Contributor</strong> - Dapat diartikan sebagai penulis. User dengan tipe role ini dapat membuat post baru serta dapat membuat perubahan terhadap post yang dia publikasikan.</li>
	<li><strong>Author</strong> - Hampir sama seperti user <em>Author</em> hanya saja dia juga dapat berinteraksi dengan menu <em>media</em>. Menu ini digunakan untuk mengupload media seperti gambar, video, file html sehingga kemudian dapat ditambahkan ke dalam suatu post.</li>
	<li><strong>Editor</strong> - Semua kegiatan manipulasi content web dapat dilakukan oleh user ini, seperti menambahkan post dan page, pengubahan setiap post atau page, penambahan media, dsb.</li>
	<li><strong>Administrator</strong> - Role paling tinggi derajatnya, semua fasilitas di dalam halaman admin dapat diakses oleh user dengan role ini.</li>
</ul>
<p>Penjelasan tentang kemampuan role diatas hanya sebatas fasilitas administrator yang secara default disediakan oleh WordPress. Untuk fasilitas yang disediakan oleh plugin akan tergantung pada pengaturan dari plugin itu sendiri.</p>
<p>Sebaiknya dalam menentukan default role dari member anda tetap memilih Subscriber. Jika kemudian menginginkan adanya user dengan role lain dapat dilakukan perubahan secara manual di halaman admin.</p>
</dd> 

<dt>Time Zone</dt> 
<dd>Menentukan zona waktu tempat tinggal anda.</dd> 
<dt>Date Format</dt> 
<dd>
<p>Menentukan format tanggal. Opsi ini sering digunakan oleh theme untuk menentukan bagaimana tanggal post ditampilkan.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/post-date.jpg" alt=""][/wptf]
</p>

<p>Secara default wordpress telah menyediakan beberapa format tanggal, namun jika tidak sesuai dengan keinginan, anda dapat menyusunnya sendiri. Format tanggal diatur sesuai dengan <a href="http://php.net/manual/en/function.date.php">PHP Date Format</a>. Di dalam WordPress Docs telah dijelaskan secara rinci <a href="http://codex.wordpress.org/Formatting_Date_and_Time">bagaimana cara menyusun format tanggal</a> ini.</p>
</dd> 

<dt>Time Format</dt>
<dd>Hampir sama seperti opsi <em>Date Format</em>, hanya opsi ini digunakan untuk mengatur format waktu.</dd> <dt>Week Starts On</dt> <dd>Masih ada hubungannya dengan penanggalan, opsi ini berfungsi untuk menentukan nama hari dari awal dalam perhitungan mingguan.</dd>
</dl>

<h2>Writing Settings</h2>

<p class="image">
[wptf act="InsertImg" src="wordpress-settings/writting-settings.jpg" alt=""][/wptf]
</p>

<p>Pada bagian ini berisi segala sesuatu yang berhubungan dengan penulisan di dalam blog.</p>

<dl>
<dt>Size of the post box</dt>
<dd>
<p>Menentukan ukuran box dari field tempat kita menuliskan konten, baik post maupun page. Sebagai contoh, jika kita menentukan ukuran post box menjadi 16 baris, maka post box akan menjadi lebih besar seperti terlihat pada gambar dibawah ini.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/post-box.jpg" alt=""][/wptf]
</p>
</dd>
<dt>Formatting</dt>
<dd>
<p>Disini ada dua <em>check options</em>, yaitu :</p>
<ul>
<li>Pada baris pertama digunakan untuk menentukan apakah didalam konten post, <a href="http://en.wikipedia.org/wiki/List_of_emoticons"><em>emoticons</em></a> akan di-convert ke suatu gambar icon. Sebagai contoh karakter <em>emoticons</em> :&#41; akan dirubah menjadi :) jika opsi ini dihidupkan.</li>
<li>
<p>Baris kedua sedikit lebih rumit, disini akan menentukan apakah WordPress akan secara otomatis memperbaiki kesalahan penulisan tag <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> Sebagai contoh kesalahan penulisan &lt;br&gt; akan diperbaiki menjadi &lt;br /&gt; jika opsi ini dihidupkan.<p>
<p>Jika anda tidak memahami tentang HTML, sebaiknya anda menghidupkan opsi ini ketika <a href="http://www.w3schools.com/tags/tag_DOCTYPE.asp" title="Pengertian dasar tentang doctype"><em>doctype</em></a> dari halaman web ditentukan sebagai XHTML 1.0 Strict. Untuk memeriksa doctype dapat dilakukan dengan melihat pada <em>page source</em> halaman web anda ( Dengan menekan ctrl+U ). Lihat pada bagian teratas jika terdapat text seperti dalam gambar dapat dipastikan halaman menggunakan XHTML.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/doctype.jpg" alt=""][/wptf]
</p>
</li>
</ul>
</dd>
<dt>Default Post Category</dt>
<dd>Menentukan default category post ketika mempublikasikan post anda tidak menentukan category.</dd>
<dt>Default Link Category</dt>
<dd>Menentukan default category link ketika menambahkan link baru anda tidak menentukan category.</dd>
<dt>Press This</dt>
<dd>
<p>Fasilitas ini sedikit unik karena akan berhubungan dengan browser secara langsung. Dengan menggunakan fasilitas <em>Press This</em> memungkinkan kita untuk mendapatkan link dari suatu halaman web yang sedang di lihat di dalam browser untuk disisipkan dalam suatu post.</p>
<p>Ada beberapa langkah yang perlu dilakukan untuk dapat memanfaatkan fasilitas ini, antara lain :</p>
<ul>
<li>
<p>Untuk menggunakan <em>Press This</em> pertama kita harus membuat bookmark dari link <strong>press this</strong> di dalam browser. Hal ini dilakukan dengan sangat mudah, yaitu hanya dengan menggeser link press this yang ada pada bagian setting ini ke bagian <em>boomark toolbar</em> dari browser.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/drag-pressthis.jpg" alt=""][/wptf]
</p>

</li>
<li>Kemudian dari sebuah halaman web yang kita lihat, klik bookmark <em>press this</em> yang telah dibuat sebelumnya.</li>
<li>
<p>Aksi tersebut kemudian akan menghasilkan sebuah jendela baru yang berisi post box dan telah tersisipi link dari halaman web yang kita lihat tadi. Dari sini anda kemudian dapat menambahkan konten tambahan sebelum mempublikasi post.</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/add-pressthis.jpg" alt=""][/wptf]
</p>

</li>
</ul>
</dd>
<dt>Post via e-mail</dt>
<dd>Sebuah fasilitas yang dapat digunakan untuk mempublikasikan suatu post melalui email. Saya tidak akan menjelaskan bagaimana cara untuk menggunakan fasilitas ini, namun anda dapat membaca langkah-langkahnya pada dokumentasi WordPress, <a href="http://codex.wordpress.org/Post_to_your_blog_using_email" title="Tutorial Mempublikasikan Post Lewat Email">Post to your blog using email</a>.</dd>
<dt>Update Services</dt>
<dd>Opsi yang digunakan untuk menentukan alamat <a href="http://en.wikipedia.org/wiki/Web_service" title="Tentang Web Services">web services</a> yang menangani pencatatan update post. Untuk lebih jelasnya dapat dilihat pada dokumentasi WordPress, <a href="http://codex.wordpress.org/Update_Services" title="Lebih Jelas Tentang Update Services">Update Services</a>.</dd>
</dl>

<h2>Reading Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/reading-settings-thumb.jpg" alt=""][/wptf]
</p>

<p>Halaman opsi yang berhubungan dengan penyajian konten blog. Opsi/settings yang disediakan halaman ini antara lain :</p>
<dl>
<dt>Front page displays</dt>
<dd>
<p>
Digunakan untuk mengatur kontent pada halaman depan blog. Disini ada dua pilihan, yaitu :
<ul>
<li><strong>Your latest posts</strong>  - Menampilkan beberapa post terbaru di halaman depan blog.</li>
<li><strong>A static page</strong>  - Menampilkan suatu <a href="http://codex.wordpress.org/Creating_a_Static_Front_Page"><em>static page</em></a> di halaman depan blog.</li>
</ul>
</dd>
<dt>Blog pages show at most</dt>
<dd>Menentukan jumlah maksimum dari post yang akan ditampilkan didalam setiap <em>posts list</em>.</dd>
<dt>Syndication feeds show the most recent</dt>
<dd>Menentukan jumlah maksimum dari daftar post ketika ditampilkan didalam suatu <a href="http://en.wikipedia.org/wiki/Web_syndication"></em>syndication feeds</em></a>.</dd>
<dt>For each article in a feed, show</dt>
<dd>Mengatur konten dari post di dalam suatu feed, apakah akan ditampilkan secara keseluruhan (Full text) atau hanya sekedar ringkasan saja (Summary).</dd>
<dt>Encoding for pages and feeds</dt>
<dd>Mengatur <a href="http://codex.wordpress.org/Glossary#Character_Set"><em>character encoding</em></a> untuk konten di dalam website maupun untuk <a href="http://en.wikipedia.org/wiki/Web_syndication"></em>syndication feeds</em></a>.</dd>
</dl>

<h2>Discussion Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/discussion-settings-thumb.jpg" alt=""][/wptf]
</p>

<p>Sebagian besar settings yang ada di dalam bagian ini berhubungan dengan kegiatan diskusi di dalam blog, baik dalam bentuk comment, <a href="http://en.wikipedia.org/wiki/Pingback">pingback</a> maupun <a href="http://en.wikipedia.org/wiki/Trackback">trackback</a>. Kami tidak akan menjelaskan seluruh opsi yang ada dibagian ini karena sebagian besar hanyalah opsi checkbox, yang hanya membutuhkan anda untuk meng-on/off opsi tersebut. Selain itu didalam setiap opsi juga telah diberikan keterangan yang cukup jelas dan mudah dipahami.</p>
<p>Namun demikian ada tiga pengaturan yang sedikit rumit dan perlu dijelaskan disini, yaitu :</p>
<dl>
<dt>Comment Moderation</dt>
<dd>
<p>Bisa dikatakan opsi ini merupakan benteng pertahanan pertama dari serangan <a href="http://en.wikipedia.org/wiki/Spam_in_blogs"><em>comment spam</em></a>. Ada dua hal yang dapat kita atur di dalam opsi ini untuk melakukan pencegahan terhadap spam, yaitu :</p>
<dl>
<dt>Jumlah maksimum link di dalam konten comment</dt>
<dd>Ciri khas dari suatu <em>comment spam</em> adalah mengandung banyak link. Dengan opsi ini anda dapat mengatur toleransi link di dalam konten komentar.</dd>
<dt>Word Blaklist</dt>
<dd>Selain jumlah link, anda dapat melarang kehadiran suatu string/word baik di dalam konten, email, URL atau IP dari komentar yang masuk. Anda harus memasukkan daftar kata perbaris didalam textarea yang disediakan.</dd>
</dl>
<p>Setiap komentar yang masuk namun mengandung perketatan yang kita buat melalui opsi ini, status komentar akan selalu <em>pending</em> dan harus mendapatkan persetujuan (moderation) dari anda sebelum diterima bahkan ketika default setting publikasi dari komentar diatur tanpa melalui proses persetujuan.</p>
</dd>
<dt>Comment Blacklist</dt>
<dd>Seperti setting <em>Word Blacklist</em> pada bagian <em>Comment Moderation</em> hanya saja setiap komentar yang mengadung kata blacklist akan ditandai sebagai spam.</dd>
<dt>Avatars</dt>
<dd>
<p>Avatars merupakan suatu gambar kecil sebagai identitas suatu <em>commenter</em> yang biasanya ditampilkan dalam setiap komentar. Opsi ini digunakan untuk mengatur penyedian avatar di dalam <em>post comment</em>, berikut beberapa opsi yang disediakan.</p>
<dl>
<dt>Avatar Display</dt>
<dd>Menentukan apakah akan menampilkan avatar di dalam setiap komentar.</dd>
<dt>Maximum Rating</dt>
<dd>
<p>Disini berhubungan dengan kedewasaan konten dari artikel dimana komentar berada. Ada empat tingkat kedewasaan konten, yaitu :</p>
<ol>
<li><strong>G</strong> - Apabila isi dari artikel sesuai untuk semua umur</li>
<li><strong>PG</strong> - Apabila artikel mengandung konten kekerasan dan hanya sesuai untuk umur diatas 13 tahun</li>
<li><strong>R</strong> - Apabila artikel mengadung konten pornografi dan hanya sesuai untuk umur diatas 17 tahun</li>
<li><strong>X</strong> - Apabila artikel mengadung sesuatu yang lebih buruk dari tingkat diatas</li>
</ol>
<p>Secara khusus ini berhubungan dengan setting avatar di dalam <a href="http://gravatar.com">gravatar</a>. Di dalam <em>gravatar</em> kita dapat menentukan <em>content rating</em> dari avatar. Dengan kata lain opsi ini akan menentukan avatar mana yang akan ditampilkan dari suatu <em>email commenter</em> berdasarkan tingkat kedewasaan konten.</p>
</dd>
<dt>Default Avatar</dt>
<dd>Secara umum, WordPress menggunakan services dari <a href="http://gravatar.com">gravatar</a>. Dan avatar akan ditampilkan jika email yang dimasukkan oleh commenter terdaftar dan mempunyai avatar di <em>gravatar</em>. Opsi ini akan mengatur avatar yang akan ditampilkan jika commenter tidak mempunyai avatar terdaftar di <em>gravatar</em></dd>
</dl>
</dd>
</dl>

<h2>Media Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/media-settings-thumb.jpg" alt=""][/wptf]
</p>

<p>Bagian yang mengatur penyertaan media (image, video dan material web lainnya) ke dalam blog. Berikut beberapa setting yang secara default disediakan :</p>
<dl>
<dt>Image sizes</dt>
<dd>
<p>Ketika kita menyertakan gambar/image ke dalam suatu post maka kita akan diberikan 4 pilihan ukuran gambar, yaitu <em>thumbnail</em>, <em>medium</em>, <em>large</em> dan <em>original</em>. Kita dapat menentukan ukuran dimensi dari pilihan ukuran gambar tersebut (dengan satuan pixel).</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/media-size.jpg" alt=""][/wptf]
</p>

<p>Untuk ukuran thumbnail kita juga diberikan pilihan apakah akan melakukan pemotongan (croping) image atau hanya mengubah ukuran sesuai dengan proposi gambar.</p>
</dd>
<dt>Embeds</dt>
<dd>
<p><a href="http://codex.wordpress.org/Embeds">Embeds</a> merupakan kegiatan penyertaan suatu media dari web services seperti <a href="">youtube</a>, < a href="http://vimeo.com/">vimeo</a>, <a href="http://www.dailymotion.com/en">dailymotion</a> atau <a href="http://www.flickr.com/">flickr</a> ke dalam halaman web. Ada beberapa pengaturan yang dapat kita lakukan terhadap proses <em>embeds</em> ini, yaitu :</p>
<dl>
<dt>Auto-embeds</dt>
<dd>
<p>Jika opsi ini diaktifkan maka setiap link text yang disertakan dalam post akan secara otomatis diproses oleh WordPress, sebagai contoh menyertakan teks link berikut :</p>
<pre>
New video music form Trivium (Throes Of Perdition):

http:&#47;&#47;www.youtube.com&#47;watch?v=7Eukj4AHwa0

That was a cool video.
</pre>
<p>Akan menghasilkan konten post berikut :</p>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/embed-youtube.jpg" alt=""][/wptf]
</p>

</dd>
<dt>Maximum embed size</dt>
<dd>Menentukan ukuran <em>embed</em> di dalam konten post.</dd>
</dl>
</dd>
<dt>Uploading Files</dt>
<dd>
<p>Mengatur pengelolaan penyimpanan file media. Disini ada tiga pengaturan, yaitu :</p>
<dl>
	<dt>Store uploads in this folder</dt>
	<dd>Menentukan lokasi tempat file media disimpan. Lokasi harus relatif terhadap URL root WordPress, sebagai contoh jika lokasi ada di dalam <code>http://yourwordpress.com/blog/media/</code> maka anda cukup mengisikannya dengan <code>blog/media</code>. Secara default lokasi penyimpanan file ada di dalam folder <code>wp-content/upload</code>.</dd>
	<dt>Full URL path to files</dt>
	<dd>Merupakan opsi optional. Jika ditentukan maka harus berisi Full URL dari tempat penyimpanan file media, sebagai contoh <code>http://yourwordpress.com/blog/media/</code>. Dari hasil pengamatan kami, kita tidak perlu menentukan opsi ini, karena WordPress sudah dapat menentukan sendiri URL path dari opsi <em>Store uploads in this folder</em>.</dd> 
	<dt>Organize my uploads into month- and year-based folders</dt>
	<dd>
<p>Suatu opsi checkbox yang digunakan untuk menentukan apakah file media disimpan dengan melakukan pengelompokkan berdasarkan tanggal peng-upload-an. Misalkan anda meng-upload suatu image <em>&quot;myImage.jpg&quot;</em> pada tanggal 17 Agustus 2010, maka file tersebut akan disimpan dengan susunan berikut :</p>
<pre>
-- wp-content
  -- uploads
    -- 2010
      -- 08
        -- myImage.jpg   
</pre>
</dd> 
</dl>
</dd>
</dl>

<h2>Privacy Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/privacy-settings-thumb.jpg" alt=""][/wptf]
</p>

<p>Disini mengatur apakah anda akan membuat blog anda terlihat di dalam search engine atau tidak. Kecuali blog anda benar-benar rahasia dan hanya mengijinkan pihak tertentu yang mengunjungi blog anda maka yakinkan anda memilih opsi &quot;I would like my site to be visible to everyone, including search engines (like Google, Bing, Technorati) and archivers&quot; jika tidak maka blog anda tidak akan pernah di-index oleh search engine dan orang lain tidak akan pernah tahu bahwa blog anda hadir.</p>

<h2>Permalink Settings</h2>
<p class="image">
[wptf act="InsertImg" src="wordpress-settings/permalink-settings-thumb.jpg" alt=""][/wptf]
</p>

<p>Digunakan untuk mengatur <a href="http://codex.wordpress.org/Using_Permalinks"><em>permalinks</em></a> dari artikel post. Saya akan menjelaskan secara detail tentang bagian ini pada artikel saya berikutnya.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/08/21/mengenal-wordpress-settings?feed=comment</wfw:commentRss>
		<slash:comments>1</slash:comments>
	</item>
		<item>
		<title>Mencegah Akses File Php Di WordPress</title>
		<link>http://iznyn.com/blog/2010/08/15/mencegah-akses-file-php-di-wordpress</link>
		<comments>http://iznyn.com/blog/2010/08/15/mencegah-akses-file-php-di-wordpress#comments</comments>
		<pubDate>Sun, 15 Aug 2010 10:21:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/08/15/mencegah-akses-file-php-di-wordpress</guid>
				<description><![CDATA[<p>Beberapa hari yang lalu saya membaca sebuah <a href="http://www.margasatrya.com/">blog</a> teman yang membahas tentang <a href="http://www.margasatrya.com/celah-keamanan-wordpress-yang-harus-diwaspadai.html">celah keamanan di dalam WordPress</a>. Dalam artikel tersebut membahas begitu bahayanya jika user mengakses secara langsung file library (.php) pada WordPress yang berada di dalam folder wp_content dan wp_includes. Untuk lebih jelasnya silahkan baca dahulu artikle tersebut.</p>
<p>Setelah membaca artikel tersebut, saya menyadari betapa bahayanya masalah ini. Pada sebagian besar file library tersebut akan menghasilkan sebuah <a href="http://www.google.com/search?client=ubuntu&amp;channel=fs&amp;q=php+error&amp;ie=utf-8&amp;oe=utf-8">php error</a> jika diakses secara langsung dari browser. Php error ini seharusnya tidak ditampilkan pada tahap produksi karena dapat menampilkan data sensitif yang akan menjadi jalan bagi seorang hacker untuk mengeksplorasi website kita.</p>]]></description>
					<content:encoded><![CDATA[<p>Beberapa hari yang lalu saya membaca sebuah <a href="http://www.margasatrya.com/">blog</a> teman yang membahas tentang <a href="http://www.margasatrya.com/celah-keamanan-wordpress-yang-harus-diwaspadai.html">celah keamanan di dalam WordPress</a>. Dalam artikel tersebut membahas begitu bahayanya jika user mengakses secara langsung file library (.php) pada WordPress yang berada di dalam folder wp_content dan wp_includes. Untuk lebih jelasnya silahkan baca dahulu artikle tersebut.</p>
<p>Setelah membaca artikel tersebut, saya menyadari betapa bahayanya masalah ini. Pada sebagian besar file library tersebut akan menghasilkan sebuah <a href="http://www.w3schools.com/php/php_error.asp">php error</a> jika diakses secara langsung dari browser. Php error ini seharusnya tidak ditampilkan pada tahap produksi karena dapat menampilkan data sensitif yang akan menjadi jalan bagi seorang hacker untuk mengeksplorasi website kita.</p>
<h2>Masalah di dalam File Library WordPress</h2>
<p>Satu hal yang membuat masalah ini terjadi adalah cara WordPress dibangun. Dibalik kemudahan yang diberikan, WordPress adalah barang lama jika dilihat dari bagaimana WordPress disusun. WordPress disusun menggunakan <acronym title="PHP : Hypertext Preprocessor">PHP</acronym>, namun masih menggunakan tehnik lama yang jauh dari konsep <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">OOP (Object Oriented Programming)</a>.</p>
<p>Dengan menggunakan konsep OOP, kita dapat memusatkan eksekusi fungsi pada satu tempat dan file library (di dalam WordPress adalah folder wp_includes) hanya akan berisi deklarasi <a href="http://php.net/manual/en/language.oop5.php">class</a>. Disinilah masalah yang terdapat di dalam WordPress dimana file library juga mengandung kode eksekusi fungsi, sehingga bila dijalankan langsung akan menghasilkan php error.</p>
<p>Sayangnya WordPress tidak menggunakan suatu tehnik tertentu untuk mencegah akses langsung ke file library-nya. Didalam <a href="http://www.joomla.org/">Joomla</a>, pada setiap file library-nya selalu diawali dengan pemeriksaan definisi <a href="http://www.php.net/manual/en/language.constants.php"><code>constant</code></a>, apabila constant tidak didefinisikan atau berarti adalah akses langsung ke file library tersebut akan menghentikan proses dan menampilkan pesan error karena kita tidak mengeksekusi proses secara utuh. Pemeriksaan definisi constant tersebut seperti dibawah ini.</p>
[php]
defined( '_JEXEC' ) or die( 'Restricted access' );
[/php]
<p>Constant <code>_JEXEC</code> sendiri dideklarasikan di file root, index.php, seperti berikut :</p>
[php]
define( '_JEXEC', 1 );
[/php]
<h2>Solusi dengan .htaccess</h2>
<p>Tehnik dari joomla inilah yang kemudian sempat saya rekomendasikan di dalam <a href="http://www.margasatrya.com/celah-keamanan-wordpress-yang-harus-diwaspadai-part-2.html#li-comment-2713">komentar saya</a> pada artikel diatas. Walapun setelah dilakukan percobaan cara tersebut tidak dapat digunakan di dalam WordPress karena tidak adanya pemusatan penanganan request, contohnya untuk halaman administrator kita perlu secara langsung mengakses file wp-admin/index.php.</p>
<p>Mengetahui bahaya tersebut, saya yang juga pengguna WordPress merasa harus bekerja cepat untuk menutup celah keamanan tersebut. Dan setelah melakukan beberapa percobaan akhirnya saya menemukan sebuah solusi untuk menyelesaikan masalah tersebut.</p>
<p>Pada dasarnya solusi yang saya temukan ini masih dengan memodifikasi file .htaccess untuk mencegah request langsung ke file library WordPress. Namun berbeda dengan solusi yang diberikan pada artikel <em>mas satrya</em> diatas yang ternyata sudah terbukti <a href="http://www.margasatrya.com/celah-keamanan-wordpress-yang-harus-diwaspadai-part-2.html">menimbulkan masalah</a>, solusi ini lebih sederhana dengan hanya merubah file .htaccess WordPress dan terbukti tidak menimbulkan masalah berarti.</p>
<h2>File .htaccess WordPress</h2>
<p>Sebelum kita memberikan solusi tersebut kita lihat dahulu struktur dasar dari .htaccess yang direkomendasikan oleh WordPress. Sebagai berikut :</p>
[sourcecode language="php"]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
[/sourcecode]
<p>Untuk pembahasan tentang masing-masing kode diatas diluar jangkauan artikel ini. Namun pada intinya kode diatas akan memerintahkan kepada server agar semua request yang secara fisik (baik folder atau file) tidak terdapat dalam server akan dilarikan ke file <code>index.php</code>. Kita tidak dapat merubah aturan dasar ini karena akan menyebabkan WordPress tidak berfungsi secara normal.</p>
<h2>Mencegah Akses Langsung Ke File php Wordpress</h2>
<p>OK, sekarang kita sampai pada inti dari artikel ini. Inti dari solusi dalam permasalahan pada artikel ini adalah mencegah akses langsung ke file php WordPress agar tidak menimbulkan celah keamanan. Namun kita tidak dapat memblokir seluruh file php karena ada beberapa file php yang dibutuhkan oleh WordPress untuk diakses secara langsung seperti file <code>wp-login.php</code>. Untuk itu berarti kita harus mengetahui secara pasti file-file mana sajakah yang perlu diakses secara langsung dan mana yang tidak.</p>
<p>Berikut ini gambaran tentang struktur direktori dari file php.</p>
<pre>
--root
  --wp-includes
  --wp-content
  --wp-admin
    --includes
    --import
    --maint
</pre>
<p>Dari struktur directory tersebut, hanya pada folder wp-includes dan wp-content yang akses ke file php akan kita tutup sepenuhnya. Selebihnya kita perlu memilah-milah terlebih dahulu.</p>
<p>Untuk menutup akses terhadap suatu file php dapat dilakukan dengan kode <code>RewriteRule</code> sebagai berikut :</p>
[sourcecode language="php"]
RewriteRule ^wp-config\.php$ readme.html
[/sourcecode]
<p>Kode diatas akan melarikan request file wp-config.php ke file readme.html. Untuk mencobanya tempatkan kode ini diatas bagian <code>RewriteCond</code>, sebagai berikut :</p>
[sourcecode language="php"]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^wp-config\.php$ readme.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
[/sourcecode]
<p>Sekarang ketika anda mengakses <code>http://yourhost.com/wp-config.php</code>, daripada mendapatkan suatu pesan php error anda akan melihat halaman WordPress Read Me.</p>
<p>Kemudian jika kita ingin menutup akses ke file php untuk keseluruh direktori maka dapat menggunakan kode berikut :</p>
[sourcecode language="php"]
RewriteRule .*\.php$ readme.html [L]
[/sourcecode]
<p>Kode diatas akan melarikan request ke semua file php ke file readme.html. Untuk mencobanya buat file .htaccess pada folder wp-includes dan isi dengan kode berikut :</p>
[sourcecode language="php"]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .*\.php$ readme.html [L]
</IfModule>
[/sourcecode]
<p>Sekarang ketika anda mengakses <code>http://yourhost.com/wp-includes/wp-db.php</code>, anda justru mendapati suatu <a href="http://en.wikipedia.org/wiki/HTTP_404"></em>error 404 (file not found)</em></a>. Loh adakah yang salah ?</p>
<p>Tidak, hal ini justru lebih menguntungkan. Ketika akses diatas tiba, server mencoba mengalihkan ke file readme.html. Namun karena file readme.html tidak ada di dalam folder wp-includes maka server menggunakan aturan dari WordPress yang mengatakan bahwa <q>Semua request ke file/direktori fisik yang tidak hadir dilarikan ke file root index.php</q>.</p>
<p>Selanjutnya request tersebut diserahkan kepada WordPress dan karena WordPress tidak dapat memenuhinya maka request tersebut direspon sebagai <em>error 404 - File Not Found</em>.</p>
<p>Dengan cara ini selain kita dapat mencegah request langsung ke file php, kita juga dapat menyamarkan request tersebut menjadi suatu <em>error 404 - File Not Found</em>. Dengan kata lain seseorang yang mencoba mengakses file php secara langsung akan mengira bahwa request yang dia minta tidak tersedia.</p>
<h2>Langkah-langkah Pengamanan</h2>
<p>Setelah mengetahui prinsip dasar tentang solusi saya ini tentang pencegahan langsung ke file php. Saatnya kita melakukan proses pengamanan. Berikut langkah-langkahnya</p>
<ol>
<li>
<p>Pertama kita akan mengamankan direktori root. Di dalam direktori ini tidak dapat kita tutup semua akses ke file php karena sebagian besar file php diperlukan oleh WordPress untuk diakses langsung. Namun disini ada dua file penting yang seharusnya tidak diakses secara langsung yaitu wp-config.php dan wp-settings.php dan kita akan menutup akses langsung ke kedua file tersebut.<p>
<p>Caranya adalah dengan menambahkan kode didalam file .htaccess di direktori root sebagai berikut :</p>
[sourcecode language="php"]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^wp-config\.php$ raono.html [L]
RewriteRule ^wp-settings\.php$ raono.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
[/sourcecode]
<p>Sebagai catatan bahwa string <em>raono.html</em> merujuk pada file yang tidak hadir di dalam direktori root.</p>
</li>
<li>
<p>Selanjutnya kita akan mengamankan direktori wp-includes dan wp-content. Buat file .htaccess baru ke dalam direktori tersebut dan mengisikannya dengan kode berikut :</p>
[sourcecode language="php"]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .*\.php$ raono.html [L]
</IfModule>
[/sourcecode]
</li>
<li>
<p>Terakhir kita mengamankan direktori wp-admin. Untuk semua file php yang tersimpan di dalam direktori ini (bukan subdirectory) akan digunakan oleh WordPress dalam menangani semua request ke bagian administrator sehingga tidak perlu kita tutup aksesnya. Namun untuk subdirectory <em>wp-admin/includes</em> dan <em>wp-admin/import</em> akan mengandung file php yang bila diakses secara langsung dapat menimbulkan error php yang dapat memperlemah keamanan website kita. Sehingga perlu kita amankan. Untuk mengamankan subdirectory tersebut gunakan cara kedua diatas.</p>
</li>
</ol>
<h2>Penutup</h2>
<p>Sebagai tambahan untuk mengamankan website WordPress kita kita dapat menambahkan suatu file kosong bernama index.php pada setiap direktori/folder dari system WordPress. Hal ini dapat mencegah browser untuk menampilkan isi direktori/folder ketika seseorang mencoba untuk mengaksesnya.</p>
<p>Demikian tadi solusi yang berhasil kami temukan untuk mengatasi masalah celah keamanan di dalam WordPress yang terjadi sebagai akibat adanya request langsung ke suatu file php yang didesain sebagai file library. Apabila anda menemukan suatu masalah sebagai akibat penggunaan solusi ini silahkan beritahukan kepada kami sehingga kami dapat memikirkan solusi yang lain.</p>
<p>Anda dapat membuktikan solusi ini pada website kami, dengan mengklik link berikut :</p>
<ul>
<li><a href="http://iznyn.com/wp-config.php">Mencoba mengakses file /wp-config.php</a></li>
<li><a href="http://iznyn.com/wp-includes/wp-db.php">Mencoba mengakses file /wp-includes/wp-db.php</a></li>
<li><a href="http://iznyn.com/wp-admin/includes/wp-admin.php">Mencoba mengakses file /wp-admin/includes/wp-admin.php</a></li>
</ul>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/08/15/mencegah-akses-file-php-di-wordpress?feed=comment</wfw:commentRss>
		<slash:comments>7</slash:comments>
	</item>
		<item>
		<title>Berkenalan Dengan HTML 5</title>
		<link>http://iznyn.com/blog/2010/07/27/berkenalan-dengan-html-5</link>
		<comments>http://iznyn.com/blog/2010/07/27/berkenalan-dengan-html-5#comments</comments>
		<pubDate>Tue, 27 Jul 2010 07:29:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Html]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/07/27/berkenalan-dengan-html-5</guid>
				<description><![CDATA[<p>Walaupun spesifikasi HTML 5 masih dalam bentuk <a href="http://dev.w3.org/html5/spec/spec.html">draft</a>, namun telah digunakan secara luas oleh beberapa web designer di seluruh dunia. Kehadiran HTML 5 memang sangat dinantikan oleh para web designer di seluruh dunia, selain tentu saja <a href="http://www.w3.org/TR/css3-roadmap/">CSS 3</a>. Hal ini tidak mengherankan jika melihat feature baru yang disediakan oleh HTML 5. Salah satunya adalah tag <a href="http://html5doctor.com/the-video-element/"><code>video</code></a>, yang mana dapat digunakan untuk menyertakan video ke dalam halaman web tanpa menggunakan Flash.</p>]]></description>
					<content:encoded><![CDATA[<p>Walaupun spesifikasi HTML 5 masih dalam bentuk <a href="http://dev.w3.org/html5/spec/spec.html">draft</a>, namun telah digunakan secara luas oleh beberapa web designer di seluruh dunia. Kehadiran HTML 5 memang sangat dinantikan oleh para web designer di seluruh dunia, selain tentu saja <a href="http://www.w3.org/TR/css3-roadmap/">CSS 3</a>. Hal ini tidak mengherankan jika melihat feature baru yang disediakan oleh HTML 5. Salah satunya adalah tag <a href="http://html5doctor.com/the-video-element/"><code>video</code></a>, yang mana dapat digunakan untuk menyertakan video ke dalam halaman web tanpa menggunakan Flash.</p>

<p>Di dalam artikel ini kami akan mencoba untuk memperkenalkan beberapa tag baru HTML 5 sehingga dapat membantu bagi anda yang mengalami kesulitan dalam <a href="">memulai</a> memasuki dunia HTML 5. Walaupun dari setiap tag akan dijelaskan secara singkat, namun semoga tetap dapat memberikan pencerahan bagi kita semua.</p>

<h2 id="#iz-html5-header"><code>header</code></h2>
<p>Kita mulai saja perkenalan kita terhadap HTML 5 dengan mempelajari elemen <a href="http://dev.w3.org/html5/spec/sections.html#the-header-element"><code>header</code></a>. Elemen <code>header</code> digunakan untuk menggambarkan <em>header</em> suatu halaman web atau bagian halaman web. Header dapat berupa konten pendahuluan atau daftar isi/navigasi.</p>
<p>Untuk ukuran halaman web secara keseluruhan elemen <code>header</code> dapat berupa <em>Judul situs</em>, <em>pendahuluan</em> atau <em>navigasi situs web</em>. Seperti contoh di bawah ini,</p>
[xml autolinks="false"]
...
<body>
<header>
  <h1>iznyndotcom</h1>
  <div id="welcome">
    <p>Selamat datang di iznyndotcom, tempat anda menemukan banyak hal tentang Web Design</p>
  </div>
  <ul>
    <li><a href="http://iznyn.com/">Home</a></li>
    <li><a href="http://iznyn.com/about/">About</a></li>
    <li><a href="http://iznyn.com/contact/">Contact</a></li>
  </ul>
</header>
...
[/xml]
<p>Elemen <code>header</code> dapat juga digunakan di dalam suatu bagian dari halaman web, berikut adalah contoh penggunaan pada suatu blog post.</p>
[xml autolinks="false"]
...
<article class="hentry">
  <header>
    <h1 class="entry-title">Berkenalan Dengan HTML 5</h1>
    <h2>Table Of Contens</h2>
    <ul>
      <li><a href="#introduction">Introduction</a></li>
      <li><a href="#new-tags">New Tags</a></li>
    <li><a href="#example">Example</a></li>
  </ul>
  </header>	
  ...
</article>
[/xml]

<h2 id="#iz-html5-footer"><code>footer</code></h2>
<p>Elemen <a href="http://dev.w3.org/html5/spec/sections.html#the-footer-element"><code>footer</code></a> digunakan untuk menggambarkan <em>footer</em> dari suatu bab atau keseluruhan dokumen. Footer biasanya berisi tentang info penulis, tanggal ditulis, link yang berhubungan dengan dokumen, <em>copyright</em>, dsb.</p>
<p>Berikut ini adalah dua contoh penggunaan elemen <code>footer</code> di dalam suatu situs dan di bagian blog post.</p>
<h3>Di dalam situs</h3>
[xml autolinks="false"]
...
<body>
...
<footer>
  <p>Copyright &copy; 2010 by iznyndotcom</p>
</footer>
</body>
</html>
[/xml]

<h3>Di dalam blog post</h3>
[xml autolinks="false"]
...
<article class="hentry">
  <h1>Berkenalan Dengan HTML 5</h1>
  <footer>
    <p>Author by Iznyn</p>
    <p>In 12 January 2010</p>
    <p>Saved under : Web Design</p>
  </footer>	
  ...
</article>
[/xml]
<p>Contoh diatas juga menunjukkan bahwa suatu footer tidak selalu harus dibagian akhir dari bagian konten.</p>

<h2 id="#iz-html5-section"><code>section</code></h2>
<p>Elemen <a href="http://dev.w3.org/html5/spec/sections.html#the-section-element"><code>section</code></a> digunakan untuk menggambarkan <em>section</em> dari dokumen. Dalam pengertian yang lebih sederhana section merupakan kumpulan konten atau tulisan dengan sebuah judul. Untuk mempermudah pemahaman, <em>section</em> dapat dibayangkan sebagai bab di dalam suatu karya tulis.</p>
<p>Di dalam halaman depan suatu website, dapat dibagi menjadi beberapa <em>section</em> seperti konten pembuka, beberapa blog post, informasi kontak.</p>
<p>Berikut ini contoh penggunaan elemen <code>section</code>,</p>
[xml autolinks="false"]
<article class="hentry">
  <h1>Berkenalan Dengan HTML 5</h1>
  <section>
    <h1>Elemen Header</h1>
    <p>Elemen header digunakan untuk menggambarkan header suatu halaman web atau bagian halaman web.</p>
  </section>	
  <section>
    <h1>Elemen footer</h1>
    <p>Elemen footer digunakan untuk menggambarkan footer dari suatu bab atau keseluruhan dokumen.</p>
  </section>	
  ...
</article>
[/xml]
<p>Adanya elemen <code>section</code> memberikan keleluasaan dalam menentukan elemen header ( h1 - h6 ). Ketika kita menentukan suatu header maka elemen tersebut akan membentuk suatu rangkaian kedalaman header baru. Jadi pada contoh sebelumnya, <code>&lt;h1&gt;Elemen Header&lt;/h1&gt;</code> dan <code>&lt;h1&gt;Berkenalan Dengan HTML 5&lt;/h1&gt;</code> walaupun menggunakan elemen header sama (h1) tetap memiliki kedalaman yang berbeda.</p>

<h2 id="#iz-html5-article"><code>article</code></h2>
<p>Berikut penjelasan tentang elemen <code>article</code> di dalam <a href="http://dev.w3.org/html5/spec/sections.html#the-article-element">W3C spesification</a>.</p>
<blockquote>
<p>The article  element represents  a self-contained composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.</p>
</blockquote>
<p>Html5doctor <a href="http://html5doctor.com/the-article-element/">memperjelas</a> penggunaan elemen article ini untuk menggambarkan suatu konten yang tidak berhubungan dengan konten lain (independent) dan sesuai untuk diletakkan pada suatu <a href="http://en.wikipedia.org/wiki/News_aggregator"><em>feed reader</em></a>.</p>
<p>Berikut contoh penggunaan elemen <code>article</code> pada suatu blog post.</p>
[xml autolinks="false"]
<article>
  <h1>Berkenalan Dengan HTML 5</h1>
  <footer>
    <p>Author by Iznyn</p>
    <p>In 12 January 2010</p>
    <p>Saved under : Web Design</p>
  </footer>
  <section>
    <h1>Elemen Header</h1>
    <p>Elemen header digunakan untuk menggambarkan header suatu halaman web atau bagian halaman web.</p>
  </section>	
  <section>
    <h1>Elemen footer</h1>
    <p>Elemen footer digunakan untuk menggambarkan footer dari suatu bab atau keseluruhan dokumen.</p>
  </section>	
</article>
[/xml]


<h2 id="#iz-html5-hgroup"><code>hgroup</code></h2>
<p>Elemen <a href="http://dev.w3.org/html5/spec/sections.html#the-hgroup-element"><code>hgroup</code></a> digunakan untuk mengelompokkan elemen <code>hn</code> (<code>h1</code> - <code>h6</code>) ketika </em>heading</em> mempunyai beberapa kedalaman, seperti <em>subheadings</em>, <em>alternative titles</em>, atau <em>taglines</em>.</p>
<p>Berikut contoh penggunaan elemen <code>hgroup</code></p>
[xml autolinks="false"]
<article>
  <hgroup>
    <h1>Berkenalan Dengan HTML 5</h1>
    <h2>Dasar-dasar Elemen Baru HTML 5</h2>
  </hgroup>
...
</article>
[/xml]

<h2 id="#iz-html5-nav"><code>nav</code></h2>
<p>Elemen <code>nav</code> digunakan untuk menggambarkan suatu konten yang menghubungkan ke halaman lain atau bagian lain dalam halaman yang sama. Elemen ini paling sesuai untuk membentuk <em>semantic navigation</em> seperti menu situs web atau daftar isi suatu konten.</p>
<p>Berikut contoh penggunaan elemen <code>nav</code>, </p>
[xml autolinks="false"]
...
<body>
<header>
  <h1>iznyndotcom</h1>
  <div id="welcome">
    <p>Selamat datang di iznyndotcom, tempat anda menemukan banyak hal tentang Web Design</p>
  </div>
  <nav>
    <ul>
      <li><a href="http://iznyn.com/">Home</a></li>
      <li><a href="http://iznyn.com/about/">About</a></li>
      <li><a href="http://iznyn.com/work/">Work</a></li>
      <li><a href="http://iznyn.com/blog/">Blog</a></li>
      <li><a href="http://iznyn.com/contact/">Contact</a></li>
    </ul>
  </nav>
</header>
...
[/xml]

<h2 id="#iz-html5-aside"><code>aside</code></h2>
<p>Elemen <code>aside</code> digunakan untuk menggambarkan suatu bagian dari dokumen yang berhubungan dengan konten didekatnya namun dapat dipertimbangkan terpisah dari konten tersebut. Contoh penggunaan elemen <code>aside</code> di dalam halaman web adalah <em>sidebar</em>. Suatu sidebar mengandung konten yang berhubungan dengan halaman web, seperti profil, kontak, favorite links dsb. Namun demikian dia dapat terpisah dari konten lainnya di dalam halaman web yang sama.</p>
<p>Berikut contoh penggunaan elemen <code>aside</code>,</p>
[xml autolinks="false"]
...
<header>
  <h1>iznyndotcom</h1>
  <nav>
    <ul>
      <li><a href="http://iznyn.com/">Home</a></li>
      <li><a href="http://iznyn.com/about/">About</a></li>
    </ul>
  </nav>
</header>
<aside>
  <div>
    <h1>About Me</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
  </div>
  <nav>
    <h1>Archives</h1>
    <ul>
      <li><a href"/">New Post</li>
      <li><a href"/">Old Post</li>
    </ul>
  </nav>
</aside>
<section>
  <h1>Lastest Posts</h1>
  <article>
    <h1>New Post</h1>	
    <p>This is new post.</p>
  </article>
  <article>
    <h1>Old Post</h1>	
    <p>This is old post.</p>
  </article>
</section>
<footer>
  <p>Copyright &copy; 2010 by Iznyn</p>
</footer>
...
[/xml]

<h2 id="#iz-html5-hack">Browser Support</h2>
<p>Pada saat article ini, HTML 5 didalam spesifikasi W3C masih dalam bentuk draft. Untuk itu support terhadap elemen-elemen baru HTML 5 belum didukung oleh sebagian besar web browser. Untuk membuktikan hal ini, silahkan jalankan kode berikut di browser anda.</p>
[xml autolinks="false"]
<!DOCTYPE html>
<html>
  <head>
    <title>Test HTML 5</title>
    <style type="text/css">
      header { background-color: red; color: blue; }
    </style>
  </head>
  <body>
    <section>
      <header>
        <h1>Hello World</h1>
      </header>
    </section>
  </body>
</html>
[/xml]
<p><a href="http://localhost/iznyndotcom/resources/img_post/2010/08/test-HTML5.html">Lihat hasil kode html</a>.</p>
<p>Dari kode tersebut jika terlihat background warna merah, berarti web browser anda telah support terhadap elemen baru HTML 5. Jika tidak maka anda perlu menggunakan sedikit <em>hack</em> sehingga elemen-elemen tersebut dapat dimanipulasi dengan CSS. Sebenarnya solusinya cukup sederhana, anda cukup menentukan attribute <code>display</code> dari setiap elemen HTML 5 yang akan digunakan, seperti :</p>
[css]
header, hgroup, section, article, nav, aside { display: block; }
[/css]
<p>Untuk IE disini ada kondisi khusus, dimana solusi diatas tetap tidak bekerja. Salah satu solusi yang dapat digunakan untuk memungkinkan penggunaan elemen HTML 5 di IE adalah menggunakan javascript seperti yang diperkenalkan oleh <a href="http://remysharp.com/2009/01/07/html5-enabling-script/" title="HTML5 enabling script">remy sharp&apos;s</a>.</p>

<h2 id="#iz-html5-penutup">Penutup</h2>
<p>Itu tadi hanyalah beberapa elemen HTML 5 dasar yang dapat kami jelaskan disini, walaupun tidak semua elemen baru HTML 5 kami jelaskan termasuk elemen <code>time</code> dan <code>video</code>, namun kami harapkan dapat sedikit menambah pengetahuan tentang teknologi baru ini.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/07/27/berkenalan-dengan-html-5?feed=comment</wfw:commentRss>
		<slash:comments>6</slash:comments>
	</item>
		<item>
		<title>Menyambut Kehadiran WordPress 3.0</title>
		<link>http://iznyn.com/blog/2010/06/25/menyambut-kehadiran-wordpress-3-0</link>
		<comments>http://iznyn.com/blog/2010/06/25/menyambut-kehadiran-wordpress-3-0#comments</comments>
		<pubDate>Fri, 25 Jun 2010 07:43:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/06/25/menyambut-kehadiran-wordpress-3-0</guid>
				<description><![CDATA[<p>Pada 17 Juni lalu, WordPress secara resmi telah memplubikasikan versi terbaru dari <a href="http://WordPress.org/download/" title="Download WordPress Versi Terbaru">WordPress 3.0</a>. Pada versi ini mempunyai banyak perbaikan serta fasilitas baru yang kemudian menjadikan WordPress dapat dikatakan makin mendekati untuk menjadi sebuah <abbr title="Content Management System">CMS</abbr> dari sebelumnya yang hanya sebuah mesin blog.
Disini kami akan sedikit menjelaskan beberapa feature penting terbaru yang dimiliki oleh WordPress 3.0, semoga dapat menjadi panduan dalam menggunakannya.</p>]]></description>
					<content:encoded><![CDATA[<p>Pada 17 Juni lalu, WordPress secara resmi telah memplubikasikan versi terbaru dari <a href="http://WordPress.org/download/" title="Download WordPress Versi Terbaru">WordPress 3.0</a>. Pada versi ini mempunyai banyak perbaikan serta fasilitas baru yang kemudian menjadikan WordPress dapat dikatakan makin mendekati untuk menjadi sebuah <abbr title="Content Management System">CMS</abbr> dari sebelumnya yang hanya sebuah mesin blog.
Disini kami akan sedikit menjelaskan beberapa feature penting terbaru yang dimiliki oleh WordPress 3.0, semoga dapat menjadi panduan dalam menggunakannya.</p>
<h2>Opsi Installasi</h2>
<p>Sesuatu yang baru sudah anda temukan ketika melakukan instalasi WordPress 3.0. Sebelum melakukan instalasi, kali ini kita dapat menentukan username dan password secara langsung. Pada versi sebelumnya, WordPress menentukan sendiri username dan password, sehingga kita perlu menggantinya jika ingin menambah keamanan untuk akses ke bagian administrator. Berikut gambaran tentang opsi pada proses installasi.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/installation-option.jpg" alt="Gambar opsi instalasi wordpress"][/wptf]</p>

<h2>WordPress Updates</h2>
<p>Pada versi terbaru ini, WordPress mengumpulkan info tentang update terbaru, baik versi WordPress ataupun plugins dan themes, di dalam satu halaman. Halaman ini dapat diakses melalui menu <strong>Dashboard > Updates</strong>. Hal ini menjadikan proses pengawasan terhadap updates dari WordPress, plugins dan themes ada di dalam satu tempat. Berikut gambaran tentang halaman updates.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/updates.jpg" alt="Gambar halaman updates wordpress"][/wptf]</p>

<h2>Theme Default Baru</h2>
<p>Bersamaan dengan versi terbarunya, WordPress juga memperkenalkan theme default barunya yang bernama Tweenty Ten. Pada situs resminya WordPress menyatakan akan mengeluarkan theme default baru untuk setiap tahunnya. Untuk itulah nama dari theme baru ini adalah Tweenty Ten yang menandakan tahun 2010. Pada Theme ini telah support beberapa feature baru seperti Custom Header, Custom Background, dan Pengaturan Menu. Untuk itu kita dapat menciptakan desain blog yang aktraktif hanya dari sebuah theme default. Berikut gambaran tentang theme Tweenty Ten.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/twenty-ten.jpg" alt="Gambar theme Tweenty Ten"][/wptf]</p>

<h2>WPMU and WordPress</h2>
<p>WordPress MU merupakan versi WordPress yang secara khusus digunakan untuk membangun beberapa blog dengan hanya satu instalasi WordPress. Kini fasilitas pembuatan multi-site ini secara langsung disertakan di dalam Wordpress 3.0, walaupun secara default tidak dinyalakan. Untuk menggunakan fasilitas ini anda perlu menyalakannya dengan langkah berikut :
</p>
<ol>
	<li>
		Definisikan constant &rsquo;WP_ALLOW_MULTISITE&rsquo; di dalam file config.php, sebagai berikut :
		[php]define ( "WP_ALLOW_MULTISITE", true );[/php]
	</li>
	<li>
		Setiap pernyataan ini disertakan dalam config.php, maka pada menu <em>tools</em> akan ditambahkan sub menu <em>network</em>. Melalui halaman ini kita dapat melakukan instalasi terhadap feature multi-site. Anda cukup mengikuti instruksi yang telah disediakan dengan sangat jelas oleh WordPress.
	</li>
	<li>
		Setelah proses installasi selesai anda dapat mengelola seluruh site di dalam menu baru &quot;Super Admin&quot; Berikut gambaran tentang menu ini : 

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/wpmu-settings.jpg" alt="Gambar setting wpmu"][/wptf]</p>

	</li>
</ol>
<p><strong>Note :</strong> Walaupun penyertaan fasilitas multi-site membuat WordPress semakin powerfull, namun karena tidak adanya sistem <em>uninstall</em> dari fasilitas ini membuat kita tidak bisa membatalkan tindakan kita. Jadi berhati-hatilah dalam menggunakan fasilitas ini.
<h2>Pengaturan Menu</h2>
<p>Feature baru yang disediakan oleh WordPress untuk mengatur susunan menu di dalam website. Namun ketersediaan feature ini sangat tergantung dari theme yang digunakan. Fasilitas pengaturan menu dapat diakses melalui <em>Appearance</em> &gt; <em>Menus</em>. Jika anda ingin mencoba fasilitas ini anda dapat menggunakan theme default WordPress 3.0 yang telah mendukung fasilitas ini. Halaman pengaturan menu akan terlihat sebagai berikut :</p>
<p>Dari gambar terlihat ada 5 bagian dalam halaman pengaturan menu, berikut penjelasannya :</p>
<dl>
<dt>1. Bagian Pembuatan dan Pengaturan Menu</dt>
<dd>
<p>Bagian ini digunakan untuk membuat menu baru dan mengatur isi menu. Perlu dipahami bahwa menu disini bukan sebuah link namun koleksi link-link yang akan ditampilkan dalam halaman web. Pertama kita membuat semacam kontainer dari menu kita dengan menentukan nama dari kontainer menu tersebut. Kemudian kita mengisi kontainer tersebut dengan menu-menu yang kita inginkan. Menu yang ditambahkan dapat bersumber dari tiga hal, yaitu link, page dan category. Penambahan dilakukan melalui tiga bagian terakhir dari penjelasan ini. Setiap penambahan menu dilakukan akan ditambahakan box untuk mengatur setting menu tersebut.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/menus.jpg" alt="Gambar pengaturan menu"][/wptf]</p>

</dd>
<dt>2. Bagian Penentuan Lokasi Menu</dt>
<dd>
<p>Bagian ini sangat tergantung pada theme yang digunakan. Untuk theme default <em>Twenty Teen</em> disediakan satu lokasi penambahan menu, yaitu di bagian bawah image header.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/twenty-ten-menu.jpg" alt="Gambar opsi instalasi wordpress"][/wptf]</p>

<p>Dari lokasi yang didefinisikan kita menentukan menu yang akan disertakan pada lokasi tersebut.</p>
</dd>
<dt>3. Penambahan Menu dengan Url</dt>
<dd>
<p>Bagian ini digunakan ketika kita ingin menambahkan menu dengan target link adalah sebuah url. Label disini adalah text yang akan ditampilkan dalam halaman web.</p>
</dd>
<dt>4. Penambahan Menu dengan Page</dt>
<dd>
<p>Bagian ini digunakan ketika kita ingin menambahkan menu dengan target link adalah page yang telah ada di dalam sistem blog.</p>
</dd>
<dt>5. Penambahan Menu dengan Category</dt>
<dd>
<p>Bagian ini digunakan ketika kita ingin menambahkan menu dengan target link adalah category yang telah ada di dalam sistem blog.</p>
</dd>
<h2>Custom Header</h2>
<p>Seperti halnya fasilitas Pengaturan Menu, fasilitas ini juga tergantung dari desain theme yang digunakan. Fasilitas ini pada dasarnya mengatur penyertaan image pada bagian tertentu dari halaman web, biasanya bagian atas dari website. Halaman pengaturan Custom Header dan contoh tampilan Custom Header di halaman web dapat dilihat di bawah ini (kita menggunakan theme default sebagai contoh) :</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/custom-header.jpg" alt="Gambar opsi instalasi wordpress"][/wptf]</p>
<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/twenty-ten-header.jpg" alt="Gambar opsi instalasi wordpress"][/wptf]</p>

<p>Untuk menentukan gambar yang akan ditampilkan kita cukup memilih gambar yang telah disediakan oleh theme atau dengan mengupload file gambar milik sendiri.</p>
<h2>Custom Background</h2>
<p>Hampir seperti Custom Header, hanya saja pada fasilitas ini digunakan untuk mengatur background dari halaman web. Kita dapat mengatur background dengan warna maupun gambar. Jika disupport oleh theme yang digunakan halaman pengaturannya dapat diakses melalui <em>Appearance</em> &gt; <em>Background</em>. Berikut gambaran untuk halaman pengaturan Custom Background.</p>

<p class="image">[wptf act="InsertImg" src="menyambut-wordpress/custom-bg.jpg" alt="Gambar opsi instalasi wordpress"][/wptf]</p>

<h2>New Template Files</h2>
<p>Pada versi 3.0 ini, WordPress menyediakan file template baru yang akan memberikan keleluasaan dalam menyusun theme. Dengan file template baru ini, penyusunan tampilan web menjadi lebih mudah dan variatif. Kita dapat membedakan tampilan web berdasarkan parameter request yang lebih spesifik seperti nama author, slug, post type etc.</p>
<p>Berikut beberapa file template baru yang disediakan :</p>
<dl>
<dt>single-{post_type}.php</dt>
<dd>{post_type} dapat diganti dengan tipe post. Sebagai contoh jika tipe post adalah <em>news</em> maka file template menjadi <em>single-news.php</em> Untuk memahami tentang tipe post dapat dilihat pada bagian selanjutnya.</dd>
<dt>front-page.php</dt>
<dd>Digunakan untuk latest posts atau static page sesuai yang diatur pada bagian setting Front page displays di <em>Administration > Settings > Reading</em></dd>
<dt>taxonomy.php</dt>
<dd>File template yang akan dipanggil untuk semua request taxonomy</dd>
<dt>taxonomy-{taxonomy}-{term}.php </dt>
<dd>{taxonomy} diganti dengan tipe taxonomy dan {term} diganti dengan nama term, misalkan jika taxonomy adalah <em>tag</em> dan term adalah <em>web</em> maka file template menjadi <em>taxonomy-tag-web.php</em></dd> 
<dt>taxonomy-{taxonomy}.php</dt>
<dd>{taxonomy} dapat diganti dengan nama taxonomy. Misalkan taxonomy adalah <em>category</em> maka file template menjadi <em>taxonomy-category.php</em></dd>
<dt>author-{nicename}.php</dt>
<dd>{nicename} diganti dengan attribute nicename dari author. Misalkan jika nicename adalah <em>iznyn</em> maka file template menjadi <em>author-iznyn.php</em></dd>
<dt>author-{id}.php</dt>
<dd>{id} diganti dengan id dari author. Misalkan jika id adalah <em>7</em> maka file template menjadi <em>author-7.php</em></dd>
</dl>
<h2>Custom Post Types</h2>
<p>Fasilitas terakhir mungkin menjadi yang terhebat. Dengan fasilitas ini, dapat dikatakan bahwa WordPress semakin mendekati ke bentuk CMS (Content Management System ). Intinya fasilitas ini dapat menambahkan jenis content selain <em>page</em> dan <em>post</em>. Walaupun secara khusus disediakan bagi <em>Theme Developer</em> namun bagi anda pengguna biasa dapat menantikan berbagai theme yang menyajikan suatu manajemen content yang cukup luas, sehingga makin memberikan kemudahan kepada anda.</p>
<p>Kita disini tidak akan menjelaskan bagaimana cara membentuk Custom Post Type karena membutuhkan ruang yang tidak sedikit. Daripada itu kita akan memberikan beberapa link yang membahas hal ini secara rinci, sebagai berikut :</p>
<ul>
<li><a href="http://bit.ly/aQVRCj">WordPress 3.0: Ultimate Guide to New Features</a></li>
<li><a href="http://bit.ly/cjpOnw ">Rock-Solid WordPress 3.0 Themes using Custom Post Types"</a></li>
<li><a href="http://bit.ly/bdjR21">Create A Professional Portfolio Using WordPress 3.0 Custom Post Types</a></li>
<li><a href="http://bit.ly/c003pj">Explore the Power of Custom Post Types to Maximize WordPress as a CMS</a></li>
<li><a href="http://bit.ly/c003pj">Create your first WordPress Custom Post Type</a></li>
<li><a href="http://bit.ly/9dvXJ4 ">How to create a side blog with WordPress 3.0</a></li>
</ul>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/06/25/menyambut-kehadiran-wordpress-3-0?feed=comment</wfw:commentRss>
		<slash:comments>2</slash:comments>
	</item>
		<item>
		<title>HTML 5 dan CSS 3.0 di Iznyndotcom</title>
		<link>http://iznyn.com/blog/2010/06/14/html-5-dan-css-3-0-di-iznyndotcom</link>
		<comments>http://iznyn.com/blog/2010/06/14/html-5-dan-css-3-0-di-iznyndotcom#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:18:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Iznyn Corner]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/06/14/html-5-dan-css-3-0-di-iznyndotcom</guid>
				<description><![CDATA[<p>Salah satu bentuk <a href="http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi/">revolusi</a> dari versi terbaru iznyndotcom adalah penggunaan <a href="http://dev.w3.org/html5/spec/Overview.html" title="More about HTML 5">HTML 5</a> dan <a href="http://www.w3.org/TR/css3-roadmap/" title="More about CSS 3.0">CSS 3.0</a>. Dua standard teknologi web yang sampai saat artikel ini ditulis masih dalam bentuk draft dan terus dikembangkan oleh W3C dan sangat ditunggu kehadirannya oleh web designer diseluruh dunia.</p>]]></description>
					<content:encoded><![CDATA[<p>Salah satu bentuk <a href="http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi/">revolusi</a> dari versi terbaru iznyndotcom adalah penggunaan <a href="http://dev.w3.org/html5/spec/Overview.html" title="More about HTML 5">HTML 5</a> dan <a href="http://www.w3.org/TR/css3-roadmap/" title="More about CSS 3.0">CSS 3.0</a>. Dua standard teknologi web yang sampai saat artikel ini ditulis masih dalam bentuk draft dan terus dikembangkan oleh W3C dan sangat ditunggu kehadirannya oleh web designer diseluruh dunia.</p>
<p>Karena belum berbentuk rekomendasi, maka <abbr title="Hypertext Markup Language">HTML</abbr> 5 dan <abbr title="Cascading Style Sheets">CSS</abbr> 3.0 masih cukup minim penggunaannya dan dukungan dari browser juga masih rendah. Sebagai contoh untuk dapat memasukkan attribute CSS ke dalam HTML 5, kita sebelumnya masih harus memperjelas level blok dari element tersebut dengan menggunakan attribute CSS <code>display</code>.</p>
<p>Contoh lainnya adalah di dalam penggunaan CSS 3.0. Untuk dapat menggunakan attribute baru dalam CSS 3.0 kita masih harus menggunakan attribute tambahan yang dikembangkan oelh browser. Sehingga ketersediaan style akan sangat tergantung pada dukungan browser yang menampilkan halaman dengan attribute CSS 3.0.</p>
<p>Walapun dengan segala kekurangan diatas, namun kita tetap harus membuat sebuah persiapan karena suatu saat nanti pasti akan mengunakan kedua standard ini. Inilah alasan utama penggunaan HTML 5 dan CSS 3.0 dalam website ini. Di sisi lain, ada harapan bahwa dengan adanya penggunaan HTML 5 dan CSS 3.0 dapat memberikan kesempatan kepada kami untuk berpartisipasi dalam perkembangan kedua standard tersebut.</p>
<h2>Penggunaan HTML 5</h2>
<p>Dalam mengembangkan website ini kami mencoba untuk menerapkan hampir seluruh tag HTML baru seperti <code>header</code>, <code>footer</code>, <code>article</code>, <code>hgroup</code>, <code>time</code>, <code>aside</code>, <code>nav</code>. Selain berdasarkan standard yang dikembangkan oleh W3C, penerapan HTML 5 banyak terbantu oleh beberapa tutorial dari website seperti <a href="http://alistapart.com" title="Go to A List A Part">alistapart</a> dan <a href="http://html5doctor.com/" title="Go to HTML 5 Doctor">html5doctor</a>.</p>
<p>Salah satu contoh penggunaan HTML 5 pada website ini adalah di dalam data post. Kami menyusun setiap post dengan struktur HTML sebagai berikut :</p>
[xml]
<article>
  <header>
    <h1>Title Here</h1>
    <p class="entry-date">
      <time pubdate class="published updated" datetime="machine date">Post date</time>
    </p>
  </header>
  <div class="entry-content">
    Content Here ....
  </div>
  <div id="entry-metadata">
    <section class="entry-category">
      Category List
    </section>
    <section class="entry-tag">
      Tag List
    </section>
  </div>
  <section id="entry-related">
    Related Post
  </section>
</article>
[/xml]
<p>Artikel ini tidak akan membahas teknis dari penggunaan HTML 5 secara mendetail, namun disini kami akan menjelaskan sedikit tentang struktur HTML diatas. Satu hal yang dapat disimpulkan setelah menggunakan HTML 5 adalah bahwa adanya tag baru tersebut memberikan kita peluang yang lebih luas dalam mendeskripsikan content. Sebelumnya content hanya dapat dideskripisikan sebagai paragraph, title dan beberapa konteks lain melalui tag inline seperti emphasis, abbreative dsb.</p>
<p>Dengan HTML 5, kita dapat menambahkan arti dari suatu content sebagai header, footer ataupun memecah content menjadi beberapa bab. Namun semua manfaat ini tidak akan kita dapatkan apabila tidak memiliki pemahaman yang kuat terhadap fungsi dari setiap tag. Di sisi lain kurangnya pemahaman dari setiap fungsi tag dapat menyulitkan kita dalam membuat keputusan terhadap pembentukan konteks dari content.</p>
<p>Ada satu kenyataan lain berkaitan dengan penggunaan HTML 5 yaitu kembalinya fungsi tag <code>div</code> sebagai kontainer murni yang tidak memberikan arti apapun terhadap content yang dikandungnya. Penggunaan <code>div</code> lebih sebagai pengait di dalam CSS dan Javascript.</p>
<h3>Microformat</h3>
<p>Inilah salah satu yang sedikit membingungkan dalam pembentukan HTML 5. <a href="http://microformats.org/about" title="More about Microformat">Microformat</a> pada dasarnya digunakan untuk menambahkan informasi <a href="http://en.wikipedia.org/wiki/Semantic_Web" title="More about semantic">semantic</a> ke sebuah halaman web menggunakan <em>HTML classes</em>. Ia muncul sebagai akibat kurang mampunya tag HTML dalam menyediakan fungsi tersebut. Dengan semakin banyaknya tag baru yang dapat mengartikan content dalam berbagai konteks, masih bergunakah Microformat di dalam HTML 5 ?</p>
<p>Memang benar beberapa microformat dapat digantikan dengan tag HTML 5, sebagai contoh Microformat <a href="http://microformats.org/wiki/datetime-design-pattern">datetime-design-pattern</a> dapat diganti dengan <a href="http://html5doctor.com/the-time-element/">element time</a>. Namun demikian selama stadard HTML 5 belum diterapkan secara luas maka microformat masih sangat diperlukan. Cara yang paling bijaksana adalah mencampur keduanya sampai ada standard yang pasti dan pengunaan yang luas dari HTML 5.</p>
<p>Secara prinsip <a href="http://microformats.org/wiki/HTML5">Penambahan Microformat dalam HTML 5</a> (seperti yang diterapkan pada website ini) adalah sesuatu yang legal karena penambahan micordata dilakukan melalui HTML class tanpa terpengaruh oleh jenis tag yang digunakan. Terlebih lagi jika microdata HTML 5 kurang dapat memenuhi keinginan kita, maka microformat masih tetap diperlukan.</p>

<h2>Penggunaan CSS 3.0</h2>
<p>Penggunaan CSS 3.0 pada website ini masih belum terlalu signifikan. Hanya beberapa attribute yang kami gunakan untuk memperkuat style dokumen. Attribute tersebut antara lain <code>font-face</code>, <code>text-shadow</code> dan <code>border-radius</code>.</p>
<p>Namun karena attribute ini masih belum disupport oleh semua browser maka efeknya tidak akan dirasakan pada beberapa browser. Saya merekomendasikan untuk menggunakan <a href="http://www.mozilla.org/en-US/firefox/new/">firefox</a> untuk mendapatkan hasil maksimal dari website ini.</p>

<h2>Penutup</h2>
<p>Pada dasarnya artikel ini bukan menjelaskan teknis penggunaan HTML 5 maupun CSS 3 namun lebih untuk memperkenalkan penggunaan dua stadard ini di dalam struktur website.</p>
<p>Terakhir, karena masih bersifat percobaan, maka kami sangat mengharapkan <a href="http://iznyn.com/contact/">kritik dan saran</a> terhadap penggunaan HTML 5 dan CSS 3 ini demi kemajuan bersama.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/06/14/html-5-dan-css-3-0-di-iznyndotcom?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Redesign Untuk Sebuah Revolusi</title>
		<link>http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi</link>
		<comments>http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:02:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Iznyn Corner]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi</guid>
				<description><![CDATA[<p>Kegilaan, mungkin adalah kata yang paling pantas jika melihat sejarah iznyndotcom. Bagaimana tidak, terhitung sejak lahirnya website ini pada Maret 2009 sudah mengalami dua kali perubahan desain. Artinya bahwa hanya dalam kurun waktu 1 tahun kami sudah menggunakan tiga versi yang berbeda.</p>
<p>Secara khusus, perkembangan website ini dapat juga dikatakan sebagai gambaran atas perkembangan dari kemampuan web design yang kami miliki. Pada desain awal dari iznyndotcom dapat menggambarkan kegamangan kami dalam dunia web design. Disini kami masih belum mampu menciptakan sebuah desain website yang solid. Pada versi kedua, sejalan dengan bertambahnya kemampuan web design yang kami miliki, sebuah desain tampilan website yang cukup bagus sudah dapat diciptakan. Namun tidak untuk sistem website. Dan pada versi terkini akhrinya kami mampu menyusun sebuah desain berhasil mencapai sebuah kesempuranaan pada desain terkini.</p>]]></description>
					<content:encoded><![CDATA[<p>Kegilaan, mungkin adalah kata yang paling pantas jika melihat sejarah iznyndotcom. Bagaimana tidak, terhitung sejak lahirnya website ini pada Maret 2009 sudah mengalami dua kali perubahan desain. Artinya bahwa hanya dalam kurun waktu 1 tahun kami sudah menggunakan tiga versi yang berbeda.</p>
<p>Pada saat kemunculan pertama kali, kami masih menggunakan fasilitas dasar dari <a href="http://wordpress.org" title="About Wordpress">Wordpress</a>. Sedangkan theme sudah membuat sendiri dan bernama <a href="http://iznyn.com/media/image/aXpueW5ibG9nLTF8anBn">Peace In Darkness</a>. Generasi pertama ini tidak bertahan lama karena pada bulan juli sudah dilakukan proses redesign.</p> 
<p>Generasi kedua selesai pada Agustus 2009. Pada versi ini sedikit lebih baik dan mulai memperluas fasilitas wordpress untuk dapat menjangkau kebutuhan website. Bersamaan dengan itu, kami juga melahirkan theme baru bernama <a href="http://iznyn.com/media/image/aXpueW5ibG9nLTJ8anBn">Red In Light</a>. Terakhir, pada Maret 2010 kami memutuskan untuk melakukan redesign yang kedua kalinya dan melahirkan versi 3.0 yang digunakan saat ini.</p>
<h2>Mengapa Kami Lakukan?</h2>
<p>Redesign suatu website adalah sebuah pekerjaan yang sangat melelahkan serta membutuhkan biaya dan waktu yang tidak sedikit. Jadi sangat jarang dilakukan dalam jarak waktu yang pendek.</p>
<p>Tapi mengapa hal ini justru terjadi pada iznyndotcom?</p>
<p>Tentu saja kami tidak sembarangan dalam memutuskan hal sepenting ini. Dalam kasus iznyndotcom ini, memang harus dilakukan sebuah perbaikan karena tanpa adanya hal tersebut maka tidak ada yang namanya langkah maju. Dari desain website sebelumnya, kami merasakan ketidaknyamanan dalam mengembangkannya sehingga sulit untuk mengharapkan adanya kemajuan dari desain tersebut.</p>
<p>Secara khusus, perkembangan website ini dapat juga dikatakan sebagai gambaran atas perkembangan dari kemampuan web design yang kami miliki. Pada desain awal dari iznyndotcom dapat menggambarkan kegamangan kami dalam dunia web design. Disini kami masih belum mampu menciptakan sebuah desain website yang solid. Pada versi kedua, sejalan dengan bertambahnya kemampuan web design yang kami miliki, sebuah desain tampilan website yang cukup bagus sudah dapat diciptakan. Namun tidak untuk sistem website.</p>
<h3>Kesempurnaan Desain Saat Ini</h3>
<p>Tidak ada yang lebih menyenangkan selain dapat mencapai sebuah kesempurnaan. Dan inilah yang kami rasakan setelah berhasil menyelesaikan versi 3.0 dari website ini.</p>
<p>Kami menyusun desain terbaru ini dengan detail yang sangat luar biasa sehingga seluruh kekurangan yang ada didalam desain sebelumnya tidak ada lagi.</p>
<h2>Inspirasi</h2>
<p>Ada banyak hal yang menginspirasi design terbaru dari website ini. <a href="http://deviantart.com" title="Go to Deviantart">Deviantart</a> merupakan salah satunya. Beberapa karya yang dipublikasikan melalui social network ini banyak memberikan inspirasi terhadap unsur <em>&quot;Look and Feel&quot;</em>. Kemudian untuk sistem dibelakang website, terutama untuk penyajian artikel blog banyak terinspirasi oleh <a href="http://alistapart.com" title="Go to A list A Part">alistapart</a>.</p>
<p>Selain itu, inspirasi juga kami dapatkan dari hasil pengamatan terhadap beberapa <em>&quot;website showcase&quot;</em> yang dilakukan oleh beberapa blog seperti <a href="http://vandelaydesign.com/blog/" title="Go to Vandelay Design">Vandelay Design</a> dan <a href="http://designm.ag/inspiration/" title="Go to Designm.ag">Designm.ag</a>.</p>
<h2>Warna</h2>
<p>Pertimbangan warna untuk design website ini menjadi cukup luas karena kami tidak mempunyai patokan yang pasti. Biasanya pencarian komposisi warna dari suatu project website dimulai dari logo organisasi di belakang website. Namun karena ini adalah blog pribadi sedangkan secara khusus kami belum mempunyai warna yang pasti pada logo yang digunakan menjadikan penentuan komposisi warna sedikit sulit dilakukan.</p>
<p>Suasana hati kemudian menjadi kunci dalam pemilihan warna <strong>biru</strong> untuk diterapkan dalam design website. Keputusan ini diambil lebih karena suasana yang ditimbulkan warna biru itu sendiri, yaitu segar, sejuk, dan alamiah. Dari suasana ini diharapkan akan memberikan kenyamanan dan kesejukan dalam menikmati isi website.</p>
<h2>Layout</h2>
<p>Berbeda dengan desain sebelumnya yang menempatkan seluruh content ke sisi kiri, pada desain terbaru ini kami memilih untuk menempatkan seluruh content di tengah-tengah monitor. Sedangkan untuk ukuran layout kami memilih menggunakan ukuran tetap (fixed) yang tidak akan terpengaruh oleh perubahan ukuran monitor maupun font. Walupun demikian, layout tetap memberikan flexibilitas dalam menyesuaikan berbagai lingkungan.</p>
<p>Desain layout untuk website versi ini cukup bervariasi, beberapa ada yang hanya terdiri dari 1 column sedangkan yang lainnya menempatkan content website di dalam 2 column. Pendekatan ini dilakukan agar user dapat fokus pada satu topik pembahasan untuk setiap halamannya dan tidak terganggu oleh content yang tidak berhubungan dengan topik utama.</p>
<h2>Typography</h2>
<p>Sejak awal pengembangan website ini, ada keinginan kuat untuk menggunakan suatu font yang memiliki kesan unik dan kuat pada bagian <em>title content</em>. Setelah melakukan pencarian, kami menemukan <a href="http://www.fonts.com/FindFonts/detail.htm?pid=201908" title="Look Rockwell font">Rockwell</a> dapat memenuhi keinginan tersebut. Namun disini ada beberapa masalah dalam penggunaan font ini. Penggunaan Rockwell akan menjadi sia-sia karena tidak ada satupun sistem operasi yang secara default menyertakannya. Hal ini diperburuk oleh ketiadaan font sejenis pada font-font yang tergolong aman.</p>
<p>Untuk mengatasinya, kami menemukan attribute css <a href="http://www.alistapart.com/articles/cssatten" title="Good explanation for CSS Font Face">font-face</a> sebagai solusi terbaik untuk masalah ini. Namun karena Rockwell merupakan font commercial maka kita harus mempunyai lisensi terhadap pemakaian font tersebut. Dengan dana yang cukup ketat, membuatnya menjadi cukup mustahil.</p>
<p>Akhirnya kami memutuskan untuk mencoba alternative lain melalui font gratis. Setelah melakukan pencarian, kami menemukan dua font yang mampu menggantikan Rockwell, yaitu <a href="http://www.theleagueofmoveabletype.com/fonts/4-chunk">Chunk</a> dan <a href="http://www.dafont.com/nilland.font">Nilland</a>. Pada dasarnya Chunk merupakan font utama yang kami gunakan sebagai heading, namun karena font ini terlalu tebal untuk suatu sub heading maka perlu digunakan Nilland yang mempunyai struktur lebih tipis.</p>
<h3>Body Text Typography</h3>
<p>Ketika menentukan tipe font yang digunakan pada suatu body text, kami masih beranggapan bahwa font <a href="http://en.wikipedia.org/wiki/Sans-serif" title="More about sans-serif">sans-serif</a> masih tetap menjadi yang terbaik. Walaupun beberapa website, seperti <a href="http://colly.com">colly.com</a> telah membuktikan bahwa font serif dapat dengan cantik digunakan pada text body.</p>
<p>Arial kemudian menjadi pilihan utama untuk setiap text body di dalam website ini. Selain karena disertakan hampir pada seluruh instalasi sistem operasi, pemilihan font ini juga didasarkan pada kesederhanannya.</p>
<h2>Hal Baru Dalam Versi Ini</h2>
<p>Berbicara tentang redesign tentu saja akan ada sesuatu yang baru. Terlebih jika menilik pada kata &quot;Revolusi&quot; dalam judul dari artikel ini. Pada proses pengembangan versi terbaru dari website ini lebih menitikberatkan pada sistem di belakang website. Bahkan pada awal rencana kami tidak melakukan perubahan terhadap tampilan website.</p>
<p>Berikut beberapa hal yang kami tambahkan dalam versi terbaru dari iznyndotcom.</p>
<h3>HTML 5 dan CSS 3</h3>
<p>Kesempurnaan dalam versi terbaru iznyndotcom semakin lengkap dengan diterapkannya <a href="http://www.alistapart.com/articles/get-ready-for-html-5/" title="Good explanation for HTML 5">HTML 5</a> dan <a href="http://www.w3.org/TR/css3-roadmap/">CSS 3</a>. Hampir secara keseluruhan struktur website ini dibangun dengan menggunakan standard <abbr title="Hypertext Markup Language">HTML</abbr> 5. Namun berbeda dengan <abbr title="Cascade Style Sheet">CSS</abbr> 3, kami hanya menggunakan beberapa attribute untuk memperkuat unsur presentasi website. Anda dapat membaca cerita lebih lengkap tentang hal ini dalam <a href="http://iznyn.com/blog/2010/06/14/html-5-dan-css-3-0-di-iznyndotcom/">HTML 5 dan CSS 3 di Iznyndotcom</a></p>
<h3>Cara Baru Penyajian Blog</h3>
<p>Sejak awal, blog adalah inti dari website ini karena menjadi media yang menampilkan ide dan pikiran kami. Namun pada versi terbaru ini, kami tidak terlalu menonjolkan isi dari blog pada bagian halaman depan dan memberikan menu khusus untuk menyajikan seluruh artikel blog.</p>
<p>Hal ini disebabkan karena sekarang iznyndotcom tidak hanya sebagai tempat menampilkan ide (blog) namun juga menampilkan seluruh hasil perkerjaan web design yang telah kami kerjakan. Di lain pihak kami juga ingin memberikan kemudahan bagi user dalam menjangkau seluruh isi dari website.</p>
<h3>Commenter Notification</h3>
<p>Ini adalah fasilitas yang benar-benar baru dalam website ini. Commenter notification disediakan agar seseorang yang pernah terlibat diskusi pada suatu post, mendapatkan perberitahuan terkait dengan perkembangan proses diskusi.</p>
<h2>Sebuah Harapan Baru</h2>
<p>Awal dari terbesitnya ide redesign adalah rasa ketidaknyamanan kami dalam mengelola website ini. Sehingga ada harapan bahwa design baru ini mampu memberikan kenyamanan baik bagi kami selaku pengelola website maupun seluruh pengunjung website.</p>
<p>Selain itu kami juga berharap bahwa versi ini dapat menjadi pintu gerbang kesuksesan dalam dunia freelance web design serta sebagai awal dari pekerjaan-pekerjaan besar selanjutnya.</p>
<p>Dan yang lebih penting adalah bagaimana melalui website ini kami mampu memberikan manfaat kepada semua pihak yang telah berinteraksi dengan website kami ini.</p>
<h2>Terakhir Namun Bukan Akhir Segalanya</h2>
<p>Walaupun kami menganggap versi terbaru dari website ini sebagai sebuah kesempurnaan, namun kami sadar bahwa ini hanya bersifat sementara. Karena tidak ada yang sempurna di dunia ini. Kesempurnaan hanya bersifat sementara. Seiring berjalannya waktu, kesempurnaan akan memudar dan dapat menjadi sebuah kehancuran bilamana tidak dilakukan usaha untuk mempertahankannya.</p>
<p>Selain tetap berusaha untuk mempertahankan kesempurnaan website ini, kami sangat berharap adanya <a href="http://iznyn.com/contact">saran dan kritik</a> atas semua kekurangan dan kesalahan yang anda temui ketika mengunjungi website ini.</p>
<p>Tak lupa kami juga mengucapkan banyak terima kasih kepada semua pihak yang telah memberikan bantuannya sehingga pekerjaan ini dapat terselesaikan dengan baik. Secara khusus ucapan ini kami persembahkan kepada <em>My best friend</em>, <strong>rere</strong> yang telah membantu dalam penyusunan content website ini</p> 
<p>Akhirnya kami hanya bisa berharap agar website ini dapat memberikan manfaat bagi kita semua. Dan selamat menikmati.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/06/14/redesign-untuk-sebuah-revolusi?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Membuat Menu Dropdown Menggunakan CSS – Part. 3</title>
		<link>http://iznyn.com/blog/2010/03/09/membuat-menu-dropdown-menggunakan-css-part-3</link>
		<comments>http://iznyn.com/blog/2010/03/09/membuat-menu-dropdown-menggunakan-css-part-3#comments</comments>
		<pubDate>Tue, 09 Mar 2010 08:31:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/03/09/membuat-menu-dropdown-menggunakan-css-part-3</guid>
				<description><![CDATA[<p>Masalah terbesar dari kode CSS yang membentuk menu drop down tersebut adalah Compatibility. Walaupun sebenarnya masalah ini hanya timbul untuk browser Internet Explorer, namun menjadi cukup serius karena browser ini masih mempunyai cukup banyak penggemar. Anda mungkin akan mencatat bahwa jika menu drop down dilihat pada browser IE akan menghasilkan sesuatu yang berbeda. Why? berikut penjelasannya.</p>]]></description>
					<content:encoded><![CDATA[<p>Masih ingatkah anda dengan artikel saya sebelumnya yang menjelaskan <a href="http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1/" title="Tutorial styling form part 1">pembuatan menu drop down</a> dengan CSS ?. Pada akhir artikel saya sempat menjanjikan akan menjelaskan tentang masalah yang timbul dari drop down menu tersebut. Namun seiring berjalannya waktu, saya tampaknya sedikit melupakannya sampai akhirnya teringat kembali ketika ada pembaca yang menanyakannya. Dan melalui artikel ini saya akan membayar lunas dengan membahas masalah ini secara tuntas.</p>
<h3>IE Compatibility Problem</h3>
<p>Masalah terbesar dari kode CSS yang membentuk menu drop down tersebut adalah Compatibility. Walaupun sebenarnya masalah ini hanya timbul untuk browser Internet Explorer, namun menjadi cukup serius karena browser ini masih mempunyai cukup banyak penggemar. Anda mungkin akan mencatat bahwa jika menu drop down dilihat pada browser IE akan menghasilkan sesuatu yang berbeda. Why? berikut penjelasannya.</p>
<p>Karena masalah yang timbul pada IE 7 dan IE 6 cukup berbeda, maka kita akan memisahkannya. Kita mulai saja dari yang paling tua, yaitu Internet Explorer 6</p>
<h4>Masalah di Internet Explorer 6</h4>
<p>Masalah yang timbul pada browser ini akan menjadi jelas jika kita melihat sejarah dari IE 6. Sejak dirilis pada Agustus 2001, browser ini cukup mendapat tempat bagi para pengguna. Selain karena dia disertakan didalam OS Windows, juga karena dukungan terhadap CSS yang sangat bagus. Sedihnya seluruh kesuksesan yang didapatkannya diiringi oleh sebuah keangkuhan. Merasa telah memenangkan <em>browser war</em>, Microsoft memutuskan untuk menghentikan pengembangan IE 6 dan mengalihkan tim pada proyek lain. Seiring dengan tertidurnya IE 6, perkembangan teknologi CSS justru berkembang sangat cepat. Hasilnya pun bisa ditebak, browser ini menjadi cukup kekurangan untuk dukungan CSS yang terkini.</p>
<p>Ok kita tidak perlu berlama-lama dengan pelajaran sejarah, karena yang kita perlukan adalah kalimat terakhir. Sekarang kita menuju ke kode CSS kita. Untuk membentuk menu drop down, kita menggunakan <em>child selector</em>. Berikut salah satu kodenya :</p>
[css]
#menu>ul>li {
  display: inline; 
  float: left; 
  line-height: 40px;
}
[/css]
<p>Child selector pada kode tersebut ditandai oleh karakter <code>&gt;</code>. Selector jenis ini digunakan untuk menargetkan element html yang secara langsung menjadi anak atau turunan dari element diatasnya. Nah Internet Explorer tidak dapat memahami selector ini, jadi semua kode didalamnya akan diabaikan oleh browser ini.</p>
<p>Kemudian kita lihat kode CSS berikut :</p>
[css]
#menu li:hover>ul {display: block;}
[/css]
<p>Kode CSS diatas merupakan kunci untuk menu drop down kita, dimana kode ini akan memunculkan menu level bawah ketika mouse berada pada menu level atasnya. Atau dengan kata lain kode tersebut berkata &quot;Tampilkan element ul yang berada langsung dibawah element li ketika mouse berada diatas element li. Nah masalah dengan IE 6 disini adalah bahwa IE 6 tidak mendukung <em>pseudo class</em> <code>:hover</code> untuk element selain <code>a</code> atau yang mempunyai attribute <code>href</code>.</p>
<p>Nah sekarang anda sudah tahu masalah yang terjadi pada menu drop down di dalam IE 6. Saatnya anda untuk pergi ke tempat tidur beristirahat dan melupakan semua masalah ini.</p>
<p>Are you kidding?. Tidak saya disini benar-benar serius. Untuk masalah selector mungkin akan bisa diselesaikan, namun untuk masalah pseudo class kita benar-benar tidak bisa berbuat apapun. Yang bisa anda lakukan ketika harus memaksakan suatu menu drop down pada browser IE 6 adalah beralih ke Java Script, dan hal ini diluar jangkauan dari artikel ini. Atau anda dapat juga mempertimbangkan untuk membedakan style menu untuk browser ini dengan hanya menampilkan menu utama saja. OK kita tidak perlu berlama-lama dengan IE 6, karena sesungguhnya perjalanan kita masih cukup panjang.</p>
<h4>Masalah di Internet Explorer 7</h4>
<p>Berbeda dengan versi sebelumnya, Internet Explorer 7, telah banyak mengalami perbaikan dalam dukungan terhadap kode-kode CSS. Dan kabar gembira bagi kita, browser ini telah mendukung untuk kode CSS yang digunakan untuk membentuk menu drop down yang menjadi masalah di IE 6. Tetapi mungkin anda mencatat bahwa jika menu drop down dilihat pada IE 7 justru tidak terlihat dan hanya akan menampilkan halaman kosong saja. Mengapa bisa demikian? Berikut penjelasannya.</p> 
<p>Penyebab utama mengapa kasus di atas dapat terjadi adalah <strong>float</strong>. Kita menggunakan float dalam membentuk menu drop down agar setiap item menu dapat bersebelahan secara horisontal, berikut kodenya :</p>
[css]
#menu>ul>li {
  display: inline; 
  float: left;
  line-height: 40px;
}
[/css]
<p>Pada dasarnya kita telah menjelaskan secara mendalam tentang efek negatif dari float dan bagaimana cara mengatasinya pada artikel <a href="http://iznyn.com/blog/2010/01/22/styling-form-part-1/" title="Tutorial styling form part 1">styling form part 1</a>. Namun tampaknya solusi tersebut tidak berlaku di dalam IE 7. Sebelumnya telah dijelaskan bahwa kita mengatasi masalah float dengan menggunakan <a href="http://www.positioniseverything.net/easyclearing.html" title="Clearing a float container without source markup">tehnik clearfix</a>. Di dalam class clearfix kita menggunakan pseudo-element <code>:after</code> yang digunakan untuk menambahkan suatu content setelah element class clearfix. Berikut kodenya :</p>
[css]
.clearfix:after {
  content: "."; 
  display: block; 
  height: 0; 
  visibility: hidden; 
  clear: both;
}
[/css]
<p>Pada situs resmi dari <a href="http://www.positioniseverything.net/easyclearing.html" title="Clearing a float container without source markup">clearfix</a> telah dijelaskan bagaimana cara mengatasi hal tersebut, yaitu dengan menambahkan attribute css <code>zoom</code>.</p>
[css htmlscript="true"]
<!--[if IE]>
<style type="text/css">
  .clearfix {
    zoom: 1;
  }
</style>
<![endif]-->
[/css]
<p>Dengan perbaikan ini, kini menu utama dapat terlihat pada browser IE 7, namun demikian masih ada masalah untuk submenu-nya. Pada submenu terlihat letaknya terlalu tinggi dan setiap item menu ruangnya terlalu besar. Untuk memperbaikinya tambahkan kode css berikut:</p>
[css htmlscript="true"]
<!--[if IE]>
<style type="text/css">
  .clearfix {
    zoom: 1;
  }
  #menu>ul li { height: 1%; } 
  #menu>ul>li ul { top: 40px; }
</style>
<![endif]-->
[/css]
<p>Pada kode CSS yang pertama digunakan untuk memperkecil ruang pada setiap item submenu. Untuk membentuk ruang pada setiap item submenu, disini kita melakukannya dengan mengubah sifat dari tag <code>a</code> menjadi block kemudian menambahkan padding pada sisi atas dan bawah sebanyak 12px. Di dalam IE 7, browser ini secara misterius menambahkan sedikit ruang di kedua sisi tersebut. Ketika pertama kali mengetahui masalah ini, saya menduga bahwa hal ini disebabkan oleh float. Namun ternyata justru attribute <code>line-height</code> yang menjadi penyebab masalah ini.</p>
<p>Attribute line-height digunakan memperluas ketinggian content dan sekaligus menengahkan content secara vertikal pada menu utama. Satu hal yang penting dari attribute ini adalah bahwa dia akan diturunkan (inherited) ke element turunannya. Nah di dalam IE 7 perilaku attribute line-height menjadi aneh jika element mengandung bukan <em>inline-element</em> atau <em>inline-element</em> yang diganti dengan content bukan teks seperti image dan element form. Dan perilaku aneh ini menghasilkan ruang yang lebih lebar dari seharusnya.</p>
<p>Setelah mengadakan beberapa percobaan, ternyata solusi dari masalah ini cukup sederhana yaitu dengan menentukan ukuran ketinggian terhadap element, dalam hal ini saya menggunakan <code>height: 1%</code>. Attribute ini kemudian akan memicu element untuk menjadi <em>&quot;hasLayout&quot;</em>. IE menerapkan mesin render berbeda yang menggunakan internal konsep yang dikenal sebagai <strong>&quot;Layout&quot;</strong>. Konsep <em>Layout</em> ini digunakan oleh IE untuk mengatur ukuran dan posisi dari element. Ketika suatu element dikatakan untuk <em>&quot;have layout&quot;</em> akan bertanggung jawab terhadap ukuran dan posisi dari dirinya dan turunannya. Sedangkan jika tidak maka ukuran dan posisi akan ditentukan oleh element <em>ancestor</em> dengan layout yang terdekat. Untuk lebih jelasnya tentang masalah ini dapat dibaca dalam <a href="http://reference.sitepoint.com/css/haslayout" title="Lebih jelas tentang konsep hasLayout">The Internet Explorer hasLayout Property</a>.</p>
<p>Selanjutnya pada kode perbaikan yang kedua hanya digunakan untuk menurunkan posisi dari submenu agar tepat dibawah menu utama. Dengan adanya masalah ini dapat disimpulkan bahwa di dalam IE suatu element yang diposisikan secara relative akan ditempatkan pada batas teratas dari element <em>ancestor</em> yang diposisikan secara absolute. Hal ini berbeda dengan browser lainnya yang akan menempatkan pada batas terbawah dari element ancestor.</p>
<h3>Masalah di Browser lain</h3>
<p>Penulis telah melakukan test terhadap menu drop down ini pada beberapa browser selain Internet Explorer seperti Opera 9, Firefox 3.5, Safari 4, Google Chrome 4. Dan hasilnya terlihat sangat sempurna hampir tidak ada masalah apapun. Walaupun demikian penulis tidak menjamin secara penuh menu drop down ini tidak ada masalah pada browser dengan versi di bawah dari browser test tersebut.</p>
<p>Terakhir solusi terhadap masalah di Internet Explorer diatas sepenuhnya hanya diperuntukkan dalam perbaikan menu drop down yang kita buat sebelumnya. Yang lebih penting disini adalah bahwa anda mampu memahami secara mendalam beberapa masalah yang akan sering kali anda temui ketika menyusun kode CSS. Selamat mencoba....</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/03/09/membuat-menu-dropdown-menggunakan-css-part-3?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
		<item>
		<title>Styling Form Part 2</title>
		<link>http://iznyn.com/blog/2010/02/10/styling-form-part-2</link>
		<comments>http://iznyn.com/blog/2010/02/10/styling-form-part-2#comments</comments>
		<pubDate>Wed, 10 Feb 2010 02:43:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/02/10/styling-form-part-2</guid>
				<description><![CDATA[<p>Artikel ini merupakan kelanjutan dari artikel saya sebelumnya, <a href="http://iznyn.com/blog/2010/01/22/styling-form-part-1/">Styling Form Part 1</a>. Pada artikel sebelumnya kita telah belajar bagaimana membentuk HTML form dari membentuk struktur kode HTML dari suatu form hingga bagaimana menghias form tersebut dengan menggunakan CSS agar lebih enak dilihat dan digunakan oleh user kita.</p>
<p>Pada artikel bagian kedua ini kita masih tetap mempelajari CSS untuk menghias suatu form. Namun kita akan membuat tampilan form yang berbeda dari tutorial pertama, jika sebelumnya tampilan form adalah label berada diatas element form, kali ini kita akan membentuk label dan element form saling bersebelahan.</p>]]></description>
					<content:encoded><![CDATA[<p>Artikel ini merupakan kelanjutan dari artikel saya sebelumnya, <a href="http://iznyn.com/blog/2010/01/22/styling-form-part-1/">Styling Form Part 1</a>. Pada artikel sebelumnya kita telah belajar bagaimana membentuk HTML form dari membentuk struktur kode HTML dari suatu form hingga bagaimana menghias form tersebut dengan menggunakan CSS agar lebih enak dilihat dan digunakan oleh user kita.</p>
<p>Pada artikel bagian kedua ini kita masih tetap mempelajari CSS untuk menghias suatu form. Namun kita akan membuat tampilan form yang berbeda dari tutorial pertama, jika sebelumnya tampilan form adalah label berada diatas element form, kali ini kita akan membentuk label dan element form saling bersebelahan. Berikut hasil akhir dari form kita nantinya :</p>

[wptf act="InsertImg" src="styling-form/finish-form-2.gif" alt="Gambar hasil akhir form"][/wptf]

<p>Sebelum kita menjamah pada CSS, kita harus terlebih dahulu sedikit merubah struktur Html, yaitu dengan merubah posisi teks <em>required</em> dari setelah label ke setelah input. Sebagai berikut :</p>
[xml]
<li>
  <label for="name">Name</label>
  <input type="text" name="name" id="name" value="" />
  <em>(required)</em>
</li>
[/xml]
<p>Struktur HTML yang lebih lengkap dapat dilihat pada <a href="http://iznyn.com/resources/img_post/2010/02/perubahan-struktur-html.html" title="Perubahan struktur Html form">perubahan struktur HTML</a>.</p>
<h3>Menyusun Kode CSS</h3>
<p>Di dalam desain form yang kedua ini, kita akan membuat setiap rangkaian element form, yang terdiri dari label, field dan teks required sejajar dalam satu baris. Karena dari ketiga element tersebut bersifat inline, maka kita tidak perlu melakukan apapun. Selanjutnya kita akan terlebih dahulu menyusun style dasar dari form, sepert huruf, warna dan jarak antar element. Untuk mempersingkat tutorial ini, kita gunakan kode CSS dari <a href="http://iznyn.com/blog/2010/01/22/styling-form-part-1/">tutorial styling form bagian I</a> dan merubahnya sesuai dengan kebutuhan. Hasilnya dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/hasil-kode-css-tutotial-1.html" title="Hasil copy kode CSS pada tutotial bagian I">hasil kode CSS tutotial I</a>.</p>
<p>Dari hasil kode CSS diatas terlihat bahwa teks required tidak ikut berubah. Hal ini dikarenakan kita merubah letaknya di dalam struktur HTML. Untuk memperbaikinya kita cukup merubah selector yang menargetkan element ini dari <code><strong>label em</strong></code> menjadi <code><strong>em</strong></code>. Selain itu tampak bahwa <code>label</code> dan element form tidak lagi sejajar, untuk mensejajarkannya kembali dilakukan dengan mengembalikan sifat asli dari element label menjadi inline. Untuk melakukannya hapus kode css <code><strong>display: block</strong></code> didalam selector <code>label</code>. Hasil dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/perbaikan-teks-required.html" title="Perbaikan teks required">perbaikan teks required</a>. Dari hasil yang didapatkan terlihat cukup bagus, namun belum sesuai dengan hasil akhir yang kita inginkan.</p>
<h3>Memperbaiki Layout Form</h3>
<p>Sampai titik ini, terlihat bahwa form masih kurang rapi dan berbeda dari hasil akhir yang diinginkan. Pada hasil akhir, terlihat bahwa label dan element form akan sejajar secara vertikal dan label mempunyai lebar yang sama. Kita tidak dapat menyelesaikannya dengan menambahkan nilai <code>width</code>, karena sifat inline dari tag <code>label</code>. Lebar dari suatu element inline ditentukan berdasarkan lebar dari teks yang ada di dalamnya. Walaupun kita dapat mempengaruhi lebar dengan attribute <code>padding</code> dan <code>margin</code>, namun tetap akan menghasilkan lebar yang berbeda.</p>
<p>Untuk dapat memberikan lebar pada element label kita harus merubah sifat dari element ini menjadi block, namun hal ini membuat label tidak lagi sejajar dengan element form. Satu-satunya cara yang tersisa adalah menggunakan <code><strong>float</strong></code>. Property CSS float digunakan untuk memaksakan suatu element untuk mengisi ruang kosong yang ada di atasnya. Element float mempunyai sifat yang unik, ketika masih ada ruang kosong diatasnya dia mirip seperti element inline, namun kita juga dapat memberikan <em>dimension properties</em> (width dan height). Inilah yang kita butuhkan disini.</p>
<p>Namun pertanyaannya adalah element apa yang perlu di-float ?. Cara termudah adalah dengan melakukannya pada element yang paling kiri dan kemudian kita berikan nilai left. Dalam struktur kita berarti adalah label, berikut kodenya,</p>
[css]
label { 
  float: left;
  font: bold italic 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
  color: #003399; 
}
[/css]
<p>Hasilnya dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/hasil-floating-element-label.html" title="Hasil floating element label">hasil <em>floating</em> element label</a>.</p>
<p>Terlihat masih tetap kurang rapi, untuk merapikannya kita berikan nilai width dan mengatur perataan dari element label, sebagai berikut,</p>
[css]
label { 
  float: left;
  width: 80px;
  text-align: right;
  margin-right: 10px;
  font: bold italic 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
  color: #003399; 
}
[/css]
<p>Hasilnya dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/perbaikan-layout-form.html" title="Perbaikan layout form">perbaikan layout form</a>.</p>
<p>Untuk sentuhan akhir kita tambahkan property <code>vertical align</code> pada element teks required (<code>&lt;em&gt;</code>), sehingga teks akan selalu berada di bagian teratas.</p>
[css]
em { 
  font-size: 10px; 
  color: #6699cc; 
  font-weight: normal; 
  vertical-align: top;
 }
[/css]
<p>Semuanya terlihat sangat sempurna, namun hal ini dicapai ketika kita melihatnya di Firefox, bagaimana dengan IE ? Beruntungnya semua terlihat sama dan tidak ada yang ganjal dengan tampilan form. Berikut seluruh kode CSS yang membentuk form bagian kedua.</p>
[css]
ol { 
  padding-left: 0; 
  margin-bottom: 20px;
}
li { 
  list-style: none; 
}
label { 
  float: left; 
  width: 80px; 
  text-align: right; 
  margin-right: 10px; 
  font: bold italic 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
  color: #003399; 
}
input { 
  margin-bottom: 16px; 
  width: 180px; 
}
input, textarea { 
  border: 1px solid #6699cc;  
  color: #003366; 
}
textarea { 
  width: 240px; 
  height: 80px; 
}	
em { 
  font-size: 10px; 
  color: #6699cc; 
  font-weight: normal; 
  vertical-align: top; 
}
.submit input { 
  width: auto; 
  padding: 4px 20px; 
  font: bold 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
}
.submit input:hover { 
  cursor: pointer; 
  background-color: #ccccff; 
}
[/css]
<p>Hasil akhir dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/hasil-akhir-form.html" title="Hasil akhir form untuk tutorial styling form bagian 2">hasil akhir form</a>.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/02/10/styling-form-part-2?feed=comment</wfw:commentRss>
		<slash:comments>2</slash:comments>
	</item>
		<item>
		<title>Styling Form Part 1</title>
		<link>http://iznyn.com/blog/2010/01/22/styling-form-part-1</link>
		<comments>http://iznyn.com/blog/2010/01/22/styling-form-part-1#comments</comments>
		<pubDate>Fri, 22 Jan 2010 08:52:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/01/22/styling-form-part-1</guid>
				<description><![CDATA[<p>Form pada modern web seperti saat ini merupakan sebuah element yang cukup penting dalam menghubungkan user dengan sistem di dalam web tersebut. Fungsi utama dari suatu form adalah memungkinkan suatu user untuk memasukkan data ke dalam sistem web, dalam rangka untuk memenuhi suatu proses tertentu. Dan pada artikel ini kita akan bercerita tentang bagaimana menyusun suatu form yang baik dan benar.</p>]]></description>
					<content:encoded><![CDATA[<p>Form pada modern web seperti saat ini merupakan sebuah element yang cukup penting dalam menghubungkan user dengan sistem di dalam web tersebut. Fungsi utama dari suatu form adalah memungkinkan suatu user untuk memasukkan data ke dalam sistem web, dalam rangka untuk memenuhi suatu proses tertentu. Sebagai contoh adalah <em>User Registration Form</em>, pada form jenis ini, user memasukkan data pribadi untuk mandapatkan suatu hak khusus terhadap akses data di dalam web yang bersangkutan.</p>
<p>Penyusunan form tidak akan terlepas dari teknologi <em>server-side</em>, seperti <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>, <abbr title="Active Server Pages">ASP</abbr>, Perl, dsb. Kita harus membuat fungsi-fungsi pemrosesan data yang dimasukkan melalui form dengan menggunakan teknologi ini. Namun demikian kita juga jangan sampai melupakan teknologi client-side, seperti <abbr title="Cascading Style Sheet">CSS</abbr> dan Javascript, untuk memberikan kenyamanan kepada user ketika memasukkan data melalui form. Dan pada artikel ini kita akan bercerita tentang bagaimana menyusun suatu form yang baik dan benar.</p>
<h3>Menyusun Struktur HTML Untuk Form</h3>
<p>Tentu saja, langkah pertama untuk menyusun Form adalah membentuk struktur HTML. Namun sebelum kita melangkah lebih jauh lagi, satu hal yang perlu diingat adalah bahwa masa kejayaan <em>&quot;Table&quot;</em> telah lewat dan kita tidak akan secara bodoh menggunakannya dalam tutorial ini.</p>
<p>Dari semua tag html yang tersedia, saya lebih suka menggunakan tag <em>ordered list</em> dalam menyusun form. Dengan menggunakan tag ini, maka dalam kondisi tanpa CSS, form akan tetap akan terstruktur dengan baik dan tetap mudah diikuti. Kemudian mengingat suatu form mempunyai urutan pengisian yang jelas dari atas ke bawah maka pemilihan tag ordered list akan menjadi semakin sempurna.</p>
<p>Berikut kode HTML dari form yang akan kita susun,</p>
[xml]
<form action="/" method="post">
  <ol>
    <li>
      <label for="name">Name <em>(required)</em></label>
      <input type="text" name="name" id="name" value="" />
    </li>
    <li>
      <label for="email">Email <em>(required)</em></label>
      <input type="text" name="email" id="email" value="" />
    </li>
    <li>
      <label for="message">Message <em>(required)</em></label>
      <textarea name="message" id="message"></textarea>
    </li>
  </ol>
  <p class="submit"><input type="submit" name="submit" value="Send Message" /></p>
</form>
[/xml]
<p>Hasil dari kode HTML diatas dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/html-structure.html">struktur html untuk form</a>.</p>
<h3>Menyusun Kode CSS</h3>
<p>Sekarang kita masuk pada inti dari tutorial ini, yaitu menyusun kode CSS. Pada tutorial ini kita akan membentuk dua style form pada struktur html di atas. Berikut hasil akhir dari form kita.</p>

<p>
[wptf act="insertImg" src="styling-form/finish-form.jpg" title="Gambar bentuk akhir form"][/wptf]
</p>

<h4>Menyusun Style Form 1</h4>
<p>Untuk membentuk tampilan form pada gambar 1 cukup mudah dilakukan. Pertama kita harus menghilangkan <em>style-list</em> dari tag list, sebagai berikut :</p>
[css]
ol { padding-left: 0; }
li { list-style: none; }
[/css]
<p>Selanjutnya kita merubah attribute <code>block</code> pada tag <code>label</code> dan menambahkan sedikit ruang dibawah tag <code>input</code>. Berikut code CSS-nya :</p>
[css]
label { display: block; }
input { margin-bottom: 16px; }
[/css]
<p>Anda dapat melihat hasil kode CSS diatas pada <a href="http://iznyn.com/src/media/blog/example/styling-form/style-layout-form.html">hasil untuk pembentukan layout form</a>.</p>
<p>Selanjutnya kita mempercantik element form dengan merubah warna border dan sedikit memperbesar ukurannya, sebagai berikut :</p>
[css]
input { 
  margin-bottom: 16px; 
  width: 180px; 
 }
input, textarea { 
  border: 1px solid #6699cc;  
  color: #003366; 
 }
textarea { 
  width: 240px; 
  height: 80px; 
 }
[/css]
<p>Berikutnya kita mengatur style dari tombol Send Message.</p>
[css]
.submit input { 
  width: auto; 
  padding: 4px 20px; 
}
.submit input:hover { 
  cursor: pointer; 
  background-color: #ccccff; 
}
[/css]
<p>Untuk sementara bentuk form dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/input-styling.html">hasil mempercantik form.</a></p>
<p>Terakhir kita tinggal mengatur style dari font. Berikut hasil dari kode CSS yang menyusun style form kita.</p>
[css]
ol { 
  padding-left: 0; 
  margin-bottom: 20px;
}
li { list-style: none; }
label { 
  display: block; 
  font: bold italic 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
  color: #003399; 
}
input { 
  margin-bottom: 16px; 
  width: 180px; 
}
input, textarea { 
  border: 1px solid #6699cc;  
  color: #003366; 
}
textarea { 
  width: 240px; 
  height: 80px; 
}	
label em { 
  font-size: 10px; 
  color: #6699cc; 
  font-weight: normal; 
}		
.submit input { 
  width: auto; 
  padding: 4px 20px; 
  font: bold 12px "Trebuchet MS", Calibri, Arial, sans-serif; 
 }
.submit input:hover { 
  cursor: pointer; 
  background-color: #ccccff; 
}
[/css]
<p>Hasil akhir dari style form bagian 1 dapat dilihat pada <a href="http://iznyn.com/src/media/blog/example/styling-form/finish-form1.html">hasil akhir form</a></p>
<p>Berikutnya kita akan menjelaskan cara menyusun style form untuk bagian ke 2. Pada bagian ini akan menjadi sedikit lebih rumit dari bagian sebelumnya dan kita akan menjelaskannya pada artikel saya selanjutnya. Enjoyed</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/01/22/styling-form-part-1?feed=comment</wfw:commentRss>
		<slash:comments>6</slash:comments>
	</item>
		<item>
		<title>Membuat Post list di dalam Wordpress Tanpa The Loop()</title>
		<link>http://iznyn.com/blog/2010/01/13/membuat-post-list-di-dalam-wordpress-tanpa-the-loop</link>
		<comments>http://iznyn.com/blog/2010/01/13/membuat-post-list-di-dalam-wordpress-tanpa-the-loop#comments</comments>
		<pubDate>Wed, 13 Jan 2010 05:25:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2010/01/13/membuat-post-list-di-dalam-wordpress-tanpa-the-loop</guid>
				<description><![CDATA[<p>Wordpress saat ini telah menjadi salah satu mesin blog yang paling banyak digunakan. Kemudahan serta flexibilitas dari wordpress mempermudah kita di dalam membuat suatu blog atau bahkan suatu web yang lebih rumit. Salah satu fasilitas yang dimiliki oleh Wordpress yang dapat mempermudah dalam penyusunan blog adalah <strong><code>the loop()</code></strong>. The loop merupakan serangkaian <em>php function</em> yang disediakan untuk mempermudah dalam menampilkan setiap <em>post</em> di dalam suatu halaman.</p>]]></description>
					<content:encoded><![CDATA[<p>Wordpress saat ini telah menjadi salah satu mesin blog yang paling banyak digunakan. Kemudahan serta flexibilitas dari wordpress mempermudah kita di dalam membuat suatu blog atau bahkan suatu web yang lebih rumit. Salah satu fasilitas yang dimiliki oleh Wordpress yang dapat mempermudah dalam penyusunan blog adalah <strong><code>the loop()</code></strong>. The loop merupakan serangkaian <em>php function</em> yang disediakan untuk mempermudah dalam menampilkan setiap <em>post</em> di dalam suatu halaman.</p>
<p>Namun disini kita tidak akan menjelaskan bagaimana menggunakan fasilitas ini. Kita disini akan mencoba untuk mencapai hasil yang sama dengan menggunakan cara yang berbeda. Meskipun kita akan tetap menjelaskan bagaimana The Loop berkerja.</p>
<h3>Proses Pengambilan Data Post Di Dalam Wordpress</h3>
<p>Sebelum kita menggali lebih dalam tentang cara kerja The Loop, kita akan melihat bagaimana Wordpress bekerja menangani setiap request. Setiap request yang diterima oleh Wordpress akan diuraikan untuk mendapatkan variable-variable request. Proses penguraian dilakukan dengan menyamakan <em>URI Request</em> dengan suatu rangkaian <em>rewrite_rule</em>. Dengan variable request yang didapatkan kemudian akan digunakan oleh Wordpress untuk mengambil data post di dalam database. Jadi pada setiap request yang diterima, Wordpress akan selalu berusaha untuk mendapatkan data posts.</p>
<p>Pada dasarnya Wordpress akan menangani fungsi-fungsi tersebut dengan menggunakan beberapa class. Beruntungnya objek dari class tersebut oleh Wordpress disimpan dalam suatu global variable. Sehingga kita dapat mempelajari proses wordpress dengan memeriksa global variable tersebut, antara lain :</p>
<dl>
	<dt><code>$wp_rewrite</code></dt>
	<dd>Membawa object WP_Rewrite yang digunakan oleh Wordpress untuk membentuk rewrite_rule</dd>
	<dt><code>$wp_query</code></dt>
	<dd>Membawa object WP_Query yang digunakan oleh Wordpress untuk mendapatkan data post berdasarkan variable request yang di dapatkan</dd>
	<dt><code>$wp</code></dt>
	<dd>Di dalam class yang di bawa oleh variable ini akan menguraikan URI Request berdasarkan rewrite_rule dan menyuplai variable request yang di dapatkan ke dalam class WP_Query</dd>
</dl>
<p>Kita dapat memeriksa variable tersebut dengan menggunakan fungsi php <code>print_r()</code> dan disarangkan di dalam tag <code>pre</code>. Sebagai contoh masukkan kode berikut ke dalam file header.php di dalam folder theme anda.</p>
[php htmlscript="true"]
<pre>
  <?php
    global $wp_query;
    print_r($wp_query);
  ?>
</pre>
[/php]  
<p>Seharusnya anda sekarang telah mendapatkan ide tentang bagaimana wordpress menangani setiap request. Selanjutnya akan dijelaskan tentang bagaimana The Loop bekerja</p>
<h3>Cara Kerja The Loop</h3>
<p>Pada dasarnya fungsi-fungsi dalam The Loop hanya memanipulasi object wp_query. Kita menggunakan The Loop untuk mendapatkan data posts sebagai berikut :</p>
[php]
<?php
  if (have_post()) :
    while(have_post()) :
      the_post();
?>		
      //Html code here

<?php endwhile; endif; ?>
[/php] 
<p>Dari kode diatas, pertama kita mempunyai function <code>have_post()</code>. Fungsi ini berfungsi untuk memeriksa apakah suatu request menghasilkan data post atau tidak. Apabila terdapat data posts yang dihasilkan maka fungsi ini juga akan melakukan proses iteration dengan menambahkan nilai counter ke dalam attribute class.</p>
<p>Kemudian kita mempunyai fungsi <code>the_post()</code>. Fungsi ini akan mendapatkan data post tunggal berdasarkan nilai counter yang disuplai oleh fungsi <code>have_post()</code>. Dari data post yang didapatkan, kemudian akan menyuplai beberapa nilai penting ke dalam global variable, sebagai contoh adalah <code>$id</code>, sehingga kemudian dapat digunakan oleh fungsi-fungsi templete.</p>
<h3>Membangun Post List Tanpa The Loop</h3>
<p>Sekarang kita masuk pada inti dari artikel ini. Untuk dapat menampilkan data post tanpa menggunakan The Loop, maka kita dapat menggunakan class WP_Query. Pada dasarnya dari setiap request yang didapatkan, Wordpress akan membuat object baru dari class WP_Query dan disimpan dalam global variable $wp_query yang kemudian menggunakannya untuk mendapatkan data post.</p>
<p>Tanpa The Loop, kita dapat menggunakan data dalam object $wp_query untuk mendapatkan data post, sebagai contoh :</p>
[php htmlscript="true"]
<?php
  $posts = $wp_query->posts;
  if (!empty($posts)) :
    foreach($posts as $post) :
?>
  
 <h2><?php echo $post->post_title; ?></h2>
  <div class="entry-content">
    <?php echo $post->post_content; ?>
  </div>
	
<?php endforeach; endif; ?>
[/php]
<p>Salah satu keuntungan dengan menggunakan class WP_Query adalah kita dapat secara bebas menentukan data post yang ingin di dapatkan tanpa harus tergantung pada request halaman. Sebagai contoh adalah mendapatkan 5 data post terbaru, sebagai berikut :</p>
[php htmlscript="true"]
<?php
  $posts = new WP_Query();
  $q = array('posts_per_page' => 5);
  $post = $posts->query($q);
  
  if (!empty($post)) :
    foreach($post as $value) :
?>
  
  <h2><?php echo $value->post_title; ?></h2>
  <div class="entry-content">
    <?php echo $value->post_content; ?>
  </div>
	
<?php endforeach; endif; ?>		
[/php]
<p>Sebagai catatan penting adalah bahwa ketika kita menampilkan data post tanpa menggunakan The Loop, maka kita sama sekali tidak dapat menggunakan fungsi-fungsi templete seperti <code>the_ID()</code>, <code>the_title()</code>, <code>the_content()</code>.</p>
<p>Terakhir, tujuan dibuatnya artikel ini bukanlah memberikan suatu rekomendasi, namun lebih ingin menjelaskan bagaimana proses pengambilan data post di dalam Wordpress. Saya tetap merekomendasikan untuk menggunakan The Loop untuk kondisi-kondisi biasa. Baru kemudian jika The Loop dirasa kurang dapat memenuhi kebutuhan pengambilan data post, kita dapat menggunakan tehnik-tehnik yang telah dijelaskan diatas.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2010/01/13/membuat-post-list-di-dalam-wordpress-tanpa-the-loop?feed=comment</wfw:commentRss>
		<slash:comments>1</slash:comments>
	</item>
		<item>
		<title>Wordpress Memenangkan CMS Award</title>
		<link>http://iznyn.com/blog/2009/11/27/wordpress-memenangkan-cms-award</link>
		<comments>http://iznyn.com/blog/2009/11/27/wordpress-memenangkan-cms-award#comments</comments>
		<pubDate>Fri, 27 Nov 2009 06:16:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/11/27/wordpress-memenangkan-cms-award</guid>
				<description><![CDATA[<p>Ini merupakan kabar gembira bagi para penggemar Wordpress, dengan terpilihnya Wordpress sebagai <strong>the Overall Best Open Source CMS Award</strong> pada <strong><a href="" title="the 2009 Open Source CMS Awards">the 2009 Open Source CMS Awards</a></strong> yang diselenggarakan Packt Publishing. Bukan sebuah kontes yang kecil, karena di dalamnya terlibat lebih dari 12,000 nominasi dan lebih dari 23,000 partisipan ikut dalam pemilihan diseluruh category yang disediakan. Dengan penghargaan yang diraih ini telah menunjukkan bahwa Wordpress sekarang tidak lagi dipandang hanya sebagai <em>software blog</em> namun sebagai suatu <abbr title="Content Management System">CMS</abbr></p>]]></description>
					<content:encoded><![CDATA[<p>Ini merupakan kabar gembira bagi para penggemar Wordpress, dengan terpilihnya Wordpress sebagai <strong>the Overall Best Open Source CMS Award</strong> pada <strong><a href="http://www.packtpub.com/award" title="the 2009 Open Source CMS Awards">the 2009 Open Source CMS Awards</a></strong> yang diselenggarakan Packt Publishing. Bukan sebuah kontes yang kecil, karena di dalamnya terlibat lebih dari 12,000 nominasi dan lebih dari 23,000 partisipan ikut dalam pemilihan diseluruh category yang disediakan. Dengan penghargaan yang diraih ini telah menunjukkan bahwa Wordpress sekarang tidak lagi dipandang hanya sebagai <em>software blog</em> namun sebagai suatu <abbr title="Content Management System">CMS</abbr></p>
<p>Disamping memenangkan penghargaan di dalam categori the 2009 Open Source CMS Awards, Wordpress juga meraih sukses dengan menduduki peringkat kedua di dalam categori <em>the Best Open Source PHP CMS</em> dibawah <a href="http://drupal.org" title="Drupal">Drupal</a> dan diatas <a href="http://www.joomla.com" title="Joomla">Joomla</a>. Hal ini cukup mengejutkan karena sebelumnya, pada acara yang sama, Wordpress bahkan tidak masuk di dalam 5 besar, dan sekarang berada di peringkat kedua diatas joomla yang notabene benar-benar suatu CMS murni.</p>
<p>Semua raihan ini tidak terlepas dari peran komunitas Wordpress secara keseluruhan. Terutama bagi para pengembang plugin yang telah berhasil memperkuat fungsi dasar Wordpress sehingga mampu menjadikannya lebih fleksible dalam memenuhi berbagai kebutuhan pengembangan web. Pada kenyataannya, menurut penulis semua ini memang pantas untuk diraih oleh Wordpress. Berdasarkan pengalaman dari penulis selama menggunakannya, sistem ini memang cukup fleksible karena kita secara bebas diberikan kesempatan untuk memperluas fungsi-fungsinya di hampir seluruh bagian fungsi dasarnya.</p>
<p>Akhirnya dengan semua raihan ini, akan memberikan kebanggaan tidak hanya bagi tim pengembang Wordpress itu sendiri namun bagi komunitas Wordpress secara keseluruhan. Congratulations !!!!</p>
<p>Berikut daftar lengkap dari peraih penghargaan tersebut :</p>
<h5>The Overall Best Open Source CMS Award</h5>
<ol>
	<li><a href="http://wordpress.org" title="Wordpress">WordPress</a></li>
	<li><a href="http://modxcms.com/" title="MODx">MODx</a></li>
	<li><a href="http://www.silverstripe.com/" title="SilverStripe">SilverStripe</a></li>
</ol>
<h5>The inaugural Hall of Fame Award</h5>
<ol>
	<li><a href="http://drupal.org" title="Drupal">Drupal</a></li>
	<li><a href="http://www.joomla.org/" title="Joomla">Joomla</a></li>
</ol>
<h5>The Most Promising Open Source CMS</h5>
<ol>
	<li><a href="http://www.impresscms.org/" title="ImpressCMS">ImpressCMS</a></li>
	<li><a href="http://www.getpixie.co.uk/" title="Pixie">Pixie</a></li>
	<li><a href="http://www.pligg.com/" title="Pligg">Pligg</a></li>
</ol>
<h5>The Best Open Source PHP CMS</h5>
<ol>
	<li><a href="http://drupal.org" title="Drupal">Drupal</a></li>
	<li><a href="http://wordpress.org" title="Wordpress">WordPress</a></li>
	<li><a href="http://www.joomla.org/" title="Joomla">Joomla</a></li>
</ol>
<h5>The Best Other Open Source CMS</h5>
<ol>
	<li><a href="http://plone.org/" title="Plone">Plone</a></li>
	<li><a href="http://www.dotcms.org/" title="dotCMS">dotCMS</a></li>
	<li><a href="http://www.mojoportal.com/home.aspx" title="mojoPortal">mojoPortal</a></li>
</ol>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/11/27/wordpress-memenangkan-cms-award?feed=comment</wfw:commentRss>
		<slash:comments>1</slash:comments>
	</item>
		<item>
		<title>Membuat Menu Dropdown Menggunakan CSS – Part. 2</title>
		<link>http://iznyn.com/blog/2009/11/05/membuat-menu-dropdown-menggunakan-css-part-2</link>
		<comments>http://iznyn.com/blog/2009/11/05/membuat-menu-dropdown-menggunakan-css-part-2#comments</comments>
		<pubDate>Thu, 05 Nov 2009 05:25:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/11/05/membuat-menu-dropdown-menggunakan-css-part-2</guid>
				<description><![CDATA[<p>Setelah pada <a href="http://iznyn.com/archives/css/membuat-menu-drop-down-menggunakan-css-part-1/" title="Tutorial Membuat Menu Dropdown Menggunakan CSS Part 1">bagian pertama</a> kita mengatur style untuk menu utama, maka kali ini kita akan mengatur style untuk sub menu.</p>
<p>Sesuai dengan desain yang telah kita buat sebelumnya, sub menu hanya akan nampak ketika <em>mouse</em> berada diatas daerah menu utama. Kita dapat melakukannya dengan menyembunyikan sub menu pada kondisi normal dan baru akan memunculkannya ketika <em>mouse</em> berada diatas menu utama. Namun untuk keperluan desain, maka pengaturan tersebut akan diberikan pada bagian paling akhir karena kita membutuhkan memunculkan bagian sub menu untuk mengatur tampilannya.</p>]]></description>
					<content:encoded><![CDATA[<h2>Mengatur style untuk Sub Menu</h2>
<p>Setelah pada <a href="http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1/" title="Tutorial Membuat Menu Dropdown Menggunakan CSS Part 1">bagian pertama</a> kita mengatur style untuk menu utama, maka kali ini kita akan mengatur style untuk sub menu.</p>
<p>Sesuai dengan desain yang telah kita buat sebelumnya, sub menu hanya akan nampak ketika <em>mouse</em> berada diatas daerah menu utama. Kita dapat melakukannya dengan menyembunyikan sub menu pada kondisi normal dan baru akan memunculkannya ketika <em>mouse</em> berada diatas menu utama. Namun untuk keperluan desain, maka pengaturan tersebut akan diberikan pada bagian paling akhir karena kita membutuhkan memunculkan bagian sub menu untuk mengatur tampilannya.</p>
<p>Pertama kita atur style untuk element kontainer dari setiap sub menu, termasuk <em>background color</em>, <em>padding</em> dan <em>width</em>, berikut ini :</p>
[css]
#menu&gt;ul&gt;li ul {
  background-color: #99ccff; 
  width: 140px; 
  padding: 10px 10px 20px 10px;
}
[/css]
<p>Berikutnya adalah memposisikan sub menu relatif terhadap menu induknya.</p>
[css]
#menu&gt;ul&gt;li ul {position: absolute; left:23px;}
[/css]
<p>Secara default apabila kita memposisikan suatu elemen secara <em>absolute</em>, maka elemen tersebut akan diposisikan relatif terhadap elemen terdekatnya yang telah keluar dari aliran normal dokumen. Untuk kasus diatas, kita harus membuat elemen kontainer dari menu utama agar keluar dari aliran normal dokumen, dalam hal ini menggunakan <em>relative positioning</em>. Untuk lebih jelas tentang masalah ini dapat dilihat pada artikel saya, <a href="http://iznyn.com/blog/2009/09/07/absolute-positioning-dan-relative-positioning/" title="Detail tentang masalah Absolute Positioning dan Relative Positioning">Absolute Positioning dan Relative Positioning</a>.</p>
<p>Kode CSS tersebut hanya berlaku untuk sub menu yang langsung berada dibawah menu utama, sedangkan untuk sub menu dari suatu sub menu tidak akan terpenuhi. Hal ini disebabkan oleh posisi dari sub menu tersebut yang berbeda, untuk sub menu dari menu utama akan diposisikan dibawah dari menu utama, sedangkan untuk sub menu dari sub menu akan diposisikan di samping sub menu induknya. Agar dapat menyelesaikan masalah ini dengan memposisikan ulang sub menu dari sub menu, sebagai berikut :</p>
[css]
#menu&gt;ul&gt;li ul ul {
  left: 140px; 
  top: 0;
}
[/css]
<p>Selanjutnya kita akan mengatur style untuk link sub menu. Link akan diatur agar ketika <em>mouse</em> berada diatasnya, warna background berubah. Perlu dicatat juga bahwa link ini akan mempunyai luasan yang cukup lebar sedangkan dengan perilaku default dari elemen anchor, yaitu sebagai <em>inline element</em>, hal ini tidak mungkin dapat terpenuhi. Suatu <em>inline element</em>, seperti <code>a</code>, <code>em</code>, <code>strong</code> dan <code>code</code> tidak akan terpengaruh oleh attribute CSS yang berusaha untuk memperluas elemen tersebut secara vertikal, seperti <code>padding-top</code>, <code>padding-bottom</code>, <code>margin-top</code> dan <code>margin-bottom</code>. Kebalikan dari inline-level element adalah <em>block-level element</em>. Pada suatu block-level element, seperti <code>p</code>, <code>ul</code> dan <code>pre</code> kita dapat memperluas elemen tersebut baik secara vertikal maupun horisontal. Untuk lebih memahami tentang masalah dapat dilihat pada <a href="http://en.wikipedia.org/wiki/HTML_element" title="Detail of Block and Inline Element">Wikipedia - HTML Element</a></p>
<p>Dengan menggunakan CSS kita dapat merubah sifat dasar suatu elemen HTML, baik dari Block ke Inline maupun sebaliknya dengan menggunakan attribute <code>display</code>. Kembali ke link yang akan kita susun, setelah merubah elemen anchor dari level inline ke block, kita dapat memperluas elemen link dengan menggunakan attribute <code>padding</code>, sebagai berikut :</p>
[css]
#menu&gt;ul&gt;li ul a {
  display: block;
  padding: 12px 0 12px 4px;
  line-height: 16px;
  border-bottom: 1px solid #6699cc;
  color: #04386a;
}
#menu&gt;ul&gt;li ul a:hover {
  background-color: #6699cc;
  border-bottom-color: #8e3539;
}
[/css]
<p>Disini kita juga memberikan attibute <code>line-height</code> untuk mengurangi efek dari attribute yang sama, yang kita deklerasikan sebelumnya. Selain itu kita juga memberikan border di bagian bawah dari setiap sub-menu untuk memisahkan setiap menu.</p>
<p>Pekerjaan hampir selesai, yang tersisa adalah mengatur perilaku dari sub-menu. Seperti telah dijelaskan sebelumnya bahwa sub-menu hanya akan nampak ketika mouse ada diatas menu induknya. Untuk menyelesaikannya, pertama kita sembunyikan terlebih dahulu ketika dalam kondisi normal.</p>
[css]
#menu&gt;ul&gt;li ul {
  display: none;
}
[/css]
<p>Berikutnya kita tampilkan sub-menu ketika mouse ada diatas menu induknya.</p>
[css]
#menu li:hover&gt;ul {
  display: block;
}
[/css]
<p>Nah, semua perkejaan kini telah selesai. Untuk dapat melihat hasil akhir dari menu drop-down dapat dilihat <a href="http://iznyn.com/src/media/blog/example/drop-down-menu/finish.html" title="Hasil akhir Menu Dropdown">disini</a>.</p>
<p>Apabila ingin mendapatkan semua file yang diperlukan dalam tutorial ini dapat diunduh <a href="http://iznyn.com/src/media/blog/file/drop-down-menu.rar" title="Download semua file Menu Dropdown">disini</a>.</p>
<p>Walaupun menu drop-down telah selesai disusun, namun tutorial ini tidak berhenti disini. Pada bagian selanjutnya akan dijelaskan tentang masalah-masalah yang timbul dari menu drop-down ini dan bagaimana menyelesaikannya.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/11/05/membuat-menu-dropdown-menggunakan-css-part-2?feed=comment</wfw:commentRss>
		<slash:comments>14</slash:comments>
	</item>
		<item>
		<title>Membuat Menu Drop Down Menggunakan CSS - Part. 1</title>
		<link>http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1</link>
		<comments>http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1#comments</comments>
		<pubDate>Wed, 04 Nov 2009 08:00:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1</guid>
				<description><![CDATA[<p>Suatu menu dropdown biasanya disediakan ketika website terdiri dari banyak menu halaman. Keuntungan dari penggunaan menu dropdown ini adalah desain halaman menjadi lebih menarik serta meningkatkan kemudahan pengguna untuk menjelajahi web site. Kebanyakan, menu dropdown disusun dengan menggunakan Javascript, namun kita dapat mencapai hasil yang hampir sama secara lebih mudah dengan menggunakan <abbr title="Cascade Style Sheet">CSS</abbr>. Dalam artikel ini akan dijelaskan secara detail cara membuat menu drop down dengan menggunakan CSS.</p>]]></description>
					<content:encoded><![CDATA[<p>Suatu menu dropdown biasanya disediakan ketika website terdiri dari banyak menu halaman. Keuntungan dari penggunaan menu dropdown ini adalah desain halaman menjadi lebih menarik serta meningkatkan kemudahan pengguna untuk menjelajahi web site. Kebanyakan, menu dropdown disusun dengan menggunakan Javascript, namun kita dapat mencapai hasil yang hampir sama secara lebih mudah dengan menggunakan <abbr title="Cascade Style Sheet">CSS</abbr>. Dalam artikel ini akan dijelaskan secara detail cara membuat menu drop down dengan menggunakan CSS.</p>

<h2>Membuat Struktur HTML</h2>
<p>Susunan menu atau navigasi di dalam suatu web site dapat digambarkan sebagai sistem folder di dalam sistem operasi. Sehingga tag <abbr title="Hypertext Mrakup Language">HTML</abbr> yang paling sesuai untuk membentuk sistem menu adalah <em>list</em>. Dan karena suatu menu didalam web site bukanlah suatu list yang ditentukan urutannya, maka dari tag HTML list yang paling sesuai adalah <em>unordered list <code>(&lt;ul&gt;)</code></em>.</p>
<p>Misalkan kita mempunyai struktur menu sebagai berikut :</p>

[wptf act="insertImg" src="drop-down-menu/menutree.gif" alt="Gambar struktur menu"][/wptf]

<p>Dari struktur menu tersebut dapat kita susun dalam struktur html berikut ini</p>
[xml]
<div>
  <ul>
    <li><a href="/" title="Home">Home</a></li>
    <li><a href="/" title="About">About</a>
      <ul>
        <li><a href="/" title="The Company">The Company</a>
          <ul>
            <li><a href="/" title="History">History</a></li>
            <li><a href="/" title="Mission">Mission</a></li>
          </ul>
        </li>
        <li><a href="/" title="Working Process">Working Process</a></li>
        <li><a href="/" title="Work Planners">Work Planners</a></li>
        <li><a href="/" title="Testimonials">Testimonials</a></li>
      </ul>
    </li>
    <li><a href="/" title="Services">Services</a>
      <ul>
        <li><a href="/" title="Web Design and Development">Web Design and Development</a></li>
        <li><a href="/" title="Logo Design">Logo Design</a></li>
        <li><a href="/" title="Print Design">Print Design</a></li>
      </ul>
    </li>
    <li><a href="/" title="Portfolio">Portfolio</a>
      <ul>
        <li><a href="/" title="Website Design">Website Design</a></li>
        <li><a href="/" title="Corporate Identity">Corporate Identity</a></li>
      </ul>
    </li>
    <li><a href="/" title="Contact">Contact</a></li>
  </ul>  
</div>  
[/xml]

<h2>Membuat Desain Menu</h2>
<p>Disini kita tidak akan menjelaskan bagaimana cara membuat desain menu, yang dalam hal ini dibuat dengan Photoshop. Namun yang jelas desain menu yang akan kita buat pada tutorial ini terlihat sebagai berikut :</p>

[wptf act="insertImg" src="drop-down-menu/design-menu-finish.jpg" alt="Gambar struktur menu"][/wptf]

<p>Nah semua persiapan telah dilakukan, saatnya kita masuk pada inti dari tutorial ini yaitu menyusun kode CSS untuk membentuk menu</p>

<h2>Menyusun kode CSS</h2>
<p>Untuk mempermudah dalam menjelaskan kode CSS yang menyusun menu dropdown ini, kita akan membaginya menjadi 2 tahap yaitu <a href="#atur-menu-utama">menyusun styles menu utama</a> dan <a href="http://iznyn.com/blog/2009/11/05/membuat-menu-dropdown-menggunakan-css-part-2/">menyusun styles sub menu</a>. Namun sebelum kita memasuki tahap-tahap ini, disini untuk mempermudah penyusunan kode CSS kita lakukan pembersihan terhadap default styles dari browser.</p>
<h3>Clearing Browser Default Styles</h3>
<p>Secara umum pembersihan default styles dari browser dilakukan untuk mempermudah penyusunan kode CSS. Pada tutorial ini kode yang digunakan untuk pembersihan hanya terbatas untuk memenuhi kebutuhan dari penyusunan menu dropdown. Apabila anda tertarik dengan hal ini, maka satu yang disediakan oleh <a href="http://developer.yahoo.com/yui/reset/" title="Reset CSS from YUI">Yahoo (YUI)</a> adalah contoh yang cukup bagus. Berikut kode CSS yang digunakan dalam rangka pembersihan default styles dari browser :</p>
[css]
body, ul, li {
  margin: 0; 
  padding:0;
}
ul {
  list-style: none;
}
/* Set font */
body {
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
}
[/css]
<p>Pada bagian pertama dari kode CSS diatas, kita menghilangkan attribute padding dan margin pada element body, ul dan li. Kemudian dilanjutkan dengan menghilangkan style dari list pada element ul. Terakhir kita mengatur jenis font pada element body, yang kemudian akan diturunkan pada semua element yang menjadi keturunannya.</p>
<p>Selain itu, kita juga akan menyediakan suatu CSS class yang dinamakan <em>clearfix</em>. Class ini berfungsi untuk menyelesaikan masalah <em>float</em>, yang kita gunakan untuk menyusun susun horisontal. Hal ini akan menjadi jelas ketika kita menyusun kode CSS. Berikut kode CSS untuk class clearfix ini :</p>
[css]
.clearfix:after {
  content: "."; 
  display: block; 
  height: 0; 
  visibility: hidden; 
  clear: both;
}
.clearfix {
  display: inline-table;
}
/* Hide for IE-Mac \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/* End hide for IE-Mac */
[/css]
<p>Class clearfix ini adalah salah satu metode yang cukup efektif untuk menyelesaikan masalah <em>float</em>. Disini kita tidak akan menjelaskan bagaimana class ini bekerja, namun jika anda tertarik untuk mempelajari lebih detail dapat dilihat pada <a href="http://www.positioniseverything.net/easyclearing.html" title="Detail of class clearfix">Position Is Everything - Easy clearing</a>.</p>

<h2 id="atur-menu-utama">Mengatur Style Menu Utama</h2>
<p>Yang pertama kali kita lakukan untuk mengatur style menu utama adalah memberikan background serta menentukan font dan padding pada kontainer dari menu, berikut ini :</p>
[css]
#menu {
  background: transparent url(bg-menu.gif) repeat-x; 
  font-size: 12px;
}
#menu&gt;ul {
  padding-left: 10px;
}
[/css]
<p>Saya memutuskan untuk menentukan font-size pada bagian kontainer <code>(ul)</code> karena pertimbangan bahwa menu ini akan menggunakan ukuran font yang sama serta kenyataan bahwa menu akan menggunakan ukuran static (px) sehingga kita tidak perlu mengkhawatirkan adanya pengaruh ukuran font terhadap ukuran menu. Pada bagian kedua, kita menggunakan selector <em>child</em> yang akan menyamakan element <code>ul</code> yang secara langsung menjadi turunan/anak dari element <code>#menu</code>.</p>
<p>Kemudian proses dilanjutkan dengan menyusun menu utama agar terlihat horisontal, berikut kode css-nya :</p>
[css]
#menu&gt;ul&gt;li {
  display: inline; 
  float: left; 
  line-height: 40px;
}
[/css]
<p>Salah satu attribute CSS yang dapat digunakan untuk menyusun elemen HTML secara horisontal adalah <code>float</code>. Attribute <code>float</code> akan memaksakan suatu elemen untuk mengisi ruang kosong disebelah kanan maupun kiri (tergantung nilai yang diberikan pada attribute ini) dari elemen tersebut. Dengan sifatnya tersebut, membuat element disekitar &quot;flaoted element&quot; ikut terpengaruh sehingga akan sulit dikontrol. Ada beberapa metode yang dapat digunakan untuk menyelesaikan masalah <code>float</code> ini, namun satu yang paling efektif dalah dengan menggunakan class <code>clearfix</code> yang telah kita buat sebelumnya. Untuk dapat menggunakannya, kita tambahkan didalam elemen kontainer, sebagai berikut: </p>
[xml]
<ul class="clearfix">
[/xml]
<p>Yang perlu dilakukan selanjutnya adalah merubah attribute <em>position</em> dari setiap elemen <code>li</code> menjadi <code>relative</code>, sebagai berikut :</p>
[css]
#menu&gt;ul li {
  position: relative;
}
[/css]
<p>Hal ini sangat diperlukan terutama ketika akan memposisikan sub menu.</p>
<p>Selanjutnya kita tambahkan sedikit ruang diantara menu utama agar dapat menambah jangkuan klik terhadap link.</p>
[css]
#menu&gt;ul&gt;li a {
  padding: 5px 25px;
}
[/css]
<p>Terakhir kita atur style dari anchor/link.</p>
[css]
#menu a {
  color: #ffffff; 
  text-decoration: none;
}
#menu&gt;ul&gt;li&gt;a:hover {
  color: #99ccff;
}
[/css]
<p>Sampai disini kita telah menyelesaikan penyusunan untuk menu utama. Hasil sementara dari menu ini dapat dilihat <a href="http://iznyn.com/src/media/blog/example/drop-down-menu/after-styling-main-menu.html" title="Menu drop down setelah dilakukan pengaturan style pada menu utama">disini</a>.</p>
<p>Pada artikel selanjutnya kita akan mengatur style untuk sub menu.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/11/04/membuat-menu-drop-down-menggunakan-css-part-1?feed=comment</wfw:commentRss>
		<slash:comments>7</slash:comments>
	</item>
		<item>
		<title>2 Wordpress Theme baru dari Iznyn.com</title>
		<link>http://iznyn.com/blog/2009/09/18/2-wordpress-theme-baru-dari-iznyn-com</link>
		<comments>http://iznyn.com/blog/2009/09/18/2-wordpress-theme-baru-dari-iznyn-com#comments</comments>
		<pubDate>Fri, 18 Sep 2009 11:03:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[WordPress]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/09/18/2-wordpress-theme-baru-dari-iznyn-com</guid>
				<description><![CDATA[<p>Dalam rangka menyambut hari besar Islam, <strong>Idul Fitri 1430 H</strong>, iznyn.com telah menyusun dua wordpress themes, yaitu <del>Opor Ayam</del> dan  <del>PurityOfSoul</del>. Kedua theme ini kami sediakan secara gratis dengan license dari GPL. Anda dapat secara bebas menggunakan, menyebarkan dan mengubah kedua Wordpress theme ini dengan menyertakan <em>credit link</em> pada bagian footer.</p>]]></description>
					<content:encoded><![CDATA[<p>Dalam rangka menyambut hari besar Islam, <strong>Idul Fitri 1430 H</strong>, iznyn.com telah menyusun dua wordpress themes, yaitu <del>Opor Ayam</del> dan  <del>PurityOfSoul</del>. Kedua theme ini kami sediakan secara gratis dengan license dari GPL. Anda dapat secara bebas menggunakan, menyebarkan dan mengubah kedua Wordpress theme ini dengan menyertakan <em>credit link</em> pada bagian footer.</p>
<p>Detail tentang masing-masing theme dapat dilihat pada halaman <a href="http://iznyn.com/works/" title="Some works from iznyn">Works</a> beserta link untuk mengunduhnya. Selanjutnya kami sangat mengharapkan saran dan kritik, sehingga dapat menjadi acuan dalam memperbaiki kekurangan yang ada dalam pekerjaan kami ini dan semoga bermanfaat. Terakhir tak lupa kami mengucapkan <q><strong>Selamat Hari Raya Idul Fitri 1430 H</strong>, Minal Aidzin Wal Faidzin, Mohon Maaf Lahir dan Bathin</q></p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/09/18/2-wordpress-theme-baru-dari-iznyn-com?feed=comment</wfw:commentRss>
		<slash:comments>1</slash:comments>
	</item>
		<item>
		<title>CSS Validator Tidak Hanya Sekedar Bikin Keren</title>
		<link>http://iznyn.com/blog/2009/09/17/css-validator-tidak-hanya-sekedar-bikin-keren</link>
		<comments>http://iznyn.com/blog/2009/09/17/css-validator-tidak-hanya-sekedar-bikin-keren#comments</comments>
		<pubDate>Thu, 17 Sep 2009 08:50:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/09/17/css-validator-tidak-hanya-sekedar-bikin-keren</guid>
				<description><![CDATA[<p>Belakangan ini ada satu paradigma yang menganggap bahwa dengan menempatkan suatu link ke W3C Validator tersebut dan kemudian mendapatkan sebuah <em>"lampu hijau"</em> sebagai hasil validasi menjadi suatu hal yang cukup keren dan seperti menambah hebat halaman webnya. Namun apakah memang benar-benar menjadi lebih hebat kode yang lolos validasi?. Pada kenyataannya tidak. Kita hanya mendapatkan suatu kepastian bahwa kode yang kita disusun telah mematuhi suatu standard specification CSS. Selebihnya seringkali justru membatasi kita dalam memaksimalkan fasilitas yang dimiliki oleh CSS.</p>]]></description>
					<content:encoded><![CDATA[<p><abbr title="Cascade Style Sheet">CSS</abbr> belakangan ini menjadi sebuah kebutuhan pokok bagi Web Designer di dalam menyusun unsur <em>&quot;look and feel&quot;</em> dari suatu halaman Web. Hal ini cukup beralasan dengan semua keuntungan yang bisa kita dapatkan dengan penggunaan CSS ini. Salah satu yang terpenting adalah bahwa kita dapat benar-benar memisahkan unsur <em>&quot;look and feel&quot;</em> dengan struktur dokumennya (<abbr title="HyperText Markup Language">HTML</abbr>). Hal ini membuat penyusunan halaman web menjadi lebih mudah.</p>
<h4>CSS Yang Begitu &quot;Pemaaf&quot;</h4>
<p>Selain itu, sifat CSS yang mudah dipelajari dan cukup &quot;pemaaf&quot; merupakan alasan lain mengapa ia menjadi cukup diminati. Namun terkadang, kita akan menemukan bahwa dengan sifatnya yang pemaaf justru menjadi penghambat dalam proses penyusunan kode CSS.</p>
<p>Ketika menyusun kode CSS, dapat dipastikan bahwa kita tidak akan pernah menemui suatu pesan error meskipun kita menuliskan secara asal-asalan. Kita hanya akan mendapatkan tampilan yang berbeda dengan apa yang kita harapkan. Hal ini menyebabkan sulitnya untuk menemukan suatu ukuran yang dapat menentukan apakah kode yang kita susun benar atau salah.</p>
<h4>CSS Validator</h4>
<p>Berterima kasihlah kepada CSS Validator, karena kita tidak perlu bersusah payah lagi ketika ingin mencari kesalahan-kesalahan dalam kode CSS. Ada beberapa CSS Validator yang tersedia, namun yang banyak digunakan adalah yang disediakan oleh <abbr title="World Wide Dwb Consortium">W3C</abbr>. Jika belum pernah memeriksanya, anda dapat melakukannya melalui <a href="http://jigsaw.w3.org/css-validator/">W3C CSS Validator</a>. Keunggulan dari validator ini adalah bahwa dia tersedia secara online dan dapat di-<em>bookmark</em> secara langsung dari suatu halaman web.</p>
<p>Namun belakangan ini ada satu paradigma yang menganggap bahwa dengan menempatkan suatu link ke W3C Validator tersebut dan kemudian mendapatkan sebuah <em>&quot;lampu hijau&quot;</em> sebagai hasil validasi menjadi suatu hal yang cukup keren dan seperti menambah hebat halaman webnya. Namun apakah memang benar-benar menjadi lebih hebat kode yang lolos validasi?. Pada kenyataannya tidak. Kita hanya mendapatkan suatu kepastian bahwa kode yang kita disusun telah mematuhi suatu standard specification CSS. Selebihnya seringkali justru membatasi kita dalam memaksimalkan fasilitas yang dimiliki oleh CSS.</p>
<h4>CSS Specification</h4>
<p>Sejak kemunculannya, CSS telah memiliki beberapa versi specification, yaitu <a href="http://www.w3.org/TR/CSS1/" title="CSS Level 1 Specification">CSS Level 1</a> dan <a href="http://www.w3.org/TR/CSS21/" title="CSS Level 1 Specification">CSS Level 2.1</a> serta satu spesifikasi yang masih dalam bentuk draft, yaitu <a href="http://www.w3.org/Style/CSS/current-work#CSS3" title="Draft of CSS Level 3">CSS Level 3</a>. Selain ketiga specification yang dikeluarkan oleh W3C ini, ada beberapa specification lain yang dikembangkan oleh browser vendor.</p>
<p>Ketika suatu validator memeriksa suatu kode CSS, maka dia akan mengacu pada satu spesifikasi saja dan tidak untuk spesifikasi yang masih dalam bentuk draft maupun spesifikasi dari browser vendor. Sehingga apabila kita menyisipkan properties non-standard, maka kita akan mendapati bahwa kode CSS memiliki beberapa kesalahan. Hal ini yang dapat membatasi kita dalam memaksimalkan kekuatan dari CSS.</p>
<h2>Memanfaatkan Sifat CSS Yang &quot;Pemaaf&quot;</h2>
<p>Seperti yang telah saya katakan sebelumnya bahwa CSS mempunyai sifat yang cukup <em>&quot;pemaaf&quot;</em>, sehingga apabila terdapat suatu properties yang tidak didukung oleh suatu browser atau secara tidak sengaja kita salah mengetikan suatu properties, maka dia akan langsung diabaikan oleh browser tersebut. Hal ini memberikan kebebasan kepada kita untuk meyisipkan kode-kode CSS non-standard. Walaupun kita tetap harus berhati-hati agar kode-kode tersebut tidak merusak tampilan dari halaman Web.</p>
<p>Sebagai contoh adalah <em>extension</em> dari mozilla, <strong>-moz-border-radius</strong>, contoh :</p>
[css]
.test {
  border: 1px solid #33333;
  -moz-border-radius: 5px;
}
[/css]
<p>Properties tersebut di dalam firefox akan menyebabkan elemen mempunyai garis tepi melengkung di tiap sudutnya (<em>&quot;rounded corner&quot;</em>). Sedangkan pada browser lain akan mengabaikan properties tersebut sehingga hanya menghasilkan garis tepi biasa. Dengan menggunakan elemen ini kita akan memberikan pengalaman baru terhadap user pada browser tertentu tanpa mempengaruhi user pada browser lain.</p>
<p>Buruknya, adanya properties non-standard ini menyebabkan munculnya pesan kesalahan ketika mem-<em>validasi</em> kode CSS kita. Namun pada dasarnya kita dapat mengabaikan hal ini, selama anda yakin bahwa kode non-standard tersebut mempunyai tujuan yang jelas dan tidak merusak tampilan yang sudah ada.</p>
<p>Contoh lain dari penggunaan properties non-standard adalah <strong>CSS Bug</strong>, yaitu properties CSS yang digunakan untuk memperbaiki kesalahan implementasi pada suatu browser (biasanya pada Internet Explorer). Pada artikel ini tidak akan dijelaskan tentang CSS Bug namun untuk informasi lebih jelas dapat dilihat di <a href="http://www.positioniseverything.net/">www.positioniseverything.net</a>. Seperti halnya extension dari browser, CSS Bug ini jika akan dinilai salah oleh validator. Namun kembali, pada dasarnya dia tidak salah hanya tidak mematuhi suatu standard.</p>
<h4>Disini Kitalah Yang Berkuasa</h4>
<p>Sebagai seorang Web Designer, kitalah yang berkuasa terhadap kode CSS yang kita susun. Kita dapat secara bebas menentukan bagaimana kode akan disusun tanpa harus mempedulikan pengaruh terhadap pihak lain. Yang terpenting adalah susunan kode CSS dapat memberikan kenyamanan di dalam proses pengembangan serta mampu membentuk suatu <em>&quot;look and feel&quot;</em> yang konsisten dan memberikan kenyamanan bagi user.</p>
<p>Yakinlah bahwa user tidak akan pernah mempedulikan bagaimana kode CSS akan disusun, yang mereka pedulikan hanyalah bagimana tampilan Web memberikan kenyamana pada saat menjelajahi isi dari sebuah Web site. Kecuali bahwa dia memang benar-benar memahai tentang CSS dan memang bermaksud mempelajari kode CSS yang kita susun.</p>
<p>Maka, jadikanlah suatu validator benar-benar sebagai alat bantu dalam mencari kesalahan kode CSS yang kita susun. Akan tetapi jangan kemudian membatasi kita dalam menciptakan pengalaman baru dan unik bagi user hanya karena ingin mendapat <em>&quot;lampu hijau&quot;</em> dari suatu CSS Validator. Asalkan anda yakin bahwa anda tidak salah ketik dan kode CSS secara keseluruhan mempunyai tujuan yang jelas, maka anda dapat mengabaikan pesan error yang dihasilkan oleh suatu validasi kode CSS.</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/09/17/css-validator-tidak-hanya-sekedar-bikin-keren?feed=comment</wfw:commentRss>
		<slash:comments>1</slash:comments>
	</item>
		<item>
		<title>Absolute Positioning dan Relative Positioning</title>
		<link>http://iznyn.com/blog/2009/09/07/absolute-positioning-dan-relative-positioning</link>
		<comments>http://iznyn.com/blog/2009/09/07/absolute-positioning-dan-relative-positioning#comments</comments>
		<pubDate>Mon, 07 Sep 2009 01:04:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Css]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/09/07/absolute-positioning-dan-relative-positioning</guid>
				<description><![CDATA[<p>Absolute positioning dan Relative positioning merupakan <em>tool</em> yang cukup bagus dalam penyusunan layout dokumen, baik ketika digunakan secara individu maupun gabungan antara keduanya. Artikel ini akan membahas tentang kedua attribute ini secara mendalam.</p>
<p>Absolute positioning merupakan suatu attribute CSS yang digunakan untuk mengatur posisi suatu elemen secara bebas, relatif terhadap element induk terdekat yang telah keluar dari aliran normal dokumen. Sedangkan Relative Positioning akan memposisikan elemen relatif terhadap posisi awal dari elemen ketika berada pada aliran normal. </p>]]></description>
					<content:encoded><![CDATA[<p>Absolute positioning dan Relative positioning merupakan <em>tool</em> yang cukup bagus dalam penyusunan layout dokumen, baik ketika digunakan secara individu maupun gabungan antara keduanya. Artikel ini akan membahas tentang kedua attribute ini secara mendalam.</p>
<h3>Document Flow</h3>
<p>Sebelum kita membahas lebih dalam tentang Absolute Positioning dan Relative Positioning, saya akan sedikit menjelaskan tentang <strong>Document Flow</strong>. Document flow sendiri merupakan suatu konsep yang digunakan oleh <em>User Agent</em> untuk menempatkan elemen-elemen HTML di dalam dokumen. Di dalam suatu dokumen HTML dapat terjadi dua jenis document flow, yaitu <strong>Normal</strong> dan <strong> Ubnormal</strong>. Normal document flow merupakan proses penempatan elemen-elemen HTML, dimana semua elemen membawa nilai posisi default atau <strong>Static Positioning</strong>. Pada kondisi ini, setiap elemen akan ditempatkan saling berturutan dari atas ke bawah di dalam dokumen. Sedangkan untuk Ubnormal document flow terjadi ketika suatu elemen HTML keluar dari aliran normal dokumen, yang mana terjadi sebagai akibat ditempatkannya elemen tersebut secara <em>Absolute, Fixed</em> atau <em>Relative</em> dan menggunakan attribute <em>Float</em>. Sketsa dari normal document flow dapat dilihat pada gambar di bawah ini :</p>

<p class="image">
[wptf act="InsertImg" src="absolute-positioning-dan-relative-positioning/normal-flow.jpg" alt="Sketsa normal document flow"][/wptf]
</p>

<p>Sedangkan untuk perilaku dari ubnormal flow dapat dilihat pada masing-masing penyebab terjadinya ubnormal flow. Untuk Relative dan Absolute Positioning dapat dilihat pada penjelasan berikutnya.</p>
<h3>Perilaku dari Absolute Positioning</h3>
<p>Absolute positioning merupakan suatu attribute CSS yang digunakan untuk mengatur posisi suatu elemen secara bebas, relatif terhadap element induk terdekat yang telah keluar dari aliran normal dokumen. Ketika suatu elemen diposisikan secara Absolute, maka elemen tersebut akan keluar dari aliran normal dokumen dan membentuk layer baru bersama elemen-elemen turunannya. Kemudian dari layer baru ini, terbentuk sistem penempatan elemen baru yang tidak terpengaruh oleh elemen <em>encestor</em> (elemen induk) maupun elemen <em>sibling</em> (elemen yang mempunyai induk yang sama). Untuk menempatkan absolute elemen kita memerlukan attribute <em>offset</em> (<code>top, bottom, left, right</code>) dan apabila kita tidak menentukan attribute ini, maka elemen tersebut akan ditempatkan di pojok atas kiri dari elemen induknya. Sedangkan untuk aliran normal dokumen sebelumnya akan menganggap bahwa elemen yang diposisikan secara absolute sudah tidak ada lagi dan digantikan oleh elemen yang di dalam urutan markup berada di bawahnya. Seperti tampak pada gambar di bawah ini :</p>

<p class="image">
[wptf act="InsertImg" src="absolute-positioning-dan-relative-positioning/absolute-post.jpg" alt="Sketsa normal document flow"][/wptf]
</p>

<p>Untuk lebih jelasnya perhatikan contoh dibawah ini :</p>
<p>Misalkan kita memiliki kode HTML sebagai berikut :</p>
[xml]

  <h1>Absolute Positioning</h1>
  <p>Lorem ipsum .....</p>
  <div>
    <h2>Sub Heading</h2>
    <p class="&ldquo;abs&rdquo;">Lorem ipsum ......</p>
  </div>
  <ul>
    <li>List 1</li>
    <li>List 2</li>
    <li>List 3</li>
  </ul>

[/xml]
<p>Kemudian misalkan saja kita posisikan elemen <code>p.abs</code> yang disarangkan didalam elemen <code>div</code> secara absolute, berikut kode CSS-nya :</p>
[css]
.abs {
  position: absolute;
  top: 30px;
  left: 30px;
  background-color: #e4e4e4;
  border: 1px dashed #aaa;
}
[/css]

<p>Hasil dari kode diatas dapat dilihat <a href="http://iznyn.com/src/media/blog/example/absolute-positioning-dan-relative-positioning/absolute-positioning.html">disini</a></p>

<p>Dari contoh tersebut, terlihat bahwa elemen <code>p</code> diposisikan secara bebas, bahkan ketika dia disarangkan pada elemen yang lainnya</p>
<p>Sekarang kita rubah kode CSS diatas dengan memposisikan elemen <code>div</code> secara absolute, sebagai berikut :</p>
[css]
div {
  position: absolute;
  top: 40px;
  left: 40px;
  width: 400px;
  background-color: #d4d4d4;
  border: 1px dashed #888;
}
[/css]
<p>Hasil dari kode diatas dapat dilihat <a href="http://iznyn.com/src/media/blog/example/absolute-positioning-dan-relative-positioning/absolute-positioning2.html">disini</a></p>
<p>Opps, sekarang elemen <code>p</code> ikut berubah mengikuti elemen <code>div</code>, mengapa? Berikut penjelasannya. Ketika elemen <code>p</code> menjadi satu-satunya elemen di dalam dokumen yang diposisikan secara absolute, maka dia diposisikan (dalam hal ini dengan menggunakan  attribute offset) relatif terhadap elemen <code>body</code>, dalam hal ini elemen <code>body</code> bertindak sebagai elemen induk terdekat yang mempunyai perlakuan khusus. Namun kemudian, ketika elemen <code>div</code> yang merupakan elemen induk dari <code>p</code> diposisikan secara absolute, maka elemen <code>p</code> tidak lagi diposisikan relatif terhadap <code>body</code> namun diposisikan relatif terhadap elemen <code>div</code>, karena sekarang elemen <code>div</code>-lah yang bertidak sebagai elemen induk terdekat yang mempunyai perlakuan khusus.</p>
<p>Selain itu, berdasarkan contoh diatas terlihat bahwa elemen <code>div</code> disertakan nilai <code>width</code> sebesar 400px, yang juga menyebabkan elemen <code>p</code> mengikuti nilai ini. Dan juga terlihat bahwa kontainer <code>div</code> tidak terpengaruh oleh tinggi dari elemen <code>p</code>. Ketinggian elemen <code>div</code> hanya mengembang berdasarkan kehadiran dari elemen turunannya yang masih mengikuti aliran normal (dalam contoh diatas adalah elemen <code>h2</code>). Dengan kata lain elemen <code>div</code> diatas hanya sebagai acuan dari penghitungan posisi elemen turunannya.</p>
<h3>Perilaku dari Relative Positioning</h3>
<p>Perilaku dari Relative Positioning hampir sama dengan Absolute Positioning. Hanya saja dari pada memposisikan elemen relatif terhadap elemen induk terdekat yang telah mendapatkan perlakuan khusus (sebagai akibat diposisikannya suatu elemen induk secara absolute, relative maupun fixed), Relative Positioning akan memposisikan elemen relatif terhadap posisi awal dari elemen ketika berada pada aliran normal. Perhatikan gambar dibawah ini :</p>

<p class="image">
[wptf act="InsertImg" src="absolute-positioning-dan-relative-positioning/relative-post.jpg" alt="Sketsa normal document flow"][/wptf]
</p>

<p>Sebagai catatan bahwa pada gambar diatas, <em>box 2</em> kita asumsikan diberikan suatu nilai lebar sehingga lebih kecil dari semula, hal ini hanya untuk mempermudah penjelasan saja. Berdasarkan gambar tersebut, ketika suatu elemen diposisikan secara relative maka dia akan membentuk layer baru beserta elemen turunannya dan menariknya area yang semula dia duduki tidak ditempati oleh elemen dibawahnya atau dengan kata lain bahwa memposisikan suatu elemen secara relative tidak akan merusak aliran normal dari kontainernya. Dan kemudian penempatan elemen akan didasarkan pada posisi awal dari elemen saat berada pada aliran normal.</p>
<p>Untuk lebih jelasnya perhatikan contoh dibawah ini :</p>
<p>Misalkan kita memiliki kode HTML sebagai berikut :</p>
[xml]

  <h1>Absolute Positioning</h1>
  <p>Lorem ipsum .....</p>
  <div>
    <h2>Sub Heading</h2>
    <p class="&ldquo;rel&rdquo;">Lorem ipsum ......</p>
  </div>
  <ul>
    <li>List 1</li>
    <li>List 2</li>
    <li>List 3</li>
  </ul>

[/xml]
<p>Kemudian misalkan saja kita posisikan elemen <code>div</code> secara relative, berikut kode CSS-nya :</p>
[css]
div {
  position: relative;
  top: 30px;
  left: 30px;
  background-color: #e4e4e4;
  border: 1px dashed #aaa;
}
[/css]
<p>Hasil dari kode diatas dapat dilihat <a href="http://iznyn.com/src/media/blog/example/absolute-positioning-dan-relative-positioning/relative-positioning.html">disini</a></p>
<p>Sebagai tambahan, berdasarkan contoh diatas bahwa elemen yang diposisikan secara relative, lebarnya akan tetap seperti saat berada pada aliran normal, kecuali jika secara langsung menentukannya dengan menggunakan attribute width. Hal ini menyebabkan munculnya horisontal <em>scroll-bar</em>.</p>
<h3>Kombinasi Absolute dan Relative Positioning</h3>
<p>Ketika attribute position, Absolute dan Relative, digunakan bersama-sama (dalam arti elemen induk diposisikan salah satu dari attribute ini dan element induk diposisikan secara sebaliknya) maka mereka dapat menjadi "tool" yang sangat bagus di dalam penyusunan layout dokumen. Disini ada dua kombinasi yaitu Elemen induk diposisikan secara Absolute dengan elemen turunan di posisikan secara Relative dan Elemen induk diposisikan secara Relative dengan elemen turunan di posisikan secara Absolute. Dari kedua opsi tersebut, opsi terakhirlah yang paling menarik, jadi saya hanya akan membahas untuk opsi ini, toh effek yang kita dapatkan untuk opsi pertama tidak jauh berbeda ketika kita memposisikan suatu element secara absolute.</p>
<p>Dengan memposisikan suatu elemen induk secara relative sedangkan elemen turunan secara absolute, maka efek yang didapatkan adalah bahwa kita dapat memposisikan suatu elemen relatif terhadap kontainernya tanpa kontainer harus keluar dari aliran normal dokumen. Tehnik ini biasanya dilakukan dengan memposisikan elemen induk secara relative tanpa menentukan attribute offset sehingga elemen tersebut akan tetap berada ditempatnya sesuai dengan aliran normal dokumen. Dari sini kita kemudian dapat memposisikan elemen turunannya berdasarkan luas dari elemen induknya dengan menggunakan absolute positioning. Seperti terlihat pada gambar di bawah ini :</p>

<p class="image">
[wptf act="InsertImg" src="absolute-positioning-dan-relative-positioning/relative-absolute.jpg" alt="Sketsa normal document flow"][/wptf]
</p>

<p>Untuk lebih jelasnya dapat anda lihat pada contoh di bawah ini, dimana menggunakan tehnik tersebut diatas untuk menenmpatkan link "skip to content" di sebelah kanan atas dari kontainer header.</p>
<h6>HTML code</h6>
[xml]

  <div>
    <h1>Site Header</h1>
    <span>Skip to content</span>
  </div>
  <div>
    <h2>Page Header</h2>
    <p>Lorem ipsum ......</p>
    <p>Lorem ipsum ......</p>
  </div>
  <div>
    <p>copyright &copy; 2008-2009 iznyn</p>
  </div>

[/xml]
<h6>CSS code</h6>
[css]
body {margin: 0;}
a{color: #000;}
a:hover{color: #666;}
#header {
  position: relative;
  height: 80px;
  background-color: #ccc;
  border-bottom: 2px solid #333;
  padding: 10px;
}
#header span {
  position: absolute;
  right: 20px;
  bottom: 10px;
  font-weight: bold;
}
#content, #footer {
  background-color: #eee;
  padding: 10px;
  border-bottom: 2px solid #333;
}
#footer {
  background-color: #ccc;
}
[/css]
<p>Hasil dari kode diatas dapat dilihat <a href="http://iznyn.com/src/media/blog/example/absolute-positioning-dan-relative-positioning/relative-absolute.html">disini</a></p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/09/07/absolute-positioning-dan-relative-positioning?feed=comment</wfw:commentRss>
		<slash:comments>6</slash:comments>
	</item>
		<item>
		<title>Sepenggal Rasa Syukur dari Penulis</title>
		<link>http://iznyn.com/blog/2009/09/04/sepenggal-rasa-syukur-dari-penulis</link>
		<comments>http://iznyn.com/blog/2009/09/04/sepenggal-rasa-syukur-dari-penulis#comments</comments>
		<pubDate>Fri, 04 Sep 2009 06:01:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Iznyn Corner]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/09/04/sepenggal-rasa-syukur-dari-penulis</guid>
				<description><![CDATA[<p>Inilah alasan utama yang mendasari didirikannya iznyn.com. Ya semua tentang <strong>Web Design</strong>. Sejak perkenalannya dengan HTML, beberapa tahun yang lalu, kecintaan penulis terhadap dunia Web Design semakin menjadi-jadi belakangan ini. Dan blog ini mungkin dapat dikatakan sebagai wujud kecintaan penulis terhadap Web Design. Di dalam blog ini penulis akan berusaha untuk memberikan informasi sebanyak mungkin terutama yang berkaitan dengan Web Design, dengan harapan dapat memberikan pengaruh terhadap perkembangan dunia Web Design.</p>]]></description>
					<content:encoded><![CDATA[<p><strong><em>Alhamdullilahirabil 'aalamin</em></strong>, segala puji dan syukur bagi <strong>Allah</strong> semata, kedamaian dan kesejahteraan dari-<strong>NYA</strong> semoga selalu tercurah bagi <strong>Rasullulah SAW</strong>, beserta keluarga, sahabat dan pengikutnya.</p>
<p>Belakangan ini, internet sudah menjadi kebutuhan pokok kita semua. Hampir semua hal  dapat kita lakukan dengan internet, mulai dari mengirim surat, membeli barang, sampai mencari pasangan hidup. Selain itu kita dapat mencari informasi apapun dalam berbagai hal di dalam internet.</p>
<p>Sejalan dengan semakin meningkatnya kebutuhan yang harus dipenuhi oleh internet, maka teknologi dibelakang internet pun ikut berkembang dengan cukup cepat. Teknologi seperti HTML, CSS, Java Script dan PHP kini menjadi tulang punggung dalam perkembangan internet terutama di dalam prosess penyusunan dokumen yang membawa informasi.</p>
<p>Inilah alasan utama yang mendasari didirikannya iznyn.com. Ya semua tentang <strong>Web Design</strong>. Sejak perkenalannya dengan HTML, beberapa tahun yang lalu, kecintaan penulis terhadap dunia Web Design semakin menjadi-jadi belakangan ini. Dan blog ini mungkin dapat dikatakan sebagai wujud kecintaan penulis terhadap Web Design. Di dalam blog ini penulis akan berusaha untuk memberikan informasi sebanyak mungkin terutama yang berkaitan dengan Web Design, dengan harapan dapat memberikan pengaruh terhadap perkembangan dunia Web Design.</p>
<p>Tak terelakkan lagi bahwa keberhasilan dalam penyusunan blog ini merupakan sebuah berkah yang teramat tak terkira bagi penulis. Dan dapat dikatakan sebagai buah dari kerja keras yang dilakukan oleh penulis beberapa tahun ini di dalam mempelajari teknologi Web Design.</p>
<p>Selanjutnya, kami hanya bisa mengucapkan terima kasih terutama bagi Penciptaku, Yang Maha Pengasih lagi Maha Penyayang yang telah memberikan ilmu, kecerdasan, serta kesabaran selama proses penyusunan hingga terselesaikannya blog ini. Tak lupa kami juga mengucapkan sebesar-besarnya kepada semua pihak yang tidak dapat kami sebutkan satu-persatu yang baik secara langsung maupun tidak langsung telah memberikan dukungan moril, nasehat, saran, kritik serta inspirasi terhadap perkembangan dari blog ini. Tak lupa pula kami terus menunggu kritik dan saran dari anda sekalian.</p>
<p>Akhir kata, penulis hanya dapat berharap bahwa blog ini dapat memberikan manfaat  bagi kita semua. Amin....</p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/09/04/sepenggal-rasa-syukur-dari-penulis?feed=comment</wfw:commentRss>
		<slash:comments>2</slash:comments>
	</item>
		<item>
		<title>Iznyn.com Now in Stable Version</title>
		<link>http://iznyn.com/blog/2009/09/03/iznyn-com-now-in-stable-version</link>
		<comments>http://iznyn.com/blog/2009/09/03/iznyn-com-now-in-stable-version#comments</comments>
		<pubDate>Thu, 03 Sep 2009 07:00:00 +0000</pubDate>
		<dc:creator>Iznyn Blog</dc:creator>
				<category><![CDATA[Iznyn Corner]]></category>
				<guid isPermaLink="false">http://iznyn.com/blog/2009/09/03/iznyn-com-now-in-stable-version</guid>
				<description><![CDATA[<p>Akhirnya setelah selama 3 bulan berjalan dalam versi uji coba, dengan bangga kami meresmikan iznyn.com untuk menjadi versi <em>stable</em>. Selama dalam versi uji coba, kami telah berusaha cukup keras untuk memperbaiki segala kekurangan yang dimiliki oleh desain terdahulu. Dan semua usaha tersebut tidak sia-sia dengan ditandai dengan diluncurkannya versi stable ini.</p>]]></description>
					<content:encoded><![CDATA[<p>Akhirnya setelah selama 3 bulan berjalan dalam versi uji coba, dengan bangga kami meresmikan iznyn.com untuk menjadi versi <em>stable</em>. Selama dalam versi uji coba, kami telah berusaha cukup keras untuk memperbaiki segala kekurangan yang dimiliki oleh desain terdahulu. Dan semua usaha tersebut tidak sia-sia dengan ditandai dengan diluncurkannya versi stable ini.</p>
<p>Perubahan yang paling kentara dari versi ini, adalah bahwa situs ini menggunakan theme yang benar-benar baru. Di dalam theme yang baru ini, kami menggunakan desain yang lebih bersih, terang namun tetap elegan. Dan dengan theme ini diharapkan dapat meningkatkan <em>accesibility</em> dari site dan semakin mempermudah user dalam menjelajahi content dari site ini.</p>
<p>Selain dari sisi penampilan, kami juga melakukan perubahan cukup signifikan pada bagian arsip artikel (<del>http://iznyn.com/archive</del>). Perbaikan yang kami lakukan pada bagian ini terutama untuk arsip berdasarkan category post, dimana sekarang lebih terstrukutur dari pada dahulu. Dengan sistem arsip yang kami miliki ini, anda dapat lebih mudah dalam mencari artikel-artikel yang kami miliki baik berdasarkan <em>date</em>, <em>category</em>, <em>author</em>, maupun <em>tag</em>.</p>
<p>Terakhir dengan peluncuran blog ini, kami hanya berharap bahwa blog ini dapat bermanfaat bagi kita semua terutama dalam menyajikan informasi tentang Web Design. Terima kasih ...... </p>]]></content:encoded>
							<wfw:commentRss>http://iznyn.com/blog/2009/09/03/iznyn-com-now-in-stable-version?feed=comment</wfw:commentRss>
		<slash:comments>0</slash:comments>
	</item>
	</channel>
</rss>
