tag:blogger.com,1999:blog-83793533255908815512024-02-08T04:22:13.500-08:00Program, Struktur Data, Dalam Implementasi Bahasa ProgramImplementasi Program,Struktur Data String, Array Record, Linked list, Tree, Stack, Graph, Sorting, Queues, Searching, Rekursi, Algoritma dalam berbagai bahasa pemograman.Unknownnoreply@blogger.comBlogger37125tag:blogger.com,1999:blog-8379353325590881551.post-4782988075699639932011-06-21T08:55:00.000-07:002011-06-21T09:00:45.561-07:00J2ME Java Mobile<div style="text-align: justify;"><a href="http://arraydalamprogram.blogspot.com/2011/06/j2me-java-mobile.html">J2ME Adalah</a> sebuah kombinasi yang terbentuk antara sekumpulan<a href="http://arraydalamprogram.blogspot.com/2011/06/j2me-java-mobile.html"> interface Java </a>yang sering<br /></div><br /><div style="text-align: justify;">disebut dengan <a href="http://arraydalamprogram.blogspot.com/2011/06/j2me-java-mobile.html">Java API </a>( Aplication Programming Interface) dengan JVM (<a href="http://arraydalamprogram.blogspot.com/2011/06/j2me-java-mobile.html">Java Virtual<br /><br />Machine</a>) yang khusus didesain untuk sebuah perangkat, yaitu JVM dengan ruang yang<br /><br />terbatas. Kombinasi tersebut kemudian digunakan untuk melakukan pembuatan aplikasi<br /><br />aplikasi yang dapat berjalan di atas alat<a href="http://arraydalamprogram.blogspot.com/2011/06/j2me-java-mobile.html"> mobile device</a>.<br /><a id="publishButton" class="cssButton" href="javascript:void(0)" target="" onclick="if (this.className.indexOf("ubtn-disabled") == -1) {var e = document['stuffform'].publish;(e.length) ? e[0].click() : e.click(); if (window.event) window.event.cancelBubble = true; return false;}"><div class="cssButtonOuter"><div class="cssButtonMiddle"><div class="cssButtonInner">Terbitkan Entri</div></div></div></a><br /><a href="http://infotipsandtricks.com/category/java-j2me/">J2ME</a> sendiri pada dasarnya terbagi dalam tiga bagian yaitu:<br /><br /> Konfigurasi.<br /> Profil.<br /> Paket paket opsional.<br /><br />Selengkapnya silahkan klik <a href="http://infotipsandtricks.com/category/java-j2me/">link ini..</a><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-33446844989817850322011-04-13T22:01:00.000-07:002011-06-22T22:17:46.213-07:00Java Application Programming Interface (Java API)<a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Application Programming Interface</a> (Java API) <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java API</a> merupakan komponen-komponen dan kelas Java yang sudah jadi, yang memiliki berbagai kemampuan.<br />Kemampuan untuk menangani objek, string, angka dan sebagainya<br /><br />1. Applet<br />Java Applet merupakan program Java yang berjalan di atas browser.<br />Penggunaan applet ini akan membuat halaman HTML lebih dinamis dan menarik.<br /><br />2. <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Networking</a><br /><br />3. <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Database</a> Connectivity (JDBC)<br /><br /><a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">JDBC API</a> terdiri atas class dan interface yang ditulis dalam bahasa Java untuk sebagai alat bantu bagi pembuat program (developer) dan menyediakan sekumpulan API untuk mengatur<br />keamanan mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server. Jadi keunggulan API JDBC dapat mengakses sumberdata dan berjalan pada semua Platform yang mempunyai <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Virtual Machine (JVM)</a>.<br /><br />4. <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Server Pages </a>(JSP)<br />JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan pada platform Java. JSP merupakan pengembangan dari Servlet serta merupakan bagian dari teknologi Java 2 Platform, Enterprise Edition (<a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">J2EE</a>).<br /><br />5. <a href="http://arraydalamprogram.blogspot.com/2011/04/java-application-programming-interface.html">Java Card</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-58444488733425888062011-04-13T21:57:00.000-07:002011-04-13T21:59:10.835-07:00Java Virtual Machine (JVM)<div style="text-align: justify;"><a href="http://arraydalamprogram.blogspot.com/2011/04/java-virtual-machine-jvm.html">Java Virtual Machine </a>adalah software yang berfungsi untuk menjalankan program Java supaya dapat dimengerti oleh komputer. Kode program Java ditulis menggunakan editor teks seperti Notepad,Textpad, Editplus, Jcreator dan lainnya.<br />Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras (hardware) yang disebut sebagai Java Bytecode (*.class). Dan <a href="http://arraydalamprogram.blogspot.com/2011/04/java-virtual-machine-jvm.html">JVM </a>merupakan basis dari Java platform dan menjembatani antara bytecode dengan hardware.<br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-86162039746865586032011-04-13T21:46:00.000-07:002011-06-22T22:11:58.398-07:00Teknologi Wireless Java<div style="text-align: justify;">Teknologi <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">Wireless Java</a> Secara konsep, teknologi wireless dapat dibagi dalam dua katagori, pertama untuk local dan kedua untuk area yang luas.<br />Peralatan yang termasuk dalam katagori pertama misalnya adalah remote control untuk membuka atau mengunci mobil maupun garasi, telepon cordless 900Mhz, peralatan mainan dengan radio control, atau jaringan wireless.<br />Peralatan wireless jenis pertama ini hanya bekerja untuk daerah dengan jangkauan yang tidak terlalu jauh.<br />Sedangkan peralatan jenis aplikasi yang kedua diantaranya adalah pager,handphone, pda, dan sejenisnya. Jangkauan dari perangkat tersebut jauh lebih besar dari aplikasi jenis pertama.<br />Karena jaringan yang ada di permukaan bumi berupa cell-tower , peralatan komunikasi bergerak seperti handphone menerima layanan dari sebuah wireles carrier atau perusahaan yang mengoperasikan celltower tersebut.<br />Aplikasi komunikasi bergerak, dalam perkembangan awal masing-masing vendor menghasilkan platform aplikasi dan sistem operasi sendiri. Sehingga sebuah peralatan handphone Nokia dan Siemens mempunyai platform aplikasi masingmasing.<br /><br />Perbedaaan aplikasi menyebabkan suatu platform aplikasi maupun sistem operasi dalam handphone Nokia tidak dapat dijalankan dalam peralatan <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">handphone</a> Siemens misalnya. Sehingga berakibat memperburuk pengembangan aplikasiaplikasi yang baru. Standarisasi yang dilakukan untuk membuat suatu bahasa pemrograman yang memiliki kebebasan platform atau platform independence.Salah satu <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">teknologi Java</a> adalah “write once run everywhere”, sehingga protabilitas <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">Java</a> merupakan suatu kekuatan yang dimiliki <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">Java.</a> Java dijalankan pada sistem operasi apapun tanpa perlu kompilasi ulang program Java yang dibuat. Untuk komunikasi bergerak, <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">Sun Microsystem</a> mengenalkan <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">Java 2 Micro Edition (J2ME) </a>yang merupakan salah satu bagian teknologi Java yang digunakan untuk aplikasi Java yang berjalan pada perangkat mobile device dan <a href="http://arraydalamprogram.blogspot.com/2011/04/teknologi-wireless-java.html">teknologi aplikasi wireless</a>.<br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-44257877026788003632010-11-21T23:47:00.000-08:002010-11-21T23:51:21.572-08:00Tag-tag Applet HTMLPada contoh sebelum-sebelumnya, Anda sudah melihat bagaimana tag-tag applet HTML<br />digunakan dalam dokumen HTML atau source code java. Sekarang, Anda akan<br />dikenalkan pada versi tag-tag applet HTML yang lebih lengkap.<br /><br /><span style="font-weight: bold;">Kata kunci Applet HTML Tag</span><br />CODEBASE<br />Direktori dimana class applet diletakkan. Untuk dokumen HTML, direktori URL sesuai<br />dengan setting awalnya/defaultnya.<br />CODE<br />Nama file yang berisi kode applet. Dengan atau tanpa nama ekstensi .java atau .class .<br />ALT<br />Text ditampilkan jika browser mengerti applet tags tapi applet tidak dapat dieksekusi<br />secara langsung. Mungkin terjadi jika Javanya disabled.<br />NAME<br />Nama dari applet. Digunakan untuk memungkinkan applet yang lain untuk<br />berkomunikasi dengan applet ini dengan menunjukkan suatu applet berdasarkan<br />namanya.<br />WIDTH, HEIGHT<br />Width dan height dari window applet. Dinyatakan dalam pixel.<br />ALIGN<br /><br /><span style="font-weight:bold;">Kata kunci Applet HTML Tag</span><br />Alignment atau pengaturan posisi dari applet. Satu diantara "left", "right", "top",<br />"bottom", "middle", "baseline", "texttop", "absmiddle", atau "absbottom". Peletakan<br />posisi secara Default tergantung pada lingkungan.<br />"top" – posisi atas dari applet diratakan dengan item tertinggi dalam baris yang ada.<br />"bottom", baseline – posisi bawah dari applet diratakan dengan bawah dari content lain<br />dalam baris yang sama.<br />"middle" – tengah dari applet diratakan dengan bawah dari content yang lain dalam<br />baris yang sama.<br />"texttop" – posisi atas dari applet diratakan dengan posisi atas dari applet diratakan<br />dengan posisi tertinggi dari posisi atas pada baris yang sama.<br />"absmiddle" – tengah dari applet diratakan dengan vertical middle dari content lain<br />pada baris yang sama.<br />"absbottom" – posisi bawah dari applet diratakan dengan posisi bawah dari content lain<br />dalam baris yang sama.<br />VSPACE, HSPACE<br />Spasi diatas dan dibawah (VSPACE) dan pada sisi (HSPACE) dari applet..<br />PARAM NAME, VALUE<br />Untuk mengelompokkan parameter yang dapat menampilkan applet; applet dapat<br />meminta method getParameter(String paramName).<br />Table 1.3: Applet HTML Tags<br />Contoh dibawah ini mendemokan bagaimana untuk mengakses parameter tertentu pada<br />HTML tag.<br />import java.awt.*;<br />import java.applet.*;<br />/*<br /><applet code="ParamDemo" width="300" height="100"><br /><param name="myParam" value="Hello world!"><br /></applet><br />*/<br />public class ParamDemo extends Applet {<br />public void paint(Graphics g) {<br />g.drawString(getParameter("myParam"), 80, 25);<br />}<br />}<br />Output dari program ini sama seperti applet Hello World.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-9977756732043173872010-11-21T23:45:00.001-08:002010-11-21T23:45:56.125-08:00Method paintMethod lain yang tidak kalah penting adalah method paint, yang mana class Applet<br />menurunkannya dari class induknya yaitu class Component, yang meminta output applet<br />setiap waktu yang diperlukan untuk dapat digambar kembali. Sebagai contoh dari setiap<br />instance adalah ketika sebuah applet tersembunyi oleh window lain dapat dibuat terlihat<br />lagi. Method ini selalu menolak ketika Anda ingin membuat bagaimana applet yang Anda<br />buat harus terlihat seperti yag Anda inginkan. Pada contoh Hello World, applet memiliki<br />string "Hello world!"pada background setelah menolak method paint.<br />11.3.3 Method ShowStatus<br />Applet memiliki window status, dimana memberi informasi kepada Anda tentang apa<br />yang sebenarnya dilakukan applet. Jika Anda ingin memberi output ke window status,<br />secara sederhana memanggil method showStatus.<br />Contoh berikut ini sama seperti contoh Hello World tapi dengan pernyataan tambahan<br />yang memodifikasi isi dari window status.import java.awt.*;<br />import java.applet.*;<br />/*<br /><applet code="AppletDemo" width=300 height=100><br /></applet><br />*/<br />public class AppletDemo extends Applet {<br />public void paint(Graphics g) {<br />g.drawString("Hello world!", 80, 25);<br />showStatus("This is an important information.");<br />}<br />}<br />Memainkan Klip Audio<br />Applet juga menyediakan layanan melalui adanya suatu method yang memungkinkan<br />Anda untuk memainkan file audio. Memainkan audio clips dalam sebuah applet<br />melibatkan dua langkah dasar :<br />1. Dapatkan audio clip menggunakan method getAudioClip.<br />2. Untuk memainkan audio clip, menggunakan method play atau loop pada object audio<br />clip. play memungkinkan Anda untuk memainkan audio satu kali mengingat loop<br />berulang pada audio clip dan berhenti hanya ketika method stop dipanggil.<br />Contoh berikutnya memainkan file audio secara terus-menerus hingga method stop<br />applet dipanggil.<br /><br /><br />import java.awt.*;<br />import java.applet.*;<br />/*<br /><applet code="AudioApplet" width=300 height=100><br /></applet><br />*/<br />public class AudioApplet extends Applet {<br />AudioClip ac;<br />public void init() {<br />try {<br />/*audio clip tersimpan dalam direktori yang sama<br />seperti kode javanya*/<br />/* spaceMusic telah terdownload dari java.sun.com */<br />ac = getAudioClip(getCodeBase(), "spaceMusic.au");<br />ac.loop();<br />} catch (Exception e) {<br />System.out.println(e);<br />}<br />}<br />public void stop() {<br />ac.stop();<br />}<br />public void paint(Graphics g) {<br />g.drawString("Playing space music!", 80, 25);<br /><br />}<br />}Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-76601848859485349402010-11-21T23:44:00.001-08:002010-11-21T23:44:57.934-08:00Method-Method AppletBagian ini membahas manfaat-manfaat method applet.
<br />11.3.1 Siklus Applet (The Applet Life Cycle)
<br />Bahkan untuk memulai eksekusi pada method main seperti dalam aplikasi khas Java,
<br />browser atau applet viewer berhubungan dengan applet melalui method-method
<br />berikut:
<br />1. init()
<br />init adalah method yang dipanggil pertama kali. Yang sebenarnya berisi permintaan
<br />pertama ketika applet di load.
<br />2. start()
<br />Setelah meminta method init, mulai dengan method yang dipangil selanjutnya.
<br />method ini meminta dokumen HTML yang ditampilkan applet setiap waktu. Eksekusi
<br />ringkasan dengan method ini dilakukan ketika applet ditampilkan kembali.
<br />3. stop()
<br />Ketika web browser meninggalkan dokumen HTML applet,method ini dipanggil untuk
<br />menginformasikan applet bahwa dia harus menghentikan proses eksekusinya.
<br />4. destroy()
<br />Method ini dipanggil ketika applet perlu dihapus dari memory. Method stop selalu
<br />dipanggil sebelum method ini diminta untuk dijalankan.
<br />Ketika membuat applet, sedikitnya beberapa dari method ini telah meng-override.
<br />contoh applet berikut meng-override method berikut.
<br />import java.applet.*;
<br />import java.awt.*;
<br />/*
<br /><applet code="LifeCycleDemo" width="300" height="100">
<br /></applet>
<br />*/
<br />class LifeCycleDemo extends Applet {
<br />String msg ="";
<br />public void init() {
<br />msg += "initializing... ";
<br />repaint();
<br />}
<br />public void start() {
<br />msg += "starting... ";
<br />repaint();
<br />}
<br />public void stop() {
<br />msg += "stopping... ";
<br />repaint();
<br />}
<br />public void destroy() {
<br />msg += "preparing for unloading...";
<br />repaint();
<br />}
<br />public void paint(Graphics g) {
<br />g.drawString(msg, 15, 15);
<br />}
<br />}
<br />Contoh dokumen html berikut tergabung dalam applet LifeCycleDemo .
<br /><html>
<br /><title>Life Cycle Demo</title>
<br /><applet code="LifeCycleDemo" width="300" height="100">
<br /></applet>
<br /></html>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-25681612387407252962010-11-21T23:34:00.000-08:002010-11-21T23:37:12.808-08:00Membentuk Applet Java ProgramSebuah applet adalah tipe yang spesial dari program java yang dieksekusi melalui<br />internet. Secara khusus berjalan pada suatu web browser seperti Netscape Navigator,<br />Mozilla, atau Microsoft Internet Explorer. Bagaimanapun juga, jika dibandingkan dengan<br />aplikasi Java yang normal, tidak diperbolehkan mengakses applet pada komputer yang<br />dijalankan untuk alasan keamanan. Applet ini cukup terbatas jika dibandingkan dengan<br />aplikasi Java.<br />Pada module ini, Anda akan mempelajari tentang membuat applet menggunakan AWT.<br /><br /> <span style="font-weight: bold;">Hello World Applet</span><br />Class Applet adalah sebuah subclass dari class Panel yang didefinisikan dalam AWT.<br />Cara terbaik untuk memahami bagaimana membuat applet adalah dengan contoh. Jadi,<br />berikut ini adalah contoh applet sederhana yang menampilkan "Hello world!".<br />import java.awt.*;<br />import java.applet.*;<br />/* masukkan bagian ini dalam kode html<br /><applet code="AppletDemo" width="300" height="100"><br /></applet><br />*/<br />public class AppletDemo extends Applet {<br />public void paint(Graphics g) {<br />g.drawString("Hello world!", 80, 25);<br />}<br />}<br />Setelah proses kompilasi, usahakan menjalankan contoh ini menggunakan perintah java.<br />Apa yang terjadi? Ingat bahwa applet adalah aplikasi java yang spesial. Mereka tidak<br />dieksekusi menggunakan perintah java. Bahkan applet berjalan pada web browser atau<br />menggunakan applet viewer. Untuk membuka applet melalui sebuah web browser,<br />secara sederhana buka dokumen HTML dimana applet terintegrasi ke dalamnya<br />menggunakan applet HTML tag (Perintah mengeluarkan kode pada contoh Hello World).<br />Cara lain untuk menjalankan sebuah applet adalah melalui perintah appletviewer. Untuk<br />lebih mudahnya ikuti syntax berikut ini:<br />appletviewer <java><br />Untuk menjalankan contoh applet yang dijalankan , menggunakan:<br />appletviewer AppletDemo.java<br />Tag HTML pada contoh yang diberikan mengindikasikan bahwa sebuah applet dibuat<br />dengan lebar 300 pixel dan tinggi 100 pixel. Kemudian, method drawString<br />menggambar string "Hello world!" pada posisi pixel (80,25) menghitung kebawah dari<br />bagian kanan.<br /><br />Ketika membuat sebuah applet, diharuskan meng-extend class Applet. Sebagaimana<br />yang disebutkan sebelumnya, classnya dapat ditemukan dalam package java.applet.<br />Oleh karena itu, mengimport package java.applet merupakan suatu keharusan. Juga,<br />telah disebutkan sebelumnya bahwa class Applet adalah subclass dari class Panel. Hal ini<br />mengimplikasikan bahwa beberapa method dari class applet ditemukan dalam class<br />Panel. Untuk mengakses method atau field dalam class Panel atau class-class induk,<br />diperlukan suatu aksi untuk import package java.awt .Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-44995667607725860022010-11-21T23:26:00.000-08:002010-11-21T23:38:54.033-08:00Apa itu Exception? Dalam JavaBugs dan error dalam sebuah program sangat sering muncul meskipun program<br />tersebut dibuat oleh programmer berkemampuan tinggi. Untuk menghindari<br />pemborosan waktu pada proses error-checking, Java menyediakan mekanisme<br />penanganan exception.<br />Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi<br />saat runtime, menyebabkan gangguan pada alur eksekusi program. Terdapat<br />beberapa tipe error yang dapat muncul. Sebagai contoh adalah error pembagian 0,<br />mengakses elemen di luar jangkauan sebuah array, input yang tidak benar dan<br />membuka file yang tidak ada.<br /><br /><span style="font-weight: bold;">Error dan Exception Classes</span><br /><br />Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung,<br />dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua kategori<br />umum : Error class dan Exception class.<br />Exception class menunjukkan kondisi yang dapat diterima oleh user program.<br />Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program.<br />Contoh dari exceptions adalah pembagian oleh 0 dan error di luar jangkauan array.<br />Error class digunakan oleh Java run-time untuk menangani error yang muncul pada<br />saat dijalankan. Secara umum hal ini di luar control user karena kemunculannya<br />disebabkan oleh run-time environment. Sebagai contoh adalah out of memory dan<br />harddisk crash.<br /><br />Sebuah Contoh<br /><br />Perhatikan contoh program berikut :<br />class DivByZero {<br />public static void main(String args[]) {<br />System.out.println(3/0);<br />System.out.println(“Cetak.”);<br />}<br />}<br />Jika kode tersebut dijalankan, akan didapatkan pesan kesalahan sebagai berikut :<br />Exception in thread "main" java.lang.ArithmeticException: / by<br />zero at DivByZero.main(DivByZero.java:3)<br />Pesan tersebut menginformasikan tipe exception yang terjadi pada baris dimana<br />exception itu berasal. Inilah aksi default yang terjadi bila terjadi exception yang tidak<br />tertangani. Jika tidak terdapat kode yang menangani exception yang terjadi, aksi<br />default akan bekerja otomatis. Aksi tersebut pertama-tama akan menampilkan<br />deskripsi exception yang terjadi. Kemudian akan ditampilkan stack trace yang<br />mengindentifikasi method dimana exception terjadi. Pada bagian akhir, aksi default<br />tersebut akan menghentikan program secara paksa.<br />Bagaimana jika Anda ingin melakukan penanganan atas exception dengan cara yang<br />berbeda? Untungnya, bahasa pemrograman Java memiliki 3 keywords penting dalam<br />penanganan exception, yaitu try, catch dan finally.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-8379353325590881551.post-40387118081580537842010-09-25T07:32:00.000-07:002010-10-18T21:36:18.031-07:00Contoh Script Program JavaBuat teman teman jika ingin belajar java dengan cepat.<br />ini ada beberapa tips yaitu Banyak baca buku mengenai bahasa pemograman Java lalu banyak berlatih untuk menulis script dengan bahasa pemograman itu.<br />Untuk memudahkan saya akan memberikan beberapa contoh demo dari bahasa pemograman bahasa Java.Dibawah ini ada beberapa contoh demo yang saya dapat dari beberapa sumber silahkan di klik linknya untuk di download.<br /><br /><a href=" http://www.ziddu.com/download/11823854/Array.rar.html">Array</a><br /><a href="http://www.ziddu.com/download/11823909/Catch.rar.html">Catch</a><br /><a href="http://www.ziddu.com/download/11823916/Chart.rar.html">Chart</a><br /><a href="http://www.ziddu.com/download/11823937/Constructor.rar.html">Constructor</a><br /><a href="http://www.ziddu.com/download/11823953/ContohScriptJava.rar.html">Contoh Script</a><br /><a href="http://www.ziddu.com/download/11823963/Equals.rar.html">Equals</a><br /><a href="http://www.ziddu.com/download/11823977/Exepsi.rar.html">Exepsi</a><br /><a href="http://www.ziddu.com/download/11824003/Hitungbagun.rar.html">Hitung Bangun</a><br /><a href="http://www.ziddu.com/download/11824011/Insert.rar.html">Insert</a><br /><a href="http://www.ziddu.com/download/11824042/LuasBangun.rar.html">Luas Bangun </a><br /><a href="http://www.ziddu.com/download/11824085/Method.rar.html">Method</a><br /><a href="http://www.ziddu.com/download/11824138/menu.rar.html">Menu</a><br /><a href="http://www.ziddu.com/download/11824160/pegawai.rar.html">Pegawai</a><br /><a href="http://www.ziddu.com/download/11824192/Replace.rar.html">Replace</a><br /><a href="http://www.ziddu.com/download/11824218/scriptFOR.rar.html">FOR</a><br /><a href="http://www.ziddu.com/download/11824243/ScriptOverload.rar.html">Overload</a><br /><a href="http://www.ziddu.com/download/11824274/ScriptRekursi.rar.html">Rekursi</a><br /><a href="http://www.ziddu.com/download/11824302/ScriptSwitch.rar.html">Switch</a><br /><a href="http://www.ziddu.com/download/11824336/ScriptWhile.rar.html">While</a><br /><a href="http://www.ziddu.com/download/11824361/String.rar.html">String</a><br /><a href="http://www.ziddu.com/download/11824370/Super.rar.html">Super</a><br /><a href="http://www.ziddu.com/download/11824393/Threads.rar.html">Super Threads</a><br /><a href="http://www.ziddu.com/download/11824461/Throws.rar.html">Throws</a><br /><a href="http://www.ziddu.com/download/11824488/While.rar.html">While 1</a><br /><a href="http://www.ziddu.com/download/11824526/Aritmatikadanvariabel.rar.html">Aritmatika dan Variabel</a><br /><a href="http://www.ziddu.com/download/11824543/Bacafilemenuhapuswrite.rar.html">Baca File dan Hapus Elemen</a><br /><a href="http://www.ziddu.com/download/11824572/ButtonBoxSetIncrement.rar.html">Button Box</a><br /><a href="http://www.ziddu.com/download/11824583/CapacityReturnkarakterstatik.rar.html">Capacity</a><br /><a href="http://www.ziddu.com/download/11824594/ObjekpassValueReferensi.rar.html">Object dan Value</a><br /><a href="http://www.ziddu.com/download/11824601/TrydanBoolean.rar.html">Tree dan Boolean</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-52159139654201015272010-07-16T17:47:00.000-07:002010-07-16T17:51:05.195-07:00Exception dalam Input Java ProgramJava bukan bahasa pemrograman untuk Console (seperti DOS atau Linux), sehingga untuk mengambil <span style="font-weight:bold;">input</span> dari user diperlukan sedikit trik yang tidak sesederhana readln pada bahasa pemrograman lain.<br /><br />Di sini saya akan menjelaskan untuk membuat program yang bisa mengambil input dari konsol teks. Di bagian lain, setelah kita belajar pemrograman berorientasi objek, kita akan menggunakan GUI untuk mendapatkan interaksi dari user.<br /><br />Membaca String yang diketik oleh user di konsol<br /><br />Kita membutuhkan kelas yang beberapa kelas, yaitu <span style="font-weight:bold;">BufferedReader, InputStreamReader,</span> dan System.in (lawan dari <span style="font-weight:bold;">System.out</span> yang kita gunakan untuk menampilkan pesan di layar).<br /><br />Dua kelas pertama terdapat dalam package yang dinamakan java.io. Untuk itu, kita harus menambah satu baris perintah<br /><br /><span style="font-weight:bold;">import java.io.*</span><br /><br />yang berarti mengimport semua kelas dalam paket java.io (tanda * berarti semua).<br /><br />Kemudian kita harus juga membuat suatu objek dari kelas BufferedReader. Kelas <span style="font-weight:bold;">BufferedReader adalah kelas abstrak yang menangani baca tulis ke suatu media.</span><br /><br /><span style="font-weight:bold;">Kelas ini membutuhkan kelas lain sebagai pekerjanya, yaitu InputStreamReader</span>. Dan InputStreamReader membutuhkan media tempat baca tulis dilakukan, yaitu System.in.<br /><br />Semua ini bisa dituliskan dalam satu perintah yaitu :<br /><br />BufferedReader br = new BufferedReader(new InputStreamReader(System.in));<br /><br />Di sini variabel br merupakan objek yang merupakan jelmaan dari kelas BufferedReader.<br /><br />Untuk memerintahkan Java mengambil input dari user, kita gunakan fungsi<span style="font-weight:bold;"> readline() </span>yang terdapat pada kelas BufferedReader, dalam hal ini terealisasi pada objek br.<br /><br />nama = br.readLine();<br /><br />Karena kita berhubungan langsung dengan sistem IO (input-output) komputer yang harus diasumsikan tidak pasti (misalnya ada masalah pada sistem keyboard, atau komputer sedang bekerja berat sehingga input dari user tidak bisa diambil), kita harus menempatkan fungsi readLine() pada klausa<br /><br /><span style="font-weight:bold;">try {<br /> ...<br />} catch (IOException ioe) {<br /> ...<br />}</span><br /><br />Perintah di dalam <span style="font-weight:bold;">try { ... }</span> adalah perintah yang kita ingin jalankan pada situasi yang "mungkin" tidak berhasil.<br /><br />Parameter pada catch, yaitu IOException ioe adalah jenis kesalahan yang ingin kita tangkap. Dalam hal ini kita ingin menangkap adanya kesalahan IO, yaitu <span style="font-weight:bold;">kesalahan yang bertipe IOException.</span><br /><br />Perintah di dalam<span style="font-weight:bold;"> catch { ... }</span> adalah perintah yang akan dilakukan apabila kesalahan ditangkap. Jika tidak ada kesalahan IO yang ditemukan, maka bagian ini akan dilewatkan (tidak dijalankan).<br /><br />Mari kita lihat program akhir untuk mengambil input dari user.<br /><br /><span style="font-weight:bold;">package ambilinputkonsol;<br /> <br />import java.io.*; <br /> <br />public class AmbilInputKonsol {<br /> <br /> /**<br /> * @param args<br /> */<br /> public static void main(String[] args) {<br /> // TODO Auto-generated method stub<br /> <br /> System.out.print("Masukkan nama Anda : ");<br /> <br /> // buat objek baru untuk mengambil input<br /> BufferedReader br = new BufferedReader(new InputStreamReader(System.in));<br /> <br /> // tempat di mana input dari user akan diletakkan<br /> String nama = null;<br /> <br /> try {<br /> nama = br.readLine();<br /> } catch(IOException ioe) {<br /> System.out.println("Kesalahan IO pada saat menanyakan nama Anda");<br /> System.exit(1);<br /> }<br /> <br /> System.out.println("Terima kasih, " + nama);<br /> }<br />}<br /></span><br /> <br />Untuk menguji program tersebut, jalankan "Run -> Run" atau Ctrl-F11. Kemudian arahkan kursor Anda ke bagian bawah di kotak yang bernama Console.<br /><br />Masukkan nama Anda, kemudian hasilnya akan ditampilkan pada baris berikutnya.<br /><br />sumber:http://belajarjava.googlecode.com/svn/trunk/AmbilInputKonsolUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-8379353325590881551.post-78886796370407889442010-06-22T20:40:00.000-07:002010-06-22T20:45:29.670-07:00Konstruktor dalam JAVABerikut ini adalah hal hal yang harus kita perhatikan berkaitan dengan pembuatan <span style="font-weight:bold;">konstruktor</span>:<br /><span style="font-style:italic;">1.Konstruktor harus menggunakan nama yang sama dengan class.termasuk huruf besar dan kecilnya.<br />2.Dalam satu class bisa terdapat lebih dari satu konstruktor.<br />3.konstruktor akan dieksekusi setiap kli ada pembuatan objek.<br />4.Setiap class harus mempunyai paling tidak sebuah konstruktor.<br />5.Jika sudah mendeklarasikan konstruktor, maka konstruktor default tidak akan dibuat oleh kompiler Java.</span><br />Sebuah class memiliki beberapa konstruktor.Konstruktor yang dibuat lebih dari satu dibunakan untuk keperluan berikut:<br />1.Menentukan nilaiInstance variabel yang berbeda. Jadi, pada setiap konstruktor diinisialisasi variabel yang berbeda.<br />2.Melakukan tugas awal dengan menjalankan metode tertentu,seperti untuk melakukan penghitungan. Jadi, selama konstruktor dijalankan,akan dilakukan penghitungan.<br />Contoh deklarasi konstruktor<br /><br /><span style="font-weight:bold;">identifier_class([tipe identifier,tipe identifier,...]){<br />// inisialisasi variabel<br />// perhitungan awal</span><br /><br />Pada contoh ini akan dibuat empat buah <span style="font-weight:bold;">konstruktor</span> yang berfungsi untuk membuat objek dengan tipe lingkaran.<span style="font-weight:bold;">Class lingkaran</span> diidentifikasi dengan kode berikut:<br /><br /><span style="font-weight:bold;">public class Lingkaran{<br />Float x,y,jari;<br />// konstruktor diletakan disini<br /> }</span><br /><br />Dibawah ini adalah contoh konstruktor yang dapat didefinisikan untuk class Lingkaran diatas.<br /><br />1. Lingkaran dibuat dengan<span style="font-weight:bold;"> nilai default, jari jarinya = 1</span> dan berada di koordinat (0,0)<br /><br /><span style="font-weight:bold;">public Lingkaran (){<br /><br />this jari = 1;<br />this x = 0;<br />this y = 0;<br />}</span><br /><br /><br />2. Konstruktor digunakan untuk membuat lingkaran dengan <span style="font-weight:bold;">jari jari dan posisi</span> yang kita tentukan sendiri.<br /><br /><span style="font-weight:bold;">public Lingkaran(float jari,float X,float y) {<br /><br />this.jari=jari;<br />this.x=x;<br />this.y=y;</span><br /><br />3. konstruktor digunakan untuk membuat lingkaran dengan<span style="font-weight:bold;"> jari jari default = 1</span>, dengan posisi yang kita tentukan sendiri<br /><br /><span style="font-weight:bold;">public lingkaran(float x, float y){<br />this.jari=1;<br />this.x=x;<br />this.y=y;<br />}</span><br /><br />4.Konstruktor digunakan ntuk membuat lingkaran dengan<span style="font-weight:bold;"> posisi default</span>,yaitu di koordinat (0,0), namun jari jarinya kita tentukan sendiri.<br /><br /><span style="font-weight:bold;">public Lingkaran(float jari){<br />this.jari=jari;<br />this.x=x;<br />this.y=y;<br />}</span><br /><br />dengan satu nama konstruktor, dapat dibuat objek lingkaran dengan jari jari dan posisi yang berbeda.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-60382318101720626362010-06-14T00:02:00.000-07:002010-06-14T01:00:40.615-07:00Tipe Data Primitif Dalam JavaSemua nilai yang ada didalam program Java adalah<span style="font-weight:bold;"> referensi</span> terhadap objek.<br />Tipe data primitif adalah tipe data yang mempunyai nilai tertentu,bukan referensi Class ataupun objek. Berdasarkan tipe datanya data primitif dapat dikelompokan menjadi empat :<br /><br />1. Tipe data <span style="font-weight:bold;">Integer</span> atau bilangan bulat meliputi : <span style="font-weight:bold;">byte, short,int,long</span><br />2. Tipe data <span style="font-weight:bold;">float</span> atau bilangan nyata meliputi : <span style="font-weight:bold;">float</span> dan <span style="font-weight:bold;">double</span><br />3. Tipe data <span style="font-weight:bold;">char</span> atau karakter yaitu : <span style="font-weight:bold;">char</span><br />4. Tipe data <span style="font-weight:bold;">Boolean</span> : <span style="font-weight:bold;">boolean</span><br /><br />berikut adalah besar nilai dari yang dapat diterapkan pada masing masing tipe data primitif:<br /><br /><br />Tipe data= byte Besar storage= 8 bit(1byte) Nilai minimal= -128 Nilai maksimal= 127<br />Tipe data= short Besar storage= 16 bit(2byte) Nilai minimal= -32768 Nilai maksimal= 32767<br />Tipe data= int Besar storage= 32 bit(4byte) Nilai minimal= -2147483648 Nilai maksimal= 2147483647<br />Tipe data= long Besar storage= 64 bit(8byte) Nilai minimal=-9223372036854775808 Nilai maksimal= 9223372036854775807<br />Tipe data= float Besar storage= 32 bit(4byte) Nilai minimal= +/-3.4E-38 Nilai maksimal= +/-3.4E+38<br />Tipe data= double Besar storage= 64 bit(8byte) Nilai minimal= +/-1.7E-308 Nilai maksimal= +/-1.7E+308<br />Tipe data= char Besar storage= 16 bit(2byte) Nilai minimal= \u0000 Nilai maksimal= \uFFFF<br />Tipe data= boolean Besar storage= 1 bit Nilai maksimal= True atau False<br /><br /><span style="font-weight:bold;">Tipe data Boolean</span><br />Digunakan untuk menentukan suatu kondisi apakar suatu pernyataan True (benar) atau False(salah).Nilai boolean sering digunakan untuk mengatur alur program, terutama dalam perulangan dan percabangan.<br />contoh:<br /><br /><span style="font-weight:bold;">boolean isLulus = True; // sudah lulus<br />boolean isCumlaude = False; // tidak Cumlaud</span><br /><br /><span style="font-weight:bold;">Tipe data Char </span><br />Tipe data karakter dalam bahasa pemograman Java mempunyai ukuran 16 bit atau setara dengan 2 pangkat 16 = 65.536 kode. 256 adalah kode pertama dalam tipe data char digunakan oleh karakter ASCII.<br />Karakter ASCII merupakan karakter yang banyak digunakan dalam bahasa inggris.<br />Tipe data karakter harus didefinisikan menggunakan tanda petik satu (') missalnya:<br /><br /><span style="font-weight:bold;">char bs='B'</span><br /><br />Dalam char terdapat escape karaker yang digunakan untuk menampilkan karakter khusus, seperti tab atau pergantian baris:<br /><br />\b keterangannya = Backspace<br />\t keterangannya = Tab<br />\n keterangannya = Linefeed<br />\f keterangannya = Formfeed<br />\r keterangannya = Carriage Return<br />\\ keterangannya = Backslash<br />\' keterangannya = Single Quoute<br />\" keterangannya = Double Quoute<br />\ddd keterangannya = Oktal, misal '\123' setara dengan huruf S<br />\udddd keterangannya = Karakter unicod, misal '\u1234' setara dengan tanda tanya ?<br /><br />Berikut kode untuk menampilakan tulisan: Aku ingin " Hidup bahagia selamanya!"<br />pada comand promt.<br /><br /><span style="font-weight:bold;">System.out.println("Aku ingin\"Hidup bahagia!\"");</span><br /><br /><span style="font-weight:bold;">Tipe data Integer</span><br /><br />Integer adalah tipe data yang merupakan bilangan bulat.<br />Dalam bahasa java terdapat empat buah integer.Semuanya dapat bernilai negatif maupun positif yaitu ; byte,short,long,dan int.<br />Perbedaan dari keempatnya hanyalah dari pada ukurannya saja.<br />Semakin besar ukuran tipe data integer tersebut maka akan semakin besar nilai yang dapat ditampung.<br /><br />contoh <span style="font-weight:bold;"> bit z = 1;</span><br /><br /><span style="font-weight:bold;">Tipe data Floating point</span><br /><br />Tipe data ini merupakan bilangan rasional.Dalam bahasa pemograman terdapat dua tipe yaitu Float dan double. perbedaan keduanya terletak pada ukurannya yaitu 32bit dan 64 bit.<br />Penulisan bilangan floating point menggunakan tanda titik sebagai tanda desimal atau bisa juga menggunakan tanda eksponensial e atau E.<br /><br />contoh:<br /><span style="font-weight:bold;">double a = 12.34; // 12,34<br />double b = .01; // 0,01<br />double c = 1e-6 // 1* 10^-6 atau 0,000006<br />double d =5200000D // 5,2*10^6</span><br /><br />Demikianlah uraian mengenai tipe data..<br />semoga dapat membantu menambah wawasan anda tentang tipe data dalam bahasa Java.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-8379353325590881551.post-19987238586335847082010-06-12T16:15:00.000-07:002010-06-13T23:58:13.094-07:00Inisiasi dan Deklarasi dalam JavaKetika perintah <span style="font-weight:bold;">deklarasi variabel</span> dilaksanakan, komputer akan menyiapkan memori untuk digunakan oleh variabel ini. Memori ini harus di<span style="font-weight:bold;">inisialisasi</span>,yaitu diberi suatu nilai awal sebelum bisa digunakan dalam perintah berikutnya. Pada variabel lokal, pernyataan deklarasi sering diikuti oleh perintah pemberi nilai awal. Misalnya,
<br />
<br /><span style="font-weight:bold;">int i; // Deklarasi variabel yang bernama i
<br />i = 0; // Beri nilai awal</span>
<br />
<br />Kita bisa juga melakukan deklarasi sekaligus inisialisasi variabel tersebut. Kedua pernyataan di atas bisa kita gabung menjadi
<br />
<br /><span style="font-weight:bold;">int i = 0; // Deklarasi variabel i sekaligus memberi nilai awal 0
<br /></span>
<br />Komputer akan tetap melakukan perintah di atas dalam dua langkah: deklarasi variabel, kemudian mengisi nilai awal 0. Nilai awal tidak harus berupa suatu bilangan, tetapi bisa juga berupa ekspresi yang menghasilkan suatu nilai. Dan juga kita boleh melakukan inisialisasi beberapa variabel sekaligus dalam 1 baris. Misalnya:
<br />
<br /><span style="font-weight:bold;">int x = 0, y = 1;
<br />int awal, akhir = 'A' // Ok, tapi hanya akhir yang akan diinisialisasi
<br />int N = 3, M = N+2; // Ok, karena N sudah diberi nilai awal sebelum digunakan oleh </span>
<br />Fitur ini biasa ditemui pada perulangan for, karena pernyataan 1 baris ini bisa dimasukkan sebagai variabel kontrol di awal pernyataan for. Karena variabel kontrol biasanya tidak berhubungan dengan bagian program di luar perulangan, maka akan lebih praktis jika deklarasi variabel kontrol itu dilakukan di awal perulangan.Contoh:
<br />
<br /><span style="font-weight:bold;">for ( int i = 0; i < 10; i++ ) {
<br /> System.out.println(i);
<br />}</span>
<br />
<br />Tanda kurung { dan } di awal dan akhir untuk mempertegas bahwa i hanya bersifat lokal di dalam perulangan yang tidak bisa diakses lagi setelah perulangan selesai.
<br />
<br /><span style="font-weight:bold;">{
<br /> int i;
<br /> for ( i = 0; i < 10; i++ ) {
<br /> System.out.println(i);
<br /> }
<br />}</span>
<br />
<br />Variabel anggota juga bisa diinisialisasi di mana dia dideklarasikan.Contoh:
<br />
<br /><span style="font-weight:bold;">public class Bank {
<br /> static double sukuBunga = 0.1; // sama dengan 10%
<br /> static long maxPenarikan = 3000000;
<br /> .
<br /> . // Perintah dan variabel lain
<br /> .
<br />}</span>
<br />
<br />Variabel anggota statik akan dibuat pada saat kelas mulai dimasukkan memori oleh interpreter Java, inisialisinya pun dilaksanakan pada saat itu. Pada variabel anggota, deklarasi dan inisialisasi ini bukan hanya sekedar singkatan dari 2 perintah seperti pada variabel lokal.<span style="font-weight:bold;"> Pernyataan deklarasi adalah pernyataan yang bisa dibuat di luar subrutin, sedangkan inisialisasi tidak bisa dilakukan di luar subrutin.</span>
<br /> Contoh di bawah tidak diperbolehkan dalam Java.
<br />
<br /><span style="font-weight:bold;">public class Bank {
<br /> static double sukuBunga;
<br /> sukuBunga = 0.1; // ILEGAL, perintah ini harus ada di dalam subrutin
<br />}</span>
<br />
<br />Karenanya, deklarasi variabel anggota biasanya juga dirangkai dengan inisialisasi nilai awalnya. Jika tidak ada nilai awal yang diberikan, maka nilai awal bawaan akan digunakan.
<br /> <span style="font-weight:bold;">Misalnya "static int i;" setara dengan "static int i = 0;".
<br /> Konstanta dan Sifat "final"</span>
<br />Kadang-kadang dalam kondisi tertentu, kita ingin nilai suatu variabel tidak boleh berubah setelah diberi nilai awal. Misalnya, D diinisialisasi dengan nilai 3.14159, maka nilai ini akan bisa diubah oleh bagian lain dalam program. Di sini mungkin sang programmer ingin mendefinisikan suatu konstanta yang diberi nama "D" sebagai pengganti dari bilangan 3.14159.
<br />
<br />Dengan cara ini, program akan lebih mudah dimengerti apabila program tersebut ditulis dalam "keliling = D*diamater;" daripada "pokok = 3.14159*diameter;".
<br />Dalam java, sifat "final" bisa digunakan pada deklarasi variabel untuk membuat nilai suatu variabel tidak bisa diubah setelah diinisialisasi. Misalnya
<br />final static double D = 3.14159;
<br />Apabila kita mencoba mengganti isi variabel tersebut, misalnya di tengah program dengan perintah "D = 20;" komputer akan menampilkan pesan kesalahan sintaks pada saat kompilasi.
<br />Sifat "final" boleh diberikan pada variabel lokal dan bahkan pada parameter formal, akan tetapi paling berguna apabila diberikan pada variabel anggota. Variabel anggota statik yang dideklarasikan dengan sifat "final" juga disebut sebagai konstanta yang diberi nama.
<br />Program akan jauh lebih mudah dibaca dengan menggunakan konstanta bernama ini jika diberikan pada sesuatu angka penting yang digunakan dalam program. Gaya penulisan yang dianjurkan untuk konstanta bernama ini adalah dengan menggunakan huruf besar dengan baris bawah (jika diperlukan).Contohnya:
<br />
<br /><span style="font-weight:bold;">final static double PI = 3.14159;</span>
<br />
<br />Gaya penulisan seperti ini juga digunakan oleh kelas standar Java, yang di dalamnya terdapat banyak sekali konstanta bernama. Misalnya, konstanta D sudah didefinisikan Java dalam kelas Math, yaitu Math.D, sehingga kita tidak perlu mendefinisikannya sendiri.
<br />Contoh lain adalah memberikan nama untuk gaya huruf, seperti Font.PLAIN, Font.BOLD dan Font.ITALIC. Konstanta ini digunakan untuk menandai gaya huruf untuk digunakan oleh subrutin lain dalam kelas Font.
<br />Salah satu alasan untuk menggunakan konstanta bernama adalah supaya kita bisa mengubah isinya dengan cepat apabila di kemudian hari kita ingin memiliki nilai konstanta yang berbeda. Apabila nilai ini diubah, maka kita harus mengkompilasi ulang program kita, karena nilai ini tidak bisa diubah ketika program dieksekusi.
<br />Misalnya kita definisikan suku Bunga pada contoh di atas sebagai konstanta bernama, yaitu
<br /><span style="font-weight:bold;">static final double SUKU_BUNGA = 0.1;</span>
<br />
<br />Suatu saat misalnya 2 tahun kemudian, bank tersebut ingin mengubah suku bunganya menjadi 5% atau 0.05. Kita bisa mengubah nilainya hanya di satu tempat yaitu di mana deklarasi SUKU_BUNGA berada. Kita tidak perlu mencari semua nilai 0.1 di dalam program untuk menggantinya satu per satu. Selain repot, mungkin membingungkan karena 0.1 bisa digunakan untuk nilai lainnya, bukan hanya nilai suku bunga.
<br />
<br /><span style="font-weight:bold;">Aturan Penamaan dan Jangkauan (scope)</span>
<br />Ketika deklarasi variabel dieksekusi, komputer akan menyediakan tempat di memori untuk variabel tersebut. Nama variabel dapat digunakan oleh kode program untuk mengacu pada alamat di mana data tersebut disimpan di dalam memori. Bagian di dalam kode sumber (yaitu program Java yang kita tulis, masih dalam bentuk yang dimengerti manusia sebelum dikompilasi menjadi bahasa mesin) di mana variabel tersebut valid dan bisa digunakan disebut jangkauan variabel. Bukan hanya variabel yang memiliki jangkauan, tetapi juga nama subrutin dan nama parameter formal.
<br />Untuk subrutin statik, jangkauannya lebih mudah dipahami. Jangkauan subrutin statik adalah kelas di mana ia didefinisikan. Kita bisa juga memanggil subrutin itu dari dalam kelas dirinya sendiri. Dalam pemrograman tingkat lanjut, teknik ini disebut rekursi (recursion), yaitu subrutin yang memanggil dirinya sendiri.
<br />Untuk variabel anggota suatu kelas, aturannya sama, tetapi dengan sedikit pengecualian. Kita boleh memiliki variabel lokal atau parameter formal yang namanya sama dengan variabel anggota static. Jika ini terjadi, maka variabel anggota akan disembunyikan oleh Java. Dalam contoh berikut :
<br />
<br /><span style="font-weight:bold;">public class Game {
<br /> static int hitung; // variabel anggota
<br /> static void mainGame() {
<br /> int hitung; // variabel lokal
<br /> .
<br /> . // Perintah untuk main game
<br /> .
<br /> }
<br /> .
<br /> . // Variabel dan subrutin lain
<br /> .
<br /> } // akhir kelas Game</span>
<br />
<br />Kita lihat bahwa dalam subrutin mainGame(), "hitung" mengacu pada dua hal yaitu variabel lokal dan variabel anggota statik. Di luar kelas Game, "hitung" hanya mengacu pada variabel anggota statik. Dalam situasi seperti ini, di dalam subrutin mainGame() maka "hitung" sebagai variabel anggota akan disembunyikan oleh Java. Untuk menggunakan variabel anggota ini, kita bisa menggunakan nama lengkapnya yaitu <span style="font-weight:bold;">Game.hitung</span>. Akan tetapi trik ini tidak bisa digunakan untuk variabel anggota yang tidak statik.
<br />Jangkauan parameter formal di dalam suatu subrutin berada di dalam blok di mana ia dideklarasikan. Sehingga pada<span style="font-weight:bold;"> "for (int i=0; i<10; i++)"</span> variabel i hanya bisa di lihat di dalam blok perulangan for, tetapi tidak valid di luar perulangan ini meskipun pada subrutin yang sama.
<br />Akan tetapi kita tidak boleh mendeklarasikan parameter formal dengan nama yang sama dengan variabel lokal yang berlaku di sana.Contohnya:
<br />
<br /><span style="font-weight:bold;">void subrutinJelek(int y) {
<br /> int x;
<br /> while (y > 0) {
<br /> int x; // ERROR: x sudah didefinisikan sebelumnya
<br /> .
<br /> .
<br /> .
<br /> }
<br />}</span>
<br />
<br />Dalam bahasa pemrograman lain, pernyataan di atas masih dibolehkan, yaitu dengan menyembunyikan x pada deklarasi sebelumnya. Akan tetapi pada Java, segera setelah blok yang memuat suatu variabel selesai, namanya bisa dipergunakan kembali.Contohnya:
<br />
<br /><span style="font-weight:bold;">void subrutinBagus(int y) {
<br /> while (y > 10) {
<br /> int x;
<br /> .
<br /> .
<br /> .
<br /> // Jangkauan x berakhir di sini
<br /> }
<br /> while (y > 0) {
<br /> int x; // OK: Deklarasi x sebelumnya sudah kadaluarsa
<br /> .
<br /> .
<br /> .
<br /> }
<br />}</span>
<br />
<br />Ada beberapa hal lain yang menarik di Java. Nama subrutin dan variabel boleh sama, karena komputer akan selalu dapat membedakan mana subrutin atau variabel dengan melihat tanda buka kurung '(' setelah namanya. Variabel tidak pernah menggunakan tanda kurung setelah namanya. Sehingga suatu kelas boleh memiliki variabel anggota yang bernama "hitung" dan subrutin yang bernama "hitung()".
<br />Lebih jauh lagi, nama suatu kelas boleh menggunakan nama subrutin atau variabel yang sudah ada. Komputer bisa melihat apakah suatu nama berupa kelas, variabel atau subrutin. Kelas adalah juga tipe data, sehingga suatu kelas bisa digunakan untuk mendeklarasikan variabel dengan tipe kelas tersebut, atau membuat subrutin yang keluarannya bertipe kelas tersebut.
<br />Atau sebagai contoh, perintah berikut bisa diterima oleh program Java :
<br />
<br /><span style="font-weight:bold;">static Test Test(Test Test) {
<br /> .
<br /> .
<br /> .
<br />}</span>
<br />
<br />Test pertama adalah tipe keluaran suatu fungsi. Test kedua adalah nama subrutin. Yang ketiga adalah tipe data parameter, dan keempat adalah nama parameter normal.
<br />Selamat belajar.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-34440748663183017012010-06-10T17:35:00.000-07:002010-06-10T17:42:08.153-07:00System input dari key boardMembaca <span style="font-weight:bold;">input</span> dari key board<br />Untuk membaca inputan dari program java kita membutuhkan suatu tool program.<br />Java menyiapkan tools yang namanya <span style="font-weight:bold;">System.in</span> sebagai input stream untuk mendapatkan input berbasis teks dari keyboard, sedangkan input yang berbasis grafis menggunakan kelas <span style="font-weight:bold;">JTekxtField</span> atau <span style="font-weight:bold;">JTextArea</span>.<br />Karena <span style="font-weight:bold;">System.In</span> adalah <span style="font-weight:bold;">Input stream</span>, agar input bisa didapat melalui pembacaan maka perlu di <span style="font-weight:bold;">Enkapsulasi</span>.<br />Berikut ini adalah langkah langkah dari proses enkapsulasi:<br /><br /> <span style="font-weight:bold;">InputStreamReader isr = new InputStreamReader(System.in);<br /></span><br /> <span style="font-weight:bold;">BufferedReader buf = new BufferReader(isr);</span><br /><br /> <span style="font-weight:bold;">Stringstr = buf.readLine();</span> // String dapat diperoleh dengan memanggil readLine90 dari objek milik kelas BufferedReader.<br /><br />Penggunaan method readLine() dilakukan didalam blok try-catch.<br /><br /><span style="font-weight:bold;">Ada tiga cara memasukan data melalui key board yaitu:<br /></span><br />1. Menggunakan <span style="font-weight:bold;">method readLine()</span> yang dipanggil melalui objek milik kelas BufferReader.<br /><br />2. Menggunakan <span style="font-weight:bold;">method showInputDialog()</span> yang langsung dipanggil dari class JOptionPane.<br /><br />3. Menggunakan <span style="font-weight:bold;">method next() </span>yang dipanggil dari objek milik class scanner.<br /><br /><br />Contoh dalam penulisan program:<br /><br /><span style="font-weight:bold;">import java.io.*;<br /><br />class DemoInputString {<br /> public static void main(String[] args) throws IOException {<br /> <br /> System.out.print("Masukkan nama Anda: ");<br /> <br /> String nama;<br /> <br /> InputStreamReader isr = new InputStreamReader(System.in);<br /> BufferedReader br = new BufferedReader(isr);<br /> <br /> nama = br.readLine();<br /> <br /> System.out.println("Halo " + nama + <br /> ", sudahkah Anda mengerti Java?"); <br /> }<br />}</span><br /><br />Beberapa contoh script silahkan klik:<br /><a href="http://www.ziddu.com/download/10236306/Systeminput.rar.html">http://www.ziddu.com/download/10236306/Systeminput.rar.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-15143425717452884912010-06-10T08:45:00.000-07:002010-06-10T08:56:20.982-07:00Kelas Dalam StringKelas String memodelkan deretan karakter.Kelas ini terdapat dalam package java.lang.<br />Sesuai dengan kuantitas constructornya,<br />ada 7 cara untuk membuat object String :<br /><br />1. <span style="font-weight:bold;">String();</span> // cara 1<br /><br />2.<span style="font-weight:bold;"> String(String value);</span> // cara 2 <br /><br />3.<span style="font-weight:bold;"> String(char value[]);</span> // cara 3<br /><br />4. <span style="font-weight:bold;">String(byte ascii[], int hibyte);</span> // cara 4<br /><br />5.<span style="font-weight:bold;"> String(char value[],int offset,int count); </span> // cara 5<br /><br />6. <span style="font-weight:bold;">String(byte ascii[], int hibyte, int offset, int count);</span> // cara 6<br /><br />7. <span style="font-weight:bold;">String(StringBuffer buffer);</span> // cara 7Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-39483132949218482712010-06-10T07:37:00.000-07:002010-06-10T08:11:13.664-07:00Package dalam bahasa pemograman JAVAPengertian <span style="font-weight:bold;">package</span> adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.<br />Secara fisik, <span style="font-weight:bold;">package</span> dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.<br />Package mempengaruhi mekanisme hak akses ke kelas didalamnya.<br />Ada tiga langkah dalam membuat<span style="font-weight:bold;"> package</span> yaitu:<br /><br />1.Mendeklarasikan dan memberi nama package.<br />2.Membuat struktur dan nama folder yang sesuai dengan struktur dan nama package.<br />3.Mengkompilasikan kelas kelas sesuai dengan nama package masing masing.<br /><br />Mendeklarasikan dan memberi nama package.<br />Deklarasi package harus diletakan pada bagian paling awal darisuatu source code setiap kelas yang dibungkus package tersebut.<br /><br />Bentuk umum deklarasi package:<br /><br /> <span style="font-weight:bold;">package namaPackage;</span><br /><br />Deklarasi tersebut akan memberitahukan interpreter,libraey kelas/ interface yang manakah yang dirujuk dan digunakan.<br /><br /><span style="font-weight:bold;">Syarat nama package:</span><br />1. Diawali huruf kecil<br />2. Menggambarkan kelas kelas yang dibungkusnya.<br />3. Harus unik<br />4. Merepresentasikan path dari package tersebut.<br />5. Harus sama direktorinya.<br /><br />Contoh <span style="font-weight:bold;">package standard:</span><br /><br />Berisi kelas fundamental yang sering digunakan : <span style="font-weight:bold;">java.lang</span><br />Berisi kelas untuk membangun GUI: <span style="font-weight:bold;">java.awt</span> dan <span style="font-weight:bold;">java.swing</span><br />Berisi kelas untuk proses input output: <span style="font-weight:bold;">java.io</span><br /><br />Membuat Struktur direktori<br /><br />langkah langah dalam pembuatan direktori mengunakan file manager sesuai struktur package dari langkah yang kita buat sebelumnya. kemudian tempatkan kelas kelas tersebut kedirektori yang bersesuaian.<br />Package dapat bersarang di package lain,sehingga dapat dibuat hirarki package.<br /><br />Contoh bentuk umum pernyataan <span style="font-weight:bold;">package multilevel:</span><br /><br /> <span style="font-weight:bold;">package namaPackage1[.namaPackage2[.namaPackage3]];</span><br /><br />Contoh <span style="font-weight:bold;">hirarki package di JDK:</span><br /><br /> <span style="font-weight:bold;"> package java.awt.image;</span><br /><br /><br />Selanjutanya setiap kelas dalam package tersebut,masing masing dikompilasi menjadi byte code(*.class), sehingga package tersebut siap digunakan.<br /><br /><span style="font-weight:bold;">Menggunakan package<br /></span><br />Ada dua cara menggunakan suatu package yaitu:<br /><br />1. kelas menggunakan suatu package,berada dalam direktori yang sama dengn kelas kelas yang digunakan,sehingga tidak diperlukan import.<br /><br />2. Kelas yang menggunakan suatu package,berada dalam direktori yang berbeda dengan kelas kelas yang digunakan, sehingga pada awal source code di kelas yang menggunakan harus mencantumkan:<br /><br /> <span style="font-weight:bold;">import namaPackage.NamaKelas;</span> atau<br /> <span style="font-weight:bold;">import namaPackage.*;</span><br /><br />Contoh : <br /><br /> <span style="font-weight:bold;">import java.text.DecimalFormat;<br /> import javaxc.swing.*;</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-20933537700125283342010-05-15T08:36:00.000-07:002010-06-09T21:54:24.175-07:00Perulangan for dalam JAVAPerulangan for<br />Posted Jum, 02/20/2009 - 07:07 by belajarprogram<br />Versi ramah cetakVersi ramah cetak<br />Sumber :http://java.lyracc.com<br />Kita akan membahas bentuk perulangan lain, yaitu perulangan for. Setiap bentuk perulangan for dapat diubah menjadi bentuk perulangan while dengan fungsi yang sama tanpa mengubah alur program. Tetapi tergantung dari permasalahan yang akan kita pecahkan, menulis program dengan for akan membuat alur program lebih mudah dipahami.<br /><br />Misalnya, kita akan menghitung 1+2+3+4+5+...+100. Kita bisa ekspresikan program tersebut dalam bentuk<br /><br /><span style="font-weight:bold;">i = 1;<br />jumlah = 0;<br />while (i <= 100) {<br /> jumlah += i;<br /> i++;<br />}</span><br /><br />Perulangan ini dapat ditulis juga dengan<br /><br /><span style="font-weight:bold;">jumlah = 0;<br />for (i = 1; i <= 100; i++)<br /> jumlah += i<br /></span><br />Apa point-point penting yang kita lihat dari perubahan ini? Pertama mari kita lihat bentuk penggunaan while yang umum dilakukan<br /><br /><span style="font-weight:bold;">inisialisasi variabel<br />while (suatu_kondisi_variabel) {<br /> perintah<br /> update_variabel<br />}</span><br /><br />Di sini perulangan while memiliki 3 komponen penting, yaitu <span style="font-weight:bold;">inisialisasi</span>,untuk memberikan nilai awal suatu variabel, <span style="font-weight:bold;">suatu_kondisi_variabel</span>, yaitu pengujian bahwa perulangan akan terus dilakukan selama kondisi ini bernilai true, dan terakhir <span style="font-weight:bold;">update_variabel</span>, yaitu instruksi mengubah nilai kondisi variabel untuk membatasi perulangan sehingga akan selesai suatu saat, tidak berulang terus menerus.<br /><br />Pada perulangan for, ketiga komponen ini dirangkai menjadi satu dalam bentuk<br /><br /><span style="font-weight:bold;">for (inisialisasi_variabel; kondisi_variabel; update_variabel)<br /> perintah</span><br /><br />atau jika perintah merupakan blok yang terdiri dari banyak perintah, dapat dituliskan juga dalam bentuk<br /><br /><span style="font-weight:bold;">for (inisialisasi_variabel; kondisi_variabel; update_variabel) {<br /> banyak_perintah<br />}</span><br /><br />Di sini inisialisasi variabel bisa berupa apa saja yang berbentuk perintah, misalnya memberikan variabel dengan nilai awal tertentu, dalam bentuk <span style="font-weight:bold;">variabel = nilai_awal</span>.<br /><br />kondisi_variabel harus berbentuk pernyataan boolean seperti suatu_kondisi pada pernyataan while. Sedangkan update_variabel juga berbentuk perintah.<br /><br />inisialisasi_variabel, kondisi_variabel, atau update_variabel dapat dikosongkan dan tidak harus selalu diisi. Bagian yang tidak diisi yang selalu digantikan dengan true, yang artinya perulangan akan terus dieksekusi tanpa henti. Untuk menghentikannya, perintah break harus diberikan ditengah-tengah badan perulangan.<br /><br />Bentuk paling umum dari perulangan for adalah menghitung. Biasanya perulangan ini memiliki bentuk seperti<br /><br /><span style="font-weight:bold;">for (variabel = nilai_minimum; variabel <= nilai_maksimum; variabel++) {<br /> perintah<br />}</span><br /><br />Perhatikan bagian terakhir adalah menaikkan nilai variabel dengan 1, yang artinya perulangan akan dimulai dengan nilai_minimum, diakhiri dengan nilai_maksimum dengan jeda 1.<br /><br />Contoh, jika kita ingin berhitung 2,5,8,11,14,17, atau dengan kata lain, mulai dari 2 hingga 17 dengan jeda 3, kita bisa mengekspresikan for dengan<br /><br /><span style="font-weight:bold;">for (i = 2; i <= 17; i += 3) {<br /> System.out.println(i);<br />}</span><br /><br />Untuk menghitung mundur, kita bisa menggunakan perintah seperti<br /><br /><span style="font-weight:bold;">for (i = 20; i >= 0; i--) {<br /> System.out.println(i);<br />}</span><br /><br />Atau jika kita ingin menghitung maju dan mundur pada saat yang bersamaan, misalnya i dari 1 hingga 10 dan j dari 10 hingga 1, kita bisa ekspresikan dengan<br /><br /><span style="font-weight:bold;">for (i = 1, j = 10; i <= 10; i++, j--) {<br /> System.out.println(i + " " + j);<br />}</span><br /><br />Catatan penting! Variabel yang akan digunakan, dalam contoh di atas i dan j, adalah variabel yang harus dideklarasikan sebelumnya. Java adalah bahasa pemrograman ketat, yang artinya semua harus didefinisikan dengan jelas sebelum digunakan. Untuk banyak kasus, deklarasi variabel dan perulangannya bisa dilakukan serentak pada bagian inisialisasi variabel. Misalnya<br /><br /><span style="font-weight:bold;">for (int i = 1; i <= 10; i++) {<br /> System.out.println(i)<br />}</span><br /><br />Perhatikan ada imbuhan int di depan inisialisasi variabel i, yang merupakan deklarasi variabel i dengan tipe data int sekaligus menginisialisasi nilainya dengan 1.<br /><br />Perulangan for bertingkat<br /><br />Seperti pada perulangan while, perulangan for pun dapat dilakukan bertingkat, artinya perulangan for di dalam perulangan for.<br /><br />Kita ambil contoh sederhana misalnya membuat tabel perkalian seperti<br /><br /> 1 2 3 4 5 6 7 8 9 10 11 12<br /> 2 4 6 8 10 12 14 16 18 20 22 24<br /> 3 6 9 12 15 18 21 24 27 30 33 36<br /> 4 8 12 16 20 24 28 32 36 40 44 48<br /> 5 10 15 20 25 30 35 40 45 50 55 60<br /> 6 12 18 24 30 36 42 48 54 60 66 72<br /> 7 14 21 28 35 42 49 56 63 70 77 84<br /> 8 16 24 32 40 48 56 64 72 80 88 96<br /> 9 18 27 36 45 54 63 72 81 90 99 108<br />10 20 30 40 50 60 70 80 90 100 110 120<br />11 22 33 44 55 66 77 88 99 110 121 132<br />12 24 36 48 60 72 84 96 108 120 132 144<br /><br />Program untuk membuat tabel perkalian tersebut bisa diekspresikan dengan algoritma pseudocode sebagai berikut<br /><br /><span style="font-weight:bold;">untuk setiap baris i = 1,2,3...,12<br /> cetak perkalian i dengan 1,2,3..12<br /> cetak baris baru</span><br /><br />Kalau kita jabarkan lebih lanjut, perintah kedua juga merupakan perulangan dari 1 hingga 12, sehingga algoritma di atas bisa kita tulis sebagai<br /><br /><span style="font-weight:bold;">untuk setiap baris i = 1,2,3...,12<br /> untuk setiap kolom j = 1,2,3...,12<br /> cetak i*j<br /> cetak baris baru</span><br /><br />Kita bisa terjemahkan ke dalam bahasa Java sebagai<br /><br /><span style="font-weight:bold;">for (int i = 1; i <= 12; i++) {<br /> for (int j = 1; j <= 12; j++) {<br /> System.out.print(i*j + " ");<br /> }<br /> System.out.println("");<br />}</span><br /><br />Berikut ini adalah contoh program yang bisa diunduh dalam bentuk zip file atau dari gudang SVN di alamat http://belajarjava.googlecode.com/svn/trunk/TabelPerkalian :<br /><br /><span style="font-weight:bold;">package tabelperkalian;<br /> <br />public class TabelPerkalian {<br /> <br /> /**<br /> * @param args<br /> */<br /> public static void main(String[] args) {<br /> // TODO Auto-generated method stub<br /> for (int i = 1; i <= 12; i++) {<br /> for (int j = 1; j <= 12; j++) {<br /> System.out.print(i*j + " ");<br /> }<br /> System.out.println("");<br /> }<br /> }<br />}<br /></span><br /><br /><br />Sumber :http://java.lyracc.comUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-8379353325590881551.post-44225581626806464612010-05-15T08:29:00.000-07:002010-05-15T08:35:01.957-07:00Blok, Perulangan, dan Percabangan Dalam JAVABlok, Perulangan, dan Percabangan<br />Posted Sen, 02/16/2009 - 00:29 by belajarprogram<br />Versi ramah cetakVersi ramah cetak<br />Sumber:http://java.lyracc.com<br />Kemampuan suatu program untuk melakukan tugas kompleks dilakukan dengan menggabungkan perintah sederhana menjadi struktur kontrol. Dalam bahasa Java, ada 6 struktur tersebut, yaitu blok, perulangan while, perulangan do ... while, perulangan for, pernyataan if, dan pernyataan switch.<br /><br />Masing-masing struktur ini sebetulnya merupakan pernyataan tunggal yang berdiri dengan sendirinya, tetapi di dalamnya terdiri dari satu atau lebih perintah sehingga keseluruhannya menjadi suatu struktur perintah.<br /><br /><span style="font-weight:bold;">Blok</span><br /><br />Blok adalah pernyataan sederhana yang dimulai dengan { dan diakhiri dengan }. Tujuannya untuk mengelompokkan beberapa perintah sehingga lebih dimengerti. Misalnya<br /><br /><span style="font-weight:bold;">{<br /> perintah<br />}</span><br /><br />Pernyataan blok biasanya terdapat dalam struktur kontrol, tetapi sebetulnya tanpa struktur kontrol pun, blok tetap berlaku. Contoh sederhana penggunaan blok ini adalah dalam subrutin main() yang kita lakukan pada contoh-contoh sebelumnya.<br /><br />Berikut ini adalah 2 contoh penggunaan blok.<br /><br /><span style="font-weight:bold;">{<br /> System.out.println("Hallo");<br /> System.out.println("Dunia");<br />}<br /> <br />{ // blok ini digunakan untuk menukar isi variable x dan y<br /> int temp;<br /> temp = x;<br /> x = y;<br /> y = temp;<br />}</span><br /><br />Pada blok kedua, kita mendeklarasikan variable baru temp. Dalam blok kedua ini, variabel apapun yang dideklarasikan tidak akan dapat diakses dari luar blok ini. Variabel ini disebut variabel lokal, karena hanya bisa diakses dari dalam blok.<br /><br />Ketika komputer menjalankan program ini, komputer akan mempersiapkan memori untuk menyimpan variabel yang dideklarasikan di dalam blok ini. Ketika blok ini selesai dijalankan, komputer akan melepas memori yang digunakan dalam blok ini untuk digunakan oleh bagian program lain.<br /><br />Konsep "scope" atau jangkauan pada konsep pemrograman, mengacu pada bisa atau tidaknya suatu variabel dilihat oleh bagian program lain. Jangkauan suatu variabel menyatakan di bagian mana variabel ini valid atau dengan kata lain bisa diakses. Jangkauan variabel dalam suatu blok terbatas hanya pada blok tersebut.<br /><br />Blok sendiri sebetulnya bukan merupakan struktur kontrol. Program akan berjalan seperti biasa dari atas kebawah seperti biasa. Secara umum struktur kontrol dibagi menjadi 2 bagian, yaitu : perulangan dan percabangan.<br /><br /><span style="font-weight:bold;">Perulangan</span><br /><br />Sebagai contoh untuk membahas tentang perulangan, kita lihat pernyataan while, yang memiliki bentuk seperti<br /><br /><span style="font-weight:bold;">while (suatu_kondisi) {<br /> perintah<br />}</span><br /><br />Semantik pada pernyataan while tersebut adalah sebagai berikut. Ketika komputer sampai pada pernyataan while, komputer akan melakukan perhitungan pada suatu_kondisi. Apabila suatu_kondisi bernilai true, blok yang berisi perintah akan dilakukan. Setelah komputer sampai pada bagian akhir blok, komputer akan menghitung kembali suatu_kondisi. Jika masih bernilai true, maka blok tersebut akan dieksekusi, dan jika tidak, program akan melompat ke bagian program berikutnya setelah blok berakhir. Atau dengan kata lain, jika suatu_kondisi bernilai false, blok perintah tidak akan dieksekusi.<br /><br />Berikut ini adalah contoh untuk menulis bilangan 1 hingga 5.<br /><br /><span style="font-weight:bold;">int angka = 1; // inisialisasi variabel, kita mulai dengan mengisi variabel angka dengan 1<br /> <br />while (angka <= 5) {<br /> System.out.println(angka); // cetak isi angka di layar<br /> angka = angka + 1; // tambah angka dengan 1<br />}<br /> <br />System.out.println("Selesai...");<br /></span><br />Variabel angka kita inisialiasi (persiapkan) dan kita isi mula-mula dengan 1. Ketika program sampai pada pernyataan while, program akan mengevaluasi apakah angka <= 5. Pada saat program baru dimulai, angka masih bernilai 1, sehingga pernyataan angka <= 5 bernilai true. Dalam hal ini perintah di dalam blok akan dieksekusi, yaitu mencetak angka ke layar, kemudian menambah angka dengan 1. Sekarang angka bernilai 2.<br /><br />Setelah sampai pada akhir blok, program akan kembali pada awal pernyataan while. Sekarang angka bernilai 2, dan karena 2 masih kurang dari atau sama dengan 5, program akan kembali mengeksekusi perintah dalam blok. Begitu seterusnya hingga angka bernilai 6. Pada saat ini program akan berhenti melakukan perulangan dan berhenti melakukan eksekusi perintah di dalam blok tersebut, kemudian melakukan perintah berikutnya, yaitu menampilkan kata "Selesai...".<br /><br /><span style="font-weight:bold;">Percabangan</span><br /><br />Pernyataan if memperintahkan komputer untuk memilih salah satu aksi yang akan dilakukan, tergantung pada suatu kondisi tertentu. Bentuknya dapat ditulis sebagai berikut<br /><br /><span style="font-weight:bold;">if (suatu_kondisi)<br /> perintah_1;<br />else<br /> perintah_2;<br /></span><br />Perintah_1 dan perintah_2 juga bisa berbentuk blok, sehingga pernyataan di atas dapat ditulis juga sebagai berikut<br /><br /><span style="font-weight:bold;">if (suatu_kondisi) {<br /> perintah_1;<br />} else {<br /> perintah_2;<br />}</span><br /><br />Ketika komputer sampai pada pernyataan if, komputer akan menghitung apakah suatu_kondisi bernilai true. Jika iya, maka blok perintah berikutnya akan dieksekusi, dalam hal ini perintah_1. Jika tidak, maka blok setelah pernyataan else akan dieksekusi, yaitu perintah_2.<br /><br />Sebagai contoh, mari kita kembali pada contoh program untuk membalik nilai x dan y, dengan syarat x harus lebih besar dari y. Dalam hal ini, setelah program ini dieksekusi, nilai x akan selalu bernilai lebih kecil dari y, karena jika nilai x lebih besar, nilai x akan ditukar dengan nilai y.<br /><br /><span style="font-weight:bold;">if (x > y) { // jika x lebih besar dari y<br /> // blok ini digunakan untuk menukar isi variable x dan y<br /> int temp;<br /> temp = x;<br /> x = y;<br /> y = temp;<br />}</span><br /><br />Contoh berikut adalah program untuk menentukan apakah suatu bilangan merupakan bilangan genap atau bilangan ganjil. Dengan menggunakan operator %, yaitu sisa pembagian, kita dapat menentukan apabila sisa pembagian suatu bilangan dengan 2 adalah 0, maka bilangan tersebut merupakan bilangan genap. Jika tidak, maka bilangan tersebut adalah bilangan ganjil.<br /><br /><span style="font-weight:bold;">if ((x % 2) == 0) {<br /> System.out.println(x + " adalah bilangan genap");<br />} else {<br /> System.out.println(x + " adalah bilangan ganjil");<br />}</span><br /><br />Kita akan bahas tentang struktur kontrol di bagian berikutnya. Semoga bagian ini yang merupakan bagian pendahuluan tentang struktur kontrol dapat dimengerti sehingga kita bisa mempelajari konsep yang lebih kompleks lagi.<br /><br />Sumber:http://java.lyracc.comUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-24780154291613674722010-05-15T08:00:00.000-07:002010-06-10T17:56:42.474-07:00Pernyataan whilePernyataan while<br /><span style="font-weight:bold;">Sumber :http://java.lyracc.com/artikel/java-untuk-pemula/while-dan-do-while</span><br />Pernyataan while telah diperkenalkan pada bagian sebelumnya. Perulangan while memiliki bentuk<br /><br /><span style="font-weight:bold;">while (suatu_kondisi)<br />perintah</span><br /><br />perintah bisa juga berupa blok yang berisi kumpulan perintah-perintah di antara { dan }. perintah ini disebut juga dengan inti perulangan. Inti perulangan akan terus dieksekusi selama suatu_kondisi bernilai true. suatu_kondisi ini disebut juga penguji perulangan.<br /><br />Ada beberapa hal yang mungkin jadi pertanyaan. Apa yang terjadi jika suatu_kondisi sudah bernilai false sejak pertama kali komputer sampai pada pernyataan ini? Dalam hal ini blok perulangan tidak akan dieksekusi sama sekali. Program akan melompat ke perintah berikutnya di luar blok perulangan.<br /><br />Lalu apa yang terjadi jika suatu_kondisi bernilai false di tengah-tengah perulangan, apakah program keluar dari perulangan saat itu juga? Dalam hal ini, tentunya tidak. Program akan mengeksekusi semua perintah hingga akhir blok selesai. Setelah itu program akan kembali ke pernyataan while, dan setelah mengevaluasi kembali suatu_kondisi, dan jika hasilnya salah, baru program akan melompat ke perintah berikutnya di luar blok.<br /><br />Mari kita ubah sedikit algoritma yang kita buat di bagian sebelumnya. Kali ini kita akan membuat program yang menghitung rata-rata dengan cara menanyakan suatu bilangan kepada user, kemudian program akan berhenti jika masih ada data yang akan diproses.<br /><br />Inisialisasi jumlah dengan 0<br />Inisialisasi n (berapa data yang dimasukkan user) dengan 0<br />while (masih ada data yang akan diproses):<br /> Minta input dari user<br /> Tambah jumlah dengan input dari user<br /> Tambah n dengan 1<br />Bagi jumlah dengan n untuk menghitung rata-rata<br />Cetak rata-rata ke layar<br /><br />Pertanyaan berikutnya, bagaimana menentukan masih ada data yang akan diproses? Cara yang paling mudah adalah melihat apakah nilai yang dimasukkan user bernilai 0. Nol di sini bukan termasuk data yang akan dijumlahkan tetapi bertugas sebagai sinyal bahwa tidak ada lagi data yang harus dimasukkan.<br /><br />Lalu bagaimana kita harus menguji bahwa data yang dimasukkan bernilai 0 atau bukan? (Ingat, kita baru menanyakan data di dalam blok perulangan. Pada saat komputer pertama kali menemui perulangan while, komputer tidak tahu apa-apa.) Dalam hal ini, kita akan sedikit ubah algoritma kita seperti berikut :<br /><br /><span style="font-weight:bold;">Inisialisasi jumlah dengan 0<br />Inisialisasi n (berapa data yang dimasukkan user) dengan 0<br />Minta input dari user<br />while (input tidak sama dengan 0):<br /> Tambah jumlah dengan input dari user<br /> Tambah n dengan 1<br /> Minta input dari user<br />Bagi jumlah dengan n untuk menghitung rata-rata<br />Cetak rata-rata ke layar</span><br /><br />Pada dasarnya, kita tanyakan user terlebih dahulu sebelum perulangan while. Dengan cara ini, kita bisa mendapat nilai input untuk dievaluasi pada pernyataan while. Di dalam perulangan while, kita tempatkan pertanyaan untuk mendapat input dari user di akhir perulangan. Artinya, setelah kita memproses input dari user, kita akan tanyakan lagi kepada user untuk mendapatkan kondisi untuk mengevaluasi kondisi while berikutnya.<br /><br />Perhatikan juga bahwa ketika 0 dimasukkan, program tidak akan menghitung nilai 0 lagi. Di algoritma sebelumnya, nilai 0 akan ikut dijumlahkan dan n akan bertambah 1, padahal 0 bukan data. Nol hanya berfungsi sebagai sinyal bahwa perulangan harus selesai. Masalah ini sangat amat umum ditemui oleh programmer, karena menghitung satu demi satu ternyata tidak mudah. Untuk itu debugger diperlukan untuk melihat lebih detail apa yang dilakukan oleh komputer.<br /><br />Kita bisa ubah algoritma di atas menjadi program Java sebagai berikut. (Seperti biasa program ini bisa diunduh dalam bentuk zip file atau di alamat SVN berikut: http://belajarjava.googlecode.com/svn/trunk/RataRata )<br /><br /><span style="font-weight:bold;">package ratarata;<br /> <br />import java.io.*;<br /> <br />public class RataRata {<br /> <br /> /**<br /> * @param args<br /> */<br /> public static void main(String[] args) {<br /> // TODO Auto-generated method stub<br /> double jumlah = 0;<br /> double bilangan = 0;<br /> int n = 0;<br /> BufferedReader br = new BufferedReader(new InputStreamReader(System.in));<br /> String strbilangan = null;<br /> <br /> System.out.print("Masukkan bilangan pertama : ");<br /> try {<br /> strbilangan = br.readLine();<br /> } catch (IOException ioe) {<br /> System.out.println("Kesalahan IO, program berhenti");<br /> System.exit(1);<br /> }<br /> <br /> // mengubah input menjadi double agar bisa diproses lebih lanjut<br /> bilangan = Double.parseDouble(strbilangan);<br /> <br /> while (bilangan != 0) {<br /> jumlah += bilangan; // sama dengan : jumlah = jumlah + bilangan<br /> n++; // sama dengan : n = n+1<br /> <br /> // tanya user input<br /> System.out.print("Masukkan bilangan berikutnya (atau 0 untuk mengakhiri) : ");<br /> try {<br /> strbilangan = br.readLine();<br /> } catch (IOException ioe) {<br /> System.out.println("Kesalahan IO, program berhenti");<br /> System.exit(1);<br /> }<br /> <br /> // mengubah input menjadi double agar bisa diproses lebih lanjut<br /> bilangan = Double.parseDouble(strbilangan);<br /> }<br /> <br /> // hitung rata-rata<br /> double ratarata = jumlah/n;<br /> <br /> // cetak hasilnya ke layar<br /> if (n == 0) {<br /> System.out.println("Data kosong, rata-rata tidak bisa dihitung"); <br /> } else {<br /> System.out.println("Anda memasukkan " + n + " data");<br /> System.out.println("Rata-rata bilangan yang dimasukkan adalah " + ratarata); <br /> }<br /> }<br />}<br /></span><br />Berikut hasil keluarannya :<br /><br />Pernyataan do ... while<br /><br />Kadang-kadang akan lebih mudah menulis perulangan jika penguji perulangan dilakukan di akhir badan perulangan. Dalam hal ini badan perulangan akan dieksekusi terlebih dahulu tanpa memperdulikan apakah suatu kondisi bernilai true atau false. Pengujian dilakukan di akhir setelah suatu kondisi didapat dalam eksekusi perulangan pertama kali.<br /><br />Pernyataan do ... while pada dasarnya merupakan pernyataan while terbalik, dengan bentuk.<br /><br /><span style="font-weight:bold;">do<br /> perintah<br />while (suatu_kondisi);<br /></span><br />Atau apabila perintah berbentuk blok kumpulan perintah-perintah, bisa juga ditulis dalam bentuk<br /><br /><span style="font-weight:bold;">do {<br /> perintah-perintah<br />} while (suatu_kondisi);</span><br /><br />Perlu diingat bahwa pernyataan do ... while diakhiri dengan tanda ; di akhir while.<br /><br />Contoh sederhana adalah program bermain game, di mana game akan menanyakan apakah user ingin bermain lagi.<br /><br /><span style="font-weight:bold;">do {<br /> main game<br /> tanya user apakah ingin main lagi<br />} while (user menjawab ya);</span><br /><br />Jika suatu saat Anda harus menulis kondisi pada pernyataan while seperti ini while (jawaban == true), Anda bisa mengganti pernyataan ini menjadi while (jawaban). Menguji apakah jawaban sama dengan true sama artinya dengan melihat apakah jawaban berisi "true".<br /><br />Demikian juga dengan while (jawaban == false), bisa diganti dengan while (!jawaban). Seperti dijelaskan pada bab tentang operator boolean, operator ! membalik isi dari boolean, misalnya dari true menjadi false atau sebaliknya. Dengan menuliskan while (!jawaban) berarti sama dengan menguji apakah jawaban berisi false.<br /><br />Pernyataan do ... while memberikan keleluasaan kepada Anda untuk berekspresi dengan lebih lugas. Sebenarnya, untuk memecahkan suatu masalah dengan perulangan do ... while juga bisa diekspresikan dengan perintah while, demikian juga sebaliknya.<br /><br /><span style="font-weight:bold;">do<br /> perintah<br />while (suatu_kondisi);</span><br /><br />bisa dituliskan dalam bentuk<br /><br /><span style="font-weight:bold;">perintah<br />while (suatu_kondisi)<br /> perintah<br /></span><br />Demikian juga dengan<br /><br /><span style="font-weight:bold;">while (suatu_kondisi)<br /> perintah</span><br /><br />bisa juga dituliskan dalam bentuk<br /><br /><span style="font-weight:bold;">if (suatu_kondisi) {<br /> do {<br /> perintah<br /> while (suatu_kondisi);<br />}</span><br /><br />tanpa merubah aliran program sama sekali.<br /><br /><span style="font-weight:bold;">Pernyataan break dan continue</span><br /><br />Pernyataan while dan do ... while menguji kondisi di awal atau di akhir badan perulangan. Pengujian bisa juga dilakukan di tengah-tengah badan perulangan, kemudian memerintahkan program untuk keluar dari badan perulangan saat itu juga. Caranya dengan menggunakan perintah<br /><br /><span style="font-weight:bold;">break<code>, sehingga program seperti<br /> <br /><code>while (suatu_kondisi)<br /> perintah</span><br /><br />bisa ditulis dalam bentuk<br /><br /><span style="font-weight:bold;">while (true)<br /> perintah<br /> if (!suatu_kondisi)<br /> break;<br /><code></span><br /> <br /><span style="font-weight:bold;">Apa makna dari program di atas? <code>while (true)</span><br /><br />artinya memerintahkan program untuk melakukan perulangan selamanya, karena true tidak akan berubah. Di tengah-tengah program, kita uji apakah suatu_kondisi bernilai false. Jika ya, maka perintah break akan dieksekusi yang menyebabkan program keluar dari badan perulangan ke perintah berikutnya di luar badan perulangan.<br /><br />Kadang-kadang gaya penulisan ini lebih masuk akal ketimbang gaya penulisan baku seperti while atau do ... while, tapi tentu saja ini tergantung dari cara pikir masing-masing programmer dan juga masalah yang akan dipecahkan.<br /><br />Pernyataan while atau do ... while dapat dibuat bertingkat, misalnya membuat blok while dalam blok while.<br /><br /><span style="font-weight:bold;">while (suatu_kondisi) {<br /> perintah<br /> while (kondisi_lain) {<br /> perintah_lain<br /> while (kondisi_lain_lagi) {<br /> perintah_baru<br /> }<br /> }<br />}</span><br /><br />Apabila perintah break diberikan, maka program akan keluar dari perulangan yang berada persis di atasnya. Misalnya, apabila perintah break diberikan setelah perintah_lain maka program akan keluar dari dalam perulangan while (kondisi_lain).<br /><br />Perlu diingan juga apabila perintah break diberikan di dalam pernyataan if, maka program akan keluar dari perulangan yang persis di atasnya.<br /><br />Selain perintah break yang secara langsung menghentikan perulangan, perintah continue digunakan untuk menghentikan operasi saat itu, mengabaikan perintah hingga perulangan berakhir, kemudian kembali kepada perintah while lagi. Misalnya,<br /><br /><span style="font-weight:bold;">while (suatu_kondisi) {<br /> perintah<br /> continue;<br /> perintah_lagi<br /> perintah_lain_lagi<br />}</span><br /><br />Perulangan akan menjalankan perintah, mengabaikan perintah_lagi dan perintah_lain_lagi, kemudian kembali kepada pernyataan while untuk mengevaluasi apakah suatu_kondisi bernilai true. Jika ya perulangan akan diteruskan. Tetapi karena ada perintah continue, artinya selama perulangan tersebut berjalan, perintah_lagi dan perintah_lain_lagi tidak akan pernah dieksekusi.<br /><br />Sumber :http://java.lyracc.com/artikel/java-untuk-pemula/while-dan-do-whileUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-8379353325590881551.post-37035979217383425662010-05-14T21:31:00.000-07:002010-05-14T21:32:45.684-07:00Tips penulisan program dalam JavaTips penulisan program dalam Java<br />Untuk menghindari kesalahan sejak dini, pada saat membuat program selalu diusahakan mengetikan deklarasi class secara utuh terlebih dahulu:<br /><span style="font-weight:bold;">Class Hello {}</span><br />Kemudian setelah itu ketikan kode isi dari class didalam antara kurung kurawal :<br /><span style="font-weight:bold;">Class Hello {<br />// Isi class<br />}</span><br />Hal ini untuk mencegah error dini terjadinya syntax error( error karena kurang penutup kurung kurawal). Demikian juga ketika membuat deklarasi untuk method main;<br /><span style="font-weight:bold;">Class Hello{<br />Public static void main(String[])args){}<br />}</span><br />Setelah membuat deklarasi method main dengan lengkap, kemudian barulah kita mengetikan isi dari method tadi.<br /><span style="font-weight:bold;">Class Hello{<br />Public static void main (String[]args){<br />// isi method main}<br />}</span><br />Hal seperti ini yang sering terjadi dan jangan dianggap sepele karena akan menyulitkan kita di akhir penulisan, pada saat kita menjalankan program.<br />Setiap kita membuat program selalu berika baris kosong/ spasi kosong untuk memudahkan dalam membaca program yang kita tulis.<br /><span style="font-weight:bold;">Class Hello{<br />Public static void main (String[]args){<br />// isi method main<br />}<br />}</span><br /><br />Contoh diatas adalah contoh penulisan program yang baik karena terdapat spasi kosong diantara tanda { }.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-8379353325590881551.post-29779603485177767682010-04-30T23:08:00.000-07:002010-05-01T17:33:28.818-07:00Program Java : Kelas HelloMembuat program "Hello semua"<br /><br />Setelah semua software untuk mendukung program java terpasang dengan baik maka kita sudah dapat memulai untuk membuat beberapa program sederhana dalam bahasa java tentunya.<br />Program yang paling sederhana adalah menulis kata " Hello semua"<br />langkah langkah nya adalah sebagai berikut:<br />1. Jalankan text editor <br />2. Tuliskan kode program nya sebagai berikut:<br /><br /><span style="font-weight:bold;">// file program ini harus disimpan dalam nama Hello.java<br /><br /><span style="font-style:italic;">public class Hello { <br />public static void main (String[] args { <br />System.out.println ("Hello semua"); // setiap akhir perintah harus diberi tanda ;<br /> }<br />}</span></span><br />3. Simpan file dengan nama Hello.java<br /><br />Sekarang mari kita telaah kode yang telah kita tulis:<br /><br /><span style="font-style:italic;"><span style="font-weight:bold;">// file program ini harus disimpan dalam nama Hello.java</span><br /></span>Kode dengan // adalah kode yang dipakai di dalam bahasa java untuk memberikan komentar tanpa ikut tereksekusi dalam program.<br />Baris berikutnya adalah sebagai berikut:<br /><span style="font-style:italic;"><span style="font-weight:bold;">public class Hello</span> {</span><br />Bari ini merupakan kata kunci Class untuk mendefinisikan sebuah kelas baru dan diikuti dengan nama kelas nya. tanda kurung kurawal adalah untuk mengawali sebuah blok program;sedangkan tanda kurung kurawal tutup untuk menutup sebuah blok program.<br /><br />Baris selanjutnya adalah <br /><span style="font-style:italic;"><span style="font-weight:bold;">public static void main (String[] args {</span> </span><br />Baris ini akan memulai method main(), yaitu method utama yang pasti dimiliki oleh semua program java dan akan dieksekusi pertama kali pada saat program dijalankan.<br /><br /><span style="font-weight:bold;">Strings[] args</span> adalah method main menerima variabel dengan nama <span style="font-weight:bold;">args</span> dan tipe String sebagai parameter. tanda <span style="font-weight:bold;">[]</span> berarti args merupakan variabel array.<br /><br />Baris selanjutnya dari kode diatas adalah sebagai berikut :<br /><span style="font-weight:bold;">System.out.println ('Hello semua");</span><br />Kode tersebut digunakan untuk menampilkan teks " Hello semua" kelayar out put ( dalam hal ini, layar monitor).<br />terakhir, kode diatas ditutup dengan tanda kurung kurawal tutup ( <span style="font-weight:bold;">}</span> )tanda tersebut digunakan sebagai akhir dari definisi kelas Hello.<br /><br />Setelah itu, lakukan kompilasi program menggunakan perintah <span style="font-weight:bold;">javac</span> pada <span style="font-weight:bold;">command prompt.<br /></span><br />Caranya sebagai berikut:<br /><span style="font-weight:bold;">1.</span> jalankan <span style="font-weight:bold;">command prompt</span> dengan mengetik <span style="font-weight:bold;">cmd</span> pada <span style="font-weight:bold;">run</span> lalu tekan enter keyboard.<br /><span style="font-weight:bold;">2.</span> Masuk ke <span style="font-weight:bold;">drive C</span> dengan mengetik <span style="font-weight:bold;">cd\</span> lalu tekan enter keyboard.<br /><span style="font-weight:bold;">3</span>.Lakukan kompilasi dengan mengetik Javac diikuti nama file java, yaitu <span style="font-weight:bold;">Javac Hello.java</span> lalu tekan enter keyboard.<br />perhatikan bahwa tulisan huruf harus sama dengan yang kita ketik sebelumnya. perhatikan juga huruf besar dan huruf kecilnya.<br />4.Jalankan program dengan mengetik Java diikuti nama file yang telah dikompilasi, tanpa menyertakan<span style="font-weight:bold;">.class</span>.<br />jadi kita ketik : <span style="font-weight:bold;">java Hello</span> maka pada out put akan keluar tulisan <span style="font-weight:bold;">"Hello semua"</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-79339458779310094052010-04-30T22:41:00.000-07:002010-04-30T23:08:18.073-07:00Program Java : Bytecode<span style="font-weight:bold;">Java</span> adalah sebuah bahasa pemograman yang cukup dikenal luas di dunia programer.<br />Dalam sebagian besar bahasa pemograman, sebuah kode program harus di kompilasi dan di terjemahkan(interpet) sehingga dapat dijalankan didalam sebuah komputer.<br />Software untuk menjalankankompilasi di sebut kompiler. dan untuk melakukan interpretasi dibutuhkan sofware interpreter.perbedaan diantara keduanya terletak pada proses eksekusi kodenya.Kompiler akan menerjemahkan isi kode program scara keseluruhan sedangkan interpreter bekerja dengan cara baris demi baris, maka dengan demikian interpreter bekerja lebih lambat di bandingkan kompiler.<br />Untuk program Java menggunakan keduanya. sehingga berarti bahwa Java berperan sebagai Compiler dan interpreter. Konsepnya sederhana mula mula kode program yang ditulis dengan bahasa Java akan dikompilasi menjadi suatu kode objek.<br />Dalam Terminologi Java kode objek ini disebut <span style="font-weight:bold;">Bytecode</span>.Jadi dalam bahasa Java hasil akhir programnya akan berupa bytecode berektansi class, bukan file.EXE.<br />Selanjutnya Bytecode akan dieksekusi baris demi baris oleh interpreter.Dengan demikian, proses kompilasi hanya dilakukan sekali, akan tetapi proses interpet akan dilakukan setiap program di eksekusi.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-34959289468986721322010-03-19T07:54:00.000-07:002011-06-22T22:32:36.844-07:00Kode Huffman<a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman"><b>Kode Huffman</b></a> pada dasarnya merupakan kode Initialize model prefiks (prefix code) yang merupakan himpunan yang berisi sekumpulan kode biner. Kode prefiks direpresentasikan sebagai pohon biner berlabel dimana setiap sisi diberi label 0 (cabang kiri) atau 1 (cabang kanan).<br />Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan.<br />Kode ini pun memiliki berbagai macam variasi antara lain :<br /><br /> 1. <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Adaptive kode Huffman </a><br /> 2. <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Length-Limited kode Huffman </a><br /> 3. <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">N-Ary Huffman Template Algoritma </a><br /> 4. <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Huffman With Unequal Letter Costs</a><br /><br />1.<b> Macam-macam <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Variasi Kode Huffman</a></b><br /><br />A.<b> <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Adaptive kode Huffman</a></b><br />Metode Adaptive digunakan pada saat pembaharuan (update) model algoritma baru baik dari proses kompresi maupun dekompresi<br />Konsep Dasar :<br />Encoder :<br />Initialize_model<br />Repeat for each character<br />{<br />Encode character<br />Update_model<br />}<br />Decoder<br />Initialize_model<br />Repeat for each character<br />{<br />Decode character<br />Update_model<br />}<br />Masalahnya adalah bagaimana meng-update model algoritma yang terdiri dari menambah jumlah dan mengupdate <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">pohon Huffman</a>. Caranya adalah dengan meng-update bagian pohon di mana terjadi proses pemampatan/nirmampat.<br /><br /><a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Pohon Huffman diinisialisasikan</a> dengan simpul single yang dikenal dengan Not-Yet-Transmitted (NYT) Code yang dikirimkan setiap kali ditemukan karakter baru. Algoritma bekerja dengan penomoran yang unik pada simpul dengan jumlah daun yang berbeda.<br /><br />Langkah-langkah peng-update-an model<br />1. Jika kode yang pertama kali ditemukan adalah NYT, maka tambahkan dua simpul pada simpul NYT. Satu simpul sebagai simpul NYT dan simpul yang lain sebagai daun. Tambahkan jumlah daun. Jika bukan NYT, langsung menuju daun.<br /><br />2. Jika pada blok tidak terdapat angka tertinggi, tukarkan dengan angka tertinggi pada blok.<br /><br />3. Tambahkan jumlah dari simpul tersebut. <br /><br />4. Periksa apakah simpul tersebut merupakan simpul akar. Jika bukan pergi ke simpul parent.<br /><br />B.<b> <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Length-Limited Huffman Coding </a></b><br /><br />Variasi Huffman ini digunakan untuk mendapatkan jarak kedalaman terkecil dari suatu simbol, dengan batasan bahwa panjang masing-masing yang dimasukkan tidak kurang dari nilai konstanta yang diberikan. Metode ini biasanya digunakan pada GNU gzip.<br />Langkah-langkah dalam Metode Length-Limited Huffman adalah :<br /><br />1. Memilih dua atau lebih simbol yang ingin dimampatkan<br /><br />2. Gabungkan simbol-simbol tersebut dan gantikan dengan pseudo-symbol beserta frekuensinya.<br /><br />3. Lakukan langkah di atas secara Literatif sampai semua simpul yang ada menjadi satu simpul akar.<br /><br />4. Jika simpul-simpul tersebut memiliki frekuensi yang sama, maka pilihlah simpul dengan kedalaman terpendek.<br /><br />C.<b> <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Binary Huffman Template Algorima</a> </b><br /><br />Algoritma ini sebenarnya mirip dengan <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">algoritma Huffman</a> biasa. Bedanya, pohon Huffman yang digunakan dalam algoritma ini memiliki lebih dari dua akar (0 dan 1). Sementara dengan Huffman template algorithm, memungkinkan untuk menggunakan ukuran non-numerik (ukuran selain biaya dan frekuensi).<br /><br />D.<b> <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Huffman With Unequal Letter Costs</a></b><br />Pada metode ini terdapat suatu permasalahan dimana suatu set kode yang terdiri dari beberapa huruf dengan frekuensi kemunculan dan biaya (cost) yang berbeda. Metode ini ditujukan untuk mencari kode prefiks (prefix code) dan menghitung biaya minimumnya (minimum cost). Prefiks Kode merupakan sekumpulan kode yang prefix-free. Biaya (cost ) dari ini merupakan jumlah biaya dari masing-masing huruf pada kode tersebut.<br />Langkah-langkah umum metode <a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Kode Huffman with Unequal Letter Cost</a> :<br /><br />1. Mencari kode K-Prefiks yang optimal.<br /><br />2. Mengubah kode K-Prefiks menjadi kode prefiks yang optimal.<br /><br />3. Setelah didapat kode hasil kemudian hitung biaya (cost)-nya.<br /><br />Kesimpulan<br /><a href="http://arraydalamprogram.blogspot.com/search/label/Kode%20Huffman">Kode Huffman </a>ternyata memiliki banyak variasi, di antaranya adalah Kode Adaptive Huffman,Kode Length-limited Huffman, n-ary Huffman template algoritma, dan Kode Huffman dengan unequal letter costs. Berbagai teknik ini dapat digunakan pada aplikasi yang berbeda-beda, tetapi umumnya digunakan untuk pemampatan data. Hal ini wajar saja terjadi karena inti dari seluruh variasi teknik ini adalah sama dengan kode Huffman, yaitu memecahkan permasalahan optimasi.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8379353325590881551.post-64266813446714983662010-03-19T07:53:00.001-07:002011-06-22T22:41:26.085-07:00Tree dalam Heap Sort<a href="http://arraydalamprogram.blogspot.com/search/label/Searching"><b>Tree Dalam Heap Sort </b> </a><br /><br />2.1 <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">Pengertian Heap </a><br />Adalah struktur data yang berbentuk pohon yang memenuhi sifat-sifat heap yaitu jika B adalah anak dari A, maka nilai yang tersimpan di simpul A lebih besar atau sama dengan nilai yang tersimpan di simpul B. Hal ini mengakibatkan elemen dengan nilai terbesar selalu berada pada posisi akar, dan heap ini disebut max heap. (Bila perbandingannya diterbalikkan yaitu elemen terkecilnya selalu berada di simpul akar, heap ini disebut adalah <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">min heap</a>). Karena itulah, heap biasa dipakai untuk mengimplementasikan prioriti <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">queue</a>.<br />Operasi-operasi yang digunakan untuk heap adalah :<br /><br />• <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">Delete-max </a>atau delete-min: menghapus simpul akar dari sebuah max atau min heap.<br />• <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">Increase-key</a> atau decrease-key: mengubah nilai yang tersimpan di suatu simpul.<br />• <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">Insert</a>: menambahkan sebuah nilai ke dalam heap.<br />• <a href="http://arraydalamprogram.blogspot.com/search/label/Searching">Merge</a>: menggabungkan dua heap untuk membentuk sebuah heap baru yang berisi semua elemen pembentuk heap tersebut.Unknownnoreply@blogger.com0