<?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> &#187; Code Java</title>
	<atom:link href="http://freecentro.wordpress.com/category/code-java/feed/" rel="self" type="application/rss+xml" />
	<link>http://freecentro.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jul 2009 07:20:02 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='freecentro.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/82b987f05d34376f731417c797be2d4b?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title> &#187; Code Java</title>
		<link>http://freecentro.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://freecentro.wordpress.com/osd.xml" title="" />
		<item>
		<title>Aplikasi Kalkulator V.001</title>
		<link>http://freecentro.wordpress.com/2009/07/03/aplikasi-kalkulator-v-001/</link>
		<comments>http://freecentro.wordpress.com/2009/07/03/aplikasi-kalkulator-v-001/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 06:55:17 +0000</pubDate>
		<dc:creator>................ Ari Nurdiansyah</dc:creator>
				<category><![CDATA[Code Java]]></category>

		<guid isPermaLink="false">http://freecentro.wordpress.com/?p=338</guid>
		<description><![CDATA[Alhamdulillah aplikasi kalkulator dapat di posting yah walopun belum sempurna seperti kalkulator bawaan XP. Tp sudah bisa digunakan untuk menghitung. Kelebihan dari aplikasi ini adalah kita dapat melakukan operasi lebih dari 1 operator. Misal: 2 + 23 * 5 hasilnya adalah 117.
Algoritma yang digunakan untuk melakukan perhitungan ini adalah postfix infix. Inti dari algoritma ini [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=338&subd=freecentro&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Alhamdulillah aplikasi kalkulator dapat di posting yah walopun belum sempurna seperti kalkulator bawaan XP. Tp sudah bisa digunakan untuk menghitung. Kelebihan dari aplikasi ini adalah kita dapat melakukan operasi lebih dari 1 operator. Misal: 2 + 23 * 5 hasilnya adalah 117.</p>
<p>Algoritma yang digunakan untuk melakukan perhitungan ini adalah postfix infix. Inti dari algoritma ini adalah melakukan pengurutan operator yang mana yang lebih di dahulukan. Sehingga aplikasi dapat dengan mudah melakukan perhitungan. Pada dasarnya semua inputan operasi dianggap infix yang kemudiaan akan di ubah dalam bentuk postfix (setelah pengurutan operator) barulah dilakukan perhitungan.</p>
<p>Berikut adalah potongan coding infix to postfix:<br />
<span id="more-338"></span><br />
<code><br />
/**<br />
* @author Ari Nurdiansyah<br />
* 5207100075<br />
*/<br />
package kalkulator;<br />
import java.util.*;<br />
import javax.swing.*;</p>
<p>public class model implements sorting{<br />
private Stack&lt;Character&gt; stackOperator;<br />
private Stack&lt;Double&gt; stackOperand;<br />
public String hasil;<br />
public String infixExp = "";<br />
public String postfixExp = "";<br />
public Double doubhasil;</p>
<p>public model() {<br />
stackOperator = new Stack&lt;Character&gt;();<br />
stackOperand = new Stack&lt;Double&gt;();<br />
}</p>
<p>public boolean isOperator(String token) {<br />
return (token.equalsIgnoreCase("^") || token.equalsIgnoreCase("*") || token.equalsIgnoreCase("/")  ||<br />
token.equalsIgnoreCase("%") || token.equalsIgnoreCase("+") || token.equalsIgnoreCase("-"));<br />
}</p>
<p>public boolean isOperand(String token) {<br />
//sudah menangani kasus bilangan negatif<br />
return (!isOperator(token) &amp;&amp; ((Character.isDigit(token.charAt(0))) || (token.charAt(0) == '-')));<br />
}</p>
<p>//mengembalikan prioritas operator saat evaluasi<br />
public int prioritas(char opr) {<br />
int retval;<br />
switch (opr) {<br />
case '^':   {   retval = 3; break;  }<br />
case '*':   {   retval = 2; break;  }<br />
case '/':   {   retval = 2; break;  }<br />
case '%':   {   retval = 2; break;  }<br />
case '+':   {   retval = 1; break;  }<br />
case '-':   {   retval = 1; break;  }<br />
default:    {   retval = 0; break;  }<br />
}<br />
return retval;<br />
}</p>
<p>public String convertToPostfix(String infixExp) throws Exception {<br />
StringTokenizer st = new StringTokenizer(infixExp);<br />
String curToken = "", postfixExp = "";<br />
int nKurungBuka = 0, nKurungTutup = 0;<br />
Character temp;</p>
<p>while(st.hasMoreTokens()) {<br />
//mengambil token<br />
curToken = st.nextToken();<br />
if(isOperand(curToken)) {<br />
//jika currentToken adalah operand, maka kembalikan sebagai ekspresi postfix<br />
postfixExp = postfixExp + " " + (Double.parseDouble(curToken));<br />
} else if(curToken.equals("(")) {<br />
//jika currentToken adalah kurung buka, maka push tanda kurung buka ke stack operator<br />
Character opr = new Character('(');<br />
stackOperator.push(opr);<br />
nKurungBuka++;<br />
} else if(curToken.equals(")")) {<br />
//jika currentToken adalah kurung tutup, maka pop stack operator sampai ketemu kurung buka<br />
while(((Character)stackOperator.peek()).charValue() != '(') {<br />
postfixExp = postfixExp + " " + stackOperator.pop();<br />
}<br />
temp = stackOperator.pop();<br />
nKurungTutup++;<br />
} else if(isOperator(curToken)) {<br />
//jika currentToken adalah operator<br />
if(stackOperator.isEmpty()) {<br />
//stack operator masih kosong, maka push currentToken ke stack operator<br />
Character opr = new Character(curToken.charAt(0));<br />
stackOperator.push(opr);<br />
} else {<br />
/*<br />
stack operator sudah ada isinya<br />
ambil puncak stack, lalu bandingkan presedensinya dengan currentToken<br />
jika precendence(puncak) &gt; prioritas(currentToken) maka pop stack<br />
*/<br />
Character opr = new Character(curToken.charAt(0));<br />
if (prioritas(((Character)stackOperator.peek()).charValue()) &gt; prioritas(opr)) {<br />
postfixExp = postfixExp + " " + stackOperator.pop();<br />
}<br />
else if(prioritas(((Character)stackOperator.peek()).charValue()) == prioritas(opr)){<br />
postfixExp = postfixExp + " " + stackOperator.pop();<br />
}</p>
<p>//push currentToken<br />
stackOperator.push(opr);<br />
}<br />
}<br />
else {<br />
//ekspresi tidak valid<br />
throw new MyInfixToPostfixException("Operator lebih Banyak dari Operand");<br />
}<br />
}</p>
<p>//ekspresi tidak valid<br />
if(nKurungBuka != nKurungTutup)<br />
throw new MyInfixToPostfixException("Kurung nya ga pas!!");</p>
<p>//pop terus stack operator sampai kosong<br />
while (!stackOperator.isEmpty()) {<br />
postfixExp = postfixExp + " " + stackOperator.pop();<br />
}<br />
return postfixExp;<br />
}</p>
<p>public double evaluate(String postfixExp) throws Exception {<br />
StringTokenizer st = new StringTokenizer(postfixExp);<br />
double retval;<br />
String curToken = "";</p>
<p>while (st.hasMoreTokens()) {<br />
//mengambil token<br />
curToken = st.nextToken();<br />
if(isOperand(curToken)) {<br />
//jika currentToken adalah operand, maka push ke stack operand<br />
Double opn = new Double(Double.parseDouble(curToken));<br />
stackOperand.push(opn);<br />
}<br />
else {<br />
//jika currentToken adalah operator, maka evaluasi dua operan sebelumnya<br />
double opn2 = ((Double)stackOperand.pop()).doubleValue();<br />
double opn1 = ((Double)stackOperand.pop()).doubleValue();<br />
double result = 0;<br />
switch(curToken.charAt(0)) {<br />
case '*':   {   result = opn1 * opn2;   break;  }<br />
case '+':   {   result = opn1 + opn2;   break;  }<br />
case '-':   {   result = opn1 - opn2;   break;  }<br />
case '/':   {   result = opn1 / opn2;   break;  }<br />
case '%':   {   result = opn1 % opn2;   break;  }<br />
case '^':   {   result = Math.pow(opn1, opn2);  break;  }<br />
}<br />
Double opn = new Double(result);<br />
stackOperand.push(opn);<br />
}<br />
}<br />
retval = ((Double)stackOperand.pop()).doubleValue();<br />
return retval;<br />
}</p>
<p>public void getInputan(String infix){</p>
<p>try {<br />
infixExp = infix;<br />
postfixExp = convertToPostfix(infixExp);<br />
doubhasil = evaluate(postfixExp);<br />
hasil = String.valueOf(doubhasil);<br />
}<br />
catch (Exception e){<br />
e.printStackTrace();<br />
}<br />
}</p>
<p>public static void main(String []args){<br />
String ar=JOptionPane.showInputDialog("Masukkan infix");<br />
model ari=new model();<br />
ari.getInputan(ar);<br />
JOptionPane.showMessageDialog(null, ari.hasil);<br />
}<br />
}</p>
<p>/**<br />
*  @see    java.lang.Exception<br />
*/<br />
class MyInfixToPostfixException extends Exception {<br />
private String message;</p>
<p>public MyInfixToPostfixException(String _message) {<br />
super(_message);<br />
message = _message;<br />
}</p>
<p>public String getMessage() {<br />
return message;<br />
}</p>
<p>public String toString() {<br />
return "MyInfixToPostfixException: " + getMessage();<br />
}</p>
<p>public void printStackTrace() {<br />
JOptionPane.showMessageDialog(null, this);<br />
super.fillInStackTrace();<br />
}<br />
}<br />
</code><br />
Coding diatas adalah aplikasi kalkulator sederhana tanpa interface. Untuk memasukkan inputan jangan lupa memberi spasi antara nilai dan operator. Karena sistemnya adalah membaca perkata menggunakan tokenizer.</p>
<p>Untuk kalkulator yang berinterface, bs di lihat di posting selanjutnya <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/freecentro.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/freecentro.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/freecentro.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/freecentro.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/freecentro.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/freecentro.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/freecentro.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/freecentro.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/freecentro.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/freecentro.wordpress.com/338/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=338&subd=freecentro&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://freecentro.wordpress.com/2009/07/03/aplikasi-kalkulator-v-001/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9eefd26e9c70718787d0c1108c41244f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">freecentro</media:title>
		</media:content>
	</item>
		<item>
		<title>Konsep MVC (Model View Controller)</title>
		<link>http://freecentro.wordpress.com/2009/03/13/konsep-mvc-model-view-controller/</link>
		<comments>http://freecentro.wordpress.com/2009/03/13/konsep-mvc-model-view-controller/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 00:05:59 +0000</pubDate>
		<dc:creator>................ Ari Nurdiansyah</dc:creator>
				<category><![CDATA[Code Java]]></category>

		<guid isPermaLink="false">http://freecentro.wordpress.com/?p=334</guid>
		<description><![CDATA[MVC (Model View Controller) merupakan cara  atau konsep yang biasa digunakan oleh para programmer dalam pembuatan program yang terstruktur. Konsep MVC sendiri mempunyai tiga bagian, yaitu Model, View dan controller.
Berikut penjelasan konsep MVC:
1. Model digunakan sebagai tempat core suatu program. Model yang akan memproses semua inputan yang dimasukkan oleh user.
2. View sebagai tempat untuk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=334&subd=freecentro&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>MVC (Model View Controller) merupakan cara  atau konsep yang biasa digunakan oleh para programmer dalam pembuatan program yang terstruktur. Konsep MVC sendiri mempunyai tiga bagian, yaitu Model, View dan controller.</p>
<p>Berikut penjelasan konsep MVC:<br />
1. <strong>Model</strong> digunakan sebagai tempat core suatu program. Model yang akan memproses semua inputan yang dimasukkan oleh user.</p>
<p>2. <strong>View</strong> sebagai tempat untuk tampilan yang secara langsung berhubungan dengan user. Atau dengan kata lain sebagai tempat inputan bagi user.</p>
<p>3. <strong>Controller</strong>, merupakan suatu (klas) pengendali yang akan mengendalikan inputan user. Controller akan mengambil inputan yang dimasukkan oleh user dan akan mengirimkannya ke klas model untuk diproses lebih lanjut.</p>
<p>Nah disini ada video yang menjelaskan tentang konsep MVC, dimana yang bisa memakan semua inputan hanyalah model yang akan melakukan proses. Sedangkan View hanya sebagai tempat penyalur inputan tersebut. Sedang kontroller untuk mengatur inputan itu diberikan ke model yang mana.</p>
<p><span style="text-align:center; display: block;"><a href="http://freecentro.wordpress.com/2009/03/13/konsep-mvc-model-view-controller/"><img src="http://img.youtube.com/vi/91C7ax0UAAc/2.jpg" alt="" /></a></span></p>
<p><img src="/DOCUME~1/umum/LOCALS~1/Temp/moz-screenshot-1.jpg" alt="" /></p>
<p><img src="/DOCUME~1/umum/LOCALS~1/Temp/moz-screenshot.jpg" alt="" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/freecentro.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/freecentro.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/freecentro.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/freecentro.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/freecentro.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/freecentro.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/freecentro.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/freecentro.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/freecentro.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/freecentro.wordpress.com/334/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=334&subd=freecentro&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://freecentro.wordpress.com/2009/03/13/konsep-mvc-model-view-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9eefd26e9c70718787d0c1108c41244f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">freecentro</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/91C7ax0UAAc/2.jpg" medium="image" />

		<media:content url="/DOCUME~1/umum/LOCALS~1/Temp/moz-screenshot-1.jpg" medium="image" />

		<media:content url="/DOCUME~1/umum/LOCALS~1/Temp/moz-screenshot.jpg" medium="image" />
	</item>
		<item>
		<title>Program Magic Square</title>
		<link>http://freecentro.wordpress.com/2009/01/24/program-magic-square/</link>
		<comments>http://freecentro.wordpress.com/2009/01/24/program-magic-square/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 00:39:52 +0000</pubDate>
		<dc:creator>................ Ari Nurdiansyah</dc:creator>
				<category><![CDATA[Code Java]]></category>

		<guid isPermaLink="false">http://freecentro.wordpress.com/?p=193</guid>
		<description><![CDATA[Bagi temen-temen yang belum tahu apa itu magic square adalah permainan mengasah otak untuk mendapatkan jumlah nilai yang sama baik horizontal, vertikal, maupun diagonal. Dimana disusun dengan kotak berukukan ganjil. Misal 3&#215;3 atau 5&#215;5 dst.  Berikut yang akan dibahas adalah cara membuat program dalam .java. Sebelumnya mari kita pelajari dulu polanya. Untuk mengetahui pola [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=193&subd=freecentro&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bagi temen-temen yang belum tahu apa itu magic square adalah permainan mengasah otak untuk mendapatkan jumlah nilai yang sama baik horizontal, vertikal, maupun diagonal. Dimana disusun dengan kotak berukukan ganjil. Misal 3&#215;3 atau 5&#215;5 dst.  Berikut yang akan dibahas adalah cara membuat program dalam .java. Sebelumnya mari kita pelajari dulu polanya. Untuk mengetahui pola yang digunakan biasanya dalam magic square kita asumsikan kotak adalah 3&#215;3 maka semua kotak ada 9 buah yang akan di isi angka 1 hingga 9.  Letakkan angka satu di baris pertama kolom kedua. Letakkan angka selanjutnya di baris ketiga kolom tiga. Begitu seterusnya dengan meletakkan angka selanjutnya serong ke kanan atas.  Perhatikan Gambar berikut!</p>
<p><img class="aligncenter size-full wp-image-211" title="ms" src="http://freecentro.files.wordpress.com/2009/01/ms.jpg?w=200&#038;h=200" alt="ms" width="200" height="200" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/freecentro.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/freecentro.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/freecentro.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/freecentro.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/freecentro.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/freecentro.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/freecentro.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/freecentro.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/freecentro.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/freecentro.wordpress.com/193/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=freecentro.wordpress.com&blog=2943580&post=193&subd=freecentro&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://freecentro.wordpress.com/2009/01/24/program-magic-square/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9eefd26e9c70718787d0c1108c41244f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">freecentro</media:title>
		</media:content>

		<media:content url="http://freecentro.files.wordpress.com/2009/01/ms.jpg" medium="image">
			<media:title type="html">ms</media:title>
		</media:content>
	</item>
	</channel>
</rss>