<?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>Geng Sarung Community &#187; adpoint</title>
	<atom:link href="http://sarunkgenk.com/tag/adpoint/feed/" rel="self" type="application/rss+xml" />
	<link>http://sarunkgenk.com</link>
	<description>Just another Sarunkgenk.com weblog</description>
	<lastBuildDate>Sun, 04 Oct 2009 11:35:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My Rubygems List</title>
		<link>http://sarunkgenk.com/2008/02/20/my-rubygems-list/</link>
		<comments>http://sarunkgenk.com/2008/02/20/my-rubygems-list/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 13:24:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ruby Programming]]></category>
		<category><![CDATA[Surat dari Buncit]]></category>
		<category><![CDATA[TipsNTrick]]></category>
		<category><![CDATA[adpoint]]></category>
		<category><![CDATA[bingung]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rmagick]]></category>
		<category><![CDATA[rubygems]]></category>
		<category><![CDATA[sukses]]></category>

		<guid isPermaLink="false">http://www.sarunkgenk.com/2008/02/20/my-rubygems-list/</guid>
		<description><![CDATA[Akhirnya setelah tiga hari nanya ma om google dan akangaziz, terinstallah sudah gem Rmagick yang selama ini aku coba install tapi gagal melulu  ( . Kuncinya cuma satu, install aja semua paket yang berbau magick linux yang bersangkutan (kalo di ubuntu coba search yang magick dengan command  apt-cache search magick, karena aku sendiri [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Akhirnya setelah tiga hari nanya ma om google dan <a href="http://rubyonrails.blogdetik.com/" title="http://rubyonrails.blogdetik.com/" target="_blank">akangaziz</a>, terinstallah sudah gem Rmagick yang selama ini aku coba install tapi gagal melulu <img src='http://sarunkgenk.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> ( . Kuncinya cuma satu, install aja semua paket yang berbau <strong>magick</strong> linux yang bersangkutan (kalo di ubuntu coba search yang <em>magick</em> dengan command  <strong>apt-cache search magick</strong>, karena aku sendiri juga gak ngerti paket mana yang memang bener2 dibutuhkan untuk install gem rmagick). Dengan begitu, bertambahlah 1 gem di PCku dan tentu saja akan terus bertambah <img src='http://sarunkgenk.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) . Berikut adalah daftar gem-nya :</p>
<p>root@ditto:/home/ditto# gem list</p>
<p>*** LOCAL GEMS ***</p>
<p>actionmailer (1.3.3)<br />
actionpack (1.13.3)<br />
actionwebservice (1.2.3)<br />
activerecord (1.15.3)<br />
activesupport (1.4.2)<br />
archive-tar-external (1.2.1)<br />
archive-tar-minitar (0.5.1)<br />
cgi_multipart_eof_fix (2.5.0)<br />
daemons (1.0.9)<br />
fastthread (1.0.1)<br />
gem_plugin (0.2.3)<br />
hoe (1.5.0)<br />
mini_magick (1.2.3)<br />
mongrel (1.1.3)<br />
rails (1.2.3)<br />
rake (0.8.1)<br />
rmagick (2.2.2)<br />
rubyforge (0.4.4)<br />
root@ditto:/home/ditto#</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://sarunkgenk.com/2008/02/20/my-rubygems-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gagal Upgrade Rubygems, piye iki?</title>
		<link>http://sarunkgenk.com/2008/02/19/gagal-upgrade-rubygems-piye-iki/</link>
		<comments>http://sarunkgenk.com/2008/02/19/gagal-upgrade-rubygems-piye-iki/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 13:17:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ruby Programming]]></category>
		<category><![CDATA[Surat dari Buncit]]></category>
		<category><![CDATA[TipsNTrick]]></category>
		<category><![CDATA[adpoint]]></category>
		<category><![CDATA[bingung]]></category>
		<category><![CDATA[gagal]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rmagick]]></category>
		<category><![CDATA[rubygems]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.sarunkgenk.com/2008/02/19/gagal-upgrade-rubygems-piye-iki/</guid>
		<description><![CDATA[Temans,
Hari ini aku udah 3 hari pakai kubuntu. Setelah install ruby beserta paket2 pendukungnya, aku baru sadar kalau masih menggunakan rubygems versi 0.9.4. Akhirnya aku coba upgrade dengan &#8220;gem update &#8211;system&#8220;, hasilnya keluar error di konsole pas aku jalankan &#8220;gem&#8221; errornya kayak gini &#8220;/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)&#8220;. Nah setelah tanya-tanya ma om google, akhirnya [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Temans,</p>
<p>Hari ini aku udah 3 hari pakai kubuntu. Setelah install ruby beserta paket2 pendukungnya, aku baru sadar kalau masih menggunakan rubygems versi 0.9.4. Akhirnya aku coba upgrade dengan &#8220;<strong>gem update &#8211;system</strong>&#8220;, hasilnya keluar error di konsole pas aku jalankan &#8220;gem&#8221; errornya kayak gini &#8220;<strong>/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)</strong>&#8220;. Nah setelah tanya-tanya ma om google, akhirnya <a href="http://railsforum.com/viewtopic.php?pid=48963" title="http://railsforum.com/viewtopic.php?pid=48963" target="_blank">ketemu</a> deh jawabannya. Ringkasnya, buka &#8220;<strong>/usr/bin/gem</strong>&#8221; kemudian tambahkan &#8220;<strong>require &#8216;rubygems/gem_runner&#8217;</strong>&#8221; setelah script &#8220;<strong>require &#8216;rubygems&#8217;</strong>&#8220;. Setelah itu, jalankan &#8220;<strong>gem -v</strong>&#8221; maka akan muncul versi rubygem yang terbaru yang menandakan rubygem telah berhasil diupgrade.  B-)</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://sarunkgenk.com/2008/02/19/gagal-upgrade-rubygems-piye-iki/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Third Online.rb</title>
		<link>http://sarunkgenk.com/2008/02/09/third-onlinerb/</link>
		<comments>http://sarunkgenk.com/2008/02/09/third-onlinerb/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 04:41:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Rails Versi 1.2.3]]></category>
		<category><![CDATA[Ruby Programming]]></category>
		<category><![CDATA[Surat dari Buncit]]></category>
		<category><![CDATA[TipsNTrick]]></category>
		<category><![CDATA[adpoint]]></category>
		<category><![CDATA[lama]]></category>
		<category><![CDATA[online.rb]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails class]]></category>

		<guid isPermaLink="false">http://www.sarunkgenk.com/2008/02/09/third-onlinerb/</guid>
		<description><![CDATA[Pada online.rb yang ke tiga ini, kami melanjutkan project yang sebelumnya. Kalo pertemuan minggu lalu cuma posting berita tentu saja berbeda dengan yang semalam, kami menambahkan untuk menampilkan data yang telah di entrykan dengan menggunakan paging. Juga ada penambahan live-search (pake ajax) kalo mas aziz bilang. Dengan adanya tambahan fasilitas ini, tentu saja kita perlu [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Pada online.rb yang ke tiga ini, kami melanjutkan project yang <a href="http://www.sarunkgenk.com/2008/02/02/second-onlinerb/" title="Second Online.rb">sebelumnya</a>. Kalo pertemuan minggu lalu cuma posting berita tentu saja berbeda dengan yang semalam, kami menambahkan untuk menampilkan data yang telah di entrykan dengan menggunakan paging. Juga ada penambahan live-search <em>(pake ajax)</em> kalo <a href="http://www.akangaziz.com" title="akangaziz" target="_blank">mas aziz</a> bilang. Dengan adanya tambahan fasilitas ini, tentu saja kita perlu mengubah beberapa script yang pernah kita buat sebelumnya.  Yang pertama adalah penambahan method pada controller <em>berita</em>, dengan menggunakan generate ulang controller berita.</p>
<blockquote><p> [root@ditto berita]# ./script/generate controller berita index view</p>
<p>exists  app/controllers/<br />
exists  app/helpers/<br />
exists  app/views/berita<br />
exists  test/functional/<br />
overwrite app/controllers/berita_controller.rb? [Ynaqd] n<br />
skip  app/controllers/berita_controller.rb<br />
identical  test/functional/berita_controller_test.rb<br />
identical  app/helpers/berita_helper.rb<br />
identical  app/views/berita/index.rhtml<br />
create  app/views/berita/view.rhtml<br />
[root@ditto berita]#</p></blockquote>
<p>Command generate diatas diperlukan untuk create file view.rhtml dan penambahan method pada <em>berita_controller.rb</em> yang perubahannya bisa kita lihat seperti di bawah :</p>
<blockquote><p>class BeritaController &lt; ApplicationController</p>
<p>def index<br />
redirect_to :action =&gt; &#8220;new&#8221;<br />
end</p>
<p>def new<br />
end</p>
<p>def view<br />
condition = &#8220;judul LIKE &#8216;%#{params[:query]}%&#8217;&#8221;<br />
@total = Berita.count(:conditions =&gt; condition)<br />
@pages, @record = paginate(:beritas, :conditions =&gt; condition, :per_page =&gt; 10)<br />
end</p>
<p>def proses_insert<br />
if request.post?<br />
@masuk=Berita.new(params[:masuk])<br />
if @masuk.save<br />
flash[:notice] = &#8220;udah masuk&#8221;<br />
redirect_to :action =&gt; &#8220;new&#8221;<br />
else<br />
flash[:notice] = &#8220;nggak masuk&#8221;<br />
render :action =&gt; &#8216;new&#8217;<br />
end<br />
end<br />
end</p>
<p>end</p></blockquote>
<p>Berikut beberapa penjelasan dari script di atas :</p>
<ul>
<li> condition = &#8220;judul LIKE &#8216;%#{params[:query]}%&#8217;&#8221;<br />
condition  adalah sebuah variabel  yang menunjukkan kondisi  yang  dijalankan ketika  query select  berjalan (jika di mysql kita mengenalnya sebagai =&gt; where judul like &#8216;%params[:query]%&#8217;)</li>
<li> @total = Berita.count(:conditions =&gt; condition)<br />
@total adalah jumlah row dari hasil query</li>
<li> @pages, @record = paginate(:beritas, :conditions =&gt; condition, :per_page =&gt; 10)<br />
@record berfungsi untuk menghitung jumlah row hasil query dengan batas maksimal 10 record, sedangkan @pages diperoleh dari jumlah seluruh record setelah dibagi dengan 10 dan kemudian di tambah 1</li>
</ul>
<p><span id="more-58"></span>Kemudian pada file <em>app/views/berita/view.rhtml</em> yang dibentuk dari hasil generate controller berita pada tahap sebelumnya, kita bisa menambahkan script berikut :</p>
<blockquote><p>&lt;%= stylesheet_link_tag &#8217;scaffold&#8217; %&gt;<br />
&lt;%= javascript_include_tag :defaults %&gt;<br />
&lt;div id=&#8221;table&#8221;&gt;<br />
&lt;h1&gt;Berita#view&lt;/h1&gt;<br />
&lt;form name=&#8221;sform&#8221; action=&#8221;" style=&#8221;display:inline;&#8221;&gt;<br />
Search Judul:<br />
&lt;%= text_field_tag(&#8221;query&#8221;, params['query'], :size =&gt; 15 ) %&gt;<br />
&lt;/form&gt;<br />
&lt;h2&gt;&lt;font color=&#8221;red&#8221;&gt;&lt;%= flash[:notice] %&gt;&lt;/font&gt;&lt;/h2&gt;</p>
<p>&lt;% if @total == 0 %&gt;<br />
&lt;p&gt;No items found&#8230;&lt;/p&gt;<br />
&lt;% else %&gt;<br />
&lt;p&gt;Number of items found : &lt;b&gt;&lt;%= @total %&gt;&lt;/b&gt;&lt;/p&gt;<br />
&lt;% end %&gt;</p>
<p>&lt;p&gt;<br />
&lt;% if @pages.page_count &gt; 1 %&gt;<br />
Page :<br />
&lt;%= pagination_links_remote @pages, &#8216;berita&#8217; %&gt;<br />
&lt;%= image_tag(&#8221;/images/spinner.gif&#8221;,<br />
:align =&gt; &#8220;absmiddle&#8221;,<br />
:border =&gt; 0,<br />
:id =&gt; &#8220;spinner&#8221;,<br />
:style =&gt;&#8221;display: none;&#8221; ) %&gt;<br />
&lt;%= observe_field &#8216;query&#8217;,  :frequency =&gt; 2,<br />
:update =&gt; &#8216;table&#8217;,<br />
:before =&gt; &#8220;Element.show(&#8217;spinner&#8217;)&#8221;,<br />
:success =&gt; &#8220;Element.hide(&#8217;spinner&#8217;)&#8221;,<br />
:url =&gt; {:action =&gt; :view},<br />
:with =&gt; &#8216;query&#8217; %&gt;<br />
&lt;% end %&gt;<br />
&lt;/p&gt;</p>
<p>&lt;%= link_to &#8220;Masukkan Baru&#8221;, :action =&gt; :new %&gt;<br />
&lt;table border=&#8221;0&#8243; width=&#8221;900&#8243;&gt;<br />
&lt;tr bgcolor=&#8221;#999999&#8243;&gt;<br />
&lt;td width=&#8221;10&#8243;&gt;&lt;b&gt;No.&lt;/b&gt;&lt;/td&gt;<br />
&lt;td&gt;&lt;b&gt;Judul&lt;/b&gt;&lt;/td&gt;<br />
&lt;td&gt;&lt;b&gt;Isi&lt;/b&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;% if @total == 0 %&gt;<br />
&lt;tr&gt;<br />
&lt;td colspan=&#8221;2&#8243;&gt;no data found!&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;% else %&gt;<br />
&lt;% b = 1 + ((@pages.current_page.to_i &#8211; 1) * @pages.items_per_page.to_i) %&gt;<br />
&lt;% @record.each do |t| %&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;&lt;%= b %&gt;&lt;/td&gt;<br />
&lt;td&gt;&lt;%= t.judul %&gt;&lt;/td&gt;<br />
&lt;td&gt;&lt;%= t.isi %&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;% b += 1 %&gt;<br />
&lt;% end %&gt;<br />
&lt;% end %&gt;<br />
&lt;/table&gt;<br />
&lt;/div&gt;</p></blockquote>
<p>Lalu pada file <em>app/helpers/berita_helper.rb</em> kita masukkan script berikut :</p>
<blockquote><p>module BeritaHelper<br />
def pagination_links_remote(paginator, action)<br />
page_options = {:window_size =&gt; 2}<br />
pagination_links_each(paginator, page_options) do |n|<br />
options = {<br />
:url =&gt; {:action =&gt; action, :params =&gt; params.merge({:page =&gt; n})},<br />
:update =&gt; &#8216;table&#8217;,<br />
:before =&gt; &#8220;Element.show(&#8217;spinner&#8217;)&#8221;,<br />
:success =&gt; &#8220;Element.hide(&#8217;spinner&#8217;)&#8221;<br />
}<br />
html_options = {:href =&gt; url_for(:action =&gt; action, :params =&gt; params.merge({:page =&gt; n}))}<br />
link_to_remote(n.to_s, options, html_options)<br />
end<br />
end<br />
end</p></blockquote>
<p>Setelah itu, jalankan server dengan menggunakan command <em>./script/server</em> pada dokumen root project ini. Arahkan browser ke <a href="http://localhost:3000/berita/new" title="http://localhost:3000/berita/new" target="_blank">http://localhost:3000/berita/new</a> lalu isikan data minimal 10 record, kemudian kita lihat hasilnya pada <a href="http://localhost:3000/berita/view" title="http://localhost:3000/berita/view" target="_blank">http://localhost:3000/berita/view</a>. Semua yang telah kita lakukan telah berhasil ketika pada http://localhost:3000/berita/view tampil kurang lebih seperti gambar di bawah :</p>
<p><img src="http://www.sarunkgenk.com/wp-content/uploads/2008/02/snapshot13.png" alt="PagingNLiveSearch" border="1" height="427" width="605" /></p>
<p>Keterangan Gambar :</p>
<p>A : Bagian ini adalah form yang digunakan untuk melakukan live-search judul menggunakan ajax. Pada saat form ini diisi bagian dari judul yang dicari, akan terjadi proses berikut pada file view.rhtml :</p>
<blockquote><p> &lt;%= observe_field &#8216;query&#8217;,  :frequency =&gt; 2,<br />
:update =&gt; &#8216;table&#8217;,<br />
:before =&gt; &#8220;Element.show(&#8217;spinner&#8217;)&#8221;,<br />
:success =&gt; &#8220;Element.hide(&#8217;spinner&#8217;)&#8221;,<br />
:url =&gt; {:action =&gt; :view},<br />
:with =&gt; &#8216;query&#8217; %&gt;<br />
&lt;% end %&gt;</p></blockquote>
<p>B : Angka 14 pada bagian ini adalah jumlah record yang telah diseleksi dan diperoleh dari controller berita yang variabelnya telah didefinisikan  pada proses :</p>
<blockquote><p>  @total = Berita.count(:conditions =&gt; condition)</p></blockquote>
<p>C : Bagian ini adalah link paging, sedangkan gambar di sebelah link2 (<img src="http://www.sarunkgenk.com/wp-content/uploads/2008/02/spinner.gif" alt="spinner.gif" height="16" width="16" />) tersebut adalah file image bernama spiner.gif yang terletak pada path <em>public/image/spiner.gif</em>. Gambar tersebut akan tampil ketika webserver melakukan suatu query dan akan hilang dengan sendirinya ketika query berakhir. Sedangkan script yang ambil bagian pada hal ini adalah :</p>
<blockquote><p> &lt;%= image_tag(&#8221;/images/spinner.gif&#8221;,<br />
:align =&gt; &#8220;absmiddle&#8221;,<br />
:border =&gt; 0,<br />
:id =&gt; &#8220;spinner&#8221;,<br />
:style =&gt;&#8221;display: none;&#8221; ) %&gt;</p></blockquote>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://sarunkgenk.com/2008/02/09/third-onlinerb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Online.rb</title>
		<link>http://sarunkgenk.com/2008/01/26/first-onlinerb/</link>
		<comments>http://sarunkgenk.com/2008/01/26/first-onlinerb/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 04:00:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Rails Versi 2.0.2]]></category>
		<category><![CDATA[Ruby Programming]]></category>
		<category><![CDATA[Surat dari Buncit]]></category>
		<category><![CDATA[TipsNTrick]]></category>
		<category><![CDATA[adpoint]]></category>
		<category><![CDATA[belajar]]></category>
		<category><![CDATA[online.rb]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails class]]></category>
		<category><![CDATA[sinau]]></category>

		<guid isPermaLink="false">http://www.sarunkgenk.com/?p=29</guid>
		<description><![CDATA[Ah, dah lama nggak posting nih. Berhubung semalam ada acara kumpul2 tim online yang bahas masalah howto-nya RubyOnRails(RoR) yang juga telah dihadiri seluruh tim dan mengingat banyaknya hal yang harus dicatat dari pertemuan semalam, jadi kepikiran nih untuk mendokumentasikannya ke sini. Oh, ya semalam yang jadi masternya di online.rb adalah Aziz Sensei ^:)^ profil yang [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Ah, dah lama nggak posting nih. Berhubung semalam ada acara kumpul2 tim online yang bahas masalah howto-nya RubyOnRails(RoR) yang juga telah dihadiri seluruh tim dan mengingat banyaknya hal yang harus dicatat dari pertemuan semalam, jadi kepikiran nih untuk mendokumentasikannya ke sini. Oh, ya semalam yang jadi masternya di online.rb adalah Aziz Sensei ^:)^ profil yang lebih lengkap beliau ada di <a href="http://www.akangaziz.com/" title="Aziz Sensei" target="_blank">http://www.akangaziz.com/</a> :thumbs . Daripada ntar lupa lebih baik aku mulai aja.</p>
<p>Pertama kali yang dijelasin adalah beberapa perbedaan php-fusebox dengan ruby-rails, agak lupa2 inget juga sih <img src='http://sarunkgenk.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) . Seingatku sih kata beliau, klo pake fusebox kita bisa buat program sesuai prosedur kita sendiri sedangkan pada rails malah sebaliknya, kita yang harus mengikuti prosedur2 yang ada di rails. Ada contoh kasus misalnya jika di php kita mau nampilkan suatu variabel dimana variabel tersebut belum didefinisikan, tidak akan muncul error. Hal sebaliknya akan terjadi jika kita menggunakan rails. Berikutnya di rails sensitifitasnya sangat tinggi, kita juga harus paham kapan kita menggunakan karakter &#8220;@&#8221; dengan benar.</p>
<p><span id="more-29"></span>Sekarang jalankan service mysql bawaan dari lampp.</p>
<blockquote><p>[ditto@otid ~]$ su<br />
Password:<br />
[root@otid ditto]# /opt/lampp/lampp start<br />
Starting XAMPP for Linux 1.6.4&#8230;<br />
XAMPP: Starting Apache with SSL (and PHP5)&#8230;<br />
XAMPP: Starting MySQL&#8230;<br />
XAMPP: Starting ProFTPD&#8230;<br />
XAMPP for Linux started.</p></blockquote>
<p>Supaya lebih cepet paham, langsung praktek aja. Sebenarnya semalam dijelaskan memakai rails versi 1.2.3, tapi di sini aku akan jelaskan pake rails versi terbaru sekarang versi 2.0.2. Pertama pastikan semua <a href="http://www.sarunkgenk.com/?p=27" title="http://www.sarunkgenk.com/?p=27">program yang diperlukan</a> sudah terinstall. Kemudian masuk ke direktori yang telah dipilih.</p>
<blockquote><p>[root@otid ~]# cd /opt/lampp/htdocs/<br />
[root@otid htdocs]# rails &#8211;d=mysql coba<br />
create<br />
create  app/controllers<br />
create  app/helpers<br />
create  app/models<br />
create  app/views/layouts<br />
create  config/environments<br />
create  config/initializers<br />
create  db<br />
create  doc<br />
create  lib<br />
create  lib/tasks<br />
create  log<br />
create  public/images<br />
create  public/javascripts<br />
create  public/stylesheets<br />
create  script/performance<br />
create  script/process<br />
create  test/fixtures<br />
create  test/functional<br />
create  test/integration<br />
create  test/mocks/development<br />
create  test/mocks/test<br />
create  test/unit<br />
create  vendor<br />
create  vendor/plugins<br />
create  tmp/sessions<br />
create  tmp/sockets<br />
create  tmp/cache<br />
create  tmp/pids<br />
create  Rakefile<br />
create  README<br />
create  app/controllers/application.rb<br />
create  app/helpers/application_helper.rb<br />
create  test/test_helper.rb<br />
create  config/database.yml<br />
create  config/routes.rb<br />
create  public/.htaccess<br />
create  config/initializers/inflections.rb<br />
create  config/initializers/mime_types.rb<br />
create  config/boot.rb<br />
create  config/environment.rb<br />
create  config/environments/production.rb<br />
create  config/environments/development.rb<br />
create  config/environments/test.rb<br />
create  script/about<br />
create  script/console<br />
create  script/destroy<br />
create  script/generate<br />
create  script/performance/benchmarker<br />
create  script/performance/profiler<br />
create  script/performance/request<br />
create  script/process/reaper<br />
create  script/process/spawner<br />
create  script/process/inspector<br />
create  script/runner<br />
create  script/server<br />
create  script/plugin<br />
create  public/dispatch.rb<br />
create  public/dispatch.cgi<br />
create  public/dispatch.fcgi<br />
create  public/404.html<br />
create  public/422.html<br />
create  public/500.html<br />
create  public/index.html<br />
create  public/favicon.ico<br />
create  public/robots.txt<br />
create  public/images/rails.png<br />
create  public/javascripts/prototype.js<br />
create  public/javascripts/effects.js<br />
create  public/javascripts/dragdrop.js<br />
create  public/javascripts/controls.js<br />
create  public/javascripts/application.js<br />
create  doc/README_FOR_APP<br />
create  log/server.log<br />
create  log/production.log<br />
create  log/development.log<br />
create  log/test.log<br />
[root@otid htdocs]# cd coba/<br />
[root@otid coba]#</p></blockquote>
<p>Nah, dengan begini aplikasi rails yang kita perlukan telah di generate secara otomatis. Fungsi dari perintah &#8220;rails &#8211;d=mysql coba&#8221; adalah untuk membuat rails dengan project bernama coba menggunakan database mysql. Perlu diingat bahwa saat ini aku memakai rails versi 2.0.2, jika kita menggunakan versi 1.2.3 command yang perlu kita jalankan adalah &#8220;rails coba&#8221; maka secara otomatis rails akan memilih database mysql secara default, sedangkan di versi 2.0.2 database defaultnya adalah sqlite3.</p>
<p>Kemudian kita buka editor untuk edit file : config/database.yml</p>
<blockquote><p>development:<br />
adapter: mysql<br />
encoding: utf8<br />
database: coba_development<br />
username: root<br />
password:<br />
socket: /opt/lampp/var/mysql/mysql.sock</p></blockquote>
<p>Di file ini terdapat konfigurasi konektor ke database, kita bisa mengubahnya sesuai dengan kebutuhan. Kemudian kita buat database dengan menggunakan command :</p>
<blockquote><p>[root@otid coba]# rake db:create<br />
(in /opt/lampp/htdocs/coba)<br />
[root@otid coba]#</p></blockquote>
<p>Secara otomatis database telah terbuat. Nama database secara default akan di load dari file database.yml <em>(dalam kasus ini adalah database: coba_development)</em>. Kemudian jalankan server untuk rails, pada kesempatan kali ini aku pake WEBrick sebagai server untuk rails-nya.</p>
<blockquote><p>[root@otid coba]# script/server<br />
=&gt; Booting WEBrick&#8230;<br />
=&gt; Rails application started on http://0.0.0.0:3000<br />
=&gt; Ctrl-C to shutdown server; call with &#8211;help for options<br />
[2008-01-26 06:56:15] INFO  WEBrick 1.3.1<br />
[2008-01-26 06:56:15] INFO  ruby 1.8.6 (2007-09-24) [i386-linux]<br />
[2008-01-26 06:56:15] INFO  WEBrick::HTTPServer#start: pid=4065 port=3000</p></blockquote>
<p>Sekarang buka browser dan arahkan menuju <a href="http://localhost:3000/" title="http://localhost:3000/">http://localhost:3000/</a>. Jika sudah tampil seperti gambar berikut, maka semua settingan kita sudah benar. Jika masih tampil pesan eror lain, periksa apakah semua paket2 pendukung ruby dan rails telah terinstall dengan benar. Periksa juga konfigurasi database.yml, pastikan semua sudah benar.<br />
<img src="http://www.sarunkgenk.com/wp-content/uploads/2008/01/snapshot5.png" alt="Configuration Success" border="1" height="426" width="615" /></p>
<p>Kemudian tentu saja kita memerlukan tabel, untuk membuat tabel kita bisa menggunakan command berikut :</p>
<blockquote><p>[root@otid coba]# script/generate model berita<br />
exists  app/models/<br />
exists  test/unit/<br />
exists  test/fixtures/<br />
create  app/models/berita.rb<br />
create  test/unit/berita_test.rb<br />
create  test/fixtures/beritas.yml<br />
create  db/migrate<br />
create  db/migrate/001_create_beritas.rb<br />
[root@otid coba]#</p></blockquote>
<p>Setelah command tersebut berjalan lancar, maka akan ter-<em>create</em> suatu konfigurasi table pada file : db/migrate/001_create_beritas.rb. Kita akan membuat struktur tabel beritas pada file tersebut dan ubahlah isinya menjadi seperti berikut :</p>
<blockquote><p>class CreateBeritas &lt; ActiveRecord::Migration<br />
def self.up<br />
create_table :beritas do |t|<br />
t.string :title, :image_url<br />
t.text :description<br />
t.timestamps<br />
end<br />
end</p>
<p>def self.down<br />
drop_table :beritas<br />
end<br />
end</p></blockquote>
<p>Kemudian jalankan command untuk membuat tabelnya di database.</p>
<blockquote><p>[root@otid coba]# rake db:migrate<br />
(in /opt/lampp/htdocs/coba)<br />
== 1 CreateBeritas: migrating =================================================<br />
&#8211; create_table(:beritas)<br />
-&gt; 0.0027s<br />
== 1 CreateBeritas: migrated (0.0029s) ========================================</p>
<p>[root@otid coba]#</p></blockquote>
<p>Dengan berjalannya command tersebut, telah terbuat tabel beritas pada database coba_development. Perlu diingat pada saat kita menjalankan command &#8220;script/generate model berita&#8221;, terjadi proses untukmembuat struktur tabel dan nama tabel yang dibuat adalah bentuk plural <em>(jamak)</em> dari command yang kita jalankan dan hasilnya tabel yang terbentuk adalah tabel <em>beritas</em>. Misalnya kita menjalankan command &#8220;script/generate model person&#8221;, maka secara otomatis rails akan mengambil &#8220;people&#8221; sebagai nama tabel.  Kemudian kita bisa lihat keberadaan tabel beritas pada database.</p>
<p><img src="http://www.sarunkgenk.com/wp-content/uploads/2008/01/snapshot1.png" alt="Table Berita" border="1" height="574" width="607" /></p>
<p>Satu kehebatan dari rails mucul lagi di sini, secara otomatis akan terbentuk satu field dengan nama id sebagai primary key. Berikutnya kita masukkan beberapa data secara manual menggunakan query mysql.</p>
<blockquote><p>mysql&gt; insert into beritas (title,description) values (&#8217;judul01&#8242;,&#8217;isi berita satu&#8217;),(&#8217;judul02&#8242;,&#8217;isi berita dua&#8217;);<br />
Query OK, 2 rows affected (0.02 sec)<br />
Records: 2  Duplicates: 0  Warnings: 0</p>
<p>mysql&gt;</p></blockquote>
<p>Pastikan kedua data masuk dengan query :</p>
<blockquote><p>mysql&gt; select * from beritas;</p></blockquote>
<p>Kemudian kita akan membuat controller beserta view-nya.</p>
<blockquote><p>[root@otid coba]# script/generate controller kabar index<br />
exists  app/controllers/<br />
exists  app/helpers/<br />
create  app/views/kabar<br />
create  app/views/kabar/index.html.erb<br />
exists  test/functional/<br />
create  app/controllers/kabar_controller.rb<br />
create  test/functional/kabar_controller_test.rb<br />
create  app/helpers/kabar_helper.rb<br />
[root@otid coba]#</p></blockquote>
<p>Kita bisa mengedit file app/controllers/kabar_controller.rb, untuk menyimpan query seleksi data pada database. Setelah kita ubah hasilnya akan seperti berikut :</p>
<blockquote><p>class KabarController &lt; ApplicationController</p>
<p>def index<br />
@record=Berita.find(:all)<br />
end<br />
end</p></blockquote>
<p>Script &#8220;Berita&#8221; diperoleh dari bentuk singular dari nama tabel, juga bisa diperoleh ketika kita menjalankan command &#8220;script/generate model berita&#8221;. Script tersebut selalu diawali dengan huruf besar <em>(<strong>B</strong>erita)</em>. Untuk diperhatikan jika kita melakukan generate model dengan menggunakan &#8220;_&#8221; misalnya &#8220;script/generate model berita_saja&#8221;, maka untuk query kita dapat menuliskan &#8220;BeritaSaja&#8221; untuk seleksi tabel.</p>
<p>Kemudian kita akan menampilkan data dari table beritas di file : app/views/kabar/index.html.erb</p>
<blockquote><p>&lt;h1&gt;Kabar#index&lt;/h1&gt;<br />
&lt;p&gt;Find me in app/views/kabar/index.html.erb&lt;/p&gt;</p>
<p>&lt;% @record.each do |t| %&gt;<br />
&lt;p&gt;<br />
Title: &lt;%= t.title %&gt;&lt;br /&gt;<br />
Content: &lt;%= t.title %&gt;&lt;br /&gt;<br />
&lt;/p&gt;<br />
&lt;% end %&gt;</p></blockquote>
<p>Dan kita sudah bisa melihat hasilnya di <a href="http://localhost:3000/kabar" title="http://localhost:3000/kabar">http://localhost:3000/kabar</a>, sbb :</p>
<p><img src="http://www.sarunkgenk.com/wp-content/uploads/2008/01/snapshot31.png" alt="Sukses" border="1" /></p>
<p>Setelah itu, kita bisa memasang header dan footernya di : app/views/layout/layout.rhtml  dengan membuat secara manual file layout.rhtml tersebut. Kemudian isi dengan script berikut :</p>
<blockquote><p> Header<br />
&lt;p&gt;<br />
&lt;%= yield %&gt;<br />
&lt;/p&gt;<br />
Footer</p></blockquote>
<p>Ubah juga file app/controllers/kabar_controller.rb  menjadi :</p>
<blockquote><p>class KabarController &lt; ApplicationController<br />
layout &#8216;index&#8217;<br />
def index<br />
@record=Berita.find(:all)<br />
end<br />
end</p></blockquote>
<p>Sekarang lihat <a href="http://localhost:3000/kabar" title="http://localhost:3000/kabar">http://localhost:3000/kabar</a> dan telah tercipta template untuk posisi header dan footer.</p>
<p><img src="http://www.sarunkgenk.com/wp-content/uploads/2008/01/snapshot6.png" alt="HeaderFooter" border="1" height="403" width="613" /></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://sarunkgenk.com/2008/01/26/first-onlinerb/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
