<?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 &#187; Tutorial</title>
	<atom:link href="http://arif.suparlan.com/category/tutorial/feed" rel="self" type="application/rss+xml" />
	<link>http://arif.suparlan.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 31 Jan 2012 15:38:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>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>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>
		<item>
		<title>Cara Install VirtualBox dengan Host Windows, dengan guest Ubuntu</title>
		<link>http://arif.suparlan.com/2011/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows</link>
		<comments>http://arif.suparlan.com/2011/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows#comments</comments>
		<pubDate>Sun, 09 Oct 2011 07:58:41 +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[install]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=453</guid>
		<description><![CDATA[Noob seperti saya harus banyak belajar. Tapi belajar memerlukan sarana yang memadai. Kadang-kadang komputer/server ga cukup satu. Tapi dengan teknologi virtualisasi, mesin virtual seperti VirtualBox dan VMWare, ini mempermudah untuk yang mau belajar Linux dengan cukup 1 mesin/PC, tanpa harus &#8230; <a href="http://arif.suparlan.com/2011/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Noob seperti saya harus banyak belajar. Tapi belajar memerlukan sarana yang memadai. Kadang-kadang komputer/server ga cukup satu. Tapi dengan teknologi virtualisasi, mesin virtual seperti VirtualBox dan VMWare, ini mempermudah untuk yang mau belajar Linux dengan cukup 1 mesin/PC, tanpa harus dual boot, atau sampai menghilangkan Windows.<span id="more-453"></span></p>
<p>Untuk ini kita perlu minimal 2 OS. Di sini saya pake OS Windows sebagai host OSnya atau OS yang sedang berjalan, yang diinstall di Notebook. Dan OS guest pilihan saya adalah Ubuntu server 10.10, yaitu OS yang nantinya akan dijalankan di atas OS host.</p>
<p>Spesifikasi kompi harus mayan, minimal 2GB RAM gini hari OK lah. Di notebook saya jadul hanya 1GB masih bisa jalan kok. Karena saya sudah lama pake VirtualBox, dan VMWare juga sudah lama saya tinggalkan, maka yang saya coba di sini pake VirtualBox.</p>
<p>Ini guuaamppaang sekali kok, tinggal ikuti satu persatu. Tutorial seperti ini banyak bertebaran di Google. Sekarang tidak ada alasan lagi untuk tidak belajar karena kekurangan hardware. Omong kosong, kalo emang males belajar ya ke laut aja.</p>
<p>Mari kita coba buat Virtual Machine (VM).</p>
<p>1. Saya sedang menjalankan Windows 7 sebagai hostnya. Yang perlu disiapkan adalah ISO Operating System pilihan. Saya mau coba Ubuntu, maka saya download ISO Linux Ubuntu.</p>
<p>http://kambing.ui.ac.id/iso/ubuntu/releases/</p>
<p>Yang saya pilih Ubuntu 10.10 LTS: http://kambing.ui.ac.id/iso/ubuntu/releases/10.10/ubuntu-10.10-server-i386.iso</p>
<p>2. Download sofware virtualisasi VirtualBox dari Oracle.</p>
<p>http://www.virtualbox.org/wiki/Downloads</p>
<p>3. Setelah itu, install VirtualBox. Next, next saja sampai selesai, biasanya lancar sampe ada tulisan &#8220;Welcome to VirtualBox!&#8221;.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box01.jpg"><img class="alignnone size-medium wp-image-459" title="virtual-box01" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box01-300x143.jpg" alt="" width="300" height="143" /></a></p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box02.jpg"><img class="alignnone size-medium wp-image-460" title="virtual-box02" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box02-300x138.jpg" alt="" width="300" height="138" /></a></p>
<p>4. Buat VM baru, dengan mengklik tombol &#8220;New&#8221; di toolbar. Tulis nama VMnya dan pilih jenis OSnya.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box03.jpg"><img class="alignnone size-medium wp-image-461" title="virtual-box03" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box03-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p>5. Set alokasi RAM. Saya set 512MB saja cukup.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box04.jpg"><img class="alignnone size-medium wp-image-462" title="virtual-box04" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box04-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p>6. Buat Hardisk virtual dan set alokasi harddisk untuk VM. Saya set hardisknya sekitar 2GB.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box05.jpg"><img class="alignnone size-medium wp-image-463" title="virtual-box05" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box05-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box06.jpg"><img title="virtual-box06" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box06-300x206.jpg" alt="" width="300" height="206" /></a></p>
<p>7. Untuk menginstall Ubuntu, Perlu diset CD menggunakan ISO. Klik &#8220;Setting&#8221; pada VM yang baru dibuat. Klik &#8220;Storage&#8221;, kemudian &#8220;IDE controller/CD&#8221;. Di paling kanan ada icon &#8220;CD&#8221;, klik &#8220;Choose a virtual CD/DVD disk file&#8221; untuk memilih ISO Ubuntu yang sudah didownload tadi.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box07.jpg"><img class="alignnone size-medium wp-image-465" title="virtual-box07" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box07-300x158.jpg" alt="" width="300" height="158" /></a></p>
<p>8. Setting jaringan. Saya perlu 2 NIC/Network adapter. Adapter yang pertama pilih &#8220;NAT&#8221;. Ini supaya dapat mengakses jaringan luar seperti host OS. Jadi guest OS bs mengakses Internet seperti layaknya host OS. Yang kedua opsional, ini menggunakan &#8220;Host-only adapter&#8221;, supaya host OS dan guest OS terhubung.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box08.jpg"><img class="alignnone size-medium wp-image-466" title="virtual-box08" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box08-300x158.jpg" alt="" width="300" height="158" /></a></p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box09.jpg"><img class="alignnone size-medium wp-image-467" title="virtual-box09" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box09-300x158.jpg" alt="" width="300" height="158" /></a></p>
<p>9. Jalankan Virtual Machine. VM akan booting CD/ISO dan menjalankan instalasi Ubuntu.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box10.jpg"><img class="alignnone size-medium wp-image-468" title="virtual-box10" src="http://arif.suparlan.com/wp-content/uploads/2011/10/virtual-box10-300x158.jpg" alt="" width="300" height="158" /></a></p>
<p>10. <a href="http://arif.suparlan.com/2011/12/23/cara-meng-install-ubuntu-serverdows-dengan-guest-ubuntut-windows">Lanjut ke Cara Install Ubuntu Server</a> <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/10/09/cara-install-virtualbox-dengan-host-windows-dengan-guest-ubuntut-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Masalah CSS dengan List ul/ol di sebelah Gambar</title>
		<link>http://arif.suparlan.com/2011/09/03/masalah-css-dengan-list-ulol-di-sebelah-gambar?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=masalah-css-dengan-list-ulol-di-sebelah-gambar</link>
		<comments>http://arif.suparlan.com/2011/09/03/masalah-css-dengan-list-ulol-di-sebelah-gambar#comments</comments>
		<pubDate>Sat, 03 Sep 2011 14:09:10 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=441</guid>
		<description><![CDATA[Baru kali ini dapetin solusi untuk masalah layout CSS list ul/ol (unordered list/ordered list) apabila diletakkan di samping gambar/image yang di float. Makanya langsung diposting biar ga lupa. Hasil dengan CSS biasa, menyebabkan bullet/number di bagian samping gambar tidak inden &#8230; <a href="http://arif.suparlan.com/2011/09/03/masalah-css-dengan-list-ulol-di-sebelah-gambar">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Baru kali ini dapetin solusi untuk masalah layout CSS list ul/ol (unordered list/ordered list) apabila diletakkan di samping gambar/image yang di float. Makanya langsung diposting biar ga lupa. Hasil dengan CSS biasa, menyebabkan bullet/number di bagian samping gambar tidak inden dengan paragrap. Ini tentunya tidak nyaman dilihat.<span id="more-441"></span></p>
<p>Lihat contoh di bawah. Sungguh tidak menyenangkan sekali.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list01.jpg"><img title="css_list01" src="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list01.jpg" alt="" width="437" height="299" /></a></p>
<p>Kadang kejadiannya seperti ini:<br />
<a href="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list02.jpg"><img title="css_list02" src="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list02.jpg" alt="" width="425" height="242" /></a></p>
<p>Padahal maunya hasilnya seperti ini:</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list03.jpg"><img class="alignnone size-full wp-image-446" title="css_list03" src="http://arif.suparlan.com/wp-content/uploads/2011/09/css_list03.jpg" alt="" width="425" height="228" /></a></p>
<p>Caranya cuma ngubah CSS utk ul/ol dan li seperti ini:</p>
<pre>ul
{
margin-left: 0;
padding-left: 0;
}

ul li
{
margin-left: 0;
padding-left: 0;
position: relative;
left: 20px;
}</pre>
<p>Lihat demo <a href="http://arif.suparlan.com/demo/list_indent_image/">di sini</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/09/03/masalah-css-dengan-list-ulol-di-sebelah-gambar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memindahkan Kontak HP/SIM ke Google Contacts</title>
		<link>http://arif.suparlan.com/2011/06/20/memindahkan-kontak-hpsim-ke-google-contacts?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=memindahkan-kontak-hpsim-ke-google-contacts</link>
		<comments>http://arif.suparlan.com/2011/06/20/memindahkan-kontak-hpsim-ke-google-contacts#comments</comments>
		<pubDate>Mon, 20 Jun 2011 07:08:35 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[export contact]]></category>
		<category><![CDATA[google contacts]]></category>
		<category><![CDATA[import contact]]></category>
		<category><![CDATA[vcard]]></category>
		<category><![CDATA[vcf]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=421</guid>
		<description><![CDATA[Apakah saya sudah siap untuk mempercayakan Om Google untuk menyimpan semua daftar kontak di HP/SIM card saya? Saya rasa dari dulu juga sudah siap ya. Untuk email saja sudah lama mempercayakan layanan Gmail. Belakangan saya agak kelabakan memindahkan atau men-syncronize &#8230; <a href="http://arif.suparlan.com/2011/06/20/memindahkan-kontak-hpsim-ke-google-contacts">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Apakah saya sudah siap untuk mempercayakan Om Google untuk menyimpan semua daftar kontak di HP/SIM card saya? Saya rasa dari dulu juga sudah siap ya. Untuk email saja sudah lama mempercayakan layanan Gmail.<span id="more-421"></span></p>
<p>Belakangan saya agak kelabakan memindahkan atau men-syncronize data kontak di SIM. Untungnya dengan tools bawaan HP seperti Nokia PC suite atau LG PC suite, misalnya, saya bisa mengekstrak kontak dari SIM ke PC saya, baik dalam bentuk Vcards atau CSV (Comma Separated Value). Ini sudah progress dan saya ingin tekankan disini, bahwa backup itu penting.</p>
<p>Kemudian ketika saya coba CSV hasil export dari SIM, ternyata hasil fieldnya tidak sama dan saya harus menyesuaikan field di SIM dengan field di Google Contacts. Ini akan makan waktu lama.</p>
<p>Sedangkan dengan menggunakan format Vcards yang berextension .vcf, bisa mulus diimport ke Google Contacts. Tetapi, masalahnya hasil export Vcards bukan menghasilkan 1 file, tapi jumlahnya sebanyak banyak kontak di SIM, kasus saya ada 240 kontak. Bagaimana caranya? Setelah googling kesana-kemari, ternyata mudah sekali. Ini saya lakukan dengan OS Windows 7, agak tricky sih, begini caranya&#8230;. Eh btw, saya tidak bertanggung jawab ya kalau ternyata ada kesalahan prosedur sehingga mengakibatkan kehilangan data kontak. Silakan lakukan dengan hati-hati dengan mengetahui resikonya.</p>
<p>1. Siapkan beberapa tools berikut: Software bawaan dari HP seperti Nokia PC suite, LG PC suite, dll, dan text editor yang bagusan dikit, seperti Notepad++, dan Command promt <img src='http://arif.suparlan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>2. Dengan menggunakan tools bawaan dari HP, dapatkan export kontak dalam format Vcard. Format ini sudah standar untuk menyimpan data kontak. Caranya biasanya dengan Select All, kemudian cari menu Export. Hasil exportnya biasanya terpisah perfile sebanyak jumlah kontak di SIM. Letakkan semuanya dalam sebuah folder misalnya di c:/vcards/</p>
<p><img class="alignnone size-full wp-image-428" title="import_contacts02" src="http://arif.suparlan.com/wp-content/uploads/2011/06/import_contacts02.jpg" alt="" width="527" height="429" /></p>
<p>3. Karena filenya terpisah satu-satu, maka kita satukan semuanya dalam satu file. Buka Command prompt dengan cara menekan tombol Super/Windows logo + R atau klik Start -&gt; Run, kemudian ketikkan &#8220;cmd&#8221; pada field, kemudian tekan enter.</p>
<p>4. Di Command promt, ketikkan &#8220;cd /vcards untuk ke folder dimana file-file vcards tersebut berada. Kemudian ketik &#8220;copy *.vcf ~all.vcf&#8221;, perintah ini menyatukan semua file yang berextension .vcf ke sebuah file bernama ~all.vcf. Kenapa pake tanda ~/cacing didepan? Biar nanti muncul dipaling atas ketika dibrowse di explorer <img src='http://arif.suparlan.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><img class="alignnone size-full wp-image-429" title="import_contacts03" src="http://arif.suparlan.com/wp-content/uploads/2011/06/import_contacts03.jpg" alt="" width="508" height="228" /></p>
<p>5. File vcf tadi kemungkinan tidak bisa langsung di import ke Google Contacts. Ya kalo bisa ya sukur, langsung saja. Kalo tidak bisa, buka file tadi dengan Notepad++. Perhatikan bagian &#8220;END:VCARDBEGIN:VCARD&#8221; ini artinya bagian ujung vcard nyambung ke bagian awal vcard kontak selanjutnya. Buka tools Find &amp; replace di Notepad++ isikan &#8220;VCARDBEGIN&#8221; pada bagian find, dan isikan &#8220;VCARD\nBEGIN&#8221; pada bagian replace. Kemudian klik Replace All dan Save file tadi.</p>
<p><img class="alignnone size-full wp-image-430" title="import_contacts04" src="http://arif.suparlan.com/wp-content/uploads/2011/06/import_contacts04.jpg" alt="" width="524" height="362" /></p>
<p>6. File yang sudah terubah seharusnya bisa langsung siap diimport ke Google Contacts.</p>
<p><img class="alignnone size-full wp-image-431" title="import_contacts05" src="http://arif.suparlan.com/wp-content/uploads/2011/06/import_contacts05.jpg" alt="" width="517" height="558" /></p>
<p>Kemudian, untuk men-synchronize Google Contacts ke HP, bisa ikuti petunjuk <a href="http://www.google.com/mobile/sync/" target="_blank">berikut ini</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/06/20/memindahkan-kontak-hpsim-ke-google-contacts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Script untuk membackup database MySQL</title>
		<link>http://arif.suparlan.com/2011/04/05/shell-script-untuk-mem-backup-database-mysql?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shell-script-untuk-mem-backup-database-mysql</link>
		<comments>http://arif.suparlan.com/2011/04/05/shell-script-untuk-mem-backup-database-mysql#comments</comments>
		<pubDate>Tue, 05 Apr 2011 16:15:32 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=331</guid>
		<description><![CDATA[Menurut saya cara membackup MySQL yang paling baik yaitu dengan membuat mirrornya yang selalu di-sync. Tetapi ini bukan bahasan tentang itu kali ini. Cara yang lebih cepat adalah dengan menggunakan perintah mysqldump. Lalu bagaimana kalo membackup banyak database secara rutin? &#8230; <a href="http://arif.suparlan.com/2011/04/05/shell-script-untuk-mem-backup-database-mysql">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Menurut saya cara membackup MySQL yang paling baik yaitu dengan membuat mirrornya yang selalu di-sync. Tetapi ini bukan bahasan tentang itu kali ini. Cara yang lebih cepat adalah dengan menggunakan perintah mysqldump. Lalu bagaimana kalo membackup banyak database secara rutin? Gampang saja, buat shell scriptnya.<span id="more-331"></span></p>
<p>Sebagai catatan saya, shell script ini sangat membantu untuk membackup database MySQL. Selain praktis untuk di-cron, juga ada fitur untuk merotasi backup, contoh di bawah, menyimpan 7 backup yang terakhir, sehingga bisa menghemat space juga. Scriptnya cukup mudah untuk newbi seperti saya.</p>
<p>Sebelum membuat shell scriptnya, buat dulu satu user di MySQL yang nanti akan digunakan untuk membackup dari script shell ini. Privilegenya ga perlu dihantam semua, lebih baik dibatasi minimal seperti ini:</p>
<pre>SELECT, INDEX, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, SHOW VIEW</pre>
<p>Berikut contoh shell scriptnya:</p>
<pre>#!/bin/bash
#config
NOW=$(date +"%Y%m%d-%H%M%S")
#mysql
MYSQLUSER="user"
MYSQLPASS="password"
MYSQLHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
#local backup
FOLDER="/mysql"
DIRBAK="/home/backup/backup_files"$FOLDER
DIRBAKTEMP="/temp"
BAKFILENAME="backup_mysql.gz"
#compression
GZIP="$(which gzip)"
TAR="/bin/tar"

echo ""
echo "ROTATING FOLDERS..."
echo "--------------------------------------------------------"
rm -rf $DIRBAK/07_old
[ -d $DIRBAK/06 ] &amp;&amp; mv $DIRBAK/06 $DIRBAK/07_old
[ -d $DIRBAK/05 ] &amp;&amp; mv $DIRBAK/05 $DIRBAK/06
[ -d $DIRBAK/04 ] &amp;&amp; mv $DIRBAK/04 $DIRBAK/05
[ -d $DIRBAK/03 ] &amp;&amp; mv $DIRBAK/03 $DIRBAK/04
[ -d $DIRBAK/02 ] &amp;&amp; mv $DIRBAK/02 $DIRBAK/03
[ -d $DIRBAK/01 ] &amp;&amp; mv $DIRBAK/01 $DIRBAK/02
mkdir -p $DIRBAK/01/
mkdir -p $DIRBAK$DIRBAKTEMP/
echo "Done."

echo ""
echo "PERFORMING MYSQL BACKUP..."
echo "--------------------------------------------------------"
DBS="$($MYSQL -u $MYSQLUSER -h $MYSQLHOST -p$MYSQLPASS -Bse 'show databases')"
SKIPDBS="test test01 "

for db in $DBS
do
	skipdb=-1
	if [ "$SKIPDBS" != "" ]; then
		for i in $SKIPDBS
		do
			[ "$db" == "$i" ] &amp;&amp; skipdb=1 || :
		done
	fi

	if [ "$skipdb" == "-1" ] ; then
		DIRMYSQL=$DIRBAK/01/$db.$NOW.gz
		echo "DB Backup:" $db $DIRMYSQL
		$MYSQLDUMP -u $MYSQLUSER -h $MYSQLHOST -p$MYSQLPASS $db | $GZIP -9 &gt; $DIRMYSQL
	fi

	if [ "$skipdb" == "1" ] ; then
		echo "DB Backup Skipped:" $db
	fi
done
echo "Done."

echo ""
echo "PERFORMING COMPRESSION..."
echo "--------------------------------------------------------"
DIRS2="$DIRBAK/01/"
cd $DIRS2
DIRFILES2=$DIRBAK$DIRBAKTEMP/$BAKFILENAME
echo "Backup:" $DIRFILES2
$TAR cvf $DIRFILES2 *.*
echo "Done."
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/04/05/shell-script-untuk-mem-backup-database-mysql/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downgrade ke PHP 5.2 di CentOS 5.5</title>
		<link>http://arif.suparlan.com/2011/04/04/downgrade-ke-php-5-2-di-centos-5-5?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=downgrade-ke-php-5-2-di-centos-5-5</link>
		<comments>http://arif.suparlan.com/2011/04/04/downgrade-ke-php-5-2-di-centos-5-5#comments</comments>
		<pubDate>Mon, 04 Apr 2011 09:51:34 +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[centos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=375</guid>
		<description><![CDATA[Ada satu alasan yang jelas untuk tetap menggunakan PHP 5.2 dibandingkan dengan versi baru 5.3, yaitu karena beberapa fungsi telah ditiadakan di versi 5.3 sedangkan sistem-sistem lama masih banyak yang menggunakannya. Ini daftar fungsi-fungsi yang sudah dihilangkan, dan kebanyakannya masih &#8230; <a href="http://arif.suparlan.com/2011/04/04/downgrade-ke-php-5-2-di-centos-5-5">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ada satu alasan yang jelas untuk tetap menggunakan PHP 5.2 dibandingkan dengan versi baru 5.3, yaitu karena beberapa fungsi telah ditiadakan di versi 5.3 sedangkan sistem-sistem lama masih banyak yang menggunakannya. Ini daftar <a href="http://php.net/manual/en/migration53.deprecated.php" target="_blank">fungsi-fungsi yang sudah dihilangkan,</a> dan kebanyakannya masih sangat penting digunakan dibeberapa sistem.<span id="more-375"></span></p>
<p>Saya sendiri masih menggunakan/membangun sistem yang berdasarkan framework Codeigniter 1.7.2. yang kalau dijalankan di PHP 5.3 langsung ngadat. Selain itu kebanyakan hosting pun mau ga mau harus tetap dengan versi PHP 5.2. Jadi kalau membangun sebuah server ada baiknya untuk mempertimbangkan versi mana yang akan dipakai.</p>
<p>Kalau di server Debian/Ubuntu bisa dibilang mudah, mungkin karena sudah terbiasa dan di repositorinya, PHP versi 5.2 masih disupport, jadi instalasi bisa langsung lancar-lancar aja. Kebetulan server yang sekarang sedang digunakan adalah CentOS 5.5 jadi agak ribet, selain belum biasa, juga harus tau menggunakan command yum, dan harus ngecek repo yang masih ada PHP 5.2-nya.</p>
<p>Tapi ternyata ga susah-susah amat. Saya oprek-oprek sepertinya ini ada dua cara, atau tiga kalo mau lebih. Tulisan ini untuk catatan saya, silakan koreksi kalau ada yang salah.</p>
<p>Cara pertama dengan menggunakan repo dari Zend. Pertama-tama pastikan sudah tidak ada lagi instalasi PHP versi baru. Kalau masih ada dihilangkan saja.</p>
<pre>yum remove php*.*</pre>
<p>Kemudian buka yum.conf untuk meng-exclude-kan segala yang berbau php-5.3 di konfigurasi yum.</p>
<pre>vim /etc/yum.conf</pre>
<p>Tambahkan line berikut menghindari yum untuk menginstal atau me-list yang berkaitan dengan php-5.3.</p>
<pre>exclude=php-5.3*, mod-php-5.3*, zend-server-php-5.3*</pre>
<p>Kemudian buat file repo dengan nama <code>zend.repo</code></p>
<pre>vim /etc/yum.repos.d/zend.repo</pre>
<p>Isi dengan ini:</p>
<pre>[Zend]
name=Zend Server
baseurl=http://repos.zend.com/zend-server/rpm/$basearch
enabled=1
gpgcheck=0
[Zend_noarch]
name=Zend Server - noarch
baseurl=http://repos.zend.com/zend-server/rpm/noarch
enabled=1
gpgcheck=0</pre>
<p>Setelah itu langsung install saja dengan perintah berikut:</p>
<pre>yum install zend-server-php-5.2</pre>
<p>Saya pikir ini cara yang paling cepat dan sederhana, yum langsung menginstall semua yang berkaitan dengan php-5.2. Gampang kan? Ya mudah-mudahan dengan cara tadi langsung beres.</p>
<p>Cara kedua, sebenernya sama saja, cuma ini menggunakan <a href="http://www.jasonlitka.com/yum-repository/" target="_blank">repo yang lain lagi</a>. Tetap dengan meng-exclude-kan php-5.3, buat file repo seperti berikut:</p>
<pre>vim /etc/yum.repos.d/utterramblings.repo</pre>
<p>Isikan dengan ini:</p>
<pre>[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka</pre>
<p>Lihat list repo php yang ada, kemudian install paket yang ada beserta extension-extensionnya:</p>
<pre>yum list php

yum install php php-xmlrpc php-imap php-mhash php-mbstring php-mysql
php-xml php-gd php-openssl php-exif php-mcrypt php-soap</pre>
<p>Sedangkan cara yang ketiga, harus download dulu source php-5.2 di php.net, kemudian dikompil. Install dulu tools untuk mengompil sourcenya.</p>
<pre>yum install php-devel
yum install httpd-devel
yum install libxml2-devel
yum install mysql-devel</pre>
<p>Download source php-5.2</p>
<pre>wget http://id.php.net/distributions/php-5.2.17.tar.gz</pre>
<p>Extract file sourcenya, kemudian masuk ke foldernya:</p>
<pre>tar -zxvf php-5.2.17.tar.gz
cd php-5.2.17</pre>
<p>Jalankan proses kompil:</p>
<pre>./configure --with-apxs2=/usr/sbin/apxs --with-mysql=/usr/local
--with-zlib-dir=/usr --with-mysql=/usr/local --with-kerberos=/usr --enable-cli
--enable-exif --enable-mbstring --enable-mbregex --enable-sockets
--with-curl --with-openssl=/usr --with-xmlrpc --with-xsl=/usr --with-pear
--with-iconv --with-gd --with-jpeg-dir=/opt/local --with-png-dir=/opt/local
--with-freetype-dir=/opt/local

make install</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">menggunakannya</div>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/04/04/downgrade-ke-php-5-2-di-centos-5-5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download Youtube Video dengan Shell Script V2</title>
		<link>http://arif.suparlan.com/2011/02/23/download-youtube-video-dengan-shell-script?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=download-youtube-video-dengan-shell-script</link>
		<comments>http://arif.suparlan.com/2011/02/23/download-youtube-video-dengan-shell-script#comments</comments>
		<pubDate>Wed, 23 Feb 2011 16:52:07 +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[bash]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wget]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=344</guid>
		<description><![CDATA[Aplikasi yang dibuat mas Trio ini (You2Pup) ini adalah aplikasi di Puppy Linux untuk mendownload video dari Youtube. Beberapa hari lalu baru diupdate dengan menggunakan shell script yt-download.sh, padahal script itu lumayan cupu. Jadi ini yang ngebuat saya jadi iseng &#8230; <a href="http://arif.suparlan.com/2011/02/23/download-youtube-video-dengan-shell-script">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Aplikasi yang dibuat <a href="http://www.murga-linux.com/puppy/viewtopic.php?p=326803#326803" target="_blank">mas Trio ini (You2Pup)</a> ini adalah aplikasi di Puppy Linux untuk mendownload video dari Youtube. Beberapa hari lalu baru diupdate dengan menggunakan <a href="http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update" target="_blank">shell script yt-download.sh</a>, padahal script itu lumayan cupu. Jadi ini yang ngebuat saya jadi iseng ngoprek-ngoprek lagi.<span id="more-344"></span></p>
<p>Sama seperti aplikasi pendownload youtube yang lain, script yt-download yang lama masih bisa dijalankan mulus. Tapi, bedanya, dia hanya mendownload salah satu video saja (defaultnya), sementara di Youtube, satu video ada berbagai macam ukuran dan format. Ide dari mas Trio, di script yang baru, saya coba tambahkan beberapa fitur.</p>
<p>Shell ini masih sederhana seperti yang lama, hanya jauh lebih banyak barisnya. Ga jauh beda, cuma memanfaatkan fungsi-fungsi regular expression dan string manipulation untuk mendapatkan url video, format, dan ukuran. Variable tersebut ada di source html youtube dengan key &#8220;PLAYER_CONFIG&#8221; yang berupa array JSON. Dengan mendapatkan nilai &#8220;fmt_url_map&#8221; dan &#8220;fmt_map&#8221; sudah cukup menghasilkan url video, format, dan ukurannya. Kalo shell bisa ngebaca JSON, mungkin akan lebih mudah untuk parsingnya.</p>
<p>Script yt-download.sh bisa <a href="http://arif.suparlan.com/demo/yt-download/yt-download.sh.txt" target="_blank">didownload di sini</a>.</p>
<p><strong>Change log</strong></p>
<p>v2.32 &#8211; 2012-01-31</p>
<ul>
<li>Fixed: Youtube&#8217;s format changed, reported by Abdulla. PLAYER_CONFIG to playerConfig, line 54-55.</li>
<li>Changed: Added tmp file with timestamp, and deleted as soon as it is processed, to prevent write problems.</li>
</ul>
<p>v2.3 &#8211; 2011-08-29</p>
<ul>
<li>Fixed: Youtube&#8217;s format changed. url_encoded_fmt_stream_map &amp; fmt_list.</li>
<li>Fixed: Youtube&#8217;s url changed. Url decoded, remove some parameters, added &#8216;title&#8217; parameter.</li>
</ul>
<p>v2.2</p>
<ul>
<li>Fixed: Youtube&#8217;s url changed. Remove o-o.preferred.matrix-cgk1</li>
<li>Fixed: Youtube&#8217;s url changed. \u0026 replaced with &amp;.</li>
<li>Fixed: array sorting problem.</li>
</ul>
<p>v2.1</p>
<ul>
<li>Added: input for save directory, and some error handling if directory&#8217;s not found. (Thanks to Trio).</li>
<li>Added: abort option. (Thanks to Trio).</li>
<li>Added: wget parameter. (Thanks to Trio).</li>
<li>Added: new video format webm. Format list: flv, mp4, 3gp, and webm.</li>
<li>Changed: parsing algorithm based on Dougal&#8217;s Shell script. (Thanks to Dougal). But problem with array sorting.</li>
</ul>
<p>v2.0</p>
<ul>
<li>Added: automatic file naming based on page title.</li>
<li>Added: some error handling.</li>
<li>Added: allow user to choose available size and format. Format list: flv, mp4, and 3gp.</li>
<li>Changed: parsed portion. JSON array from youtube HTML source provides various video format. (Thanks to Trio).</li>
<li>Reported: problem with title and &#8220;/&#8221; character. Tested with Debian/Ubuntu &amp; Puppy, no problem.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/02/23/download-youtube-video-dengan-shell-script/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Codeigniter Helper untuk Modular Extensions-HMVC</title>
		<link>http://arif.suparlan.com/2011/02/20/codeigniter-helper-untuk-modular-extensions-hmvc?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=codeigniter-helper-untuk-modular-extensions-hmvc</link>
		<comments>http://arif.suparlan.com/2011/02/20/codeigniter-helper-untuk-modular-extensions-hmvc#comments</comments>
		<pubDate>Sun, 20 Feb 2011 10:41:00 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[helper]]></category>
		<category><![CDATA[hmvc]]></category>
		<category><![CDATA[matchbox]]></category>
		<category><![CDATA[modular extentions]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=335</guid>
		<description><![CDATA[Di Codeigniter 1.72 saya menggunakan Matchbox untuk modular extention. Dengan Matchbox, saya bisa mengatur applikasi yang saya buat menjadi komponen-komponen terpisah atau secara modular. Sekarang Codeigniter sudah versi 2, sementara Matchbox sudah tidak pernah disentuh lagi oleh pembuatnya. Akhirnya saya &#8230; <a href="http://arif.suparlan.com/2011/02/20/codeigniter-helper-untuk-modular-extensions-hmvc">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Di Codeigniter 1.72 saya menggunakan <a href="http://codeigniter.com/wiki/Matchbox/" target="_blank">Matchbox</a> untuk modular extention. Dengan Matchbox, saya bisa mengatur applikasi yang saya buat menjadi komponen-komponen terpisah atau secara modular. Sekarang <a href="http://codeigniter.com/" target="_blank">Codeigniter</a> sudah versi 2, sementara Matchbox sudah tidak pernah disentuh lagi oleh pembuatnya. Akhirnya saya pake <a href="http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/">Modular Extensions &#8211; HMVC</a> atau ME-HMVC untuk Codeigniter.<span id="more-335"></span></p>
<p>Di bawah ini adalah helper untuk ME-HMVC, dibuat berdasarkan <a href="http://codeigniter.com/forums/viewthread/82622/" target="_blank">Philip Sturgeon&#8217;s Matchbox helper</a>,  dengan sedikit perubahan minor. Masih kasar, belum ditest semua, untuk catatan saja supaya ga lupa.</p>
<pre>
&lt;?php if (!defined('BASEPATH')) exit('No direct script access allowed.');

function module_directories() {
    return Modules::$locations;
}

function module_array() {
    $module_arr = array();

    foreach (module_directories() as $key=&gt;$value)
    {
        foreach(glob($key.'*', GLOB_ONLYDIR) as $module)
        {
            array_push($module_arr, array('module'=&gt;basename($module), 'path'=&gt;$key));
        }

    }

    return $module_arr;
}

function is_module($module) {
    if(!$module) return FALSE;
    foreach (module_directories() as $key=&gt;$value)
    {
        if (is_dir($key.basename($module))) {
            return TRUE;
        }
    }

    return FALSE;
}

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2011/02/20/codeigniter-helper-untuk-modular-extensions-hmvc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

