<?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>.:: Kohaci Site ::. &#187; PHP</title>
	<atom:link href="http://kohaci.com/topik/php/feed" rel="self" type="application/rss+xml" />
	<link>http://kohaci.com</link>
	<description></description>
	<lastBuildDate>Sat, 09 Jul 2011 12:06:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Enkripsi Teks di CodeIgniter</title>
		<link>http://kohaci.com/2011/07/09/enkripsi-teks-di-codeigniter.html</link>
		<comments>http://kohaci.com/2011/07/09/enkripsi-teks-di-codeigniter.html#comments</comments>
		<pubDate>Sat, 09 Jul 2011 12:06:38 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[encription]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=317</guid>
		<description><![CDATA[Jika Ada mengaktifkan $config['sess_encrypt_cookie'] = TRUE di config.php , saat mencoba buka cookies Anda dengan print_r($_COOKIE) , maka hasil cetak yang keluar adalah data cookies Anda tapi sudah terenkripsi sehingga sulit dibaca. Tapi jika menonaktifkan $config['sess_encrypt_cookie'] = FALSE saat dicetak akan muncul data cookies Anda dalam format JSON yang bisa dipahami. Proses tersebut disebut enkripsi, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Jika Ada mengaktifkan <strong>$config['sess_encrypt_cookie']</strong> <strong>= TRUE</strong> di <strong>config.php</strong> , saat mencoba buka cookies Anda dengan <strong>print_r($_COOKIE)</strong> , maka hasil cetak yang keluar adalah data <em>cookies</em> Anda tapi sudah terenkripsi sehingga sulit dibaca. Tapi jika menonaktifkan <strong>$config['sess_encrypt_cookie']</strong> <strong>= FALSE</strong> saat dicetak akan muncul data <em>cookies</em> Anda dalam format JSON yang bisa dipahami. Proses tersebut disebut enkripsi, salah satu faktor mengapa proses itu ada adalah karena faktor keamanan. Penjelasan lengkap bisa dibaca di <a title="CodeIgniter User Guide" href="http://codeigniter.com/user_guide/libraries/encryption.html" target="_blank">CodeIgniter User Guide</a>.</p>
<p style="text-align: justify;">Berikut contoh kode enskripsi text file. (keterangan ada di sumber kode) :</p>
<p><span id="more-317"></span></p>
<p style="text-align: justify;">Proses enkripsi (encode data ke <em>text file</em>) :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> encrypt<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'book_title'</span><span style="color: #009900;">&#93;</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Senyumku adalah Tangisku'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'book_desc'</span><span style="color: #009900;">&#93;</span>      <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;em&gt;Deskripsi Tulisan&lt;/em&gt;'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'book_date'</span><span style="color: #009900;">&#93;</span>      <span style="color: #339933;">=</span> <span style="color: #0000ff;">'1980-07-09 13:13:09'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'book_author'</span><span style="color: #009900;">&#93;</span>    <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Fredy Siswanto'</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'encrypt'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// ubah ke format json terlebih dahulu</span>
        <span style="color: #000088;">$data_to_json</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// ini kode kunci. </span>
        <span style="color: #000088;">$secure_key</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'kode kunci Anda!'</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// encrypt data</span>
        <span style="color: #000088;">$json_to_encrypt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">encrypt</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data_to_json</span><span style="color: #339933;">,</span><span style="color: #000088;">$secure_key</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">/* ALTERNATIVE
           $secure_key bisa dihilangkan sehingga bisa ditulis :
           $json_to_encrypt = $this-&gt;encrypt-&gt;encode($text)
           =============================================
           asal di bagian application/config/config.php bagian
           $config['encryption_key'] diisi sesuai dengan key Anda.
           =======================================================
        */</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// nama file yang dienkripsi</span>
        <span style="color: #000088;">$filename</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'book_freddyS-1.txt'</span> <span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">// lokasi folder tempat menyimpan</span>
        <span style="color: #000088;">$dir</span>        <span style="color: #339933;">=</span> APPPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'cache/'</span> <span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// ~ application/cache/</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// simpan ke $filename ;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> write_file<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$json_to_encrypt</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Unable to write the file'</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: #b1b100;">echo</span> <span style="color: #0000ff;">'File written!'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Hasil tampilan file di folder<strong> cache</strong> :</p>
<div id="attachment_466" class="wp-caption aligncenter" style="width: 524px"><img class="size-full wp-image-466" title=".." src="https://lh6.googleusercontent.com/-4IBGYxHeCJ8/ThhAfR5whNI/AAAAAAAAEho/_H_oYH9ruSo/s800/cache-1.jpg" alt="..." width="514" height="192" /><p class="wp-caption-text">...</p></div>
<p>Saat file <strong>book_freddyS-1.txt</strong> dibuka :</p>
<div id="attachment_467" class="wp-caption aligncenter" style="width: 383px"><img class="size-full wp-image-467" title="cache-2" src="https://lh4.googleusercontent.com/-l__Uyt5S3ZE/ThhAjxY41gI/AAAAAAAAEhw/UiSW1UazFJw/s800/cache-2.jpg" alt="" width="373" height="310" /><p class="wp-caption-text">...</p></div>
<p style="text-align: justify;">Untuk menampilkan data tersebut ke sistem tentu saja bukan hasil enkripsi tersebut ditampilkan, tapi data sebenarnya. Berikut contoh kode untuk mengembalikan hasil enkripsi tersebut ke data asal :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> decrypt<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// nama file yang dienkripsi</span>
        <span style="color: #000088;">$filename</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'book_freddyS-1.txt'</span> <span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">// lokasi folder tempat menyimpan</span>
        <span style="color: #000088;">$dir</span>        <span style="color: #339933;">=</span> APPPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'cache/'</span> <span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// ~ application/cache/</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'encrypt'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// simpan data di text file dalam satu variable</span>
            <span style="color: #000088;">$text</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// ini kode kunci.</span>
            <span style="color: #000088;">$secure_key</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'kode kunci Anda!'</span> <span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">// decode text</span>
            <span style="color: #000088;">$text_to_json</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">encrypt</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span><span style="color: #000088;">$secure_key</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">/* ALTERNATIVE
               $secure_key bisa dihilangkan sehingga bisa ditulis :
               $text_to_json = $this-&gt;encrypt-&gt;decode($text)
               =============================================
               asal di bagian application/config/config.php bagian
               $config['encryption_key'] diisi sesuai dengan key Anda.
               =======================================================
            */</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// tahap ini data sudah didapatkan tapi dalam format json</span>
            <span style="color: #666666; font-style: italic;">// decode data json</span>
            <span style="color: #000088;">$json_to_data</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text_to_json</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// tahap ini selesai</span>
            <span style="color: #666666; font-style: italic;">// data telah tersimpan dalam bentuk array</span>
           <span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$json_to_data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Unable to read the file'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">
<p style="text-align: justify;">Saat dijalankan :</p>
<div id="attachment_468" class="wp-caption aligncenter" style="width: 386px"><img class="size-full wp-image-468" title="cache-3" src="https://lh3.googleusercontent.com/-1ObmV835yak/ThhAgqUk-YI/AAAAAAAAEhs/RQD5_7GLw0Q/s800/cache-3.jpg" alt="" width="376" height="145" /><p class="wp-caption-text">...</p></div>
<p>CMIIW.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2011/07/09/enkripsi-teks-di-codeigniter.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Template Engine Sederhana</title>
		<link>http://kohaci.com/2011/03/08/template-engine-sederhana.html</link>
		<comments>http://kohaci.com/2011/03/08/template-engine-sederhana.html#comments</comments>
		<pubDate>Tue, 08 Mar 2011 01:50:52 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[Project-Q]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=307</guid>
		<description><![CDATA[Beberapa waktu lalu, sempat terpikir oleh gw, untuk sistem (web) yang sederhana (dari segi fitur) __ yang mungkin __ terlalu boros jika dibikin pakai framework ataupun berorientasi objek sehingga dibuat alurnya prosedural saja, tapi strukturnya masih rapi, minimal ada pemisahan kode php dengan template. Tidak perlu memakai template engine yang sudah komplek seperti Smarty atau [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_453" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-453" title=".php" src="https://lh6.googleusercontent.com/_IL56WrTPeME/TXWFXFRo7eI/AAAAAAAAEes/ejl0F9_xckc/s144/php-logo1.jpg" alt=".php" width="150" /><p class="wp-caption-text">.php</p></div>
<p style="text-align: justify;">Beberapa waktu lalu, sempat terpikir oleh gw, untuk sistem (web) yang sederhana (dari segi fitur) __ yang mungkin __ terlalu boros jika dibikin pakai framework ataupun berorientasi objek sehingga dibuat alurnya prosedural saja, tapi strukturnya masih rapi, minimal ada pemisahan kode php dengan template. Tidak perlu memakai template engine yang sudah komplek seperti Smarty atau  yang lainnya, karena ya itu terlalu boros (dilihat ukuran size aplikasinya).</p>
<p><span id="more-307"></span></p>
<p style="text-align: justify;">So iseng-iseng gw coba bikin.</p>
<p style="text-align: justify;">Jadi strukturnya kira-kira seperti ini :</p>
<p><center>
<dl id="attachment_451" class="wp-caption aligncenter" style="width: 205px;">
<dt class="wp-caption-dt"><a href="http://localhost/kohaci/wp-content/uploads/2011/03/struktur.jpg"><img class="size-full wp-image-451" title="Struktur sederhana" src="https://lh5.googleusercontent.com/_IL56WrTPeME/TXWFYMXXnGI/AAAAAAAAEeY/MpTQqHCYcQI/s800/struktur.jpg" alt="Struktur sederhana" width="195" height="112" /></a></dt>
<dd class="wp-caption-dd">Struktur sederhana</dd>
</dl>
<p></center></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Strukturnya mungkin seperti CodeIgniter (karena inspirasinya di sana), <strong>simple.templating.php</strong> adalah librari-nya, <strong>welcome_view.php</strong> adalah contoh file templatenya (HTML/web page) , dan file <strong>welcome.php </strong>yang terletak di luar folder <strong>lib</strong> dan <strong>views</strong> adalah contoh &#8220;controller&#8221;nya.</p>
<p style="text-align: justify;">simple.templating.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'EXT'</span>        <span style="color: #339933;">,</span> <span style="color: #0000ff;">'.php'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'VIEWPATH'</span>   <span style="color: #339933;">,</span> <span style="color: #0000ff;">'views/'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * Load View
 *
 * @access	public
 * @param	string $file file location (no extension (.php))
 * @param	string $data array nor not
 * @param	mixed  $string print results (FALSE) or save results to string (TRUE)
 * @return	string
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> load_view<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span><span style="color: #000088;">$string</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</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;">// this is like &quot;value to variable&quot;, see my artcle on http://kohaci.com/2010/03/24/value-to-variable.html</span>
        <span style="color: #666666; font-style: italic;">// check more on http://php.net/manual/en/function.extract.php</span>
        <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">include</span> <span style="color: #009900;">&#40;</span> VIEWPATH <span style="color: #339933;">.</span> <span style="color: #000088;">$file</span> <span style="color: #339933;">.</span> EXT <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_clean</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: #000088;">$string</span><span style="color: #009900;">&#41;</span>    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span>            <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$content</span> <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* End of file simple.templating.php */</span>
<span style="color: #666666; font-style: italic;">/* Location: ./lib/simple.templating.php */</span></pre></td></tr></table></div>

<p style="text-align: justify;">Jika di CodeIgniter, untuk me-load view dijalankan seperti ini :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$WEB_PAGE</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Maka di <strong>simple template engine</strong> kali ini jalannya :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">load_view<span style="color: #009900;">&#40;</span><span style="color: #000088;">$WEB_PAGE</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Ataupun hasil templating disimpan dulu ke variable, di CodeIgniter :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$string</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$WEB_PAGE</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Di simple template engine :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$string</span> <span style="color: #339933;">=</span> load_view<span style="color: #009900;">&#40;</span><span style="color: #000088;">$WEB_PAGE</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Contoh view di welcome_view.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
        &lt;title&gt;&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$welcome</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p style="text-align: justify;">Contoh &#8220;controller&#8221;nya di welcome.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include</span> <span style="color: #0000ff;">'lib/simple.templating.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'welcome'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;halo ...&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
load_view<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'welcome_view'</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* End of file welcome.php */</span>
<span style="color: #666666; font-style: italic;">/* Location: ./welcome.php */</span></pre></td></tr></table></div>

<p style="text-align: justify;">Download kode di atas <a title="download here!" href="https://github.com/kohaci/Simple-Template-Engine" target="_blank">di sini</a>.</p>
<p style="text-align: justify;">Semoga bermanfaat.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2011/03/08/template-engine-sederhana.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Update] FusionCharts (Free) + CodeIgniter</title>
		<link>http://kohaci.com/2010/10/26/update-fusioncharts-free-codeigniter.html</link>
		<comments>http://kohaci.com/2010/10/26/update-fusioncharts-free-codeigniter.html#comments</comments>
		<pubDate>Tue, 26 Oct 2010 09:27:59 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[fusion chart]]></category>
		<category><![CDATA[graph]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=283</guid>
		<description><![CDATA[FusionCharts adalah komponen pemetaan dalam basis flash yang dapat digunakan untuk merender data dalam bentuk animasi grafik. Dengan basis Adobe Flash, FusionCharts dapat digunakan dengan berbagai macam bahasa scripting web seperti HTML, .NET, ASP, JSP, PHP, ColdFusion dan lain sebagainya, untuk menghasilkan chart yang interaktif dan powerfull. Menggunakan XML sebagai data interface-nya, FusionCharts mampu menciptakan [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_419" class="wp-caption alignleft" style="width: 175px"><img class="size-full wp-image-419" title="www.fusioncharts.com" src="http://lh3.ggpht.com/_IL56WrTPeME/TMac4d2fvYI/AAAAAAAAEFI/tpC7tRsV7Hs/s800/1.jpg" alt="www.fusioncharts.com" width="165" height="217" /><p class="wp-caption-text">www.fusioncharts.com</p></div>
<p style="text-align: justify;"><a href="http://www.fusioncharts.com/" target="_blank">FusionCharts</a> adalah komponen pemetaan dalam basis flash yang dapat digunakan untuk merender data dalam bentuk animasi grafik. Dengan basis Adobe Flash, FusionCharts dapat digunakan dengan berbagai macam bahasa scripting web seperti HTML, .NET, ASP, JSP, PHP, ColdFusion dan lain sebagainya, untuk menghasilkan chart yang interaktif dan powerfull. Menggunakan XML sebagai data interface-nya, FusionCharts mampu menciptakan charts yang <em>compact</em>, interaktif, dan <em>visually-arresting</em>.</p>
<p style="text-align: justify;">Tulisan kali ini adalah update dari tulisan saya Agustus 2008 silam tentang <a href="http://kohaci.com/2008/08/20/fusioncharts-codeigniter.html" target="_blank">Fusion Chart dan CodeIgniter</a>. Saya tulis kembali sebab banyak yang bertanya tentang ketidakcocokan librari yang saya buat dengan Fusion Chart sekarang. Poin yang patut diketahui adalah versi yang saya pakai dulu adalah versi Fusion Chart lama yaitu Fusion Chart 2 (masih bersifat trial) sebelum ada rilis versi free untuk Fusion Chart 3. Ada beberapa perubahan yang cukup signifikan, seperti penggantian inisialisasi awal XML dari fusion chart, dari :</p>
<p><span id="more-283"></span></p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;chart</span> ...<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
...
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/chart<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>menjadi :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;graph</span> ...<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
...
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/graph<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p style="text-align: justify;">Walaupun ada sebagian bentuk grafik tertentu yang masih memakai inisialisasi awal <strong>&lt;chart .. /&gt;</strong> .</p>
<p style="text-align: justify;">Oke, kita mulai implementasi. Langkah pertama adalah download Fusion Chart 3 versi free <a href="http://www.fusioncharts.com/free/">di sini</a>. Setelah didownload file Fusion Chart di ekstrak, dan diambil file-file penting yang akan kita gunakan untuk membuat chart, yaitu :</p>
<p><strong>FusionCharts.js</strong> , dari :</p>
<blockquote><p>JSClass -&gt; FusionCharts.js</p></blockquote>
<p>File SWF dari folder <strong><a>Charts</a></strong></p>
<p>PHP FusionChart function (<strong>FusionCharts.php</strong>) dari :</p>
<blockquote><p>Code -&gt; PHP -&gt; Includes -&gt; FusionChart.php</p></blockquote>
<p>(Optional) Struktur folder public saya seperti ini :</p>
<div id="attachment_418" class="wp-caption aligncenter" style="width: 236px"><img class="size-full wp-image-418" title="Struktur folder" src="http://lh3.ggpht.com/_IL56WrTPeME/TMac4UYLSFI/AAAAAAAAEFM/bqPE9vcXlxU/s800/2.jpg" alt="Struktur folder" width="226" height="260" /><p class="wp-caption-text">Struktur folder</p></div>
<p style="text-align: justify;">
<p style="text-align: justify;">Simpan FusinChart.js ke folder <strong>public/javascript/</strong> .</p>
<p style="text-align: justify;">Simpan semua isi File SWF (tidak termasuk folder Charts) ke folder <strong>public/flash</strong>/ .</p>
<p style="text-align: justify;">Ubah nama FusionCharts.php menjadi <strong>fusioncharts_helper.php</strong> dan simpan ke folder <strong>system/application/helpers/</strong> . (Jika pada tulisan sebelumnya fungsi Fusion Chart saya jadikan library, pada saat ini saya jadikan helper karena ternyata lebih simple dan praktis <img src='http://kohaci.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>Pada fusioncharts_helper.php tambahkan fungsi berikut :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$FC_ColorCounter</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> getFCColor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//We also initiate a counter variable to help us cyclically rotate through</span>
    <span style="color: #666666; font-style: italic;">//the array of colors.</span>
    <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$FC_ColorCounter</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">//Update index</span>
    <span style="color: #000088;">$FC_ColorCounter</span><span style="color: #339933;">++;</span>
&nbsp;
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;1941A5&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Dark Blue</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;AFD8F8&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;F6BD0F&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;8BBA00&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;A66EDD&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;F984A1&quot;</span> <span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CCCC00&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Chrome Yellow+Green</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;999999&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Grey</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0099CC&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Blue Shade</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;FF0000&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Bright Red</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;006F00&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Dark Green</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">11</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0099FF&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Blue (Light)</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;FF66CC&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Dark Pink</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">13</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;669966&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Dirty green</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">14</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;7C7CB4&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Violet shade of blue</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;FF9933&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Orange</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">16</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;9900FF&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Violet</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">17</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;99FFCC&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Blue+Green Light</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">18</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CCCCFF&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Light violet</span>
    <span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">19</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;669900&quot;</span> <span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Shade of green</span>
&nbsp;
    <span style="color: #b1b100;">return</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$FC_ColorCounter</span> <span style="color: #339933;">%</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr_FCColors</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Fungsi tersebut didapatkan dari file <strong>FC_Colors.php</strong> (yang telah dimodifikasi) dari folder Fusion Chart :</p>
<blockquote><p>Code -&gt; PHP -&gt; Includes -&gt; FC_Colors.php</p></blockquote>
<p>Kemudian kita buat class Chart di controller dengan nama file <strong>chart.php</strong> .</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * Description of chart
 *
 * @author  Freddy Yuswanto
 * @link    http://www.kohaci.com
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Chart <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'fusioncharts'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$graph_swfFile</span>      <span style="color: #339933;">=</span> base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'public/flash/Column3D.swf'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$graph_caption</span>      <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Harga Produk'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$graph_numberPrefix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Rp.'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$graph_title</span>        <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Penjualan Produk'</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$graph_width</span>        <span style="color: #339933;">=</span> <span style="color: #cc66cc;">450</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$graph_height</span>       <span style="color: #339933;">=</span> <span style="color: #cc66cc;">250</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Store Name of Products</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product A&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product B&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product C&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product D&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product E&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Product F&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//Store sales data</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">567500</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">815300</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">556800</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">734500</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">676800</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$arrData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">648500</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$strXML</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;graph caption='&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$graph_caption</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' numberPrefix='&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$graph_numberPrefix</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' formatNumberScale='0' decimalPrecision='0'&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//Convert data to XML and append</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$arrData</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$arSubData</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$strXML</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;set name='&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$arSubData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;' value='&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$arSubData</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;' color='&quot;</span><span style="color: #339933;">.</span>getFCColor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' /&gt;&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
	<span style="color: #666666; font-style: italic;">//Close &lt;chart&gt; element</span>
	<span style="color: #000088;">$strXML</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/graph&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'graph'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> renderChart<span style="color: #009900;">&#40;</span><span style="color: #000088;">$graph_swfFile</span><span style="color: #339933;">,</span> <span style="color: #000088;">$graph_title</span><span style="color: #339933;">,</span> <span style="color: #000088;">$strXML</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;div&quot;</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$graph_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$graph_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'chart_view'</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Terakhir membuat file di view dengan nama <strong>chart_view.php</strong> .</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;!-- FUSION CHARTS --&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/FusionCharts.js&quot;&gt;&lt;/script&gt;
    &lt;/head&gt;
    &lt;body&gt;
        <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$graph</span> <span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Jalankan dengan URL :</p>
<blockquote><p><strong>http://[nama server anda]/[folder ci anda]/index.php/chart</strong></p></blockquote>
<p>Jika berjalan lancar, hasil yang keluar adalah :</p>
<div id="attachment_422" class="wp-caption aligncenter" style="width: 437px"><img class="size-full wp-image-422" title="Contoh dengan Column 3D" src="http://lh3.ggpht.com/_IL56WrTPeME/TMac4qnK1eI/AAAAAAAAEFQ/GgwZL6jOJHQ/s800/3.jpg" alt="Contoh dengan Column 3D" width="427" height="224" /><p class="wp-caption-text">Contoh dengan Column 3D</p></div>
<p>Semoga bermanfaat. CMIIW. <img src='http://kohaci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Demo dapat didownload <a href="https://sites.google.com/site/kohaci/berkas/ci-chart.rar?attredirects=0&#038;d=1" target="_blank" title="download">di link ini</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2010/10/26/update-fusioncharts-free-codeigniter.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Upload and Crop Image with CodeIgniter and JQuery Image Area Select</title>
		<link>http://kohaci.com/2010/10/25/upload-and-crop-image-with-codeigniter-and-jquery-image-area-select.html</link>
		<comments>http://kohaci.com/2010/10/25/upload-and-crop-image-with-codeigniter-and-jquery-image-area-select.html#comments</comments>
		<pubDate>Mon, 25 Oct 2010 05:34:15 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[image area select]]></category>
		<category><![CDATA[image_moo]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=278</guid>
		<description><![CDATA[Pada tulisan kali ini, saya akan mencoba mengimplementasi antara PHP, CodeIgniter , jQuery (image area select), dan librari image_moo. Sebagian besar ilmunya saya dapatkan dari WebMotionUK. Pada artikel WebMotionUK dijelaskan implementasi PHP + jQuery (image area select), saya mencoba menggabungkan dengan CodeIgniter dibantu dengan librari Image_moo yang implementasinya telah saya jelaskan pada artikel sebelumnya. Syarat-syarat [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_403" class="wp-caption alignleft" style="width: 366px"><img class="size-full wp-image-403" title="JQuery Crop" src="http://lh6.ggpht.com/_IL56WrTPeME/TMUIFtzyTjI/AAAAAAAAEE0/eVt4Dyc_V3k/s800/1.png" alt="JQuery Crop" width="356" height="139" /><p class="wp-caption-text">JQuery Crop</p></div>
<p style="text-align: justify;">Pada tulisan kali ini, saya akan mencoba mengimplementasi antara PHP,  CodeIgniter , jQuery (<em>image area select</em>), dan librari <em>image_moo</em>.  Sebagian besar ilmunya saya dapatkan dari <a href="http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/" target="_blank">WebMotionUK</a>. Pada artikel WebMotionUK dijelaskan implementasi PHP + jQuery (<em>image area select</em>), saya mencoba menggabungkan dengan CodeIgniter dibantu dengan librari <a title="Image Manipulation with Image_moo’s library (CodeIgniter)" href="http://kohaci.com/2010/10/24/image-manipulation-with-image_moos-library-codeigniter.html" target="_blank">Image_moo</a> yang implementasinya telah saya jelaskan pada artikel sebelumnya.</p>
<p><span id="more-278"></span></p>
<p style="text-align: justify;">Syarat-syarat yang harus dipenuhi sebelum koding adalah sebagai berikut :</p>
<ul>
<li>PHP 5 atau di atasnya</li>
<li>PHP GD 2 library</li>
<li>Framework CodeIgniter 1.7.0 atau di atasnya</li>
<li>Librari <a href="http://www.matmoo.com/wp-content/uploads/2010/08/image_moo.zip" target="_blank">Image_moo</a> oleh Mat-moo</li>
<li><a href="http://jquery.com/" target="_blank">jQuery ver 1.2.3</a> atau di atasnya</li>
<li><a href="http://odyniec.net/projects/imgareaselect/" target="_blank">Image Area Select</a> plugin oleh Michal Wojciechowski</li>
</ul>
<p style="text-align: justify;">Setelah syarat-syarat di atas dipenuhi, selanjutnya kita bentuk struktur folder upload dan hasil crop yang strukturnya sama dengan <a href="http://kohaci.com/2010/10/24/image-manipulation-with-image_moos-library-codeigniter.html" target="_blank">tulisan saya sebelumnya</a>.</p>
<div id="attachment_406" class="wp-caption aligncenter" style="width: 250px"><img class="size-full wp-image-406" title="Struktur folder" src="http://lh3.ggpht.com/_IL56WrTPeME/TMUIFmDfpnI/AAAAAAAAEE4/BW6g62zbKMg/s800/2.jpg" alt="Struktur folder" width="240" height="191" /><p class="wp-caption-text">Struktur folder</p></div>
<p style="text-align: justify;">Setelah itu kita buat file javascript yang bernama <strong>jquery.imgpreview.js </strong>yang berfungsi menampilkan preview image yang akan dicrop sebelum dicrop, serta menyimpan posisi-posisi X1, X2, Y1, dan Y2 yang nantinya akan diproses oleh Image_moo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>49
50
51
52
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span>
		<span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$upload_path</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file_name</span><span style="color: #009900;">&#41;</span>
		<span style="color: #339933;">-&gt;</span><span style="color: #004000;">crop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x1</span><span style="color: #339933;">,</span><span style="color: #000088;">$y1</span><span style="color: #339933;">,</span><span style="color: #000088;">$x2</span><span style="color: #339933;">,</span><span style="color: #000088;">$y2</span><span style="color: #009900;">&#41;</span>
		<span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file_name</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>File : <strong>jquery.imgpreview.js</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> preview<span style="color: #009900;">&#40;</span>img<span style="color: #339933;">,</span> selection<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> scaleX <span style="color: #339933;">=</span> thumb_width <span style="color: #339933;">/</span> selection.<span style="color: #660066;">width</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> scaleY <span style="color: #339933;">=</span> thumb_height <span style="color: #339933;">/</span> selection.<span style="color: #660066;">height</span><span style="color: #339933;">;</span>
&nbsp;
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#thumbnail + div &gt; img'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
            width<span style="color: #339933;">:</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>scaleX <span style="color: #339933;">*</span> image_width<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'px'</span><span style="color: #339933;">,</span>
            height<span style="color: #339933;">:</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>scaleY <span style="color: #339933;">*</span> image_height<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'px'</span><span style="color: #339933;">,</span>
            marginLeft<span style="color: #339933;">:</span> <span style="color: #3366CC;">'-'</span> <span style="color: #339933;">+</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>scaleX <span style="color: #339933;">*</span> selection.<span style="color: #660066;">x1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'px'</span><span style="color: #339933;">,</span>
            marginTop<span style="color: #339933;">:</span> <span style="color: #3366CC;">'-'</span> <span style="color: #339933;">+</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>scaleY <span style="color: #339933;">*</span> selection.<span style="color: #660066;">y1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'px'</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#x1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span>selection.<span style="color: #660066;">x1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#y1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span>selection.<span style="color: #660066;">y1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#x2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span>selection.<span style="color: #660066;">x2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#y2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span>selection.<span style="color: #660066;">y2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">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: #009900;">&#40;</span><span style="color: #3366CC;">'#save_thumb'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</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> x1 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#x1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> y1 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#y1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> x2 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#x2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> y2 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#y2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">||</span> y1<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">||</span> x2<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">||</span> y2<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;&quot;</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;You must make a selection first&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><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>
&nbsp;
$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">load</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: #009900;">&#40;</span><span style="color: #3366CC;">'#thumbnail'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">imgAreaSelect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> aspectRatio<span style="color: #339933;">:</span> <span style="color: #3366CC;">'1:'</span> <span style="color: #339933;">+</span> thumb_height<span style="color: #339933;">/</span>thumb_width<span style="color: #339933;">,</span> onSelectChange<span style="color: #339933;">:</span> preview <span style="color: #009900;">&#125;</span><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></pre></td></tr></table></div>

<p>File <strong>jquery.imgpreview.js </strong>disimpan di folder <strong>public/javascript</strong> .</p>
<p style="text-align: justify;">Nilai <strong>thumb_width</strong> dan <strong>thumb_height</strong> merupakan ukuran default hasil cropping dengan rasio ukuran :</p>
<blockquote>
<p style="text-align: justify;"><strong>1 : (thumb_height/thumb_width)</strong></p>
</blockquote>
<p style="text-align: justify;">Nilai thumb_width dan thumb_height kita definiskan terlebih dahulu.</p>
<p style="text-align: justify;">Nilai <strong>image_height</strong> dan dan <strong>image_width</strong> didapatkan dari ukuran gambar yang kita upload ke sistem.</p>
<p style="text-align: justify;">Pendefinisian nilai-nilai tersebut pada views adalah sebagai berikut :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">	&lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/jquery.imgpreview.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
		// &lt;![CDATA[
			var thumb_width    = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_width</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
			var thumb_height   = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_height</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
			var image_width    = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_width'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
			var image_height   = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_height'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
		// ]]&gt;
	&lt;/script&gt;</pre></td></tr></table></div>

<p style="text-align: justify;">Penentuan nilai-nilai tersebut kita tulis di controller, saya tulis dengan nama class Crop di file <strong>crop.php</strong>.</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: #009933; font-style: italic;">/**
 * Description of crop
 *
 * @author  Freddy Yuswanto
 * @link    http://www.kohaci.com/
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Crop <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'form'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'image_moo'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_path'</span><span style="color: #009900;">&#93;</span>        <span style="color: #339933;">=</span> <span style="color: #000088;">$upload_path</span>          <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;public/upload/real/&quot;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'destination_thumbs'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$destination_thumbs</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;public/upload/thumbs/&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'large_photo_exists'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'thumb_photo_exists'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'error'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'thumb_width'</span><span style="color: #009900;">&#93;</span>        <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;100&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'thumb_height'</span><span style="color: #009900;">&#93;</span>       <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;100&quot;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload'</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: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_path'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$upload_path</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allowed_types'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">'gif|jpg|png|jpeg'</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_size'</span><span style="color: #009900;">&#93;</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_width'</span><span style="color: #009900;">&#93;</span>    <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_height'</span><span style="color: #009900;">&#93;</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'upload'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$config</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: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">upload</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">do_upload</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'img'</span><span style="color: #009900;">&#93;</span>	 <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">upload</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'large_photo_exists'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;img src=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span>base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$upload_path</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'img'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> alt=<span style="color: #000099; font-weight: bold;">\&quot;</span>Large Image<span style="color: #000099; font-weight: bold;">\&quot;</span>/&gt;&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_thumbnail'</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: #000088;">$x1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'x1'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$y1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'y1'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$x2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'x2'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$y2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'y2'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$w</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'w'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$h</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'h'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$file_name</span>                  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</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: #000088;">$file_name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span>
                    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$upload_path</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file_name</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">crop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x1</span><span style="color: #339933;">,</span><span style="color: #000088;">$y1</span><span style="color: #339933;">,</span><span style="color: #000088;">$x2</span><span style="color: #339933;">,</span><span style="color: #000088;">$y2</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file_name</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: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">errors</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'error'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display_errors</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</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;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'thumb_photo_exists'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;img src=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span>base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file_name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> alt=<span style="color: #000099; font-weight: bold;">\&quot;</span>Thumbnail Image<span style="color: #000099; font-weight: bold;">\&quot;</span>/&gt;&quot;</span><span style="color: #339933;">;</span>
                    <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'large_photo_exists'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;img src=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span>base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$upload_path</span><span style="color: #339933;">.</span><span style="color: #000088;">$file_name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> alt=<span style="color: #000099; font-weight: bold;">\&quot;</span>Large Image<span style="color: #000099; font-weight: bold;">\&quot;</span>/&gt;&quot;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'crop_form'</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Setelah itu kita buat file views dengan nama <strong>crop_form.php</strong> .</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&nbsp;
    &lt;title&gt;Kohaci - PHP, CodeIgniter, &amp;amp; Jquery image upload &amp;amp; crop&lt;/title&gt;
    &lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/jquery.imgareaselect.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&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: #000088;">$large_photo_exists</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$thumb_photo_exists</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/jquery.imgpreview.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
    // &lt;![CDATA[
        var thumb_width    = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_width</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
        var thumb_height   = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_height</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
        var image_width    = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_width'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
        var image_height   = <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_height'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> ;
    // ]]&gt;
    &lt;/script&gt;
    <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/head&gt;
&lt;body&gt;
&nbsp;
&lt;h1&gt;Photo Upload and Crop&lt;/h1&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: #000088;">$error</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Error!&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$error</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/li&gt;&lt;/ul&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&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: #000088;">$large_photo_exists</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$thumb_photo_exists</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$large_photo_exists</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;nbsp;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$thumb_photo_exists</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;p&gt;&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;PHP_SELF&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Upload another&lt;/a&gt;&lt;/p&gt;
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$large_photo_exists</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$thumb_photo_exists</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;h2&gt;Create Thumbnail&lt;/h2&gt;
&lt;div align=&quot;center&quot;&gt;
        &lt;img src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$upload_path</span><span style="color: #339933;">.</span><span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; style=&quot;float: left; margin-right: 10px;&quot; id=&quot;thumbnail&quot; alt=&quot;Create Thumbnail&quot; /&gt;
        &lt;div style=&quot;border:1px #e5e5e5 solid; float:left; position:relative; overflow:hidden; width:<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_width</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>px; height:<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$thumb_height</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>px;&quot;&gt;
                &lt;img src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$upload_path</span><span style="color: #339933;">.</span><span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; style=&quot;position: relative;&quot; alt=&quot;Thumbnail Preview&quot; /&gt;
        &lt;/div&gt;
        &lt;br style=&quot;clear:both;&quot;/&gt;
        &lt;form name=&quot;thumbnail&quot; action=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;PHP_SELF&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; method=&quot;post&quot;&gt;
                &lt;input type=&quot;hidden&quot; name=&quot;x1&quot; value=&quot;&quot; id=&quot;x1&quot; /&gt;
                &lt;input type=&quot;hidden&quot; name=&quot;y1&quot; value=&quot;&quot; id=&quot;y1&quot; /&gt;
                &lt;input type=&quot;hidden&quot; name=&quot;x2&quot; value=&quot;&quot; id=&quot;x2&quot; /&gt;
                &lt;input type=&quot;hidden&quot; name=&quot;y2&quot; value=&quot;&quot; id=&quot;y2&quot; /&gt;
                &lt;input type=&quot;hidden&quot; name=&quot;file_name&quot; value=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$img</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;
                &lt;input type=&quot;submit&quot; name=&quot;upload_thumbnail&quot; value=&quot;Save Thumbnail&quot; id=&quot;save_thumb&quot; /&gt;
        &lt;/form&gt;
&lt;/div&gt;
&nbsp;
&lt;hr /&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> 	<span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;h2&gt;Upload Photo&lt;/h2&gt;
&lt;form name=&quot;photo&quot; enctype=&quot;multipart/form-data&quot; action=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;PHP_SELF&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; method=&quot;post&quot;&gt;
Photo &lt;input type=&quot;file&quot; name=&quot;image&quot; size=&quot;30&quot; /&gt; &lt;input type=&quot;submit&quot; name=&quot;upload&quot; value=&quot;Upload&quot; /&gt;
&lt;/form&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> 	<span style="color: #b1b100;">endif</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Setelah itu jalankan dengan alamat URL :</p>
<blockquote><p><strong>http://[nama server anda]/[folder ci anda]/index.php/crop</strong></p></blockquote>
<p>Untuk demo dapat didownload <a title="Demo " href="https://sites.google.com/site/kohaci/berkas/ci-crop.rar?attredirects=0&amp;d=1" target="_blank">di link ini</a>.</p>
<p>Semoga bermanfaat. CMIIW. <img src='http://kohaci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Referensi :</p>
<p><a href="http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/">http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/</a></p>
<p><a href="http://www.matmoo.com/digital-dribble/codeigniter/image_moo/">http://www.matmoo.com/digital-dribble/codeigniter/image_moo/</a></p>
<p>=============================</p>
<p><strong>New Update ! (2010/11/12)</strong></p>
<p>Addition :</p>
<ul>
<li>Auto selection (thanx to <a href="http://kohaci.com/2010/10/25/upload-and-crop-image-with-codeigniter-and-jquery-image-area-select.html#comment-302">@Team</a>)</li>
<li>Image resizing for image bigger than window and thumbnail bigger than 100&#215;100 &#8211; thumbnail standard size for thiz article (thanx to <a href="http://kohaci.com/2010/10/25/upload-and-crop-image-with-codeigniter-and-jquery-image-area-select.html#comment-306">@Pavel Ivanov</a>) </li>
</ul>
<p>You can download <a title="Demo " href="https://sites.google.com/site/kohaci/berkas/ci-crop-resize.rar?attredirects=0&#038;d=1" target="_blank">here</a>. <img src='http://kohaci.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2010/10/25/upload-and-crop-image-with-codeigniter-and-jquery-image-area-select.html/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Image Manipulation with Image_moo&#8217;s library (CodeIgniter)</title>
		<link>http://kohaci.com/2010/10/24/image-manipulation-with-image_moos-library-codeigniter.html</link>
		<comments>http://kohaci.com/2010/10/24/image-manipulation-with-image_moos-library-codeigniter.html#comments</comments>
		<pubDate>Sun, 24 Oct 2010 10:45:20 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[gd2]]></category>
		<category><![CDATA[image manipulation]]></category>
		<category><![CDATA[image resizing]]></category>
		<category><![CDATA[image_moo]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=267</guid>
		<description><![CDATA[Tulisan saya kali ini menyambung dari tulisan saya terdahulu tentang Image Resizing di PHP CodeIgniter , jika sebelumnya library yang saya gunakan adalah bawaan dari CodeIgniter, kali ini saya akan memakai library Image_moo yang saya dapatkan dari Mat-moo melalui forum Codeigniter. Kekuatan dari librari ini jika dibandingkan dari bawaan CodeIgniter adalah adanya multiple process sehingga [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_377" class="wp-caption alignleft" style="width: 247px"><img class="size-medium wp-image-377" title="Image Manipulation" src="http://lh4.ggpht.com/_IL56WrTPeME/TMQJ7rE9apI/AAAAAAAAEEA/9H2U8TFnfoE/s288/attention_manipulation_2.jpg" alt="Image Manipulation" width="237" height="300" /><p class="wp-caption-text">Image Manipulation</p></div>
<p>Tulisan saya kali ini menyambung dari tulisan saya terdahulu tentang <a title="Image Resizing di PHP CodeIgniter" href="http://kohaci.com/2008/12/14/image-resizing-di-php-codeigniter.html/comment-page-1#comment-282" target="_blank"><em>Image Resizing</em> di PHP CodeIgniter</a> , jika sebelumnya library yang saya gunakan adalah bawaan dari CodeIgniter, kali ini saya akan memakai library <strong>Image_moo</strong> yang saya dapatkan dari <a href="http://www.matmoo.com/digital-dribble/codeigniter/image_moo/" target="_blank">Mat-moo</a> melalui <a href="http://codeigniter.com/forums/viewthread/161469/" target="_blank">forum Codeigniter</a>.</p>
<p>Kekuatan dari librari ini jika dibandingkan dari bawaan CodeIgniter adalah adanya <em>multiple process</em> sehingga menghemat baris kode untuk melanjutkan proses images manipulation berikutnya. Contoh dapat dilihat pada <a href="http://kohaci.com/2008/12/14/image-resizing-di-php-codeigniter.html/" target="_blank">tulisan saya terdahulu</a> dimana antara proses resize ke ukuran thumbnail dan medium perlu ada jeda (penghapusan proses sebelumnya) yang tandai dengan : <strong>$this-&gt;image_lib-&gt;clear()</strong> , sedangkan pada Image_moo proses tersebut bisa terus berlanjut tanpa harus menghapus proses sebelumnya.</p>
<p>Kekurangannya pada libari ini adalah hanya bisa berjalan PHP 5 di atas atau sama dengan dan hanya menggunakan librari GD 2 untuk proses <em>images manipulation</em>.<br />
<span id="more-267"></span><br />
Mari kita langsung dengan contoh implementasi.</p>
<p>Pertama, download library Image_moo <a href="http://www.matmoo.com/wp-content/uploads/2010/08/image_moo.zip" target="_blank">di sini</a>. Setelah selesai, ekstrak akan keluar image_moo.php , rename menjadi <strong>Image_moo.php</strong> (I = i besar) dan letakkan di <strong>/system/application/libraries</strong> untuk CI 1.7 atau <strong>/application/libraries</strong> untuk CI 2.</p>
<p>Seperti tulisan saya terdahulu saya menggunakan proses upload untuk kemudian diproses image-nya. Struktur folder tempat upload saya sebagai berikut :</p>
<div id="attachment_380" class="wp-caption aligncenter" style="width: 213px"><img class="size-full wp-image-380" title="Struktur Folder" src="http://lh3.ggpht.com/_IL56WrTPeME/TMQJ7whXVMI/AAAAAAAAEEE/HPGucS0j_1E/s800/public.jpg" alt="Struktur Folder" width="203" height="133" /><p class="wp-caption-text">Struktur Folder</p></div>
<p>Tempat upload saya letakkan di folder <strong>upload</strong> dengan bagian-bagiannya :</p>
<ul>
<li>Folder <strong>real</strong> : untuk menyimpan hasil gambar dengan ukuran sebenarnya.</li>
<li>Folder <strong>medium</strong> : untuk menyimpan hasil gambar yang telah di<em>resize</em> dari ukuran sebenarnya.</li>
<li>Folder <strong>thumbs</strong> : untuk menyimpan hasil gambar yang telah di<em>resize</em> dan di<em>crop</em> sehingga hanya menampilkan sebagian gambar saja dari gambar aslinya.</li>
</ul>
<p>Next, kemudian buat file view dengan nama <strong>upload_form.php</strong> (contoh kode sama dengan tulisa sebelumnya) .</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Upload Form&lt;/title&gt;
	&lt;/head&gt;
&lt;body&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_open_multipart<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'upload/do_upload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
		&lt;input type=&quot;file&quot; name=&quot;photo&quot; size=&quot;20&quot; /&gt;
&nbsp;
		&lt;br /&gt;&lt;br /&gt;
&nbsp;
		&lt;input type=&quot;submit&quot; value=&quot;upload&quot; /&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_close<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>
&nbsp;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Terakhir buat class Controller dengan nama Upload.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * Upload Class
 *
 * @subpackage	Controller
 * @link        http://www.kohaci.com/
 * @author	Freddy Yuswanto
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Upload <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'form'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'image_moo'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'upload_form'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> do_upload<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_path'</span><span style="color: #009900;">&#93;</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./public/upload/real/&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allowed_types'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">'gif|jpg|png|jpeg'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_size'</span><span style="color: #009900;">&#93;</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_width'</span><span style="color: #009900;">&#93;</span>  	<span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_height'</span><span style="color: #009900;">&#93;</span>  	<span style="color: #339933;">=</span> <span style="color: #0000ff;">'2000'</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'upload'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$config</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: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">upload</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">do_upload</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;photo&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$data</span>	 	<span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">upload</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">/* PATH */</span>
            <span style="color: #000088;">$source</span>             <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./public/upload/real/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$destination_medium</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./public/upload/medium/&quot;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$destination_thumbs</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./public/upload/thumbs/&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$size_medium_width</span>  <span style="color: #339933;">=</span> <span style="color: #cc66cc;">300</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$size_medium_height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">300</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$size_thumb_width</span>   <span style="color: #339933;">=</span> <span style="color: #cc66cc;">150</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$size_thumb_height</span>  <span style="color: #339933;">=</span> <span style="color: #cc66cc;">150</span> <span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #009900;">&#41;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">/* RESIZING IMAGE TO BE MEDIUM SIZE */</span>
&nbsp;
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_medium_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_medium_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_medium</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'resize_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_background_colour</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#49F&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_medium_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_medium_height</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_medium</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'colour_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_medium_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_medium_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#ffffff&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#000000&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_medium</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'border_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_medium_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_medium_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_medium</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'corner_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_medium_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_medium_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_3d</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_medium</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'3d_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">/* CROPPING IMAGE TO BE THUMBNAIL SIZE */</span>
&nbsp;
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize_crop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_thumb_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_thumb_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'crop_'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_background_colour</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#49F&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_thumb_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_thumb_height</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'colour_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize_crop</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">150</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">150</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#ffffff&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#000000&quot;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'border_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize_crop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_thumb_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_thumb_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'corner_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize_crop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size_thumb_width</span><span style="color: #339933;">,</span><span style="color: #000088;">$size_thumb_height</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_3d</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
                <span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination_thumbs</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'3d_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_name'</span><span style="color: #009900;">&#93;</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: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">errors</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">print</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_moo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display_errors</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Lihat hasilnya di folder &lt;b&gt;medium&lt;/b&gt; dan &lt;b&gt;thumbs&lt;/b&gt; Anda.&quot;</span> <span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Jalankan dengan alamat :</p>
<p><strong>http://[nama server anda]/[folder ci anda]/index.php/upload </strong></p>
<p>Conto hasil :</p>
<div id="attachment_381" class="wp-caption aligncenter" style="width: 361px"><img class="size-full wp-image-381" title="Gambar asli : 351x480" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQJ70aiiqI/AAAAAAAAEEI/JW916ojOgwc/s800/0005%20%28Small%29.jpg" alt="Gambar asli : 351x480" width="351" height="480" /><p class="wp-caption-text">Gambar asli : 351x480</p></div>
<div id="attachment_383" class="wp-caption alignleft" style="width: 229px"><img class="size-full wp-image-383" title="Resize 219x300" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQJ72kaCGI/AAAAAAAAEEM/sLsAcFc9VA4/s800/resize_0005.jpg" alt="Resize 219x300" width="219" height="300" /><p class="wp-caption-text">Resize 219x300</p></div>
<div id="attachment_384" class="wp-caption alignright" style="width: 229px"><img class="size-full wp-image-384" title="Resize 3D 219x300" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQJ70Z2yNI/AAAAAAAAEEQ/zo7t0dqjbB8/s800/3d_0005.jpg" alt="Resize 3D 219x300" width="219" height="300" /><p class="wp-caption-text">Resize 3D 219x300</p></div>
<div id="attachment_387" class="wp-caption alignleft" style="width: 229px"><img class="size-full wp-image-387" title="Resize Corner 219x300" src="http://lh3.ggpht.com/_IL56WrTPeME/TMQK0q_A6QI/AAAAAAAAEEU/E-AokBbI6cc/s800/corner_0005.jpg" alt="Resize Corner 219x300" width="219" height="300" /><p class="wp-caption-text">Resize Corner 219x300</p></div>
<div id="attachment_385" class="wp-caption alignright" style="width: 229px"><img class="size-full wp-image-385" title="Resize Border 219x300" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQK0oHHu_I/AAAAAAAAEEY/49-tgXr-D0k/s800/border_0005.jpg" alt="Resize Border 219x300" width="219" height="300" /><p class="wp-caption-text">Resize Border 219x300</p></div>
<div style="clear:both;"></div>
<div id="attachment_386" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-386" title="Resize Colour 300x300" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQK02uKwkI/AAAAAAAAEEc/u7h48NTvLsc/s800/colour_0005.jpg" alt="Resize Colour 300x300" width="300" height="300" /><p class="wp-caption-text">Resize Colour 300x300</p></div>
<div style="clear:both;"></div>
<div id="attachment_389" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-389" title="Crop 150x150" src="http://lh6.ggpht.com/_IL56WrTPeME/TMQK0-nKCpI/AAAAAAAAEEg/3y1la8mM79c/s800/crop_0005.jpg" alt="Crop 150x150" width="150" height="150" /><p class="wp-caption-text">Crop 150x150</p></div>
<div id="attachment_390" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-390" title="Crop 3D 150x150" src="http://lh3.ggpht.com/_IL56WrTPeME/TMQK08Bz1iI/AAAAAAAAEEk/ulh7wb-rfVU/s800/3d_0005.jpg" alt="Crop 3D 150x150" width="150" height="150" /><p class="wp-caption-text">Crop 3D 150x150</p></div>
<div id="attachment_391" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-391" title="Crop Border 150x150" src="http://lh5.ggpht.com/_IL56WrTPeME/TMQMZv0eI5I/AAAAAAAAEEo/3zfRSpadcqo/s800/border_0005.jpg" alt="Crop Border 150x150" width="150" height="150" /><p class="wp-caption-text">Crop Border 150x150</p></div>
<div id="attachment_392" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-392" title="Crop Corner 150x150" src="http://lh5.ggpht.com/_IL56WrTPeME/TMQMZkra66I/AAAAAAAAEEs/EIEmkgXHO70/s800/corner_0005.jpg" alt="Crop Corner 150x150" width="150" height="150" /><p class="wp-caption-text">Crop Corner 150x150</p></div>
<div id="attachment_393" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-393" title="Crop Colour 150x150" src="http://lh3.ggpht.com/_IL56WrTPeME/TMQMZtEwqjI/AAAAAAAAEEw/eBdbmV-mcFQ/s800/colour_0005.jpg" alt="Crop Colour 150x150" width="150" height="150" /><p class="wp-caption-text">Crop Colour 150x150</p></div>
<div style="clear:both;"></div>
<p>Info selengkapnya tentang Image_moo dapat dilihat di websitenya di <a href="http://www.matmoo.com/digital-dribble/codeigniter/image_moo/" target="_blank">link ini</a>.</p>
<p>Semoga bermanfaat.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2010/10/24/image-manipulation-with-image_moos-library-codeigniter.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CodeIgniter + JQuery + JSON</title>
		<link>http://kohaci.com/2010/10/23/codeigniter-jquery-json-2.html</link>
		<comments>http://kohaci.com/2010/10/23/codeigniter-jquery-json-2.html#comments</comments>
		<pubDate>Sat, 23 Oct 2010 09:24:16 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[autofill]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[getElementById]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=261</guid>
		<description><![CDATA[JQuery adalah framework Javascript yang menekankan bagaimana interaksi antara Javascript dan HTML. JQuery merupakan salah satu framework yang membuat program web di sisi klien (Achmad Solichin). JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_369" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-369" title="jquery-logo" src="http://lh3.ggpht.com/_IL56WrTPeME/TMKntym9ouI/AAAAAAAAEDs/UMXZfu1UAow/s144/jquery-logo.png" alt="Write Less, Do More" width="150" height="150" /><p class="wp-caption-text">Write Less, Do More</p></div>
<p>JQuery adalah framework Javascript yang menekankan bagaimana interaksi antara Javascript dan HTML. JQuery merupakan salah satu framework yang membuat program web di sisi klien (<a href="http://www.scribd.com/doc/10965834/JQuery-Untuk-Orang-Awam-net" target="_blank">Achmad Solichin</a>). </p>
<p>JSON (<em>JavaScript Object Notation</em>) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (<a href="http://www.json.org" target="_blank">www.json.org</a>).</p>
<p>Pada tulisan kali ini, akan ditunjukkan salah satu implementasi penggunaan JSON dan JQuery dalam CodeIgniter. Pada contoh kali ini akan diimplementasi bagaimana proses pengambilan data dari database (MySQL) dengan metode GET dengan request dari klien ke server tanpa melalui proses submit.<br />
<span id="more-261"></span><br />
<div id="attachment_358" class="wp-caption aligncenter" style="width: 521px"><a href="http://picasaweb.google.com/freddy.august/" title="Gambar 1. Form dropdown"><img src="http://lh4.ggpht.com/_IL56WrTPeME/TMKntCuhzZI/AAAAAAAAEDg/BAC7I4tLrKI/s800/1.png" alt="" width="511" height="146" /></a><p class="wp-caption-text">Gambar 1. Form dropdown</p></div></p>
<p>Pada Gambar 1 saat user memasukkan kategori yang berupa pilihan dropdown secara otomasi nilai Input 1, Input 2, dan Input 3 terisi otomatis sesuai dengan kategorinya masing-masing.</p>
<div id="attachment_359" class="wp-caption aligncenter" style="width: 520px"><a href="http://picasaweb.google.com/freddy.august/"><img class="size-full wp-image-359" title="Gambar 2. Form Input Text" src="http://lh3.ggpht.com/_IL56WrTPeME/TMKntRCLibI/AAAAAAAAEDk/BmtQe3WzjV0/s800/2.png" alt="Gambar 2. Form Input Text" width="510" height="142" /></a><p class="wp-caption-text">Gambar 2. Form Input Text</p></div>
<p>Pada Gambar 2 saat user memasukkan kategori yang berupa input text dari user secara otomatis nilai Input 1, Input 2, dan Input 3 terisi secara otomasi sesuai dengan apa yang dimasukkan user.</p>
<p>Untuk hasil proses pada Gambar 1 dan Gambar 2 tidak perlu menggunakan proses submit ataupun perpindahan halaman. Caranya sebagai berikut :</p>
<p>Download JQuery <a title="Jquery's Official Website" href="http://www.jquery.com" target="_blank">disini</a>.</p>
<p>(Optional) Saya menggunakan jquery-1.3.2.min.js dan biasanya saya simpan di struktur folder seperti ini :</p>
<p><a href="http://picasaweb.google.com/freddy.august/"><img class="aligncenter size-full wp-image-360" title="3" src="http://lh6.ggpht.com/_IL56WrTPeME/TMKntgJtQpI/AAAAAAAAEDo/-UpcFQ7e9Gc/s800/3.jpg" alt="" width="222" height="211" /></a>tapi itu terserah Anda, asalkan Anda tahu lokasinya dimana, itu sudah cukup.</p>
<p>Membuat file <strong>ist.js</strong> yang merupakan fungsi javascript untuk meload data.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> getData<span style="color: #009900;">&#40;</span>type<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> kategori  <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;kat_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
&nbsp;
    $.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
        url<span style="color: #339933;">:</span> site_url <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/ist/&quot;</span> <span style="color: #339933;">+</span> type <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;_load/&quot;</span> <span style="color: #339933;">+</span> kategori<span style="color: #339933;">,</span>
        dataType<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;json&quot;</span><span style="color: #339933;">,</span>
        success<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            $.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span>data<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input1_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>     <span style="color: #339933;">=</span> n<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;input1&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
                document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input2_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>     <span style="color: #339933;">=</span> n<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;input2&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
                document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input3_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>     <span style="color: #339933;">=</span> n<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;input3&quot;</span><span style="color: #009900;">&#93;</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: #009900;">&#125;</span><span style="color: #339933;">,</span>
        error<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input1_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>   <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">;</span>
            document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input2_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>   <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">;</span>
            document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input3_&quot;</span> <span style="color: #339933;">+</span> type<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>   <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Membuat class di controller yang diberi nama class <strong>Ist</strong> di file <strong>ist.php</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * Description of ist
 *
 * @author  Freddy Yuswanto
 *          email   : freddy.august@gmail.com
 *          web     : http://www.kohaci.com
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Ist <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$table</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'jq_kategori'</span> <span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">database</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'form'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">form</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> form<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$query</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">table</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dw'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#93;</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'- Kategori - '</span> <span style="color: #339933;">;</span>
        <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$q</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dw'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$q</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #009900;">&#93;</span>   <span style="color: #339933;">=</span> <span style="color: #000088;">$q</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">kategori</span> <span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ist_view'</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* URL AJAX REQUEST */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> select_load<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">where</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">,</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$query</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">table</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: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">num_rows</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">row_array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> input_load<span style="color: #009900;">&#40;</span><span style="color: #000088;">$kategori</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kategori</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">like</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kategori'</span><span style="color: #339933;">,</span><span style="color: #000088;">$kategori</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #000088;">$query</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">table</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: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">num_rows</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">row_array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Membuat view yang diberi nama <strong>ist_view.php</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Tes&lt;/title&gt;
&nbsp;
&lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> base_url<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>public/javascript/ist.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&nbsp;
&lt;script type=&quot;text/javascript&quot;&gt;
// &lt;![CDATA[
    var site_url    = &quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> site_url<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>&quot; ;
// ]]&gt;
&lt;/script&gt;
&nbsp;
&lt;h1&gt;DEMO DATA DROPDOWN&lt;/h1&gt;
&nbsp;
&lt;p&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_dropdown<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kategori_id'</span><span style="color: #339933;">,</span><span style="color: #000088;">$dw</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;kat_select&quot; onchange=&quot;getData(\'select\'); return false;&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;p&gt; Input 1 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input1'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input1_select&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;p&gt; Input 2 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input2'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input2_select&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;p&gt; Input 3 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input3'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input3_select&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&nbsp;
&lt;h1&gt;DEMO DATA TEXT&lt;/h1&gt;
&lt;p&gt;
    <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kategori'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;kat_input&quot; onkeypress=&quot;getData(\'input\');&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;em&gt;(exp. hewan, kendaraan, angkutan, makan, minum)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt; Input 1 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input1'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input1_input&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;p&gt; Input 2 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input2'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input2_input&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;p&gt; Input 3 <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> form_input<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'input3'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'id=&quot;input3_input&quot;'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&nbsp;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Dan terakhir jangan lupa, databasenya. Untuk contoh kali ini tabel yang kita pakai adalah <strong>jq_kategori</strong> .</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">EXISTS</span> <span style="color: #ff0000;">`jq_kategori`</span> <span style="color: #66cc66;">&#40;</span>
  <span style="color: #ff0000;">`id`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`kategori`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">45</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`input1`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">45</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`input2`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">45</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`input3`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">45</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>MyISAM  <span style="color: #993333; font-weight: bold;">DEFAULT</span> CHARSET<span style="color: #66cc66;">=</span>latin1 <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">6</span> ;
&nbsp;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`jq_kategori`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`kategori`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`input1`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`input2`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`input3`</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Kendaraan'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Motor'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Mobil'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Kapal'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Angkutan Umum'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Bajaj'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Ojek'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Bus'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Makanan'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Sate'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Bakso'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Dendeng Batokok'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Hewan'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Sapi'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Kambing'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Ular'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Minuman'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Orange Juice'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Teh Manis'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Kopi'</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Sebelum mencoba jangan lupa, set <strong>base_url</strong> dan <strong>database</strong> di config CodeIgniter sesuai dengan aturan CodeIgniter. Dan jalankan alamat berikut :</p>
<p><strong>http://[nama server anda]/[folder ci anda]/index.php/ist </strong></p>
<p>Selamat mencoba, dan jika bingung jangan ragu untuk bertanya. Happy Coding. <img src='http://kohaci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a title="Demo" href="http://www.kohaci.com/ci-demo/index.php/ist" target="_blank">Demo</a>.</p>
<p>Download source code lengkap <a title="Download source code" href="https://sites.google.com/site/kohaci/berkas/ci-demo.rar?attredirects=0&#038;d=1" target="_blank">di sini.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2010/10/23/codeigniter-jquery-json-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Value to Variable</title>
		<link>http://kohaci.com/2010/03/24/value-to-variable.html</link>
		<comments>http://kohaci.com/2010/03/24/value-to-variable.html#comments</comments>
		<pubDate>Wed, 24 Mar 2010 07:48:08 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>
		<category><![CDATA[call by reference]]></category>
		<category><![CDATA[value to variable]]></category>
		<category><![CDATA[variable]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=249</guid>
		<description><![CDATA[Seringkali gw melihat kode fungsi yang dtuliskan seperti bawah ini function contoh_fungsi&#40;$a = NULL, $b = 8, $c = NULL, $d = 'D', $e = '150', $f = '30', $g = NULL, $h = 7200&#41; &#123; // bla ... bla .. &#125; Kode di atas benar, dan tentu aja gak salah sama sekali ^-^ . [...]]]></description>
			<content:encoded><![CDATA[<p>Seringkali gw melihat kode fungsi yang dtuliskan seperti bawah ini</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">function</span> contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">,</span> <span style="color: #000088;">$c</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$d</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'D'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'150'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$f</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$g</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">7200</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// bla ... bla ..</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Kode di atas benar, dan tentu aja gak salah sama sekali ^-^ . Tapi sungguh menyenangkan (bagi gw) jika disederhanakan lagi fungsinya menjadi :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">       <span style="color: #000000; font-weight: bold;">function</span> contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</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: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// bla ... bla ..</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Lho kok bisa?<span id="more-249"></span></p>
<p>Kembali ke contoh kode awal, jika ingin mengganti value dari variable  $a saja :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$a</span>	<span style="color: #339933;">=</span> <span style="color: #cc66cc;">3600</span>
	contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p>Begitupun kalau gak ada value default yang berubah</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p>Tapi yang menjadi persoalan gimana kalau kita hanya ingin mengganti value dari variable $h saja, dengan cara penulisan di atas maka cara memanggilnya adalah .</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$h</span>	<span style="color: #339933;">=</span> <span style="color: #cc66cc;">3600</span>
	contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'D'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'150'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$h</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p>Bukan masalah panjangnya, yang repot adalah gw harus tahu nilai default dari masing-masing variable , dan variablenya itu ada banyak. Karena daya ingat gw gak terlalu terlalu <img src='http://kohaci.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  , bagi gw itu cukup merepotkan jika memanggil fungsi tersebut jika hanya mengubah satu variable defaultny saja yang kebetulan ada posisi akhir. <img src='http://kohaci.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>So, lebih baik dibikin alternatif, manfaatkan fleksibiltas variable di PHP yang on-the-fly (kata sebagian orang). Kata kuncinya adalah <strong>&#8220;value to variable&#8221;</strong> , maksudnya mengubah value menjadi variable , misalkan ada value &#8220;hai&#8221; maka akan dijadikan $hai.</p>
<p>contoh :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$var</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;hai&quot;</span> <span style="color: #339933;">;</span>
<span style="color: #000088;">$$var</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;freddy ganteng&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$var</span> <span style="color: #006699; font-weight: bold;">$hai</span>&quot;</span> <span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// print &quot;hai freddy ganteng&quot;</span></pre></td></tr></table></div>

<p>Modifikasi untuk fungsi di atas</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</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: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$defaults</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'b'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'c'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'d'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'D'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'e'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'150'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'f'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'30'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'g'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'h'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">7200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$defaults</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$$key</span> <span style="color: #339933;">=</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;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$val</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// bla .. bla ..</span>
	<span style="color: #666666; font-style: italic;">// contoh bla .. bla ..</span>
	<span style="color: #b1b100;">echo</span> 	<span style="color: #0000ff;">&quot;a =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;b =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$b</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;c =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$c</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;d =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$d</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;e =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$e</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;f =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;g =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$g</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;h =&gt; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$h</span> <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Cara memanggil</span>
<span style="color: #000088;">$data</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'h'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2500</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
contoh_fungsi<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Semoga berguna. CMIIW.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2010/03/24/value-to-variable.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Menghindari duplikasi nama file saat proses upload</title>
		<link>http://kohaci.com/2009/09/04/menghindari-duplikasi-nama-file-saat-proses-upload.html</link>
		<comments>http://kohaci.com/2009/09/04/menghindari-duplikasi-nama-file-saat-proses-upload.html#comments</comments>
		<pubDate>Fri, 04 Sep 2009 07:37:44 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=216</guid>
		<description><![CDATA[Seringkali kita membuat kode (PHP) untuk membuat upload file seperti di bawah ini : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // Folder tempat isi file upload $dir = &#34;upload/&#34; ; &#160; // Nama File yang diupload $filename = $_FILES&#91;'upload'&#93;&#91;'name'&#93; ; &#160; // Spesifikasi lokasi file yang akan [...]]]></description>
			<content:encoded><![CDATA[<p>Seringkali kita membuat kode (PHP) untuk membuat <em>upload file</em> seperti di bawah ini :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Folder tempat isi file upload</span>
<span style="color: #000088;">$dir</span>		<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;upload/&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Nama File yang diupload</span>
<span style="color: #000088;">$filename</span>	<span style="color: #339933;">=</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Spesifikasi lokasi file yang akan diupload</span>
<span style="color: #000088;">$target_dir</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// upload</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">move_uploaded_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$target_dir</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;">TRUE</span> <span style="color: #339933;">;</span>
<span style="color: #b1b100;">else</span> 
	<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Kode di atas memiliki kelemahan, salah satunya adalah jika di<em>upload file</em> <strong>berkas.odt</strong> kedalam folder &#8220;<strong>upload</strong>&#8220;, dimana sebelumnya di dalam folder <strong>upload</strong> telah ada file <em>berkas.odt</em>, maka <em>berkas.odt</em> yang lama akan te-<em>replace</em> oleh <em>berkas.odt yang baru</em>. Mungkin tidak akan ada masalah jika <em>file-file</em> tersebut serupa dan sama. Tapi jika <em>file-file</em> tersebut serupa tapi tidak sama (maksudnya nama <em>file</em> sama tetapi isi atau konten di dalamnya berbeda), tentu proses <span id="more-216"></span>pengoleksian <em>file-file</em> yang telah di<em>upload</em> menjadi kacau, dan pasti kode di atas salah.</p>
<p>Untuk itu perlu diperbaiki kode program di atas untuk menghindari terjadi duplikasi nama <em>file</em> saat proses <em>upload</em>.</p>
<p>Berikut contoh kode perbaikannya :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Folder tempat isi file upload</span>
<span style="color: #000088;">$dir</span>		<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;upload/&quot;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Nama file yang diupload</span>
<span style="color: #000088;">$filename</span>	<span style="color: #339933;">=</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Spesifikasi lokasi file yang akan diupload</span>
<span style="color: #000088;">$target_dir</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* 
* Gunakan fungsi file_exists() untuk memeriksa apakah 
* file X telah ada sebelumnya di folder Y 
*/</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$target_dir</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;">/* 
	* Iterasi sampai 100 dg asusmi file duplikasi (bernama sama) itu maksimal 100, 
	* lebih dari itu ... TERLALU (mode on Bang Rhoma) :-p
	*/</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;">100</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: #009900;">&#123;</span> 
		<span style="color: #000088;">$target_dir</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'-'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filename</span> <span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">/* 
		* Misal file berkas.odt ada di folder sebelumnya, 
		* maka file berkas.odt yang baru akan direname menjadi 1-berkas.odt
		*/</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$target_dir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// upload</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">move_uploaded_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$target_dir</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;">TRUE</span> <span style="color: #339933;">;</span>
<span style="color: #b1b100;">else</span> 
	<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Selamat mencoba. CMIIW.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2009/09/04/menghindari-duplikasi-nama-file-saat-proses-upload.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tip dan Trik Optimasasi Query SQL (bag 1)</title>
		<link>http://kohaci.com/2009/03/27/tip-dan-trik-optimasasi-query-sql-bag-1.html</link>
		<comments>http://kohaci.com/2009/03/27/tip-dan-trik-optimasasi-query-sql-bag-1.html#comments</comments>
		<pubDate>Fri, 27 Mar 2009 00:43:17 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=167</guid>
		<description><![CDATA[Misalkan gw punya tiga tabel di database yang mana ketiga database tersebut saling berhubungan , yaitu Tabel Mahasiswa , MataKuliah, dan Mahasiswa_MataKuliah . Tabel Mahasiswa terdiri dari dua kolom , yaitu : ID_Mahasiswa dan Nama_Mahasiswa. Tabel MataKuliah terdiri dari dua kolom, yaitu ID_MataKuliah dan Nama_MataKuliah. Dan terakhir tabel Mahasiswa_MataKuliah yang terdiri dari ID_Mahasiswa dan ID_MataKuliah. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Misalkan gw punya tiga tabel di database yang mana ketiga database tersebut saling berhubungan , yaitu Tabel Mahasiswa , MataKuliah, dan Mahasiswa_MataKuliah .</p>
<p style="text-align: justify;">Tabel <strong>Mahasiswa</strong> terdiri dari dua kolom , yaitu : <em>ID_Mahasiswa</em> dan <em>Nama_Mahasiswa</em>. Tabel <strong>MataKuliah</strong> terdiri dari dua kolom, yaitu <em>ID_MataKuliah</em> dan <em>Nama_MataKuliah</em>. Dan terakhir tabel <strong>Mahasiswa_MataKuliah</strong> yang terdiri dari <em>ID_Mahasiswa</em> dan <em>ID_MataKuliah</em>. Tabel terakhir menunjukkan hubungan antara Mahasiswa dan MataKuliah yang bersifat many to many, dimana satu mahasiswa bisa memiliki banyak mata kuliah dan begitu juga sebaliknya.</p>
<p><span id="more-167"></span></p>
<p style="text-align: justify;">Proses Pertama : <strong>INSERT</strong> .</p>
<p style="text-align: justify;">Anggap semua terjadi dalam satu proses sekaligus.</p>
<p style="text-align: justify;">Cara primitif <img src='http://kohaci.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  :</p>
<p style="text-align: justify;">

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// INSERT Mahasiswa</span>
<span style="color: #000088;">$sql_mahasiswa</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa VALUES (NULL, '&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$Nama_Mahasiswa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;')&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// INSERT MataKuliah</span>
<span style="color: #000088;">$sql_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa VALUES (NULL, '&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$Nama_MataKuliah</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;')&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Ambil ID Mahasiswa yang baru dimasukkan</span>
<span style="color: #000088;">$sql_id_mahasiswa</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT ID_Mahasiswa FROM Mahasiswa ORDER BY ID_Mahasiswa DESC LIMIT 1&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #000088;">$rs_id_mahasiswa</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql_id_mahasiswa</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// dan bla... bla.. sehingga</span>
<span style="color: #000088;">$ID_Mahasiswa</span>		<span style="color: #339933;">=</span> <span style="color: #000088;">$rs_id_mahasiswa</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID_Mahasiswa'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Ambil ID MataKuliah yang baru dimasukkan</span>
<span style="color: #000088;">$sql_id_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT ID_MataKuliah FROM MataKuliah ORDER BY ID_MataKuliah DESC LIMIT 1&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #000088;">$rs_id_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql_id_matakuliah</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// dan bla... bla.. sehingga</span>
<span style="color: #000088;">$ID_MataKuliah</span>		<span style="color: #339933;">=</span> <span style="color: #000088;">$rs_id_matakuliah</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID_MataKuliah'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Sehingga tinggal dimasukkan ke Tabel Mahasiswa_MataKuliah</span>
<span style="color: #000088;">$sql_mahasiswa_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa_MataKuliah VALUES ('&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$ID_Mahasiswa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;','&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$ID_MataKuliah</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;')&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>	
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

</p>
<p style="text-align: justify;">Cara optimasasi :</p>
<p style="text-align: justify;">

<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;">// INSERT Mahasiswa</span>
<span style="color: #000088;">$sql_mahasiswa</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa VALUES (NULL, '&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$Nama_Mahasiswa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;')&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// INSERT MataKuliah</span>
<span style="color: #000088;">$sql_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa VALUES (NULL, '&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$Nama_MataKuliah</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;')&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Langsung dimasukkan ke tabel Mahasiswa_MataKuliah</span>
<span style="color: #000088;">$sql_mahasiswa_matakuliah</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO Mahasiswa_Matakuliah
							SELECT 	(SELECT ID_Mahasiswa FROM Mahasiswa ORDER BY ID_Mahasiswa DESC LIMIT 1),
								(SELECT ID_MataKuliah FROM MataKuliah ORDER BY ID_MataKuliah DESC LIMIT 1)
						&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// ATAU .... ?</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

</p>
<p style="text-align: justify;">Proses Kedua :  <strong>READ</strong></p>
<p style="text-align: justify;">

<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;">// Proses read dengan mengambil seluruh mahasiswa berikut mata kuliah yang diambilnya</span>
<span style="color: #000088;">$sql</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;
			SELECT Nama_Mahasiswa, Nama_MataKuliah 
				FROM Mahasiswa M, MataKuliah MK, Mahasiswa_MataKuliah MM 
				WHERE 	MM.ID_Mahasiswa	= M.ID_Mahasiswa AND
					MM.ID_MataKuliah= MK.ID_Mahasiswa
		&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Proses read dengan megambil beberapa mahasiswa ($limit) berikut mata kuliah yang diambilnya</span>
<span style="color: #666666; font-style: italic;">// $limit = batasan yang ditampilkan</span>
<span style="color: #666666; font-style: italic;">// $start = mulai dari baris berapa ditampilkan</span>
<span style="color: #000088;">$sql</span>	<span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;
			SELECT Nama_Mahasiswa, Nama_MataKuliah 
				FROM 	(SELECT ID_Mahasiswa, Nama_Mahasiswa FROM Mahasiswa LIMIT &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$start</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$limit</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;) M, 
					MataKuliah MK, Mahasiswa_MataKuliah MM 
				WHERE 	MM.ID_Mahasiswa	= M.ID_Mahasiswa AND
					MM.ID_MataKuliah= MK.ID_Mahasiswa
		&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

</p>
<p style="text-align: justify;">Semoga bermanfaat . Good Luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2009/03/27/tip-dan-trik-optimasasi-query-sql-bag-1.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Trik Menghapus Method Index di CI (Kasus : Pagination)</title>
		<link>http://kohaci.com/2009/03/20/trik-menghapus-method-index-di-ci.html</link>
		<comments>http://kohaci.com/2009/03/20/trik-menghapus-method-index-di-ci.html#comments</comments>
		<pubDate>Fri, 20 Mar 2009 07:05:36 +0000</pubDate>
		<dc:creator>kohaci</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming-Q]]></category>

		<guid isPermaLink="false">http://kohaci.com/?p=162</guid>
		<description><![CDATA[Umumnya jika membuat pagination di CI, dasarnya seperti ini : class Blog extends Controller &#123; &#160; public function __construct&#40;&#41; &#123; parent::Controller&#40;&#41;; &#125; &#160; public function index&#40;&#41; &#123; $this-&#62;load-&#62;library&#40;'pagination'&#41;; &#160; $config&#91;'base_url'&#93; = site_url&#40;'blog/index'&#41; ; $config&#91;'total_rows'&#93; = '200'; $config&#91;'per_page'&#93; = '20'; &#160; $this-&#62;pagination-&#62;initialize&#40;$config&#41;; &#160; echo $this-&#62;pagination-&#62;create_links&#40;&#41;; &#125; &#160; &#125;   Tautannya akan membentuk seperti ini : www.example.com/blog/index/10 [...]]]></description>
			<content:encoded><![CDATA[<p>Umumnya jika membuat pagination di CI, dasarnya seperti ini :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Blog <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pagination'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'base_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> site_url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blog/index'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span> 
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'total_rows'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'200'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'per_page'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'20'</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pagination</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">initialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$config</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pagination</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_links</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p> </p>
<p>Tautannya akan membentuk seperti ini :</p>
<blockquote><p><strong>www.example.com/blog/index/10</strong></p></blockquote>
<p>Dengan <strong>Blog</strong> sebagai nama class dan <strong>index</strong> sebagai nama method. Permasalahannya saat ini gw pengen menghapus nama methodnya, sehingga di URL akan kelihatan seperti ini :</p>
<blockquote><p><strong>www.example.com/blog/10</strong></p></blockquote>
<p>Cara dengan menambahkan method <em>_remap()</em> , source codenya akan seperti ini :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000000; font-weight: bold;">class</span> Blog <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span>  __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #000088;">$page</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pagination'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'base_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> site_url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blog'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span> 
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'total_rows'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'200'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'per_page'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'20'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cur_page'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$page</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Halaman terakhir yang dilihat</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pagination</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">initialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$config</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pagination</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_links</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Method untuk menyederhanakan URI</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> _remap<span style="color: #009900;">&#40;</span><span style="color: #000088;">$method</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">index</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$method</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Pengembangannya selanjutnya diserahkan kepada pembaca. Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://kohaci.com/2009/03/20/trik-menghapus-method-index-di-ci.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

