<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8105395837529231806</id><updated>2011-11-28T06:47:36.443+07:00</updated><category term='Jam'/><category term='tutorial greenfoot'/><category term='membuat game dengan greenfoot'/><category term='Jam Analog'/><category term='Tetris'/><category term='object + oriented + programming'/><category term='Mouse Input'/><category term='Mouse'/><category term='Greenfoot'/><category term='tutorial'/><category term='object'/><category term='Aplikasi Jam'/><category term='oriented'/><category term='Java'/><category term='Snake'/><category term='snake game'/><category term='belajar Greenfoot'/><category term='contoh game greenfoot'/><category term='membuat game'/><category term='contoh aplikasi greenfoot'/><category term='Objek Oriented Programming'/><title type='text'>Keenan's Greenfoot Blog</title><subtitle type='html'>Tutorial Greenfoot dan Java berbahasa Indonesia. Serta contoh contoh game sederhana yang saya buat dengan menggunakan Greenfooot.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-3934829220364549302</id><published>2010-12-27T20:57:00.003+07:00</published><updated>2010-12-27T22:12:43.298+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='contoh aplikasi greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Jam'/><category scheme='http://www.blogger.com/atom/ns#' term='Aplikasi Jam'/><category scheme='http://www.blogger.com/atom/ns#' term='Jam Analog'/><category scheme='http://www.blogger.com/atom/ns#' term='belajar Greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Analog Clock!!! AAA!!</title><content type='html'>&lt;a href="http://greenfootgallery.org/scenarios/2303"&gt;http://greenfootgallery.org/scenarios/2303&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Asik asik, dari kemaren emang udah kebelet mau buat jam di Greenfoot, akhirnya hari ini kesampaian. :D&lt;br /&gt;Wah source code nya make bahasa Inggris tapi T__T nanti saya terjemahin deh.&lt;br /&gt;&lt;br /&gt;Biasanya bisa dijadikan bahan pelajaran nih kalo ada jam jam begini, hoho.&lt;br /&gt;Jadi ya silahkan di download dan dibaca dokumentasinya dengan (di Greenfoot) klik kelas "ClockWorld" dan tekan Ctrl+J&amp;nbsp; :D&lt;br /&gt;&lt;br /&gt;Untuk yang bahasa Indonesianya diuploadnya ditunda, karena mau memperbaiki sistem pemasukan data di website baru saya. hehe (pake XML lho!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-3934829220364549302?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/3934829220364549302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2010/12/analog-clock-aaa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3934829220364549302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3934829220364549302'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2010/12/analog-clock-aaa.html' title='Analog Clock!!! AAA!!'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-4010142968135898450</id><published>2010-12-26T14:39:00.001+07:00</published><updated>2011-04-30T13:03:51.465+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Tetris'/><category scheme='http://www.blogger.com/atom/ns#' term='membuat game dengan greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='contoh game greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Objek Oriented Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Membuat game tetris!</title><content type='html'>Akhirnya game tetris yang saya buat selesai juga! Gamenya bisa dilihat disini: &lt;a href="http://greenfootgallery.org/scenarios/2296"&gt;http://greenfootgallery.org/scenarios/2296&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pada game tetris ini saya hanya mempunyai beberapa class(kelas) pokok, yaitu: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;TetrisWorld &lt;/b&gt;yang merupakan subclass dari World, disini kita akan banyak membuat gameplay.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tetromino &lt;/b&gt;yang merupakan kelas abstrak, subclass dari Actor, disinilah fisik dan sifat dari blok-blok tetris dibuat. Kelas tetromino ini mempunya banyak subclass(subkelas) yang berupa bentuk bentuk yang sudah tidak abstrak lagi (sudah konkrit). Subkelas tersebut hanya memberikan informasi tentang lokasi dari blok-blok pembentuk tetromino, karena sifat sifatnya sudah terkandung dalam kelas tetromino ini. Berikut ini adalah subkelas dari Tetromino:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;TBlock &lt;/b&gt;- bongkahan tetris berbetuk T&lt;/li&gt;&lt;li&gt;&lt;b&gt;SBlock &lt;/b&gt;- bongkahan tetris berbetuk S &lt;/li&gt;&lt;li&gt;&lt;b&gt;OBlock &lt;/b&gt;- bongkahan tetris berbetuk O&lt;/li&gt;&lt;li&gt;&lt;b&gt;LBlock &lt;/b&gt;- bongkahan tetris berbetuk L&lt;/li&gt;&lt;li&gt;&lt;b&gt;ZBlock &lt;/b&gt;- bongkahan tetris berbetuk Z&lt;/li&gt;&lt;li&gt;&lt;b&gt;JBlock &lt;/b&gt;- bongkahan tetris berbetuk J &lt;/li&gt;&lt;li&gt;&lt;b&gt;IBlock &lt;/b&gt;- bongkahan tetris berbetuk I&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Block &lt;/b&gt;yang merupakan blok pembangun tetromino, tidak ada kode yang istimewa, hanya untuk membantu kode pada kelas Tetromino.&lt;/li&gt;&lt;/ul&gt;Sedangkan kelas lainnya pada game ini hanyalah tambahan. Berikut ini kelas tambahan dan fungsinya:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Counter &lt;/b&gt;kelas untuk menampilkan skor pada game ini. Kelas ini bisa di download di kelas pembantu&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://greenfoot.org/programming/classes.html"&gt;http://greenfoot.org/programming/classes.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;MidiPlayer &lt;/b&gt;kelas untuk memainkan/membuat midi. Bisa didapatkan pada link diatas juga.&lt;/li&gt;&lt;li&gt;&lt;b&gt;MidiFilePlayer &lt;/b&gt;kelas untuk memainkan file midi. Karena saya mengalami sedikit masalah pada kelas MidiPlayer, maka saya cari kelas lainnya untuk memainkan musik midi, dan saya menemukan kelas ini dari skenario milik tantinton pada greenfootgallery.org&lt;/li&gt;&lt;/ul&gt;Oke bagi yang mau mempelajarinya, silahkan download dulu sourcenya dari sini:&lt;br /&gt;&lt;a href="http://greenfootgallery.org/scenarios/2296"&gt;http://greenfootgallery.org/scenarios/2296&lt;/a&gt; &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style="color: red;"&gt;Update!!! 30, April 2011&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;Telah terjadi error pada pemutar midi, jadi scenarionya tidak bisa dimainkan, tetapi bisa di akali dengan tidak menggunakan suaranya. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-4010142968135898450?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/4010142968135898450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2010/12/membuat-game-tetris.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4010142968135898450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4010142968135898450'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2010/12/membuat-game-tetris.html' title='Membuat game tetris!'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-7683871128721561459</id><published>2010-12-16T16:50:00.005+07:00</published><updated>2010-12-23T12:18:57.707+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tetris'/><category scheme='http://www.blogger.com/atom/ns#' term='contoh game greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Objek Oriented Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='belajar Greenfoot'/><title type='text'>Sebentar Lagi: Tetris Game!</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Kali ini saya akan membuat game Tetris! Tentunya dengan menggunakan Greenfoot. Untuk pembuatannya sendiri masih mencapai tahap fisiknya saja, belom permainannya (gameplaynya).&lt;/span&gt;&lt;/span&gt; Langsung saja kita lihat screenshootnya :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_0zf_YP3brEw/TQndfdeJV_I/AAAAAAAAAB4/pbzdWXYTLKM/s1600/tetris.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="277" src="http://1.bp.blogspot.com/_0zf_YP3brEw/TQndfdeJV_I/AAAAAAAAAB4/pbzdWXYTLKM/s320/tetris.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Kalian bisa lihat blok blok "Tetromino" tetris yang ada diaatas. Mereka semua masih belum bisa melakukan apa apa. Belum bisa diputar ataupun digerakan–baru bisa jatuh. ^_^". Ya seperti ini, masih fisiknya saja, belum ada gameplay.&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;Okeee waktunya buat saya untuk melanjutkan pembuatan game ini!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Update! 19 Desember 2010&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Fisik sudah selesai. Besok saya akan buat gameplaynya.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Update! 21 Desember 2010&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Disempurnakan dan dirapihkan kodingnya biar lebih gampang.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Gameplay setengah jadi. Satu tahap lagi! :D&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Game sudah di upload ke Greenfootgallery.org&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://greenfootgallery.org/scenarios/2296"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;http://greenfootgallery.org/scenarios/2296&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;tapi tetap, masih belum ada gameplaynya, harap sabaar.&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Update! 23 Desember 2010&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Sudah ada gameplaynya! game sudah jadi! Tinggal&amp;nbsp; ditambahkan "dekorasi" hehehe&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Scoreboard sudah ada, penambahan kecepatan juga.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="color: black;"&gt;Tutorialnya menyusul!&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-7683871128721561459?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/7683871128721561459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2010/12/sebentar-lagi-tetris-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/7683871128721561459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/7683871128721561459'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2010/12/sebentar-lagi-tetris-game.html' title='Sebentar Lagi: Tetris Game!'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0zf_YP3brEw/TQndfdeJV_I/AAAAAAAAAB4/pbzdWXYTLKM/s72-c/tetris.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-1895955138937027055</id><published>2010-10-12T22:05:00.042+07:00</published><updated>2010-12-18T06:29:15.417+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='snake game'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Snake'/><category scheme='http://www.blogger.com/atom/ns#' term='contoh game greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='belajar Greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Snake Game!</title><content type='html'>&lt;span style="color: orange;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="background-color: orange; color: black;"&gt;Untuk gamenya dapat dimainkan di sini : &lt;a href="http://greenfootgallery.org/scenarios/1942"&gt;http://greenfootgallery.org/scenarios/1942&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: orange;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="background-color: orange; color: black;"&gt;:D&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=keenasgree-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0136037534&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: orange;"&gt;&lt;span style="font-size: small;"&gt;Source code telah diubah agar lebih sistematis. Tapi dasarnya sih tetep seperti dibawah ini :D&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Akhirnya seteleah sekian lama, saya ngeblog juga hehe..&lt;br /&gt;Okee, sekarang kita akan membuat Snake Game! game ular ularan itu lho yang ada di handphone handphone lama. Namun sekarang kita buat versi Greenfootnya!&lt;br /&gt;Tanpa banyak basa basi, ayoo kita mulai!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Snake Game...&lt;/span&gt; Start!&lt;br /&gt;Kali ini, kita akan bahas pembuatan game ini per tipe/kelas hohoho!&lt;br /&gt;Berikut ini adalah kelas kelas yang ada dalam game ini:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DuniaUlar, yang merupakan subclass dari World.&lt;/li&gt;&lt;li&gt;KepalaUlar, yang akan membuat kepala ular, yang menentukan kendali.&lt;/li&gt;&lt;li&gt; KepalaUlar.BadanUlar, inner-class(kelas dalam)nya KepalaUlar, yang menentukan badan dari kepala ular tersebut(yang akan dimasukan kedalam parameter konstruktor BadanUlar).&lt;/li&gt;&lt;li&gt;MakananUlar, makanan ular :D. &lt;/li&gt;&lt;/ul&gt;Dan ada interface pembantu yang akan digunakan, sekalian untuk belajar apa itu interface di Java, serta penggunaannya sebagai tipe. Adapun interface interfacenya disini adalah:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BisaDiikuti, menunjukan bahwa objek yang mengiplementasikan interface ini bisa diikuti.&lt;/li&gt;&lt;li&gt;BisaDimakan, menunjukan bahwa objek yang mengiplementasikan interface ini bisa dimakan.&lt;/li&gt;&lt;/ul&gt;Oke! mari kita bahas kelas kelas tersebut satu persatu!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;DuniaUlar..&lt;/span&gt;&lt;br /&gt;Berikut ini merupakan keseluruhan source code dari DuniaUlar.java&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;import java.awt.Color;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Dunia Ular!&lt;br /&gt;* &lt;br /&gt;* @author Keenan M. Gebze&lt;br /&gt;* @version 1.0&lt;br /&gt;*/&lt;br /&gt;public class DuniaUlar  extends World&lt;br /&gt;{&lt;br /&gt;/**&lt;br /&gt;* Konstruktor untuk DuniaUlar.&lt;br /&gt;* Membuat latar belakang DuniaUlar.&lt;br /&gt;* Menambahkan objek objek yang diperlukan.&lt;br /&gt;*/&lt;br /&gt;public DuniaUlar()&lt;br /&gt;{    &lt;br /&gt;/**&lt;br /&gt;* Membuat DuniaUlar dengan ukuran 20x20, dan setiap kotak 20 pixel * 20 pixel&lt;br /&gt;*/&lt;br /&gt;super(20, 20, 20);&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Mengisi latar belakang dengan warna 0, 100, 0, kira kira hijau tua.&lt;br /&gt;*/&lt;br /&gt;GreenfootImage latar = new GreenfootImage(20,20);&lt;br /&gt;latar.setColor(new Color(0, 100, 0));&lt;br /&gt;latar.fill();&lt;br /&gt;setBackground(latar);&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Membuat dan menambahkan KepalaUlar "utama", Dan menambah makanan masuk kedalam DuniaUlar ini.&lt;br /&gt;*/&lt;br /&gt;KepalaUlar utama = new KepalaUlar();&lt;br /&gt;addObject(utama, getWidth()/2, getHeight()/2);&lt;br /&gt;addObject(new MakananUlar(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getWidth()));&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;Kelas ini berfungsi untuk membuat Dunia Ularnya dan menambahkan ular kedalamnya.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;GreenfootImage latar = new GreenfootImage(20,20);&lt;br /&gt;latar.setColor(new Color(0, 100, 0));&lt;br /&gt;latar.fill();&lt;br /&gt;setBackground(latar);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Baris pertama kode ini adalah menciptakan gambar baru berukuran 20px*20px dengan nama "latar".&lt;br /&gt;"latar" ini di-set warnanya, namun BELUM DIGAMBAR! Bisa diumpamakan warnanya masih berada di kuas. Lalu, barulah kita menolehkan warnanya pada gambar tersebut dengan method fill() (isi).&lt;br /&gt;Setelah penggambaran gambar "latar", maka tinggal meng-set background DuniaUlar ini dengan gambar latar "latar", yang sudah kita buat tadi.&lt;br /&gt;Oh iya, kita meng-set warna dengan objek Color pada java.awt.Color, yang sudah kita import di atas.&lt;br /&gt;Untuk mencari cari warna baru, sebaiknya baca dokumentasi &lt;a href="http://download.oracle.com/javase/6/docs/api/java/awt/Color.html"&gt;java.awt.Color disini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;KepalaUlar utama = new KepalaUlar();&lt;br /&gt;addObject(utama, getWidth()/2, getHeight()/2);&lt;br /&gt;addObject(new MakananUlar(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getWidth()));&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &lt;br /&gt;&lt;/code&gt;Lalu cuplikan kode ini, pertama kita membuat objek KepalaUlar kedalam variabel "utama", dan menambahkan KepalaUlar"utama" ini kedalam world, pada posisi tengah tengah (setengah dari lebar, setengah dari tinggi DuniaUlar).&lt;br /&gt;Setelah menambahkan KepalaUlar utama kedalam DuniaUlar, kita menambahkan makanan ular yang langsung dibuat(tanpa membutuhkan variabel) kedalam posisi acak x, dan posisi acak y.&lt;br /&gt;Seharusnya baris kode ini ditulis setelah kita selesai membuat objek KepalaUlar-nya. Tapi tidak apa apa karena kita sudah tau bakal ada KepalaUlar, heheheh.&lt;br /&gt;&lt;br /&gt;Okeee! kita sudah berhasil menyiapkan tempatnya, mari kita buat ULARNYA! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Ular.... lar... lar...&lt;/span&gt;&lt;br /&gt;lar lar lar.... -_____-&lt;br /&gt;Yang pertama harus diketahui tentang ular ini adalah, bahwa sebenernya kita hanya memainkan "kepalanya" saja, sedangkan badannya? hanya mengikuti :D.&lt;br /&gt;Lalu badannya saya masukan kedalam kelas KepalaUlar sebagai Innerclass agar lebih enak aja :D. Jika class BadanUlar dikeluarkan dari class KepalaUlar tidak akan mempengaruhi apa apa!&lt;br /&gt;&lt;br /&gt;mari kita bahas &lt;span style="font-size: large;"&gt;KepalaUlar&lt;/span&gt;nya! (&lt;span style="color: red;"&gt;&lt;b&gt;tanpa innerclass BadanUlar!&lt;/b&gt;&lt;/span&gt;)&lt;br /&gt;&lt;code&gt;import greenfoot.*;&amp;nbsp; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;import java.awt.Point;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;* Kepala ular, yang mengontrol seluruh gerakan ular.&lt;br /&gt;&amp;nbsp;* Berwarna merah.&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;* @author Keenan M. Gebze &lt;br /&gt;&amp;nbsp;* @version 1.0&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public class KepalaUlar extends Actor implements BisaDiikuti&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat enumerasi arah.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum Arah {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ATAS, BAWAH, KIRI, KANAN;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * posisiAkhir, menunjukan posisi terakhir dari ular ini.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * arah, menunjukan arah ular ini.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * bagianBadan, bagian bagian badan yang akan bertambah bila ular ini makan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * kita buat semua variabel disini private (privat) karena&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * variabel ini tidak digunakan oleh kelas lainnya (hanya digunakan oleh kelas ini).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * hal ini bisa mengurangi penggunaan memori.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Point posisiAkhir;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Arah arah = Arah.KANAN;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private ArrayList&amp;lt;BadanUlar&amp;gt; bagianBadan;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat Kepala Ular baru.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat gambar ular.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Mempersiapkan variabel bagianBadan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Mengawali bagianBadan dengan 6 bagian badan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public KepalaUlar() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat gambar untuk KepalaUlar ini.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GreenfootImage gambar = new GreenfootImage(20,20);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.setColor(Color.BLUE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.fill();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setImage(gambar);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat list array untuk menunjukan jumlah badan kita.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan = new ArrayList&amp;lt;BadanUlar&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan.add(new BadanUlar(this));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i=0; i&amp;lt;=6; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan.add((bagianBadan.size() &amp;gt; 0)?new BadanUlar(bagianBadan.get(bagianBadan.size()-1)):new BadanUlar(this));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Fungsi ini dipanggil oleh Greenfoot ketika objek KepalaUlar masuk ke World w.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Setelah masuk ke World, kita hanya ingin memperbaharui badannya, tergantung dari &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * ArrayList bagianBadan tadi.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Fungsi ini hanya dipanggil sekali, yaitu ketika objek ini masuk ke Dunia (World)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void addedToWorld(World w) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perbaharuiBadan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Fungsi ini dipanggil oleh Greenfoot selalu.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void act() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Greenfoot.isKeyDown("up") &amp;amp;&amp;amp; arah != Arah.BAWAH) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arah = Arah.ATAS;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(Greenfoot.isKeyDown("down") &amp;amp;&amp;amp; arah != Arah.ATAS) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arah = Arah.BAWAH;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(Greenfoot.isKeyDown("left") &amp;amp;&amp;amp; arah != Arah.KANAN) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arah = Arah.KIRI;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(Greenfoot.isKeyDown("right") &amp;amp;&amp;amp; arah != Arah.KIRI) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arah = Arah.KANAN;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; posisiAkhir = new Point(getX(), getY());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(arah) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case ATAS: setLocation(getX(), getY()-1); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case BAWAH: setLocation(getX(), getY()+1); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case KIRI: setLocation(getX()-1, getY()); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case KANAN: setLocation(getX()+1, getY()); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default: arah=Arah.KANAN;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(getOneObjectAtOffset(0,0, MakananUlar.class) != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MakananUlar makanan = (MakananUlar) getOneObjectAtOffset(0,0, MakananUlar.class); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; makan(makanan);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(getOneObjectAtOffset(0,0, KepalaUlar.BadanUlar.class) != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWorld().removeObject(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Point posisiAkhir() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return posisiAkhir;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public BisaDiikuti yangDiikuti() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Makan makanan ular.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param makanan makanan ular yang akan dimakan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void makan(MakananUlar makanan) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; makanan.dimakan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan.add(new BadanUlar(bagianBadan.get(bagianBadan.size()-1)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perbaharuiBadan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Memperbaharui badan tergantung dari ArrayList&amp;lt;BadanUlar&amp;gt; bagianBadan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void perbaharuiBadan() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(BadanUlar bu : bagianBadan) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWorld().addObject(bu, ((Actor)bu.yangDiikuti()).getX(), ((Actor)bu.yangDiikuti()).getY());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Lihat awal classnya.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;public class KepalaUlar extends Actor implements BisaDiikuti{.....&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;implements BisaDiikuti menunjukan bahwa class ini bisa Diikuti, dan harus mempunyai fungsi yang ada di interface BisaDiikuti.&lt;br /&gt;Lalu lihat, ada sesuatu yang baru, Enum type(Tipe Enum), alias enumerasi!&lt;br /&gt;&lt;br /&gt;&lt;code&gt;enum Arah {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ATAS, BAWAH, KIRI, KANAN;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Enumerasi memudahkan kita dalam pengkodean. Tanpa enumerasi, kode disini akan lebih kacau dan membuat class KepalaUlar menjadi lebih sulit. Jika ingin belajar tentang enumerasi, silahkan lihat &lt;a href="http://download.oracle.com/javase/tutorial/java/javaOO/enum.html"&gt;tutorial javanya disini&lt;/a&gt;.&lt;br /&gt;Tapi dengan tutorial ini, semoga cukuplah untuk mengerti apa itu tipe enum dan penggunaannya :-).&lt;br /&gt;Lihat nih contohnya:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;private Arah arah = Arah.KANAN;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Jauh lebih mudah bukan? daripada menggunakan seperti ini:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;private static final int ARAH_KANAN = 0;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;private static final int ARAH_KANAN = 1;&lt;/code&gt; &lt;br /&gt;&lt;code&gt;private static final int ARAH_KANAN = 2;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;private static final int ARAH_KANAN = 3;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;private arah = 0; // berarti arah kanan..&amp;nbsp; &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Lame.. :D itulah keuntungan dari Enumerasi.&lt;br /&gt;&lt;br /&gt;Wah lihat, ada yang baru lagi.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;private ArrayList&amp;lt;BadanUlar&amp;gt; bagianBadan;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &lt;/code&gt;&lt;br /&gt;Kode diatas menggunakan apa yang disebut dengan Generics. Anda dapat belajar mengenai &lt;a href="http://download.oracle.com/javase/tutorial/java/generics/index.html"&gt;Generics disini&lt;/a&gt;. &lt;br /&gt;Maksud dari kode diatas adalah untuk menyiapkan sebuah Array yang semuanya nantinya akan dan hanya akan berisikan objek objek dari tipe BadanUlar. Hampir sama seperti Array biasa, namun keuntungan menggunakan ArrayList adalah daya tampungnya yang bisa berubah ubah.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;BadanUlar[]&lt;/code&gt; &lt;code&gt;bagianBadan ={.....} //tidak bisa diubah.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Jadi itulah mengapa saya menggunakan ArrayList! untuk dokumentasi &lt;a href="http://www.blogger.com/goog_828084926"&gt;ArrayList&lt;/a&gt;, dapat dilihat &lt;a href="http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html"&gt;disini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Lanjuut. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;for(int i=0; i&amp;lt;=6; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan.add((bagianBadan.size() &amp;gt; 0)?new  BadanUlar(bagianBadan.get(bagianBadan.size()-1)):new BadanUlar(this));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }for(int i=0; i&amp;lt;=6; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bagianBadan.add((bagianBadan.size() &amp;gt; 0)?new  BadanUlar(bagianBadan.get(bagianBadan.size()-1)):new BadanUlar(this));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Maksud dari kode ini sebenarnya sederhana, cuma memang penulisannya yang agak ribet.&lt;br /&gt;Maksud dari kode ini adalah untuk membuat KepalaUlar ini agar mempunyai 6 buah BadanUlar pada awal awal ia diciptakan, jadi dia tidak hanya kepala saja.&lt;br /&gt;Sebenarnya, kode ini berfungsi untuk memasukan objek objek BadanUlar kedalam ArrayList&amp;lt;BadanUlar&amp;gt; yang nantinya akan dimasukan kedalam DuniaUlar.&lt;br /&gt;&lt;br /&gt;Oke, sekarang kita akan belajar mengenai kelas BadanUlar!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;BadanUlar&lt;/span&gt;&lt;br /&gt;Sesuai dengan nama kelasnya, BadanUlar adalah kelas yang digunakan untuk membuat bagian badan dari sesuatu yang diikutinya (alias kelas yang mengimplementasikan BisaDiikuti)&lt;br /&gt;Berikut ini adalah source code dari kelas BadanUlar (yang berada dalam kelas KepalaUlar):&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/**&lt;br /&gt;* BadanUlar.&lt;br /&gt;* &lt;br /&gt;* Nampaknya lebih bagus kalau dimasukan kedalam kelas KepalaUlar.&lt;br /&gt;*/&lt;br /&gt;public class BadanUlar extends Actor implements BisaDiikuti{&lt;br /&gt;&lt;br /&gt;private BisaDiikuti bagianUlar;&lt;br /&gt;private Point posisiAkhir;&lt;br /&gt;&lt;br /&gt;public BadanUlar(BisaDiikuti bagianLainnya) {&lt;br /&gt;this.bagianUlar = bagianLainnya;&lt;br /&gt;GreenfootImage gambar = new GreenfootImage(20,20);&lt;br /&gt;gambar.setColor(Color.BLACK);&lt;br /&gt;gambar.fill();&lt;br /&gt;setImage(gambar);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void act() {&lt;br /&gt;posisiAkhir = new Point(getX(), getY());&lt;br /&gt;setLocation((int)bagianUlar.posisiAkhir().getX(), (int)bagianUlar.posisiAkhir().getY());&lt;br /&gt;if(((Actor)yangDiikuti()).getWorld() == null) {&lt;br /&gt;getWorld().removeObject(this);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public BisaDiikuti yangDiikuti() {&lt;br /&gt;return bagianUlar;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Point posisiAkhir() {&lt;br /&gt;return posisiAkhir;&lt;br /&gt;}&lt;br /&gt;}  &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Kelas ini sebenarnya sangat sederhana, kita bahas tiap elemennya&lt;br /&gt;&lt;code&gt;&lt;br /&gt;private BisaDiikuti bagianUlar;&lt;br /&gt;private &lt;a href="http://download.oracle.com/javase/6/docs/api/java/awt/Point.html"&gt;Point&lt;/a&gt; posisiAkhir;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;field "bagianUlar" mewakili objek yang akan kita ikuti (alias mengimplementasikan interface BisaDiikuti), interface BisaDiikuti, menjamin bahwa objek tersebut bisa diikuti dengan mewajibkan kelas yang mengimplementasikannya agar mempunyai fungsi yang ada dalam interface itu, dalam hal ini adalah fungsi "yangDiikuti()" yang mengembalikan objek BisaDiikuti dari field "bagianUlar".&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public BisaDiikuti yangDiikuti() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return bagianUlar;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Diatas adalah metode yang wajib kita pergunakan, namun isinya boleh  bebas, dalam hal ini, kita hanya mengembalikan / me-return bagianUlar  lain yang kita ikuti. &lt;br /&gt;&lt;code&gt;&lt;br /&gt;public Point posisiAkhir() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return posisiAkhir;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Sedangkan field/variabel "posisiAkhir" mewakili posisi terakhir benda ini, yang nantinya akan diikuti oleh objek yang &lt;span style="color: red;"&gt;mengikuti&lt;/span&gt; kita. Variabel ini kita return pada fungsi "posisiAkhir()" yang merupakan fungsi yang harus kita tulis (karena mengimplementasikan BisaDiikuti). Objek yang mengikuti kita, dapat menggunakan fungsi ini untuk mendapatkan posisi terakhir kita dan... mengikutinya!&lt;br /&gt;Sedangkan kelas &lt;a href="http://www.blogger.com/goog_80576331"&gt;Point&lt;/a&gt; merupakan kelas yang diimport dari java.util.Point. &lt;a href="http://download.oracle.com/javase/6/docs/api/java/awt/Point.html"&gt;Poin&lt;/a&gt;t sendiri merupakan kelas yang dapat menampung/menunjukan posisi X, dan posisi Y, ya Point memang merupakan kelas yang sederhana, heheheh. Untuk dokumentasi dari kelas &lt;a href="http://www.blogger.com/goog_80576340"&gt;Point&lt;/a&gt;, anda dapat membacanya &lt;a href="http://download.oracle.com/javase/6/docs/api/java/awt/Point.html"&gt;disini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;public BadanUlar(BisaDiikuti bagianLainnya) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.bagianUlar = bagianLainnya;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GreenfootImage gambar = new GreenfootImage(20,20);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.setColor(Color.BLACK);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.fill();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setImage(gambar);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ini konstruktor dari kelas BadanUlar, seperti biasa seperti kelas kelas lainnya, kita hanya akan meng-set gambar dari badan ular ini (dengan ukuran 20 x 20, dan berwarna hitam).&lt;br /&gt;&lt;br /&gt;Oke sekarang fungsi act-nya BadanUlar, bagaimanakah badan ular ber-act-si? heheh..&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; posisiAkhir = new Point(getX(), getY());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setLocation((int)bagianUlar.posisiAkhir().getX(),(int)bagianUlar.posisiAkhir().getY());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(((Actor)yangDiikuti()).getWorld() == null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWorld().removeObject(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pada baris pertama, kita menampung posisi akhir kita kedalam field "posisiAkhir" yang telah kita buat tadi dengan sebuah objek yang menampung posisi x dan posisi y kita didalam DuniaUlar. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Lalu pada baris ke-2, kita memindahkan objek badan ular ini ke &lt;u&gt;posisi akhir bagian ular yang kita ikuti&lt;/u&gt;. Kita perlu mengubahnya menjadi int (int, Integer) karena fungsi getX() dan getY() dari kelas Point mengembalikan nilai double(bukan int) tidak seperti getX() dan getY()nya kelas Actor. Kenapa double tidak bisa? karena fungsi "setLocation()" membutuhkan int. "setLocation(int x, int y)". &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Inti dari baris ke-3 adalah, jika objek yang kita ikuti sudah tidak mempunyai World (DuniaUlar) atau bisa kita baca, objek yang kita ikuti tidak lagi ada di dunia "DuniaUlar"(Sebenarnya World, karena kita memanggil fungsi "getWorld()"). Lalu kita menghapus diri sendiri. Kode ini bisa kita ubah nanti bila kita tidak ingin objek ini menghilang begitu saja. Bisa saja kita tambah suara :D.&lt;/li&gt;&lt;/ul&gt;Lihat, sederhana bukan? :D, fungsi act() kelas BadanUlar hanya terdiri dari 3 baris :D.&lt;br /&gt;Pembahasan kelas sederhana BadanUlar pun sudah selesai. Mari kita bahas yang enak enak.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;MakananUlar.... &lt;span style="font-size: x-small;"&gt;(kayanya sih ngga enak -__-)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;Kelas ini sangat sederhana, teridiri dari konstruktor yang memberikan warna merah pada gambar,&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;dan sebuah fungsi yang menunjukan bahwa buah ini telah dimakan!&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import greenfoot.*;&amp;nbsp; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;import java.awt.Color;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;* Makanan Ular.&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;* @author Keenan M. Gebze&lt;br /&gt;&amp;nbsp;* @version 1.0&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public class MakananUlar&amp;nbsp; extends Actor implements BisaDimakan&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Membuat makanan ular.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Menggabar dan memberi warna merah.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MakananUlar() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GreenfootImage gambar = new GreenfootImage(20,20);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.setColor(Color.RED);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gambar.fill();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setImage(gambar);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Fungsi yang menunjukan bahwa makanan ini sudah dimakan.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void dimakan() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWorld().addObject(new MakananUlar(), Greenfoot.getRandomNumber(getWorld().getWidth()),&amp;nbsp; Greenfoot.getRandomNumber(getWorld().getWidth()));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getWorld().removeObject(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Fungsi "dimakan()" adalah untuk membuat makanan baru dan melatakannya secara acak, lalu menghapus dirinya sendiri. Fungsi dimakan merupakan fungsi yang wajib dituliskan karena kelas MakananUlar mengimplementasikan interface BisaDimakan. Sebenernya tidak terlalu berguna sih, cuma interface BisaDimakan saya buat agar kita bisa lebih mengenal tentang interface, hehe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Para Interface&lt;/span&gt;&lt;br /&gt;Pembahasan kita mengenai kelas kelas utama sudah selesai, mari kita lihat &lt;a href="http://www.blogger.com/goog_2046668518"&gt;interface&lt;/a&gt;nya! Untuk penjelasan mengenai apa itu &lt;a href="http://download.oracle.com/javase/tutorial/java/IandI/createinterface.html"&gt;interface&lt;/a&gt;, silahkan baca &lt;a href="http://download.oracle.com/javase/tutorial/java/IandI/createinterface.html"&gt;disini.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;BisaDiikuti&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import java.awt.Point;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;* Objek yang menggunakan interface ini berarti bisa di ikuti.&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;* @author Keenan M. Gebze&lt;br /&gt;&amp;nbsp;* @version 1.0&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public interface BisaDiikuti&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Point posisiAkhir();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BisaDiikuti yangDiikuti();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;BisaDimakan&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;* Objek yang bisa dimakan.&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;* @author Keenan M. Gebze&lt;br /&gt;&amp;nbsp;* @version 1.0&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public interface BisaDimakan&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void dimakan();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Kalian bisa liat fungsi dimakan() dipanggil pada saat fungsi makan() pada KepalaUlar dipanggil.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Selesai!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Kalian telah belajar untuk membuat game Ular ini disini, untuk download source dan memainkan game ini (lewat applet) silahkan kunjungi website &lt;a href="http://greenfootgallery.org/"&gt;greenfootgallery.org&lt;/a&gt; dimana saya mengupload game ini disitu.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.greenfootgallery.org/"&gt;http://www.greenfootgallery.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #cccccc;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cccccc;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: #f3f3f3;"&gt;Keenan Mandela Gebze, 14 Oktober 2010.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-1895955138937027055?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/1895955138937027055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2010/10/snake-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/1895955138937027055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/1895955138937027055'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2010/10/snake-game.html' title='Snake Game!'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-5335991373585794442</id><published>2010-10-11T00:37:00.004+07:00</published><updated>2010-10-14T22:25:30.861+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='membuat game'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Snake'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Sebentar Lagi! Membuat Permainan Snake Sederhana</title><content type='html'>Ngga lama lagi bakal saya buat tutorialnyaa :D&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://greenfootgallery.org/scenarios/1942"&gt;&lt;img border="0" height="215" src="http://4.bp.blogspot.com/_0zf_YP3brEw/TLH8rlKiUKI/AAAAAAAAABs/gp_c3XJ3fTo/s320/snakegame.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Gamenya bisa dilihat disini: &lt;a href="http://greenfootgallery.org/scenarios/1942"&gt;http://greenfootgallery.org/scenarios/1942&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tapi karena melihat desain di atas ularnya terlalu kecil, maka saya gedein dan dijadikan lebih simple&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.greenfootgallery.org/scenarios/1942"&gt;&lt;img border="0" height="230" src="http://1.bp.blogspot.com/_0zf_YP3brEw/TLRbV4wRVYI/AAAAAAAAABw/Diwm6esiF-c/s320/snakegame.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Tadaa, lebih simple!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #f1c232;"&gt;Tutorialnya telah dibuat dan bisa di baca &lt;/span&gt;&lt;a href="http://mandelag.blogspot.com/2010/10/snake-game.html" style="color: #f1c232;"&gt;disini! &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-5335991373585794442?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/5335991373585794442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2010/10/sebentar-lagi-membuat-permainan-snake.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/5335991373585794442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/5335991373585794442'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2010/10/sebentar-lagi-membuat-permainan-snake.html' title='Sebentar Lagi! Membuat Permainan Snake Sederhana'/><author><name>Keenan Gebze</name><uri>http://www.blogger.com/profile/03582287602770646333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0zf_YP3brEw/TLH8rlKiUKI/AAAAAAAAABs/gp_c3XJ3fTo/s72-c/snakegame.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-4976265298695671003</id><published>2009-04-03T15:28:00.002+07:00</published><updated>2009-04-03T15:41:12.087+07:00</updated><title type='text'>Greenfoot manual telah dibuat !</title><content type='html'>Dikutip dari http://www.greenfootgallery.com/news&lt;br /&gt;"&lt;br /&gt; "There comes a time when all people break down and do the unthinkable - they read the manual..."  2009-3-28   davmac&lt;br /&gt;&lt;br /&gt;...however, up until now this has been a bit difficult because it really hasn't been that complete. Those that did read it probably noticed it was also a bit out of date too.&lt;br /&gt;&lt;br /&gt;But now, good news! The manual has been brought up to date, corrected, completed and extended!&lt;br /&gt;&lt;br /&gt;It's a really good read if you're just starting out with Greenfoot, or you understand it to a basic extent but want to get to grips with it more. More experienced users may find some useful things in there as well.&lt;br /&gt;&lt;br /&gt;If you want to have a read through, then you can find it &lt;a href="http://greenfoot.org/doc/manual.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;--Michael (mjrb4)&lt;br /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-4976265298695671003?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/4976265298695671003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/04/greenfoot-manual-telah-dibuat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4976265298695671003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4976265298695671003'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/04/greenfoot-manual-telah-dibuat.html' title='Greenfoot manual telah dibuat !'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-2237209091022244525</id><published>2009-04-01T19:10:00.004+07:00</published><updated>2009-04-04T20:22:35.518+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Membuat objek muncul secara random dan membuatnya bergerak  kedepan</title><content type='html'>Ada request nih..&lt;br /&gt;Hehe, dari quest&lt;br /&gt;&lt;br /&gt;Begini caranya,&lt;br /&gt;Objek yang kita buat, harus berada dalam subclass Mover.&lt;br /&gt;lalu, berikut ini kodenya.&lt;br /&gt;&lt;br /&gt;1. Untuk menambahkan Objek dengan Posisi yang acak&lt;br /&gt;Pada subclassnya World class, di bawah Constructor super(..,..,..);&lt;br /&gt;&lt;code&gt;&lt;br /&gt;super(...,..,..);&lt;br /&gt;&lt;br /&gt;addObject(new Object(...), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight()));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Berikut ini penjelasan dari kode tersebut.&lt;br /&gt;&lt;br /&gt;Method addObject(Actor a, int x, int y);&lt;br /&gt; Adalah method yang digunakan untuk menambahkan suatu Actor kedalam World pada posisi x dan y.&lt;br /&gt;&lt;br /&gt;Method getWidth() pada World adalah method yang mengembalikan lebar World tersebut&lt;br /&gt;sedangkan getHeight() adalah method yang mereturn tinggi Worldnya&lt;br /&gt;&lt;br /&gt;getRandomNumber(int angka_maksimal)&lt;br /&gt; yang harus di akses melalui class Greenfoot, adalah method yang mereturn angka acak yang tidak melebihi maksimal&lt;br /&gt;&lt;br /&gt;2. Membuat objek bergerak kearah depan&lt;br /&gt;ini codenya, dalam Objek tersebut, pada method Act() nya&lt;br /&gt;&lt;code&gt;&lt;br /&gt;move(1);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;method move(int panjang), digunakan untuk membuat objek bergerak kearah tujuannya.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tambahan, mungkin anda juga bermaksud membuat objek tersebut dengan direksi yang acak juga. Jika ingin, tambahkan pula kode ini, pada Constructor Objek tersebut.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public NAMA_OBJEKnya()&lt;br /&gt;{&lt;br /&gt;  setRotation(Greenfoot.getRandomNumber(360));&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;jadi, inilah kodenya&lt;br /&gt;&lt;code&gt;&lt;br /&gt;//misalkan nama objeknya adalah "Mobil"&lt;br /&gt;public class Mobil()&lt;br /&gt;{&lt;br /&gt; public Mobil()&lt;br /&gt; {&lt;br /&gt;  setRotation(Greenfoot.getRandomNumber(360));&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void act()&lt;br /&gt; {&lt;br /&gt;  move(1);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-2237209091022244525?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/2237209091022244525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/04/membuat-objek-muncul-secara-random-dan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/2237209091022244525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/2237209091022244525'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/04/membuat-objek-muncul-secara-random-dan.html' title='Membuat objek muncul secara random dan membuatnya bergerak  kedepan'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-2402135501627209809</id><published>2009-02-16T17:33:00.011+07:00</published><updated>2009-02-16T18:30:15.458+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Menggerakan Mobil Dengan Menggunakan Mouse</title><content type='html'>Sekarang saya akan mencampur beberapa Scenario yang telah saya buat menggunakan &lt;a href="http://www.greenfoot.org/"&gt;Greenfoot&lt;/a&gt;. Pertama, saya menggunakan Scenario sebelumnya yang digunakan untuk mendeteksi Mouse input (&lt;a href="http://www.ziddu.com/download/3474351/Tembak.zip.html"&gt;download disini&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Setelah semuanya siap, copy/paste class Mover dari &lt;a href="http://www.greenfoot.org/programming/classes/Mover.java"&gt;sini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Pertama, saya mengcopy/paste class mover di subclass nya actor.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class Mover extends Actor{......&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Kedua, saya membuat subclass dari Mover, yaitu Mobil.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class Mobil extends Mover{......&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Setelah itu menambah fungsi/method baru, turnTo(int x, int y) di dalam class Mover.&lt;br /&gt;Method turnTo(int x, int y) menggunakan Trigonometri.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class Mover extends Actor&lt;br /&gt;{&lt;br /&gt;........&lt;br /&gt;.....&lt;br /&gt;....&lt;br /&gt;  public boolean atWorldEdge()&lt;br /&gt;  {&lt;br /&gt;      .......&lt;br /&gt;  }&lt;br /&gt; /** Ini methodnya **/&lt;br /&gt; public void turnTo(int x, int y)&lt;br /&gt;  {&lt;br /&gt;      int turnAngle = 0;&lt;br /&gt;      int deltaX = x - this.getX();&lt;br /&gt;      int deltaY = y - this.getY();&lt;br /&gt;&lt;br /&gt;      turnAngle = (int) (180 * Math.atan2(deltaY, deltaX) /Math.PI);&lt;br /&gt;      setRotation(turnAngle);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Keempat, saya memindahkan method act() di subclass nya world, Papan class, Ke act() di Mobil class.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/** di Mobil.class **/&lt;br /&gt;public void act(){&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;      {&lt;br /&gt;          Greenfoot.playSound("mouseClick.wav");&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;h4&gt;Membuat Mobil Tertuju ke Arah Klik&lt;/h4&gt;&lt;br /&gt;Didalam act() Mobil, kita tambahkan objek bernama MouseInfo, karena kita membutuhkan data tentang posisi klik mouse / tujuan kita.&lt;br /&gt;objek MouseInfo mengandung data data tentang mouse.&lt;br /&gt;objek MouseInfo dipanggil menggunakan static method Greenfoot.getMouseInfo()&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;      {&lt;br /&gt;          Greenfoot.playSound("mouseClick.wav");&lt;br /&gt;          MouseInfo mi = Greenfoot.getMouseInfo();&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Setelah meng "initialize" objek 'mi', kita ambil data data yang ada pada objek tersebut, diantaranya adalah posisi x dan y nya.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;      {&lt;br /&gt;          Greenfoot.playSound("mouseClick.wav");&lt;br /&gt;          MouseInfo mi = Greenfoot.getMouseInfo();&lt;br /&gt;          int mx = mi.getX(); // kita ambil posisi x nya&lt;br /&gt;          int my = mi.getY(); // kita ambil posisi y nya&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Setelah mendapatkan data data yang dibutuhkan, mari kita laksanakan method yang kita paste sebelumnya ke class Mover, method turnTo() !&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;      {&lt;br /&gt;          Greenfoot.playSound("mouseClick.wav");&lt;br /&gt;          MouseInfo mi = Greenfoot.getMouseInfo();&lt;br /&gt;          int mx = mi.getX(); // kita ambil posisi x nya&lt;br /&gt;          int my = mi.getY(); // kita ambil posisi y nya&lt;br /&gt;          turnTo(mx,my);&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Berhasil, kita telah membuat Mobil yang kita buat mengarah ke arah klik!&lt;br /&gt;Sekarang, langsung saja tambahkan method move agar mobil itu bergerak.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;move(3); // &lt;blink&gt;&lt;&lt;&lt;&lt;/blink&gt;&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;      {&lt;br /&gt;          Greenfoot.playSound("mouseClick.wav");&lt;br /&gt;          MouseInfo mi = Greenfoot.getMouseInfo();&lt;br /&gt;          int mx = mi.getX(); // kita ambil posisi x nya&lt;br /&gt;          int my = mi.getY(); // kita ambil posisi y nya&lt;br /&gt;          turnTo(mx,my);&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Langkah terakhir! membuat dan memasukan objek Mobil kedalam Papan (subclass nya World)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public Papan()&lt;br /&gt;    {    &lt;br /&gt;        super(400, 200, 1); &lt;br /&gt;        addObject(new Mobil(), Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight()));&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Compile !&lt;br /&gt;Applet sama sourcenya menyusul! :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-2402135501627209809?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/2402135501627209809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/02/menggerakan-mobil-dengan-menggunakan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/2402135501627209809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/2402135501627209809'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/02/menggerakan-mobil-dengan-menggunakan.html' title='Menggerakan Mobil Dengan Menggunakan Mouse'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-6219100764911462201</id><published>2009-02-10T17:58:00.006+07:00</published><updated>2010-10-14T22:21:47.289+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mouse Input'/><category scheme='http://www.blogger.com/atom/ns#' term='Mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Mendeteksi Mouse Input</title><content type='html'>Kali ini saya ingin membuat game tembak tembakan, tentunya, menggunakan Greenfoot!&lt;br /&gt;Seperti biasa, semuanya dimulai dengan langkah default.&lt;br /&gt;&lt;br /&gt;1. Membuat Sub Class dari World Class bernama... Papan&lt;br /&gt;2. Memasukan parameter Constructor World, super(400,200,1);&lt;br /&gt;&lt;br /&gt;Untuk kali ini, hanya itu saja, yap! itu saja.&lt;br /&gt;Kita akan bermain di Papan.class nya.. tanpa ada objek.&lt;br /&gt;&lt;br /&gt;Pada awalnya, beginilah class Papan tersebut (setelah saya hapus comment commentnya)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Mendapatkan Input dari Mouse&lt;br /&gt;*&lt;br /&gt;* Keenan M&lt;br /&gt;* 1.0&lt;br /&gt;*/&lt;br /&gt;public class Papan extends World&lt;br /&gt;{&lt;br /&gt;public Papan()&lt;br /&gt;{   &lt;br /&gt;super(400, 200, 1);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Sederhana bukan ? :)&lt;br /&gt;Selanjutnya, saya tambahkan beberapa kode pada act() method.&lt;br /&gt;Sekedar info, act() method juga ada di World class lhoo.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Mendapatkan Input dari Mouse&lt;br /&gt;*&lt;br /&gt;* Keenan M&lt;br /&gt;* 1.0&lt;br /&gt;*/&lt;br /&gt;public class Papan extends World&lt;br /&gt;{&lt;br /&gt;public Papan()&lt;br /&gt;{   &lt;br /&gt;super(400, 200, 1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Kerangkanya sudah jadi.&lt;br /&gt;Sekarang baru kita tambahkan Beberapa method yang di turunkan oleh class Greenfoot.&lt;br /&gt;Yaitu method, Greenfoot.mouseClicked(Object obj).&lt;br /&gt;Dimana apabila Objek obj di klik, akan mereturn true.&lt;br /&gt;Menuliskan null di paramaternya akan mereturn true apapun klik nya.&lt;br /&gt;Method tersebut me-return, apakah objek ini di klik ? kalau iya return true, kalau tidak return false.&lt;br /&gt;Jadi, mari kita tambahkan ke kodenya&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Mendapatkan Input dari Mouse&lt;br /&gt;* &lt;br /&gt;* Keenan M&lt;br /&gt;* 1.0&lt;br /&gt;*/&lt;br /&gt;public class Papan extends World&lt;br /&gt;{&lt;br /&gt;public Papan()&lt;br /&gt;{    &lt;br /&gt;super(400, 200, 1); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;if(Greenfoot.mouseClicked(null))&lt;br /&gt;{&lt;br /&gt;Greenfoot.playSound("mouseClick.wav"); // masukan mouseClick.wav di folder sounds, di folder greenfoot kita, bila belum ada, buat baru. &lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Compile, Run, maka jadilah scenario baru kita!&lt;br /&gt;&lt;a href="http://www.ziddu.com/download/3474351/Tembak.zip.html"&gt;Download Greenfoot source-nya&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-6219100764911462201?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/6219100764911462201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/02/mendeteksi-mouse-input.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/6219100764911462201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/6219100764911462201'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/02/mendeteksi-mouse-input.html' title='Mendeteksi Mouse Input'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-4928136554077905157</id><published>2009-01-31T15:40:00.003+07:00</published><updated>2009-01-31T16:01:53.521+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Greenfoot versi 1.5.1 sudah di keluarkan</title><content type='html'>Greenfoot versi 1.5.1 sudah dikeluarkan.&lt;br /&gt;Diharapkan semua memakai Greenfoot terbaru.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Oleh : Poul Henriksen&lt;br /&gt;&lt;br /&gt;Dear Greenfoot Users,&lt;br /&gt;&lt;br /&gt;We have just released Greenfoot version 1.5.1.&lt;br /&gt;&lt;br /&gt;This version fixes a few bugs that were introduced in version 1.5.0:&lt;br /&gt;- Greenfoot.delay() didn't work when called interactively&lt;br /&gt;- Some people had problems with World and Actor being striped when&lt;br /&gt;they shouldn't be. This also meant that the compiler did not catch the&lt;br /&gt;use of the deleted methods Actor.getWidth() and Actor.getHeight().&lt;br /&gt;&lt;br /&gt;Thanks to everyone that reported these problems.&lt;br /&gt;&lt;br /&gt;We recommend that all Greenfoot users upgrade to this latest version.&lt;br /&gt;&lt;br /&gt;Available from: &lt;a href="http://1ce9091a.linkbucks.com"&gt;http://www.greenfoot.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;The Greenfoot Team&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Download Greenfoot versi 1.5.1 &lt;a href="http://1ce9091a.linkbucks.com"&gt;disini&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-4928136554077905157?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/4928136554077905157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/01/greenfoot-versi-151-sudah-di-keluarkan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4928136554077905157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/4928136554077905157'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/01/greenfoot-versi-151-sudah-di-keluarkan.html' title='Greenfoot versi 1.5.1 sudah di keluarkan'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-3904210780447054201</id><published>2009-01-29T21:04:00.021+07:00</published><updated>2010-10-14T22:22:19.889+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Membuat Mobil di Greenfoot !</title><content type='html'>Yeah, setelah internet di bayar lagi, semangat langsung membara kembali. Setelah anda di bingungkan dengan dengan "kotak kotak aneh yang saya bilang mobil" &lt;a href="http://mandelag.blogspot.com/2009/01/pengertian-object-oriented-programming.html"&gt;disini&lt;/a&gt;. Saya akan membuat mobil yang lebih bagus agar anda lebih mengerti tentang pemrogramman Java di Greenfoot!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kita mulai..&lt;br /&gt;&lt;br /&gt;Mulai dengan langkah persiapan 'default'..&lt;br /&gt;-Buat Subclass dari World class, di bagian "super", isi 300,300,1.&lt;br /&gt;Setelah itu..&lt;br /&gt;-Buat Subclass dari Actor, beri nama Mover, lalu copy/paste kode berikut &lt;a href="http://www.greenfoot.org/programming/classes/Mover.java"&gt;ini&lt;/a&gt;.&lt;br /&gt;-Buat Subclass dari Mover, dan beri nama Mobil, serta tambahkan gambar mobil yang horizontal di bagian transport.&lt;br /&gt;&lt;br /&gt;Persiapan selesai, Let's start coding!&lt;br /&gt;&lt;br /&gt;Pertama, kalian harus mengetahui fungsi yang diturunkan oleh class Mover disini.&lt;br /&gt;Baik, kita bahas dahulu dengan singkat, setuju? :D&lt;br /&gt;&lt;br /&gt;turn() -&amp;gt; Digunakan untuk mengganti arah, berdasarkan arah sebelumnya.&lt;br /&gt;move() -&amp;gt; Digunakan untuk bergerak, berdasarkan arah, dan kecepatan.&lt;br /&gt;atWorldEdge() -&amp;gt; Digunakan untuk men-check, apakah objek sudah berada ambang dunia.&lt;br /&gt;&lt;br /&gt;Setelah mengerti, fungsi tersebut, segera kita praktekan, di override method, act()! Pada Class Mobil.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;move();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Apa yang terjadi pada mobil kita ini !?&lt;br /&gt;lalu..&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;turn(-5);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Apa yang terjadi !!!!? Aaarrgh ! :D&lt;br /&gt;lalu lagi...&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void act()&lt;br /&gt;{&lt;br /&gt;turn(-5);&lt;br /&gt;move();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;:D, lalu, kita tambahkan IF Statement! dan fungsi Greenfoot.isKeyDown(String key)!&lt;br /&gt;&lt;code&gt;&lt;br /&gt;if(Greenfoot.isKeyDown("right"))&lt;br /&gt;{&lt;br /&gt;turn(5);&lt;br /&gt;}else if(Greenfoot.isKeyDown("left"))&lt;br /&gt;{&lt;br /&gt;turn(-5);&lt;br /&gt;}&lt;br /&gt;if(Greenfoot.isKeyDown("up"))&lt;br /&gt;{&lt;br /&gt;move(5);&lt;br /&gt;}else if(Greenfoot.isKeyDown("down"))&lt;br /&gt;{&lt;br /&gt;move(-5);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;"Dan kau telah membuat mobil mu sendiri, hehehe"&lt;br /&gt;&lt;a href="http://www.ziddu.com/download/3473909/Mobil.zip.html"&gt;Download Greenfoot source-nya&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-3904210780447054201?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/3904210780447054201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/01/membuat-mobil-di-greenfoot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3904210780447054201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3904210780447054201'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/01/membuat-mobil-di-greenfoot.html' title='Membuat Mobil di Greenfoot !'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-3696156255007125345</id><published>2009-01-13T17:45:00.019+07:00</published><updated>2010-12-19T22:43:59.879+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='membuat game'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='membuat game dengan greenfoot'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Membuat Game Berbasis Java Dengan Greenfoot</title><content type='html'>Greenfoot, adalah software yang sangat membatu kita dalam memahami bahasa pemrograman Java. Sangat baik untuk pemula yang masih sangat awam dengan bahasa pemrograman Java.&lt;br /&gt;Download Greenfoot(1.4.6) di&lt;a href="http://www.greenfoot.org/download/"&gt;sini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sebelumnya, ada baiknya belajar tentang OOP di&lt;a href="http://mandelag.blogspot.com/2009/01/pengertian-object-oriented-programming.html"&gt;sini&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;------------------ Membuat game sederhana --------------------&lt;br /&gt;Bagian 1: Persiapan.&lt;br /&gt;1. Buka Greenfoot.&lt;br /&gt;2. Klik Menu Scenario &amp;gt; New &amp;gt; masukan nama &amp;gt; Create.&lt;br /&gt;3. Klik kanan kotak bertuliskan World &amp;gt; New Subclass &amp;gt; (beri nama dunia) &amp;gt; OK.&lt;br /&gt;4. Klik kanan kotak bertuliskan Actor &amp;gt; New Subclass &amp;gt; (beri nama objek) &amp;gt; ambil gambar &amp;gt; OK.&lt;br /&gt;5. Compile, maka anda akan melihat sebuah kotak berwarna putih ditengah tengah.&lt;br /&gt;6. Klik objek yang baru dibuat, tekan shift, lalu klik di kotak tengah tersebut.&lt;br /&gt;7. Maka objek tersebut sudah berada di dunia!&lt;br /&gt;8. Klik reset.&lt;br /&gt;&lt;br /&gt;Bagian 2: Membuat objek bergerak.&lt;br /&gt;Dengan menggunakan method setLocation() yang diturunkan oleh Actor class.&lt;br /&gt;1. Klik 2 kali kotak objek (disebelah kanan), untuk membuka class editornya.&lt;br /&gt;2. Override method act() yang di turunkan Actor class.&lt;br /&gt;&lt;code&gt;public void act()&lt;br /&gt;{&lt;br /&gt;setLocation(getX()-1,getY()-1);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;3. Klik Compile.&lt;br /&gt;4. Masukan objek ke dunia (dengan cara klik shift tadi).&lt;br /&gt;5. Klik Run!&lt;br /&gt;6. Anda akan melihat objek bergerak serong ke atas(y-1) kiri(x-1).&lt;br /&gt;&lt;br /&gt;Bagian 3: Menambahkan objek ke dunia.&lt;br /&gt;1. Klik 2 kali kotak dunia (disebelah kanan), untuk membuka class editornya.&lt;br /&gt;2. Tambahkan di constructor kode berikut ini di constructor-nya(dibawah super(..,..,..);)&lt;code&gt;&lt;br /&gt;addObject(new objek(), 20, 20);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;3. Klik Compile.&lt;br /&gt;4. Klik Run!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/download/3176461/sample.zip.html"&gt;Download greenfoot source-nya&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-3696156255007125345?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/3696156255007125345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/01/greenfoot-membuat-game-berbasis-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3696156255007125345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/3696156255007125345'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/01/greenfoot-membuat-game-berbasis-java.html' title='Membuat Game Berbasis Java Dengan Greenfoot'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8105395837529231806.post-8969361488078683893</id><published>2009-01-12T22:14:00.025+07:00</published><updated>2010-10-16T19:39:13.282+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='object'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='oriented'/><category scheme='http://www.blogger.com/atom/ns#' term='object + oriented + programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Greenfoot'/><title type='text'>Pengertian Object Oriented Programming  /  OOP</title><content type='html'>Menurut id.Wikipedia.org&lt;code&gt;&lt;br /&gt;Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Menurut pendapat saya, OOP itu adalah membuat Object dalam program. Misalnya, saya tidak mampu membeli mobil, maka saya buat mobil di program komputer tersebut, dalam hal ini saya menggunakan Greenfoot.&lt;br /&gt;&lt;br /&gt;Dalam OOP, blueprint dari object tersebut dinamakan &lt;span style="color: red;"&gt;CLASS&lt;/span&gt;. Class digunakan agar kita bisa memproduksi secara massal object tersebut. &lt;br /&gt;Didalam blueprint(class), ada &lt;span style="color: red;"&gt;CONSTRUCTOR&lt;/span&gt;. Konstruktor digunakan untuk meng-set data data awal yang ada di objek  tersebut. Konstruktor digunakan untuk menyiapkan segala sesuatu pada  saat objek ini dibuat.&lt;br /&gt;Didalam blueprint(class), disebutkan berapa panjangnya, tingginya, dsb, dalam &lt;span style="color: red;"&gt;FIELDS&lt;/span&gt;.&lt;br /&gt;Didalam blueprint(class) juga, disebutkan fungsi fungsi dari mobil tersebut, seperti misalkan classnya merupakan kelas yang membuat Mobil, belok kiri, belok kanan, maju, mundur, didalam &lt;span style="color: red;"&gt;METHOD&lt;/span&gt;/fungsi-nya.&lt;br /&gt;&lt;br /&gt;Sudah mengerti? Ini blueprints mobil tersebut.&lt;code&gt;&lt;br /&gt;public class mobil&lt;br /&gt;{&lt;br /&gt;/** Ini Fieldsnya (Deklarasi Variabel)*/&lt;br /&gt;Color warna; // warna mobilnya&lt;br /&gt;int panjang; //panjang mobilnya    &lt;br /&gt;int lebar; // lebar mobilnya&lt;br /&gt;/** Fields selesai */    &lt;br /&gt;&lt;br /&gt;/** Constructor nya */&lt;br /&gt;public mobil(Color w, int p, int l)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warna = w;           /** di set supaya  warna ini                  */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; panjang = p;         /** di set supaya panjangnya segini...        */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lebar = l;           /** di set supaya lebarnya seginii....        */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visualisasikan();   // di display, supaya kelihatan&lt;br /&gt;}&lt;br /&gt;/** Constructor selesai */&lt;br /&gt;&lt;br /&gt;/** Fungsinya/metode(method) */&lt;br /&gt;private void visualisasikan() // private artinya supaya gak di akses objek lain&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // yang berhubungan dengan grafis disini&lt;br /&gt;}&lt;br /&gt;public void belok_kanan() // void tidak mereturn apa apa&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // berhubungan dengan posisi&lt;br /&gt;}&lt;br /&gt;public void belok_kiri()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // berhubungan dengan posisi&lt;br /&gt;}&lt;br /&gt;//dsb..&lt;br /&gt;/** Fungsi Selesai */&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Setelah selesai membuat blueprint nya, baru kita bisa membuat objeknya. Dengan cara :&lt;br /&gt;Menggunakan Main class :&lt;code&gt;&lt;br /&gt;public static void main(String[] args)&lt;br /&gt;{&lt;br /&gt;mobil honda = new mobil(new Color(220,220,220), 100, 30);&lt;br /&gt;mobil toyota = new mobil(new Color(220,120,120), 100, 40);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;Menggunakan World di Greenfoot (di constructor nya):&lt;code&gt;&lt;br /&gt;mobil honda = new mobil(new Color(220,220,220), 100, 30);&lt;br /&gt;mobil toyota = new mobil(new Color(220,120,120), 100, 40);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/download/3176468/mobil.zip.html"&gt;Download greenfoot source-nya&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: orange;"&gt;Bagi yang masih belum mengerti, silahkan tanya di komentar&lt;/span&gt;&lt;/span&gt;&lt;span style="color: orange;"&gt;&lt;span style="font-size: small;"&gt;nya yaa.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8105395837529231806-8969361488078683893?l=mandelag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mandelag.blogspot.com/feeds/8969361488078683893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mandelag.blogspot.com/2009/01/pengertian-object-oriented-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/8969361488078683893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8105395837529231806/posts/default/8969361488078683893'/><link rel='alternate' type='text/html' href='http://mandelag.blogspot.com/2009/01/pengertian-object-oriented-programming.html' title='Pengertian Object Oriented Programming  /  OOP'/><author><name>Keenan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9QRrPYjT-xA/SS0NRH1QiNI/AAAAAAAAAAM/_o1LNEPukfM/S220/yeah.jpg'/></author><thr:total>0</thr:total></entry></feed>
