<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Yani's Weblog &#187; aspect oriented</title>
	<atom:link href="http://yaniwid.wordpress.com/category/aspect-oriented/feed/" rel="self" type="application/rss+xml" />
	<link>http://yaniwid.wordpress.com</link>
	<description>it's all about software engineering...</description>
	<lastBuildDate>Sun, 03 Jan 2010 10:40:31 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='yaniwid.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/cbd6d9a3795c4dea578107d42c8c5b42?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Yani's Weblog &#187; aspect oriented</title>
		<link>http://yaniwid.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://yaniwid.wordpress.com/osd.xml" title="Yani&#8217;s Weblog" />
		<item>
		<title>AspectJ &#8211; Example</title>
		<link>http://yaniwid.wordpress.com/2009/01/14/aspectj-example/</link>
		<comments>http://yaniwid.wordpress.com/2009/01/14/aspectj-example/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 04:36:59 +0000</pubDate>
		<dc:creator>yaniwid</dc:creator>
				<category><![CDATA[aspect oriented]]></category>

		<guid isPermaLink="false">http://yaniwid.wordpress.com/?p=665</guid>
		<description><![CDATA[Salah satu bahasa pemrograman yang mendukung aspect oriented programming (AOP) adalah Java dengan library-nya AspectJ. Sempat dibahas sedikit dari tulisan ini dan komentar-komentarnya&#8230;
Berikut adalah beberapa konsep baru yang diperkenalkan dalam AOP:  joinpoint, poincut, dan advice.
Joinpoint merupakan definisi lokasi pada kode program, dimana saat eksekusi, aspek tertentu akan dieksekusi sesuai dengan aturan yang telah ditetapkan. Joinpoint [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=yaniwid.wordpress.com&blog=2604999&post=665&subd=yaniwid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Salah satu bahasa pemrograman yang mendukung <em>aspect oriented programming </em>(AOP) adalah Java dengan <em>library</em>-nya <strong>AspectJ</strong>. Sempat dibahas sedikit dari <a href="http://yaniwid.wordpress.com/2008/06/27/weaving-pada-aop/">tulisan ini dan komentar-komentarnya</a>&#8230;</p>
<p>Berikut adalah beberapa konsep baru yang diperkenalkan dalam AOP:  <em>joinpoint,</em> <em>poincut, </em>dan <em>advice</em>.</p>
<p><em>Joinpoint </em>merupakan definisi lokasi pada kode program, dimana saat eksekusi, aspek tertentu akan dieksekusi sesuai dengan aturan yang telah ditetapkan. <em>Joinpoint </em>didefinisikan di dalam sebuah <em>aspect </em>dengan menggunakan dua macam konstruktor, yaitu <em>poincut </em>dan <em>advice.</em></p>
<p><em>Pointcut </em>merupakan konstruktor yang digunakan untuk menunjuk <em>joinpoint </em>tertentu pada saat eksekusi. Sebuah <em>pointcut </em>dideklarasikan dengan menggunakan kata kunci <strong>pointcut</strong>. Ada banyak tipe <em>poincut, </em>berikut adalah contohnya untuk tipe pemanggilan <em>method</em> :   poincut lokasi1 () : call (int Date.getHour());</p>
<p>Artinya, kita mendefinisikan sebuah lokasi pada kode program (lokasi1), yaitu lokasi pemanggilan <em>method </em>getHour() dari kelas Date.</p>
<p><em>Advice </em>mendefinisikan potongan kode yang akan dieksekusi pada sebuah <em>joinpoint</em>. Ada tiga jenis <em>advice, </em>yang masing-masing menentukan di sebelah mana <em>advice </em>tersebut akan disisipkan. Jenis advice pertama dieksekusi sebelum <em>joinpoint </em>(<em>before advice</em>), jenis kedua dieksekusi setelah <em>joinpoint </em>(<em>after advice</em>), dan yang terakhir dieksekusi pada <em>joinpoint</em> (<em>around advice</em>).</p>
<p>Contohnya:  before () : lokasi1 () { system.out.println (“Before : ” + thisJoinPoint);  }</p>
<p>Kode <em>aspect </em>yang lengkap untuk contoh di atas adalah sbb:</p>
<p>public aspect ngeDebug {<br />
pointcut lokasi1 ()   :  call (int Date.getHour ());<br />
before () : lokasi1 ()    { system.out.println (“Before : ” + thisJoinPoint);}}</p>
<p>Jadi, saat <em>debuging </em>misalnya, kita tidak perlu &#8220;menabur&#8221; kode <em>println </em>dimana-mana (yang kemudian sering lupa dihapus), tapi cukup mendefinisikan sebuah <em>aspect </em>ngeDebug seperti di atas&#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/yaniwid.wordpress.com/665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/yaniwid.wordpress.com/665/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/yaniwid.wordpress.com/665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/yaniwid.wordpress.com/665/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/yaniwid.wordpress.com/665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/yaniwid.wordpress.com/665/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/yaniwid.wordpress.com/665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/yaniwid.wordpress.com/665/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/yaniwid.wordpress.com/665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/yaniwid.wordpress.com/665/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=yaniwid.wordpress.com&blog=2604999&post=665&subd=yaniwid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://yaniwid.wordpress.com/2009/01/14/aspectj-example/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0457a915099cfca0ab670f2b86d2b769?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">yaniwid</media:title>
		</media:content>
	</item>
		<item>
		<title>Apa itu Aspect ?</title>
		<link>http://yaniwid.wordpress.com/2009/01/12/apa-itu-aspect/</link>
		<comments>http://yaniwid.wordpress.com/2009/01/12/apa-itu-aspect/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 06:54:53 +0000</pubDate>
		<dc:creator>yaniwid</dc:creator>
				<category><![CDATA[aspect oriented]]></category>

		<guid isPermaLink="false">http://yaniwid.wordpress.com/?p=657</guid>
		<description><![CDATA[Unit program terkecil yang saat ini digunakan pada paradigma pemrograman prosedural atau berorientasi objek umumnya berupa prosedur dan kelas. Pendekatan tersebut tepat untuk digunakan pada persoalan dimana sistem hanya dibangun dari komponen – komponen fungsional. Namun, pendekatan tersebut tidak dapat digunakan untuk mengimplementasikan aspek – aspek khusus (special concerns) pada sistem. Misalnya aliran data pada [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=yaniwid.wordpress.com&blog=2604999&post=657&subd=yaniwid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Unit program terkecil yang saat ini digunakan pada paradigma pemrograman prosedural atau berorientasi objek umumnya berupa prosedur dan kelas. Pendekatan tersebut tepat untuk digunakan pada persoalan dimana sistem hanya dibangun dari komponen – komponen fungsional. Namun, pendekatan tersebut tidak dapat digunakan untuk mengimplementasikan aspek – aspek khusus (<em>special concerns</em>) pada sistem. Misalnya aliran data pada sistem  terdistribusi, pemulihan (<em>failure recovery</em>), persistensi (<em>persistence</em>), sinkronisasi proses (<em>process synchronization</em>), dan lain – lain. Aspek – aspek khusus tersebut biasanya akan langsung diimplementasikan sebagai barisan kode program yang mungkin tersebar (terduplikasi) pada kelompok kode program yang mewakili komponen – komponen fungsional.</p>
<p>Paradigma atau pendekatan pemrograman tersebut di atas belum mendukung aktivitas <em>separation of concerns </em>yang baik pada fase perancangan dan implementasi, sehingga menyebabkan program yang dihasilkan lebih sulit untuk dikembangkan, dipahami, dan dipelihara.</p>
<p>Pemrograman berorientasi aspek (<em>Aspect Oriented Programming/AOP</em>) merupakan paradigma pemrograman yang relatif baru, diperkenalkan sebagai hasil dari penelitian yang dilakukan oleh Gregor Kiczales di Xerox ‘s Palo Alto Research Center (PARC). Paradigma ini dikembangkan sebagai salah satu solusi untuk persoalan <em>separating crosscutting concerns </em>pada kode program. Dengan pendekatan pemrograman berorientasi aspek ini, persoalan didekomposisi menjadi kumpulan kelas (<em>class</em>) dan aspek (<em>aspect</em>). Kelas mewakili komponen – komponen yang memiliki peran fungsional dalam domain persoalan sistem perangkat lunak yang akan dikembangkan. Sedangkan aspek mewakili komponen – komponen yang tidak dapat didefinisikan sebagai komponen fungsional, namun keberadaannya tetap memiliki pengaruh pada performansi dan semantik sistem secara keseluruhan.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/yaniwid.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/yaniwid.wordpress.com/657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/yaniwid.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/yaniwid.wordpress.com/657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/yaniwid.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/yaniwid.wordpress.com/657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/yaniwid.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/yaniwid.wordpress.com/657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/yaniwid.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/yaniwid.wordpress.com/657/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=yaniwid.wordpress.com&blog=2604999&post=657&subd=yaniwid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://yaniwid.wordpress.com/2009/01/12/apa-itu-aspect/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0457a915099cfca0ab670f2b86d2b769?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">yaniwid</media:title>
		</media:content>
	</item>
	</channel>
</rss>