<?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>Sat, 18 Feb 2012 07:31:32 +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>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>
		<item>
		<title>Loop, mari berulang-ulang</title>
		<link>http://www.konglie.web.id/2012/01/12/loop-mari-berulang-ulang/</link>
		<comments>http://www.konglie.web.id/2012/01/12/loop-mari-berulang-ulang/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 10:23:43 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[pengalaman]]></category>
		<category><![CDATA[users]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=223</guid>
		<description><![CDATA[Hari ini ada tugas membuat laporan statistik untuk akses website client per bulan Januari. Berhubung tools-nya baru sempat di-setup sekarang. Sebenarnya sudah siap sejak kemarin, sekarang hanya perlu meng-update statistik tersebut dari log file yang lama, dari tanggal 1 sampai &#8230; <a href="http://www.konglie.web.id/2012/01/12/loop-mari-berulang-ulang/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hari ini ada tugas membuat laporan statistik untuk akses website client per bulan Januari. Berhubung tools-nya baru sempat di-setup sekarang. Sebenarnya sudah siap sejak kemarin, sekarang hanya perlu meng-update statistik tersebut dari log file yang lama, dari tanggal 1 sampai dengan 9 januari 2012.<span id="more-223"></span></p>
<p>Post blog ini sebenarnya tidak ada tutorial apapun, hanya ingin menulis saja. Ada salah satu client yang menggunakan clustering servers, dengan beberapa server yang bersama-sama menjadi web server untuk beberapa website. 4 server tepatnya. Dan ada 8 site/user yang harus diupdate statistiknya (hanya untuk client kantor yang ini), data yang harus diupdate 9 hari.</p>
<p>Loop dibawah menyelesaikan 9 x 8 x 4 proses. Well, bukan hal yang susah, statistik menggunakan awstats, dan log file ditransfer dengan scp. Script dibawah sudah siap mem-parsing file-file archive dari log yang lama</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #000000;">1</span>..<span style="color: #000000;">9</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">for</span> j <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> site<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
                <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$j</span><span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>;
&nbsp;
                <span style="color: #000000; font-weight: bold;">for</span> k <span style="color: #000000; font-weight: bold;">in</span> ws1 ws2 ws3 ws4; <span style="color: #000000; font-weight: bold;">do</span>
                        <span style="color: #007800;">F</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${k}</span>_2012010<span style="color: #007800;">$i</span>.bz2&quot;</span>;
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span> <span style="color: #007800;">$k</span> <span style="color: #007800;">$F</span>;
                        <span style="color: #c20cb9; font-weight: bold;">cp</span> tmp<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$F</span> .<span style="color: #000000; font-weight: bold;">/</span>
                        <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xjf</span> <span style="color: #007800;">$F</span>;
                        <span style="color: #000000; font-weight: bold;">for</span> l <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">*</span>-<span style="color: #000000;">201201</span><span style="color: #007800;">$i</span>.daylog<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
                                <span style="color: #007800;">NF</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$l</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">&quot;s/.daylog/-<span style="color: #007800;">${k}</span>.daylog/g&quot;</span><span style="color: #000000; font-weight: bold;">`</span>;
                                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$l</span> <span style="color: #007800;">$NF</span>;
                        <span style="color: #000000; font-weight: bold;">done</span>;
                <span style="color: #000000; font-weight: bold;">done</span>;
                <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>user<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>theawstatscript <span style="color: #007800;">$j</span>;
&nbsp;
                <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>user;
        <span style="color: #000000; font-weight: bold;">done</span>;
<span style="color: #000000; font-weight: bold;">done</span>;</pre></div></div>

<p>Hanya ingin menulis saja.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/01/12/loop-mari-berulang-ulang/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SCD, raw translation</title>
		<link>http://www.konglie.web.id/2012/01/05/scd-raw-translation/</link>
		<comments>http://www.konglie.web.id/2012/01/05/scd-raw-translation/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 16:52:10 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>

		<guid isPermaLink="false">http://www.konglie.web.id/?p=218</guid>
		<description><![CDATA[Tugas DATA WAREHOUSE]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-219" href="http://www.konglie.web.id/2012/01/05/scd-raw-translation/tugas-data-warehouse/">Tugas DATA WAREHOUSE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2012/01/05/scd-raw-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Membuat Deretan Abjad dengan loop</title>
		<link>http://www.konglie.web.id/2011/11/15/membuat-deretan-abjad-dengan-loop/</link>
		<comments>http://www.konglie.web.id/2011/11/15/membuat-deretan-abjad-dengan-loop/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 15:26:32 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[deretan abjad]]></category>
		<category><![CDATA[deretan huruf]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript while]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://konglie.web.id/?p=211</guid>
		<description><![CDATA[Dalam pemrograman, loop atau perulangan tentunya menjadi sesuatu yang boleh dikatakan pasti akan ditemui setiap kali seorang programmer melakukan coding. Bagaimana tidak, tentunya programmer tidak ingin mengetik berulang-ulang setiap pernyataan yang sekiranya bisa diulang, bisa dikarenakan efisiensi, atau bisa juga &#8230; <a href="http://www.konglie.web.id/2011/11/15/membuat-deretan-abjad-dengan-loop/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dalam pemrograman, loop atau perulangan tentunya menjadi sesuatu yang boleh dikatakan pasti akan ditemui setiap kali seorang programmer melakukan coding. Bagaimana tidak, tentunya programmer tidak ingin mengetik berulang-ulang setiap pernyataan yang sekiranya bisa diulang, bisa dikarenakan efisiensi, atau bisa juga dikarena memang harus di-ulang, misalnya, menampilkan isi dari sebuah table dari database hingga benar-benar habis.<br />
<span id="more-211"></span><br />
Misalnya saja, cetak output sebagai berikut ini</p>

<div class="wp_syntax"><div class="code"><pre class="plain" style="font-family:monospace;">ini adalah angka 1
ini adalah angka 2
ini adalah angka 3
.
.
.
ini adalah angka 1000</pre></div></div>

<p>Rasanya jika harus mengetik 1000 kali, akan sangat merepotkan dan tidak efisien. Hal tersebut dapat dengan mudah dilakukan, misalnya dalam syntax PHP</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: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">1000</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;ini adalah angka <span style="color: #006699; font-weight: bold;">$i</span>&lt;br&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Selesai urusannya, jangankan 1000, 100000000000 kali pun tidak menjadi masalah, hehehe, asalkan processornya kuat saja.</p>
<p>Itu jika angka, mudah saja perulangan dengan incremental, bagaimana dengan huruf/abjad? Misalnya, buat output:</p>

<div class="wp_syntax"><div class="code"><pre class="plain" style="font-family:monospace;">ini huruf a
ini huruf b
.
.
.
ini huruf z</pre></div></div>

<p>Gak banyak, cuma 26 baris saja. Tapi tetap saja, jari-jari bisa keriting buang-buang tenaga hanya untuk mengetikkan code tersebut. Dan juga bagaimana jika harus membuat urutan, bukan dengan angka, tetapi huruf/abjad. Misalnya, tadi sudah sampai <code>h</code>, maka sekarang harus <code>i</code>. Bagaimana caranya? Buat array dulu, kemudian diakses satu persatu? bisa saja, tapi boros.</p>
<p>Pada dasarnya, huruf atau abjad dalam komputer memiliki representasi angka yang digunakan untuk mengenali huruf tersebut, bukan hanya huruf, segala macam simbol karakter juga. Umumnya, dan hampir semua komputer, menggunakan pengkodean ASCII. Huruf A sampai dengan Z, memiliki karakter ASCII yang berurutan, dan hal itulah yang akan kita manfaatkan.</p>
<p>Berikut contoh dalam syntax javascript (dengan alert)</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> s <span style="color: #339933;">=</span> <span style="color: #3366CC;">'a'</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>s <span style="color: #339933;">!=</span> <span style="color: #3366CC;">'z'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ini huruf &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    s <span style="color: #339933;">=</span> String.<span style="color: #660066;">fromCharCode</span><span style="color: #009900;">&#40;</span>s.<span style="color: #660066;">charCodeAt</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ini huruf &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Atau dalam PHP</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: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'a'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'z'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;ini huruf <span style="color: #006699; font-weight: bold;">$s</span> <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</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>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;ini huruf <span style="color: #006699; font-weight: bold;">$s</span> &lt;br&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Tentu saja contoh diatas hanya memperlihatkan metode dan konsep yang digunakan, bukan merupakan coding yang bebas bug dan sempurna. Dan jika diperhatikan, code dari 2 bahasa pemrograman di atas sebenarnya sama saja kok, beda nama saja. </p>
<p>Semoga bermanfaat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2011/11/15/membuat-deretan-abjad-dengan-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: jumlah hari antara 2 tanggal</title>
		<link>http://www.konglie.web.id/2011/11/12/php-jumlah-hari-antara-2-tanggal/</link>
		<comments>http://www.konglie.web.id/2011/11/12/php-jumlah-hari-antara-2-tanggal/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 03:24:39 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[strtotime]]></category>

		<guid isPermaLink="false">http://konglie.web.id/?p=202</guid>
		<description><![CDATA[Ada sebuah kasus dimana terdapat kebutuhan untuk menghitung jumlah hari di antara 2 tanggal. Dengan menggunakan PHP, hal ini bukanlah sesuatu yang sulit atau perlu dibesar-besarkan, banyak sekali fungsi-fungsi atau pendekatan yang bisa dilakukan dalam PHP untuk melakukan perhitungan ini. &#8230; <a href="http://www.konglie.web.id/2011/11/12/php-jumlah-hari-antara-2-tanggal/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ada sebuah kasus dimana terdapat kebutuhan untuk menghitung jumlah hari di antara 2 tanggal. Dengan menggunakan PHP, hal ini bukanlah sesuatu yang sulit atau perlu dibesar-besarkan, banyak sekali fungsi-fungsi atau pendekatan yang bisa dilakukan dalam PHP untuk melakukan perhitungan ini.<br />
<span id="more-202"></span><br />
Berikut adalah salah satu dari banyak cara yang bisa dilakukan, sekali lagi, untuk menghitung jumlah hari di antara 2 tanggal, menggunakan PHP</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: #000088;">$date1</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;2010/01/12&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$date2</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;2011/07/31&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> daysBetween<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$e</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$e</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">24</span> <span style="color: #339933;">*</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> daysBetween<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$date2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Script diatas, terutama pada deklarasi fungsi <code>daysBetween($s, $e)</code>, sebenarnya menitikberatkan konversi dari format tanggal dalam text, misalnya 2011-12-31 menjadi bentuk UNIX Timestamp, dengan fungsi <a href="http://php.net/manual/en/function.strtotime.php" target="_blank"><code>strtotime()</code></a>, kemudian, selisih dari 2 timestamp ini, dibagi dengan jumlah detik dalam 1 hari, maka didapatkanlah jumlah hari di antara 2 tanggal tersebut.</p>
<p>Semoga bermanfaat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2011/11/12/php-jumlah-hari-antara-2-tanggal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MDI Windows dengan Java</title>
		<link>http://www.konglie.web.id/2011/11/11/mdi-windows-dengan-java/</link>
		<comments>http://www.konglie.web.id/2011/11/11/mdi-windows-dengan-java/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 14:59:48 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[aplikasi]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mdi]]></category>
		<category><![CDATA[pengalaman]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://konglie.web.id/?p=193</guid>
		<description><![CDATA[Pada post sebelumnya, saya memperlihatkan video demo untuk membuat aplikasi Windows dengan vb.NET. Aplikasi tersebut dengan konsep MDI (Multiple Document Interface) Windows, dimana terdapat satu windows utama (parent) yang kemudian menampung windows lainnya (child). Kali ini, konsep pembuatan aplikasi GUI &#8230; <a href="http://www.konglie.web.id/2011/11/11/mdi-windows-dengan-java/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pada post sebelumnya, saya memperlihatkan <a href="http://konglie.web.id/2011/07/13/aplikasi-berbasis-form-dengan-vb-net/">video demo</a> untuk membuat aplikasi Windows dengan vb.NET. Aplikasi tersebut dengan konsep MDI (Multiple Document Interface) Windows, dimana terdapat satu windows utama (parent) yang kemudian menampung windows lainnya (child).<br />
<span id="more-193"></span><br />
Kali ini, konsep pembuatan aplikasi GUI Windows tersebut saya bawakan dalam bahasa pemrograman Java. Dengan Netbeans 7, library default (menggunakan library Swing), hal tersebut dapat dengan mudah dilakukan. </p>
<p>Pada source code yang saya lampirkan, saya telah membuat wrapper untuk itu. Secara singkatnya, untuk dapat menggunakan konsep MDI, dengan source yang saya lampirkan, cukup dengan membuat JPanel Form, isi dan desain form tersebut sesuai kebutuhan dan keinginan anda, kemudian, pada windows utama (main.java), tambahkan menu item yang sesuai, dan pada action untuk menu tersebut, panggil <code>loadChild(new namaFormAnda()); </code></p>
<p>Source code ini dapat anda <a href="http://konglie.web.id/?attachment_id=197">download</a> dan gunakan untuk keperluan non-komersil anda. Source ini juga saya berikan, berkat dukungan dari Mr. ******** (beliau bilang, sssttt&#8230;&#8230;..diem-diem aja). Source code ini saya berikan tanpa ada jaminan, garansi, ataupun dukungan apapun. Apabila anda membutuhkan hal tersebut, dapat menghubungi saya di lee@konglie.web.id</p>
<p>Berikut adalah video demo yang menggunakan klFrame ini.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/23p8BEPWK9k" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://konglie.web.id/?attachment_id=197"><strong>DOWNLOAD Source Code yang digunakan</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2011/11/11/mdi-windows-dengan-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resize VirtualBox Disk, dd Kloning</title>
		<link>http://www.konglie.web.id/2011/09/02/resize-virtualbox-disk-dd-kloning/</link>
		<comments>http://www.konglie.web.id/2011/09/02/resize-virtualbox-disk-dd-kloning/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 17:56:17 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dd command]]></category>
		<category><![CDATA[harddisk kloning]]></category>
		<category><![CDATA[resize harddisk]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://konglie.web.id/?p=180</guid>
		<description><![CDATA[Kemaren, Linux OpenSuse yang digunakan untuk development memberikan warning akan habisnya space pada harddisk-nya. Maklumlah, harddisk yang digunakan hanya berukuran 8 GB saja. Lho, zaman sekarang memangnya masih ada harddisk berukuran 8GB ?? Well, linux ini berjalan pada VirtualBox, sehingga &#8230; <a href="http://www.konglie.web.id/2011/09/02/resize-virtualbox-disk-dd-kloning/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Kemaren, Linux OpenSuse yang digunakan untuk development memberikan warning akan habisnya <code>space</code> pada harddisk-nya. Maklumlah, harddisk yang digunakan hanya berukuran 8 GB saja.<span id="more-180"></span></p>
<p>Lho, zaman sekarang memangnya masih ada harddisk berukuran 8GB ?? Well, linux ini berjalan pada VirtualBox, sehingga memang sengaja tidak diberikan harddisk yang terlalu besar, (awalnya berpikir) cukup 8GB saja. Namun ternyata, kapasitas tersebut tidaklah mencukupi. </p>
<p>Lalu apa solusinya?? VirtualBox tidak menyediakan fitur untuk merubah ukuran harddisk virtual nya. Namun, menyediakan fasilitas untuk &#8220;membuat&#8221; harddisk baru dan diberikan kepada sistem operasi yang berjalan di <code>environment</code> virtual-nya. Apakah ini menjadi solusi?? Sebenarnya bisa saja, dengan membuat harddisk baru, dan diberikan kepada OS tersebut, namun hal ini bukanlah solusi, karena jika harddisk tersebut hendak digunakan sebagai <code>mount point</code> untuk sistem, maka tentunya penambahan kapasitas karena penambahan harddisk tidak akan efisien.</p>
<p>Karena itu, akhirnya saya mengambil solusi untuk membuat harddisk baru yang lebih besar, dalam hal ini 15GB. Dalam lingkungan sebenarnya, dapat dianalogikan bahwa kita membeli harddisk baru sebesar 15GB untuk menggantikan harddisk lama yang hanya berukuran 8GB. Lalu apa langkah selanjutnya?? </p>
<p>Secara konsep, langkah-langkah yang harus dilakukan adalah, membuat harddisk baru itu sama persis dengan harddisk lama. Baik itu file atau foldernya, dan juga, struktur filesistem-nya, termasuk komposisi partisi didalamnya, hingga ke dalam Master Boot Record (MBR) yang ada pada harddisk yang lama. Hal ini dapat juga disebut sebagai membuat kloning harddisk.</p>
<p>Namun, yang harus diperhatikan adalah, bahwa kloning ini akan menyebabkan harddisk baru memiliki komposisi partisi yang sama dengan harddisk sebelumnya, yang berarti ukuran kapasitas maksimal yang akan dimiliki adalah 8GB, padahal harddisk baru berukuran 15GB. Untuk itu, setelah semuanya selesai, harus dilakukan langkah untuk me-resize partisi. </p>
<p>Berikut langkah-langkah yang dapat dilakukan.</p>
<p>Untuk kloning harddisk, pastikan kedua harddisk tersebut tidak digunakan, atau istilahnya, jangan di-mount pada OS. Untuk melakukan ini, bisa dengan meletakkan kedua harddisk tersebut pada komputer yang boot dari harddisk ke-tiga (tersendiri), boot dari live-CD linux, atau dengan boot pada mode Rescue System dari CD/DVD installer linux. </p>
<p>Setelah yakin bahwa harddisk yang akan dikloning maupun harddisk tujuan kloning tidak digunakan, kita siap meng-kloningnya. Untuk kloning, menggunakan perintah dari command line, <code>dd</code>.</p>
<p>Secara umum, sintax nya adalah</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>sumber<span style="color: #000000; font-weight: bold;">/</span>harddisk <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>harddisk<span style="color: #000000; font-weight: bold;">/</span>tujuan</pre></div></div>

<p>PERHATIAN: jika opsi <code>if</code> dan <code>of</code> dibalik, maka dapat menyebabkan hilangnya data secara permanen pada harddisk anda. </p>
<p>Pada kasus saya, harddisk lama adalah di <code>/dev/sda</code> sedangkan harddisk baru adalah <code>/dev/sdb</code>. Dengan menggunakan perintah <code>dd if=/dev/sda of=/dev/sdb</code>, tinggal menunggu hingga harddisk selesai dikloning.</p>
<p>Setelah selesai, artinya harddisk baru siap digunakan. Namun hal belum tentu OS dapat boot dari harddisk tersebut, meskipun isi nya sudah 100% sama. Hal ini dikarenakan, harddisk tersebut bisa saja memiliki id yang berbeda. Untuk melihat id dari harddisk bisa dengan perintah</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk<span style="color: #000000; font-weight: bold;">/</span>by-id</pre></div></div>

<p>Untuk itu, perlu diedit bootloader pada OS yang bersangkutan. Untuk linux OpenSuse 11.3, bisa dengan cara mengedit file <code>/boot/grub/menu.lst</code> dan ganti pada parameter <code>kernel</code>.</p>
<p>Setelah berhasil boot, sekarang jalankan <code>partitioner</code> dari Yast (OpenSuse 11.3), dan resize partisi hingga pada ukuran yang diinginkan. Resize ini tergantung dari komposisi partisi anda, bisa saja, partisi yang dapat di-resize bukanlah partisi yang anda inginkan.</p>
<p>Dengan demikian, selesai, OS Linux sudah dengan harddisk baru yang berukuran lebih besar. Dibawah adalah screenshot komposisi harddisk sebelum dan setelah langkah-langkah diatas dilakukan.</p>
<p><a href="http://konglie.web.id/wp-content/uploads/2011/09/kondisi-harddisk-lama-dan-baru.png"><img src="http://konglie.web.id/wp-content/uploads/2011/09/kondisi-harddisk-lama-dan-baru.png" alt="" title="Kondisi/Komposisi dengan 2 harddisk" width="484" height="457" class="aligncenter size-full wp-image-188" /></a></p>
<p><a href="http://konglie.web.id/wp-content/uploads/2011/09/setelah-diganti.png"><img src="http://konglie.web.id/wp-content/uploads/2011/09/setelah-diganti.png" alt="" title="Harddisk baru 16GB" width="512" height="277" class="aligncenter size-full wp-image-190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2011/09/02/resize-virtualbox-disk-dd-kloning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copy file diatas 2GB ke flashdisk</title>
		<link>http://www.konglie.web.id/2011/07/30/copy-file-diatas-2gb-ke-flashdisk/</link>
		<comments>http://www.konglie.web.id/2011/07/30/copy-file-diatas-2gb-ke-flashdisk/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 08:41:17 +0000</pubDate>
		<dc:creator>konglie</dc:creator>
				<category><![CDATA[Kisah Nyata]]></category>
		<category><![CDATA[format flashdisk]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://konglie.web.id/?p=176</guid>
		<description><![CDATA[Barusan seorang teman ngomel-ngomel gak jelas, di depan komputernya. Bukan teman sih, cuma sekedar lihat manusianya saja, heheh&#8230;..Jadi begini ceritanya, tadi pas di bengkel, ada yang buka laptop, mungkin mau copy data dari (tapi tampaknya &#8220;ke&#8221;) flashdisk. Tiba-tiba dia bilang, &#8230; <a href="http://www.konglie.web.id/2011/07/30/copy-file-diatas-2gb-ke-flashdisk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Barusan seorang teman <em>ngomel-ngomel</em> gak jelas, di depan komputernya. Bukan teman sih, cuma sekedar lihat manusianya saja, heheh&#8230;..Jadi begini ceritanya, tadi pas di bengkel, ada yang buka laptop, mungkin mau copy data dari (tapi tampaknya &#8220;ke&#8221;) flashdisk.<span id="more-176"></span></p>
<p>Tiba-tiba dia bilang, &#8220;Lho kok gak bisa?&#8221;, temannya bilang, &#8220;flashdisk nya penuh kali&#8221;, dia bilang, &#8220;mungkin, errornya sih kurang lebih gitu, filesize exceed apaaaa gitu&#8230;.&#8221;. Kemudian mereka terdiam, tiba-tiba, &#8220;apaan, free-nya masih ada 5GB lebih, kan filenya cuma 3GB&#8221;. Oke stop ceritanya sampai disini.</p>
<p>Masalah seperti ini sebenarnya tidak mengherankan. Pada keadaan default, umumnya flashdisk yang beredar di pasaran sudah diformat menggunakan File System FAT (File Allocation Table), entah FAT16 ataupu  FAT32. Filesystem ini, tidak mendukung file dengan ukuran diatas 2GB karena keterbatasan strukturisasi penyimpanannya, hal ini menyebabkan meskipun ruang penyimpanan yang ada melebihi 2GB, tetap saja, tidak akan dapat menampung sebuah file yang berukuran lebih dari itu.</p>
<p>Untuk itu, jika anda membutuhkan flashdisk yang dapat menyimpan file besar (diatas 2GB), beli baru! Bukan, format ulang saja flashdisk anda, tentu saja dengan catatan, freespace tersedia untuk ukuran file yang diinginkan. Format ulang dengan filesystem NTFS (agar lebih umum), atau kalau anda Linux-Fanatic, silakan menggunakan Filesytem EXT3 atau EXT4. </p>
<p>Tapi hati-hati, format berarti menghapus seluruh data yang sudah ada, dan Format yang disebutkan diatas bukanlah format yang generik, melainkan format yang spesific masing-masing System Operasi. NTFS adalah milik Windows (meskipun Linux bisa mengenalinya), dan EXT adalah milik Linux.</p>
<p>Dan juga, biasanya format selain FAT tidak akan dapat dikenali pada media-player portable. Contoh sederhana, sebuah DVD-Player untuk konsumsi rumah, tidak akan dapat membaca flashdisk berformat NTFS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.konglie.web.id/2011/07/30/copy-file-diatas-2gb-ke-flashdisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

