<?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>konglie.web.id</title>
	<atom:link href="http://www.konglie.web.id/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.konglie.web.id</link>
	<description>ketika aku sadar, menulis untuk memelihara pengetahuan....</description>
	<lastBuildDate>Tue, 14 May 2013 15:10:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Cegah double Post dengan Http Post/Redirect/Get</title>
		<link>http://www.konglie.web.id/2013/05/14/cegah-double-post-dengan-http-postredirectget/</link>
		<comments>http://www.konglie.web.id/2013/05/14/cegah-double-post-dengan-http-postredirectget/#comments</comments>
		<pubDate>Tue, 14 May 2013 15:10:12 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[http post]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[postRedirectGet]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=329</guid>
		<description><![CDATA[Ketika membuat aplikasi berbasis Web, pasti pernah (jika bukan sering) berurusan dengan form html. Dimana form merupakan sarana interaksi user dengan aplikasi atau halaman Web yang dikunjunginya tersebut. Form yang memuat data penting dan sensitif biasanya akan menggunakan metode POST &#8230; <a href="http://www.konglie.web.id/2013/05/14/cegah-double-post-dengan-http-postredirectget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ketika membuat aplikasi berbasis Web, pasti pernah (jika bukan sering) berurusan dengan form html. Dimana form merupakan sarana interaksi user dengan aplikasi atau halaman Web yang dikunjunginya tersebut. Form yang memuat data penting dan sensitif biasanya akan menggunakan metode POST dalam pengiriman datanya. Cara kerjanya sederhana, user mengisi data di form yang ada kemudian submit form tersebut, halaman web yang menerima form tersebut kemudian memproses data yang dikirimkan, kemudian tampilkan pesan atau hasil dari pemrosesan data tersebut, selesai.<span id="more-329"></span></p>
<p>Masalah yang muncul adalah ketika user melakukan refresh atau reload, misalnya dengan menekan tombol F5 di browser, maka form yang tadinya disubmit akan disubmit ulang, meskipun memang biasanya browser akan meminta konfirmasi terlebih dahulu. Seperti yang ditampilkan pada gambar di bawah ini.</p>
<p><a href="http://www.konglie.web.id/wp-content/uploads/2013/05/confirm_repost.png"><img src="http://www.konglie.web.id/wp-content/uploads/2013/05/confirm_repost.png" alt="" title="Firefox confirm re-POST Form" width="617" height="131" class="aligncenter size-full wp-image-332" /></a></p>
<p>Apakah ada masalah dengan hal tersebut ? Mari kita bahas. Misalkan kita membuat website e-commerce, atau toko online, user mengisi form order barang, kemudian disubmit, dan kemudian disubmit lagi. Tentunya di aplikasi kita akan mencatat ada 2 buah transaksi yang sama persis, yang belum tentu si user memang benar ingin melakukan 2 buah order tersebut. Apakah ini fatal? Bisa iya bisa tidak. Bukan masalah, jika emang kita melakukan konfirmasi ke pembeli, namun bisa fatal jika website kita adalah website yang menganggap bahwa transaksi online adalah hal yang valid dan absolut. Dengan demikian website kita akan mencatat ada 2 order, padahal user hanya bermaksud order 1 kali. </p>
<p>Bagaimana mengatasi hal ini ? Sebelumnya, perlu diingat bahwa form HTML dikirimkan menggunakan protokol HTTP, dengan demikian tentunya, response yang diharapkan oleh browser adalah dalam format protokol HTTP pula. </p>
<blockquote><p>Kunci dari penanganan masalah double POST submit ini adalah meminta browser menuju ke halaman lain setelah form selesai diproses.</p></blockquote>
<p>Mari kita lihat contoh kasusnya.</p>
<p>File php yang menampilkan pesan atau hasil setelah form diproses. Katakanlah namanya <code>prg-hasil.php</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Http Post Redirect Get&lt;/title&gt;
		&lt;style type='text/css'&gt;
			body {
				margin: 20px;
			}
			body, body * {
				font-family: sans-serif;
				font-size: 14pt;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;h3&gt;Form sudah disubmit&lt;/h3&gt;
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;?php</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// proses form kiriman</span>
				<span style="color: #666666; font-style: italic;">// misalnya, simpan ke database atau yang lain</span>
				<span style="color: #666666; font-style: italic;">// .....</span>
&nbsp;
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;h4&gt;Form disubmit kesini menggunakan POST, apabila di refresh, maka form akan dikirim ulang&lt;/h4&gt;&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Berikut adalah file berisi formulir html.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Http Post Redirect Get&lt;/title&gt;
		&lt;style type='text/css'&gt;
			body {
				margin: 20px;
			}
			body, body * {
				font-family: sans-serif;
				font-size: 14pt;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
			&lt;h3&gt;Form Testing Post Redirect Get&lt;/h3&gt;
			&lt;form method='post' action='prg-hasil.php'&gt;
				Input 1 &lt;input type='text' name='input1' value=''/&gt;&lt;br&gt;
				Input 2 &lt;input type='text' name='input2' value=''/&gt;&lt;br&gt;
				&lt;br/&gt;&amp;nbsp;
				&lt;input type='submit' value='Submit' name='submit'&gt;
			&lt;/form&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Perhatikan baris <code>&lt;form method='post' action='prg-hasil.php'&gt;</code>, yang menandakan bahwa form ini akan dikirimkan ke file <code>prg-hasil.php</code>. Tidak ada yang salah dengan ini, namun coba jalankan dan kemudian setelah muncul pesan submit, maka form akan disubmit ulang, setelah browser melakukan konfirmasi tentunya.</p>
<p>Solusinya adalah, kita akan melakukan submit form ke file yang berbeda dengan file yang akan menampilkan hasilnya. Contoh dibawah ini, kita akan mengirimkan form ke dirinya sendiri, kemudian setelah form diproses, baru akan menuju ke file <code>prg-hasil.php</code> untuk menampilkan pesan/hasil pemrosesan form.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Http Post Redirect Get&lt;/title&gt;
		&lt;style type='text/css'&gt;
			body {
				margin: 20px;
			}
			body, body * {
				font-family: sans-serif;
				font-size: 14pt;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
			&lt;h3&gt;Form Testing Post Redirect Get&lt;/h3&gt;
			&lt;form method='post'&gt;
				Input 1 &lt;input type='text' name='input1' value=''/&gt;&lt;br&gt;
				Input 2 &lt;input type='text' name='input2' value=''/&gt;&lt;br&gt;
				&lt;br/&gt;&amp;nbsp;
				&lt;input type='submit' value='Submit' name='submit'&gt;
			&lt;/form&gt;
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> 
&nbsp;
			<span style="color: #666666; font-style: italic;">// proses form kiriman</span>
			<span style="color: #666666; font-style: italic;">// misalnya, simpan ke database atau yang lain</span>
			<span style="color: #666666; font-style: italic;">// .....</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// setelah selesai tampilkan pesan</span>
			<span style="color: #666666; font-style: italic;">// disinilah kunci dari tutorial ini, </span>
			<span style="color: #666666; font-style: italic;">// menggunakan header 302 Found, </span>
			<span style="color: #666666; font-style: italic;">// dilanjutkan dengan header Location</span>
			<span style="color: #666666; font-style: italic;">// hal ini berarti meminta browser untuk menuju ke halaman yang dituju</span>
			<span style="color: #666666; font-style: italic;">// namun, request ini akan dilakukan dengan menggunakan HTTP GET</span>
			<span style="color: #666666; font-style: italic;">// hal ini bertujuan untuk mencegah POST berulang ulang, apabila</span>
			<span style="color: #666666; font-style: italic;">// user melakukan refresh atau reload pada browser nya</span>
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.1 302 Found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: prg-hasil.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Silakan jalankan dan setelah menampilkan pesan hasil form, lakukan refresh. Form tidak akan dikirim ulang. Hal ini dikarenakan terutama pada 2 baris</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.1 302 Found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: prg-hasil.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>yang mana mengirimkan Header HTTP dengan response code 302, yang berarti bahwa halaman ini ada namun bukan disini, namun ada di file <code>prg-hasil.php</code>. Dengan demikian, browser akan menuju halaman yang diberikan disini, namun tanpa membawa form yang tadi disubmit. Teknik ini dikenal dengan nama Post/Redirect/Get.</p>
<p>Dengan demikian, bisa mengatasi masalah double submit POST. Sekedar tambahan, komunikasi antara file yang satu dan lainnya bisa menggunakan session, cookie, atau media lainnya, termasuk database.</p>
<p>Berikut adalah ilustrasi yang melukiskan masalah dan solusi dari double POST ini. Gambar diambil dari <a href="http://en.wikipedia.org/wiki/Post/Redirect/Get">Wikipedia</a>.</p>
<p><a href="http://www.konglie.web.id/wp-content/uploads/2013/05/PostRedirectGet_DoubleSubmitProblem.png"><img src="http://www.konglie.web.id/wp-content/uploads/2013/05/PostRedirectGet_DoubleSubmitProblem.png" alt="" title="PostRedirectGet Double Submit Problem" width="691" height="368" class="aligncenter size-full wp-image-330" /></a></p>
<p><a href="http://www.konglie.web.id/wp-content/uploads/2013/05/PostRedirectGet_DoubleSubmitSolution.png"><img src="http://www.konglie.web.id/wp-content/uploads/2013/05/PostRedirectGet_DoubleSubmitSolution.png" alt="" title="PostRedirectGet Double Submit Solution" width="653" height="534" class="aligncenter size-full wp-image-341" /></a></p>
<p>Demikian, semoga tulisan ini berguna untuk kita semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2013/05/14/cegah-double-post-dengan-http-postredirectget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Transaction Query</title>
		<link>http://www.konglie.web.id/2013/05/09/mysql-transaction-query/</link>
		<comments>http://www.konglie.web.id/2013/05/09/mysql-transaction-query/#comments</comments>
		<pubDate>Thu, 09 May 2013 08:57:39 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[transaction]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=322</guid>
		<description><![CDATA[Dalam SQL terkadang kita membutuhkan untuk menjalankan lebih dari 1 query untuk mendapatkan hasil tertentu. Dimana beberapa query ini adalah menjadi 1 kebutuhan. Contohnya, dalam proses transfer saldo dari rekening A ke rekening B. Proses transfer ini melibatkan paling tidak &#8230; <a href="http://www.konglie.web.id/2013/05/09/mysql-transaction-query/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dalam SQL terkadang kita membutuhkan untuk menjalankan lebih dari 1 query untuk mendapatkan hasil tertentu. Dimana beberapa query ini adalah menjadi 1 kebutuhan. Contohnya, dalam proses transfer saldo dari rekening A ke rekening B. Proses transfer ini melibatkan paling tidak 2 buah query, yaitu query pertama mengurangi jumlah saldo A dan query kedua menambahkan saldo rekening B.<br />
<span id="more-322"></span><br />
Hal seperti ini disebut sebagai atomic transaction, atomic berarti bagian terkecil yang sudah tidak dapat dipisahkan lagi. 2 buah query yang dibutuhkan untuk proses pemindahan saldo itu harus berjalan secara menyeluruh, bayangkan ketika proses pemotongan saldo A berhasil, namun penambahan saldo B gagal, pasti si A marah besar, <em>hehehe</em>&#8230;.</p>
<p>Secara gampangnya, saldo A harus terpotong apabila saldo B berhasil ditambahkan, atau query pertama akan disimpan apabila query kedua (dan seterusnya) berhasil. Jika tidak, maka perubahan yang terjadi harus dibatalkan. Perubahan disini bukan berarti menambahkan kembali ke rekening A, melainkan membatalkan perubahan yang ada.</p>
<p>Query untuk menjalankan hal ini disebut sebagai TRANSACTION. Hasil dari Transaction ini akan disimpan bila seluruh query yang terlibat berhasil dijalankan. di MySQL, Transaction harus dimulai dengan query BEGIN, kemudian diakhiri dengan COMMIT apabila ingin menyimpan perubahan, dan ROLLBACK apabila ingin membatalkan perubahan yang terjadi setelah BEGIN tadi.</p>
<p>Contoh penerapan dalam MySQL (dan juga database SQL standard lainnya) adalah berikut</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">DESC</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+-------------+------+-----+---------+----------------+</span>
<span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">FIELD</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">TYPE</span>        <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #66cc66;">|</span> Extra          <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+-------------+------+-----+---------+----------------+</span>
<span style="color: #66cc66;">|</span> id    <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span> PRI <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> name  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">40</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">|</span> YES  <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>                <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #66cc66;">|</span> YES  <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>                <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+-------------+------+-----+---------+----------------+</span>
<span style="color: #cc66cc;">3</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">BEGIN</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.01</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> customer <span style="color: #993333; font-weight: bold;">SET</span> saldo <span style="color: #66cc66;">=</span> saldo <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">20</span> <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">ROW</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">ROWS</span> matched: <span style="color: #cc66cc;">1</span>  Changed: <span style="color: #cc66cc;">1</span>  Warnings: <span style="color: #cc66cc;">0</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">80</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">ROLLBACK</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.10</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Contoh query diatas memberikan gambaran ketika saldo customer 1 diubah, namun kemudian dilakukan perintah ROLLBACK. Data yang ada akan dikembalikan sama seperti keadaan sebelum BEGIN. </p>
<p>Berikut contoh penerapan COMMIT.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.01</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">BEGIN</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> customer <span style="color: #993333; font-weight: bold;">SET</span> saldo <span style="color: #66cc66;">=</span> saldo <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">30</span> <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">ROW</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">ROWS</span> matched: <span style="color: #cc66cc;">1</span>  Changed: <span style="color: #cc66cc;">1</span>  Warnings: <span style="color: #cc66cc;">0</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">70</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> COMMIT;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.05</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">70</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">BEGIN</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> customer <span style="color: #993333; font-weight: bold;">SET</span> saldo <span style="color: #66cc66;">=</span> saldo <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">20</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.01</span> sec<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">ROWS</span> matched: <span style="color: #cc66cc;">2</span>  Changed: <span style="color: #cc66cc;">2</span>  Warnings: <span style="color: #cc66cc;">0</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">80</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">ROLLBACK</span>;
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">ROWS</span> affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.18</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> name       <span style="color: #66cc66;">|</span> saldo <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> John Doe   <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">70</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> Will Smith <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+-------+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Pada tampilan diatas,apa yang terjadi adalah<br />
1. Saldo awal adalah 100<br />
2. BEGIN, kita mulai SQL Transaction<br />
3. Kita kurangi saldo customer dengan 1 sebanyak 30<br />
4. Saldo customer 1 adalah 70<br />
5. COMMIT, simpan perubahan secara permanen<br />
6. Saldo customer 1 adalah 70, setelah commit secara permanen<br />
7. BEGIN, kita mulai SQL Transaction kedua<br />
8. Kurangi kembali saldo customer 1 sebanyak 20<br />
9. Lihat bahwa saldo customer 1 adalah 50, yang mana adalah benar 70 &#8211; 20 = 50;<br />
10. kita lakukan ROLLBACK, batalkan seluruh perubahan setelah BEGIN<br />
11. Saldo customer 1 kembali menjadi 70.</p>
<p>Demikian tulisan sederhana ini, semoga bermanfaat bagi kita semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2013/05/09/mysql-transaction-query/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Membangun Android Web Application dengan WebView</title>
		<link>http://www.konglie.web.id/2013/05/06/membangun-android-web-application-dengan-webview/</link>
		<comments>http://www.konglie.web.id/2013/05/06/membangun-android-web-application-dengan-webview/#comments</comments>
		<pubDate>Mon, 06 May 2013 04:49:25 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jquerymobile]]></category>
		<category><![CDATA[pengalaman]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[webview]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=316</guid>
		<description><![CDATA[Sudah lama tidak post di blog ini. Karena kemarin memang sedang sibuk skripsi dan juga tuntutan pekerjaan yang tidak ada habisnya. Kangen juga ngetik di blog ini. Kebetulan kemarin sempat diundang sebagai pembicara di salah satu komunitas pemrograman kampus, membahas &#8230; <a href="http://www.konglie.web.id/2013/05/06/membangun-android-web-application-dengan-webview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sudah lama tidak post di blog ini. Karena kemarin memang sedang sibuk skripsi dan juga tuntutan pekerjaan yang tidak ada habisnya.<br />
Kangen juga ngetik di blog ini. Kebetulan kemarin sempat diundang sebagai pembicara di salah satu komunitas pemrograman kampus, membahas mengenai DroidMyAdmin, yang juga adalah materi skripsi saya.<br />
<span id="more-316"></span><br />
Any way, post kali ini bukan untuk membahas hal itu, namun saya ingin memberikan sedikit screencasting mengenai membuat Web Application di Android dengan mudah, hanya dengan sebuah webview saja. Silakan disimak.</p>
<p><iframe width="655" height="408" src="http://www.youtube.com/embed/QRa4yMjoI7c?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Semoga bermanfaat untuk kita semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2013/05/06/membangun-android-web-application-dengan-webview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(My)SQL Query untuk mengambil row sebagai kolom</title>
		<link>http://www.konglie.web.id/2012/12/18/my-sql-query-untuk-mengambil-row-sebagai-kolom/</link>
		<comments>http://www.konglie.web.id/2012/12/18/my-sql-query-untuk-mengambil-row-sebagai-kolom/#comments</comments>
		<pubDate>Tue, 18 Dec 2012 04:19:51 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pivot]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=301</guid>
		<description><![CDATA[Jadi ceritanya ada sahabat membutuhkan penampilan laporan untuk aplikasi yang sedang dia buat dengan menampilkan jumlah item sesuai dengan jenis item akan tetapi dihitung per user per item tersebut. Item disini hanya ada 2 saja, jadinya memudahkan penyusunan kata-kata indah &#8230; <a href="http://www.konglie.web.id/2012/12/18/my-sql-query-untuk-mengambil-row-sebagai-kolom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jadi ceritanya ada sahabat membutuhkan penampilan laporan untuk aplikasi yang sedang dia buat dengan menampilkan jumlah item sesuai dengan jenis item akan tetapi dihitung per user per item tersebut. Item disini hanya ada 2 saja, jadinya memudahkan penyusunan kata-kata indah SQL nya. Langsung saja ke TKP.<br />
<span id="more-301"></span></p>
<p>Struktur table (saya buat mirip dengan table asli di aplikasi tersebut).</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql<span style="color: #66cc66;">&gt;</span>desc my_table;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+---------+------+-----+---------+-------+</span>
<span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">FIELD</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">TYPE</span>    <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #66cc66;">|</span> Extra <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+---------+------+-----+---------+-------+</span>
<span style="color: #66cc66;">|</span> id    <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">|</span> YES  <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>       <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> item  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">|</span> YES  <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>       <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">-------+---------+------+-----+---------+-------+</span></pre></div></div>

<p>data yang ada adalah sebagai berikut</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> my_table;
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+</span>
<span style="color: #66cc66;">|</span> id   <span style="color: #66cc66;">|</span> item <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+</span>
<span style="color: #cc66cc;">22</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Data yang diinginkan adalah</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span>
<span style="color: #66cc66;">|</span> id   <span style="color: #66cc66;">|</span> jumlah_item_100 <span style="color: #66cc66;">|</span> jumlah_item_500 <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span></pre></div></div>

<p>Mari kita kerjakan.</p>
<p>Pertama kita butuh menghitung jumlah item untuk masing-masing item dan masing-masing user (id).</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>
        id<span style="color: #66cc66;">,</span>
        item<span style="color: #66cc66;">,</span>
        <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> n
<span style="color: #993333; font-weight: bold;">FROM</span> my_table
<span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span></pre></div></div>

<p>Hasilnya</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+---+</span>
<span style="color: #66cc66;">|</span> id   <span style="color: #66cc66;">|</span> item <span style="color: #66cc66;">|</span> n <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+---+</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>  <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+------+---+</span></pre></div></div>

<p>Disini kita sudah bisa melihat jumlah user dan jumlah item yang ada (diindikasikan oleh <code>n</code>). Kita perlu menyederhanakannya lebih lanjut. Agar field <code>id</code> ditampilkan secara unique (atau DISTINCT), hanya saja kita tidak dapat menggunakan query distinct karena kita butuh semua <code>id</code> yang tersedia. Caranya adalah dengan memisahkan kedua <code>item</code> menjadi field atau column.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>
        id<span style="color: #66cc66;">,</span>
        <span style="color: #993333; font-weight: bold;">CASE</span> item
                <span style="color: #993333; font-weight: bold;">WHEN</span> <span style="color: #cc66cc;">100</span> <span style="color: #993333; font-weight: bold;">THEN</span> n
                <span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span>
        <span style="color: #993333; font-weight: bold;">END</span> <span style="color: #993333; font-weight: bold;">AS</span> item100<span style="color: #66cc66;">,</span>
        <span style="color: #993333; font-weight: bold;">CASE</span> item
                <span style="color: #993333; font-weight: bold;">WHEN</span> <span style="color: #cc66cc;">500</span> <span style="color: #993333; font-weight: bold;">THEN</span> n
                <span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span>
        <span style="color: #993333; font-weight: bold;">END</span> <span style="color: #993333; font-weight: bold;">AS</span> item500
<span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
        <span style="color: #993333; font-weight: bold;">SELECT</span>
                id<span style="color: #66cc66;">,</span>
                item<span style="color: #66cc66;">,</span>
                <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> n
        <span style="color: #993333; font-weight: bold;">FROM</span>
                my_table
        <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span>
        <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> p</pre></div></div>

<p>Hasilnya,</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+---------+---------+</span>
<span style="color: #66cc66;">|</span> id   <span style="color: #66cc66;">|</span> item100 <span style="color: #66cc66;">|</span> item500 <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+---------+---------+</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>       <span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+---------+---------+</span></pre></div></div>

<p>Sudah semakin terlihat jelas bukan? Langkah terakhir adalah menghilangkan baris yang tidak perlu, yaitu baris dimana item yang berisi 0 tidak perlu ditampilkan. Algoritma yang digunakan salah satunya adalah sebagai berikut</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Ambil semua baris, jumlah semua item per id. Pada hasil diatas, misalnya kita ambil id 1, maka jumlah untuk item100 adalah 5 + 0 = 5, dan jumlah untuk item500 adalah 0 + 4 = 4, dengan demikian penjumlah total tidak akan mengubah nilai, dikarenakan pada satu baris hanya satu field item saja yang memiliki nilai, dan lainnya adalah 0. Untuk penjumlahan, SQL query (MySQL atau semua database server pada umumnya) memiliki fungsi SUM()</pre></div></div>

<p>Jadi, querynya adalah</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>
        id<span style="color: #66cc66;">,</span>
        <span style="color: #993333; font-weight: bold;">SUM</span><span style="color: #66cc66;">&#40;</span>item100<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> jumlah_item_100<span style="color: #66cc66;">,</span>
        <span style="color: #993333; font-weight: bold;">SUM</span><span style="color: #66cc66;">&#40;</span>item500<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> jumlah_item_500
<span style="color: #993333; font-weight: bold;">FROM</span>
<span style="color: #66cc66;">&#40;</span>
        <span style="color: #993333; font-weight: bold;">SELECT</span>
                id<span style="color: #66cc66;">,</span>
                <span style="color: #993333; font-weight: bold;">CASE</span> item
                        <span style="color: #993333; font-weight: bold;">WHEN</span> <span style="color: #cc66cc;">100</span> <span style="color: #993333; font-weight: bold;">THEN</span> n
                        <span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span>
                <span style="color: #993333; font-weight: bold;">END</span> <span style="color: #993333; font-weight: bold;">AS</span> item100<span style="color: #66cc66;">,</span>
                <span style="color: #993333; font-weight: bold;">CASE</span> item
                        <span style="color: #993333; font-weight: bold;">WHEN</span> <span style="color: #cc66cc;">500</span> <span style="color: #993333; font-weight: bold;">THEN</span> n
                        <span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span>
                <span style="color: #993333; font-weight: bold;">END</span> <span style="color: #993333; font-weight: bold;">AS</span> item500
        <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
                <span style="color: #993333; font-weight: bold;">SELECT</span>
                        id<span style="color: #66cc66;">,</span>
                        item<span style="color: #66cc66;">,</span>
                        <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> n
                <span style="color: #993333; font-weight: bold;">FROM</span>
                        my_table
                <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span>
                <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> p
<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> y
<span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> id;</pre></div></div>

<p>Hasil akhirnya adalah</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span>
<span style="color: #66cc66;">|</span> id   <span style="color: #66cc66;">|</span> jumlah_item_100 <span style="color: #66cc66;">|</span> jumlah_item_500 <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>               <span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">------+-----------------+-----------------+</span></pre></div></div>

<p>Semoga postingan blog ini dapat memberi manfaat untuk kita semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/12/18/my-sql-query-untuk-mengambil-row-sebagai-kolom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS Gratis di Android via Internet</title>
		<link>http://www.konglie.web.id/2012/05/01/sms-gratis-di-android-via-internet/</link>
		<comments>http://www.konglie.web.id/2012/05/01/sms-gratis-di-android-via-internet/#comments</comments>
		<pubDate>Tue, 01 May 2012 14:04:47 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pengalaman]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=287</guid>
		<description><![CDATA[Kemaren lihat di salah satu forum yang saya ikuti, ada yang post mengenai website SMS Gateway yang dia buat. Lumayan juga bisa kirim SMS gratis dari web. Bahkan si pembuat juga menyediakan halaman khusus apabila diakses via mobile (handphone), yang &#8230; <a href="http://www.konglie.web.id/2012/05/01/sms-gratis-di-android-via-internet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img alt="ikon aplikasi unOFFSG, aplikasi Android untuk mengirim SMS Gratis" src="http://konglie.16mb.com/usmsg/usmsgicon.png" title="unOFFSG Icon" class="alignnone" width="256" height="256" class="postThumb wp-post-image" align="left"/>Kemaren lihat di salah satu forum yang saya ikuti, ada yang post mengenai website SMS Gateway yang dia buat. Lumayan juga bisa kirim SMS gratis dari web. Bahkan si pembuat juga menyediakan halaman khusus apabila diakses via mobile (handphone), yang mana akan menampilkan versi yang (lebih) sederhana dibandingkan apabila dibuka via komputer/desktop.</p>
<p>Saya sendiri setelah mengetahui adanya layanan tersebut, lumayan sering memanfaatkan servis yang diberikan untuk mengirimkan SMS secara gratis (tentunya, hehehe&#8230;) Lumayan, tinggal buka dari opera mini, dengan internet yang sudah langganan unlimited, atau bahkan Wifi kantor yang bener-bener free, bisa menghemat beberapa ratus rupiah untuk mengirim SMS ke nomer-nomer yang gak terlalu wajib menggunakan nomer handphone saya sendiri.<span id="more-287"></span></p>
<p>Nah, masalahnya setelah penggunaan beberapa kali, terpikir repot juga ya, setiap kali mau kirim SMS (gratis) ini harus masuk dulu ke websitenya, loading-nya kan lumayan memakan waktu. Akhirnya terpikir untuk membuat sebuah thin-client sederhana agar dapat menggunakan SMS gratis tersebut. Dari handphone juga sih, hanya saja saat ini baru terbatas untuk Sistem Operasi Android, minimal Android 2.1</p>
<p>Aplikasi-nya sendiri saya sebut sebagai beta, karena aplikasi tersebut dapat berjalan atau tidak semuanya tergantung kepada provider SMS Gratis tersebut, bisa saja sewaktu-waktu layanan SMS Gratis berubah alamat, atau bahkan dimatikan secara total (mudah-mudahan tidak). Aplikasi ini murni hanya sebagai jembatan saja, antara handphone dan server si penyedia layanan. Tampilan aplikasi juga teramat sangat sederhana, hanya form input nomer tujuan dan juga pesan yang ingin dikirimkan. Itu saja.</p>
<p>Berminat, silakan download <a href="http://goo.gl/h1E7P">disini</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/05/01/sms-gratis-di-android-via-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Membuat Tampilan Jadwal sesuai dengan durasi</title>
		<link>http://www.konglie.web.id/2012/04/10/membuat-tampilan-jadwal-sesuai-dengan-durasi/</link>
		<comments>http://www.konglie.web.id/2012/04/10/membuat-tampilan-jadwal-sesuai-dengan-durasi/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 07:37:49 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[auto-width]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[schedule-display]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=282</guid>
		<description><![CDATA[Berikut source codenya, &#60;?php global $schedules, $start, $leap, $duration, $leapWidth; &#160; $start = '00:00'; // waktu kolom pertama $leap = 60; // jumlah menit antar kolom $duration = 60 * 24; //jumlah menit total = 24 jam $leapWidth = 120; &#8230; <a href="http://www.konglie.web.id/2012/04/10/membuat-tampilan-jadwal-sesuai-dengan-durasi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Berikut source codenya, <span id="more-282"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$schedules</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leap</span><span style="color: #339933;">,</span> <span style="color: #000088;">$duration</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leapWidth</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'00:00'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// waktu kolom pertama</span>
<span style="color: #000088;">$leap</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// jumlah menit antar kolom</span>
<span style="color: #000088;">$duration</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//jumlah menit total = 24 jam</span>
<span style="color: #000088;">$leapWidth</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">120</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// pixel, lebar per kolom waktu</span>
<span style="color: #000088;">$totalWidth</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$leapWidth</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$duration</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$leap</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// format data, diasumsikan sudah jadi, tentunya data ini bisa diambil dari db atau apapun itu</span>
<span style="color: #000088;">$schedules</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	<span style="color: #0000ff;">'stasiun 1'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'120'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'180'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'90'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #0000ff;">'stasiun 2'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'120'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'180'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'duration'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'60'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Programme Name'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'whatever...'</span>
		<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> displayTime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leapOver</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hplus</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$leapOver</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mplus</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$leapOver</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$hplus</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%02d</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$hplus</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%02d</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$mplus</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$h</span>:<span style="color: #006699; font-weight: bold;">$m</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> renderHeaderCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leap</span><span style="color: #339933;">,</span> <span style="color: #000088;">$duration</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leapWidth</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$cells</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$column</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$currentTime</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$cells</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;div class='slotHeader' style='width:<span style="color: #006699; font-weight: bold;">{$leapWidth}</span>px'&gt;&amp;nbsp;&lt;/div&gt;&quot;</span><span style="color: #339933;">;</span>		
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$currentTime</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$duration</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>	
		<span style="color: #000088;">$cells</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;div class='slotHeader' style='width:<span style="color: #006699; font-weight: bold;">{$leapWidth}</span>px'&gt;&quot;</span> <span style="color: #339933;">.</span> displayTime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$currentTime</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&lt;/div&gt;&quot;</span><span style="color: #339933;">;</span>		
		<span style="color: #000088;">$currentTime</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$leap</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$cells</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/tr&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$cells</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> renderSchedule<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$schedules</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leap</span><span style="color: #339933;">,</span> <span style="color: #000088;">$duration</span><span style="color: #339933;">,</span> <span style="color: #000088;">$leapWidth</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$rows</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$colspan</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$duration</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$leap</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$schedules</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$channel</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$detail</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$rows</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;tr&gt;&lt;td&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$rows</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;div class='show' style='width:<span style="color: #006699; font-weight: bold;">{$leapWidth}</span>px'&gt;<span style="color: #006699; font-weight: bold;">$channel</span>&lt;/div&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$totDur</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$oneDay</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">24</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// jumlah menit dalam satu hari</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$detail</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$show</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$dur</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$show</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'duration'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$show</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$desc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$show</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$totDur</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$dur</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$totDur</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$oneDay</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// terserah mau ngapain disini, validasi aja</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #000088;">$columnWidth</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dur</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$leap</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$leapWidth</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$rows</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;div class='show' style='width:<span style="color: #006699; font-weight: bold;">{$columnWidth}</span>px' title='<span style="color: #006699; font-weight: bold;">$desc</span>'&gt;<span style="color: #006699; font-weight: bold;">$title</span> <span style="color: #006699; font-weight: bold;">$dur</span>&lt;/div&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000088;">$rows</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/td&gt;&lt;/tr&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$rows</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;time table&lt;/title&gt;
	&lt;style type='text/css'&gt;
	.slotHeader
	{
		position: relative;
		float: left;
		background-color: #000;
		color: #FFF;
		border: solid 1px;
	}
&nbsp;
	.show
	{
		position: relative;
		float: left;
		border: solid 1px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		-o-border-radius: 5px;
		-ms-border-radius: 5px;
		border-radius: 5px;
		background-color: #DDD;
		height: 60px;
	}
&nbsp;
	#headerCellWrapper
	{
		position: relative;
		/*60 ini angka asal aja, yang penting cukup untuk kelebihan space akibat border kiri-kanan*/
		width: <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$totalWidth</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>px; 
	}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;table border=1&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;div id='headerCellWrapper'&gt;
					<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> renderHeaderCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
				&lt;/div&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> renderSchedule<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/04/10/membuat-tampilan-jadwal-sesuai-dengan-durasi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konversi Basis Angka</title>
		<link>http://www.konglie.web.id/2012/03/24/konversi-basis-angka/</link>
		<comments>http://www.konglie.web.id/2012/03/24/konversi-basis-angka/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 04:41:08 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[base converter]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[konversi basis angka]]></category>
		<category><![CDATA[radix]]></category>
		<category><![CDATA[radix converter]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=272</guid>
		<description><![CDATA[Salah satu mata kuliah di periode ini adalah Sistem Digital. Dan materi pembukanya adalah mengenai basis angka, dengan kuliah pembuka yang begitu &#8220;wah&#8221;, karena tanpa basa basi langsung mendapat tugas yang soalnya gak banyak, hanya 4 soal, tapi diharuskan menulis &#8230; <a href="http://www.konglie.web.id/2012/03/24/konversi-basis-angka/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Salah satu mata kuliah di periode ini adalah Sistem Digital. Dan materi pembukanya adalah mengenai basis angka, dengan kuliah pembuka yang begitu &#8220;wah&#8221;, karena tanpa basa basi langsung mendapat tugas yang soalnya gak banyak, hanya 4 soal, tapi diharuskan menulis di kertas folio bergaris, dan ternyata 1 halaman bolak balik kertas folio tersebut full.<span id="more-272"></span></p>
<p>Tugas yang dimaksud adalah (jangan basa basi, langsung aja ke <a href="#baseconverter">aplikasi</a>) melakukan konversi basis angka dari basis yang satu ke basis lainnya, lebih detail, adalah konversi basis 16 (hexadecimal) ke basis 2 (binary), basis 8 (octal), basis 5 (quinary), dan basis 7 (septenary). Meskipun sebenarnya, konversi tersebut bukanlah hal yang susah secara teori, namun apabila melibatkan angka-angka yang begitu banyak (banyak dalam arti jumlah digit), apalagi desimal (desimal dalam arti jumlah angka di belakang koma), lumayan membuat jari keriting.</p>
<p>Dan tentunya, sang Dosen dengan begitu cerdasnya membuat mahasiswanya gak berkutik, karena dalam tugas tersebut diharuskan membuat langkah-langkah konversi sehingga didapat hasil akhirnya. <em>Oh Dear</em>, seandainya saja hanya hasil yang dibutuhkan, kalkulator sudah siap sedia.</p>
<p>Obok-obok internet, kebanyakan hanya memberikan fungsi konversi saja, tidak disertakan step by step konversinya. Contohnya <a href="http://www.tinytools.nu/RadixConverter/">yang ini</a> (lengkap dengan istilah basis angka-nya). Maka, dengan bantuan penjelasan algoritma dari sahabat, Fahri Aje (<a href="http://daffari.multiply.com">http://daffari.multiply.com</a>), akhirnya saya berinisiatif membuat sebuah aplikasi kecil (ada setelah ini), untuk menghitung konversi angka, dan juga membuat step by step konversinya.</p>
<p><a id='baseconverter'>Enjoy!</a></p>
<p><iframe src="/tutorial/baseconverter/" width="100%" height="800px"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/03/24/konversi-basis-angka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slideshow (sangat) Sederhana</title>
		<link>http://www.konglie.web.id/2012/02/18/slideshow-sangat-sederhana/</link>
		<comments>http://www.konglie.web.id/2012/02/18/slideshow-sangat-sederhana/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 07:31:32 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=236</guid>
		<description><![CDATA[Banyak sekali plugin jQuery untuk membuat slideshow dengan animasi yang terbilang &#8220;wah&#8221;. Tetapi adakalanya, misalnya saya sendiri kemarin, membutuhkan animasi untuk slideshow yang ringan, dan (sangat) sederhana. Tentu saja, plugin yang &#8220;wah&#8221; untuk jQuery yang bertebaran di internet tersebut juga &#8230; <a href="http://www.konglie.web.id/2012/02/18/slideshow-sangat-sederhana/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Banyak sekali plugin jQuery untuk membuat slideshow dengan animasi yang terbilang &#8220;wah&#8221;. Tetapi adakalanya, misalnya saya sendiri kemarin, membutuhkan animasi untuk slideshow yang ringan, dan (sangat) sederhana. Tentu saja, plugin yang &#8220;wah&#8221; untuk jQuery yang bertebaran di internet tersebut juga menyediakan opsi untuk hanya menggunakan animasi yang sederhana, tapi dalam kasus yang saya alami, saya harus membuat animasi tersebut dengan script yang sependek-pendeknya.<span id="more-236"></span></p>
<p>Berikut yang saya lakukan, untuk HTML, sederhana saja, hanya buat sebuah div sebagai container untuk gambar-gambar yang akan dijadikan sebagai slideshow. Slideshow nantinya hanya berupa animasi fading-out (gambar memudar) dan bergantian untuk setiap gambarnya, dengan durasi tampil sekian detik.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Animasi sangat sederhana<span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>style type<span style="color: #339933;">=</span><span style="color: #3366CC;">'text/css'</span><span style="color: #339933;">&gt;</span>
	#slideshow img
	<span style="color: #009900;">&#123;</span>
		position<span style="color: #339933;">:</span> absolute<span style="color: #339933;">;</span>
		left<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
		top<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">&lt;/</span>style<span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;!--</span>jquery<span style="color: #339933;">,</span> bisa didownload di jquery.<span style="color: #660066;">com</span>
	<span style="color: #006600; font-style: italic;">// atau ambil dari google CDN (seperti dibawah)--&gt;</span>
	<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">'text/javascript'</span>
		src<span style="color: #339933;">=</span><span style="color: #3366CC;">'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;!--</span>script animasi<span style="color: #339933;">--&gt;</span>
	<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">'text/javascript'</span><span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Fungsi yang menjadi inti dari script animasi ini</span>
	<span style="color: #003366; font-weight: bold;">function</span> simpleSlideshow<span style="color: #009900;">&#40;</span>slideContainer<span style="color: #339933;">,</span> duration<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">// gambar/foto yang akan dianimasikan</span>
		<span style="color: #006600; font-style: italic;">// adalah child (anak) pertama dari container yang digunakan</span>
		<span style="color: #003366; font-weight: bold;">var</span> currentSlide <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img:nth-child(1)'</span><span style="color: #339933;">,</span> slideContainer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// slide tersebut akan dimodifikasi sedemikian rupa</span>
		$<span style="color: #009900;">&#40;</span>currentSlide<span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
			opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span> <span style="color: #006600; font-style: italic;">// buat opacity-nya menjadi 0, sehingga tidak terlihat (transparan)</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #006600; font-style: italic;">// appendTo akan membuat anak pertama menjadi anak terakhir,</span>
		<span style="color: #006600; font-style: italic;">// sehingga akan berada dibagian paling depan.</span>
		<span style="color: #006600; font-style: italic;">// namun meskipun berada dipaling depan,</span>
		<span style="color: #006600; font-style: italic;">// tidak akan terlihat karena sudah transparan (step sebelumnya)</span>
		.<span style="color: #660066;">appendTo</span><span style="color: #009900;">&#40;</span>slideContainer<span style="color: #009900;">&#41;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// animasikan tingkat opacity menjadi 1 (FULL),</span>
		<span style="color: #006600; font-style: italic;">// sehingga pelan-pelan akan terlihat</span>
		.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
			opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'normal'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			setTimeout<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #006600; font-style: italic;">// fungsi akan dijalankan kembali</span>
				<span style="color: #006600; font-style: italic;">// setelah sekian detik sesuai dengan duration</span>
				<span style="color: #006600; font-style: italic;">// sehingga menampilkan efek animasi berulang-ulang</span>
				simpleSlideshow<span style="color: #009900;">&#40;</span>slideContainer<span style="color: #339933;">,</span> duration<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> duration<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// implementasi</span>
	<span style="color: #006600; font-style: italic;">// jalankan fungsi animasi ketika document sudah di-load (ready)</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> duration <span style="color: #339933;">=</span> <span style="color: #CC0000;">3000</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// millsecond		</span>
		<span style="color: #003366; font-weight: bold;">var</span> slideContainer <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slideshow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		simpleSlideshow<span style="color: #009900;">&#40;</span>slideContainer<span style="color: #339933;">,</span> duration<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">'slideshow'</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #3366CC;">'image1.jpg'</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #3366CC;">'image2.jpg'</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #3366CC;">'image3.jpg'</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #3366CC;">'image4.jpg'</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Untuk melihat demo-nya, silakan klik <a href="http://konglie.web.id/tutorial/simple-slideshow/">disini</a>.</p>
<p>Konsep dari animasi ini sangat sederhana, seperti yang tertulis sebagai <em>comment</em> pada script-nya. Kita hanya memainkan tingkat opacity dari masing-masing anak (dalam hal ini, adalah tag <img>). Dengan properti CSS, position absolute, left 0, dan top 0, akan membuat gambar-gambar tersebut menumpuk satu sama lainnya pada posisi yang sama pula. Dengan catatan, gambar-gambar yang digunakan harus memiliki panjang dan lebar yang sama, agar tidak ada yang terlihat terpotong oleh gambar lainnya.</p>
<p>Dengan posisi yang saling menumpuk tersebut, gambar yang berada diurutan paling belakang  (anak pertama, belakang disini dilihat dari sudut pandang sumbu Z, 3 Dimensi) tidak akan terlihat, karena tertutup oleh gambar yang diurutan paling depan. Animasi terjadi karena jquery memainkan tingkat opacity dari 0 (transparan) menjadi 1 (Fully Opaque). Dan, setiap kali fungsi dijalankan, anak pertama akan menjadi anak terakhir, anak kedua menjadi pertama, ketika menjadi kedua, dan seterusnya, dan fungsi diulang-ulang dengan <code>setTimeout()</code>, sehingga terbentuklah animasi slideshow yang (sangat) sederhana.</p>
<p>Demikian, semoga post ini dapat berguna bagi kita semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/02/18/slideshow-sangat-sederhana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just for some testing</title>
		<link>http://www.konglie.web.id/2012/02/14/just-for-some-testing/</link>
		<comments>http://www.konglie.web.id/2012/02/14/just-for-some-testing/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 09:10:04 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=234</guid>
		<description><![CDATA[Post ini hanya untuk testing comment via Facebook. Komentar wordpress terlalu banyak spam, dan kurang &#8220;social&#8221;.]]></description>
			<content:encoded><![CDATA[<p>Post ini hanya untuk testing comment via Facebook. Komentar wordpress terlalu banyak spam, dan kurang &#8220;social&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/02/14/just-for-some-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parse File Aiken (moodle)</title>
		<link>http://www.konglie.web.id/2012/02/03/parse-file-aiken-moodle/</link>
		<comments>http://www.konglie.web.id/2012/02/03/parse-file-aiken-moodle/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 16:54:09 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[aiken]]></category>
		<category><![CDATA[moodle]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=228</guid>
		<description><![CDATA[Script berikut berguna untuk melakukan parsing terhadap file (plain text) dengan format aiken yang digunakan oleh moodle. Diharapkan script ini dapat menangani kondisi dimana terdapat kata &#8220;ANSWER: &#8221; pada soal ataupun salah satu pilihan jawabannya. Script ini dibuat tanpa bermaksud &#8230; <a href="http://www.konglie.web.id/2012/02/03/parse-file-aiken-moodle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Script berikut berguna untuk melakukan parsing terhadap file (plain text) dengan format <a href="http://docs.moodle.org/22/en/Aiken_format">aiken</a> yang digunakan oleh moodle. Diharapkan script ini dapat menangani kondisi dimana terdapat kata &#8220;ANSWER: &#8221; pada soal ataupun salah satu pilihan jawabannya. Script ini dibuat tanpa bermaksud menyinggung siapapun, hanya ingin berbagi saja.<span id="more-228"></span></p>
<p>Contoh file aiken,</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">What is the correct answer to this question?
A. Is it this one?
B. Maybe this answer?
C. Possibly this one?
D. Must be this one!
ANSWER: D
&nbsp;
Which ANSWER: LMS has the most quiz import formats?
A) Moodle
B) ATutor
C) Claroline
D) Blackboard ANSWER:
E) WebCT
F) ANSWER: Ilias
ANSWER: A</pre></div></div>

<p>Script parser file aiken yang digunakan adalah</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/*
SOURCE: http://docs.moodle.org/22/en/Aiken_format
&nbsp;
a. The question must be all on one line.
b. Each answer must start with a single uppercase letter,
c. followed by a period '.' or a bracket ')', then a space.
d. The answer line must immediately follow, starting with &quot;ANSWER: &quot; (NOTE the space after the colon)
and then giving the appropriate letter.
&nbsp;
NOTE: script dibawah mengabaikan syarat b
*/</span>
<span style="color: #000000; font-weight: bold;">function</span> parseAikenFormat<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_readable</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$lines</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lines</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$question</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lines</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$line</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$line</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$start</span><span style="color: #009900;">&#41;</span>
                <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$question</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
                                <span style="color: #0000ff;">'question'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$line</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// syarat a</span>
                                <span style="color: #0000ff;">'options'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
                        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^ANSWER:\s{1}/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #009900;">&#123;</span>
                         <span style="color: #666666; font-style: italic;">//syarat d, starting with &quot;ANSWER: &quot;</span>
                        <span style="color: #000088;">$answer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^ANSWER:\s{1}/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$question</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'answer'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$answer</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$question</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span>
                <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$opt</span><span style="color: #339933;">,</span> <span style="color: #000088;">$optText</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$options</span><span style="color: #339933;">;</span>
                        <span style="color: #666666; font-style: italic;">// syarat c '.' atau ')'</span>
                        <span style="color: #000088;">$opt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\.|\)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$opt</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
                        <span style="color: #000088;">$question</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'options'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$opt</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$optText</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$aikenFile</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;aiken-example.txt&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$parsed</span> <span style="color: #339933;">=</span> parseAikenFormat<span style="color: #009900;">&#40;</span><span style="color: #000088;">$aikenFile</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parsed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Script ini hanya bertujuan untuk &#8220;membaca file aiken&#8221; dan menjadikannya format array php, hasil dari parsing tersebut harus diproses lebih lanjut, misalnya, ditampilkan, disimpan dalam database, atau lainnya. Demikian, semoga script ini dapat berguna.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/02/03/parse-file-aiken-moodle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
