Anda di halaman 1dari 176

i

ii







Belajar Logika Pemrograman
Lewat Permainan RobotProg








Felix Lukman

iii



Belajar Logika Pemrograman Lewat Permainan
RobotProg
Penulis: Felix Lukman
Penyunting: Felix Lukman
Desain Cover: Suzane Wijaya
Ilustrasi cover karya Boians Cho Joo Young dan diperoleh secara
legal dari www.freedigitalphotos.net



Redaksi KubuBuku.com:
Jl. Taman Pesona Mediteran No. E7 Bandung 40181
Telp: (022) 92991941, 0816619450
Email: redaksi@kububuku.com
Situs web: www.kububuku.com



Cetakan Pertama, Juni 2014



2014, KubuBuku.com
Hak cipta dilindungi Undang-undang



Dilarang mencetak, menerjemahkan, memfotokopi, atau
memperbanyak sebagian atau seluruh isi buku ini tanpa izin
tertulis dari penerbit.


iv














Untuk Mama, Suzane, Stanley, dan Stacey





i



Daftar Isi

Daftar Isi
Kata Pengantar
Bab 1. Pendahuluan 1
1.1. Mengunduh RobotProg 1
1.2. Menginstall RobotProg 2
1.3. Menjalankan RobotProg 9
1.4. Aturan Permainan 15
Bab 2. Permainan Level Satu 16
2.1. Membuat Program Robot 17
2.2. Menjalankan Program Robot 25
2.3. Menyimpan Program Robot 32
2.4. Membuka File Program Robot 34
2.5. Menguji Kondisi Dengan Perintah Test 35
2.6. Memberikan Komentar Pada Program Robot 41
2.7. Tantangan #1 42
2.8. Tantangan #2 44
Bab 3. Permainan Level Dua 46
3.1. Berpindah Level 46
3.2. Membuat Subroutine Program 47
3.3. Tantangan #3 55
Bab 4. Permainan Level Tiga 56
4.1. Variabel Pada RobotProg 56
4.2. Membuat Variabel Dengan Perintah Assignment 57
4.3. Tantangan #4 61
Bab 5. Permainan Level Empat 62
5.1. Menampilkan Nilai Variabel Dengan Perintah Display 63
5.2. Meminta Masukan Dengan Perintah Input 65
ii



5.3. Memberikan Dan Menghapus Tanda Pada Lantai 69
5.4. Mengenal Energi Pada Robot 73
5.5. Memodifikasi Ruangan Permainan 78
5.6. Mengisi Energi Dengan Perintah Reload 84
5.7. Tantangan #5 86
Bab 6. Permainan Level Lima 89
6.1. Pengulangan Menggunakan Perintah While 90
6.2. Pengulangan Menggunakan Perintah For 93
6.3. Lanjutan Memodifikasi Ruangan Permainan 97
6.4. Tantangan #6 108
Bab 7. Permainan Level Enam 112
7.1. Memodifikasi Ruangan Permainan Dengan Banyak
Robot 112
7.2. Menambahkan Beberapa Program Robot 117
7.3. Membuat Program Untuk Banyak Robot 119
7.4. Tantangan #7 134
Lampiran 1: Bahasa Robot 137
Lampiran 2: Kunci Jawaban Tantangan 140


iii



Kata Pengantar

Puji syukur kepada Tuhan Yang Maha Esa atas rahmatNya,
akhirnya KubuBuku.com menerbitkan buku elektronik gratisnya
yang pertama dengan judul Belajar Logika Pemrograman Lewat
Permainan RobotProg. RobotProg adalah program permainan
robot virtual. Di mana Anda akan memiliki satu (atau beberapa)
buah robot yang siap melaksanakan semua perintah yang Anda
berikan. Anda bisa memerintahkan si robot untuk melangkah
maju, berputar ke kiri, berputar ke kanan, menandai lantai, dan
masih banyak lagi perintah lainnya.
Di balik permainannya yang sangat menarik dan mudah untuk
dimainkan oleh berbagai tingkatan usia, RobotProg ini juga
mengandung muatan edukasi yang sangat bagus. Selain sangat
baik untuk melatih logika, secara tidak langsung para pemain
RobotProg juga akan diperkenalkan dengan dasar-dasar
pemrograman komputer. Mulai dari penggunaan diagram alir
(flow chart), variabel, percabangan if, pengulangan for-next,
pengulangan while-wend, bahkan hingga pemanfaatan
subroutine, semuanya akan dipahami ketika Anda memainkan
RobotProg.
Meskipun dikemas dalam bentuk permainan yang sepertinya
ditujukan untuk anak-anak, sebenarnya program RobotProg ini
juga cocok dimainkan oleh para remaja dan dewasa. Terlebih lagi
bagi mereka yang sedang belajar tentang pemrograman
komputer. Bahkan penulis pun selalu menyarankan kepada para
mahasiswa fakultas ilmu komputer yang sedang mengambil mata
kuliah pengantar pemrograman atau algoritma untuk memainkan
iv



RobotProg sebagai alat bantu di dalam melatih logika
pemrograman.
Disusun dengan bahasa yang mudah dimengerti disertai
pembahasan yang terstruktur, buku ini ditujukan bagi semua
kalangan yang ingin mahir memainkan program RobotProg. Selain
meliputi keenam level permainan yang terdapat pada program
RobotProg, pembahasan dalam buku ini juga akan dilengkapi
dengan banyak contoh program dan juga terdapat tantangan
yang harus dikerjakan sendiri oleh para pembacanya. Penulis
berharap buku ini bisa menambah ilmu dan memberikan banyak
manfaat kepada para pembacanya.
Penulis mengucapkan banyak terima kasih kepada semua pihak
yang terlibat di dalam penyusunan hingga penerbitan buku ini.
Semoga buku elektronik gratis ini bisa memberikan manfaat
sebesar-besarnya seluruh bangsa Indonesia. Akhir kata, penulis
meminta doa restu dan dukungan dari semua pihak untuk
kesuksesan KubuBuku.com, yang merupakan pelopor penerbitan
buku elektronik berbahasa Indonesia gratis.

Bandung, 1 Mei 2013



Felix Lukman
Founder KubuBuku.com
(Email/FB: felixlukman@yahoo.com)
i






1


Bab 1. Pendahuluan

RobotProg adalah sebuah program permainan robot virtual. Di
dalam program ini Anda akan memiliki sebuah (atau bisa juga
lebih) robot virtual. Anda dapat memberikan perintah-perintah
yang nantinya akan dilaksanakan oleh si robot. Yang harus Anda
lakukan ketika hendak memerintah si robot adalah dengan
membuat program untuk si robot. Dalam membuat program,
Anda tinggal menggambarkan perintah-perintahnya dalam
bentuk suatu diagram alir (flow chart). Lalu jalankan programnya,
kemudian Anda akan menyaksikan atraksi si robot yang sedang
mengerjakan perintah-perintah tersebut.
Selain sangat menghibur, keuntungan lain yang bisa diperoleh
dengan memainkan program RobotProg ini adalah secara tidak
langsung Anda akan belajar tentang dasar-dasar pemrograman
komputer. Sambil bermain Anda akan diperkenalkan dengan
konsep variabel, percabangan if, pengulangan for-next dan while-
wend, hingga subroutine. RobotProg sangat cocok untuk
dimainkan oleh mereka yang berminat untuk menjadi seorang
pemrogram. Dan karena bentuknya adalah permainan maka
permainan ini bisa dipahami dengan mudah oleh siswa-siswa
tingkat sekolah dasar hingga para mahasiswa fakultas ilmu
komputer.

1.1. Mengunduh RobotProg
Program RobotProg termasuk sebagai donationware. Jadi Anda
boleh mendapatkan dan menggunakan program ini secara gratis.
Tapi jika Anda merasa puas dengan program ini, si pencipta
2


RobotProg mengharapkan donasi dari Anda. RobotProg tersedia
dalam dua versi, yaitu untuk komputer PC dengan sistem operasi
Windows dan komputer Macintosh dengan sistem operasi MacOS
X. Untuk mendapatkan versi terbaru dari program RobotProg,
Anda dapat mengunduhnya secara langsung melalui situs
http://www.physicsbox.com/indexrobotprogen.html (lihat pada
Gambar 1.1).


Gambar 1.1: Situs Resmi Program RobotProg

1.2. Menginstall RobotProg
Untuk menginstall program RobotProg pada komputer PC dengan
sistem operasi Windows, ikutilah langkah-langkah berikut ini:
3


1. Jalankan file robotprog11ensetup.exe yang telah Anda
unduh sebelumnya.
2. Pada jendela Select Setup Language (lihat Gambar 1.2),
pilihlah English lalu klik tombol OK.


Gambar 1.2: Memilih Bahasa Layanan

3. Pada tahap Welcome to the RobotProg Setup Wizard
(lihat Gambar 1.3) klik saja tombol Next.


Gambar 1.3: Tahap Pertama Proses Instalasi
4



4. Pada tahap Information (lihat Gambar 1.4) Anda bisa
melihat beberapa informasi penting seputar program
RobotProg. Setelah selesai membaca info tersebut, klik
tombol Next untuk melanjutkan.


Gambar 1.4: Tahap Kedua Proses Instalasi

5. Pada tahap Select Destination Location (lihat Gambar
1.5) Anda bisa menentukan lokasi tempat program
RobotProg akan diinstal. Defaultnya, program tersebut
akan diinstal ke folder C:\Program Files\RobotProg. Jika
Anda hendak mengubah folder tujuan tersebut, klik
tombol Browse untuk memilih folder yang dimaksud.
Sedangkan untuk melanjutkan ke proses instalasi
berikutnya, klik tombol Next.
5



Gambar 1.5: Tahap Ketiga Proses Instalasi

6. Pada tahap Select Start Menu Folder (lihat Gambar 1.6)
Anda bisa menentukan folder yang akan menyimpan
shortcut program RobotProg. Default folder yang
digunakan adalah folder RobotProg. Jika hendak
mengubah folder tersebut, klik tombol Browse untuk
memilih folder yang dimaksud. Sedangkan untuk
melanjutkan ke proses instalasi berikutnya, klik tombol
Next.
6



Gambar 1.6: Tahap Keempat Proses Instalasi

7. Pada tahap Select Additional Tasks (lihat Gambar 1.7)
isilah kotak cek Create a desktop icon untuk membuat
sebuah icon program RobotProg pada layar desktop. Lalu
klik tombol Next.
8. Anda sudah siap untuk menginstal program RobotProg.
Pada tahap Ready to Install (lihat Gambar 1.8) periksa
kembali pengaturan instalasi yang sudah dilakukan pada
tahap-tahap sebelumnya. Jika masih ada pengaturan yang
hendak diubah, Anda bisa kembali ke tahap-tahap
sebelumnya dengan mengklik tombol Back. Klik tombol
Install untuk memulai proses instalasi.

7



Gambar 1.7: Tahap Kelima Proses Instalasi


Gambar 1.8: Tahap Keenam Proses Instalasi
8



9. Proses instalasi akan dijalankan. Tunggu hingga selesai.


Gambar 1.9: Proses Instalasi Sedang Berlangsung

10. Selamat, Anda telah berhasil menginstal program
RobotProg. Akhiri proses instalasi ini dengan mengklik
tombol Finish. Jika sebelumnya Anda mengisi kotak cek
Launch RobotProg, maka setelah jendela Setup ditutup,
program RobotProg akan dijalankan.
9



Gambar 1.10: Proses Instalasi Telah Selesai


1.3. Menjalankan RobotProg
Untuk menjalankan program RobotProg Anda dapat mengklik
tombol Start > All Programs > RobotProg > RobotProg. Atau bisa
juga dengan mengklik ganda icon program RobotProg yang
terdapat pada desktop. Saat program RobotProg dijalankan Anda
akan mendapatkan tampilan seperti pada Gambar 1.11. Selain
jendela utama program RobotProg, juga akan terdapat dua buah
jendela lainnya, yaitu jendela Tools (lihat Gambar 1.12) dan
jendela Robot program 1 (lihat Gambar 1.13).


10



11




Gambar 1.11: Tampilan Awal Program RobotProg

Pada jendela Tools akan ditampilkan perintah-perintah yang
dapat digunakan untuk membuat program. Jumlah perintah yang
ditampilkan pada jendela Tools tergantung pada level yang
sedang dimainkan. Program RobotProg ini memiliki 6 level
permainan, yang tentunya tingkat kesulitannya akan semakin
meningkat pada level yang lebih tinggi.


Gambar 1.12: Jendela Tools
12



Tujuan dari permainan RobotProg ini adalah Anda akan membuat
sebuah program yang nanti akan dieksekusi (dijalankan) oleh si
robot. Yang dimaksud dengan program di sini adalah sekumpulan
perintah yang memiliki urutan pelaksanaan tertentu. Jadi pada
saat program dijalankan, si robot akan melaksanakan setiap
perintah yang ada di dalam program sesuai dengan urutannya.
Cara Anda membuat program pada RobotProg adalah dengan
menggambarkan perintah-perintah dalam bentuk diagram alir
pada jendela Robot Program.


Gambar 1.13: Jendela Robot Program
13



Tampilan program RobotProg seperti yang diperlihatkan pada
Gambar 1.11 belumlah lengkap. Karena masih ada satu jendela
lagi yang seringkali ditampilkan, yaitu jendela Execution. Untuk
menampilkan jendela Execution, pada baris menu klik Window >
Execution window. Gambar 1.14 akan menampilkan program
RobotProg yang umum digunakan yaitu dengan tiga buah jendela
yang terbuka, yaitu Tools, Robot program, dan Execution.


Gambar 1.14: Tampilan Program RobotProg Yang Lengkap

Jendela Execution (lihat Gambar 1.15) berguna untuk melihat
atraksi si robot ketika menjalankan program yang Anda buat.
Sekarang mari Anda perhatikan ruang permainan (biasa juga
disebut dengan istilah ground) tempat si robot berada. Si robot
akan berada di dalam sebuah ruangan kecil berukuran 2 kotak kali
2 kotak yang disekelilingnya terdapat dinding. Di mana pada
ruangan kecil tersebut terdapat sebuah jalan keluar yang berada
di sisi kanan atas. Ruangan kecil tersebut berada di tengah-tengah
sebuah ruangan yang lebih besar, yang berukuran 10 kotak kali 10
14


kotak, yang juga dikelilingi oleh dinding, tapi tanpa ada jalan
keluar.
Selain ruang permainan tersebut yang merupakan bawaan dari
program RobotProg, Anda dapat merancang ruang permainan
sendiri sesuai dengan tantangan yang diinginkan. Bahkan Anda
juga akan dapat menambahkan jumlah robot yang ada dalam
sebuah ruangan permainan. Tidak hanya ada satu, dua, atau tiga
robot, tapi lebih dari itupun bisa. Tentunya hal ini akan membuat
permainan RobotProg ini menjadi semakin menantang dan tidak
membosankan. Pembahasannya bisa Anda temukan pada bab-
bab selanjutnya.


Gambar 1.15: Jendela Execution
15


1.4. Aturan Permainan
Anda bisa membuat program sesuka hati Anda yang akan
memerintahkan si robot untuk melakukan banyak hal. Misalnya,
memerintahkan si robot untuk maju, berputar ke kiri, berputar ke
kanan, menandai kotak, ataupun mengisi ulang energi. Tapi ada
dua aturan dasar permainan yang perlu Anda ketahui yaitu:
Si robot tidak boleh menabrak dinding ataupun robot
lainnya. Ketika terjadi tabrakan maka program akan
diberhentikan.
Si robot tidak boleh kehabisan energi. Saat si robot sudah
tidak memiliki energi lagi maka program akan
diberhentikan.




16


Bab 2. Permainan Level Satu

Setiap kali Anda memulai RobotProg, level permainan yang akan
ditampilkan adalah level 1 dengan jendela Robot program yang
masih kosong. Pada permainan level pertama ini jendela Tools
akan menampilkan 10 alat atau perintah seperti yang bisa dilihat
pada Gambar 2.1.


Gambar 2.1: Jendela Tools Level 1

Berikut penjelasan singkat dari alat-alat atau perintah-perintah
tersebut:

Selection
Berguna untuk memilih satu atau beberapa objek
yang terdapat pada diagram alir.

Eraser
Berguna untuk menghapus satu atau beberapa
objek yang terdapat pada diagram alir.

Link
Berguna untuk menghubungkan dua buah objek
yang terdapat pada diagram alir.

17



Comment
Berguna untuk memberikan komentar atau
catatan pada diagram alir.

Begin
Penanda awal program.

End
Penanda akhir program.

Test
Berguna untuk melakukan pengujian terhadap
suatu kondisi.

Turn left
Berguna untuk memerintahkan si robot berputar
ke arah kiri sebesar 90 derajat.

Move
forward
Berguna untuk memerintahkan si robot untuk
maju sebanyak satu kotak.

Turn right
Berguna untuk memerintahkan si robot berputar
ke arah kanan sebesar 90 derajat.


2.1. Membuat Program Robot
Untuk membuat sebuah program robot caranya mudah. Anda
tinggal mengklik sebuah alat atau perintah yang ada di jendela
Tools, lalu klik pada jendela Robot program untuk
menggambarkannya. Adapun aturan yang berlaku saat membuat
program robot adalah program selalu dimulai dengan perintah
Begin dan diakhiri dengan perintah End.
Supaya lebih jelas ikutilah langkah-langkah berikut ini dalam
membuat sebuah program sederhana:
18


1. Pastikan Anda memiliki jendela Robot program yang
masih kosong.
2. Klik perintah Begin pada jendela Tools. Lalu kliklah pada
jendela Robot program sehingga tampilannya seperti
pada Gambar 2.2. Ingat, setiap kali Anda membuat
program robot harus selalu diawali dengan perintah
Begin.


Gambar 2.2: Memulai Program Dengan Perintah Begin

3. Klik perintah Move forward pada jendela Tools. Lalu klik
pada jendela Robot program sehingga tampilannya
seperti pada Gambar 2.3. Perintah Move forward ini akan
memerintahkan si robot untuk melangkah satu kotak ke
depan.
19



Gambar 2.3: Menambahkan Perintah Move Forward

4. Klik kembali perintah Move forward pada jendela Tools.
Lalu klik pada jendela Robot program sehingga
tampilannya seperti pada Gambar 2.4. Perintah Move
forward ini akan kembali memerintahkan si robot untuk
melangkah satu kotak ke depan.


Gambar 2.4: Menambahkan Lagi Perintah Move Forward
20



5. Klik perintah Turn right pada jendela Tools. Lalu klik pada
jendela Robot program sehingga tampilannya seperti
pada Gambar 2.5. Perintah Turn right ini akan
memerintahkan si robot untuk berputar ke arah kanan
sebesar 90 derajat.


Gambar 2.5: Menambahkan Perintah Turn Right

6. Klik perintah Move forward pada jendela Tools. Lalu klik
pada jendela Robot program sehingga tampilannya
seperti pada Gambar 2.6. Perintah Move forward ini akan
memerintahkan si robot untuk melangkah satu kotak ke
depan.

21



22



Gambar 2.6: Menambahkan Perintah Move Forward Setelah
Putar Kanan

7. Klik perintah Move forward pada jendela Tools. Lalu klik
pada jendela Robot program sehingga tampilannya
seperti pada Gambar 2.7. Perintah Move forward ini akan
memerintahkan kembali si robot untuk melangkah satu
kotak ke depan.
23



Gambar 2.7: Menambahkan Lagi Perintah Move Forward

8. Klik perintah Turn left pada jendela Tools. Lalu klik pada
jendela Robot program sehingga tampilannya seperti
pada Gambar 2.8. Perintah Turn left ini akan
memerintahkan si robot untuk berputar ke arah kiri
sebesar 90 derajat.
9. Klik perintah Move forward pada jendela Tools. Lalu klik
pada jendela Robot program sehingga tampilannya
seperti pada Gambar 2.9. Perintah Move forward ini akan
memerintahkan si robot untuk melangkah satu kotak ke
depan.

24



Gambar 2.8: Menambahkan Perintah Turn Left

10. Klik perintah End pada jendela Tools. Lalu kliklah pada
jendela Robot program sehingga tampilannya seperti
pada Gambar 2.10. Ingat, setiap kali Anda membuat
program robot harus selalu diakhiri dengan perintah End.

25



Gambar 2.9: Menambahkan Perintah Move Forward Setelah
Putar Kiri


2.2. Menjalankan Program Robot
Setelah selesai membuat program, jalankanlah program tersebut.
Pada jendela Execution Anda bisa melihat atraksi si robot ketika
menjalankan perintah-perintah yang sudah dibuat dalam
program.

26



Gambar 2.10: Mengakhiri Program Dengan Perintah End


Adapun langkah-langkah untuk menjalankan program adalah
sebagai berikut:

1. Klik tombol INIT yang terdapat di dalam
jendela Execution.
27



2. Lalu klik tombol Run yang berada di
sebelah kanan tombol INIT.

Untuk lebih jelasnya bagaimana si robot menjalankan perintah-
perintah yang ada pada program, di bawah ini akan diilustrasikan
tentang apa yang dilakukan oleh si robot. Program yang
dijalankan adalah program yang baru saja dibuat pada bagian
sebelumnya. Mari perhatikan langkah-langkah berikut ini:
1. Pada jendela Execution, klik tombol INIT, dilanjutkan
dengan mengklik tombol Run.
2. Perintah Begin hanya menandakan sebagai awal program.
Si robot tidak melakukan aksi apapun.
3. Perintah Move forward akan memerintahkan si robot
untuk melangkah satu kotak (lihat Gambar 2.11).


Gambar 2.11: Robot Melangkah Satu Kotak

28


4. Perintah Move forward berikutnya akan memerintahkan
si robot untuk melangkah satu kotak lagi (lihat Gambar
2.12).


Gambar 2.12: Robot Kembali Melangkah Satu Kotak

5. Perintah Turn right akan memerintahkan si robot untuk
berputar ke arah kanan sebesar 90 derajat (lihat Gambar
2.13). Sekarang si robot akan menghadap ke bawah.
6. Perintah Move forward akan memerintahkan si robot
untuk melangkah satu kotak (lihat Gambar 2.15).

29



Gambar 2.14: Robot Berputar 90 Derajat Ke Arah Kanan


Gambar 2.15: Robot Melangkah Satu Kotak Setelah Putar Kanan

7. Perintah Move forward berikutnya akan memerintahkan
si robot untuk melangkah satu kotak lagi (lihat Gambar
2.16).
30



Gambar 2.16: Robot Melangkah Satu Kotak Lagi

8. Perintah Turn left akan memerintahkan si robot untuk
berputar ke arah kiri sebesar 90 derajat (lihat Gambar
2.17). Sekarang si robot akan menghadap ke arah kanan.


Gambar 2.17: Robot Berputar 90 Derajat Ke Arah Kiri

31


9. Perintah Move forward akan memerintahkan si robot
untuk melangkah satu kotak (lihat Gambar 2.18).


Gambar 2.18: Robot Melangkah Satu Kotak Setelah Putar Kiri

10. Perintah End hanya menandakan sebagai akhir program.
Si robot tidak melakukan aksi apapun. Saat program
berakhir akan muncul tampilan seperti pada Gambar
2.19. Klik saja tombol OK untuk mengakhiri.


Gambar 2.19: Program Telah Selesai Dijalankan

32


2.3. Menyimpan Program Robot
Program robot yang Anda buat bisa disimpan ke dalam sebuah
file yang memiliki ekstensi bop. Untuk menyimpan program robot
yang belum pernah disimpan sebelumnya, langkah-langkahnya
adalah:
1. Pastikan Anda sedang mengaktifkan jendela Robot
program.
2. Pada baris menu klik File > Save program. Atau bisa juga
dengan menekan kombinasi tombol Ctrl + S pada
keyboard.
3. Kemudian akan muncul jendela Save As (lihat Gambar
2.20).
4. Pada bagian Save in tentukan folder yang akan digunakan
untuk menyimpan file program robot yang dimaksud.
5. Pada bagian File name ketikkan nama filenya.
6. Lalu klik tombol Save untuk melakukan penyimpanan.


Gambar 2.20: Jendela Save As
33




34


Jika Anda hendak menyimpan perubahan yang terjadi pada
sebuah file program robot yang sebelumnya sudah pernah
disimpan, Anda tinggal mengklik baris menu File > Save program,
atau bisa juga dengan menekan kombinasi tombol Ctrl + S pada
keyboard. Secara otomatis semua perubahan yang terjadi pada
program robot akan tersimpan.
Sedangkan jika Anda hendak menyimpan sebuah file program
robot dengan nama yang berbeda dari nama file sebelumnya,
maka Anda harus mengklik baris menu File > Save As. Dan
langkah-langkah selanjutnya akan sama seperti pada saat Anda
melakukan penyimpanan untuk pertama kalinya.


2.4. Membuka File Program Robot
File program robot yang sudah disimpan bisa Anda buka kembali
di lain waktu. Untuk membuka program robot yang pernah
disimpan sebelumnya, langkah-langkahnya adalah:
1. Pada baris menu klik File > Open program. Atau bisa juga
dengan menekan kombinasi tombol Ctrl + O pada
keyboard.
2. Kemudian akan muncul jendela Open (lihat Gambar 2.21).
3. Pada bagian Look in tentukan folder tempat
penyimpanan file program robot yang dimaksud.
4. Klik pada file program yang dimaksud. Atau bisa juga
dengan cara mengetikkan nama filenya pada bagian File
name.
5. Lalu klik tombol Open untuk membuka file program
tersebut.
35



Gambar 2.21: Jendela Open


2.5. Menguji Kondisi Dengan Perintah Test
Pada bagian 2.1. Anda sudah dijelaskan secara detil tentang cara
membuat program dalam bentuk diagram alir. Maka pada
pembahasan-pembahasan selanjutnya, pembuatan program
robot tidak akan dibahas terlalu mendetil. Begitu pula
pembahasaan tentang jalannya program, ilustrasi yang
ditampilkan tidak akan mendetil. Tapi hanya menampilkan
beberapa ilustrasi yang dianggap penting saja.
Sekarang Anda akan membuat program robot yang kedua, di
mana pada program kali ini Anda akan belajar perintah test yang
berfungsi untuk menguji suatu kondisi. Ikutilah langkah-langkah
berikut ini:
1. Pastikan Anda memiliki jendela Robot program yang
masih kosong.
2. Tambahkan perintah Begin.
36


3. Klik perintah Test pada jendela Tools. Lalu klik pada
jendela Robot program sehingga akan muncul kotak test
yang masih kosong dengan kursor yang berkedip-kedip
(lihat Gambar 2.22). Pada kotak test tersebut Anda harus
mengetikkan kondisi yang akan diuji.


Gambar 2.22: Menambahkan Perintah Test

4. Pada kotak perintah Test ketikkan WallAhead lalu tekan
tombol Enter. Sehingga tampilan diagram alirnya seperti
pada Gambar 2.23. Perintah Test berisi teks WallAhead ini
berguna untuk menguji atau memeriksa apakah di depan
si robot terdapat dinding atau tidak. Apabila di depan si
robot terdapat dinding, maka perintah berikutnya akan
mengikuti jalur Y. Tetapi apabila di depan si robot tidak
terdapat dinding, maka perintah berikutnya akan
mengikuti jalur N. Kata WallAhead sendiri merupakan
bahasa yang dimengerti oleh si robot dalam RobotProg
ini. Anda bisa melihat bahasa-bahasa robot lainnya di
37


dalam Lampiran 1 yang berada di bagian belakang buku
ini.


Gambar 2.23: Menguji Kondisi WallAhead

5. Klik perintah Move forward pada jendela Tools. Lalu
posisikan perintah Move forward tersebut di bawah jalur
N. Sehingga tampilannya seperti pada Gambar 2.24.
6. Klik perintah Link pada jendela Tools. Lalu gambarkan
garis yang menghubungkan perintah Test dengan
perintah Move forward. Kemudian buat sebuah garis
penghubung lainnya, yaitu yang menghubungkan
perintah Move forward dengan garis yang berada di
antara perintah Begin dan Test WallAhead. Sehingga
tampilannya seperti pada Gambar 2.25.


38



Gambar 2.24: Menambahkan Perintah Move Forward


Gambar 2.25: Membuat Garis-garis Penghubung Dengan Perintah
Link

7. Tambahkan perintah End di bagian bawah jalur Y perintah
Test WallAhead. Kemudian hubungkan antara jalur Y
39


dengan perintah End menggunakan Link. Pastikan
diagram alir yang Anda buat sudah lengkap seperti pada
Gambar 2.26.


Gambar 2.26: Mengakhiri Program Dengan Perintah End

Penjelasan programnya adalah sebagai berikut:
1. Saat program dijalankan perintah yang pertama kali
dijalankan adalah test WallAhead. Dengan perintah ini si
robot akan memeriksa apakah di depannya terdapat
dinding atau tidak.
2. Jika di depan si robot tidak ada dinding, maka perintah
akan mengalir ke jalur N (No), di mana perintah
berikutnya adalah Move forward yaitu si robot akan
melangkah satu kotak.
40


3. Setelah melangkah, perintah akan mengalir kembali ke
atas dan masuk kembali ke perintah test WallAhead
(kembali ke langkah nomor 1). Kembali akan diuji apakah
di depan si robot terdapat dinding atau tidak. Jika tidak
ada, perintah berikutnya akan mengalir ke jalur N. Terus
saja seperti itu hingga suatu saat di depan si robot
terdapat dinding.
4. Tetapi apabila di hadapan si robot terdapat dinding, maka
pada percabangan test WallAhead perintah akan mengalir
ke jalur Y (Yes), di mana terdapat perintah End yang
menandakan akhir program.

Jadi saat program ini dijalankan yang terjadi adalah si robot akan
terus bergerak maju dan baru akan berhenti apabila di depannya
terdapat dinding (lihat Gambar 2.27).


Gambar 2.27: Robot Berhenti Di Depan Dinding


41


2.6. Memberikan Komentar Pada Program Robot
Terkadang Anda hendak memberikan komentar pada diagram alir
yang sedang dibuat (lihat Gambar 2.28). Komentar tersebut
berguna bagi si pembuat program sebagai catatan atau
keterangan. Komentar tidak akan memiliki dampak apapun juga
terhadap jalannya program. Dengan kata lain, si robot tidak akan
menjalankan kotak-kotak komentar yang ada.
Untuk membuat sebuah komentar, ikuti langkah-langkah berikut
ini:
1. Klik Comment pada jendela Tools. Lalu klik pada jendela
Robot program.
2. Sebuah kotak komentar yang masih kosong akan
diletakkan dalam jendela Robot program.
3. Ketikkan komentar yang diinginkan, lalu tekan tombol
Enter.


Gambar 2.28: Memberikan Komentar Pada Program
42


2.7. Tantangan #1
Penjelasan tentang level 1 sudah selesai. Sekarang waktunya
untuk menguji kemampuan Anda dalam memprogram si robot.
Coba Anda buat sendiri program untuk setiap tantangan yang
diberikan. Tapi apabila Anda mengalami kesulitan dalam
mengerjakannya, Anda bisa melihat kunci jawabannya pada
Lampiran 2 yang terdapat di bagian belakang buku ini. Selamat
mencoba!
Untuk tantangan yang pertama, buatlah program yang akan
memerintahkan si robot untuk melangkah maju beberapa kotak
dan baru berhenti saat di depan si robot terdapat dinding. Tapi,
setiap kali si robot hendak melangkah maju, si robot akan terlebih
dahulu berputar ke arah kanan sebesar 360 derajat.
Jadi yang dilakukan oleh si robot adalah berputar 360 derajat ke
arah kanan, lalu maju, berputar lagi 360 derajat ke arah kanan,
lalu maju, berputar lagi, maju lagi, terus saja seperti itu hingga
berakhir ketika si robot berhadapan dengan dinding. Untuk lebih
jelasnya lihatlah Gambar 2.29 dan Gambar 2.30.

43



Gambar 2.29: Robot Berputar 360 Derajat Ke Arah Kanan
Sebelum Melangkah


Gambar 2.30: Robot Berhenti Di Depan Dinding
44


2.8. Tantangan #2
Buatlah program yang akan memerintahkan si robot untuk terus
melangkah maju hingga bertemu dengan dinding. Selanjutnya si
robot akan berputar arah (berputar sebesar 180 derajat), lalu
terus maju lagi hingga berhenti di posisinya semula. Untuk lebih
jelasnya lihatlah Gambar 2.31 dan Gambar 2.32.


Gambar 2.31: Robot Berputar Arah Sesudah Mencapai Dinding

45



Gambar 2.32: Robot Kembali Ke Posisi Semula


46


Bab 3. Permainan Level Dua

3.1. Berpindah Level
Sekarang waktunya untuk naik ke level dua. Untuk berpindah
level caranya:
1. Pastikan Anda sedang berada pada jendela Robot
program.
2. Pada baris menu klik Configuration > Level.
3. Pada jendela Level yang muncul (lihat Gambar 3.1)
pilihlah level yang diinginkan. Lalu klik tombol OK.
4. Maka perintah yang ditampilkan pada jendela Tools akan
berubah.


Gambar 3.1: Jendela Level

Jendela Tools level 2 (lihat Gambar 3.2) hanya memiliki tambahan
satu buah perintah baru yaitu Subroutine call.
47



Gambar 3.2: Jendela Tools Level 2


Subroutine
Call
Berguna untuk memanggil atau menjalankan
sebuah subroutine.


3.2. Membuat Subroutine Program
Sebuah program yang komplek dapat disederhanakan dengan
membuat satu atau lebih subroutine. Setiap subroutine akan
memiliki nama dan diagram alirnya sendiri. Di mana nantinya
subroutine tersebut akan dapat dipanggil berkali-kali dari
program utama ataupun dari subroutine lainnya.
Sekarang buatlah program robot yang baru, di mana si robot akan
diperintahkan untuk terus melangkah maju hingga berhenti tepat
di depan dinding. Hanya saja sebelum melangkah maju, si robot
akan melihat ke kiri dan ke kanan terlebih dulu. Program robot
kali ini akan dibuat dua versi. Program versi pertama tidak akan
48


menggunakan subroutine. Sedangkan versi yang kedua akan
menggunakan subroutine. Dengan adanya dua versi program ini
Anda diharapkan dapat memahami tentang manfaat dari
subroutine.
Program versi pertama bisa dilihat pada Gambar 3.3 dengan
penjelasan sebagai berikut:
1. Saat program dijalankan, perintah yang pertama kali
dijalankan adalah test WallAhead. Dengan perintah ini si
robot akan memeriksa apakah di depannya terdapat
dinding atau tidak.
2. Jika di depan si robot tidak ada dinding, maka perintah
akan mengalir ke jalur N (No). Urutan perintah yang ada
pada jalur N adalah Turn left (putar kiri 90 derajat), Turn
right (putar kanan 90 derajat), Turn right (putar kanan 90
derajat), lalu Turn left (putar kiri 90 derajat) lagi. Keempat
perintah ini akan menghasilkan gerakan si robot yang
melihat ke arah kiri dan ke arah kanan. Layaknya seperti
orang yang lihat kiri kanan dulu sebelum menyeberang
jalan.
3. Perintah di jalur N berikutnya adalah Move forward di
mana si robot akan melangkah maju satu kotak.
4. Selesai menjalankan semua perintah di jalur N, aliran
perintah akan mengalir kembali ke atas, masuk lagi ke
perintah test WallAhead (kembali ke langkah nomor 1).
Selama di depan si robot tidak ada dinding, aliran
perintah akan selalu menuju ke jalur N.
5. Apabila di depan si robot terbentang dinding, barulah
aliran perintah akan menuju ke jalur Y (Yes), di mana
perintah berikutnya adalah End yang menyatakan
berakhirnya program.
49




Gambar 3.3: Program Robot Tanpa Subroutine

Sekarang ikutlah langkah-langkah berikut ini untuk membuat
program versi kedua yang akan memanfaatkan subroutine:
1. Pastikan Anda memiliki jendela Robot program yang
masih kosong.
2. Pada baris menu klik Programming > New subroutine.
Jika Anda tidak bisa mengakses menu tersebut, coba
periksa kembali level permainannya. Pastikan Anda sudah
50


berada di level 2. Selama Anda masih berada dalam level
1, Anda tidak akan bisa membuat subroutine.
3. Tampilan pada jendela Robot program akan berubah dari
tampilan Main program menjadi tampilan Subroutine.
Pada kotak nama subroutine, ubahlah nama Subroutine1
menjadi LihatKiriKanan (lihat Gambar 3.4).


Gambar 3.4: Tampilan Subroutine Pada Jendela Robot Program

4. Pada tampilan Subroutine buatlah diagram alir seperti
pada Gambar 3.5. Cara membuat diagram alir untuk
subroutine sama saja seperti Anda membuat diagram alir
untuk program robot biasa (main program). Jadi apabila
subroutine LihatKiriKanan dijalankan, si robot akan
membuat gerakan melihat ke arah kiri dan kanan.
51



Gambar 3.5: Diagram Alir Subroutine LihatKiriKanan

5. Perintah yang ada pada subroutine tidak bisa langsung
dijalankan. Si robot hanya akan menjalankan perintah-
perintah yang dibuat pada tampilan Main program. Oleh
karena itu, nanti Anda akan memanggil perintah-perintah
yang ada pada subroutine LihatKiriKanan dengan
menggunakan perintah Subroutine call. Sekarang Anda
akan membuat perintah pada Main program. Untuk
memudahkan Anda beralih ke tampilan Main program
atau subroutine, Anda bisa mengklik tombol List. Dengan
mengaktifkan tombol List, di sebelah kiri jendela Robot
program akan ditampilkan panel (lihat Gambar 3.6) berisi
Robot program 1 (Main program) dan semua subroutine
yang ada.
52



Gambar 3.6: Menampilkan Panel List Pada Jendela Robot Program

6. Pada panel List kliklah Robot program 1 untuk
menampilkan Main program. Lalu buatlah diagram alir
seperti yang terlihat pada Gambar 3.7. Perhatikan, di
bawah jalur N pada perintah test WallAhead terdapat
perintah pemanggilan subroutine LihatKiriKanan. Untuk
membuat perintah subroutine seperti itu, pada jendela
Tools klik perintah Subroutine call, lalu klik pada jendela
Robot program. Pada kotak subroutine call yang muncul,
ketikkanlah nama subroutine yang diikuti dengan
menekan tombol Enter.

53



54



Gambar 3.7: Diagram Alir Main Program

Adapun berikut ini adalah penjelasan dari program versi yang
kedua:
1. Saat program ini dijalankan, si robot akan menjalankan
perintah-perintah yang ada pada Main program. Perintah
pertama yang dijalankan adalah perintah test WallAhead
yang akan menguji apakah di hadapan si robot terdapat
dinding atau tidak.
2. Jika di hadapan si robot tidak ada dinding, maka perintah
akan mengikuti jalur N (No).
3. Pada jalur N, perintah pertamanya adalah pemanggilan
subroutine LihatKiriKanan. Dengan dijalankannya
55


subroutine tersebut, maka si robot akan melakukan
gerakan melihat ke kiri dan ke kanan.
4. Setelah itu dilanjutkan dengan perintah Move forward di
mana si robot akan melangkah sebanyak satu kotak.
Perintah kemudian akan mengalir kembali ke atas dan
menjalankan lagi perintah test WallAhead (kembali ke
langkah nomor 1). Selama di hadapan si robot tidak
terdapat dinding, maka jalur perintah yang akan diambil
adalah jalur N.
5. Tapi begitu si robot berhadapan dengan dinding, maka
jalur yang diambil adalah jalur Y (Yes), di mana terdapat
perintah End yang akan mengakhiri program.


3.3. Tantangan #3
Buatlah sebuah program robot dengan menggunakan subroutine.
Tugas si robot adalah terus melangkah maju hingga berhenti di
depan dinding. Hanya saja setiap kali hendak maju, si robot akan
terlebih dulu berputar 360 derajat ke kiri, lalu berputar 360
derajat ke kanan.

56


Bab 4. Permainan Level Tiga

Di permainan level ketiga, pada jendela Tools (lihat Gambar 4.1)
terdapat satu buah perintah baru yaitu Assignment.


Gambar 4.1: Jendela Tools Level 3


Assignment
Berguna untuk membuat sebuah variabel. Selain
itu juga digunakan untuk mengubah nilai dari
sebuah variabel.


4.1. Variabel Pada RobotProg
Variabel adalah tempat untuk menyimpan suatu nilai pada
memori komputer. Pada RobotProg, variabel hanya bisa
menyimpan nilai yang bertipe numerik. Di mana variabel tersebut
bisa menerima nilai berupa bilangan bulat positif atau bilangan
57


bulat negatif. Variabel dapat digunakan pada perintah
assignment, pengulangan (loop), dan test.
Setiap variabel harus memiliki nama. Nama variabel dapat terdiri
dari huruf dan angka, dengan panjang maksimum 32 karakter.
Meskipun demikian, nama variabel harus diawali dengan huruf.
Perhatikan, nama variabel tidak boleh sama dengan kata-kata
kunci yang sudah digunakan oleh program RobotProg. Misalnya,
Anda tidak boleh membuat variabel dengan nama WallAhead.
Pada RobotProg, variabel akan dikenal pada seluruh bagian
program. Variabel yang sama dapat digunakan pada program
utama (main program) maupun pada semua subroutine yang ada.


4.2. Membuat Variabel Menggunakan Perintah
Assignment
Untuk menjelaskan tentang perintah assignment dan manfaat
dari variabel pada program, buatlah sebuah program baru yang
akan memerintahkan si robot untuk mengelilingi ruangan kecil
sebanyak10 putaran.
Pertama, buatlah sebuah subroutine dengan nama
PutarRuangKecil seperti yang terlihat pada Gambar 4.2.
Perintah-perintah yang ada pada subroutine ini akan membuat si
robot mengelilingi ruangan yang kecil sebanyak satu putaran.
Berikut penjelasan untuk setiap perintahnya:
1. Perintah Move forward akan memerintahkan si robot
untuk maju satu langkah.
58


2. Perintah Turn right akan memerintahkan si robot untuk
berputar sebesar 90 derajat ke arah kanan.
3. Perintah Move forward akan memerintahkan si robot
untuk maju satu langkah.


Gambar 4.2: Diagram Alir Subroutine PutarRuangKecil

59



4. Perintah Turn right akan memerintahkan si robot untuk
berputar sebesar 90 derajat ke arah kanan.
5. Perintah Move forward akan memerintahkan si robot
untuk maju satu langkah.
6. Perintah Turn right akan memerintahkan si robot untuk
berputar sebesar 90 derajat ke arah kanan.
7. Perintah Move forward akan memerintahkan si robot
untuk maju satu langkah.
8. Perintah Turn right akan memerintahkan si robot untuk
berputar sebesar 90 derajat ke arah kanan.

Kemudian buatlah main program seperti yang terlihat pada
Gambar 4.3. Dan berikut ini adalah penjelasan programnya:
1. Setelah perintah Begin terdapat perintah assignment
PutaranKe=1. Perintah ini berarti membuat sebuah
variabel bernama PutaranKe dan memasukkan nilai 1 ke
dalam variabel tersebut. Cara membuat perintah
assignment pada diagram alir sama saja seperti membuat
perintah Test atau Subroutine call.
2. Perintah berikutnya adalah test PutaranKe<=10. Perintah
ini akan menguji nilai yang ada di dalam variabel
PutaranKe.
3. Selama nilai yang terdapat dalam variabel PutaranKe itu
lebih kecil atau sama dengan 10, maka aliran perintah
akan menuju ke jalur Y (Yes).
4. Pada jalur Y terdapat perintah subroutine call
PutarRuangKecil, di mana si robot akan mengelilingi
ruangan kecil satu putaran.
60


5. Setelah berputar di ruang kecil, perintah selanjutnya
adalah PutaranKe=PutaranKe+1. Perintah assignment
tersebut berarti nilai yang ada di dalam variabel
PutaranKe akan ditambahkan 1 dan akan disimpan ke
dalam variabel PutaranKe. Jadi jika sebelumnya variabel
PutaranKe bernilai 1, maka sesudah si robot mengelilingi
ruangan kecil satu putaran, variabel PutaranKe akan
bertambah menjadi dua.
6. Selanjutnya aliran perintah akan mengalir kembali ke atas
dan masuk ke perintah test PutaranKe<=10 (kembali ke
langkah nomor 2). Selama nilai variabel PutaranKe masih
lebih kecil atau sama dengan 10, maka aliran perintah
akan masuk kembali ke jalur Y.


Gambar 4.3: Diagram Alir Main Program

61


7. Hingga nilai variabel PutaranKe bernilai lebih dari 10. Saat
variabel PutaranKe bernilai 11, maka aliran perintah akan
masuk ke jalur N (No), di mana terdapat perintah End
yang akan mengakhiri program.


4.3. Tantangan #4
Sekarang cobalah Anda membuat tantangan berikut ini.
Perintahkan si robot untuk maju terus sampai di hadapannya
terdapat dinding. Hanya saja, setiap kali hendak melangkah maju
si robot akan terlebih dulu berputar penuh ke arah kanan sebesar
360 derajat. Tetapi tidak hanya sekedar berputar. Pada saat
hendak melangkah yang pertama, si robot akan berputar penuh
satu kali. Pada saat hendak melangkah yang kedua, si robot akan
berputar penuh dua kali. Pada saat hendak melangkah yang
ketiga, si robot akan berputar penuh tiga kali. Begitu seterusnya,
hingga si robot akan berhenti ketika di depannya terdapat
dinding.

62


Bab 5. Permainan Level Empat

Di permainan level keempat, pada jendela Tools (lihat Gambar
5.1) terdapat empat buah perintah baru yaitu Input/Display,
Mark, Erase, dan Reload.


Gambar 5.1: Jendela Tools Level 4


Input/Display
Berguna untuk meminta masukan (input) dari
pengguna yang nilainya akan disimpan ke
dalam variabel. Selain itu berguna juga untuk
menampilkan nilai dari suatu variabel.

Mark
Berguna untuk memberikan tanda pada kotak
tepat di posisi si robot berada.

Erase
Berguna untuk menghapus tanda pada kotak
tepat di posisi si robot berada.
63



Reload
Berguna untuk mengisi ulang energi si robot.


5.1. Menampilkan Nilai Variabel Dengan Perintah
Display
Perintah Input/Display memang memiliki dua fungsi. Pertama,
perintah Input yang berguna untuk meminta masukan, dan nilai
yang diberikan akan disimpan ke dalam sebuah variabel. Dan
kedua, perintah Display yang berfungsi untuk menampilkan nilai
suatu variabel.
Pada contoh program yang terdapat pada Gambar 5.2 akan
diperlihatkan manfaat dari perintah Display. Program tersebut
merupakan hasil modifikasi dari program robot sebelumnya yang
ada pada Gambar 4.3. Perubahan yang dilakukan adalah dengan
menambahkan sebuah perintah Display PutaranKe pada jalur Y
(Yes) di bawah perintah test. Perintah Display PutaranKe
berfungsi untuk menampilkan isi dari variabel PutaranKe pada
jendela Console.
Adapun cara untuk membuat perintah Display pada diagram alir
adalah:
1. Klik perintah Input/Display pada jendela Tools, lalu klik
pada jendela Robot program.
2. Setelah muncul gambar perintahnya yang berbentuk
jajaran genjang, ketikkan Display yang diikuti dengan
mengetikkan nama variabel yang akan ditampilkan pada
jendela Console. Misalnya, Display PutaranKe.
64



Gambar 5.2: Contoh Penggunaan Perintah Display

Jalannya program pada Gambar 5.2 mirip dengan jalannya
program pada Gambar 4.3. Perbedaannya hanyalah pada saat
perintah Test mengalir ke jalur Y (Yes), terlebih dulu akan
ditampilkan isi variabel PutaranKe pada jendela Console (lihat
Gambar 5.3), sebelum si robot mengelilingi ruangan kecil dan nilai
variabel PutaranKe bertambah satu.

65



Gambar 5.3: Perintah Display Akan Ditampilkan Pada Jendela
Console


5.2. Meminta Masukan Dengan Perintah Input
Pada Gambar 5.4 Anda bisa melihat diagram alir program yang
menggunakan perintah Input. Program tersebut juga merupakan
hasil modifikasi dari program sebelumnya yang ada pada Gambar
5.2. Perintah yang ditambahkan adalah perintah Input
JumlahPutaran yang diletakkan di bawah Begin. Perintah ini
berarti si robot meminta masukan dari Anda berupa sebuah
bilangan melalui jendela Console (lihat Gambar 5.5). Dan setelah
Anda memasukkan sebuah bilangan lalu menekan tombol Enter
maka bilangan tersebut akan disimpan ke dalam variabel yang
benama JumlahPutaran.

66



67


Adapun cara untuk membuat perintah Input pada diagram alir
adalah:
1. Klik perintah Input/Display pada jendela Tools, lalu klik
pada jendela Robot program.
2. Setelah muncul gambar perintahnya yang berbentuk
jajaran genjang, ketikkan Input yang diikuti dengan
mengetikkan nama variabel yang akan digunakan untuk
menyimpan nilai. Misalnya, Input JumlahPutaran.


Gambar 5.4: Contoh Penggunaan Perintah Input


68



Contoh 5.5: Meminta Masukan Pengguna Dengan Perintah Input

Ada dua perbedaan antara program yang terdapat pada Gambar
5.2 dengan Gambar 5.4:
Pada Gambar 5.4 terdapat perintah Input JumlahPutaran.
Dengan adanya perintah ini si robot akan bertanya
terlebih dahulu berapa banyak ia harus mengelilingi
ruangan kecil.
Jika pada Gambar 5.2 kondisi yang terdapat perintah Test
adalah PutaranKe<=10 yang berarti jika nilai variabel
PutaranKe lebih kecil atau sama dengan 10. Jadi pada
program yang ada pada gambar 5.2 si Robot akan
mengelilingi ruangan kecil sebanyak 10 kali. Sedangkan
pada Gambar 5.4, kondisi perintah Test adalah
PutaranKe<=JumlahPutaran yang berarti jika nilai
variabel PutaranKe lebih kecil atau sama dengan nilai
69


variabel JumlahPutaran. Jadi pada program yang ada
pada gambar 5.4, berapa kali si Robot akan mengelilingi
ruangan kecil akan tergantung pada masukan Anda
sebelumnya. Apabila saat ditanya tentang JumlahPutaran
Anda menjawab 4, maka si robot akan mengelilingi
ruangan kecil 4 kali. Jika Anda menjawab 20, maka si
robot akan mengelilingi 20 kali.


Gambar 5.6: Perintah Display Akan Menampilkan Isi Variabel Pada
Jendela Console


5.3. Memberikan dan Menghapus Tanda Pada
Lantai
Si robot bisa menandai lantai atau kotak di mana ia berada
dengan menggunakan perintah Mark. Pada lantai yang ditandai
akan terdapat gambar lingkaran berwarna merah. Selain
70


menandai, si robot juga dapat menghapus tanda lingkaran
tersebut. Untuk menghapus tanda pada lantai di mana si robot
berada, gunakanlah perintah Erase. Pada Gambar 5.7 Anda bisa
melihat contoh penggunaan perintah Mark dan Erase.


Gambar 5.7: Contoh Penggunaan Perintah Mark dan Erase

71


Penjelasan programnya adalah sebagai berikut:
1. Perintah Test WallAhead akan memeriksa apakah di
depan si robot ada dinding atau tidak.
2. Jika tidak ada dinding maka perintah akan masuk ke jalur
N (No), di mana si robot akan menjalankan perintah Mark
dengan menandai lantai di mana ia berdiri.
3. Setelah menandai si robot akan melangkah maju satu
kotak.
4. Lalu perintah akan mengalir kembali ke atas ke perintah
test WallAhead (kembali ke langkah nomor 1). Selama di
depan si robot tidak ada dinding, maka si robot akan
melangkah maju satu kotak setelah sebelumnya ia
menandai lantai.
5. Begitu di depan si robot terdapat dinding maka perintah
akan mengalir ke jalur Y (Yes) di mana terdapat perintah
Mark, Turn right, dan Turn right. Ketiga perintah tersebut
akan membuat si robot kembali menandai lantai lalu
berputar sebesar 180 derajat ke arah kanan (si robot balik
arah, lihat Gambar 5.8).

72



Gambar 5.8: Si Robot Menandai Lantai Dan Berbalik Arah

6. Setelah si robot berbalik arah perintah berikutnya adalah
test WallAhead yang menguji apakah di depan si robot
terdapat dinding atau tidak.
7. Jika tidak ada dinding, maka perintah akan masuk ke jalur
N (No), di mana si robot akan menjalankan perintah Erase
yang akan menghapus tanda pada lantai di mana ia
berdiri.
8. Setelah menghapus tanda si robot akan melangkah maju
satu kotak.
9. Lalu perintah akan mengalir kembali ke atas ke perintah
test WallAhead yang kedua (kembali ke langkah nomor
6). Selama di depan si robot tidak ada dinding, maka si
robot akan melangkah maju satu kotak setelah
sebelumnya ia menghapus tanda di lantai.
73


10. Begitu di depan si robot terdapat dinding maka perintah
akan mengalir ke jalur Y (Yes) di mana si robot akan
bertemu dengan perintah End yang akan mengakhiri
program (lihat Gambar 5.9).


Gambar 5.9: Si Robot Menghapus Tanda Di Lantai


5.4. Mengenal Energi Pada Robot
Si robot memiliki energi yang jumlahnya terbatas. Setiap kali si
robot menjalankan perintah energinya akan berkurang. Anda bisa
melihat indikator banyaknya energi yang tersisa pada bagian dada
robot. Perlu diingat bahwa apabila si robot kehabisan energi
maka permainan akan berakhir. Lihatlah contoh program yang
ditampilkan pada Gambar 5.10 dan 5.11 di bawah ini yang akan
mendemonstrasikan apa yang terjadi pada si robot ketika ia
kehabisan energi.
74


Gambar 5.10 memperlihatkan diagram alir dari subroutine
Putar360Kanan yang berisi 4 buah perintah Turn right, di mana
saat subroutine ini dijalankan si robot akan berputar ke arah
kanan sebesar 360 kanan.


Gambar 5.10: Diagram Alir Subroutine Putar360Kanan

Dan Gambar 5.11 memperlihatkan diagram alir program
utamanya. Berikut penjelasan programnya:
75


1. Saat dijalankan, perintah assignment PutaranKe=1
berfungsi untuk membuat sebuah variabel bernama
PutaranKe yang dimasukkan nilai 1.
2. Perintah berikutnya adalah test PutaranKe<=100, yang
berguna untuk menguji apakah isi dari variabel PutaranKe
masih lebih kecil atau sama dengan 100.
3. Selama nilai yang terdapat pada variabel PutaranKe itu
lebih kecil atau sama dengan 100, maka perintah akan
mengalir ke jalur Y (Yes).
4. Pada jalur Y terdapat perintah Display PutaranKe yang
berguna untuk menampilkan isi variabel PutaranKe pada
jendela Console.
5. Dilanjutkan dengan dipanggilnya subroutine
Putar360Kanan di mana si robot akan berputar 360
derajat ke arah kanan.
6. Berikutnya perintah assignment PutaranKe=PutaranKe+1,
yang akan menambahkan nilai yang ada pada variabel
PutaranKe sebesar 1.
7. Setelah nilai pada variabel PutaranKe bertambah satu,
maka aliran perintah akan kembali ke atas masuk ke
perintah test PutaranKe<=100 (kembali ke langkah nomor
2).
8. Program baru akan berakhir apabila perintah mengalir ke
jalur N (No), yaitu apabila nilai yang terdapat pada
variabel PutaranKe itu lebih besar dari 100.

76



Gambar 5.11: Diagram Alir Untuk Memerintahkan Robot Berputar
Seratus Kali

Saat program dijalankan, sebelum si robot mulai berputar 360
derajat ke arah kanan, terlebih dulu akan ditampilkan nilai
variabel PutaranKe pada jendela Console. Si robot akan berputar
terus menerus tanpa henti. Seharusnya si robot akan berputar
penuh sebanyak 100 kali. Tapi nanti Anda bisa melihat bahwa
pada saat melakukan putaran yang ke 83 (lihat Gambar 5.12),
gerakan si robot akan terhenti dan muncul kotak peringatan yang
menginformasikan bahwa si robot telah kehabisan energi (lihat
Gambar 5.13).

77



Gambar 5.12: Penampilan Nilai Variabel PutaranKe Pada Jendela
Console


Gambar 5.13: Informasi Tentang Robot Yang Kehabisan Energi



78


5.5. Memodifikasi Ruangan Permainan
Si robot bisa mengisi ulang energinya dengan perintah Reload.
Hanya saja untuk mengisi ulang energi tidak bisa dilakukan di
sembarang tempat. Pengisian ulang hanya bisa dilakukan pada
kotak di mana terdapat socket. Pada ruangan permainan bawaan
program RobotProg, yaitu ruangan besar yang di tengah-
tengahnya terdapat ruangan kecil, tidak tersedia socket pengisian
energi. Sehingga si robot tidak bisa melakukan pengisian energi.
Oleh karena itu sebelum Anda mempelajari cara penggunaan
perintah Reload, maka terlebih dulu Anda harus melakukan
modifikasi terhadap ruangan permainan yang digunakan.
Untuk memodifikasi ruangan permainan tempat si Robot berada,
pada baris menu klik Ground > Modify. Kemudian akan
ditampilkan jendela Ground modification seperti yang terlihat
pada Gambar 5.14.
Pada jendela Ground modification tersebut terdapat beberapa
tombol yang dapat digunakan untuk merancang bentuk ruangan
permainan sesuai dengan yang Anda inginkan. Berikut adalah
penjelasan dari tombol-tombol tersebut:

79



Gambar 5.14: Jendela Ground Modification


Berguna untuk menambahkan atau mengurangi
dinding.

Berguna untuk memodifikasi lantai.

Berguna untuk menambahkan atau mengurangi
socket di dalam ruangan.
80



Berguna untuk mengatur posisi robot dalam
ruangan.

Berguna untuk menambah atau mengurangi
jumlah robot dalam ruangan.

Sekarang Anda akan mulai memodifikasi ruangan permainan.
Pada contoh kali ini perubahan yang dilakukan adalah hanya
menambahkan sebuah socket energi tepat di posisi si robot
berada sekarang. Jadi kali ini Anda tidak akan melakukan
modifikasi terhadap dinding, lantai, ataupun jumlah robotnya.
Ikutilah langkah-langkah berikut ini untuk memodifikasi ruangan
tersebut:
1. Terlebih dulu Anda harus menghilangkan robot yang ada
di dalam ruangan (lihat Gambar 5.15). Karena nanti Anda
akan meletakkan socket energi tepat di bawah posisi si
robot sekarang. Untuk menghilangkan robot yang ada,
klik saja tombol (kurang).
2. Sekarang tambahkan sebuah socket energi pada posisi
robot sebelumnya. Caranya, klik tombol Sockets lalu klik
di posisi yang diinginkan (lihat Gambar 5.16).

81



Gambar 5.15: Menghapus Robot Pada Ruangan

3. Sekarang Anda akan menambahkan sebuah robot pada
ruangan. Caranya, klik tombol + (tambah). Maka sebuah
robot akan ditambahkan ke dalam ruangan (lihat Gambar
5.17). Perhatikan, setiap kali Anda menambahkan robot,
robot tersebut akan diposisikan di sudut kiri atas ruangan.

82



Gambar 5.16: Menambahkan Socket Energi Pada Ruangan

4. Selanjutnya Anda harus mengubah posisi si robot yaitu
tepat di posisi socket energi berada (lihat Gambar 5.18).
Untuk mengubah posisi robot, klik tombol yang
bergambar robot, lalu klik pada posisi yang dimaksud.
5. Setelah mendapatkan rancangan ruangan sesuai yang
Anda inginkan, klik tombol Use this ground untuk
menggunakan ruangan tersebut.

83



Gambar 5.17: Menambahkan Robot Pada Ruangan

84



Gambar 5.18: Mengubah Posisi Robot Pada Ruangan


5.6. Mengisi Energi Dengan Perintah Reload
Sekarang ruangan permainan yang digunakan adalah ruangan
yang telah terdapat socket energi, yang tepat berada di posisi si
robot. Pada Gambar 5.19 Anda bisa melihat program robot yang
menggunakan perintah Reload. Program tersebut merupakan
modifikasi dari program robot yang terdapat pada Gambar 5.11.
Perbedaannya hanya terdapat pada perintah Reload saja. Jadi
setiap kali si robot melakukan putaran 360 derajat ke arah kanan,
si robot akan menjalankan perintah Reload, yaitu melakukan
85


pengisian energi. Setiap kali melakukan Reload, energi si robot
akan penuh kembali.


Gambar 5.19: Contoh Penggunaan Perintah Reload

Ketika program ini dijalankan, kali ini si robot akan berhasil
menyelesaikan perintah-perintah yang diberikan hingga selesai. Si
robot sekarang berhasil menyelesaikan 100 kali putaran (lihat
Gambar 5.20). Hal ini dikarenakan energinya tidak pernah habis,
akibat setiap kali melakukan putaran akan diisi kembali.

86



Gambar 5.20: Si Robot Berhasil Menyelesaikan Seratus Putaran


5.7. Tantangan #5
Buatlah sebuah program robot yang bersifat interaktif. Saat
program dijalankan, pada jendela Console menanyakan
Perintah?. Di sini si robot menunggu Anda memasukkan perintah.
Perintah yang diberikan berupa angka antara 1 hingga 4.
Penjelasannya adalah sebagai berikut:
Ketikkan 1 untuk memerintahkan si robot melangkah
maju. Sesudah Anda mengetikkan angka 1, pada jendela
Console akan muncul pertanyaan berikutnya yaitu
MajuBerapaLangkah?. Di sini Anda harus memasukkan
kembali jumlah langkah robot yang diinginkan.
87


Ketikkan 2 untuk memerintahkan si robot berputar ke
arah kiri sebesar 90 derajat.
Ketikkan 3 untuk memerintahkan si robot berputar ke
arah kanan sebesar 90 derajat.
Ketikkan 4 untuk memerintahkan si robot menandai
lantai.
Sedangkan untuk mengakhiri program, Anda bisa
memasukkan angka selain 1 hingga 4.
Untuk lebih jelasnya, lihatlah Gambar 5.21 dan Gambar 5.22 yang
memperlihatkan jalannya program.


Gambar 5.21: Memberikan Perintah Pada Robot Secara Interaktif
88




Gambar 5.22: Si Robot Menjalankan Perintah Yang Diberikan





89


Bab 6. Permainan Level Lima

Di permainan level kelima, pada jendela Tools (lihat Gambar 6.1)
terdapat dua buah perintah baru yaitu While loop dan For loop.


Gambar 6.1: Jendela Tools Level 5


While loop
Berguna untuk membuat pengulangan While.

For loop
Berguna untuk membuat pengulangan For.



90


6.1. Pengulangan Menggunakan Perintah While
Saat membuat program terkadang Anda hendak mengulang-ulang
perintah yang sama. Untuk melakukan pengulangan perintah,
Anda bisa memanfaatkan perintah While loop atau For loop.
Meskipun keduanya berfungsi untuk mengulang perintah, kedua
perintah tersebut biasanya digunakan dalam situasi yang
berbeda. Perintah while biasanya digunakan untuk melakukan
pengulangan perintah yang belum diketahui pasti berapa banyak
pengulangan yang akan dilakukan. Sedangkan perintah for
digunakan untuk melakukan pengulangan yang sudah diketahui
pasti banyaknya pengulangan yang akan dilakukan.
Pada Gambar 6.2 Anda bisa melihat contoh program yang
menggunakan pengulangan While. Penjelasannya adalah sebagai
berikut:
1. Perintah assignment JumlahPutar=0 berguna untuk
membuat sebuah variabel bernama JumlahPutar dan
memasukkan nilai 0 ke dalam variabel tersebut.
2. Perintah Input PutarLagi akan meminta masukkan dari
pengguna melalui jendela Console. Masukan yang berupa
bilangan bulat tersebut kemudian akan disimpan ke
dalam variabel bernama PutarLagi.
3. Selanjutnya adalah blok pengulangan While dengan
syarat pengulangan While PutarLagi=1. Ini berarti selama
pengguna memberikan masukkan berupa angka 1 ke
dalam variabel PutarLagi, maka perintah-perintah yang
berada di dalam blok pengulangan tersebut akan
dijalankan.

91



Gambar 6.2: Contoh Penggunaan Pengulangan While


92


4. Perintah assignment JumlahPutar=JumlahPutar+1 di
dalam blok pengulangan bertujuan untuk menambah satu
nilai yang ada di dalam variabel JumlahPutar.
5. Perintah Turn right akan memerintahkan si robot untuk
berputar sebesar 90 derajat ke arah kanan.
6. Perintah Display JumlahPutar berguna untuk
menampilkan nilai yang terdapat di dalam variabel
JumlahPutar pada jendela Console. Variabel JumlahPutar
ini berguna untuk mengetahui sudah berapa kali si Robot
berputar 90 derajat ke arah kanan.
7. Perintah Input PutarLagi akan meminta kembali
masukkan dari pengguna melalui jendela Console. Setelah
memberi masukkan, perintah akan kembali ke atas ke
perintah While (kembali ke langkah nomor 3).
8. Begitu pengguna memberikan masukan selain angka 1
saat ditanyakan PutarLagi pada jendela Console, maka si
robot akan meninggalkan blok pengulangan tersebut dan
mengakhiri program karena bertemu dengan perintah
End (lihat Gambar 6.3).

6.2. Pengulangan Menggunakan Perintah For
Apabila Anda sudah mengetahui dengan pasti jumlah
pengulangan yang akan dilakukan, misalnya Anda hendak
mengulang suatu blok perintah sebanyak 30 kali, maka akan lebih
tepat jika Anda melakukan pengulangan menggunakan perintah
For. Lihatlah Gambar 6.4 di bawah ini yang memperlihatkan
penggunaan perintah For untuk mengulang suatu blok perintah.

93



Gambar 6.3: Contoh Hasil Pengulangan While

Berikut adalah penjelasan dari program robot tersebut:
1. Dengan perintah For JumlahPutar=1 to 30 Anda akan
membuat suatu blok pengulangan. Di mana pengulangan
akan dilakukan selama nilai variabel JumlahPutar adalah 1
hingga 30. Saat pertama kali perintah For dijalankan,
variabel JumlahPutar akan bernilai 1.
2. Memasuki blok pengulangan, perintah Display
JumlahPutar berguna untuk menampilkan nilai variabel
JumlahPutar ke jendela Console.



94



95



Gambar 6.4: Contoh Penggunaan Pengulangan For

3. Setelah itu perintah Turn right akan membuat si robot
berputar sebesar 90 derajat ke arah kanan.
4. Bertemu dengan perintah Next membuat perintah
mengalir kembali ke atas ke perintah For (kembali ke
langkah nomor 1). Hanya saja nilai dari variabel
JumlahPutar telah bertambah satu secara otomatis. Jika
96


sebelumnya nilai variabel JumlahPutar adalah 1, maka
kini nilainya telah bertambah satu menjadi 2. Begitu
seterusnya.
5. Apabila nilai variabel JumlahPutar telah mencapai 31,
maka aliran perintah tidak akan masuk lagi ke dalam blok
pengulangan, melainkan langsung menuju ke luar blok
pengulangan dan bertemu dengan perintah End yang
akan mengakhiri jalannya program. Pada Gambar 6.5
Anda bisa melihat tampilan akhir pada jendela Console
saat program berakhir.


Gambar 6.5: Contoh Hasil Pengulangan For



97


6.3. Lanjutan Memodifikasi Ruangan Permainan
Berkaitan dengan memodifikasi ruangan permainan, masih ada
beberapa topik pembahasan yang belum dijelaskan. Oleh karena
itu sekarang Anda akan kembali melakukan modifikasi ruangan
dengan langkah-langkah sebagai berikut:
1. Buatlah sebuah program robot baru. Pada baris menu klik
perintah Ground > Modify. Kemudian jendela Ground
modification akan ditampilkan seperti pada Gambar 6.6.


Gambar 6.6: Memodifikasi Ruangan Melalui Jendela Ground
Modification
98


2. Untuk memudahkan Anda dalam memodifikasi ruangan,
sebaiknya Anda memindahkan terlebih dulu si robot ke
posisi sudut kiri atas ruangan (lihat Gambar 6.7). Caranya,
klik tombol Robots, lalu klik di posisi yang diinginkan.


Gambar 6.7: Memindahkan Posisi Robot

3. Berikutnya Anda akan membuang dinding-dinding yang
ada di ruangan kecil (lihat Gambar 6.8). Caranya, klik
tombol Walls, lalu klik pada setiap dinding di ruangan
kecil tersebut. Setelah Anda mengaktifkan tombol Walls,
maka setiap kali Anda mengklik suatu dinding maka
99


dinding tersebut akan terhapus. Begitu pula sebaliknya
jika Anda mengkliknya pada bagian yang tidak terdapat
dinding, maka akan dibuat sebuah dinding di posisi
tersebut.


Gambar 6.8: Membuang Dinding Pada Ruangan Kecil

4. Meskipun tidak terlalu penting, Anda juga hendak
mengubah warna lantai yang sebelumnya berada di
ruangan kecil. Perhatikan, keempat kotak pada lantai
tersebut memiliki warna yang lebih terang. Supaya
terlihat seragam, Anda hendak mengubah keempat kotak
100


lantai tersebut sehingga memiliki warna yang lebih gelap
(lihat Gambar 6.9). Caranya, klik tombol Tiles, lalu satu
per satu klik pada keempat kotak tersebut. Setelah
mengaktifkan tombol Tiles, maka setiap kali Anda
mengklik pada lantai yang berwarna terang maka lantai
tersebut akan berubah menjadi lebih gelap. Begitu pula
sebaliknya, jika Anda mengklik lantai yang berwarna
gelap, maka akan berubah warna menjadi lebih terang.


Gambar 6.9: Mengubah Warna Lantai


101


5. Selanjutnya Anda akan membuat banyak dinding di dalam
ruangan tersebut seperti yang terlihat pada Gambar 6.10.
Perhatikan, dinding-dinding tersebut semuanya saling
berhubungan atau menempel. Untuk membuat dinding,
aktifkan tombol Walls lalu klik pada setiap posisi yang
seharusnya terdapat dinding.


Gambar 6.10: Menambahkan Dinding Di Dalam Ruangan

6. Supaya nanti si Robot bisa melakukan pengisian energi,
tambahkanlah dua buah socket dalam ruangan seperti
yang terlihat pada Gambar 6.11. Caranya, klik tombol
102


Sockets, lalu klik di posisi yang diinginkan. Saat Anda
mengaktifkan tombol Sockets, jika Anda mengklik di
posisi yang tidak terdapat socket, maka sebuah socket
akan ditambahkan di sana. Begitu pula sebalinya, jika
Anda mengklik pada posisi di mana terdapat socket, maka
socket akan dihilangkan.
7. Sekarang kembalikan posisi si Robot ke posisinya semula
(lihat Gambar 6.12).
8. Akhiri proses modifikasi ini dengan mengklik tombol Use
this ground.


Gambar 6.11: Menambahkan Socket Energi

103



Gambar 6.12: Mengembalikan Posisi Si Robot

Setelah memodifikasi ruangan permainannya, sekarang waktunya
untuk membuat program robotnya. Kali ini Anda akan
memerintahkan si robot untuk terus berjalan maju hingga tidak
ada lagi jalan lagi yang dapat dilalui. Pada setiap kotak yang
dilaluinya, si robot akan memberikan tanda pada lantai tersebut.
Dan setiap kali si robot berhenti di sebuah socket energi, si robot
akan mengisi kembali energinya, supaya si robot tidak kehabisan
energi dan akan berhasil menjalankan program sampai akhir.
Hasil akhir saat program dijalankan adalah seperti pada Gambar
6.13.
104



Gambar 6.13: Robot Menandai Semua Kotak Lantai

Untuk menyelesaikan tugas yang diminta, terlebih dulu buatlah
sebuah subroutine yang diberi nama MajuTerusSampaiDinding
(lihat pada Gambar 6.14). Adapun penjelasan dari subroutine ini
adalah sebagai berikut:
1. Perintah pengulangan While Not WallAhead akan
melakukan pengulangan selama di hadapan si robot tidak
ada dinding.
2. Selama di depannya tidak ada dinding, si robot akan
bertemu dengan perintah test MarkedSquare yang
berguna untuk menguji apakah lantai tempat si robot
berada sudah ditandai atau belum.
3. Jika lantainya belum ditandai, maka perintah akan
mengalir ke jalur N (No) yang akan dilanjutkan dengan
perintah Mark, di mana si robot akan menandai lantai.
105


4. Sedangkan jika lantainya sudah ditandai, maka perintah
akan mengalir ke jalur Y (Yes) yang akan dilanjutkan
dengan perintah Erase, di mana si robot akan menghapus
tanda yang terdapat pada lantai. Pada program yang akan
dibuat kali ini, sebenarnya si robot hanya diminta untuk
menandai setiap lantai yang dilewatinya. Perintah Erase
yang diberikan kali ini dimaksudkan untuk program lain
yang akan dibahas pada bab selanjutnya.
5. Selanjutnya, setelah si robot menandai lantai maupun
menghapus tanda pada lantai, perintah mengalir ke
perintah Move forward di mana si robot akan melangkah
maju.
6. Berikutnya perintah Wend akah mengalirkan kembali
perintah ke atas menuju perintah pengulangan While Not
WallAhead (kembali ke langkah nomor 1).
7. Apabila di hadapan si robot terdapat dinding, maka
perintah pengulangan akan ditinggalkan. Perintah End
menandai berakhirnya subroutine.

Dan pada Gambar 6.15 Anda bisa melihat program utamanya
dengan penjelasan sebagai berikut:
1. Perintah pertama pada program utama pemanggilan
subroutine MajuTerusSampaiDinding. Dan yang terjadi
adalah si robot akan terus melangkah maju, dan sebelum
melangkah maju si robot akan menandai lantai. Si robot
baru berhenti melangkah saat di hadapannya terdapat
dinding.

106



Gambar 6.14: Subroutine MajuTerusSampai Dinding

2. Selesai menjalankan subroutine, si robot akan
menjalankan perintah test RobotOnSocket. Perintah ini
bertujuan untuk memeriksa apakah si robot sedang
berdiri di lantai yang terdapat socket energi.
3. Jika si robot sedang berdiri di atas sebuah socket energi,
maka perintah akan mengalir ke jalur Y (Yes) di mana
terdapat perintah Reload yang memerintahkan si Robot
untuk mengisi ulang energi.
4. Sedangkan apabila si robot sedang tidak berada di atas
socket energi, maka perintah akan mengalir ke jalur N
(No) yang tidak terdapat perintah apapun.
5. Selanjutnya adalah perintah test WallOnLeft. Saat ini si
robot sedang berhenti karena di depannya ada dinding.
107


Dengan perintah ini si robot akan memeriksa apakah di
sisi kirinya ada dinding.
6. Jika di sisi kiri si robot terdapat dinding, maka perintah
akan mengalir ke jalur Y (Yes) di mana terdapat perintah
test WallOnRight (lihat langkah nomor 8 untuk
penjelasan perintah ini).
7. Sedangkan jika di sisi kiri si robot tidak terdapat dinding,
maka perintah akan mengalir ke jalur N (No), di mana
terdapat perintah Turn left yang akan memerintahkan si
robot untuk berputar 90 derajat ke arah kiri. Setelah
berputar ke kiri, aliran perintah akan kembali ke atas
menuju perintah pemanggilan subroutine
MajuTerusSampaiDinding (kembali ke langkah nomor 1).
8. Ketika si robot berhenti karena di hadapannya terdapat
dinding dan di sisi kirinya juga ada dinding (sehingga si
robot tidak berputar ke arah kiri dan melanjutkan
langkahnya), maka perintah selanjutnya adalah test
WallOnRight yang akan memeriksa apakah di sisi kanan si
robot terdapat dinding.
9. Jika di sisi kanan si robot tidak terdapat dinding, maka
perintah akan mengalir ke jalur N (No), di mana terdapat
perintah Turn right yang akan membuat si robot berputar
90 derajat ke arah kanan. Setelah berputar ke kanan,
selanjutnya perintah akan mengalir kembali ke atas dan
memanggil kembali subroutine MajuTerusSampaiDinding
(kembali ke langkah nomor 1).
10. Sedangkan jika di sebelah kanan si robot juga terdapat
dinding, maka itu berarti si robot juga tidak bisa berputar
ke arah kanan untuk melanjutkan langkahnya. Maka
perintah yang terdapat pada jalur Y (Yes) adalah perintah
108


End yang akan mengakhiri program karena si robot
memang sudah tidak ada jalan lagi yang dapat dilalui.


Gambar 6.15: Diagram Alir Program Utama


6.4. Tantangan #6
Untuk tantangan kali ini Anda terlebih dulu diminta memodifikasi
ruangan permainan, di mana hanya terdapat sebuah ruangan
besar saja. Tanpa ada ruangan kecil. Tanpa ada dinding-dinding
lainnya. Tanpa ada socket-socket energi. Dan posisikan si robot di
109


sudut kiri atas ruangan. Untuk lebih jelasnya lihatlah Gambar 6.16
di bawah ini.


Gambar 6.16: Memodifikasi Ruangan Untuk Tantangan
Kemudian buatlah program yang akan memerintahkan si robot
untuk melangkah maju sebaris demi sebaris. Dan tidak lupa
sambil melangkah si robot akan menandai setiap lantai yang
dilaluinya (lihat Gambar 6.17). Sehingga di akhir program si robot
akan berada di posisi sudut kiri bawah, dan pada seluruh lantai
telah terdapat tanda-tanda bulatan merah (lihat Gambar 6.19).

110



Gambar 6.17: Kondisi Saat Robot Menjalankan Program


Gambar 6.18: Kondisi Saat Program Berakhir
111



112


Bab 7. Permainan Level Enam

Level enam adalah permainan level terakhir yang memiliki tingkat
kesulitan tertinggi sekaligus menawarkan pengalaman bermain
robot yang paling mengasyikan. Karena pada level enam inilah
Anda bisa bermain dengan banyak robot sekaligus. Bahkan
jumlah robot yang bisa dimainkan sekaligus dalam sebuah
ruangan adalah 8 buah robot.
Pada Gambar 7.1 Anda bisa melihat contoh tampilan permainan
yang akan dibuat dalam bab ini, di dalam ruangan permainan
terdapat 4 buah robot, yaitu Robot Merah, Robot Hijau, Robot
Biru, dan Robot Kuning. Di mana keempat robot ini nanti akan
berjalan pada jalurnya masing-masing sambil menandai setiap
lantai yang dilalui. Robot Merah akan memberikan tanda
berwarna merah. Robot Hijau akan memberikan tanda berwarna
hijau. Robot Biru akan memberikan tanda berwarna biru. Dan
Robot Kuning akan memberikan tanda berwarna kuning.

7.1. Memodifikasi Ruangan Permainan Dengan
Banyak Robot
Untuk bermain dengan banyak robot, Anda harus menambahkan
sejumlah robot yang diinginkan melalui jendela Ground
modification. Pada langkah-langkah berikut ini Anda akan
memodifikasi ruangan permainan yang digunakan sekaligus
menambahkan beberapa buah robot ke dalamnya:
1. Pastikan Anda memiliki jendela Robot program yang
masih kosong.
113



Gambar 7.1: Bermain Dengan Banyak Robot

2. Klik baris menu Ground > Modify.
3. Kemudian akan muncul jendela Ground modification.
4. Klik tombol yang berada di bawah tombol Robots untuk
menghapus robot yang ada.
5. Klik tombol Walls, lalu klik pada setiap dinding yang ada
di ruangan kecil untuk menghapus dinding-dinding
tersebut.
6. Klik tombol Tiles, lalu klik pada empat buah kotak lantai
yang berada di tengah-tengah ruangan (yang sebelumnya
berada dalam ruangan kecil) untuk menyamakan warna
lantai tersebut dengan kotak-kotak lainnya. Hingga
langkah ini pastikan ruangan permainannya sudah
kosong seperti pada Gambar 7.2.
114



Gambar 7.2: Mengosongkan Ruangan Permainan

7. Klik tombol Walls, lalu buatlah dinding-dinding seperti
pada Gambar 7.3.
8. Klik tombol Sockets, lalu tambahkan empat buah socket
energi ke dalam ruangan permainan seperti pada
Gambar 7.4.
9. Sekarang Anda akan menambahkan empat buah robot ke
dalam ruangan permainan. Sebaiknya Anda
menambahkan robot tersebut satu per satu. Untuk
menambahkan sebuah robot, klik saja tombol + yang ada
di bawah tombol Robots. Maka sebuah robot akan
ditambahkan ke dalam ruangan permainan. Selanjutnya
Anda harus mengatur posisi si robot. Untuk mengatur
115


posisi si robot, Anda klik saja di posisi yang dimaksud,
maka si robot akan secara otomatis berpindah ke posisi
tersebut. Dan terakhir Anda harus mengatur ke arah
mana si robot harus menghadap. Apakah si robot akan
menghadap ke atas, ke bawah, ke kiri, atau ke kanan?
Untuk mengatur ke mana si robot harus menghadap,
Anda tinggal mengklik pada bagian badan si robot. Setiap
kali Anda mengklik si robot maka ia akan mengubah arah
yang dihadapinya. Klik saja berkali-kali hingga Anda
mendapatkan arah sesuai dengan yang diinginkan.
Pastikan Anda memiliki empat buah robot pada ruangan
permainan, dengan posisi dan arah seperti yang terlihat
pada Gambar 7.5.


Gambar 7.3: Membuat Dinding-dinding Pada Ruangan Permainan
116



Gambar 7.4: Menambahkan Socket Energi Pada Ruangan

10. Selesai memodifikasi ruangan permainan, klik tombol
Use this ground untuk menutup jendela Ground
modification dan mengaktifkan penggunaan ruangan
permainan tersebut.

7.2. Menambahkan Beberapa Program Robot
Selesai memodifikasi ruangan permainan, sekarang saatnya bagi
Anda untuk membuat program robotnya. Tapi terlebih dulu coba
Anda tampilkan jendela Execution. Jangan kaget apabila saat
Anda menampilkan jendela Execution, Anda mendapatkan
ruangan permainan sesuai dengan yang sudah Anda modifikasi,
117


tapi robotnya hanya ada satu (lihat Gambar 7.6). Padahal Anda
merancang ruang permainan dengan empat buah robot.


Gambar 7.5: Menambahkan Beberapa Robot Pada Ruangan



118



Gambar 7.6: Ruangan Permainan Hanya Dengan Satu Robot

Untuk dapat menampilkan keempat buah robot pada tampilan
jendela Execution, syaratnya adalah Anda harus memiliki empat
buah jendela Robot program. Di mana setiap jendela Robot
program akan mewakili pemrograman untuk sebuah robot
tertentu. Defaultnya, saat Anda menjalankan aplikasi RobotProg
hanya ada sebuah jendela Robot program. Oleh karena itu,
119


meskipun Anda sudah merancang ruangan permainan dengan
empat buah robot, tapi saat Anda menampilkan jendela Execution
hanya satu buah robot saja yang ditampilkan.
Sekarang coba tambahkan tiga buah jendela Robot program yang
baru. Untuk menambahkan sebuah jendela Robot program baru,
pada baris menu klik File > New Program. Setelah menambahkan
tiga buah jendela Robot program yang baru, maka sekarang
sudah ada empat buah jendela Robot program. Dan pada jendela
Execution kini keempat buah robot sudah ditampilkan di dalam
ruangan permainan (lihat Gambar 7.7).


Gambar 7.7: Menampilkan Empat Buah Jendela Robot Program

7.3. Membuat Program Untuk Banyak Robot
Perhatikanlah keempat buah jendela Robot program yang ada.
Jendela Robot program 1 ditujukan untuk memprogram Robot
Merah. Jendela Robot program 2 ditujukan untuk memprogram
120


Robot Hijau. Jendela Robot program 3 ditujukan untuk
memprogram Robot Biru. Dan jendela Robot program 4 ditujukan
untuk memprogram Robot Kuning. Anda bisa membuat program
yang berbeda-beda untuk setiap robot yang ada. Tapi pada
contoh kali ini, keempat robot akan melakukan aksi yang persis
sama, sehingga keempat robot tersebut juga akan memiliki
perintah program yang sama.
Keempat robot tersebut memiliki ruangannya masing-masing
yang terisolasi satu sama lain. Tugas dari setiap robot adalah
terus melangkah maju pada ruangannya masing-masing sambil
memberikan tanda berupa lingkaran pada setiap kotak lantai yang
dilaluinya. Bermula dari tengah-tengah ruangan besar (lihat
Gambar 7.8) setiap robot akan melangkah menuju sudut-sudut
ruangan (lihat Gambar 7.9). Setelah mencapai sudut ruangan
(lihat Gambar 7.10), setiap robot akan berbalik arah dan
melangkah menuju ke pusat ruangan besar. Tapi pada arah balik
ini, setiap si robot melangkah ia akan menghapus setiap tanda
yang ada pada lantai (lihat Gambar 7.11). Hingga pada akhir
program, semua robot telah berada di posisinya semula, dan
seluruh tanda yang ada pada lantai telah terhapus (lihat Gambar
7.12).
121



Gambar 7.8: Robot Memulai Program Dari Tengah Ruangan



Gambar 7.9: Menuju Sudut Ruangan Sambil Menandai Lantai
122



Gambar 7.10: Robot Berputar Arah Di Sudut Ruangan


Gambar 7.11: Menuju Pusat Sambil Membersihkan Lantai
123





Gambar 7.12: Robot Berhenti Di Tengah Ruangan

Sekarang Anda akan membuat sebuah subroutine program untuk
Robot Merah dengan nama MajuTerusSampaiDinding (lihat
gambar 7.13). Subroutine ini fungsinya mirip dengan subroutine
bernama sama yang terdapat pada Gambar 6.14. Perbedaannya
adalah, subroutine pada Gambar 6.14 menggunakan pengulangan
While, sedangkan subroutine yang akan dibuat kali ini
menggunakan perintah percabangan Test.
Berikut adalah penjelasan subroutine MajuTerusSampaiDinding
yang terdapat pada Gambar 7.13:
1. Perintah test WallAhead berguna untuk memeriksa
apakah di depan si robot terdapat dinding atau tidak.
124


2. Jika di depan si robot tidak ada dinding, maka aliran
perintah akan masuk ke jalur N (No).
3. Pada jalur N terdapat perintah test MarkedSquare yang
berguna untuk memeriksa apakah lantai di mana si robot
berdiri sudah ditandai. Jika lantainya sudah ditandai,
maka aliran perintah akan masuk ke jalur Y (Yes) dan
bertemu perintah Erase yang akan menghapus tanda
tersebut. Sedangkan jika lantainya belum ditandai, maka
aliran perintah akan masuk ke jalur N (No) dan bertemu
perintah Mark yang akan memberikan tanda pada lantai.
4. Perintah selanjutnya adalah Move forward yang akan
membuat si robot maju satu langkah.
5. Kemudian perintah akan mengalir kembali ke atas,
menjalankan lagi perintah test WallAhead (kembali ke
langkah nomor 1).
6. Jalur Y (Yes) pada perintah test WallAhead baru akan
dilalui apabila di depan si robot terdapat dinding.
Perintah End yang terdapat pada jalur Y akan mengakhiri
subroutine.

Karena pada contoh kali ini semua robot akan melakukan aksi
yang sama, maka semua robot nantinya akan memiliki program
yang sama. Tadi Anda baru membuat subroutine
MajuTerusSampaiDinding pada program robot yang pertama,
yaitu si Robot Merah. Anda juga harus membuat subroutine yang
sama pada program-program robot lainnya. Cara yang paling
mudah untuk membuat subroutine tersebut di program robot
lainnya adalah dengan cara copy-paste.


125



126



Gambar 7.13: Subroutine MajuTerusSampaiDinding Versi
Percabangan

Pada subroutine MajuTerusSampaiDinding yang sudah dibuat
sebelumnya, klik tool Selection lalu klik dan tahan tombol mouse
untuk melakukan seleksi terhadap keseluruhan diagram alir (lihat
127


Gambar 7.14). Kemudian copy-lah diagram alir tersebut dengan
mengklik baris menu Edit > Copy, atau bisa juga dengan menekan
kombinasi tombol Ctrl + C pada keyboard.


Gambar 7.14: Melakukan Seleksi Pada Subroutine
MajuTerusSampaiDinding

128



Selanjutnya Anda tinggal bekerja dengan program robot yang
kedua, ketiga, dan keempat. Pada masing-masing program robot,
buatlah sebuah subroutine yang diberi nama
MajuTerusSampaiDinding (Anda boleh saja memberi nama
subroutine yang berbeda). Kemudian lakukan paste pada setiap
subroutine dengan mengklik baris menu Edit > Paste, atau bisa
juga dengan menekan kombinasi tombol Ctrl + V pada keyboard.
Untuk lebih jelasnya lihatlah Gambar 7.15 yang memperlihatkan 4
buah subroutine MajuTerusSampaiDinding yang terdapat pada
Robot program 1, Robot program 2, Robot program 3, dan Robot
program 4.


Gambar 7.15: Empat Buah Subroutine MajuTerusSampaiDinding

Setelah membuat subroutinenya, sekarang buatlah program
utama untuk robot pertama seperti yang terlihat pada Gambar
7.16. Adapun penjelasan dari program utamanya adalah sebagai
berikut:
129


1. Pemanggilan subroutine MajuTerusSampaiDinding akan
membuat si robot terus berjalan maju hingga di
hadapannya terdapat dinding. Setiap kali si robot
melangkah maju, ia akan memeriksa apakah terdapat
tanda pada lantai. Jika sudah ada tanda, si robot akan
menghapus tandanya. Sedangkan jika belum ada tanda
maka si robot akan memberikan tanda. Pada langkah
awal ini karena semua lantai belum ditandai, maka si
robot akan menandai lantai setiap kali ia melangkah.
2. Setelah berhadapan dengan dinding, perintah berikutnya
adalah pengujian test WallOnLeft yang akan memeriksa
apakah di sebelah kiri si robot terdapat dinding atau
tidak.
3. Apabila di sebelah kiri si robot tidak terdapat dinding,
maka perintah akan mengalir ke jalur N (No). Pada jalur N
ini terdapat perintah Turn left yang membuat si robot
berputar ke arah kiri sebesar 90 derajat. Kemudian
perintah akan mengalir kembali ke atas dan memanggil
lagi subroutine MajuTerusSampaiDinding (kembali ke
langkah nomor 1).
4. Sedangkan jika di sebelah kiri si robot terdapat dinding,
maka perintah akan mengalir ke jalur Y (Yes). Pada jalur Y
ini terdapat perintah pengujian test WallOnRight yang
akan memeriksa apakah di sebelah kanan si robot
terdapat dinding atau tidak.
5. Apabila di sebelah kanan si robot tidak terdapat dinding,
maka perintah akan mengalir ke jalur N (No). Di mana
pada jalur N ini terdapat perintah Turn right yang
membuat si robot berputar ke arah kanan sebesar 90
derajat. Kemudian perintah akan mengalir kembali ke
130


atas dan memanggil MajuTerusSampaiDinding lagi
(kembali ke langkah nomor 1).
6. Sedangkan jika di sebelah kanan si robot juga terdapat
dinding, maka perintah akan mengalir ke jalur Y (Yes).
Pada langkah ini si robot sudah mencapai sudut ruangan
sehingga tidak ada lagi jalan untuk melangkah maju. Pada
jalur Y ini berturut-turut terdapat perintah Reload, Turn
right, dan Turn right, yang akan memerintahkan si robot
untuk mengisi ulang energi dan berbalik arah (berputar ke
arah kanan sebesar 180 derajat).
7. Setelah si robot melakukan balik arah, maka subroutine
MajuTerusSampaiDinding kembali dijalankan yang akan
membuat si robot terus berjalan maju hingga di
hadapannya terdapat dinding. Kali ini si robot akan
berjalan menuju posisinya semula. Dan karena sekarang
seluruh lantai sudah ditandai, kali ini si robot akan
berjalan sambil menghapus tanda pada lantai.
8. Setelah berhadapan dengan dinding, perintah berikutnya
adalah pengujian test WallOnLeft yang akan memeriksa
apakah di sebelah kiri si robot terdapat dinding atau
tidak.
9. Apabila di sebelah kiri si robot tidak terdapat dinding,
maka perintah akan mengalir ke jalur N (No). Pada jalur N
ini terdapat perintah Turn left yang membuat si robot
berputar ke arah kiri sebesar 90 derajat. Kemudian
perintah akan mengalir kembali menuju pemanggilan
subroutine MajuTerusSampaiDinding yang kedua
(kembali ke langkah nomor 7).
10. Sedangkan jika di sebelah kiri si robot terdapat dinding,
maka perintah akan mengalir ke jalur Y (Yes). Pada jalur Y
ini terdapat perintah pengujian test WallOnRight yang
131


akan memeriksa apakah di sebelah kanan si robot
terdapat dinding atau tidak.
11. Apabila di sebelah kanan si robot tidak terdapat dinding,
maka perintah akan mengalir ke jalur N (No). Di mana
pada jalur N ini terdapat perintah Turn right yang
membuat si robot berputar ke arah kanan sebesar 90
derajat. Kemudian perintah akan mengalir kembali
menuju subroutine MajuTerusSampaiDinding yang kedua
(kembali ke langkah nomor 7).
12. Sedangkan jika di sebelah kanan si robot juga terdapat
dinding, maka perintah akan mengalir ke jalur Y (Yes).
Pada langkah ini si robot sudah mencapai posisinya
semula sehingga tidak ada lagi jalan untuk melangkah
maju. Pada jalur Y ini terdapat perintah End yang akan
mengakhiri jalannya program.

Sama seperti yang Anda lakukan pada subroutine
MajuTerusSampaiDinding, maka program utama (main program)
pada robot pertama ini juga perlu Anda copy-paste ke program
utama pada robot kedua, robot ketiga, dan robot keempat. Pada
program utama robot pertama yang sudah dibuat, klik tool
Selection lalu klik dan tahan tombol mouse untuk melakukan
seleksi terhadap keseluruhan diagram alir (lihat Gambar 7.17).
Kemudian copy-lah diagram alir tersebut dengan mengklik baris
menu Edit > Copy, atau bisa juga dengan menekan kombinasi
tombol Ctrl + C pada keyboard.

132



Gambar 7.16: Program Utama Robot Pertama




133



Gambar 7.17: Melakukan Seleksi Pada Program Utama


Selanjutnya Anda tinggal melakukan paste pada program utama
robot yang kedua, ketiga, dan keempat. Dengan cara mengklik
baris menu Edit > Paste, atau bisa juga dengan menekan
134


kombinasi tombol Ctrl + V pada keyboard. Untuk lebih jelasnya
lihatlah Gambar 7.18 yang memperlihatkan program utama dari
keempat robot tersebut.


Gambar 7.18: Empat Program Utama Robot

Selesai membuat subroutine dan program utamanya, simpanlah
keempat buah program robot tersebut. Lakukan penyimpanan
satu per satu dengan cara yang seperti biasa. Kemudian jalankan
programnya melalui jendela Execution juga seperti biasa. Dan
Anda akan melihat betapa keempat robot tersebut menjalankan
perintah-perintah yang terdapat dalam program robotnya
masing-masing. Perlu diperhatikan bahwa robot-robot tersebut
akan bergiliran dalam menjalankan suatu perintah.


7.4. Tantangan #7
Ini adalah tantangan terakhir di dalam buku ini yang melibatkan
dua buah robot yang berada dalam ruangan permainan seperti
135


terlihat pada Gambar 7.19. Masing-masing robot akan terus
berjalan, baris demi baris, sambil menandai lantai yang
dilewatinya (lihat Gambar 7.20). Kedua robot akan berhenti ketika
sudah tidak ada lagi jalan yang belum dilalui atau belum ditandai
(lihat Gambar 7.21). Perhatikan, pada tantangan kali ini di setiap
lantainya terdapat dua buah tanda lingkaran yang berbeda warna.
Lingkaran berwarna merah dihasilkan oleh si Robot Merah.
Sedangkan lingkaran berwarna hijau dihasilkan oleh si Robot
Hijau.


Gambar 7.19: Ruangan Permainan Dengan Dua Buah Robot


136



Gambar 7.20: Setiap Robot Berjalan Sambil Menandai Lantai


Gambar 7.21: Semua Lantai Sudah Memiliki Dua Buah Tanda
137


Lampiran 1: Bahasa Robot

Keyword Keterangan
MoveForward Memerintahkan robot untuk maju satu
kotak ke depan.
TurnRight Memerintahkan robot untuk memutar
ke arah kanan sebesar 90 derajat.
TurnLeft Memerintahkan robot untuk memutar
ke arah kiri sebesar 90 derajat.
Mark Memerintahkan robot untuk menandai
kotak.
Erase Memerintahkan robot untuk menghapus
tanda pada kotak.
Reload Mengisi kembali energi robot hingga
penuh apabila pada kotak terdapat
soket energi.
GetBall Memerintahkan robot untuk mengambil
bola apabila sedang berada dalam kotak
yang sama.
DropBall Memerintahkan robot untuk meletakkan
bola pada kotak.
ThrowBall Memerintahkan robot untuk melempar
bola sejauh tiga kotak ke depan.
WallAhead Fungsi logika yang akan mengembalikan
nilai True apabila robot berhadapan
dengan tembok.
WallOnRight Fungsi logika yang akan mengembalikan
nilai True apabila terdapat tembok di
sebelah kanan robot.
WallOnLeft Fungsi logika yang akan mengembalikan
nilai True apabila terdapat tembok di
sebelah kiri robot.

138


Out Fungsi logika yang akan mengembalikan
nilai True apabila robot berada pada
kotak yang berwarna lebih tua. Dan
mengembalikan nilai False apabila robot
berada pada kotak yang berwarna lebih
muda.
RobotOnSocket Fungsi logika yang akan mengembalikan
nilai True apabila robot berada pada
kotak yang terdapat socket energi.
MarkedSquare Fungsi logika yang akan mengembalikan
nilai True apabila robot berada pada
kotak yang memiliki tanda.
SquareAheadOccupied Fungsi logika yang akan mengembalikan
nilai True apabila kotak di depannya diisi
oleh robot lainnya.
BallOnGround Fungsi logika yang akan mengembalikan
nilai True apabila bola terdapat di tanah.
DistanceFromWall Fungsi yang mengembalikan sebuah
bilangan yang menyatakan jarak atau
banyaknya kotak di antara robot dan
tembok di hadapannya.
Energy Fungsi yang mengembalikan sebuah
bilangan yang menyatakan sisa energi
robot.
xRobot Fungsi yang mengembalikan sebuah
bilangan yang menyatakan koordinat
robot pada sumbu x.
yRobot Fungsi yang mengembalikan sebuah
bilangan yang menyatakan koordinat
robot pada sumbu y.
dxRobot Fungsi yang mengembalikan sebuah
bilangan yang menyatakan arah robot
pada sumbu x. Bilangan yang
dikembalikan bisa berupa angka 1, 0,
atau -1.
139


dyRobot Fungsi yang mengembalikan sebuah
bilangan yang menyatakan arah robot
pada sumbu y. Bilangan yang
dikembalikan bisa berupa angka 1, 0,
atau -1.
xBall Fungsi yang mengembalikan sebuah
bilangan yang menyatakan koordinat
bola pada sumbu x.
yBall Fungsi yang mengembalikan sebuah
bilangan yang menyatakan koordinat
bola pada sumbu y.


140


Lampiran 2: Kunci Jawaban Tantangan

Solusi Tantangan #1:

Gambar Lampiran 2.1: Program Utama Tantangan #1



141


Penjelasan program utama tantangan #1:
1. Perintah test WallAhead akan memeriksa apakah di
depan si robot terdapat dinding atau tidak.
2. Jika tidak terdapat dinding di depan si robot, maka
perintah akan mengalir ke jalur N (No), yang di dalamnya
berturut-turut terdapat empat buah perintah Turn right
yang akan menyebabkan si robot berputar ke arah kanan
sebesar 360 derajat (satu putaran penuh). Yang kemudian
akan dilanjutkan dengan perintah Move forward yang
membuat si robot maju satu langkah.
3. Setelah si robot melangkah, perintah akan mengalir
kembali ke atas dan menjalankan lagi pemeriksaan
WallAhead (kembali ke langkah nomor 1).
4. Pada percabangan perintah test WallAhead, si robot baru
akan memasuki jalur Y (Yes) apabila di hadapannya
terdapat dinding. Di jalur Y ini terdapat perintah End yang
akan mengakhiri program.



142



143


Solusi Tantangan #2:

Gambar Lampiran 2.2: Program Utama Tantangan #2

Penjelasan program utama tantangan #2:
1. Perintah test WallAhead akan menguji apakah di depan si
robot terdapat dinding atau tidak.
2. Selama di hadapan si robot tidak terdapat dinding, maka
perintah akan masuk ke jalur N (No), di mana terdapat
perintah Move forward yang akan membuat si robot
maju selangkah.
144


3. Setelah si robot melangkah maju, perintah akan mengalir
kembali ke atas menuju perintah test WallAhead
(kembali ke langkah nomor 1).
4. Si robot baru akan memasuki jalur Y (Yes) pada
percabangan perintah test WallAhead apabila di
hadapannya terdapat dinding. Pada jalur Y ini berturut-
turut terdapat dua buah perintah Turn left yang akan
membuat si robot berputar ke arah kiri sebesar 180
derajat. Atau dengan kata lain si robot telah melakukan
putar arah.
5. Setelah putar arah, terdapat perintah test WallAhead lagi
yang juga akan menguji apakah di depan si robot terdapat
dinding atau tidak.
6. Jika di hadapan si robot tidak terdapat dinding, maka
perintah akan masuk ke jalur N (No), di mana terdapat
perintah Move forward yang akan membuat si robot
maju selangkah.
7. Setelah si robot melangkah maju, perintah akan mengalir
kembali ke perintah test WallAhead yang kedua (kembali
ke langkah nomor 5).
8. Si robot baru akan memasuki jalur Y (Yes) pada
percabangan perintah test WallAhead yang kedua apabila
di hadapan si robot terdapat dinding. Pada langkah ini si
robot sudah berada di posisinya semula. Adapun perintah
End berguna untuk mengakhiri program.



145


Solusi Tantangan #3:

Gambar Lampiran 2.3: Subroutine Putar360Kiri

Penjelasan subroutine Putar360Kiri:
Empat buah perintah Turn left yang terdapat dalam
subroutine ini bertujuan untuk memerintahkan si robot
melakukan putaran ke arah kiri sebesar 360 derajat, atau
dengan kata lain melakukan putaran penuh ke arah kiri.


146



Gambar Lampiran 2.4: Subroutine Putar360Kanan

Penjelasan subroutine Putar360Kanan:
Empat buah perintah Turn right yang terdapat dalam
subroutine ini bertujuan untuk memerintahkan si robot
melakukan putaran ke arah kanan sebesar 360 derajat, atau
dengan kata lain melakukan putaran penuh ke arah kanan.


147



Gambar Lampiran 2.5: Program Utama Tantangan #3

Penjelasan program utama tantangan #3:
1. Perintah test WallAhead bertujuan untuk memeriksa
apakah di hadapan si robot terdapat dinding atau tidak.
2. Apabila tidak terdapat dinding, maka perintah akan
mengalir ke jalur N (No). Pada jalur N ini, pertama akan
dipanggil subroutine Putar360Kiri yang akan membuat si
robot berputar ke arah kiri sebesar 360 derajat.
Dilanjutkan dengan pemanggilan subroutine
Putar360Kanan yang akan membuat si robot berputar ke
148


arah kanan sebesar 360 derajat. Kemudian perintah
Move forward akan memerintahkan si robot untuk
melangkah satu kotak.
3. Setelah melangkah perintah akan mengalir kembali ke
atas menuju perintah test WallAhead (kembali ke langkah
nomor 1).
4. Si robot baru akan memasuki jalur Y (Yes) pada
percabangan perintah test WallAhead apabila di hadapan
si Robot terdapat dinding. Dan perintah End yang ada
pada jalur Y ini akan mengakhiri program.


149


Solusi Tantangan #4:

Gambar Lampiran 2.6: Subroutine Putar360Kanan

Penjelasan subroutine Putar360Kanan:
Empat buah perintah Turn right yang terdapat dalam
subroutine ini bertujuan untuk memerintahkan si robot
melakukan putaran ke arah kanan sebesar 360 derajat, atau
dengan kata lain melakukan putaran penuh ke arah kanan.

150




Gambar Lampiran 2.7: Program Utama Tantangan #4

Penjelasan program utama tantangan #4:
1. Perintah assignment LangkahKe=1 dimaksudkan untuk
membuat sebuah variabel bernama LangkahKe. Dan
kepada variabel LangkahKe tersebut dimasukkan nilai 1.
2. Perintah test WallAhead bertujuan untuk memeriksa
apakah di hadapan si robot terdapat dinding atau tidak.
151


3. Jika di depan si robot tidak terdapat dinding, maka aliran
perintah akan masuk ke jalur N (No).
4. Perintah assignment i=1 yang berada dalam jalur N
dimaksudkan untuk membuat sebuah variabel bernama i.
Dan kepada variabel i tersebut dimasukkan nilai 1.
5. Selanjutnya dalam jalur N terdapat perintah test
i<=LangkahKe. Perintah ini akan membandingkan apakah
isi dari variabel i itu lebih kecil atau sama dengan isi dari
variabel LangkahKe.
6. Apabila isi variabel i itu lebih kecil atau sama dengan isi
variabel LangkahKe, maka aliran perintah akan masuk ke
jalur Y (Yes). Di mana terdapat perintah untuk memanggil
subroutine Putar360Kanan yang akan memerintahkan si
robot untuk berputar ke arah kanan sebesar 360 derajat.
Yang kemudian akan dilanjutkan dengan perintah
assignment i=i+1, di mana perintah ini akan
menambahkan isi dari variabel i sebanyak 1.
7. Selanjutnya perintah akan mengalir kembali ke atas
menuju perintah test i<=LangkahKe, namun kali ini nilai
dari variabel i sudah bertambah besar (kembali ke
langkah nomor 5). Langkah nomor 5 hingga nomor 7 akan
membuat si robot berputar 360 derajat ke arah kanan
sebanyak beberapa kali, tergantung dari langkah ke
berapa si robot. Pada langkahnya yang pertama, si robot
berputar satu kali. Pada langkah kedua, si robot berputar
dua kali. Pada langkah ketiga, si robot berputar tiga kali.
Begitu seterusnya.
8. Pada percabangan perintah test i<=LangkahKe, si robot
baru akan memasuki jalur N (No) ketika isi variabel i lebih
besar daripada isi variabel LangkahKe. Dalam jalur N ini
terdapat perintah Move forward yang akan
152


memerintahkan si robot untuk melangkah maju. Dan
perintah assignment LangkahKe=LangkahKe+1 bertujuan
untuk menambahkan isi variabel LangkahKe sebanyak 1.
9. Selesai menjalankan perintah-perintah yang terdapat
dalam jalur N pada perintah test i<=LangkahKe, perintah
akan mengalir kembali ke atas menuju perintah test
WallAhead (kembali ke langkah nomor 2). Hanya saja kali
ini isi dari variabel LangkahKe sudah bertambah besar.
10. Program ini baru akan berakhir apabila di hadapan si
robot terdapat dinding. Pada perintah test WallAhead,
aliran perintah akan masuk ke jalur Y (Yes) dan bertemu
dengan perintah End.



153


Solusi Tantangan #5:

Gambar Lampiran 2.8: Subroutine MajuBeberapaLangkah

Penjelasan subroutine MajuBeberapaLangkah:
1. Perintah Input MajuBerapaLangkah berguna untuk
meminta masukkan dari pengguna berkaitan dengan
berapa banyak si robot akan melangkah. Pada Console
akan ditampilkan pertanyaan MajuBerapaLangkah.
2. Setelah pengguna memasukkan suatu nilai yang akan
disimpan ke dalam variabel MajuBerapaLangkah, perintah
berikutnya yaitu assignment i=1. Maksud dari perintah ini
154


adalah membuat sebuah variabel bernama i yang ke
dalamnya dimasukkan nilai 1.
3. Perintah test i<=MajuBerapaLangkah akan memeriksa
apakah isi dari variabel i lebih kecil atau sama dengan isi
variabel MajuBerapaLangkah. Apabila benar, maka aliran
perintah akan masuk ke jalur Y (Yes).
4. Pada jalur Y terdapat perintah Move forward yang akan
memerintahkan si robot untuk melangkah maju satu
kotak. Yang dilanjutkan dengan perintah assignment i=i+1
yang berguna untuk menambahkan isi variabel i sebanyak
1.
5. Selesai menjalankan semua perintah pada jalur Y,
perintah akan mengalir kembali ke atas masuk ke
perintah test i<=MajuBerapaLangkah (kembali ke
langkah nomor 3). Hanya saja kali ini nilai dari variabel i
sudah lebih besar. Langkah nomor 3 hingga nomor 5 akan
membuat si robot melangkah maju beberapa kotak, yang
jumlah langkahnya tergantung dari masukkan yang
diberikan.
6. Setelah isi variabel i lebih besar dari isi variabel
MajuBerapaLangkah barulah si robot masuk ke jalur N
(No) dan bertemu dengan perintah End yang akan
mengakhiri subroutine.

155



Gambar Lampiran 2.9: Program Utama Tantangan #5

Penjelasan program utama tantangan #5:
1. Perintah Input Perintah akan menampilkan jendela
Console dengan keterangan Perintah ?, yang
dimaksudkan untuk meminta masukkan dari pengguna.
Masukkan dari pengguna akan disimpan ke dalam
variabel Perintah.
2. Perintah test Perintah=1 digunakan untuk memeriksa
apakah pengguna memasukkan angka 1 pada jendela
Console. Jika betul, maka perintah akan mengalir ke jalur
156


Y (Yes) dan menjalankan MajuBeberapaLangkah. Selesai
subroutine tersebut dijalankan, perintah akan mengalir
kembali ke atas masuk ke perintah Input Perintah
(kembali ke langkah nomor 1).
3. Jika pengguna tidak memasukkan angka 1, maka perintah
test Perintah=2 akan dijalankan. Perintah ini akan
memeriksa apakah pengguna memasukkan angka 2. Jika
betul, maka perintah akan mengalir ke jalur Y (Yes) dan
menjalankan perintah Turn left. Selesai si robot berputar
ke arah kiri sebesar 90 derajat, perintah akan mengalir
kembali ke atas masuk ke perintah Input Perintah
(kembali ke langkah nomor 1).
4. Jika pengguna juga tidak memasukkan angka 2, maka
perintah test Perintah=3 akan dijalankan. Perintah ini
akan memeriksa apakah pengguna memasukkan angka 3.
Jika betul, maka perintah akan mengalir ke jalur Y (Yes)
dan menjalankan perintah Turn right. Selesai si robot
berputar ke arah kanan sebesar 90 derajat, perintah akan
mengalir kembali ke atas masuk ke perintah Input
Perintah (kembali ke langkah nomor 1).
5. Jika pengguna juga tidak memasukkan angka 3, maka
perintah test Perintah=4 akan dijalankan. Perintah ini
akan memeriksa apakah pengguna memasukkan angka 4.
Jika betul, maka perintah akan mengalir ke jalur Y (Yes)
dan menjalankan perintah Mark. Selesai si robot
menandai lantai, perintah akan mengalir kembali ke atas
masuk ke perintah Input Perintah (kembali ke langkah
nomor 1).
6. Jika pengguna juga tidak memasukkan angka 4, maka
pada percabangan perintah test Perintah=4, si robot akan
157


mengambil jalur N (No) dan bertemu dengan perintah
End yang akan mengakhiri program.



158


Solusi Tantangan #6:

Gambar Lampiran 2.10: Subroutine PutaranKeKanan

Penjelasan subroutine PutaranKeKanan:
1. Perintah Turn right akan memerintahkan si robot untuk
berputar ke arah kanan sebesar 90 derajat.
2. Perintah Mark akan memerintahkan si robot untuk
menandai lantai di mana ia sedang berada.
159


3. Perintah Move forward akan memerintahkan si robot
untuk melangkah satu kotak.
4. Perintah Turn right akan memerintahkan si robot untuk
kembali berputar ke arah kanan sebesar 90 derajat.
5. Perintah assignment arah=2 bermaksud untuk
memberikan nilai 2 ke dalam variabel arah.


Gambar Lampiran 2.11: Subroutine PutaranKeKiri

160



Penjelasan subroutine PutaranKeKiri:
1. Perintah Turn left akan memerintahkan si robot untuk
berputar ke arah kiri sebesar 90 derajat.
2. Perintah Mark akan memerintahkan si robot untuk
menandai lantai di mana ia sedang berada.
3. Perintah Move forward akan memerintahkan si robot
untuk melangkah satu kotak.
4. Perintah Turn left akan memerintahkan si robot untuk
kembali berputar ke arah kiri sebesar 90 derajat.
5. Perintah assignment arah=1 bermaksud untuk
memberikan nilai 1 ke dalam variabel arah.

Penjelasan program utama tantangan #6:
1. Perintah assignment arah=1 dimaksudkan untuk
membuat variabel bernama arah. Dan ke dalam variabel
tersebut dimasukkan angka 1.
2. Berikutnya adalah perintah pengulangan For i=1 to 10.
Perintah-perintah yang terdapat dalam blok pengulangan
For Next ini akan diulang sebanyak 10 kali. Pada
pengulangan yang pertama, variabel i memiliki nilai 1.
Pada pengulangan kedua, variabel i memiliki nilai 2. Pada
pengulangan ketiga, variabel i memiliki nilai 3. Begitu
seterusnya hingga pengulangan kesepuluh.

161



Gambar Lampiran 2.12: Program Utama Tantangan #6

3. Di dalam blok pengulangan For Next, perintah pertama
yang dijalankan adalah sebuah blok perintah pengulangan
While Wend. Perintah-perintah yang terdapat di dalam
pengulangan While Not WallAhead akan dijalankan
berulang-ulang selama di hadapan si robot tidak terdapat
162


dinding. Ketika di hadapan si robot tidak terdapat dinding,
perintah Mark akan membuat si robot memberikan tanda
pada lantai, dan selanjutnya perintah Move forward akan
membuat si robot melangkah satu kotak.
4. Keluar dari blok pengulangan While Wend, si robot akan
dihadapkan dengan perintah test i<10, yang akan
memeriksa apakah nilai pada variabel i lebih kecil dari 10
atau tidak.
5. Selama nilai pada variabel i masih lebih kecil dari 10, si
robot akan dihadapkan dengan perintah test lainnya yaitu
arah=1. Perintah ini akan memeriksa apakah variabel arah
bernilai 1 atau tidak. Variabel arah digunakan untuk
mendeteksi arah gerak si robot. Apabila variabel arah
bernilai 1, itu berarti si robot sedang bergerak ke arah
kanan. Sedangkan bila variabel arah bernilai 2, itu berarti
si robot sedang bergerak ke arah kiri.
6. Jika variabel arah bernilai 1, maka perintah akan mengalir
masuk ke jalur Y (Yes), di mana subroutine PutarKeKanan
akan dijalankan.
7. Sedangkan jika variabel arah bernilai 2, maka perintah
akan mengalir masuk ke jalur N (No), di mana subroutine
PutarKeKiri akan dijalankan.
8. Setelah menjalankan subroutine PutarKeKanan atau
PutarKeKiri, perintah akan mengalir kembali ke atas
masuk ke perintah pengulangan For i=1 to 10 (berulang
ke langkah nomor 3).



163


Solusi Tantangan #7:
Di tantangan ketujuh ini buatlah dua buah program robot. Pada
setiap program robot ada dua subroutine (PutaranKeKanan dan
PutaranKeKiri) serta program utamanya. Penjelasan subroutine
dan program utamanya persis seperti pada tantangan keenam.


Gambar 2.13: Subroutine PutaranKeKanan Pada Program Robot
Pertama dan Robot Kedua
164



Gambar 2.14: Subroutine PutaranKeKiri Pada Program Robot
Pertama dan Robot Kedua


165



Gambar 2.15: Program Utama Pada Robot Pertama dan Robot
Kedua


1


Profil Penulis

Felix Lukman adalah founder KubuBuku.com yang aktif menulis
buku-buku bertema teknologi informasi. Sudah lebih dari 15 judul
buku komputer yang diterbitkannya. Selain aktif sebagai penulis,
kesibukannya sehari-hari lainnya adalah mengajar ilmu komputer,
baik sebagai dosen di STMIK LIKMI Bandung maupun sebagai guru
privat komputer. Mendapatkan gelar Sarjana Ekonomi dari
Universitas Katolik Parahyangan Bandung dan Sarjana Komputer
dari STMIK LIKMI Bandung, saat ini Felix Lukman sedang
menempuh studi S2 untuk meraih gelar Master Komputer di
STMIK LIKMI Bandung.
Beberapa penghargaan yang pernah diraih oleh Felix Lukman
adalah Dosen Terbaik STMIK LIKMI Bandung dan Juara Favorit
Nokia Mobile Game Developer War.

2

Anda mungkin juga menyukai