Belajar Logika Pemrograman Lewat Permainan RobotProg

176
i

description

Logika Pemrograman Lewat Permainan RobotProg

Transcript of Belajar Logika Pemrograman Lewat Permainan RobotProg

Page 1: Belajar Logika Pemrograman Lewat Permainan RobotProg

i

Page 2: Belajar Logika Pemrograman Lewat Permainan RobotProg

ii

Belajar Logika Pemrograman

Lewat Permainan RobotProg

Felix Lukman

Page 3: Belajar Logika Pemrograman Lewat Permainan RobotProg

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: [email protected] 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.

Page 4: Belajar Logika Pemrograman Lewat Permainan RobotProg

iv

Untuk Mama, Suzane, Stanley, dan Stacey…

Page 5: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 6: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 7: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 8: Belajar Logika Pemrograman Lewat Permainan RobotProg

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: [email protected])

Page 10: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 11: Belajar Logika Pemrograman Lewat Permainan RobotProg

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:

Page 12: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 13: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 14: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 15: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 16: Belajar Logika Pemrograman Lewat Permainan RobotProg

7

Gambar 1.7: Tahap Kelima Proses Instalasi

Gambar 1.8: Tahap Keenam Proses Instalasi

Page 17: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 18: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 20: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 21: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 22: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 23: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 24: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 25: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 26: Belajar Logika Pemrograman Lewat Permainan RobotProg

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:

Page 27: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 28: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 29: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 31: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 32: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 33: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 34: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 35: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 36: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 37: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 38: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 39: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 40: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 41: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 43: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 44: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 45: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 46: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 47: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 48: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 49: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 50: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 51: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 52: Belajar Logika Pemrograman Lewat Permainan RobotProg

43

Gambar 2.29: Robot Berputar 360 Derajat Ke Arah Kanan

Sebelum Melangkah

Gambar 2.30: Robot Berhenti Di Depan Dinding

Page 53: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 54: Belajar Logika Pemrograman Lewat Permainan RobotProg

45

Gambar 2.32: Robot Kembali Ke Posisi Semula

Page 55: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 56: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 57: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 58: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 59: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 60: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 61: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 62: Belajar Logika Pemrograman Lewat Permainan RobotProg

53

Page 63: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 64: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 65: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 66: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 67: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 68: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 69: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 70: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 71: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 72: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 73: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 74: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 76: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 77: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 78: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 79: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 80: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 81: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 82: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 83: Belajar Logika Pemrograman Lewat Permainan RobotProg

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:

Page 84: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 85: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 86: Belajar Logika Pemrograman Lewat Permainan RobotProg

77

Gambar 5.12: Penampilan Nilai Variabel PutaranKe Pada Jendela

Console

Gambar 5.13: Informasi Tentang Robot Yang Kehabisan Energi

Page 87: Belajar Logika Pemrograman Lewat Permainan RobotProg

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:

Page 88: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 89: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 90: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 91: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 92: Belajar Logika Pemrograman Lewat Permainan RobotProg

83

Gambar 5.17: Menambahkan Robot Pada Ruangan

Page 93: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 94: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 95: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 96: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 97: Belajar Logika Pemrograman Lewat Permainan RobotProg

88

Gambar 5.22: Si Robot Menjalankan Perintah Yang Diberikan

Page 98: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 99: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 100: Belajar Logika Pemrograman Lewat Permainan RobotProg

91

Gambar 6.2: Contoh Penggunaan Pengulangan While

Page 101: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 102: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 104: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 105: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 106: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 107: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 108: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 109: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 110: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 111: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 112: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 113: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 114: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 115: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 116: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 117: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 118: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 119: Belajar Logika Pemrograman Lewat Permainan RobotProg

110

Gambar 6.17: Kondisi Saat Robot Menjalankan Program

Gambar 6.18: Kondisi Saat Program Berakhir

Page 120: Belajar Logika Pemrograman Lewat Permainan RobotProg

111

Page 121: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 122: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 123: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 124: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 125: Belajar Logika Pemrograman Lewat Permainan RobotProg

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,

Page 126: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 127: Belajar Logika Pemrograman Lewat Permainan RobotProg

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,

Page 128: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 129: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 130: Belajar Logika Pemrograman Lewat Permainan RobotProg

121

Gambar 7.8: Robot Memulai Program Dari Tengah Ruangan

Gambar 7.9: Menuju Sudut Ruangan Sambil Menandai Lantai

Page 131: Belajar Logika Pemrograman Lewat Permainan RobotProg

122

Gambar 7.10: Robot Berputar Arah Di Sudut Ruangan

Gambar 7.11: Menuju Pusat Sambil Membersihkan Lantai

Page 132: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 133: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 135: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 136: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 137: Belajar Logika Pemrograman Lewat Permainan RobotProg

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:

Page 138: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 139: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 140: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 141: Belajar Logika Pemrograman Lewat Permainan RobotProg

132

Gambar 7.16: Program Utama Robot Pertama

Page 142: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 143: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 144: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 145: Belajar Logika Pemrograman Lewat Permainan RobotProg

136

Gambar 7.20: Setiap Robot Berjalan Sambil Menandai Lantai

Gambar 7.21: Semua Lantai Sudah Memiliki Dua Buah Tanda

Page 146: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 147: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 148: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 149: Belajar Logika Pemrograman Lewat Permainan RobotProg

140

Lampiran 2: Kunci Jawaban Tantangan

Solusi Tantangan #1:

Gambar Lampiran 2.1: Program Utama Tantangan #1

Page 150: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 151: Belajar Logika Pemrograman Lewat Permainan RobotProg

142

Page 152: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 153: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 154: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 155: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 156: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 157: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 158: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 159: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 160: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 161: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 162: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 163: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 164: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 165: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 166: Belajar Logika Pemrograman Lewat Permainan RobotProg

157

mengambil jalur N (No) dan bertemu dengan perintah

End yang akan mengakhiri program.

Page 167: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 168: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 169: Belajar Logika Pemrograman Lewat Permainan RobotProg

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.

Page 170: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 171: Belajar Logika Pemrograman Lewat Permainan RobotProg

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).

Page 172: Belajar Logika Pemrograman Lewat Permainan RobotProg

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

Page 173: Belajar Logika Pemrograman Lewat Permainan RobotProg

164

Gambar 2.14: Subroutine PutaranKeKiri Pada Program Robot

Pertama dan Robot Kedua

Page 174: Belajar Logika Pemrograman Lewat Permainan RobotProg

165

Gambar 2.15: Program Utama Pada Robot Pertama dan Robot

Kedua

Page 175: Belajar Logika Pemrograman Lewat Permainan RobotProg

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”.