<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8780920</id><updated>2011-07-17T07:39:21.217+07:00</updated><title type='text'>Java Tingkir</title><subtitle type='html'>Blog ini dibuat untuk berbagi pengetahuan dalam bahasa pemrograman Java (atau Java platform). Dalam Java Tingkir akan disediakan tutorial, pemrograman praktis dengan Java, soal latihan Java (juga jawabannya). Juga tak ketinggalan Java world overview.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8780920.post-112927196573823163</id><published>2005-10-14T12:58:00.000+07:00</published><updated>2005-10-14T13:39:25.766+07:00</updated><title type='text'>Pengalaman saya belajar JAVA</title><content type='html'>Saya pengen cerita nih pengalaman sejak pertama belajar JAVA.&lt;br /&gt;&lt;br /&gt;Pertama saya mulai dari baca-baca tutorial java dari website &lt;a href="http://www.sun.com"&gt;SUN&lt;/a&gt;. Saya buka tuh satu-satu halaman tutorialnya, selesai satu halaman terus klik next, begitu seterusnya. Alhamdulillah koneksi internet waktu itu lumayan cepet. Lalu ada akal biar nggak usah baca dari situs, saya copy aja semua yang ada di bagian tutorial dengan web copier httrack. Program itu langsung aja nyedot semua link yang ada mulai dari halaman pertama tutorial. Wah seneng deh bisa baca-baca di rumah. Tadinya harus di kantor atau warnet.&lt;br /&gt;&lt;br /&gt;Suatu hari, pas saya ke warnet say iseng-iseng nyari tutorial JAVA tapi yang formatnya .chm. File .chm ini bentuk terkompilasi dari html-2 itu. Ternyata ada, ya udah saya donlot ajah tuh file. Besarnya gak kepalang tanggung puluhan mega, kalo gak salah 63 mega. Walaupun lama, tapi lebih cepet dari httrack, yang waktu itu belum selesai. Nah, file itu enak dibaca tuh.&lt;br /&gt;&lt;br /&gt;Mulai hari itu dasar-dasar JAVA saya mulai ngerti. Cuman masalahnya, saya kadang bermasalah dengan class-class JAVA yang susah dihafal. Susah juga kalau gak tahu class-class tertentu termasuk paket (package) apa. Maka dari itu kayanya saya juga perlu donlot file .chm tentang API-API yang ada di JAVA. Kalo di google saya cari pake kata kunci 'JAVA API filetype:chm'. Ketemu! Ada file itu. Langsung aja saya donlot tuh file. Nah sekarang kalo bingung nama-nama class, saya tinggal search aja di situ.&lt;br /&gt;&lt;br /&gt;Waktu itu saya masih pake editor notepad.exe buat programmingnya. Wuaannjrrroooooottt! Belajar JAVA kayanya menyiksa banget waktu pake editor itu. Iseng-iseng saya buka halaman dari SUN tempat donlot JDK dulu, ternyata ada Netbeans versi 4 beta. Katanya itu editor yang canggih, filenya aja ukurannya sekitar 100 mega. Gila. Ya udah, kebetulan warnet tempat saya lumayan kenceng. Saya donlot aja. dua jam lebih baru selesai. Trus donlotan itu saya install di rumah. Kebetulan yang saya donlot yang udah terintegrasi dengan JDK 1.5.&lt;br /&gt;&lt;br /&gt;Walah, nih editor lambat banget. Berat kalo dijalanin. Komputer saya Athlon XP 2100 dengan RAM 256, loadingnya sekitar 20 detik atau lebih. Gila nggak? Tapi apa daya, ini lebih cepet dari JBuilder X yang pernah saya beli. Lumayan membantu juga, apalagi netbeans ini secara default bisa buat program GUI yang cakep-cakep. Kodingnya sih udah bisa enak, bisa kaya VB dan Delphi, kalo nama class udah diketik, trus diketik titik ('.'), nama-nama variabel dan methodnya otomatis muncul. Pokoknya lumayan enak lah.&lt;br /&gt;&lt;br /&gt;Kadang ada juga masalah dengan netbeans. Selain lambat, kalo buat program konsole (yang kaya under DOS gitu), bisa kompail dan run, tapi kalo di program yang kita bikin ada/perlu input dari keyboard, sama netbeans dilewatin aja, jadi error. Saya pikir apa emang gitu? Trus, senior saya bilangin kalo dia biasa pake Eclipse. Bisa didonlot di &lt;a href="www.eclipse.org"&gt;eclipse.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Saya coba donlot tuh eclipse. Lumayan gede juga, waktu itu versi 2.0 sekian kalo gak salah. Habis donlot, saya coba di rumah. Editor ini lebih cepat dibandingkan netbeans. Urusan loading sih sama, tapi pas kodingnya, beda banget rasanya. Kelemahannya, secara default (tanpa plugins) editor ini belum menyediakan modul untuk membuat GUI. Jadi kalo mau pake GUI saya pake netbeans, kalo konsole saya pake eclipse.&lt;br /&gt;&lt;br /&gt;Sebenarnya ada plugins untuk eclipse yang gunanya biar kita bisa koding GUI dengan mudah. GUI ini termasuk applet dan GUI biasa (aplikasi desktop). Namanya Jigloo. Coba aja donlot, tapi saya lupa linknya, cari di google aja dengan kata kunci 'jigloo+eclipse+plugin'. Metode instalasinya bisa dibaca di situs developernya. Anda perlu membaca metode instalasinya karena tidak sekedar kopi ke direktori plugins. Nah habis itu saya hampir selalu pakai eclipse.&lt;br /&gt;&lt;br /&gt;Kalau butuh contoh program-program JAVA, anda bisa cari website JAVAALMANAC. Web site ini menerangkan tentang buku JAVA ALMANAC yang bisa dibeli di Amazon.com. Beli bukan pilihan bagi saya, akan tetapi di web site tersebut terdapat banyak potongan-potongan program yang disusun berdasarkan paket-paketnya. Juga diberi judul sesuai dengan masalahnya. Pokoknya mantep lah. Biasa, saya langsung aja donlot pake httrack. Dapet tuh lumayan banyak. Trus saya kompail tuh html jadi .HLP. Dengan format .hlp, saya bisa nyari topik-2 tertentu dengan mudah. Masalahnya saya lupa software yang saya gunakan untuk kompail file html tersebut.&lt;br /&gt;&lt;br /&gt;Segitu dulu deh cerita-ceritanya. Hehehe.... Bukannya menggurui, tetapi bwegi-2 pengalaman. Ada temen-2 yang punya pengalaman-2 lain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-112927196573823163?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/112927196573823163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=112927196573823163' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/112927196573823163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/112927196573823163'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2005/10/pengalaman-saya-belajar-java.html' title='Pengalaman saya belajar JAVA'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-112926915205983539</id><published>2005-10-14T11:16:00.000+07:00</published><updated>2005-10-14T12:52:32.150+07:00</updated><title type='text'>Gini nih kalo mo install Tomcat yang bisa komunikasi dengan MySQL</title><content type='html'>Seminggu yang lalu saya nginstall Tomcat dan MySQL. Saya rencananya mau bikin aplikasi web base pake JSP yang make database MySQL. Ya udah saya download tuh Tomcat 4.1 (kalo gak salah), MySQLnya juga versi 4.0 kalo nggak salah. Yang jelas dua-2nya versi &lt;i&gt;stable&lt;/i&gt; yang terakhir.&lt;br /&gt;&lt;br /&gt;Udah gitu, saya jalanin startup.bat (saya pake Windows). Bisa!!! Soalnya saya emang udah nginstall JDK dan JRE. Trus pas udah jalan Tomcatnya di port 8080, saya jalanin Internet Explorer trus browse http://localhost:8080/. Berhasil. Tampil halaman yang ada gambar dan tulisan tentang Tomcat. Itu halaman hellonya si Tomcat. Nah saya udah seneng tuh.&lt;br /&gt;&lt;br /&gt;Trus saya bikin tuh halaman-halaman JSP yang biasa. Pertama, tentu saja HelloWorld.jsp. Hehehe ... Jalan. Trus halaman-halaman yang lebih kompleks juga jalan.&lt;br /&gt;&lt;br /&gt;Nah, karena saya mau pake database, saya cari ilmu tuh buat baca database pake JAVA. Dapet tuh bacaan bacaan tentang JDBC. Nah JDBC itu ternyata butuh konektor alias driver dari masing-masing vendor DBMS yang mau kita pake. Kalo pake MySQL kita butuh mysql-connector/j. Konektor ini bisa di donlot di website MySQL (www.mysql.com). &lt;br /&gt;&lt;br /&gt;Kalo udah didonlot, kita extrak trus untuk menghubungkan ke JAVA kita bisa menggunakan &lt;b&gt;tiga&lt;/b&gt; cara. Di dokumentasi mysql-connector/j disebutkan dua cara sih, tapi sebenarnya ada tiga cara di tulisan itu. Saya pake cara ketiga, yaitu kopi file dengan ekstensi &lt;b&gt;.jar&lt;/b&gt; dari direktori hasil ekstrak-an tersebut ke direktori /lib/ext/ di bawah direktori instalasi JRE. Misalnya saya nginstall JRE di c:/JRE/ maka saya taruh file tersebut di direktori c:/JRE/lib/ext. Habis itu saya coba tuh. Tapi saya nyoba pake aplikasi desktop alias bukan JSP. Saya tulis program koneksi ke JDBC yang ada di contoh di situs-2 JAVA. Berhasil!!!!&lt;br /&gt;&lt;br /&gt;Trus, karena saya mau bikin program yang memerlukan koneksi JSP ke MySQL, saya buat script JSP yang serupa dengan program sebelumnya (program JAVA untuk komunikasi dengan MySQL yang bukan JSP). Hasilnya, nihil. Gagal. Kalau Exception ditampilkan maka akan muncul Exception seolah-olah driver database tidak ditemukan. Nah lo!!!&lt;br /&gt;&lt;br /&gt;Alhamdulillah, beberapa hari yang lalu saya baca PCPl*s, didalamnya ada tips tentang bagaimana menginstall JDK. Walaupun nggak nyambung, tetapi saya jadi curiga apakah settingan Environment Variable saya salah? Variabel yang saya cek adalah &lt;code&gt;JAVA_HOME&lt;/code&gt; dan &lt;code&gt;CLASSPATH&lt;/code&gt;. Soalnya saya merasa sudah ngeset variabel &lt;code&gt;CLASSPATH&lt;/code&gt; diisi dengan lokasi file rt.jar (standar kalau nginstall JAVA) dan path ke konektor mysql saya (kebetulan berada di c:/JRE/lib/ext/mysql-connector*.jar).&lt;br /&gt;&lt;br /&gt;Pas di cek, ternyata variabel JAVA_HOME benar, variabel CLASSPATH ternyata berisi c:/JRE/lib/ext/mysql-connector* saja (tanpa .jar). Wah ini nih masalahnya. Saya ganti deh isi variabel tersebut. Tentu saja antar nilai dalam variabel CLASSPATH itu dipisahkan dengan tanda ';'.&lt;br /&gt;&lt;br /&gt;Nah inilah ternyata cara yang kedua yang diceritakan dalam dokumentasi mysql-connector. &lt;br /&gt;&lt;br /&gt;Itulah akibatnya kalo mau pake cara paling gampang. Nah lo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-112926915205983539?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/112926915205983539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=112926915205983539' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/112926915205983539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/112926915205983539'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2005/10/gini-nih-kalo-mo-install-tomcat-yang.html' title='Gini nih kalo mo install Tomcat yang bisa komunikasi dengan MySQL'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-111269638657707379</id><published>2005-04-05T16:59:00.001+07:00</published><updated>2005-04-06T12:31:58.446+07:00</updated><title type='text'>Enkripsi Public Key</title><content type='html'>Berikut contoh pemrograman Kriptografi :&lt;br /&gt;&lt;br /&gt;&lt;table width=100%&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;/*&lt;br /&gt; * Created on Apr 5, 2005&lt;br /&gt; */&lt;br /&gt;package kripto;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.FileOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;import java.io.OutputStream;&lt;br /&gt;import java.io.Writer;&lt;br /&gt;import java.io.OutputStreamWriter;&lt;br /&gt;import java.security.cert.Certificate;&lt;br /&gt;import java.security.cert.CertificateFactory;&lt;br /&gt;import java.security.Key;&lt;br /&gt;import java.security.KeyStore;&lt;br /&gt;import java.security.KeyStoreException;&lt;br /&gt;import java.security.NoSuchAlgorithmException;&lt;br /&gt;import java.security.PrivateKey;&lt;br /&gt;import java.security.PublicKey;&lt;br /&gt;import java.security.cert.CertificateException;&lt;br /&gt;import java.nio.charset.Charset;&lt;br /&gt;import javax.crypto.Cipher;&lt;br /&gt;import javax.crypto.CipherInputStream;&lt;br /&gt;import javax.crypto.CipherOutputStream;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author bangamri&lt;br /&gt; */&lt;br /&gt;public class Asimetrik {&lt;br /&gt; private static void pembangkitanPasanganKunci(String alias, String namaDepan, String namaBelakang, String unit, String organisasi, String negara, String passwordKunci, String keyStore) {&lt;br /&gt;  try{  &lt;br /&gt;   String perintah="E://jdk1.5.0/bin/keytool -genkey -alias "+alias+" -keyalg RSA -dname \"cn="+namaDepan+" "+namaBelakang+", ou="+unit+", o="+organisasi+", c="+negara+"\" -keysize 1024 -keypass "+passwordKunci+" -keystore "+keyStore+" -storepass Ultimate10";&lt;br /&gt;   System.out.println(perintah);&lt;br /&gt;   Process proses=Runtime.getRuntime().exec(perintah);&lt;br /&gt;   proses.waitFor();&lt;br /&gt;   &lt;br /&gt;   KeyStore ks=KeyStore.getInstance("JKS");&lt;br /&gt;   FileInputStream is=new FileInputStream("KeyStore.jks");&lt;br /&gt;   ks.load(is,new String("Ultimate10").toCharArray());&lt;br /&gt;   &lt;br /&gt;   Certificate cert=ks.getCertificate(alias);&lt;br /&gt;   byte[] buffer=cert.getEncoded();&lt;br /&gt;   FileOutputStream os=new FileOutputStream(alias+".crt");&lt;br /&gt;&lt;br /&gt;   Writer wr = new OutputStreamWriter(os, Charset.forName("UTF-8"));&lt;br /&gt;   wr.write("-----BEGIN CERTIFICATE-----\n");&lt;br /&gt;   wr.write(new sun.misc.BASE64Encoder().encode(buffer));&lt;br /&gt;   wr.write("\n-----END CERTIFICATE-----\n");&lt;br /&gt;   wr.flush();&lt;br /&gt;   &lt;br /&gt;   os.close();&lt;br /&gt;   &lt;br /&gt;  }catch(IOException e){   &lt;br /&gt;  }catch(InterruptedException e){   &lt;br /&gt;  }catch(CertificateException e){&lt;br /&gt;  }catch(KeyStoreException e){   &lt;br /&gt;  }catch(NoSuchAlgorithmException e){   &lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Pembangkitan kunci berhasil.");&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private static void enkrip(String alias, String fileSertifikat, String filePlain, String fileCipher) {&lt;br /&gt;  try{&lt;br /&gt;   FileInputStream is=new FileInputStream(fileSertifikat);&lt;br /&gt;   CertificateFactory cf=CertificateFactory.getInstance("X.509");&lt;br /&gt;   Certificate cert=cf.generateCertificate(is);&lt;br /&gt;   PublicKey pub=cert.getPublicKey();&lt;br /&gt;   &lt;br /&gt;   File pla=new File(filePlain);&lt;br /&gt;   File cip=new File(fileCipher); &lt;br /&gt;   &lt;br /&gt;   Cipher enkripsi=Cipher.getInstance("RSA");&lt;br /&gt;   enkripsi.init(Cipher.ENCRYPT_MODE,pub);&lt;br /&gt;   InputStream isPla=new FileInputStream(pla);&lt;br /&gt;   OutputStream osCip=new FileOutputStream(cip);&lt;br /&gt;   osCip=new CipherOutputStream(osCip,enkripsi);&lt;br /&gt;   byte[] buffer=new byte[1024];&lt;br /&gt;   int n=0;&lt;br /&gt;   while((n=isPla.read(buffer))&gt;=0) {    &lt;br /&gt;    osCip.write(buffer,0,n);&lt;br /&gt;   }&lt;br /&gt;   osCip.close();&lt;br /&gt;   isPla.close();  &lt;br /&gt;  }catch(Exception e){&lt;br /&gt;   System.out.println(e);&lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Enkripsi sukses");&lt;br /&gt;  }  &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; private static void dekrip(String alias, String fileKeystore, String fileCipher, String filePlain) {&lt;br /&gt;  try {   &lt;br /&gt;   FileInputStream is=new FileInputStream(fileKeystore);&lt;br /&gt;   KeyStore ks=KeyStore.getInstance("JKS");&lt;br /&gt;   ks.load(is, new String("Ultimate10").toCharArray());&lt;br /&gt;   Key kunci=ks.getKey(alias,new String("Ultimate10").toCharArray());&lt;br /&gt;   PrivateKey priv=(PrivateKey)kunci;&lt;br /&gt;   &lt;br /&gt;   File fileCip=new File(fileCipher);&lt;br /&gt;   File filePla=new File(filePlain);&lt;br /&gt;   &lt;br /&gt;   Cipher dekripsi=Cipher.getInstance("RSA");&lt;br /&gt;   dekripsi.init(Cipher.DECRYPT_MODE,priv);&lt;br /&gt;   InputStream isCip=new FileInputStream(fileCip);&lt;br /&gt;   OutputStream osPla=new FileOutputStream(filePla);&lt;br /&gt;   isCip=new CipherInputStream(isCip,dekripsi);&lt;br /&gt;   byte[] buffer=new byte[1024];&lt;br /&gt;   int n=0;&lt;br /&gt;   while ((n=isCip.read(buffer))&gt;=0) {    &lt;br /&gt;    osPla.write(buffer,0,n);&lt;br /&gt;   }&lt;br /&gt;   isCip.close();&lt;br /&gt;   osPla.close();  &lt;br /&gt;  }catch(Exception e) {&lt;br /&gt;   System.out.println(e);&lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Dekripsi sukses");&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  //pembangkitanPasanganKunci("alice","Alice","Silverstone","Espionage","CIA","US","Ultimate10","KeyStore.jks");&lt;br /&gt;  enkrip("alice","alice.crt","pesan.txt","pesan.enc");&lt;br /&gt;  dekrip("alice","KeyStore.jks","pesan.enc","pesan2.txt");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Silakan dipelajari dan digunakan untuk kepentingan yang baik.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-111269638657707379?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/111269638657707379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=111269638657707379' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/111269638657707379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/111269638657707379'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2005/04/enkripsi-public-key.html' title='Enkripsi Public Key'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-111269579804741332</id><published>2005-04-05T16:59:00.000+07:00</published><updated>2005-04-05T17:09:58.050+07:00</updated><title type='text'></title><content type='html'>Berikut contoh pemrograman Kriptografi :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/*&lt;br /&gt; * Created on Apr 5, 2005&lt;br /&gt; */&lt;br /&gt;package kripto;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.FileOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;import java.io.OutputStream;&lt;br /&gt;import java.io.Writer;&lt;br /&gt;import java.io.OutputStreamWriter;&lt;br /&gt;import java.security.cert.Certificate;&lt;br /&gt;import java.security.cert.CertificateFactory;&lt;br /&gt;import java.security.Key;&lt;br /&gt;import java.security.KeyStore;&lt;br /&gt;import java.security.KeyStoreException;&lt;br /&gt;import java.security.NoSuchAlgorithmException;&lt;br /&gt;import java.security.PrivateKey;&lt;br /&gt;import java.security.PublicKey;&lt;br /&gt;import java.security.cert.CertificateException;&lt;br /&gt;import java.nio.charset.Charset;&lt;br /&gt;import javax.crypto.Cipher;&lt;br /&gt;import javax.crypto.CipherInputStream;&lt;br /&gt;import javax.crypto.CipherOutputStream;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author bangamri&lt;br /&gt; */&lt;br /&gt;public class Asimetrik {&lt;br /&gt; private static void pembangkitanPasanganKunci(String alias, String namaDepan, String namaBelakang, String unit, String organisasi, String negara, String passwordKunci, String keyStore) {&lt;br /&gt;  try{  &lt;br /&gt;   String perintah="E://jdk1.5.0/bin/keytool -genkey -alias "+alias+" -keyalg RSA -dname \"cn="+namaDepan+" "+namaBelakang+", ou="+unit+", o="+organisasi+", c="+negara+"\" -keysize 1024 -keypass "+passwordKunci+" -keystore "+keyStore+" -storepass Ultimate10";&lt;br /&gt;   System.out.println(perintah);&lt;br /&gt;   Process proses=Runtime.getRuntime().exec(perintah);&lt;br /&gt;   proses.waitFor();&lt;br /&gt;   &lt;br /&gt;   KeyStore ks=KeyStore.getInstance("JKS");&lt;br /&gt;   FileInputStream is=new FileInputStream("KeyStore.jks");&lt;br /&gt;   ks.load(is,new String("Ultimate10").toCharArray());&lt;br /&gt;   &lt;br /&gt;   Certificate cert=ks.getCertificate(alias);&lt;br /&gt;   byte[] buffer=cert.getEncoded();&lt;br /&gt;   FileOutputStream os=new FileOutputStream(alias+".crt");&lt;br /&gt;&lt;br /&gt;   Writer wr = new OutputStreamWriter(os, Charset.forName("UTF-8"));&lt;br /&gt;   wr.write("-----BEGIN CERTIFICATE-----\n");&lt;br /&gt;   wr.write(new sun.misc.BASE64Encoder().encode(buffer));&lt;br /&gt;   wr.write("\n-----END CERTIFICATE-----\n");&lt;br /&gt;   wr.flush();&lt;br /&gt;   &lt;br /&gt;   os.close();&lt;br /&gt;   &lt;br /&gt;  }catch(IOException e){   &lt;br /&gt;  }catch(InterruptedException e){   &lt;br /&gt;  }catch(CertificateException e){&lt;br /&gt;  }catch(KeyStoreException e){   &lt;br /&gt;  }catch(NoSuchAlgorithmException e){   &lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Pembangkitan kunci berhasil.");&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private static void enkrip(String alias, String fileSertifikat, String filePlain, String fileCipher) {&lt;br /&gt;  try{&lt;br /&gt;   FileInputStream is=new FileInputStream(fileSertifikat);&lt;br /&gt;   CertificateFactory cf=CertificateFactory.getInstance("X.509");&lt;br /&gt;   Certificate cert=cf.generateCertificate(is);&lt;br /&gt;   PublicKey pub=cert.getPublicKey();&lt;br /&gt;   &lt;br /&gt;   File pla=new File(filePlain);&lt;br /&gt;   File cip=new File(fileCipher); &lt;br /&gt;   &lt;br /&gt;   Cipher enkripsi=Cipher.getInstance("RSA");&lt;br /&gt;   enkripsi.init(Cipher.ENCRYPT_MODE,pub);&lt;br /&gt;   InputStream isPla=new FileInputStream(pla);&lt;br /&gt;   OutputStream osCip=new FileOutputStream(cip);&lt;br /&gt;   osCip=new CipherOutputStream(osCip,enkripsi);&lt;br /&gt;   byte[] buffer=new byte[1024];&lt;br /&gt;   int n=0;&lt;br /&gt;   while((n=isPla.read(buffer))&gt;=0) {    &lt;br /&gt;    osCip.write(buffer,0,n);&lt;br /&gt;   }&lt;br /&gt;   osCip.close();&lt;br /&gt;   isPla.close();  &lt;br /&gt;  }catch(Exception e){&lt;br /&gt;   System.out.println(e);&lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Enkripsi sukses");&lt;br /&gt;  }  &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; private static void dekrip(String alias, String fileKeystore, String fileCipher, String filePlain) {&lt;br /&gt;  try {   &lt;br /&gt;   FileInputStream is=new FileInputStream(fileKeystore);&lt;br /&gt;   KeyStore ks=KeyStore.getInstance("JKS");&lt;br /&gt;   ks.load(is, new String("Ultimate10").toCharArray());&lt;br /&gt;   Key kunci=ks.getKey(alias,new String("Ultimate10").toCharArray());&lt;br /&gt;   PrivateKey priv=(PrivateKey)kunci;&lt;br /&gt;   &lt;br /&gt;   File fileCip=new File(fileCipher);&lt;br /&gt;   File filePla=new File(filePlain);&lt;br /&gt;   &lt;br /&gt;   Cipher dekripsi=Cipher.getInstance("RSA");&lt;br /&gt;   dekripsi.init(Cipher.DECRYPT_MODE,priv);&lt;br /&gt;   InputStream isCip=new FileInputStream(fileCip);&lt;br /&gt;   OutputStream osPla=new FileOutputStream(filePla);&lt;br /&gt;   isCip=new CipherInputStream(isCip,dekripsi);&lt;br /&gt;   byte[] buffer=new byte[1024];&lt;br /&gt;   int n=0;&lt;br /&gt;   while ((n=isCip.read(buffer))&gt;=0) {    &lt;br /&gt;    osPla.write(buffer,0,n);&lt;br /&gt;   }&lt;br /&gt;   isCip.close();&lt;br /&gt;   osPla.close();  &lt;br /&gt;  }catch(Exception e) {&lt;br /&gt;   System.out.println(e);&lt;br /&gt;  }finally{&lt;br /&gt;   System.out.println("Dekripsi sukses");&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  //pembangkitanPasanganKunci("alice","Alice","Silverstone","Espionage","CIA","US","Ultimate10","KeyStore.jks");&lt;br /&gt;  enkrip("alice","alice.crt","pesan.txt","pesan.enc");&lt;br /&gt;  dekrip("alice","KeyStore.jks","pesan.enc","pesan2.txt");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Silakan dipelajari dan digunakan untuk kepentingan yang baik.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-111269579804741332?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/111269579804741332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=111269579804741332' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/111269579804741332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/111269579804741332'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2005/04/berikut-contoh-pemrograman-kriptografi.html' title=''/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109903563014967014</id><published>2004-10-29T10:52:00.000+07:00</published><updated>2004-11-01T10:40:58.856+07:00</updated><title type='text'>Anatomi Program</title><content type='html'>Program dalam Java harus mengikuti aturan penulisan tertentu.&lt;br /&gt;Perhatikan &lt;a href="http://www.geocities.com/wongjavasakti/contohProgram/HaloDunia.java"&gt;HaloDunia.java&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;1. Program ditulis dalam bentuk Class. Bila kita ingin menulis program HaloDunia, berarti kita membuat class HaloDunia.&lt;br /&gt;2. Nama file source harus sama dengan nama Class. Class HaloDunia ditulis dalam file HaloDunia.java.&lt;br /&gt;3. Penulisan Class :&lt;br /&gt;&lt;pre&gt;public class Sepeda {        &lt;br /&gt;    static int jumlahRoda;    \\  &lt;br /&gt;    static int jumlahPedal;   \\  variabel   &lt;br /&gt;    static int jumlahSadel;   \\  member&lt;br /&gt;    static int gigi;          \\  atau&lt;br /&gt;    static int jumlahGigi;    \\  atribut &lt;br /&gt;    static double kecepatan;  \\  &lt;br /&gt;&lt;br /&gt;    // method&lt;br /&gt;    private static void pindahGigi(int gigiTujuan) {&lt;br /&gt;       gigi=gigiTujuan;&lt;br /&gt;    }    &lt;br /&gt;    private static void tambahKecepatan(double &lt;br /&gt;    percepatan, double waktu) {&lt;br /&gt;       kecepatan+=percepatan*waktu;&lt;br /&gt;    }&lt;br /&gt;    public static void main(String args[]) {&lt;br /&gt;        System.out.println("Saat ini gigi : "+gigi);&lt;br /&gt;        System.out.println("Kecepatan saat ini : "+&lt;br /&gt;        kecepatan);&lt;br /&gt;    }    &lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109903563014967014?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109903563014967014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109903563014967014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109903563014967014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109903563014967014'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/anatomi-program.html' title='Anatomi Program'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109875605925032634</id><published>2004-10-26T07:51:00.000+07:00</published><updated>2004-10-26T09:00:59.250+07:00</updated><title type='text'>Struktur Kontrol</title><content type='html'>Dalam Java ada 4 macam statement pengontrolan:&lt;br /&gt;&lt;pre&gt;1. looping                do-while, while, for&lt;br /&gt;2. pengambilan keputusan  if-else, switch-case&lt;br /&gt;3. exception handling     try-catch-finally, throw&lt;br /&gt;4. percabangan            break, continue, label:,&lt;br /&gt;                          return&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;LOOPING&lt;/b&gt;&lt;br /&gt;&lt;b&gt;while&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;while (ekspresi) {&lt;br /&gt;   statement&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;do-while&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;do {&lt;br /&gt;   statement&lt;br /&gt;} while (ekspresi)&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;for&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;for (inisialisasi; terminasi; incremen) {&lt;br /&gt;   statement&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PENGAMBILAN KEPUTUSAN&lt;/b&gt;&lt;br /&gt;&lt;b&gt;if-else&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;if (ekspresi) {&lt;br /&gt;   statement&lt;br /&gt;} else {&lt;br /&gt;   statement&lt;br /&gt;}&lt;/pre&gt;&lt;i&gt;else bisa sebanyak yang dibutuhkan.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;switch-case&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;switch (int ekspresi) {&lt;br /&gt;   case 0: statement; break;&lt;br /&gt;   case 1: statement; break;&lt;br /&gt;   ...&lt;br /&gt;   default: statement;&lt;br /&gt;}&lt;/pre&gt;&lt;i&gt;ekspresi yang digunakan harus integer&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EXCEPTION HANDLING&lt;/b&gt;&lt;br /&gt;&lt;b&gt;try-catch-finally&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;try {&lt;br /&gt;    statement&lt;br /&gt;} catch (tipeException nama) {&lt;br /&gt;    statement&lt;br /&gt;} finally {&lt;br /&gt;    statement&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PERCABANGAN&lt;/b&gt;&lt;br /&gt;&lt;b&gt;break&lt;/b&gt;&lt;br /&gt;&lt;i&gt;break&lt;/i&gt; digunakan untuk menghentikan switch, for, while, atau do-while. &lt;br /&gt;&lt;i&gt;break label&lt;/i&gt; digunakan untuk menghentikan kumpulan statement yang ditandai dengan suatu label.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;continue&lt;/b&gt;&lt;br /&gt;&lt;i&gt;continue&lt;/i&gt; digunakan untuk men-skip iterasi pada suatu looping.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;return&lt;/b&gt;&lt;br /&gt;&lt;i&gt;return&lt;/i&gt; digunakan untuk keluar dari method. return diikuti suatu nilai akan memberikan output bagi method, nilai yang dikeluarkan harus match dengan tipe method. return tanpa diikuti suatu nilai khusus untuk method bertipe void.&lt;br /&gt;&lt;br /&gt;Contoh dapat dilihat pada &lt;a href="http://www.geocities.com/wongjavasakti/contohProgram/strukturKontrol.java"&gt;http://www.geocities.com/wongjavasakti/contohProgram/strukturKontrol.java&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109875605925032634?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109875605925032634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109875605925032634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109875605925032634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109875605925032634'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/struktur-kontrol.html' title='Struktur Kontrol'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109841655618427423</id><published>2004-10-22T10:29:00.003+07:00</published><updated>2004-10-25T13:05:07.983+07:00</updated><title type='text'>Input Keyboard pada Aplikasi Konsole</title><content type='html'>Bagaimana membuat program untuk :&lt;br /&gt;&lt;br /&gt;Menghitung jumlah pembelian pada sistem penjualan susu dengan tampilan sebagai berikut :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Masukan kode susu(1-3) : 2&lt;br /&gt;Masukkan jumlah pembelian : 5&lt;br /&gt;Masukkan ukuran (Besar=1|Sedang=2|Kecil=3) : 1&lt;br /&gt;&lt;br /&gt;Susu Indomilk&lt;br /&gt;Harga susu Rp. 4000,-&lt;br /&gt;Jumlah pembelian Rp. 20000,-&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;daftar kode dan harga:&lt;br /&gt;Kode=1 nama produk=Dancow&lt;br /&gt;- Besar : Rp. 10000,-&lt;br /&gt;- Sedang : Rp. 4250,-&lt;br /&gt;- Kecil : Rp. 2100,-&lt;br /&gt;Kode=2 nama produk=Indomilk&lt;br /&gt;- Besar : Rp. 8500,-&lt;br /&gt;- Sedang : Rp. 4000,-&lt;br /&gt;- Kecil : Rp. 2025,-&lt;br /&gt;Kode=3 nama produk=Sustacal&lt;br /&gt;- Besar : Rp. 17000,-&lt;br /&gt;- Sedang : Rp. 14500,-&lt;br /&gt;- Kecil : Rp. 8300,-&lt;br /&gt;&lt;br /&gt;Jawab :&lt;br /&gt;&lt;pre&gt;import java.io.*;&lt;br /&gt;public class InputKeyboard {&lt;br /&gt;  public static void main(String args[]) throws IOException {&lt;br /&gt;    int kode, jumlah, harga, hargasusu[][]={{10000,4250,2100},{8500,4000,2025},{17000,14500,8300}};&lt;br /&gt;    String input, ukuran, susu[]={"Dancow","Indomilk","Sustacal"}; &lt;br /&gt;    BufferedReader br=new BufferedReader (new InputStreamReader(System.in));&lt;br /&gt;    System.out.println();&lt;br /&gt;    System.out.println("Program menghitung Susu eh ... Penjualan Susu");&lt;br /&gt;    System.out.println("*********************************************");&lt;br /&gt;    System.out.print("Masukkan kode susu: ");&lt;br /&gt;    input=br.readLine();&lt;br /&gt;    kode=Integer.parseInt(input);&lt;br /&gt;    System.out.print("Masukkan jumlah pembelian: ");&lt;br /&gt;    input=br.readLine();&lt;br /&gt;    jumlah=Integer.parseInt(input);&lt;br /&gt;    System.out.print("Masukkan ukuran [besar|sedang|kecil]: ");&lt;br /&gt;    ukuran=br.readLine();&lt;br /&gt;    System.out.println("Susu "+susu[kode-1]); &lt;br /&gt;    if (ukuran.compareTo("besar")==0) harga=hargasusu[kode-1][0];&lt;br /&gt;    else if (ukuran.compareTo("sedang")==0) harga=hargasusu[kode-1][1];&lt;br /&gt;    else if (ukuran.compareTo("kecil")==0) harga=hargasusu[kode-1][2];&lt;br /&gt;    else harga=0; &lt;br /&gt;    System.out.println("Harga satuan Rp. "+harga+",-");&lt;br /&gt;    System.out.println("Uang yang harus dibayarkan: Rp. "+harga*jumlah+",-");&lt;br /&gt;    System.out.println();&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Jawaban di atas adalah aplikasi konsole. Setelah tahu bagaimana menginput melalui keyboard ada baiknya mengerjakan praktikum yang ada di &lt;a href="http://www.echo.or.id"&gt;echo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Nb: Sebaiknya source di atas tidak dikerjakan di NetBeans karena ... (cari tahu sendiri ya ...). Kalo menggunakan Linux, ketik di vi atau Quanta, kemudian :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;WongJavaSakti# javac InputKeyboard.java&lt;br /&gt;WongJavaSakti# java InputKeyboard&lt;/b&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109841655618427423?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109841655618427423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109841655618427423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109841655618427423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109841655618427423'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/input-keyboard-pada-aplikasi-konsole.html' title='Input Keyboard pada Aplikasi Konsole'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109833388073098453</id><published>2004-10-21T10:24:00.000+07:00</published><updated>2004-10-21T11:44:40.730+07:00</updated><title type='text'>Operator</title><content type='html'>&lt;b&gt;ARITMETIKA&lt;/b&gt;&lt;br /&gt;Operator Aritmetika di Java :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  +  penjumlahan&lt;br /&gt;  -  pengurangan&lt;br /&gt;  *  perkalian&lt;br /&gt;  /  pembagian&lt;br /&gt;  %  modulus&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;RELASI DAN KONDISI&lt;/b&gt;&lt;br /&gt;Operator Relasi :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  &gt;  lebih dari&lt;br /&gt;  &gt;=  lebih dari dan sama&lt;br /&gt;  &lt;  kurang dari&lt;br /&gt;  &lt;=  kurang dari dan sama dengan&lt;br /&gt;  ==  sama dengan&lt;br /&gt;  !=  tidak sama dengan&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;Operator Kondisi :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  op1 &amp;&amp;  op2  true jika op1 dan op2 true, tidak selalu&lt;br /&gt;               ngecek op2&lt;br /&gt;  op1 ||  op2  true jika salah satu op1 atau op2 true,&lt;br /&gt;               tidak selalu ngecek op2&lt;br /&gt;  ! op         true jika op bernilai false&lt;br /&gt;  op1 &amp; op2    true jika op1 dan op2 true&lt;br /&gt;  op1 | op2    true jika salah satu op1 atau op2 true&lt;br /&gt;  op1 ^ op2    jika hanya salah satu bernilai true&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;GESERAN &amp; LOGIKA&lt;/b&gt;&lt;br /&gt;Operator Geseran berguna untuk operasi bit, misalnya kita punya bilangan 65, dalam bit 1000001 kalo di geser ke kiri jadi 0000010 atau 10 dalam biner. Dalam desimal menjadi 2.&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  op1 &gt;&gt; op2   op1 digeser ke kanan sebanyak op2 bit&lt;br /&gt;  op1 &lt;&lt; op2   op1 digeser ke kkiri sebanyak op2 bit&lt;br /&gt;  op1 &gt;&gt;&gt; op2   op1 digeser ke kanan sebanyak op2 bit (untuk unsigned)&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Operator Logika :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  op1 &amp; op2   and&lt;br /&gt;  op1 | op2   or&lt;br /&gt;  op1 ^ op2   xor&lt;br /&gt;  ~op         not&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ASSIGNMENT&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  +=   op1 += op2   op1 = op1 + op2&lt;br /&gt;  -=   op1 -= op2   op1 = op1 - op2&lt;br /&gt;  *=   op1 *= op2   op1 = op1 * op2&lt;br /&gt;  /=   op1 /= op2   op1 = op1 / op2&lt;br /&gt;  %=   op1 %= op2   op1 = op1 % op2&lt;br /&gt;  &amp;=   op1 &amp;= op2   op1 = op1 &amp; op2&lt;br /&gt;  |=   op1 |= op2   op1 = op1 | op2&lt;br /&gt;  &lt;&lt;=  op1 &lt;&lt;= op2   op1 = op1 &lt;&lt; op2&lt;br /&gt;  &gt;&gt;=  op1 &gt;&gt;= op2   op1 = op1 &gt;&gt; op2&lt;br /&gt;  &gt;&gt;&gt;= op1 &gt;&gt;= op2   op1 = op1 &gt;&gt;&gt; op2&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OPERATOR LAIN&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  ?:  shortcut if ... else ...&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;Pernyataan kondisi seperti :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  if (kondisi) pernyataan1 else pernyataan2;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;dapat ditulis :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;(kondisi)?pernyataan1:pernyataan2;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  []&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;menyatakan array, misalnya&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  float[] arrayOfFloats = new float[10];&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  .&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;digunakan untuk mengakses instance member dari suatu objek atau class member.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  (tipeData)&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;digunakan untuk mengkonversi suatu nilai ke tipeData tertentu.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;  new&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;digunakan untuk mendeklarasikan objek atau array.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109833388073098453?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109833388073098453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109833388073098453' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109833388073098453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109833388073098453'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/operator.html' title='Operator'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109826071109531563</id><published>2004-10-20T15:23:00.000+07:00</published><updated>2004-10-20T15:38:36.233+07:00</updated><title type='text'>Variabel</title><content type='html'>&lt;b&gt;TIPE DATA&lt;/b&gt;&lt;br /&gt;Java punya dua tipe data: &lt;br /&gt;1) primitif&lt;br /&gt;Tipe ini hanya memiliki satu nilai dan memiliki format angka, karakter atau boolean. Antara lain:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Tipe       Ukuran                      Notasi&lt;br /&gt;&lt;b&gt;Integer&lt;/b&gt;&lt;br /&gt;byte       8 bit komplemen 2&lt;br /&gt;short      16 bit komplemen 2&lt;br /&gt;int        32 bit komplemen 2          178&lt;br /&gt;long       64 bit komplemen 2          3288L&lt;br /&gt;&lt;b&gt;real&lt;/b&gt;&lt;br /&gt;float      32 bit                      3.278F&lt;br /&gt;double     32 bit                      3.278 atau &lt;br /&gt;                                       3.278D atau &lt;br /&gt;                                       2.043e3&lt;br /&gt;&lt;b&gt;tipe lain&lt;/b&gt;&lt;br /&gt;char       16 bit karakter Unicode     'c'&lt;br /&gt;boolean    true atau false             false&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;2) reference&lt;br /&gt;Array, class dan interface adalah termasuk tipe reference. Tentang ini akan kita bicarakan nanti.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NAMA VARIABEL&lt;/b&gt;&lt;br /&gt;Menurut konvensi, variabel diberi nama dengan diawali huruf kecil, nama Class diawali huruf besar. Jika variabel terdiri atas lebih dari satu kata, digabung dengan huruf pertama pada kata kedua dan seterusnya huruf besar, misalnya sepedaGunung.&lt;br /&gt;&lt;br /&gt;Selebihnya seperti kebanyakan bahasa pemrograman lain.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SCOPE VARIABEL&lt;/b&gt;&lt;br /&gt;Scope Variabel pada Java meliputi :&lt;br /&gt;- member variabel &lt;br /&gt;- local variabel &lt;br /&gt;- method parameter &lt;br /&gt;- exception-handler parameter &lt;br /&gt;&lt;br /&gt;Ilustrasi :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;class classKu {&lt;br /&gt;   ...&lt;br /&gt;   Deklarasi Variabel Member&lt;br /&gt;   ...&lt;br /&gt;   public void pindahGigi(Method Parameter) {&lt;br /&gt;       Deklarasi variabel lokal&lt;br /&gt;       ...&lt;br /&gt;       catch (Parameter Exception Handler) {&lt;br /&gt;          ...   &lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;INISIALISASI VARIABEL&lt;/b&gt;&lt;br /&gt;Variabel dapat diinisialisasi seperti ini:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;   char karakter = 'S';&lt;br /&gt;   int bilangan = 178;&lt;br /&gt;   boolean benar = true;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;KONSTANTA&lt;/b&gt;&lt;br /&gt;Pada java konstanta adalah juga variabel, namun sebelum pendefinisian &lt;br /&gt;&lt;br /&gt;tipe datanya, didahului kata &lt;b&gt;final&lt;/b&gt;. Contoh :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;   final char karakter = 'S';&lt;br /&gt;   final int bilangan = 178;&lt;br /&gt;   final boolean benar = true;&lt;/b&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109826071109531563?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109826071109531563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109826071109531563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109826071109531563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109826071109531563'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/variabel.html' title='Variabel'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109825594498468052</id><published>2004-10-20T11:35:00.000+07:00</published><updated>2004-10-20T14:05:44.983+07:00</updated><title type='text'>OOP?</title><content type='html'>Objek adalah kumpulan variabel dan method(fungsi) yang saling berkaitan. Pernah menggunakan &lt;b&gt;struct&lt;/b&gt; dalam C atau &lt;b&gt;record&lt;/b&gt; dalam Pascal/Delphi? Dalam struct dan record, kita bisa mengumpulkan tipe-tipe variabel yang berlainan. Nah, objek adalah perkembangan dari struct (kira-2 begitu). Dalam objek, kita bisa mengumpulkan variabel-2 dengan tipe yang boleh berbeda-2 dan fungsi-2 yang disebut &lt;b&gt;method&lt;/b&gt;. Objek sebenarnya meniru konsep alam. Ilustrasinya seperti ini. Sebutlah suatu objek, misalnya anjing. Anjing memiliki kondisi: warna, tinggi, lapar, sakit, dll. Selain itu anjing juga memiliki hal-hal yang biasa dilakukan, seperti: menggonggong, menggigit, goyang ekor, dll. Nah kondisi pada alam (misal anjing) ditiru dengan &lt;b&gt;Variabel&lt;/b&gt; sedangkan hal-hal yang biasa dilakukan ditiru dengan &lt;b&gt;Method&lt;/b&gt;. Nah penggabungan antara Variabel dan Method itulah yang disebut Enkapsulasi.&lt;br /&gt;&lt;br /&gt;Hal penting berikutnya dalam OOP adalah &lt;b&gt;Message&lt;/b&gt;. Antara objek satu dengan objek yang lain berkomunikasi melalui Message. Ketika objek A ingin objek B melakukan sesuatu, maka objek A mengirim Message ke objek B. Contoh: Misalnya objek A adalah Y3dips. Objek B adalah Sepeda. Jika Y3dips ingin memindahkan gigi sepedanya ke gigi 5, maka Y3dips akan mengirim Message ke Sepeda (diketahui sepeda memiliki kemampuan/Method pindahGigi) berbunyi pindahGigi(5). Lengkapnya ditulis : &lt;b&gt;Sepeda.pindahGigi(5)&lt;/b&gt;. Message itu akan dilaksanakan oleh Sepeda. Kemampuan pindahGigi memerlukan informasi gigi yang diinginkan, dalam hal ini 5. Maka sekarang Variabel (nantinya kita sebut atribut) gigi bernilai 5.&lt;br /&gt;&lt;br /&gt;Bicara tentang Class, kita bayangkan dalam contoh sebelumnya bahwa Sepeda milik Y3dips adalah sepeda gunung (kita sebut SepedaGunung). Tentunya selain SepedaGunung terdapat sepeda lain seperti SepedaOnta, SepedaTandem, dll. Tapi yang jelas, jenis-jenis tadi termasuk Sepeda. Jadi SepedaGunung adalah &lt;b&gt;Instance&lt;/b&gt; dari Sepeda. SepedaGunung memiliki atribut-atribut(seperti gigi, roda, panjang, pedal, dll) juga kemampuan(seperti pindahGigi(), belok(), dll) Sepeda. Ada perbedaan antara Object dan Class. Class adalah blue print atau rancangan dari Object. Jadi dengan satu Class, kita dapat membuat berapapun Object.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inheritance&lt;/b&gt; adalah pewarisan sifat. Sebuah &lt;b&gt;Subclass&lt;/b&gt; akan mewarisi sifat dari &lt;b&gt;Superclass&lt;/b&gt;-nya. Dalam contoh di atas, SepedaGunung akan memiliki atribut gigi, roda dan panjang dan juga kemampuannya yaitu pindahGigi dan belok. Tetapi Subclass tidak harus hanya memiliki sifat dan kemampuan yang sama persis dengan Superclassnya, tetapi biasanya ditambahkan sifat dan kemampuan lain yang membedakannya dengan Subclass lain dengan Superclass yang sama. Itulah yang membuat SepedaGunung dan SepedaOnta berbeda. Subclass juga dapat melakukan &lt;b&gt;Override&lt;/b&gt; terhadap sifat dan kemampuan warisan Superclassnya. Misalnya yang dilakukan oleh SepedaTandem. SepedaTandem memiliki lebih dari dua roda dan juga pedal sehingga perlu memiliki kemampuan untuk mengaturnya. Sehingga suatu kemampuan warisan dari class Sepeda dapat diganti atau ditambahkan.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Interface&lt;/b&gt; membuat satu class dapat berinteraksi dengan class lain yang benar-benar berbeda. Misalnya dalam Show Room yang menjual Mobil, Motor juga Sepeda (ini misalnya lho). Tentu saja ManajerShowRoom harus bisa mengatur sepeda-sepeda bersama dengan Mobil-2 dan Motor-2. Masalahnya adalah perbedaan class yang sangat mencolok. Interface mengatasinya dengan cara:&lt;br /&gt;1) mencari persamaan antara class-2 yang berbeda tanpa memaksa class tersebut saling berhubungan.&lt;br /&gt;2) membuat Method yang ingin deterapkan pada class-class.&lt;br /&gt;&lt;br /&gt;Konsep-konsep OOP di atas ada pada Java. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109825594498468052?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109825594498468052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109825594498468052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109825594498468052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109825594498468052'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/oop.html' title='OOP?'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109824581947394860</id><published>2004-10-20T10:36:00.000+07:00</published><updated>2004-10-21T09:59:58.516+07:00</updated><title type='text'>Ngapain Aja Biar Bisa Koding Java?</title><content type='html'>Boleh jadi ada yang berminat banget belajar bahasa Java, tapi nggak tahu mulai dari mana. Saya dulu juga begitu. Tapi sekarang sudah nggak lagi. Singkatnya begini langkahnya :&lt;br /&gt;&lt;br /&gt;1) Download SDK, &lt;a href="http://java.sun.com/j2se/1.4/download.html"&gt;klik di sini&lt;/a&gt;. Tentu saja setelah didownload harus diinstall. Tetapi sebelumnya &lt;a href="http://java.sun.com/j2se/1.4/install-windows.html"&gt;baca ini&lt;/a&gt;. Inilah instruksi instalasinya untuk windows. Kalo untuk Linux, install dari distro aja.&lt;br /&gt;&lt;br /&gt;2) Koding pake teks editor atau IDE (seperti NetBeans, ini yang saya sarankan, bisa juga pake notepad, kalo sanggup :) kalo di Linux pake Quanta bisa, tapi setting dulu highlight-nya ke Java). Kalo kita menginstall NetBeans, NetBeans otomatis akan mencari sendiri SDK yang diperlukan olehnya (SDK ini compiler dan linker-nya, begitu lah kira-kira). NetBeans sendiri hanyalah IDE, sekedar alat bantu pemrograman. Walaupun gratis, NetBeans sudah bisa digunakan untuk koding aplikasi GUI/Window secara mudah.&lt;br /&gt;&lt;br /&gt;Seperti biasa dalam pelajaran bahasa pemrograman selalu ada contoh program pertama Hello World. Tapi kali ini saya Indonesiakan menjadi Halo Dunia. Langkahnya kalo pake &lt;a href="http://www.netbeans.org/downloads/index.html"&gt;NetBeans&lt;/a&gt; :&lt;br /&gt;1) Buka NetBeans, Klik pada menu : File|New Project|.&lt;br /&gt;2) Pada Categories klik Standard, pada Projects klik Java Application. OK.&lt;br /&gt;3) Beri nama projek 'Tutorial'. Finish.&lt;br /&gt;4) Secara otomatis NetBeans akan mambuatkan Main.java. Tetapi kita tidak akan menggunakan Main.java, tetapi kita buat file baru dengan mengklik File|New File.&lt;br /&gt;5) Pada Categories pilih Java Classes, dan pada File Types pilih Java Class, beri nama Class Name : &lt;b&gt;HaloDunia&lt;/b&gt;. Hati-hati, penamaan file harus sama dengan nama class yang dideklarasikan dalam program. Pada contoh, nama file adalah HaloDunia.java dan ini kodenya :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;&lt;br /&gt;public class HaloDunia {        &lt;br /&gt;    public static void main(String args[]) {&lt;br /&gt;        System.out.println("Halo Dunia");&lt;br /&gt;    }    &lt;br /&gt;}&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Kalo pake Linux, pake Quanta aja, kodingnya sama, yang beda kompail &amp; jalaninnya. Kompail &amp; jalaninnya (kalo Java sudah diinstal bersama distro) :&lt;br /&gt;&lt;pre&gt;&lt;b&gt;   WongJava# javac HaloDunia.java&lt;br /&gt;   WongJava# java HaloDunia&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Perhatikan nama class adalah &lt;b&gt;HaloDunia&lt;/b&gt;. Kemudian terdapat &lt;i&gt;public static void main(String args[])&lt;/i&gt;. Jika anda pernah koding dengan C atau C++, maka ini sama dengan &lt;i&gt;void main()&lt;/i&gt; alias fungsi utama. Sama sekali beda dengan bahasa pemrograman lain bukan? Begitulah konsep Object Oriented Programming (akan dijelaskan pada kesempatan berikutnya).&lt;br /&gt;&lt;br /&gt;6) Setelah mengetikkan kode di atas, kita akan mengkompailnya, dengan NetBeans caranya : lihat Window sebelah kiri tab Projects. Akan terdapat gambar cangkir diikuti Tutorial. Klik Source Packages|tutorial|HaloDunia.java. Klik kanan, pilih Compile File. Maka HaloDunia.class akan terbuat (tidak tampak), ini adalah file binari untuk program kita, untuk yang terbiasa di windows, ini .exe-nya, begitulah kira-kira. Klik kanan kembali pilih Run File. Maka hasilnya akan tampak di window bawah (Output) yang berwarna putih, seperti ini :&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;deps-jar:&lt;br /&gt;compile-single:&lt;br /&gt;run-single:&lt;br /&gt;&lt;b&gt;Halo Dunia&lt;/b&gt;&lt;br /&gt;BUILD SUCCESSFUL (total time: 0 seconds)&lt;br /&gt;&lt;br /&gt;Sampai di sini, kita boleh bersyukur bahwa kita sudah bisa disebut Java Programmer, karena kita sudah pernah membuat program Java. :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109824581947394860?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109824581947394860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109824581947394860' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109824581947394860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109824581947394860'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/ngapain-aja-biar-bisa-koding-java.html' title='Ngapain Aja Biar Bisa Koding Java?'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8780920.post-109816670964682282</id><published>2004-10-19T11:09:00.001+07:00</published><updated>2004-10-20T09:39:12.996+07:00</updated><title type='text'>Muqadimah</title><content type='html'>Assalamu 'alaikum,&lt;br /&gt;&lt;br /&gt;Ceritanya, sebulan yang lalu saya ikut seminar gratis tentang Java di Shangri-La. Trus di akhir seminar ada Java Olympiad alias tes buat mengetahui sampai di mana kemampuan Java kita. Ternyata saya cuma dapat nilai 40%. Artinya dari 20 soal, saya cuma bener 8. Gila nggak? Padahal saya udah masukin nama yang sebenarnya, kan jadi ketahuan begonya. Dan hasilnya diumumkan, karena ada hadiahnya buat 5 besar. Tadinya saya juga berminat pengin hadiah HP Nokia Java enabled. Tapi mengingat hasil tes hanya 40%, sementara ada yang dapat 75% walhasil saya diam-diam menyelinap dan pulang :).&lt;br /&gt;&lt;br /&gt;Karena penasaran, saya download deh situs Sun Microsystem yang ada tutorialnya, trus aku coba di konsol Linux. Alhamdulillah, dari pelajaran tutorial, saya mulai ngerti gimana membuat program tampilan konsole. Trus saya juga download jdk-manualnya yang berformat CHM sehingga enak dipake di Windows. Nah aku bingung, gimana koding di Windows dan mengkompailnya. Saya cari di situs SUN, alhamdulillah dapat link ke NetBeans (IDE yang sekarang saya pake untuk koding). Agak berat memang, tapi karena RAM saya 512 yah belum ada masalah kecepatan.&lt;br /&gt;&lt;br /&gt;Nah setelah bisa koding, kompail dan jalanin program Java di Windows, saya jadi inget, gimana dulu saya diajakin belajar Java sama temen, dan ternyata susah banget nerimanya, karena waktu itu pikiran saya masih '(pemrograman) terstruktur' banget. Saya pikir pasti ada juga lah temen yang merasa begitu. Makanya blog ini saya buat untuk kita belajar bersama. Ya nggak?&lt;br /&gt;&lt;br /&gt;Saya akan coba bagi e-book yang dah saya download, tutorial bahasa Indonesia baik secara Teoritis maupun praktis. Tapi sepertinya yang praktis lebih menarik :P. Bagi rekan-rekan yang mau nyumbang tulisan, bisa dikirimkan ke &lt;b&gt;wongjavasakti@yahoo.com&lt;/b&gt; dalam bentuk file txt. Mungkin saja blog ini menjadi tutorial praktis yang pertama untuk bahasa pemrograman Java dalam bahasa Indonesia (soalnya yang tidak praktis sudah ada di IlmuKomputer.net). &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8780920-109816670964682282?l=javatingkir.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javatingkir.blogspot.com/feeds/109816670964682282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8780920&amp;postID=109816670964682282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109816670964682282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8780920/posts/default/109816670964682282'/><link rel='alternate' type='text/html' href='http://javatingkir.blogspot.com/2004/10/muqadimah.html' title='Muqadimah'/><author><name>Wong Java Sakti</name><uri>http://www.blogger.com/profile/01698011476816631215</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
