Ayo gabung di kumpulblogger.com kemudahan mencari uang di dunia maya.

Hayo semangat, posting java progamming kali ini masih tentang karel. Dengan masalah yang mudah, mudah tapi sulit. Deskripsi masalah yang saya angkat kali ini adalah soal UTS dari sekolah saya. Apakah Anda sudah siap?

Deskripsi I : Asumsikan karel berada pada kolom pertama, baris pertama. Tepat satu langkah di depan karel ada beepers. Persoalannya adalah Anda diminta untuk membuat program java yang menggerakkan karel tersebut satu langkah ke depan, kemudian menggandakan jumlah beepers yang ada dan meletakkan beepers hasil penggandaaan, lalu karel bergerak satu langkah lagi ke depan.

Untuk memudahkan pengertian, kita lihat screenshotnya di bawah ini.



Deskripsi II : Pada gambar di atas, karel menggandakan beepers dari 3 menjadi 6. Permasalahan kedua adalah Anda selanjutnya diminta membuat program karel tersebut yang berlaku pada semua kondisi, misal dari 1 menjadi 2, 6 menjadi 12, 10 menjadi 20 dst (kelipatan dua dari jumlah beeper sebelumnya).

Sebenarnya maksud deskripsi II itu adalah Anda harus bisa membuat algoritma yang berlaku secara universal. Wawaw, jangan khawatir, ini tantangan buat Anda.

Sebaiknya Anda mencobanya terlebih dahulu. Setelah itu Anda dapat membandingkannya dengan jawaban saya di bawah ini :

Lihat source code :
import stanford.karel.*;

public class DoublingKarel extends SuperKarel
{
 public int countBeepers=0;
 
 public void doubleBeepers()
 {
  while(beepersPresent())
  {
   pickBeeper();
   countBeepers++;
  }
  for(int i=0; i<countBeepers*2; i++)
   putBeeper();
 }
 
 public void run()
 {
  move();
  doubleBeepers();
  move();
 }

}

Anda dapat langsung mencobanya. Untuk contoh di atas saya menggunakan software eclipse SDK. Lihat juga hasilnya langsung dari komputer saya.


Perhatikan :
1. Pada saat menyimpan, nama file *.javanya harus sama dengan nama yang ada di class-nya. Untuk kasus ini, public class DoublingKarel extends SuperKarel, berarti nama filenya yang kalian buat adalah DoublingKarel.java .

2. import stanford.karel.*; adalah header untuk karel, kalau di C++ seperti <iostream.h> yang fungsi anggotanya cin dan cout.

Jika ada yang ingin ditanyakan, atau Anda tidak paham bagaimana mengompile source code tersebut pada eclipse, silahkan beri komentar di bawah ini.


=Semoga Bermanfaat=

Comments (0)

Related Posts Plugin for WordPress, Blogger...
Share