<?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>arif.suparlan.com</title>
	<atom:link href="http://arif.suparlan.com/feed" rel="self" type="application/rss+xml" />
	<link>http://arif.suparlan.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 16 May 2012 15:23:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Konfigurasi Ubuntu Guest di VirtualBox</title>
		<link>http://arif.suparlan.com/2012/05/16/konfigurasi-ubuntu-guest-di-virtualbox?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=konfigurasi-ubuntu-guest-di-virtualbox</link>
		<comments>http://arif.suparlan.com/2012/05/16/konfigurasi-ubuntu-guest-di-virtualbox#comments</comments>
		<pubDate>Wed, 16 May 2012 15:22:01 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[host-only]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=612</guid>
		<description><![CDATA[Tempo hari sudah coba install VirtualBox, kemudian install Ubuntu sebagai guest OS di VirtualBox, sekarang saatnya sedikit oprek konfigurasi Ubuntu-nya. Saya ingin supaya guest OS ini bisa mengakses Internet dan juga diakses melalui host OS (Windows). Supaya Ubuntu guest OS &#8230; <a href="http://arif.suparlan.com/2012/05/16/konfigurasi-ubuntu-guest-di-virtualbox">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tempo hari sudah coba <em>install</em> <a href="http://arif.suparlan.com/2011/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows" target="_blank">VirtualBox</a>, kemudian <a href="http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-server" target="_blank">install Ubuntu sebagai guest OS di VirtualBox</a>, sekarang saatnya sedikit oprek konfigurasi Ubuntu-nya. Saya ingin supaya <em>guest</em> OS ini bisa mengakses Internet dan juga diakses melalui <em>host</em> OS (Windows).<span id="more-612"></span></p>
<p>Supaya Ubuntu guest OS ini bisa mengakses Internet via host OS, maka salah satu <em>adapter</em> VirtualBox harus diset menjadi NAT. Misalnya Adapter 1 diset jadi NAT.</p>
<p>Kemudian supaya host OS dalam satu jaringan dengan guest OS, maka salah satu adapternya harus diset jadi Host-only. Katakanlah Adapter 2 diset jadi Host-only. Sebenarnya yang saya perlukan supaya host OS dapat mengakses guest OS, misalnya SSH dengan Putty.</p>
<p>Dengan ini bagian Ubuntu pun perlu disetting. Pertama, login ke Ubuntu dan dapatkan akses root dengan mengetik <code>sudo su -</code>, kemudian ketikkan password root.</p>
<p>Kedua, buka file interfaces dengan cara berikut, <code>vim /etc/network/interfaces</code></p>
<p>Ketiga, set eth0 (Adapter 0) dengan setingan dhcp. Defaultnya seharusnya memang sudah dhcp, kalau begitu biarkan saja. Kalau tidak, ubah seperti berikut.</p>
<pre>auto eth0
iface eth0 inet dhcp</pre>
<p>Keempat, di host OS Windows, jalankan Command Promt ([Win-logo-button] + R, ketik cmd, Enter). Ketikkan <code>ipconfig</code>. Perhatikan bagian &#8220;Ethernet adapter VirtualBox Host-Only Network&#8221;, seperti di bawah ini. Itu berarti akan menggunakan IP segment 192.168.56.</p>
<pre>Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::98db:70fe:d936:496b%17
   IPv4 Address. . . . . . . . . . . : 192.168.56.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :</pre>
<p>Kelima, kembali ke <code>vim /etc/network/interfaces</code>, buat setingan IP static untuk eth1 (Adapter 2), dengan mengikut IP segment tadi. Seperti contoh:</p>
<pre>auto eth1
iface eth1 inet static
address 192.168.56.100
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255</pre>
<p>Keenam, di Ubuntu, simpan setingan file interface tersebut. Kemudian reset eth0, eth1, dan restart service networking dengan command berikut.</p>
<pre>root@ubuntu:~# ifconfig eth0 up
root@ubuntu:~# ifconfig eth1 up
root@ubuntu:~# /etc/init.d/networking restart</pre>
<p>Ketujuh, kalau semua berjalan dengan baik, dari guest OS bisa ping ke google.com dan IP host OS yaitu 192.168.56.1. Dan dari host OS bisa ping balik ke IP statik guest OS yaitu 192.168.56.100.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2012/05/16/konfigurasi-ubuntu-guest-di-virtualbox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memisahkan folder htdocs dan MySQL data di XAMPP</title>
		<link>http://arif.suparlan.com/2012/05/15/memisahkan-folder-htdocs-dan-mysql-data-di-xampp?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=memisahkan-folder-htdocs-dan-mysql-data-di-xampp</link>
		<comments>http://arif.suparlan.com/2012/05/15/memisahkan-folder-htdocs-dan-mysql-data-di-xampp#comments</comments>
		<pubDate>Tue, 15 May 2012 09:55:08 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[htdocs]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql-data]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=596</guid>
		<description><![CDATA[Saya mengandalkan XAMPP sebagai webserver Apache, PHP dan MySQL. Dan tujuan saya untuk memisahkan folder htdocs dan MySQL data dari XAMPP adalah supaya mudah di-backup, tinggal meng-copy folder tersebut, dan untuk restore tinggal arahkan path-pathnya. Memang agak aneh, tapi saya &#8230; <a href="http://arif.suparlan.com/2012/05/15/memisahkan-folder-htdocs-dan-mysql-data-di-xampp">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Saya mengandalkan <a href="http://www.apachefriends.org" target="_blank">XAMPP</a> sebagai webserver Apache, PHP dan MySQL. Dan tujuan saya untuk memisahkan folder htdocs dan MySQL data dari XAMPP adalah supaya mudah di-backup, tinggal meng-<em>copy</em> folder tersebut, dan untuk <em>restore</em> tinggal arahkan <em>path-path</em>nya. Memang agak aneh, tapi saya suka setingan seperti ini.<span id="more-596"></span></p>
<p>Kalau dulu saya sering ber-repot-repot meng-install satu-satu Apache, PHP dan MySQL. Ya itu sekalian buat sambil belajar konfigurasi server, jadi lama-lama bisa tau seluk beluk webserver Apache juga. Tapi sekarang untuk <em>development</em>, saya perlu yang instant, maka saya pake XAMPP.</p>
<p>Pertama pastikan Apache &amp; MySQL dalam keadaan stop. Kemudian siapkan folder misalnya <code>D:/webdev/htdocs</code> untuk folder htdocs, dan <code>D:/webdev/mysql-data</code> untuk folder data MySQL.</p>
<p>Kedua, buka dan edit setingan Apache supaya folder htdocs tersebut dapat di akses melalui <code>http://localhost/webdev</code>. Buat alias untuk folder webdev. Buka file berikut <code>C:\xampp\apache\conf\extra\httpd-xampp.conf</code>. <em>Copy paste</em> setingan beritkut setelah/di dalam line ini.</p>
<pre>Alias /webdev "D:/webdev/htdocs/"
    &lt;Directory "D:/webdev/htdocs"&gt;
		Options Indexes FollowSymLinks Includes ExecCGI
		AllowOverride All
		Order allow,deny
		Allow from all
    &lt;/Directory&gt;</pre>
<p>Ketiga, untuk MySQL, copykan data dalam folder berikut <code>C:\xampp\mysql\data</code> ke <code>D:\webdev\mysql-data</code>. Kemudian buka dan edit file berikut <code>C:\xampp\mysql\bin\my.ini</code>, ganti nilai variable berikut datadir, innodb_data_home_dir, dan innodb_log_group_home_dir seperti berikut:</p>
<pre>datadir="D:/webdev/mysql-data"
innodb_data_home_dir = "D:/webdev/mysql-data"
innodb_log_group_home_dir = "D:/webdev/mysql-data"</pre>
<p>Keempat, buka di browser url <code>http://localhost/webdev</code>. Seharusnya dapat langsung diakses.</p>
<p>Perlu diperhatikan bahwa beberapa aplikasi web perlu di seting ulang untuk <em>path</em>nya. Yang perlu diubah di config misalnya path yang dulunya <code>C:\xampp\htdocs</code> menjadi <code>D:\webdev\htdocs</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2012/05/15/memisahkan-folder-htdocs-dan-mysql-data-di-xampp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yii: Cara buat CRUD di dalam Module menggunakan Gii</title>
		<link>http://arif.suparlan.com/2012/05/10/yii-cara-buat-crud-di-dalam-module-menggunakan-gii?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=yii-cara-buat-crud-di-dalam-module-menggunakan-gii</link>
		<comments>http://arif.suparlan.com/2012/05/10/yii-cara-buat-crud-di-dalam-module-menggunakan-gii#comments</comments>
		<pubDate>Thu, 10 May 2012 10:35:26 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[crud]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=601</guid>
		<description><![CDATA[Saya baru coba-coba lagi framework PHP yang bernama Yii ini. Dokumentasi Yii memang tidak selengkap Codeigniter, tapi Yii punya Gii yang bisa generate Controller, Model, Form, CRUD, dan Module. Di Codeigniter, Module saja ga ada. Ternyata gampang men-generate Module di &#8230; <a href="http://arif.suparlan.com/2012/05/10/yii-cara-buat-crud-di-dalam-module-menggunakan-gii">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Saya baru coba-coba lagi framework PHP yang bernama Yii ini. Dokumentasi Yii memang tidak selengkap Codeigniter, tapi Yii punya Gii yang bisa generate Controller, Model, Form, CRUD, dan Module. Di Codeigniter, Module saja ga ada. Ternyata gampang men-<em>generate</em> Module di Gii, dan saya juga bisa buat CRUD di dalam Module tersebut. Caranya?<span id="more-601"></span></p>
<p>Sebelum melanjutkan setidaknya harus paham cara meng-<em>install</em> Yii di webserver. Itu bisa lihat <a href="http://www.yiiframework.com/doc/guide/" target="_blank">di sini</a>. Anggaplah webapp atau foldernya kita namai dengan &#8220;yiitest&#8221;, dan saya mau membuat module dengan nama &#8216;user_access&#8217;. Kemudian setelah installasi ikuti langkah-langkah berikut.</p>
<ol>
<li>Aktifkan Gii, dengan meng-<em>uncomment</em>  module bagian &#8220;Gii&#8221; di <code>protected\config\main.php</code>. Dan setting passwordnya seperti ini:
<pre>'modules'=&gt;array(
 // uncomment the following to enable the Gii tool
 /**/
 'gii'=&gt;array(
 'class'=&gt;'system.gii.GiiModule',
 'password'=&gt;'password',
 // If removed, Gii defaults to localhost only. Edit carefully to taste.
 'ipFilters'=&gt;array('127.0.0.1','::1'),
 ),</pre>
</li>
<li>Buka url berikut http://localhost/yiitest/index.php?r=gii, login dengan password yg diset tadi.</li>
<li>Buka link &#8220;Module Generator&#8221;. Isikan Module ID dengan &#8216;user_access&#8217;. Tekan tombol Preview. Akan menghasilkan seperti berikut. Kemudian tekan tombol Generate.
<pre>modules\user_access\User_accessModule.php
modules\user_access\components
modules\user_access\controllers\DefaultController.php
modules\user_access\messages
modules\user_access\models
modules\user_access\views\default\index.php
modules\user_access\views\layouts</pre>
<p>Buka folder ini protected\modules\user_access, module sudah di-generate.</li>
<li>Tambahkan module &#8216;user_access&#8217; yang telah dibuat tadi di config <code>protected\config\main.php</code>
<pre>'modules'=&gt;array(
 // uncomment the following to enable the Gii tool
 /**/
 'gii'=&gt;array(
 'class'=&gt;'system.gii.GiiModule',
 'password'=&gt;'qweasd',
 // If removed, Gii defaults to localhost only. Edit carefully to taste.
 'ipFilters'=&gt;array('127.0.0.1','::1'),
 ),
 <strong>'user_access', //&lt;--- ini jangan lupa, module harus didaftarkan di config</strong></pre>
</li>
<li>Buat Database MySQL sebagai berikut:
<pre> CREATE TABLE IF NOT EXISTS `tbl_user` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `username` varchar(20) NOT NULL,
 `password` varchar(128) NOT NULL,
 `created_when` datetime NOT NULL,
 `last_login` datetime NOT NULL,
 `status` int(1) NOT NULL DEFAULT '0',
 PRIMARY KEY (`id`),
 UNIQUE KEY `username` (`username`),
 KEY `status` (`status`),
 KEY `superuser` (`superuser`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</pre>
</li>
<li>Buka link &#8220;Model Generator.&#8221; Isikan form sebagai berikut:
<pre> Table Prefix: tbl_
 Table Name: tbl_user
 Model Class: User
 Model Path : application.modules.user_access.models</pre>
<p>Previewnya seperti berikut di bawah, setelah itu kemudian tekan tombol Generate</p>
<pre>modules\user_access\models\User.php</pre>
</li>
<li>Kemudian buka link &#8220;Crud Generator&#8221;. Isikan form sebagai berikut:
<pre> Model Class: user_access.models.User
 Controller ID: user_access/user</pre>
<pre>modules\user_access\controllers\UserController.php
modules\user_access\views\user\_form.php
modules\user_access\views\user\_search.php
modules\user_access\views\user\_view.php
modules\user_access\views\user\admin.php
modules\user_access\views\user\create.php
modules\user_access\views\user\index.php
modules\user_access\views\user\update.php
modules\user_access\views\user\view.php</pre>
<p>Perhatikan folder <code>protected\modules\user_access</code> sudah di-generate dengan Controller, Model, View, dsb.</li>
<li>CRUD dapat di akses dengan membuka url berikut http://localhost/yiitest/index.php?r=user_access</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2012/05/10/yii-cara-buat-crud-di-dalam-module-menggunakan-gii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fungsi PHP: Paging dengan Parameter Tambahan</title>
		<link>http://arif.suparlan.com/2012/04/01/fungsi-php-paging-dengan-parameter-tambahan?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fungsi-php-paging-dengan-parameter-tambahan</link>
		<comments>http://arif.suparlan.com/2012/04/01/fungsi-php-paging-dengan-parameter-tambahan#comments</comments>
		<pubDate>Sun, 01 Apr 2012 13:50:29 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[paging]]></category>
		<category><![CDATA[parameter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=578</guid>
		<description><![CDATA[Dulu sudah pernah buat helper paging atau pagination untuk Codeigniter, dengan fitur untuk ditambahkan parameter seperti filter, lengkap dengan menggunakan URI assoc atau Associative Array. Tapi kali ini rasanya perlu dibuat fungsi paging untuk versi PHP murni alias tanpa framework &#8230; <a href="http://arif.suparlan.com/2012/04/01/fungsi-php-paging-dengan-parameter-tambahan">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dulu sudah pernah buat helper <a href="http://arif.suparlan.com/2011/11/13/codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan">paging atau pagination untuk Codeigniter</a>, dengan fitur untuk ditambahkan parameter seperti filter, lengkap dengan menggunakan URI assoc atau Associative Array. Tapi kali ini rasanya perlu dibuat fungsi paging untuk versi PHP murni alias tanpa framework (CI), karena kadang ini diperlukan juga untuk script-script pendek, atau yang perlu menggunakan fungsi ini untuk belajar.<span id="more-578"></span></p>
<p>Proses paging biasanya yang diperlukan adalah total record, offset, dan limit dari situ aja bisa didapat jumlah halaman yang kemudian diolah jadi link-link dari offset dan limit. Di sini ada tambahan parameter yaitu query string yang disertakan ke dalam link paging tadi, artinya parameter dari GET nantinya juga disertakan di link paging tersebut.</p>
<p>Langsung saja, bisa dilihat <a href="http://arif.suparlan.com/demo/paging/" title="Demo paging" target="_blank">demonya di sini</a>.<br />
Atau copas <a href="http://arif.suparlan.com/demo/paging/paging.php.txt" title="Fungsi paging" target="_blank">sourcenya di sini</a>.</p>
<p>Berikut fungsi pagingnya:</p>
<pre>function paging($varnm, $total, $offset, $limit, $qstr='')
{
	//query string
	$nqstr = '';
	foreach($qstr as $key =&gt; $value)
	{
		if ($varnm!=$key)
			$nqstr .= $key.'='.$value.'&amp;';
	}

	//offset top bot
	$p_str = $rt = '';
	if ($offset=='') $offset=0;
	$lim_bot = 4;
	$lim_top = 3;
	$bot = ($offset/$limit)-$lim_bot;
	$top = ($offset/$limit)+$lim_top;

	if ($bot$limit)
	{
		$offsetnum = floor($total/$limit);
		$offsetmod = $total%$limit;
		if ($offsetmod&gt;0)
			$offsetnum++;

		for($i=0;$i$i)
			{
				if($pp==$offset)
					$p_str .= ''.$j.' ';
				else
					$p_str .= '&lt;a href="?'.$nqstr.''.$varnm.'='.$pp.'"&gt;'.$j.'&lt;/a&gt; ';
			}
		}

		//prev next first last
		$prev = $next = '';
		$p_prev = $p_next = 0;
		if ($offset&gt;0)
			$p_prev = ($offset-$limit);
		if ($offset=0)
			$prev = '?'.$nqstr.$varnm.'='.$p_prev;
		if ($total&gt;=$p_next)
			$next = '?'.$nqstr.$varnm.'='.$p_next;

		$first = '?'.$nqstr.$varnm.'=0';
		$last = '?'.$nqstr.$varnm.'='.($total-1);

		$rt = sprintf("Showing %s of %s. &lt;a href="\&quot;%s\&quot;"&gt;First&lt;/a&gt; &lt;a href="\&quot;%s\&quot;"&gt;&lt;&lt;/a&gt; %s &lt;a href="\&quot;%s\&quot;"&gt;&gt;&lt;/a&gt; &lt;a href="\&quot;%s\&quot;"&gt;Last&lt;/a&gt; ", $limit, $total, $first, $prev, $p_str, $next, $last);
	}
	else if ($total > 0)
		$rt = sprintf("Showing %s of %s.", $total, $total);

	//if no record  found
	if ($rt=='') $rt = "No record found.";

	return $rt;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2012/04/01/fungsi-php-paging-dengan-parameter-tambahan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fungsi PHP: Mengurai Daftar Angka</title>
		<link>http://arif.suparlan.com/2012/03/28/fungsi-php-mengurai-daftar-angka?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fungsi-php-mengurai-daftar-angka</link>
		<comments>http://arif.suparlan.com/2012/03/28/fungsi-php-mengurai-daftar-angka#comments</comments>
		<pubDate>Wed, 28 Mar 2012 06:54:58 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[angka]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[fungsi]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=566</guid>
		<description><![CDATA[Kebetulan saya lagi perlu fungsi PHP khusus untuk mengurai angka. Sudah pernah buat fungsi ini sebelumnya, tapi lagi-lagi ga tau di mana tuh fungsi harus dicari. Supaya gampang nyarinya, mending ditaruh di blog saja. Script ini sederhana aja, bisa ditulis &#8230; <a href="http://arif.suparlan.com/2012/03/28/fungsi-php-mengurai-daftar-angka">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Kebetulan saya lagi perlu fungsi PHP khusus untuk mengurai angka. Sudah pernah buat fungsi ini sebelumnya, tapi lagi-lagi ga tau di mana tuh fungsi harus dicari. Supaya gampang nyarinya, mending ditaruh di blog saja.<span id="more-566"></span></p>
<p>Script ini sederhana aja, bisa ditulis dalam 5 menit saja. Tapi kalo setiap kali harus buat fungsi yang sudah pernah dibuat, cape juga kali yah.</p>
<p>Parameter yg diinput dalam fungsi ini berupa string daftar angka-angka, contohnya: 1-4, 8, 10, 20-23. Output yang diharapkan adalah sebuah Array dengan daftar angka yang sudah tersortir, seperti berikut: 1,2,3,4,8,10,20,21,22,23</p>
<p>Berikut Scriptnya:</p>
<pre>function parse_number_list($numbers)
{
	$num_arr = array();
	$list_num = explode(',', $numbers);
	foreach($list_num as $key=>$value)
	{
		if (preg_match("/-/i", $value))
		{
			$x = explode('-', $value);
			if (isset($x[0]) AND isset($x[1]))
			{
				if (is_numeric($x[0]) AND is_numeric($x[1]))
				{
					for($i=$x[0]; $i<=$x[1]; $i++)
						if (!in_array($value, $num_arr)) array_push($num_arr, $i);
				}
			}
		}
		else
			if (!in_array($value, $num_arr)) array_push($num_arr, $value);
	}

	return asort($num_arr);
}

$num = '1-4, 8, 10, 20-23';
print_r(parse_number_list($num));
</pre>
<p>Hasilnya:</p>
<pre>
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 8
    [5] => 10
    [6] => 20
    [7] => 21
    [8] => 22
    [9] => 23
)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2012/03/28/fungsi-php-mengurai-daftar-angka/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cara Meng-install Ubuntu Server</title>
		<link>http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-server?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cara-meng-install-ubuntu-server</link>
		<comments>http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-server#comments</comments>
		<pubDate>Fri, 23 Dec 2011 14:03:10 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[host-only]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=523</guid>
		<description><![CDATA[Meng-install OS Ubuntu Server tidaklah susah. Next, next, next aja sampe selesai. Ya ada sedikit yang harus diisi, tapi secara keseluruhan gampang banget. Ini sebenarnya kelanjutan tutorial meng-install VirtualBox dengan host OS Windows dan guest OS Ubuntu, kita jalankan Ubuntu &#8230; <a href="http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-server">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Meng-<em>install</em> OS Ubuntu Server tidaklah susah. <em>Next, next, next</em> aja sampe selesai. Ya ada sedikit yang harus diisi, tapi secara keseluruhan gampang banget. Ini sebenarnya kelanjutan tutorial meng-install VirtualBox dengan <em>host</em> OS Windows dan <em>guest</em> OS Ubuntu, kita jalankan Ubuntu di atas Windows.<span id="more-523"></span></p>
<p>OS yang saya ingin install aladah <a href="http://kambing.ui.ac.id/iso/ubuntu/releases/10.10/ubuntu-10.10-server-i386.iso">Ubuntu Server 10.10</a>. Saya menginginkan supaya nantinya <em>guest</em> OS (Ubuntu) ini dapat diakses oleh <em>host</em> OS (Windows) dan juga dapat mengakses Internet melalui <em>host</em> OS. Untuk ini saya coba pakai 2 NIC/eth di setingan VirtualBox. Satu untuk NAT, satu lagi untuk Host-only. <a href="http://arif.suparlan.com/2011/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows">Lihat settingan VirtualBox ini</a>. Ok, langsung saja.</p>
<p>1. Boot VirtualBox dengan CDROM yang sudah di-<em>load</em> dengan Installer Ubuntu Server.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-01.jpg"><img title="ubuntu-01" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-01-300x249.jpg" alt="" width="300" height="249" /></a></p>
<p>2. Pilih &#8220;<em>Install Ubuntu Server</em>&#8220;, kemudian pilih bahasa. Kemudian skip supaya tidak perlu men-<em>detect</em> layout keyboard. Pakai saja <em>setting</em> yang standar.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-02.jpg"><img class="alignnone size-medium wp-image-543" title="ubuntu-02" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-02-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>3. Setelah itu tunggu sampai installer me-<em>load</em> komponen-komponennya. Karena sebelumnya saya pakai 2 <em>Network Interface Card</em> (NIC), akan muncul seperti berikut. Pilih saja eth-0.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-03.jpg"><img class="alignnone size-medium wp-image-544" title="ubuntu-03" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-03-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>4. Kemudian ketikkan nama <em>host</em>. Tulis aja Ubuntu.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-04.jpg"><img class="alignnone size-medium wp-image-545" title="ubuntu-04" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-04-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>5. Dibagian partisi harddisk, pilih saja yang &#8220;<em>Guided</em>&#8221; biar cepat. Setelah itu pilih &#8220;<em>Yes</em>&#8221; pada pertanyaan &#8220;<em>Write the changes to disk&#8230;?</em>&#8221; Kemudian tunggu sampai selesai meng-<em>install</em> <em>base system</em>.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-05.jpg"><img class="alignnone size-medium wp-image-546" title="ubuntu-05" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-05-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>6. Ketikkan nama untuk akun user. Pilih &#8220;No&#8221; untuk meng-<em>encrypt</em> home <em>directory</em>. Installer akan mengknfigurasi apt.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-6.jpg"><img class="alignnone size-medium wp-image-547" title="ubuntu-6" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-6-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>7. Setelah itu, pilih &#8220;<em>No automatic updates.</em>&#8221;</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-7.jpg"><img class="alignnone size-medium wp-image-548" title="ubuntu-7" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-7-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>8. Pilih &#8220;<em>Yes</em>&#8221; pada pertanyaan &#8220;<em>Install the GRUB loader&#8230;</em>&#8221;</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-8.jpg"><img class="alignnone size-medium wp-image-549" title="ubuntu-8" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-8-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>9. Instalasi selesai. Klik &#8220;<em>Continue</em>.&#8221;</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-9.jpg"><img class="alignnone size-medium wp-image-550" title="ubuntu-9" src="http://arif.suparlan.com/wp-content/uploads/2011/12/ubuntu-9-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>10. Gampang kan? Lanjut konfigurasi Ubuntu (to be continued.) <img src='http://arif.suparlan.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script untuk Tahun Copyright di Footer</title>
		<link>http://arif.suparlan.com/2011/12/07/script-untuk-tahun-copyright-di-footer?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-untuk-tahun-copyright-di-footer</link>
		<comments>http://arif.suparlan.com/2011/12/07/script-untuk-tahun-copyright-di-footer#comments</comments>
		<pubDate>Wed, 07 Dec 2011 04:03:12 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tahun]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=535</guid>
		<description><![CDATA[Hehehe, hal yang remeh banget nih. Ya, untuk catatan saya saja, supaya ga tiap tahun ngedit footer website, karena tahunnya sudah kelewat lawas. Kenapa ga dari dulu ya? Hehehe&#8230; sebenernya sudah kepikiran lama, cuman males aja ngubahnya. Langsung saja, di &#8230; <a href="http://arif.suparlan.com/2011/12/07/script-untuk-tahun-copyright-di-footer">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hehehe, hal yang remeh banget nih. Ya, untuk catatan saya saja, supaya ga tiap tahun ngedit footer website, karena tahunnya sudah kelewat lawas. Kenapa ga dari dulu ya? Hehehe&#8230; sebenernya sudah kepikiran lama, cuman males aja ngubahnya.<span id="more-535"></span></p>
<p>Langsung saja, di footer ada yang namanya Copyright notice. Di situlah ada yang disebut, misalnya -katakanlah tahun pembuatan. Kemudian supaya website seolah-olah sering diupdate, letakkan juga tahun saat ini. Kalo misalnya saya hanya tampilkan tahun pembuatan, misalnya 2005. Wah keliatannya website ini sudah sangat jadul. Seperti ini:</p>
<pre>Copyright © 2005-2009 <a href="http://www.suparlan.com/">Suparlan.com</a>, v.7. All rights reserved.</pre>
<p>Wah ini webmasternya pemalas banget ya&#8230; woi ini udah 2011 lahh&#8230; Siapa sih adminnya?</p>
<p>Ya ya yaa&#8230; Gini aja solusinya kita pake tahun dinamik, ngikutin tahun server. Gampang bukan? Banget!!! Mari pasang di footer WordPress dah.</p>
<pre>&lt;?php
$etdy = '2005';
echo sprintf('Copyright &amp;copy; %s &lt;a href="%s"&gt;%s&lt;/a&gt;, v.7.',
(date("Y")==$etdy) ? $etdy : $etdy.' - '.date("Y"),
'http://www.suparlan.com',
'Suparlan.com' );
?&gt; All rights reserved.</pre>
<p>Ya ya cupu abis. Hahaha&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/12/07/script-untuk-tahun-copyright-di-footer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mommy&#8217;s Home!!! Hahaha&#8230;</title>
		<link>http://arif.suparlan.com/2011/12/03/mommys-home-hahaha?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mommys-home-hahaha</link>
		<comments>http://arif.suparlan.com/2011/12/03/mommys-home-hahaha#comments</comments>
		<pubDate>Sat, 03 Dec 2011 00:55:22 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=526</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe width="640" height="360" src="http://www.youtube.com/embed/ZqoWIBoQZL4?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/12/03/mommys-home-hahaha/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cara supaya Menghemat Batere Smartphone</title>
		<link>http://arif.suparlan.com/2011/11/16/cara-supaya-menghemat-batere-smartphone?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cara-supaya-menghemat-batere-smartphone</link>
		<comments>http://arif.suparlan.com/2011/11/16/cara-supaya-menghemat-batere-smartphone#comments</comments>
		<pubDate>Wed, 16 Nov 2011 09:54:34 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[baterai]]></category>
		<category><![CDATA[batere]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=401</guid>
		<description><![CDATA[Sedih banget ga sih? Baru di-charge full, dipake sebentar, eh batere Smartphone dah tinggal setengah. Buat maen Angry Birds untuk ngilangin bosen pasti abis. Saya sudah sering kejadian seperti ini. Samrtphone Android kebanyakannya boros batere. iPhone kalo makenya sembarangan juga &#8230; <a href="http://arif.suparlan.com/2011/11/16/cara-supaya-menghemat-batere-smartphone">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sedih banget ga sih? Baru di-<em>charge full</em>, dipake sebentar, eh batere Smartphone dah tinggal setengah. Buat maen Angry Birds untuk ngilangin bosen pasti abis. Saya sudah sering kejadian seperti ini. Samrtphone Android kebanyakannya boros batere. iPhone kalo makenya sembarangan juga bisa boros batere. Hehehe, jadi harus tau tips dan trik biar batere nya bisa tahan seharian sampe malam.<span id="more-401"></span></p>
<p>Sebenarnya saya ga tau tepatnya kata baku untuk kata ini <em>battery</em>. Kayanya sih &#8220;baterai&#8221; ya, tapi kok ga nyaman dipake. Makanya saya pake kata batere, dan bukan juga batre, karena malah aneh. Hehehe.</p>
<p>Oke, ini tipsnya:</p>
<p><strong>Set <em>Display brightness</em> jangan terlalu terang</strong>. Untuk saya, separuh aja cukup. Kekurangannya di beberapa smartphone kadang jadi ga terlihat displaynya kalau di bawah terik matahari.</p>
<p><strong>Kalau ada, gunakan Wifi daripada 3G untuk koneksi Internet</strong>. Apalagi kalo lagi download apps yang gede. Selain itu 3G malah lebih nguras batere. Kalo ga ada Wifi, untuk Android, saya malah set selalu gunakan 2G dibanding 3G, itu juga terasa lebih menghemat batere. Simpan setting Wifi rumah dan kantor, jadi pas sampe kantor/rumah langsung otomatis pake Wifi.</p>
<p><strong>Gunakan GPS/<em>Location Service</em> untuk Apps yang diperlukan saja</strong>. Di iPhone kita dapat menentukan Apps apa saya yang diperbolehkan pake Location Service. Set <em>enable</em> untuk Apps yang benar-benar memerlukan GPS, selain itu <em>disabled</em>.</p>
<p><strong>Matikan Apps di multitasking yang tidak lagi dipakai</strong>. Jangan biarkan aplikasi nganggur jalan di multitasking. Matikan dengan menggunakan Task manager atau taskkiller untuk mengatur aplikasi yang berjalan. Atau di multitasking queue kalau di iPhone.</p>
<p><strong>Disable push email</strong>. Pilih tarik email secara regular misalnya per 30 menit. Kekurangannya tidak langsung dapat email, tapi setiap 30 menit akan ngecek apa ada email di inbox.</p>
<p><strong>Untuk Android, gunakan widget secukupnya, seperlunya</strong>. Kadang  widget-widget itu diam-diam selalu berhubung ke Internet dan itu jadi biang pemborosan batere dan pemborosan paket data.</p>
<p><strong>Untuk iPhone, hindari Wifi <em>sync</em> iTunes</strong>. Gunakan kabel data untuk <em>sync</em> ke iTunes, itu lebih cepat, dan tidak boros batere, karena dia juga akan nge-<em>charge</em>.</p>
<p>Tambahan, <strong>cek sinyal operator kamu</strong>. Kalo sering hilang sinyal, kemudian muncul lagi dan berulang-ulang. Itu juga memungkinkan penyebab borosnya batere. Ini tips dari teman yang kebetulan mengalami sendiri.</p>
<p>Menurut saya, dengan tips di atas sudah cukup untuk menghemat batere. Tapi pemakaian sehari-hari kadang berbeda-beda. Biasanya weekend sering jalan-jalan, dan pemakaian kadang malah jadi berlebihan. Saya beli beberapa kabel data/<em>charger</em> tambahan, satu untuk di rumah, satu untuk di bawa-bawa. Bahkan kalo perlu beli <em>charger</em> untuk di mobil. Hehehe&#8230; Dan kalo ada tips tambahan silakan post. Selamat berhemat batere.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/11/16/cara-supaya-menghemat-batere-smartphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter: Pagination Helper dengan URI Associative Array untuk Parameter Tambahan</title>
		<link>http://arif.suparlan.com/2011/11/13/codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan</link>
		<comments>http://arif.suparlan.com/2011/11/13/codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan#comments</comments>
		<pubDate>Sun, 13 Nov 2011 05:01:52 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[paging]]></category>
		<category><![CDATA[parameter]]></category>
		<category><![CDATA[query string]]></category>
		<category><![CDATA[segmented uri]]></category>
		<category><![CDATA[uri associative array]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=487</guid>
		<description><![CDATA[Pagination library dari Codeigniter sederhana dan sangat mudah digunakan. Tapi gimana caranya kalau kita mau nambah parameter tambahan lainnya seperti filter atau search di antara paging tersebut? Bisa pake query string! Gimana kalo pake URI bersegmennya CI biar rapi? Ga &#8230; <a href="http://arif.suparlan.com/2011/11/13/codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://codeigniter.com/user_guide/libraries/pagination.html" target="_blank">Pagination library dari Codeigniter</a> sederhana dan sangat mudah digunakan. Tapi gimana caranya kalau kita mau nambah parameter tambahan lainnya seperti filter atau search di antara paging tersebut? Bisa pake query string! Gimana kalo pake URI bersegmennya CI biar rapi? Ga dibahas di user_guide nya nih. Dan entah kenapa, saya lebih suka menyebutnya &#8220;Paging&#8221;.<span id="more-487"></span></p>
<p>Kita pake fitur <a href="http://codeigniter.com/user_guide/libraries/uri.html" target="_blank">URI dan Associative Array</a>, sudah pernah pake sebelumnya? Gampang, dengan &#8220;uri_to_assoc&#8221; kita bisa dapatkan parameter dalam bentuk array dari uri bersegmen dan &#8220;assoc_to_uri&#8221; untuk sebaliknya. Tinggal pelajari user_guide aja.</p>
<pre>index.php/user/search/name/joe/location/UK/gender/male</pre>
<pre>[array]
 (
 'name' =&gt; 'joe'
 'location' =&gt; 'UK'
 'gender' =&gt; 'male'
 )</pre>
<p>Cobain dulu <a href="http://arif.suparlan.com/demo/paging_assoc/" target="_blank">demonya di sini</a>.</p>
<p>Pertama, buat helper dengan nama paging_assoc_helper.php, trus simpan di folder helper. Bisa <a href="http://arif.suparlan.com/demo/paging_assoc/paging_assoc_helper.php.txt" target="_blank">copas di sini</a>.</p>
<pre>&lt;?php if (!defined('BASEPATH')) exit('No direct script access allowed.');

    function paging_assoc($varkey, $assoc_n=3)
    {
        $CI =&amp; get_instance();

        $qs_arr = $CI-&gt;uri-&gt;uri_to_assoc($assoc_n);
        $qs_tmp_arr=array();
        foreach($qs_arr as $key =&gt; $value)
            if ($key!=$varkey) $qs_tmp_arr[$key]=$value;

        foreach($CI-&gt;uri-&gt;segment_array() as $key =&gt; $value)
            if ($value=='p') $assoc_n = $key;

        $offset = (isset($qs_arr[$varkey])) ? $qs_arr[$varkey] : 0;
        $qs_uri = $CI-&gt;uri-&gt;assoc_to_uri($qs_tmp_arr).'/'.$varkey;

        return array(
            'offset' =&gt; $offset,
            'seg' =&gt; $assoc_n+1,
            'uri' =&gt; $qs_uri,
            );
    }</pre>
<p>Kemudian buat sebuah controller, atau untuk ngetes, replace saja welcome.php controller. Jangan lupa load library dan helper yang diperlukan. Cara penggunaannya kira-kira seperti ini:</p>
<pre>        //get paging settings, uri, segments, and offset
        //input param paging variable key, init segment
        $pg_arr = paging_assoc('p', 3);</pre>
<p>Tidak begitu rumit, helper ini sebenarnya hanya untuk mendapatkan URI tambahan, segmen untuk paging yang baru, dan offset untuk LIMIT. Scriptnya sudah dites beberapa kali, tapi tidak menutup ada bug. Silakan kalau ada yang mau diperbaiki.</p>
<pre>    public function index()
    {
        //$this-&gt;load-&gt;view('welcome_message');

        //load db, paging lib, some helpers
        $this-&gt;load-&gt;database();
        $this-&gt;load-&gt;library(array('pagination'));
        $this-&gt;load-&gt;helper(array('url', 'paging_assoc', 'form'));

        //get paging settings, uri, segments, and offset
        //input param paging variable key, init segment
        $pg_arr = paging_assoc('p', 3);
        if (isset($_POST['search']))
            redirect('/welcome/index/s/'.$_POST['search']);

        //other parameters
        $assoc_arr = $this-&gt;uri-&gt;uri_to_assoc(3);
        $s = (isset($assoc_arr['s'])) ? $assoc_arr['s'] : '';

        if ($s) $this-&gt;db-&gt;like('text', $s);
        $query = $this-&gt;db-&gt;get('test2');
        $num_rows = $query-&gt;num_rows();

        $paging['base_url'] = site_url().'/welcome/index/'.$pg_arr['uri'];
        $paging['total_rows'] = $num_rows;
        $paging['uri_segment'] = $pg_arr['seg'];
        $paging['per_page'] = 2;
        $this-&gt;pagination-&gt;initialize($paging);

        echo form_open('');
        echo 'Filter: '.form_input('search', (($s) ? $s : 'a'));
        echo form_submit('mysubmit', 'Submit');
        echo form_close();
        echo $this-&gt;pagination-&gt;create_links().'&lt;br&gt;';

        if ($s) $this-&gt;db-&gt;like('text', $s);
        $this-&gt;db-&gt;limit($paging['per_page'], $pg_arr['offset']);
        $query = $this-&gt;db-&gt;get('test2');

        foreach ($query-&gt;result() as $row)
        {
            echo $row-&gt;id.' '.$row-&gt;text.'&lt;br&gt;';
        }
    }</pre>
<p>Dan ini contoh data MySQL nya;</p>
<pre>CREATE TABLE IF NOT EXISTS `test2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` varchar(255) NOT NULL,
  `status` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;

INSERT INTO `test2` (`id`, `text`, `status`) VALUES
(1, 'croissant', 1),
(2, 'dessert', 0),
(3, 'gummi bears', 1),
(4, 'caramels', 1),
(5, 'candy canes', 0),
(6, 'fruitcake', 1),
(7, 'lollipop', 0),
(8, 'jelly-o macaroon', 1),
(9, 'fruitcake', 1),
(10, 'chocolate bar', 0),
(11, 'sesame snaps', 1),
(12, 'jelly beans', 1),
(13, 'jelly-o', 0),
(14, 'donut', 1),
(15, 'applicake', 0),
(16, 'chupa chups', 1),
(17, 'apple pie', 0),
(18, 'cheesecake', 0),
(19, 'pastry', 1),
(20, 'pudding', 1),
(21, 'marshmallow', 0),
(22, 'cookie', 0),
(23, 'croissant', 1),
(24, 'bonbon', 1),
(25, 'gingerbread', 0),
(26, 'tiramisu', 1),
(27, 'toffee', 0),
(28, 'caramels', 0),
(29, 'halvah', 1),
(30, 'sweet roll macaroon', 0),
(31, 'wafer', 1),
(32, 'brownie', 1),
(33, 'ice cream', 0),
(34, 'sugar plum', 1),
(35, 'jujubes', 0),
(36, 'biscuit', 1);</pre>
<p>Selamat mencoba.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/11/13/codeigniter-pagination-helper-dengan-uri-associative-array-untuk-parameter-tambahan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

