<?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>al-&#039;ilmu bahr, muntahahu yab&#039;udu, wa laisa lahu haddun ilaihi yuqshadu</title>
	<atom:link href="http://derlaz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://derlaz.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 14 Oct 2011 07:32:37 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='derlaz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/008a7c6cc8a465386fd6927641590fef?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>al-&#039;ilmu bahr, muntahahu yab&#039;udu, wa laisa lahu haddun ilaihi yuqshadu</title>
		<link>http://derlaz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://derlaz.wordpress.com/osd.xml" title="al-&#039;ilmu bahr, muntahahu yab&#039;udu, wa laisa lahu haddun ilaihi yuqshadu" />
	<atom:link rel='hub' href='http://derlaz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Membaca dan Menulis File</title>
		<link>http://derlaz.wordpress.com/2011/10/14/membaca-dan-menulis-file/</link>
		<comments>http://derlaz.wordpress.com/2011/10/14/membaca-dan-menulis-file/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 07:30:57 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=212</guid>
		<description><![CDATA[hmm&#8230; dua minggu yang lalu saat balajr bareng dengan adik-adik tingkat di kampus, sempat blank saat harus menjelaskan mengenai menulis data integer ke file. saat dicoba data integer yang diinginkan tidak dapat tersimpan di file, bahakn seluruh data di file hilang semua, huffttt&#8230; shock berat! setelah dicoba-coba lagi ketemu juga penyebabnya, diduga karena waktu nyoba [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=212&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>hmm&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>dua minggu yang lalu saat balajr bareng dengan adik-adik tingkat di kampus, sempat blank saat harus menjelaskan mengenai menulis data integer ke file. saat dicoba data integer yang diinginkan tidak dapat tersimpan di file, bahakn seluruh data di file hilang semua, huffttt&#8230; shock berat!</p>
<p>setelah dicoba-coba lagi ketemu juga penyebabnya, diduga karena waktu nyoba kemarin itu saya lupa menutup (close) file. ini dugaan saya saja, karena setelah saya tambahkan fclose(), program berjalan semestinya sesuai dengan yang diinginkn.</p>
<p>Program yang dibuat adalah menghitung rata-rata skumpulan bilangan yang tersimpan di file. pada file terdapat dua baris, baris pertma berisi jumlah data yang akan dihitung (N), baris kedua berisi serangkaian bilangan yang dipisahkan dengan spasi. jadi bentuk file-nya kurang lebih seperti ini: <span id="more-212"></span></p>
<blockquote><p>5</p>
<p>1 2 3 4 5</p></blockquote>
<p>Source code dalam bahasa C adalah:</p>
<pre>#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
void main(){
	int N;
   int x;
   int i;
   int jumlah;
   float rerata;
   FILE *fin, *fout;

   fin = fopen("data.txt","r");
   fscanf(fin,"%d",&amp;N);
   jumlah = 0;
   i = 1;
   while(i &lt;= N){
   	fscanf(fin, "%d",&amp;x);
      jumlah += x;
      i++;
   }

   rerata = jumlah/N;
   printf("rata-rata = %0.2f",rerata);

   fclose(fin);

   fout = fopen("data.txt","a");
   fprintf(fout,"\nrata-rata = \n%f",rerata);
   fclose(fout);
   getch();
}

hasil dari file setelah di update adalah</pre>
<blockquote>
<pre>5
1 2 3 4 5
rata-rata =
3.000000</pre>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=212&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2011/10/14/membaca-dan-menulis-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Refreshing with C</title>
		<link>http://derlaz.wordpress.com/2011/10/06/refreshing-with-c/</link>
		<comments>http://derlaz.wordpress.com/2011/10/06/refreshing-with-c/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 06:05:51 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=205</guid>
		<description><![CDATA[hufftt&#8230;. setelah lama vakum dalam dunia pemrograman, kali ini saya kembali bangkit untuk menaklukkan kembali dunia pemrograman. &#8220;Refreshing with C&#8221;, judul ini bukan berarti melakukan &#8220;refresh&#8221; windows atau browser dengan bahasa C, melainkan &#8220;refreshing&#8221; kembali dengan bahasa C. hehehe mencoba mengutak-atik kembali bahasa C, sekaran saya ingin mencoba membuat menu yang dapat dipilih-pilih pake tombol [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=205&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>hufftt&#8230;. setelah lama vakum dalam dunia pemrograman, kali ini saya kembali bangkit untuk menaklukkan kembali dunia pemrograman. &#8220;Refreshing with C&#8221;, judul ini bukan berarti melakukan &#8220;refresh&#8221; windows atau browser dengan bahasa C, melainkan &#8220;refreshing&#8221; kembali dengan bahasa C. hehehe <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>mencoba mengutak-atik kembali bahasa C, sekaran saya ingin mencoba membuat menu yang dapat dipilih-pilih pake tombol arah. setelah ber-searching ria akhirnya dapet juga sample source codenya di <a href="www.planet-source-code.com">www.planet-source-code.com</a> <span id="more-205"></span></p>
<blockquote>
<pre>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;windows.h&gt;
#include &lt;conio.h&gt;
#include "consolelib.h"
unsigned int sel = 1;
void menu(int);
void fct(int);
void main()
{
	CONSOLE_CURSOR_INFO console = {1,0};
	SetConsoleCursorInfo( GetStdHandle( STD_OUTPUT_HANDLE ), &amp;console );
	menu(sel);
	int key;
	while (key != 27 &amp;&amp; key != 13)
	{
		key = getch();
		switch(key)
		{
			case 72:
				if(sel != 1)
				{menu(--sel);}
				break;
			case 80:
				if(sel != 4)
				{menu(++sel);}
				break;
			default:
				break;
		}
		if(key == 13) {fct(sel);system("CLS");break;}
	}
}

void menu(int sel)
{
	switch(sel)
	{
	case 1: //draw menu 1
		cputsxy(" Option 1 ", 10, 4,	BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
		cputsxy(" Option 2 ", 10, 6,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 3 ", 10, 8,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 4 ", 10, 10,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		break;
	case 2: //draw menu 2
		cputsxy(" Option 1 ", 10, 4,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 2 ", 10, 6,	BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
		cputsxy(" Option 3 ", 10, 8,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 4 ", 10, 10,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		break;
	case 3: //draw menu 3
		cputsxy(" Option 1 ", 10, 4,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 2 ", 10, 6,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 3 ", 10, 8,	BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
		cputsxy(" Option 4 ", 10, 10,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		break;
	case 4: //draw menu 4
		cputsxy(" Option 1 ", 10, 4,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 2 ", 10, 6,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 3 ", 10, 8,	FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
		cputsxy(" Option 4 ", 10, 10,	BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
		break;
	}
}
void fct(int sel)
{
	switch(sel)
	{
	case 1:
		//selection 1
		break;
	case 2:
		//selection 2
		break;
	case 3:
		//selection 3
		break;
	case 4:
		//selection 4
		break;
	default:
		//debug selection
		break;
	}
}</pre>
</blockquote>
<pre>nah itu codingnya, terus isi dari library "consolelib.h" adalah:</pre>
<blockquote>
<pre>#ifndef WINDOWS_H
	#include &lt;windows.h&gt;
#endif

#ifndef STDIO_H
	#include &lt;stdio.h&gt;
#endif

#ifndef STDLIB_H
	#include &lt;stdlib.h&gt;
#endif

#ifndef CONSOLELIB_H

#define CONSOLELIB_H

#define PERR(bSuccess, api){if(!(bSuccess)) printf("%s:Error %d from %s on line %d\n", __FILE__, GetLastError(), api, __LINE__);}

void setcolor(WORD color)
{
	BOOL b=SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);
	PERR( b, "SetConsoleTextAttribute" );
	return;
}

void cputsxy(const char *inputstr, int x, int y, WORD color)
{
	LPDWORD res=NULL;
	COORD mycoord;
	mycoord.X=x;
	mycoord.Y=y;
	PCONSOLE_SCREEN_BUFFER_INFO sbi;
	sbi=NULL;
	WORD *pcolor;
	pcolor=(WORD*)malloc(sizeof(WORD)*(strlen(inputstr)));
	for (unsigned int i=0;i&lt;=(strlen(inputstr)-1);i++) pcolor[i]=color;
	WriteConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE),pcolor,strlen(inputstr),mycoord,res);
	WriteConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),inputstr,strlen(inputstr),mycoord,res);
	free(pcolor);
}

void clrln(int y)
{
	LPDWORD res=NULL;
	COORD mycoord;
	mycoord.X=0;
	mycoord.Y=y;
	_CONSOLE_SCREEN_BUFFER_INFO sbi;
	WORD *pcolor;
	char *inputstr;
	int i;
	GetConsoleScreenBufferInfo( GetStdHandle(STD_OUTPUT_HANDLE), &amp;sbi );
	pcolor=(WORD*)malloc(sizeof(WORD)*(sbi.dwSize.X));
	inputstr=(char*)malloc(sizeof(char)*(sbi.dwSize.X));
	for (i=0;i&lt;=(sbi.dwSize.X-1);i++) pcolor[i]=0;
	for (i=0;i&lt;=(sbi.dwSize.X-1);i++) inputstr[i]=' ';
	WriteConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE),pcolor,sbi.dwSize.X,mycoord,res);
	WriteConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),inputstr,sbi.dwSize.X,mycoord,res);
	free(pcolor);
	free(inputstr);
}

void setcursor(int x, int y)
{
	COORD mycoord;
	mycoord.X=x;
	mycoord.Y=y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),mycoord);
}

#endif</pre>
</blockquote>
<pre> 
okey mungkin kali ini sampai disini dulu, sampai jumpa. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/205/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=205&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2011/10/06/refreshing-with-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Reverse and Add</title>
		<link>http://derlaz.wordpress.com/2011/05/17/reverse-and-add/</link>
		<comments>http://derlaz.wordpress.com/2011/05/17/reverse-and-add/#comments</comments>
		<pubDate>Tue, 17 May 2011 03:45:25 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=202</guid>
		<description><![CDATA[iseng2 buka-buka buku &#8220;Programming Challenge&#8221; karya Steven S. Skiena dan Miguel A. Revilla, hasil rampasan dari kak ahmad. pada soal pada bab &#8220;Arithmetic and Algebra&#8221; ada soal berjudul &#8220;Reverse and Add&#8221;, soalnya seperti ini: (maaf g d translate ^^) PC/UVa IDs: 110502/10018, Popularity: A, Success rate: low Level: 1 The reverse and add function&#8230; starts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=202&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>iseng2 buka-buka buku &#8220;Programming Challenge&#8221; karya Steven S. Skiena dan Miguel A. Revilla, hasil rampasan dari kak ahmad. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>pada soal pada bab &#8220;Arithmetic and Algebra&#8221; ada soal berjudul &#8220;Reverse and Add&#8221;, soalnya seperti ini: (maaf g d translate ^^)</p>
<p><strong>PC/UVa IDs: 110502/10018, Popularity: A, Success rate: low Level: 1</strong><br />
The reverse and add function&#8230; starts with a number, reverses its digits, and adds the reverse to the original. If the sum is not a palindrome (meaning it does not give the same number read from left to right and right to left), we repeat this procedure until it does.</p>
<p>For example, if we start with 195 as the initial number, we get 9,339 as the resulting palindrome after the fourth addition:<span id="more-202"></span></p>
<p>195          786        1,473      5,214<br />
591          687        3,741      4,125<br />
+ —–      + ——      + ——     + ——<br />
786         1,473      5,214      9,339</p>
<p>This method leads to palindromes in a few steps for almost all of the integers. But there are interesting exceptions. 196 is the first number for which no palindrome has been found. It has never been proven, however, that no such palindrome exists.</p>
<p>You must write a program that takes a given number and gives the resulting palindrome (if one exists) and the number of iterations/additions it took to find it.</p>
<p>You may assume that all the numbers used as test data will terminate in an answer with less than 1,000 iterations (additions), and yield a palindrome that is not greater than 4,294,967,295.</p>
<p><strong>Input </strong><br />
The first line will contain an integer N (0 &lt; N ≤ 100), giving the number of test cases, while the next N lines each contain a single integer P whose palindrome you are to compute.</p>
<p><strong>Output</strong><br />
For each of the N integers, print a line giving the minimum number of iterations to find the palindrome, a single space, and then the resulting palindrome itself.</p>
<p><strong>Sample Input</strong><br />
3<br />
195<br />
265<br />
750</p>
<p><strong>Sample Output</strong><br />
4 9339<br />
5 45254<br />
3 6666</p>
<p>jadi inti dari soal diatas kurang lebih gini:<br />
&#8220;dikasih sebuah bilangan, kemudian bilangan itu dibalik/reverse (misal 591 menjadi 195), setelah dibalik kemudian dijumlahkan dengan bentuk asal (591 + 195)&#8221;. Proses ini terus menerus berulang hingga ditemukan bilangan yang palindrome (dibaca dari kiri-kanan dan kanan-kiri sama saja). jika bilangan palindrome ditemukan proses akan berhenti dan output dari program adalah jumlah berapa kali proses dilakukan hingga ditemukan palindrome dan bilangan palindrome itu sendiri&#8221;</p>
<p>setelah googling kesana-kemari (*menjadipencurialgoritmaorang) akhirnya ketemu juga algoritma untuk membalik bilangan (n):</p>
<p>int reverse(int n) {<br />
    int m = 0<br />
   while(n&gt;0) {<br />
       m *= 10<br />
      m += n%10<br />
      n /= 10<br />
   }<br />
   return m;<br />
}</p>
<p>proses yang kedua adalah menambahkan (m) dengan (n) dan hasilnya di cek apakah sudah palindrome atau belum, sebagai catatan pada soal diatas jumlah iterasi dibatasi hanya 1000 kali:</p>
<p>do{<br />
      reverse_result = reverse(n)<br />
      add = n + reverse_result<br />
      i++<br />
      if(i&gt;=1000) break<br />
      n = add<br />
 }while(n!=reverse(n))<br />
 print i,n</p>
<p>dua fungsi diatas tentu saja belum menyelesaikan masalah diatas, satu masalah lagi adalah pada input diatas. Input program adalah N (jumlah input bilangan yang akan diproses) dan sejumlah N bilangan yang di-input. untuk mengatasi program ini dapat digunakan array. 2 kali perulangan, perulangan pertama untuk input dan perulangan keduan untuk proses masing-masing bilangan.</p>
<p>(yang ini belum dibuat, ditunggu tambahan program ini dari temen2, thx bFore)</p>
<p>*y,,sampe disini tulisan kali ini, maaf belum bisa tuntas, hanya ingin iseng2 nulis saja. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  *</p>
<p>*ditunggu saran dan kritiknya*</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=202&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2011/05/17/reverse-and-add/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Mencari substring Menggunakan Algoritma Bruteforce</title>
		<link>http://derlaz.wordpress.com/2011/05/10/mencari-substring-menggunakan-algoritma-bruteforce/</link>
		<comments>http://derlaz.wordpress.com/2011/05/10/mencari-substring-menggunakan-algoritma-bruteforce/#comments</comments>
		<pubDate>Tue, 10 May 2011 04:24:20 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=198</guid>
		<description><![CDATA[hmm&#8230;materi algo di kelas responsi sudah menginjakkan kakinya pada bab array dan string. bab yang menurut saya penuh dengan permainan yang mengasyikkan (walaupun kadang bikin pusing kepada ). sebelumnya bagi yang belum kenal string, coba kenalan dulu: kamu -&#62; hi string&#8230; string -&#62; iya&#8230;ada apa? kamu -&#62; string, kamu makanan macam apa sih? string -&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=198&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>hmm&#8230;materi algo di kelas responsi sudah menginjakkan kakinya pada bab array dan string. bab yang menurut saya penuh dengan permainan yang mengasyikkan (walaupun kadang bikin pusing kepada <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).</p>
<p>sebelumnya bagi yang belum kenal string, coba kenalan dulu:</p>
<p>kamu -&gt; hi string&#8230;</p>
<p>string -&gt; iya&#8230;ada apa?</p>
<p>kamu -&gt; string, kamu makanan macam apa sih?</p>
<p>string -&gt; husstt&#8230;.aku bukan makanan tahu! aku tuh kumpulan dari karakter-karakter, tahu g lo karakter tuh apa?</p>
<p>kamu -&gt; tahu dunkz.. &#8216;a&#8217;, &#8216;b&#8217; &#8216;c&#8217;, dan seterusnya.</p>
<p>string -&gt; betul betul betul.</p>
<p>kamu -&gt; terus lo bisa diapain aja? <span id="more-198"></span></p>
<p>string -&gt; banyak dunkz, lo bisa cari substring di gw, bisa ngurutin gw, bisa ngecek palindrome, dan sebagainya.</p>
<p>kamu -&gt; okey okey&#8230;terima kasih.</p>
<p>string -&gt; sama-sama</p>
<p>okey langsung aja pada permasalahan, &#8220;substring&#8221; merupakan suatu kumpulan karakter yang ada dalam suatu string tertentu. Contohnya&#8230; string &#8220;FACEBOOK&#8221; klo kita perhatiin dalam string &#8220;FACEBOOK&#8221; ada substring &#8220;FACE&#8221;, &#8220;BOOK&#8221;, &#8220;CEB&#8221;, dan sebagainya. Pastilah sangat banyak, karena secara logika substring memiliki panjang minimal satu karakter dan maksimal panjang string induknya. Klo pake rumus kombinasi bakal dapat banyak tuh.</p>
<p>kemudian ada istilah BRUTEFORCE. brutoforce ini merupakan salah satu teknik algoritma yang paling gampang. tapi punya kekurangan jika datanya banyak proses bakalan lama. contohnya gini, klo kita lagi nyari-nyari bab di suatu buku, terus bukunya g ada daftar isinya (*yang nulis buku lagi dikejar deadline sampe lupa g nyantumin daftar isi ^^). terkadang klo ada kejadian kyk gini, qt bakal ngecek/buka halaman per halaman. nah..begitu juga dengan bruteforce, dia ngecek (istilah lain nge-trace) dari depan sampe belakang. dengan teknik ini kita bisa nyari substring dalam suatu string.</p>
<p>OK.let&#8217;s do it!</p>
<p>Misalkan ada string &#8220;AAAABBBAAA&#8221; terus kita pengen nyari substring &#8220;BA&#8221; ada d posisi keberapa (posisi awal adalah 0). gimana caranya y?</p>
<p>Menggunakan teknik bruteforce:</p>
<p>panjang dari substring &#8220;BA&#8221; adalah 2, jadi kita cari kombinasi 2 huruf dari string &#8220;AAAABBBAAA&#8221; secara berurutan:</p>
<p>1. 2 huruf pertama yaitu &#8220;AA&#8221; &#8211;&gt; &#8220;<strong>AA</strong>AABBBAAA&#8221; , bukan</p>
<p>2. 2 huruf pertama yaitu &#8220;AA&#8221; &#8211;&gt; &#8220;<strong>AA</strong>AABBBAAA&#8221; , bukan</p>
<p>3. 2 huruf pertama yaitu &#8220;AA&#8221; &#8211;&gt; &#8220;AAAABBBAAA&#8221; , bukan</p>
<p>4. 2 huruf pertama yaitu &#8220;AB&#8221; &#8211;&gt; &#8220;AAAABBBAAA&#8221; , bukan</p>
<p>5. 2 huruf pertama yaitu &#8220;BB&#8221; &#8211;&gt; &#8220;AAAABBBAAA&#8221; , bukan</p>
<p>6. 2 huruf pertama yaitu &#8220;BB&#8221; &#8211;&gt; &#8220;AAAABBBAAA&#8221; , bukan</p>
<p>7. 2 huruf pertama yaitu &#8220;BA&#8221; &#8211;&gt; &#8220;AAAABBBAAA&#8221; , KETEMU berarti substring &#8220;BA&#8221; dimulai di index ke-6</p>
<p>Terus bisa g diimplementasikan ke bahasa pemrograman? pasti bisa lah,</p>
<p>pada kesempatan ini kita pake bahasa C, langsung cek:</p>
<p>#include</p>
<p>#include</p>
<p>#include</p>
<p>void main() {</p>
<p>char *s1 = &#8220;AAAABBBAAA&#8221;;</p>
<p>char *s2 = &#8220;BAA&#8221;;</p>
<p>int i, j, k;</p>
<p>int temp = 0;</p>
<p>int idx = i;</p>
<p>printf(&#8220;%s\n&#8221;,s1);</p>
<p>printf(&#8220;%s\n&#8221;,s2);</p>
<p>for(i=0;i<br />
for(j=i,k=0;k<br />
if(s1[j] == s2[k]) {</p>
<p>idx = i;</p>
<p>}else {</p>
<p>break;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>printf(&#8220;index = %d&#8221;,idx);</p>
<p>getch();</p>
<p>}</p>
<p>hampir lupa, penggunaan algoritma untuk pencarian substring digunakan diantaranya di:</p>
<p>* parser (nanti belajar di kuliah teori bahasa dan automata dan kuliah teknik kompilasi)</p>
<p>* word processor (ms. word, open office, dll)</p>
<p>* web search engine</p>
<p>* natural language processing</p>
<p>* dsb&#8230;.</p>
<p>Referensi: www.acmsolver.org</p>
<p>OKEY. thanks udah dibaca. semoga bermanfaat. dan d tunggu saran dan kritiknya</p>
<p>(Muhammad Zidny Naf&#8221;an)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/198/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=198&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2011/05/10/mencari-substring-menggunakan-algoritma-bruteforce/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Stop Word List for Indonesia</title>
		<link>http://derlaz.wordpress.com/2010/12/02/stop-word-list-for-indonesia/</link>
		<comments>http://derlaz.wordpress.com/2010/12/02/stop-word-list-for-indonesia/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 15:53:05 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scinces]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=195</guid>
		<description><![CDATA[dan untuk di ini itu bahwa yang yakni dari pada daripada adalah yaitu akan sudah hanya oleh atas dalam luar lagi juga saat agar saat ke begini begitu pada kepada yakni tetap bagi kalau dengan karena dalam luar tidak tersebut atau saya aku dia mereka kami kita kalian tapi tetapi namun sedangkan demikian sambil bisa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=195&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>dan<br />
untuk<br />
di<br />
ini<br />
itu<br />
bahwa<br />
yang<br />
yakni<span id="more-195"></span><br />
dari<br />
pada<br />
daripada<br />
adalah<br />
yaitu<br />
akan<br />
sudah<br />
hanya<br />
oleh<br />
atas<br />
dalam<br />
luar<br />
lagi<br />
juga<br />
saat<br />
agar<br />
saat<br />
ke<br />
begini<br />
begitu<br />
pada<br />
kepada<br />
yakni<br />
tetap<br />
bagi<br />
kalau<br />
dengan<br />
karena<br />
dalam<br />
luar<br />
tidak<br />
tersebut<br />
atau<br />
saya<br />
aku<br />
dia<br />
mereka<br />
kami<br />
kita<br />
kalian<br />
tapi<br />
tetapi<br />
namun<br />
sedangkan<br />
demikian<br />
sambil<br />
bisa<br />
sekitar<br />
jika<br />
jikalau<br />
bukan<br />
pun<br />
the<br />
i<br />
as<br />
sebagai<br />
ternyata<br />
nya<br />
sedang<br />
serta<br />
sebagian<br />
kini<br />
nanti<br />
besok<br />
sekarang<br />
pernah<br />
maupun<br />
mungkin<br />
sepertinya<br />
semakin<br />
apa<br />
begitu<br />
begini<br />
mau</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=195&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/12/02/stop-word-list-for-indonesia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>CLOUD COMPUTING; Sebuah pengantar</title>
		<link>http://derlaz.wordpress.com/2010/11/29/cloud-computing-sebuah-pengantar/</link>
		<comments>http://derlaz.wordpress.com/2010/11/29/cloud-computing-sebuah-pengantar/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 06:00:05 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Distributed System]]></category>
		<category><![CDATA[Scinces]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=191</guid>
		<description><![CDATA[Oleh: Muhammad Zidny Naf’an Jurusan Teknik Informatika. Fakultas Sains dan Teknologi. UIN Syarif Hidayatullah Jakarta I. Sejarah Cloud Computing Lahirnya “Cloud Computing” tentulah tidak terlepas dari jasa dibuatnya ARPANET (Advanced Research Projects Agency Network) pada tahun 1969 oleh badan pertahanan Amerika Serikat. Dengan adanya ARPANET berbagai komputer dapat saling berkomunikasi. Komunikasi yang terjadi antar komputer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=191&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Oleh:<br />
Muhammad Zidny Naf’an<br />
Jurusan Teknik Informatika. Fakultas Sains dan Teknologi.<br />
UIN Syarif Hidayatullah Jakarta</p>
<p><strong>I.	Sejarah Cloud Computing</strong><br />
Lahirnya “Cloud Computing” tentulah tidak terlepas dari jasa dibuatnya ARPANET (Advanced Research Projects Agency Network) pada tahun 1969 oleh badan pertahanan Amerika Serikat. Dengan adanya ARPANET berbagai komputer dapat saling berkomunikasi. Komunikasi yang terjadi antar komputer itu hanyalah berupa pertukaran informasi/data dari satu komputer ke komputer lain. Namun istilah cloud computing sendiri pertama kali disampaikan oleh John McCarthy -seorang ilmuwan ilmu komputer dari Amerika- pada tahun 1960. dalam opininya dia berkata bahwa suatu hari nanti sistem komputasi akan diatur sebagai perangkat yang publik (public utility).<br />
Hal lain yang memicu lahirnya cloud computing  adalah adanya sistem yang terdistribusi (distributed system). Dengan sistem terdistribusi ini memungkinkan terjadinya penggunaan resource (software, hardware, data) secara bersama-sama.<br />
Dari sudut pandang software engineering (rekayasa perangkat lunak), berkembangnya Web 2.0  pada tahun 1999 yang saat itu disuarakan oleh Darcy DiNucci -seorang konsultan desain informasi elektronik- juga sangat berperan serta dalam melahirkan. yang mengedepankan sisi interaktif halaman web dan juga akses ke web tersebut dapat dari berbagai platform. Selain Web 2.0, Mashup juga setidaknya ikut berperan serta dalam  kelahiran cloud computing, mashup adalah suatu aplikasi berbasis web yang dapat mengombinasikan data dari banyak sumber  menjadi kumpulan yang terintegrasi dalam satu storage. <span id="more-191"></span><br />
Mengadopsi essai yang ditulis oleh Voas dan Zhang yang diterbitkan IEEE tahun 2009, setidaknya ada 6 tahapan munculnya cloud computing, 6 tahapan tersebut adalah tahap pertama berupa mainframe computer, dimana user hanya menggunakan terminal yang terhubung dengan komputer mainframe. Tahap kedua komputer berupa PC-stand alone yaitu user menggunakan komputer yang sudah dapat berdiri sendiri (tidak memerlukan mainframe lagi). Pada tahap ketiga; komputer, laptop, ataupun server terhubung menjadi satu dalam suatu local network untuk berbgai sumber daya dan meningkatkan performa. Kemudian pada tahap ke-empat, beberapa local network terhubung dan menjadi global network. Pada tahap kelima; munculah grid computing, konsep ini menawarkan adanya pembagian tugas komputasi yang besar kepada  banyak komputer yang saling terhubung dalam suatu network dan juga komputer-komputer tersebut dapat berbagi sumber daya (yang diatur dengan teori sistem terdistribusi). Pada tahap keenam lahirlah teori cloud computing yang menawarkan semua komputasi ada di internet.</p>
<p><strong>II.	Pengertian Cloud Computing</strong><br />
Menurut akar katanya cloud computing terdiri dari dua kata; cloud dan computing. Cloud sendiri berarti awan, hal ini merepresentasikan “internet”, sebagaimana diketahui bahwa simbol internet dalam dunia networking adalah awan/cloud. Computing berarti perhitungan atau proses komputasi. Jadi menurut terminologi cloud computing berarti semua proses komputasi terjadi di awan/internet.<br />
Dari sudut end-user, cloud computing berarti memindahkan semua layanan aplikasi dan sistem operasi dari desktop ke internet, hal ini berarti seorang user dapat menjalankan aplikasi dimanapun asalkan user terhubung dengan internet. Jika menilik cloud computing dari segi perusahaan penyedia layanan ini (provider) mereka akan berlomba-lomba dalam menemukan metode yang paling efektif dalam mendistribusikan sistem dan menjadwal komputer server. Kunci dari infrastruktur untuk cloud computing adalah media penyimpanan dan metode komputasi untuk data yang berskala besar.<br />
 		Keuntungan dengan menggunakan cloud computing adalah sebagai berikut:<br />
- Mengurangi resiko pada insfrastructure<br />
- Dana yang rendah<br />
- Peningkatan kecepatan inovasi<br />
- Mengurangi waktu running aplikasi dan waktu respon</p>
<p><strong>III. Deployment Cloud Computing</strong><br />
Jenis-jenis cloud computing dari dilihat dari segi skala penyediaan dapat dibagi menjadi empat, yaitu sebagai berikut:<br />
<strong>1.	Public Cloud</strong><br />
Infrastruktur dan layanan cloud computing dapat digunakan untuk umum. Term “public” disini juga tidak selalu diistilahkan dengan “free” atau gratis. Ada beberapa layanan public cloud yang berbayar misalnya Amazon. Dan term “public” juga tidak dapat diartikan bahwa data user akan dapat dilihat oleh siapa saja. User dapat mengatur hak akses untuk data-data mereka.<br />
<strong>2.	Private Cloud</strong><br />
Infrastruktur dan layanan cloud computing digunakan oleh satu organisasi tertentu untuk mendukung kelancaran proses bisnis mereka. Salah satu perbedaan antara private cloud dan public cloud adalah data dan proses dikelola sendiri oleh organisasi tersebut tanpa adanya pembatasan bandwidth jaringan, keamanan, dan kebutuhan-kebutuhan tertentu yang terkadang menjadi pre-requirement dalam public cloud.<br />
<strong>3.	Hybrid Cloud</strong><br />
Merupakan perpaduan dari public cloud dan private cloud<br />
<strong>4.	Community Cloud</strong><br />
Infrastruktur dan layanan cloud computing digunakan oleh beberapa organisasi yang menjadi satu komunitas.</p>
<p><strong>III.	Delivery Model Cloud Computing</strong><br />
<strong>1. Software as a Service</strong><br />
Bagian ini akan mendistribusikan aplikasi kepada client atau user. User dapat menjalankan aplikasi-aplikasi yang disediakan oleh provider dengan menggunakan browser yang terpasang di komputer user. User tidak mengontrol system operasi, hardware, maupun infrastruktur jaringan. Dengan layanan ini user dapat memilih software mana saja yang ingin digunakan sehingga dapat menghemat biaya yang dikeluarkan, atau istilah lain pay per service. Keuntungan lain untuk user adalah user tidak perlu melakukan maintenance terhadap aplikasi.<br />
Pada bagian ini teknologi yang sering digunakan sangat berkaitan erat dengan teknologi web yaitu web 2.0, mashup, SOA (Service Oritented Architecture), dan multi-tenancy<br />
<strong>2. Platform as a Service</strong><br />
Bagian ini tidak berbeda jauh dengan IaaS (akan penulis jelaskan). Hanya saja pada PaaS provider menyediakan sistem operasi dan perangkat pengembangan aplikasi (IDE) yang dapat digunakan user. Sistem operasi ini dapat berbasis web, sebagai contohnya adalah eyeos.<br />
Salah satu pemanfaatan PaaS ini adalah dalam bidang pengembangan software yang dilakukan oleh banyak developer dan dikerjakan secara bersama-sama melalui network. Dalam PaaS yang notabene client mendapatkan sistem operasi sehingga client (developer) dapat menanam perangkat-perangkat pengembangan software pada virtual mesin tersebut.<br />
Vendor yang menyediakan layanan ini adalah IBM (Rational Developer Cloud), Microsoft (Microsoft Azzure), Google (Google AppEngine).<br />
<strong>3. data Storage as a Service</strong><br />
Bagian ini provider menyediakan media penyimpanan untuk user yang dapat digunakan untuk menyimpan data. (Dalam beberapa sumber bagian ini masuk pada IaaS).<br />
<strong>4. Insfrastructure as a Service</strong><br />
Pada layer ini provider cloud computing menyediakan hardware, media penyimpanan, dan bandwidth kepada user, atau dengan kata lain seolah-olah provider menyediakan satu buah komputer yang dapat digunakan oleh user melalui internet secara virtual.<br />
Vendor yang menyediakan layanan cloud computing pada layer ini misalnya IBM (Wuxi Software Park) dan Amazon EC2.</p>
<p><strong>IV.	Perencanaan Cloud Computing</strong><br />
Dalam membangun suatu sistem cloud computing, ada beberapa aspek yang perlu dijadikan perhatian utama, diantaranya adalah sebagai berikut:<br />
1. Platform<br />
Berikut ini adalah beberapa platform yang sangat memainkan peran dalam cloud computing, yaitu sebagai berikut:<br />
<img src="http://derlaz.files.wordpress.com/2010/11/new-picture-5.jpg?w=620" alt="platform" /></p>
<p>2. Client<br />
Sebenarnya pada komputer client hanya membutuhkan sistem operasi dengan mimimum support yaitu untuk browser dan layanan networking. Namun hal ini –menurut hemat penulis- dapat diminimalisir lagi jika dapat membangun suatu browser diatas BIOS tanpa menggunakan sistem operasi.</p>
<p><strong>V.	Kesimpulan</strong><br />
Cloud Computing tentulah dapat menjadi pertimbangan khusus sebagai suatu metode layanan komputasi terkini. Tentunya jika hal ini dapat diaplikasikan di negara berkembang dan pada perusahaan-perusahaan yang kecil-menengah dapat menjadi suatu alternatif untuk memajukan industri dengan dukungan IT.</p>
<p><strong>VII.Referensi</strong><br />
Furht, Borko, dkk. Handbook of Cloud Computing. 2010. Springer Publ.<br />
Peng, Bo, dkk. Implementation Issues of A Cloud Computing Platform. Department of Computer Science and Technology, Peking University. (diakses dari: sites.computer.org/debull/A09mar/cuibin.pdf)<br />
Cloud Computing Use Case Discussion Group. Cloud Computing Use Cases Version 4.0. 2010.<br />
Cumulux. Which cloud platform is right for you? Comparing cloud platforms. www.cumulux.com<br />
Cloud Computing Services – A comparison. www.thbs.com/pdfs/Comparison%20of%20Cloud%20computing%20services.pdf</p>
<p>http://apcmag.com/phoenix_puts_opera_web_browser_into_bios.htm.</p>
<p>en.wikipedia.org/wiki/Cloud_computing</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=191&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/11/29/cloud-computing-sebuah-pengantar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>

		<media:content url="http://derlaz.files.wordpress.com/2010/11/new-picture-5.jpg" medium="image">
			<media:title type="html">platform</media:title>
		</media:content>
	</item>
		<item>
		<title>PEER TO PEER</title>
		<link>http://derlaz.wordpress.com/2010/11/08/peer-to-peer/</link>
		<comments>http://derlaz.wordpress.com/2010/11/08/peer-to-peer/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 23:39:17 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Distributed System]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=187</guid>
		<description><![CDATA[PEER TO PEER Pengertian Sebutan “peer-to-peer” mengisyaratkan sebuah hubungan kesetaraan (egalitarian relationship) diantara para peer (baca: pengguna satu dengan yang lainnya). Hubungan ini haruslah menghasilkan interaksi langsung antara komputer pengguna yang satu dengan komputer pengguna lainnya tanpa ada komputer yang berstatus sebagai client dan berstatus sebagai server. Secara teknis, jaringan P2P (peer-to-peer) adalah sebuah jaringan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=187&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>PEER TO PEER</strong><br />
<strong>Pengertian</strong><br />
Sebutan “peer-to-peer” mengisyaratkan sebuah hubungan kesetaraan (egalitarian relationship) diantara para peer (baca: pengguna satu dengan yang lainnya). Hubungan ini haruslah menghasilkan interaksi langsung antara komputer pengguna yang satu dengan komputer pengguna lainnya tanpa ada komputer yang berstatus sebagai client dan berstatus sebagai server.<br />
Secara teknis, jaringan P2P (peer-to-peer) adalah sebuah jaringan yang memungkinkan semua komputer dalam lingkungannya bertindak/berstatus sebagai server yang memiliki kemampuan untuk mendistribusikan sekaligus menerima berkas-berkas atau sumber daya (resource) yang ada dalam komputer mereka ke komputer lainnya.<br />
<span id="more-187"></span><br />
Jaringan bertipe ini sangat banyak dijumpai di kantor-kantor yang tidak membutuhkan sebuah sentral pengaturan laiknya jaringan client-server. Di internet, jaringan P2P hidup dan berkembang melalui aplikasi-aplikasi populer seperti Napster dan Gnutella.</p>
<p><strong>Manfaat P2P</strong><br />
Tujuan utama dari jaringan P2P adalah agar semua peer dapat menyediakan sekaligus memanfaatkan resource komputer, termasuk bandwith, media penyimpanan, dan kemampuan komputasi yang ada di dalam jaringan tersebut. Dengan demikian, ketika node-node (komputer-komputer) telah banyak terhubung dan terjadi banyak permintaan terhadap sistem, kapasitas total yang dimiliki oleh sistem juga akan meningkat. Hal ini merupakan kontraproduktif dengan apa yang terjadi pada sistem client-server. Dalam sistem client-server, bertambahnya client justru dapat menyebabkan melambatnya transfer data di dalam sistem.<br />
Sifat terdistribusi yang dimiliki oleh jaringan P2P ini juga dapat meningkatkan kestabilan/kekokohan (robustness) sistem dari kemungkinan kegagalan (system failure). Kestabilan ini disebabkan oleh dua faktor. Pertama, adanya replikasi/penggandaan data yang terjadi di antara para pengguna (peer). Kedua, dengan memanfaatkan resource komputer peer itu sendiri untuk mencari data yang ada di dalam jaringan tanpa mengandalkan satu resource komputer server saja.</p>
<p><strong>Topologi Jaringan P2P</strong><br />
Shuman Ghosemajumder dalam makalahnya yang berjudul Advanced Peer-Based Technology Business Models yang diterbitkan pada tahun 2002 membagi topologi jaringan P2P ke dalam 2 tipe. Berikut tipe-tipe tersebut:</p>
<p>1.	Centralized Model<br />
Model ini adalah model yang digunakan oleh Napster. Semua peer (pengguna) akan terhubung ke satu atau sekelompok (cluster) server. Server ini berfungsi untuk memfasilitasi (baca: sebagai mediator) hubungan antara peer dalam jaringan tersebut. Server tersebut dapat memainkan satu, dua atau ketiga peran berikut ini:<br />
-	Discovery. Server yang memainkan peran ini akan meyimpan informasi tentang<br />
user yang sedang terhubung ke dalam sistem sekaligus memungkinkan semua user untuk mengetahui bagaimana cara menghubungi user tertentu yang sedang berada di dalam jaringan.<br />
-	Lookup. Server dengan peran lookup memiliki kemampuan server dengan peran discovery. Hanya saja, server ini juga akan menyediakan mekanisme pencarian yang tersentralisasi.<br />
-	Content Delivery. Dalam peran ini, peer akan meng-upload semua atau beberapa data (content) milik mereka ke server pusat. Dengan cara ini, proses transfer data menjadi relatif lebih cepat ketimbang dengan kedua model peran sebelumnya. Dengan beberapa pertimbangan keadaan tentunya.<br />
Model ini membutuhkan sebuah atau beberapa server yang digunakan untuk melakukan beberapa tugas atau fungsi tertentu</p>
<p>2.	Decentralized Model<br />
Model ini akan membuat semua peer memiliki status dan fitur yang sama dalam sebuah jaringan. Jadi, tidak akan ada server atau client di dalamnya. Contoh aplikasinya adalah Freenet. Dalam model terdesentralisasi, seorang peer tidak akan dapat mengetahui jumlah peer lainnya yang sedang terhubung di dalam jaringan. Selain itu, seorang peer juga tidak akan dapat mengetahui alamat dari peer lain yang akan dihubunginya. Satu lagi kekurangan model ini adalah bahwa peer tidak dapat mengetahui isi (content) komputer milik peer lainnya yang sedang tersedia dalam jaringan.<br />
Meskipun begitu, model desentralisasi juga memiliki kelebihan. Diantaranya berkaitan dengan masalah keamanan, baik itu dilihat dari segi teknologi maupun hukum hak cipta. Dari segi teknologi, model desentralisasi menguntungkan karena akan lepas dari kemungkinan satu serangan tunggal yang dapat mematikan jaringan. Sedangkan dari segi hukum hak cipta, meskipun masih menyisakan bias, model ini relatif lebih bebas dari jerat undang-undang hak cipta karena content yang tersebar dalam jaringan merupakan data yang hendak saling dipertukarkan. Bukan untuk dijual atau dibajak.</p>
<p>Sumber:</p>
<p>http://www.wimpermana.web.ugm.ac.id/blog/wp-content/tugas-p2p.pdf</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=187&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/11/08/peer-to-peer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>REMOTE PPROCEDURE CALL (RPC)</title>
		<link>http://derlaz.wordpress.com/2010/11/08/remote-pprocedure-call-rpc/</link>
		<comments>http://derlaz.wordpress.com/2010/11/08/remote-pprocedure-call-rpc/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 23:36:23 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Distributed System]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=182</guid>
		<description><![CDATA[REMOTE PPROCEDURE CALL (RPC) Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=182&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>REMOTE PPROCEDURE CALL (RPC)</strong></p>
<p>Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker (pencocok port) akan memberikan port apa yang digunakan oleh prosedur yang diminta client.<br />
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.<br />
<span id="more-182"></span><br />
<strong>Kelebihan dan Kekurangan RPC</strong><br />
Kelebihan RPC<br />
-	Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti  socket, marshalling &amp; unmarshalling.<br />
-	Robust (Sempurna): Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, &amp; reliability.<br />
 	Kekurangan RPC<br />
-	Tidak fleksibel terhadap perubahan: hubungan anatara client dan server bersifat static<br />
-	Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.</p>
<p><strong>Prinsip Dasar RPC</strong><br />
 <img src="http://derlaz.files.wordpress.com/2010/11/new-picture.png?w=620" alt="rpc" /><br />
Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan<br />
 <img src="http://derlaz.files.wordpress.com/2010/11/new-picture-1.png?w=620" alt="rpc 2" /><br />
Sebelum mekanisme RPC digunakan, data  harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)</p>
<p><strong>Langkah-langkah dalam RPC </strong><br />
<img src="http://derlaz.files.wordpress.com/2010/11/new-picture-2.png?w=620" alt="langkah" /><br />
1.  Prosedur client memanggil client stub<br />
2.  Client stub membuat pesan dan memanggil OS client<br />
3.  OS client mengirim pesan ke OS server<br />
4.  OS server memberikan pesan ke server stub<br />
5.  Server stub meng-unpack parameter-parameter untuk memanggil server<br />
6.  Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub<br />
7.  Server stub mem-pack hasil tsb dan memanggil OS server<br />
8.  OS server mengirim pesan (hasil) ke OS client<br />
9.  OS client memberikan pesan tersebut ke client stub<br />
10.  Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke Client</p>
<p><em>Sumber:</p>
<p>http://naeli.staff.gunadarma.ac.id/Downloads/files/8465/Komunikasi_revisi.pdf</p>
<p>http://kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch17s06.html</p>
<p>http://en.wikipedia.org/wiki/Remote_procedure_call</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/182/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=182&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/11/08/remote-pprocedure-call-rpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>

		<media:content url="http://derlaz.files.wordpress.com/2010/11/new-picture.png" medium="image">
			<media:title type="html">rpc</media:title>
		</media:content>

		<media:content url="http://derlaz.files.wordpress.com/2010/11/new-picture-1.png" medium="image">
			<media:title type="html">rpc 2</media:title>
		</media:content>

		<media:content url="http://derlaz.files.wordpress.com/2010/11/new-picture-2.png" medium="image">
			<media:title type="html">langkah</media:title>
		</media:content>
	</item>
		<item>
		<title>Stack Simulation with GUI</title>
		<link>http://derlaz.wordpress.com/2010/06/20/stack-simulation-with-gui/</link>
		<comments>http://derlaz.wordpress.com/2010/06/20/stack-simulation-with-gui/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 05:03:47 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=179</guid>
		<description><![CDATA[Stack atau tumpukan merupakan salah satu bab dalam ilmu struktur data. Mengapa dinamakan tumpukan? Dapat digambarkan pada tumpukan CD (compact disc), disc yang paling pertama dimasukkan dalam tempat akan berada paling bawah, tetapi disc yang akan dikeluarkan pertama kali adalah disc yang paling akhir masuk alias disc yang paling atas. Kondisi seperti ini adalah ciri [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=179&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Stack atau tumpukan merupakan salah satu bab dalam ilmu struktur data. Mengapa dinamakan tumpukan? Dapat digambarkan pada tumpukan CD (compact disc), disc yang paling pertama dimasukkan dalam tempat akan berada paling bawah, tetapi disc yang akan dikeluarkan pertama kali adalah disc yang paling akhir masuk alias disc yang paling atas. Kondisi seperti ini adalah ciri khas stack atau yang biasa disebut dengan LIFO (last in first out). Pembahasan stack yang lebih lengkap dapat dibaca pada tulisan saya di blog ini.</p>
<p>Untuk menggambarkan sebuah stack, perlu dibuat suatu simulator. dalam kesempatan ini saya menggunakan bahasa pemrograman java berbasis GUI, menggunakan kelas javax.swing.</p>
<p>untuk lebih lengkapnya dapat anda perhatikan source code dibawah ini (mungkin terlihat agak panjang, karena saya menggunakan tools IDE Netbeans dalam membuat program ini):<span id="more-179"></span></p>
<p>/*<br />
 * StackSimulation.java<br />
 *<br />
 * Created on 20 Jun 10, 11:27:05<br />
 */</p>
<p>import javax.swing.*;</p>
<p>/**<br />
 *<br />
 * @author Muhammad Zidny Naf&#8217;an<br />
 */<br />
public class StackSimulation extends JFrame {</p>
<p>    // Variables declaration &#8211; do not modify<br />
    private JButton btnPop;<br />
    private JButton btnPush;<br />
    private JScrollPane jScrollPane2;<br />
    private JLabel lblInfoData;<br />
    private JLabel lblInfoMax;<br />
    private JLabel lblPop;<br />
    private JTextArea txtItem;<br />
    private JTextField txtPush;<br />
    // End of variables declaration</p>
<p>    /** Creates new form StackSimulation */<br />
    public final int MAX = 10;<br />
    String[] stack = new String[MAX];<br />
    int top;<br />
    int i;</p>
<p>    public StackSimulation() {<br />
        initComponents();<br />
        top = -1;<br />
        lblPop.setText(&#8220;&#8221;);<br />
        lblInfoData.setText(&#8220;Jumlah data: 0 data&#8221;);<br />
        lblInfoMax.setText(&#8220;Maximal: &#8220;+MAX+&#8221; data&#8221;);<br />
    }</p>
<p>    /** This method is called from within the constructor to<br />
     * initialize the form.<br />
     * WARNING: Do NOT modify this code. The content of this method is<br />
     * always regenerated by the Form Editor.<br />
     */<br />
    @SuppressWarnings(&#8220;unchecked&#8221;)<br />
    //<br />
    private void initComponents() {</p>
<p>        btnPush = new JButton();<br />
        txtPush = new JTextField();<br />
        btnPop = new JButton();<br />
        lblPop = new JLabel();<br />
        jScrollPane2 = new JScrollPane();<br />
        txtItem = new JTextArea();<br />
        lblInfoMax = new JLabel();<br />
        lblInfoData = new JLabel();</p>
<p>        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);</p>
<p>        btnPush.setText(&#8220;Push&#8221;);<br />
        btnPush.addActionListener(new java.awt.event.ActionListener() {<br />
            public void actionPerformed(java.awt.event.ActionEvent evt) {<br />
                btnPushActionPerformed(evt);<br />
            }<br />
        });</p>
<p>        btnPop.setText(&#8220;Pop&#8221;);<br />
        btnPop.addActionListener(new java.awt.event.ActionListener() {<br />
            public void actionPerformed(java.awt.event.ActionEvent evt) {<br />
                btnPopActionPerformed(evt);<br />
            }<br />
        });</p>
<p>        lblPop.setFont(new java.awt.Font(&#8220;Tahoma&#8221;, 0, 36)); // NOI18N<br />
        lblPop.setForeground(new java.awt.Color(255, 0, 51));<br />
        lblPop.setText(&#8220;0000&#8243;);</p>
<p>        txtItem.setColumns(20);<br />
        txtItem.setRows(5);<br />
        jScrollPane2.setViewportView(txtItem);</p>
<p>        lblInfoMax.setFont(new java.awt.Font(&#8220;Tahoma&#8221;, 0, 14)); // NOI18N<br />
        lblInfoMax.setText(&#8220;jLabel1&#8243;);</p>
<p>        lblInfoData.setFont(new java.awt.Font(&#8220;Tahoma&#8221;, 0, 14)); // NOI18N<br />
        lblInfoData.setText(&#8220;jLabel1&#8243;);</p>
<p>        GroupLayout layout = new GroupLayout(getContentPane());<br />
        getContentPane().setLayout(layout);<br />
        layout.setHorizontalGroup(<br />
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
            .addGroup(layout.createSequentialGroup()<br />
                .addGap(20, 20, 20)<br />
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
                    .addComponent(btnPush)<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addGap(10, 10, 10)<br />
                        .addComponent(txtPush, GroupLayout.PREFERRED_SIZE, 40, GroupLayout.PREFERRED_SIZE)))<br />
                .addGap(13, 13, 13)<br />
                .addComponent(jScrollPane2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)<br />
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addGap(36, 36, 36)<br />
                        .addComponent(btnPop))<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addGap(27, 27, 27)<br />
                        .addComponent(lblPop)))<br />
                .addContainerGap(100, Short.MAX_VALUE))<br />
            .addGroup(layout.createSequentialGroup()<br />
                .addGap(126, 126, 126)<br />
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
                    .addComponent(lblInfoData)<br />
                    .addComponent(lblInfoMax)))<br />
        );<br />
        layout.setVerticalGroup(<br />
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
            .addGroup(layout.createSequentialGroup()<br />
                .addGap(20, 20, 20)<br />
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addComponent(btnPush)<br />
                        .addGap(17, 17, 17)<br />
                        .addComponent(txtPush, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))<br />
                    .addComponent(jScrollPane2, GroupLayout.PREFERRED_SIZE, 160, GroupLayout.PREFERRED_SIZE)<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addComponent(btnPop)<br />
                        .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)<br />
                        .addComponent(lblPop)))<br />
                .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)<br />
                .addComponent(lblInfoMax)<br />
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)<br />
                .addComponent(lblInfoData)<br />
                .addContainerGap(69, Short.MAX_VALUE))<br />
        );</p>
<p>        pack();<br />
    }// </p>
<p>    private void btnPushActionPerformed(java.awt.event.ActionEvent evt) {<br />
        // TODO add your handling code here:<br />
        if(top==MAX-1){<br />
            JOptionPane.showMessageDialog(null,&#8221;Stack sudah penuh&#8221;);<br />
        } else{<br />
            top++;<br />
            stack[top] = txtPush.getText();<br />
            txtItem.setText(&#8220;&#8221;);<br />
            for(i=top;i&gt;=0;i&#8211;){<br />
                txtItem.append(stack[i]+&#8221;\n&#8221;);<br />
            }<br />
            txtPush.setText(&#8220;&#8221;);<br />
            lblInfoData.setText(&#8220;Jumlah data: &#8220;+(top+1)+&#8221; data&#8221;);<br />
        }<br />
    }</p>
<p>    private void btnPopActionPerformed(java.awt.event.ActionEvent evt) {<br />
        // TODO add your handling code here:<br />
        String temp;</p>
<p>        if(top==-1){<br />
            JOptionPane.showMessageDialog(null, &#8220;Stack masih kosong&#8221;);<br />
        } else{<br />
            temp = stack[top];<br />
            top&#8211;;<br />
            txtItem.setText(&#8220;&#8221;);<br />
            for(i=top;i&gt;=0;i&#8211;){<br />
                txtItem.append(stack[i]+&#8221;\n&#8221;);<br />
            }<br />
            lblPop.setText(temp);<br />
            lblInfoData.setText(&#8220;Jumlah data: &#8220;+(top+1)+&#8221; data&#8221;);<br />
        }<br />
    }</p>
<p>    /**<br />
    * @param args the command line arguments<br />
    */<br />
    public static void main(String args[]) {<br />
        java.awt.EventQueue.invokeLater(new Runnable() {<br />
            public void run() {<br />
                new StackSimulation().setVisible(true);<br />
            }<br />
        });<br />
    }<br />
}</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=179&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/06/20/stack-simulation-with-gui/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
		<item>
		<title>PEMROGRAMAN SERVLET</title>
		<link>http://derlaz.wordpress.com/2010/06/04/pemrograman-servlet/</link>
		<comments>http://derlaz.wordpress.com/2010/06/04/pemrograman-servlet/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 16:57:38 +0000</pubDate>
		<dc:creator>derlaz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Servlet]]></category>

		<guid isPermaLink="false">http://derlaz.wordpress.com/?p=177</guid>
		<description><![CDATA[Pengenalan Servlet Servlet adalah kelas-kelas dalam Java yang digunakan untuk memperluas kemampuan server yang menyimpan aplikasi yang dapat diakses melalui model pemrograman berbasis request-response [Widodo B. Panduan Lengkap Pemrograman J2EE, 2005]. Request berarti permintaan layanan dari client ke server. Sedangkan response berarti layanan yang diberikan server ke client. Untuk memulai memrogram menggunakan servlet diharapkan pembaca [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=177&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pengenalan Servlet<br />
	Servlet adalah kelas-kelas dalam Java yang digunakan untuk memperluas kemampuan server yang menyimpan aplikasi yang dapat diakses melalui model pemrograman berbasis request-response [Widodo B. Panduan Lengkap Pemrograman J2EE, 2005]. Request berarti permintaan layanan dari client ke server. Sedangkan response berarti layanan yang diberikan server ke client. Untuk memulai memrogram menggunakan servlet diharapkan pembaca telah memahami konsep client-server, HTTP, dan HTML.<br />
	Dalam API (Application Programming Interface) Java, servlet memiliki dua paket yaitu javax.servlet dan javax.servlet.http. Jika kita akan menggunakan servlet kita harus meng-import kedua paket ini. Javax.servlet berisi framework dasar servlet dimana javax.servlet.http digunakan sebagai ekstensi dari framework servlet bagi servlet yang akan menjawab HTTP request [tutorial Jeni].</p>
<p>Memulai Pemrograman Servlet<span id="more-177"></span><br />
	Kebutuhan yang diperlukan untuk membuat program servlet adalah sebagai berikut:<br />
-	Program server, seperti Tomcat, GlassFish, Jboss. (dalam tulisan ini penulis meggunakan server Tomcat)<br />
-	Editor, seperti JCreator, Notepad++, Edit++, dan sebagainya.<br />
Secara umum struktur folder untuk program servlet adalah sebagai berikut: (tanda kurung siku merupakan folder)<br />
[ROOT]<br />
	index.html<br />
	[WEB-INF]<br />
		[classes]<br />
		web.xml</p>
<p>semua kelas servlet dimasukkan kedalam folder classes. Web.xml digunakan untuk mengatur mapping untuk masing-masing kelas servlet.</p>
<p>Praktek Pemrograman Servlet, bag.1 (Hello World)<br />
Program ini hanya akan menuliskan kalimat “Hello World” menggunakan permrograman servlet. Pada index.html kita akan tambahkan link yang akan mengakses kelas HelloWorld tersebut. Langkah-langkahnya adalah sebagai berikut:<br />
1.	Buat folder “LatihanServlet1” pada sub-folder webapps pada folder tomcat (C:\xampp\tomcat\webapps\LatihanServlet1)<br />
2.	Buat folder “WEB-INF” di dalam folder LatihanServlet1<br />
3.	Buat folder “classes” pada folder WEB-INF tersebut<br />
4.	Buat file “web.xml” pada folder WEB-INF<br />
5.	Buat file index.html dengan kode sebagai berikut:<br />
<code></p>
<h1>SELAMAT DATANG</h1>
<p>
		<a href="HelloWorld">Hello World Servlet</a></p>
<p></code></p>
<p>6.	Buat file HelloWorld.java di folder classes dengan kode sebagai berikut:<br />
i<code>mport java.io.IOException;<br />
import java.io.PrintWriter;<br />
import javax.servlet.ServletException;<br />
import javax.servlet.http.HttpServlet;<br />
import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;</p>
<p>public class HelloWorld extends HttpServlet{<br />
	public void doGet(HttpServletRequest request,<br />
					  HttpServletResponse response)<br />
					  throws IOException{</p>
<p>		response.setContentType("text/html;charset=UTF-8");<br />
		PrintWriter out = response.getWriter();<br />
		try{<br />
			out.println("");<br />
			out.println("");<br />
			out.println("");<br />
			out.println("");<br />
			out.println("");<br />
			out.println("<br />
<h1>HELLOWORLD SERVLET</h1>
<p>");<br />
			out.println("");<br />
			out.println("");<br />
		} finally{<br />
			out.close();<br />
		}<br />
	}<br />
}<br />
</code><br />
7.	Kompile file HelloWorld.java, sehingga kita mendapatkan file .class dari program tersebut<br />
8.	Edit file web.xml dengan kode sebagai berikut:<br />
<code></p>
<p>    <!-- servlet class setting--></p>
<p>        HelloWorld<br />
        HelloWorld</p>
<p>	<!-- servlet mapping--></p>
<p>        	HelloWorld<br />
      /HelloWorld</p>
<p>            30</p>
<p>        index.html</p>
<p></code></p>
<p>9.	Jalankan tomcat server<br />
10.	Buka web browser<br />
11.	Tuliskan alamat “localhost:8080/LatihanServlet1”</p>
<p><em>oleh:<br />
Muhammad Zidny Naf’an**<br />
(UIN Syarif Hidayatullah Jakarta &#8211; 107091002928)</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/derlaz.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/derlaz.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/derlaz.wordpress.com/177/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derlaz.wordpress.com&amp;blog=2306535&amp;post=177&amp;subd=derlaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derlaz.wordpress.com/2010/06/04/pemrograman-servlet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9833dce32c068933883a33b833da49dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">derlaz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
