<?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>Agilinius</title>
	<atom:link href="http://agilini.us/feed/" rel="self" type="application/rss+xml" />
	<link>http://agilini.us</link>
	<description>Sebuah Seni Rekayasa Perangkat Lunak Agile</description>
	<lastBuildDate>Sun, 15 Aug 2010 15:04:00 +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>Membuat DSL Tanggal Dengan Scala</title>
		<link>http://agilini.us/2010/08/15/membuat-dsl-tanggal-dengan-scala/</link>
		<comments>http://agilini.us/2010/08/15/membuat-dsl-tanggal-dengan-scala/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 14:45:33 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Domain Specific Language]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=143</guid>
		<description><![CDATA[Membuat DSL (Domain Specific Language) dengan bahasa pemrograman Scala relatif mudah. Walaupun Scala adalah bahasa pemrograman static, tapi untuk urusan membuat DSL tidak kalah mudahnya dibanding bahasa pemrograman dinamis seperti Ruby atau Groovy. Kali ini kita akan membuat program DSL tanggal, program ini bukan buatan saya tetapi saya mengadopsi program yang dibuat oleh Sergio Lopes [...]]]></description>
			<content:encoded><![CDATA[<p>Membuat DSL (Domain Specific Language) dengan bahasa pemrograman Scala relatif mudah. Walaupun Scala adalah bahasa pemrograman static, tapi untuk urusan membuat DSL tidak kalah mudahnya dibanding bahasa pemrograman dinamis seperti Ruby atau Groovy. Kali ini kita akan membuat program DSL tanggal, program ini bukan buatan saya tetapi saya mengadopsi program yang dibuat oleh <a href="http://gist.github.com/207718">Sergio Lopes</a> dan <a href="http://jcranky.com/2010/06/01/dsl-in-scala-for-date-calculation/">Paulo Renato</a> dan saya mengubahnya dalam dialek bahasa Indonesia.</p>
<p>Begini ilustrasi DSL yang akan kita buat</p>
<blockquote><p>Kemarin ditambah 15 hari dan dikurangi 19 tahun</p></blockquote>
<p> Jika perintah tersebut dieksekusi dan dicetak ke layar maka akan muncul tanggal. Tanggal tersebut tergantung kapan kita mengeksekusi program. Berikut ini source code-nya:</p>
<p><script src="http://gist.github.com/525351.js?file=Tanggal.scala"></script></p>
<p><script src="http://gist.github.com/525351.js?file=Coba.scala"></script></p>
<p>Jika Anda mendapat masalah dalam menampilkan source  code atau source code tidak muncul, Anda bisa mengakses <a href="http://gist.github.com/525351">halaman ini</a>. </p>
<p>Petunjuk khusus bagi yang masih awam dalam menggunakan Scala (asumsi Scala sudah terinstall dalam sistem Anda):</p>
<ol>
<li>Buat file dengan nama Tanggal.scala kemudian salin source code Tanggal.scala seperti tercantum di atas. Kemudian simpan file tersebut</li>
<li>Dalam folder yang sama, buat file dengan nama Coba.scala kemudian salin source code Coba.scala seperti tercantum di atas. Kemudian simpan file tersebut</li>
<li>Buka terminal/command-prompt, masuk ke folder tempat kedua file tersebut disimpan. Kemudian ketik &#8220;fsc Tanggal.scala Coba.scala&#8221; (tanpa tanda kutip)</li>
<li>Bila berhasil, coba jalankan program dengan mengetik &#8220;scala Coba&#8221; (tanpa tanda kutip)</li>
<li>Anda dapat bereksperimen dengan file Coba.scala untuk mencoba berbagai variasi tanggal yang ingin dihitung. Namun jangan lupa untuk melakukan kompilasi setiap kali merubah source code.</li>
</ol>
<p>Selamat mencoba.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2010/08/15/membuat-dsl-tanggal-dengan-scala/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Basis Data Graph</title>
		<link>http://agilini.us/2010/08/04/basis-data-graph/</link>
		<comments>http://agilini.us/2010/08/04/basis-data-graph/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 14:51:33 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Basis Data]]></category>
		<category><![CDATA[Pemrograman Web]]></category>
		<category><![CDATA[Representational State Transfer]]></category>
		<category><![CDATA[Skalabilitas]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=137</guid>
		<description><![CDATA[Sekarang banyak sekali jenis basis data, kalau dulu membayangkan basis data mungkin yang kita bayangkan adalah tabel-tabel yang saling terhubung satu sama lain atau mungkin kita membayangkan bahasa SQL. Dulu saya pernah menulis tentang basis data berorientasi dokumen khususnya yang dibuat menggunakan bahasa pemrograman Erlang. Sekarang saya tertarik untuk menulis jenis basis data lainnya, yaitu [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 337px"><a href="http://infogrid.org/"><img title="InfoGrid" src="http://infogrid.org/custom/infogrid-parts.png" alt="InfoGrid" width="327" height="327" /></a><p class="wp-caption-text">InfoGrid</p></div>
<p>Sekarang banyak sekali jenis basis data, kalau dulu membayangkan basis data mungkin yang kita bayangkan adalah tabel-tabel yang saling terhubung satu sama lain atau mungkin kita membayangkan bahasa SQL. Dulu saya pernah menulis tentang <a href="http://agilini.us/2009/10/15/basis-data-berorientasi-dokumen/">basis data berorientasi dokumen</a> khususnya yang dibuat menggunakan bahasa pemrograman Erlang. Sekarang saya tertarik untuk menulis jenis basis data lainnya, yaitu basis data graph. Ada banyak graph database yang beredar, diantaranya:</p>
<ol>
<li> <a href="http://neo4j.org/">neo4j</a> (java)</li>
<li><a href="http://neo4j.org/"></a><a href="http://www.kobrix.com/hgdb.jsp">HyperGraphDB</a> (java)</li>
<li><a href="http://www.kobrix.com/hgdb.jsp"></a><a href="http://www.dekorte.com/projects/opensource/vertexdb/">vertexdb</a> (C)</li>
<li><a href="http://www.dekorte.com/projects/opensource/vertexdb/"></a><a href="http://infogrid.org/">InfoGrid</a> (java)</li>
</ol>
<p>Diantara semua itu, yang paling menarik perhatian saya adalah neo4j dan InfoGrid. InfoGrid menawarkan kemudahan dalam pembuatan aplikasi web yang <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a>-ful. Tapi HyperGraphDB dengan <a href="http://en.wikipedia.org/wiki/Hypergraph">hypergraph</a>-nya dan vertexdb yang high-performance juga tidak kalah menarik.</p>
<p>Basis data jenis ini konon cocok untuk membuat aplikasi semacam bioinformatics atau semantic web.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2010/08/04/basis-data-graph/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Panduan Instalasi NetKernel</title>
		<link>http://agilini.us/2009/12/27/panduan-instalasi-netkernel/</link>
		<comments>http://agilini.us/2009/12/27/panduan-instalasi-netkernel/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 04:21:23 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Pemrograman Web]]></category>
		<category><![CDATA[Representational State Transfer]]></category>
		<category><![CDATA[Skalabilitas]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=126</guid>
		<description><![CDATA[Service Oriented Architecture (SOA) mungkin sudah tidak asing lagi bagi Anda. Bila Anda menggunakan Java, Anda mungkin juga tidak asing dengan OSGi untuk membuat aplikasi modular ala SOA. Bagaimana dengan NetKernel? Secara kasar, NetKernel = UNIX + WWW. NetKernel digunakan untuk membuat aplikasi dengan menggunakan REST dan Resource-Oriented Architecture. NetKernel dapat dijadikan alternatif JEE dalam [...]]]></description>
			<content:encoded><![CDATA[<p>Service Oriented Architecture (SOA) mungkin sudah tidak asing lagi bagi Anda. Bila Anda menggunakan Java, Anda mungkin juga tidak asing dengan <a href="http://osgi.org">OSGi</a> untuk membuat aplikasi modular ala SOA. Bagaimana dengan NetKernel? Secara kasar, NetKernel = UNIX + WWW. NetKernel digunakan untuk membuat aplikasi dengan menggunakan REST dan Resource-Oriented Architecture. NetKernel dapat dijadikan alternatif JEE dalam pengembangan aplikasi enterprise. NetKernel bersifat free dan opensource selama Anda tidak menggunakannya untuk keperluan komersial.</p>
<p>NetKernel memiliki dokumentasi yang sangat lengkap, baik teori maupun praktek. NetKernel menggunakan bahasa Java namun juga dapat menggunakan bahasa lain yang berjalan di atas JVM seperti Scala, Groovy, dsb. Ini adalah framework yang sangat bagus, walaupun Anda tidak menggunakannya dalam pekerjaan sehari-hari, mempelajari NetKernel dapat meningkatkan kemampuan Anda sebagai seorang software architect yang handal. Tidak menutup kemungkinan, NetKernel adalah framework masa depan yang siap menuai kesuksesan.</p>
<p>Berikut ini tahap-tahap instalasi NetKernel:</p>
<p>1. Download NetKernel di <a href="http://download.netkernel.org/nkse/">http://download.netkernel.org/nkse/</a><br />
2. Buat/siapkan direktori untuk tempat instalasi.<br />
3. Jalankan NetKernel melalui terminal, misal saya menggunakan versi 4.0.2:</p>
<blockquote><p>java -jar 1060-NetKernel-SE-4.0.2.jar</p></blockquote>
<p>4. Buka <a href="http://localhost:1060">http://localhost:1060</a> melalui browser Anda.</p>
<p><img class="alignnone size-full wp-image-127" title="NetKernel SE 4.0.2" src="http://agilini.us/wp-content/uploads/2009/12/nk1.jpg" alt="NetKernel SE 4.0.2" width="600" height="371" /></p>
<p>5. Pilih menu install kemudian ikuti instruksi selanjutnya.<br />
6. Masukkan target direktori untuk instalasi. Pastikan pilihan Expand JAR files dalam kondisi tercentang. Isikan proxy bila diperlukan.</p>
<p><img class="alignnone size-full wp-image-128" title="NetKernel SE 4.0.2" src="http://agilini.us/wp-content/uploads/2009/12/nk2.jpg" alt="NetKernel SE 4.0.2" width="600" height="307" /><br />
7. Shutdown NetKernel kemudian jalankan lagi dengan boot script yang tersedia di folder bin pada direktori dimana netkernel diinstall.</p>
<blockquote><p>./netkernel.sh</p></blockquote>
<p>8. Masuk ke menu Control Panel kemudian pilih Rebuild Search Index.</p>
<p><img class="alignnone size-full wp-image-132" title="nk3" src="http://agilini.us/wp-content/uploads/2009/12/nk3.jpg" alt="nk3" width="600" height="372" /></p>
<p>&#8230; NetKernel siap Anda gunakan</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/12/27/panduan-instalasi-netkernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AQUA &#8211; Satu dari Kita, 10 untuk Mereka</title>
		<link>http://agilini.us/2009/10/17/aqua-satu-dari-kita-10-untuk-mereka/</link>
		<comments>http://agilini.us/2009/10/17/aqua-satu-dari-kita-10-untuk-mereka/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 15:39:46 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Social Business]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=113</guid>
		<description><![CDATA[Melihat kemasan air mineral AQUA gelas, ada hal yang menarik, yaitu tanda lingkaran bertuliskan &#8220;Satu dari Kita, 10 untuk Mereka&#8221;. Saya tidak tahu secara detail tentang program ini, tapi saya yakin jika program ini adalah bentuk program kemanusiaan. Mungkin secara kasar, bila kita membeli 250 mL air mineral AQUA, maka kita ikut berpartisipasi dengan membantu [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_114" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-114" title="Aqua - Satu dari Kita, 10 untuk Mereka" src="http://agilini.us/wp-content/uploads/2009/10/aqua.jpg" alt="Aqua - Satu dari Kita, 10 untuk Mereka" width="600" height="390" /><p class="wp-caption-text">Aqua - Satu dari Kita, 10 untuk Mereka</p></div>
<p>Melihat kemasan air mineral AQUA gelas, ada hal yang menarik, yaitu tanda lingkaran bertuliskan &#8220;Satu dari Kita, 10 untuk Mereka&#8221;. Saya tidak tahu secara detail tentang program ini, tapi saya yakin jika program ini adalah bentuk program kemanusiaan. Mungkin secara kasar, bila kita membeli 250 mL air mineral AQUA, maka kita ikut berpartisipasi dengan membantu 2500 mL atau 2,5 liter air bersih untuk saudara kita yang kurang beruntung di sana.</p>
<p>Bila Anda mengikuti perjalanan karir Muhammad Yunus, Anda akan mengetahui bahwa pada Oktober tahun 2005 di Prancis, beliau bertemu dengan Frank Riboud, CEO dari Groupe Danone (French). Sejak pertemuan itu, CEO Danone tersebut menjadi tertarik dengan konsep social business yang digagas Muhammad Yunus dan mau bekerjasama di Banglades. Dugaan saya, bahwa Danone di Indonesia, melalui AQUA, saat ini juga mulai merintis mengimplementasikan social business. Bila benar, ini adalah berita bagus bagi dunia usaha di Indonesia.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/17/aqua-satu-dari-kita-10-untuk-mereka/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Basis Data Berorientasi Dokumen</title>
		<link>http://agilini.us/2009/10/15/basis-data-berorientasi-dokumen/</link>
		<comments>http://agilini.us/2009/10/15/basis-data-berorientasi-dokumen/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:16:13 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Representational State Transfer]]></category>
		<category><![CDATA[Skalabilitas]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=107</guid>
		<description><![CDATA[Salah satu topik hangat saat ini adalah NoSQL. NoSQL adalah basis data yang tidak menggunakan SQL. Bukan tidak menggunakan SQL karena adanya tambahan lapisan abstraksi seperti ORM (Object-Relational Mapping), tapi secara native memang tidak menggunakan SQL seperti yang umum kita temui pada basis data relasional. Pada tulisan ini, saya akan memberi dua buah contoh basis [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu topik hangat saat ini adalah <a href="http://en.wikipedia.org/wiki/Nosql">NoSQL</a>. NoSQL adalah basis data yang tidak menggunakan SQL. Bukan tidak menggunakan SQL karena adanya tambahan lapisan abstraksi seperti ORM (Object-Relational Mapping), tapi secara native memang tidak menggunakan SQL seperti yang umum kita temui pada basis data relasional. Pada tulisan ini, saya akan memberi dua buah contoh basis data berorientasi dokumen (document-oriented database). Jenis basis data ini sangat berbeda dengan basis data relasional yang banyak kita jumpai saat ini.</p>
<p>Saya mengambil dua contoh basis data berorientasi dokumen yang dibuat menggunakan Erlang, yaitu <a href="http://couchdb.apache.org/index.html">Apache CouchDB</a> dan <a href="http://riak.basho.com/">riak</a>. Kedua basis data ini menggunakan <a href="http://labs.google.com/papers/mapreduce.html">Map/Reduce</a>, RESTful HTTP, dan JSON. Tujuan umumnya pun sama, yaitu skalabilitas, terdistribusi, performa tinggi, dan fault-tolerant.</p>
<h2>1. Apache CouchDB</h2>
<p>CouchDB adalah salah satu produk dari <a href="http://www.apache.org/">The Apache Software Foundation</a>. Bagi Anda yang ingin mengetahui lebih jauh tentang basis data ini, O&#8217;Reilly menyediakan <a href="http://books.couchdb.org/relax/">versi gratis dari buku &#8220;CouchDB: The Difinitive Guide&#8221;</a>.</p>
<div class="wp-caption alignnone" style="width: 302px"><a href="http://couchdb.apache.org/index.html"><img title="Apache CouchDB" src="http://couchdb.apache.org/img/sketch.png" alt="Apache CouchDB" width="292" height="340" /></a><p class="wp-caption-text">Apache CouchDB</p></div>
<h2>2. riak</h2>
<p>Baik CouchDB maupun riak sama-sama menggunakan RESTful HTTP dan JSON. Dari protokol yang digunakan, kita dapat menebak dengan mudah bahwa basis data tersebut sejatinya adalah sebuah web, bahkan riak secara terang-terangan menyebut dirinya sebagai document-oriented web database. Riak sangat terinspirasi oleh <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html">Amazon Dynamo</a>, <a href="http://riak.basho.com/cap.html">teorema CAP Eric Brewer</a>, dan web secara general. Pada riak, data disimpan berdasarkan kombinasi key-value. Sebagai gambaran umum tentang riak, Anda dapat melihat <a href="http://riak.basho.com/nyc-nosql/">presentasi dari event NYC NoSQL 5 Oktober 2009 oleh Bryan Fink</a>.</p>
<div class="wp-caption alignnone" style="width: 522px"><a href="http://riak.basho.com/"><img title="riak MapReduce" src="http://riak.basho.com/nyc-nosql/slide20.png" alt="riak MapReduce" width="512" height="384" /></a><p class="wp-caption-text">riak MapReduce</p></div>
<p>Basis data di atas (basis data berorientasi dokumen) bukanlah pengganti basis data relasional. Basis data di atas sangat cocok bila digunakan untuk membangun sistem terdistribusi yang membutuhkan skalabilitas dan performa tinggi, seperti pada aplikasi web dengan jumlah data dan concurrency yang sangat besar.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/15/basis-data-berorientasi-dokumen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>5 Web Framework Untuk Bahasa Pemrograman Erlang</title>
		<link>http://agilini.us/2009/10/13/5-web-framework-untuk-bahasa-pemrograman-erlang/</link>
		<comments>http://agilini.us/2009/10/13/5-web-framework-untuk-bahasa-pemrograman-erlang/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 11:39:08 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Pemrograman Fungsional]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=104</guid>
		<description><![CDATA[Setelah mencoba beberapa bahasa, akhirnya untuk saat ini saya memilih Erlang (dan Scala) sebagai bahasa pemrograman untuk pemrograman fungsional. Erlang relatif lebih mudah dan sederhana dibanding Scala. Scala lebih kompleks akibat penggabungan dua paradigma pemrograman, yaitu object-oriented dan fungsional, sehingga lebih sulit dipelajari bila belum memiliki latar belakang pengetahuan tentang konsep pemrograman fungsional.
Bagi pengembang aplikasi [...]]]></description>
			<content:encoded><![CDATA[<p>Setelah mencoba beberapa bahasa, akhirnya untuk saat ini saya memilih <a href="http://ftp.sunet.se/pub//lang/erlang/">Erlang</a> (dan <a href="http://scala-lang.org">Scala</a>) sebagai bahasa pemrograman untuk pemrograman fungsional. Erlang relatif lebih mudah dan sederhana dibanding Scala. Scala lebih kompleks akibat penggabungan dua paradigma pemrograman, yaitu object-oriented dan fungsional, sehingga lebih sulit dipelajari bila belum memiliki latar belakang pengetahuan tentang konsep pemrograman fungsional.</p>
<p>Bagi pengembang aplikasi berbasis web yang membutuhkan performa tinggi, skalabilitas, reliabilitas, concurrency tingkat ekstrim, maka Erlang dapat menjadi solusi.</p>
<h2>1. Webmachine</h2>
<p><a href="http://bitbucket.org/justin/webmachine/wiki/Home">Webmachine</a> adalah framework yang sangat unik, dibuat untuk membuat aplikasi web secara RESTful.</p>
<div class="wp-caption alignnone" style="width: 387px"><a href="http://bitbucket.org/justin/webmachine/wiki/Home"><img title="Webmachine" src="http://bytebucket.org/justin/webmachine/wiki/WM200.png" alt="Webmachine" width="377" height="206" /></a><p class="wp-caption-text">Webmachine</p></div>
<h2></h2>
<h2>2. Nitrogen</h2>
<p><a href="http://nitrogenproject.com/">Nitrogen</a> dibangun menggunakan arsitektur event-driven. Nitrogen juga menyediakan custom tags untuk mempermudah membangun aplikasi berbasis Ajax maupun Comet.</p>
<div class="wp-caption alignnone" style="width: 522px"><a href="http://nitrogenproject.com/"><img title="Nitrogen" src="http://nitrogenproject.com/images/giantleap.png" alt="Nitrogen" width="512" height="263" /></a><p class="wp-caption-text">Nitrogen</p></div>
<h2></h2>
<h2>3. Erlang Web</h2>
<p>Konsep <a href="http://www.erlang-web.org/">Erlang Web</a> hampir mirip dengan Java Servlet dan Java Server Page (JSP). Erlang Web menggunakan template dan controller untuk membangun aplikasi.</p>
<div class="wp-caption alignnone" style="width: 372px"><a href="http://www.erlang-web.org/"><img title="Erlang Web" src="http://www.erlang-web.org/images/ew.png" alt="Erlang Web" width="362" height="403" /></a><p class="wp-caption-text">Erlang Web</p></div>
<h2></h2>
<h2>4. Erlyweb</h2>
<p>Seperti kebanyakan web framework, <a href="http://erlyweb.org">Erlyweb</a> menggunakan MVC pattern. Erlyweb juga menyediakan lapisan abstraksi untuk basis data, yaitu Erlydb.</p>
<div class="wp-caption alignnone" style="width: 175px"><a href="http://erlyweb.org"><img class=" " title="Erlyweb" src="http://erlyweb.org/images/logos.gif" alt="Erlyweb" width="165" height="76" /></a><p class="wp-caption-text">Erlyweb</p></div>
<h2></h2>
<h2>5. Beep Beep</h2>
<p><a href="http://github.com/davebryson/beepbeep">Beep Beep</a> sangat terinspirasi oleh Ruby On Rails, salah satu contohnya adalah prinsip RoR yang sangat populer, yaitu convention over configuration.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/13/5-web-framework-untuk-bahasa-pemrograman-erlang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pomodoro Technique</title>
		<link>http://agilini.us/2009/10/11/the-pomodoro-technique/</link>
		<comments>http://agilini.us/2009/10/11/the-pomodoro-technique/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 11:27:42 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=96</guid>
		<description><![CDATA[Remember, Time is a greedy player who wins without cheating, every round! &#8211;Baudelaire
Inti dari teknik pomodoro adalah bagaimana kita memanage waktu sehingga dapat meningkatkan fokus dan konsentrasi, meningkatkan dan mempertahankan motivasi, meningkatkan kinerja maupun proses belajar.
Konsep yang digunakan sangat sederhana sekali. Pomodoro sejatinya adalah sebuah timer untuk memasak dengan interval 25 menit. Nama pomodoro sendiri [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Remember, Time is a greedy player who wins without cheating, every round! &#8211;Baudelaire</p></blockquote>
<p>Inti dari teknik <a href="http://www.pomodorotechnique.com/">pomodoro</a> adalah bagaimana kita memanage waktu sehingga dapat meningkatkan fokus dan konsentrasi, meningkatkan dan mempertahankan motivasi, meningkatkan kinerja maupun proses belajar.</p>
<p>Konsep yang digunakan sangat sederhana sekali. Pomodoro sejatinya adalah sebuah timer untuk memasak dengan interval 25 menit. Nama pomodoro sendiri diambil dari timer yang berbentuk buah tomat (dalam bahasa italia, tomat = pomodoro).</p>
<div id="attachment_97" class="wp-caption alignleft" style="width: 210px"><img class="size-full wp-image-97" title="The Pomodoro Technique" src="http://agilini.us/wp-content/uploads/2009/10/pomodoro_technique.gif" alt="The Pomodoro Technique" width="200" height="160" /><p class="wp-caption-text">The Pomodoro Technique</p></div>
<p>Pomodoro tradisional berdurasi 30 menit (25 menit kerja + 5 menit istirahat). Satu pekerjaan dapat membutuhkan waktu lebih dari 25 menit, sehingga membutuhkan lebih dari satu pomodoro. Misal, Anda membutuhkan waktu 60 menit untuk menyelesaikan suatu pekerjaan, maka Anda memerlukan 3 pomodoro. Supaya lebih efektif, karena keterbatasan fisik dan psikologis manusia, sebaiknya Anda melakukan istirahat yang lebih panjang untuk setiap 4 pomodoro, misal 15-30menit.</p>
<p>Ada berbagai teknik atau aturan untuk mengoptimalkan teknik pomodoro, misalnya untuk pekerjaan yang membutuhkan lebih dari 5-7 pomodoro, sebaiknya pekerjaan tersebut dipecah-pecah menjadi sub-sub yang lebih kecil supaya lebih mudah dimanage. Untuk penjelasan yang lebih lengkap tentang pomodoro, Anda dapat membaca buku pomodoro berjudul <a href="http://pomodorotechnique.com/resources/cirillo/ThePomodoroTechnique_v1-3.pdf">The Pomodoro Technique</a> [PDF].</p>
<p>Bila Anda bekerja dengan komputer, Anda dapat memanfaatkan beberapa perangkat lunak yang dirancang untuk mempraktekan teknik pomodoro. Pengguna Mac OS dapat menggunakan <a href="http://pomodoro.ugolandini.com/">Pomodoro Desktop</a>, sedangkan pengguna sistem operasi lainnya (termasuk Mac), Windows maupun Linux dapat menggunakan <a href="http://www.focusboosterapp.com/">focus booster</a> (butuh Adobe AIR).</p>
<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTUyNjAzNDUxNzkmcHQ9MTI1NTI2MDM*OTg1OCZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89ZDkyZWY*NDdjOTI*NDE*ZWI4NzhlODM4NTNhN2RlNjAmb2Y9MA==.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_506213" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Pomodoro Technique in 5 minutes" href="http://www.slideshare.net/snoteberg/pomodoro-technique-in-5-minutes">Pomodoro Technique in 5 minutes</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pomodoro-technique-in-5-minutes-1215620765717622-9&amp;stripped_title=pomodoro-technique-in-5-minutes" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pomodoro-technique-in-5-minutes-1215620765717622-9&amp;stripped_title=pomodoro-technique-in-5-minutes" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/snoteberg">Staffan Nöteberg</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/11/the-pomodoro-technique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>7 Prinsip Social Business</title>
		<link>http://agilini.us/2009/10/07/7-prinsip-social-business/</link>
		<comments>http://agilini.us/2009/10/07/7-prinsip-social-business/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 13:15:20 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Social Business]]></category>
		<category><![CDATA[muhammad yunus]]></category>
		<category><![CDATA[sosial]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=84</guid>
		<description><![CDATA[Pada World Economic Forum di Davos, bulan Januari 2009, Muhammad Yunus menulis &#8220;The Seven Principles Of Grameen Social Business&#8221;. Prinsip-prinsip ini juga dapat menginspirasi social business lainnya. Berikut isi dari &#8220;The Seven Principles Of Grameen Social Business&#8221;:

Business objective will be to overcome poverty, or one or more problems (such as education, health, technology access, and [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 438px"><a href="http://www.grameencreativelab.com/a-concept-to-eradicate-poverty/7-principles.html"><img title="The 7 Principles of Grameen Social Business" src="http://www.grameencreativelab.com/sites/default/files/7principles.png" alt="The 7 Principles of Grameen Social Business" width="428" height="605" /></a><p class="wp-caption-text">The 7 Principles of Grameen Social Business</p></div>
<p>Pada World Economic Forum di Davos, bulan Januari 2009, Muhammad Yunus menulis <a href="http://www.grameencreativelab.com/a-concept-to-eradicate-poverty/7-principles.html">&#8220;The Seven Principles Of Grameen Social Business&#8221;</a>. Prinsip-prinsip ini juga dapat menginspirasi social business lainnya. Berikut isi dari &#8220;The Seven Principles Of Grameen Social Business&#8221;:</p>
<ol>
<li>Business objective will be to overcome poverty, or one or more problems (such as education, health, technology access, and environment) which threaten people and society; not profit maximization</li>
<li>Financial and economic sustainability</li>
<li>Investors get back their investment amount only. No dividend is given beyond investment money</li>
<li>When investment amount is paid back, company profit stays with the company for expansion and improvement</li>
<li>Environmentally conscious</li>
<li>Workforce gets market wage withbetter working conditions</li>
<li>&#8230;do it with joy</li>
</ol>
<p>Dengan prinsip-prinsip tersebut, dapat kita ketahui bahwa social business memiliki karakter tersendiri yang membedakannya dengan bisnis konvensional. Sebagai catatan, prinsip-prinsip di atas hanyalah salah satu contoh yag digunakan pada Grameen yang didirikan oleh Muhammad Yunus. Social business lain kemungkinan dapat memiliki prinsip yang berbeda, namun secara garis besar tetap sama, dimana tujuan utamanya adalah mengatasi suatu masalah sosial tertentu.</p>
<p>Di saat pemerintah sedang menggalakkan entrepreneurship, khususnya kepada muda-mudi bangsa Indonesia, selain diberi kemudahan untuk memulai usaha (misal: bantuan modal), juga lebih baik lagi bila seandainya pemerintah juga menggerakkan social business entrepreneurship, karena kita tahu bahwa masalah kemiskinan, kekurangan gizi, pendidikan buruk, kesenjangan sosial, adalah masalah bangsa ini (dan juga masalah dunia) yang harus segera ditindak lanjuti.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/07/7-prinsip-social-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Berbagai Framework Untuk Behaviour-Driven Development</title>
		<link>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/</link>
		<comments>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 15:52:29 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Behaviour-Driven Development]]></category>
		<category><![CDATA[Pemrograman]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=81</guid>
		<description><![CDATA[Behaviour-Driven development (BDD) secara prinsip kurang lebih sama dengan test-driven development (TDD), hanya saja (bila Anda mengembangkan perangkat lunak secara object-oriented) BDD lebih fokus pada pengujian terhadap perilaku suatu objek, bukan mengenai perihal seperti apa objek itu (misal: struktur objek). Ada cukup banyak framework yang dapat kita gunakan untuk mempermudah pengembangan perangkat lunak secara BDD. [...]]]></description>
			<content:encoded><![CDATA[<p>Behaviour-Driven development (BDD) secara prinsip kurang lebih sama dengan test-driven development (TDD), hanya saja (bila Anda mengembangkan perangkat lunak secara object-oriented) BDD lebih fokus pada pengujian terhadap perilaku suatu objek, bukan mengenai perihal seperti apa objek itu (misal: struktur objek). Ada cukup banyak framework yang dapat kita gunakan untuk mempermudah pengembangan perangkat lunak secara BDD. Bagi yang masih asing terhadap BDD namun sudah pernah mengenal tentang teori BDD, atau siapapun Anda yang merasa tertarik tentang topik ini, ada baiknya untuk mencoba mengimplementasikannya secara langsung dengan bantuan framework yang Anda sukai.</p>
<ul>
<li>Cucumber (Ruby) <a href="http://cukes.info">http://cukes.info</a></li>
<li>Rspec (Ruby) <a href="http://rspec.info">http://rspec.info</a></li>
<li>JBehave (Java) <a href="http://jbehave.org">http://jbehave.org</a></li>
<li>easyb (Java) <a href="http://www.easyb.org">http://www.easyb.org</a></li>
<li>specs (Scala) <a href="http://code.google.com/p/specs">http://code.google.com/p/specs</a></li>
<li>ScalaTest (Scala) <a href="http://www.scalatest.org">http://www.scalatest.org</a></li>
<li>conducta (Clojure) <a href="http://code.google.com/p/conducta">http://code.google.com/p/conducta</a></li>
</ul>
<p>Selamat mencoba BDD. Red &#8211; Green &#8211; Refactor &#8211; Red &#8211; Green &#8211; Refactor &#8211; &#8230;</p>
<p>O ya, kalau ada yang tahu framework BDD lainnya, silahkan berbagi melalui komentar di posting ini.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generalizing Specialist</title>
		<link>http://agilini.us/2009/09/27/generalizing-specialist/</link>
		<comments>http://agilini.us/2009/09/27/generalizing-specialist/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 13:33:08 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=76</guid>
		<description><![CDATA[Salah satu masalah besar dalam industri IT adalah spesialisasi skill yang kebablasan. Dalam suatu organisasi, bisa jadi terdapat departemen-departemen yang beranggotakan spesialis basis data, spesialis analisis bisnis, spesialis manajemen projek, spesialis Java/pemrograman, dsb. Pendekatan seperti ini didasarkan pada paradigma bernama Taylorism (Frederick Taylor). Idenya adalah memecah-mecah proses pabrikasi menjadi tahap-tahap yang terpisah, karena hal ini [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu masalah besar dalam industri IT adalah spesialisasi skill yang kebablasan. Dalam suatu organisasi, bisa jadi terdapat departemen-departemen yang beranggotakan spesialis basis data, spesialis analisis bisnis, spesialis manajemen projek, spesialis Java/pemrograman, dsb. Pendekatan seperti ini didasarkan pada paradigma bernama Taylorism (Frederick Taylor). Idenya adalah memecah-mecah proses pabrikasi menjadi tahap-tahap yang terpisah, karena hal ini dianggap lebih baik daripada menyerahkan kepada individu yang memiliki banyak kemampuan sekaligus. Taylorism terbukti sukses pada proses manufaktur, tapi tidak demikian untuk pengembangan perangkat lunak.</p>
<p>Masalah yang terjadi dalam pengembangan perangkat lunak, seringkali para spesialis kesulitan dalam bekerjasama dengan spesialis lainnya atau bahkan dengan spesialis yang sebidang. Mengapa demikian? Karena spesialis tersebut tidak memiliki latar belakang pengetahuan yang memadai untuk dapat mengerti masalah yang sedang dihadapi oleh spesialis lainnya, mereka cenderung terlalu fokus dengan bidang yang digelutinya namun celakanya dia mengabaikan hal-hal mendasar lain yang juga penting. Alhasil, hal tersebut menjadi hambatan mereka dalam berkolaborasi.</p>
<p>Apa solusinya? Generalizing specialist (GS). GS adalah seseorang yang memiliki pengetahuan tentang bagaimana suatu sistem secara keseluruhan dapat bekerja. Dia memiliki pengetahuan tentang apa yang sedang dikerjakan oleh rekan kerjanya. Dengan pengetahuan itu, dia akan memberikan apresiasi lebih terhadap pekerjaan rekannya tersebut. Sehingga terbentuk tim dengan kinerja yang baik.</p>
<p>Adalah hal yang hampir mustahil untuk tahu banyak hal dan menguasai semuanya, sedangkan sangat mungkin bila seseorang mengetahui banyak hal dan menguasai secara mendalam beberapa diantaranya.</p>
<p>GS bukan sekedar generalis. Generalis adalah orang yang tahu segala hal tapi tidak satupun yang dia dalami, cuma kulit luarnya saja. Sedangkan GS adalah orang yang tahu banyak hal namun tetap memiliki keahlian khusus yang mendalam pada beberapa hal.</p>
<p>Dalam dunia rekayasa perangkat lunak dengan metodologi agile, semakin sedikit spesialis yang dapat bertahan, mau tidak mau mereka harus melebarkan ilmu mereka.</p>
<p>Kesimpulannya, kita kitak bisa serta merta menyamakan antara industri manufaktur dengan industri IT (pengembangan perangkat lunak), sehingga sistem yang berjalan baik pada industri manufaktur, seperti Taylorism, tidak dapat diadopsi begitu saja ke dalam industri IT. Hal lain yang masih menarik perhatian saya saat ini adalah bagaimana kita mengimplementasikan Lean Software Development, karena Lean berangkat dari industri manufaktur, yaitu pabrik mobil Toyota, namun kini IBM sepertinya telah sukses menerapkan Lean.</p>
<p>Untuk lebih jelas tentang GS, Anda dapat membaca buku &#8220;The Object Primer: Agile Model-Driven Development with UML 2.0 Third Edition&#8221; yang ditulis oleh Scott W. Ambler.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/09/27/generalizing-specialist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
