Tugas Pemograman Terstruktur_Robomind

18
Tugas Pemograman Terstruktur Disusun Oleh : Kelompok : 3 Kelas : A Ketua Kelompok : Putri Wulandari (K3514037) Anggota Kelompok : Rizka Latifah (K3514039) Sanchia Janita Prameswari (K3514041) Mata Kuliah : Pemograman Terstruktur Dosen Pengampu : Rosihan Ari Yuana Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik dan Kejuruan Fakultas Keguruan dan Ilmu Pendidikan Universitas Sebelas Maret Surakarta

description

Tugas Pemograman Terstruktur_Robomind

Transcript of Tugas Pemograman Terstruktur_Robomind

Page 1: Tugas Pemograman Terstruktur_Robomind

Tugas Pemograman Terstruktur

Disusun Oleh :

Kelompok : 3

Kelas : A

Ketua Kelompok : Putri Wulandari (K3514037)

Anggota Kelompok : Rizka Latifah (K3514039)

Sanchia Janita Prameswari (K3514041)

Mata Kuliah : Pemograman Terstruktur

Dosen Pengampu : Rosihan Ari Yuana

Pendidikan Teknik Informatika dan Komputer

Jurusan Pendidikan Teknik dan Kejuruan

Fakultas Keguruan dan Ilmu Pendidikan

Universitas Sebelas Maret Surakarta

Page 2: Tugas Pemograman Terstruktur_Robomind

Kata Pengantar

Alhamdulillahirabbilalamin, puji syukur ke hadirat Allah SWT atas segala rahmat, izin-

Nya,dan berbagai kemudahan dari-Nya akhirnya tugas pemograman beserta laporannya mampu

terselesaikan dengan baik. Shalawat serta salam tak lupa kami haturkan untuk satu-satunya

manusia terbaik di muka bumi ini, sesosok yang patut menjadi tuntunan akhlaqnya, Nabi

Muhammad SAW, semoga shalawat senantiasa tercurah untuk beliau, para sahabat, keluarga,

dan in syaa Allah kita yang akan senantiasa berusaha istiqomah menjadi umatnya, aamiin.

Terimakasih kepada Pa Rosihan Ari Yuana, sebagai dosen pengampu mata kuliah

pemograman terstruktur yang telah mengajarkan dan mengenalkan kami dengan pengmograman

sehingga terbantulah kami untuk mampu menyelesaikan tugas yang diamanahkan oleh beliau.

Terimakasih kepada orang tua kami, yang senantiasa melantunkan doa di setiap rengkuhan manja

kepada-Nya, yang senantiasa berikhtiar tuk dapat membahagiakan kami sebagai buah hatinya.

Terimakasih kepada keluarga dan teman yang telah mendukung dan senantiasa menjadi teman

diskusi selama ini. Dan terimakasih jua kami haturkan ke berbagai pihak yang tak mampu kami

sebutkan satu per satu, terimakasih atas segala bantuan dan dukungan yang sungguh berarti bagi

kami.

Makalah laporan ini kami buat sebagai salah satu pemenuhan tugas dalam mata kuliah

pemograman terstruktur. Kami sadar, makalah laporan ini masih sangat jauh dari kesempurnaan.

Maka kami selaku pembuat makalah memohon maaf sebesar-besarnya atas khilaf yang tertuai

dalam karya kami ini. Bilapun ada sedikit banyaknya manfaat dari makalah ini semoga tercurah

untuk kita semua. Apabila ada saran maupun suguhan kritik dari Anda selaku pembaca, kami

sangat membuka diri untuk menerima hal tersebut. Bila ada kesalahan, itu pribadi tertuai atas

khilaf kami, dan pabila ada kebenaran yang tersampaikan maka itu mutlak dating dari Allah, dan

janganlah kita ragu-ragu dalam menerima kebenaran dari-Nya.

Sekian dari penulis, mohon maaf senantiasa terlantun dari kami, semoga bermanfaat.

Surakarta, 09 Oktober 2014

(Penulis)

Page 3: Tugas Pemograman Terstruktur_Robomind

DAFTAR ISI

Kata Pengantar...……………………………………………………………………………… i

Daftar Isi ……….……………………………………………………………………………...ii

Daftar Gambar…..…………………………………………………………………………….iii

Daftar Istilah…..…………………………………………………………………………….iii

Bab I

Pendahuluan...............................................................................................................................1

Latar Belakang..........................................................................................................................1

Rumusan Masalah………………………………......................................................................1

Tujuan Pembahasan...................................................................................................................1

Metode Pembuatan Makalah………….....................................................................................1

Bab II

Pembahasan................................................................................................................................2

Sedikit Pengenalan Mengenai Robomind………......................................................................1

Penyelesaian Soal (Masalah) Dalam Beberapa Map di Robomind……...................................8

Map Open Area………………………......................................................................................8

Map Maze 2……………….…………....................................................................................10

Map Rm-1f-task3………….…………....................................................................................13

Bab II

Penutup….................................................................................................................................18

Kesimpulan……………………………..……….....................................................................18

Daftar Pustaka…………………………………………………………..................................18

Page 4: Tugas Pemograman Terstruktur_Robomind

DAFTAR GAMBAR

Gambar 2.1.1 Tampilan Program Robomind………………………………………………

Gambar 2.2.1.1 Tampilan pembuatan program berhasil di map OpenArea.map…………..

Gambar 2.2.2.1 Tampilan pembuatan program berhasil di map Maze2.map……………..

Gambar 2.2.3.1 Tampilan pembuatan program berhasil di map rm-1f-task3.map………..

DAFTAR ISTILAH

Script : Skrip pemograman

Obstacle : Penghalang (berupa tembok atau lainnya dalam Robomind)

Beacon : Tanda (berupa seperti bulatan kapsul dalam Robomind)

Page 5: Tugas Pemograman Terstruktur_Robomind

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Dewasa ini perkembangan Teknologi dan Informasi, Informatika, maupun Komputer

kian pesat. Karena kebutuhan yang terus menaik akan pemenuhan segala sesuatu dengan

teknologi maka pendidikan mengenai teknologi pun marak dicanangkan. Salah satu cabang

dari teknologi informatika adalah pemograman.

Pemograman dibutuhkan karena sangat membantu untuk memecahkan masalah yang

rumit dan banyak apabila diselesaikan secara manual. Pemograman dalam Informatika

memiliki banyak macam bahasa pemograman. Salah satunya bahasa pemograman Pascal.

Di perkuliahan semester 1 di prodi Pendidikan Teknik Informatika dan Komputer

FKIP Universitas Sebelas Maret Surakarta ini, kami mendapat mata kuliah pemograman

terstruktur yang mengambil salah satu bahasa pemograman yaitu Pascal. Namun sebagai

pengantar kami diberikan latihan pemograman lewat sebuah program semi game yang

bernamakan Robomind. Dan untuk pemenuhan tugas, dosen pengampu mata kuliah

pemograman terstruktur memberikan kami tugas untuk memecahkan masalah pemograman

dalam program Robomind di map OpenArea.map, Maze2.map, dan rm-1f-task3.map. Selain

itu kami juga ditugaskan untuk membuat makalah sebagai laporan hasil tugas kami. Dan

dalam kesempatan kali ini penulis menggunakan Robomind portable versi 4.

1.2. RUMUSAN MASALAH

Berdasarkan uraian diatas dapat dirumuskan permasalahan sebagai berikut:

Apa itu Robomind dan apa saja perintah-perintah yang dapat dilakukan di dalamnya?

Bagaimana menyelesakan masalah dalam map OpenArea.map ?

Bagaimana menyelesakan masalah dalam map Maze2.map ?

Bagaimana menyelesakan masalah dalam map Rm-1f-task3.map ?

1.3. TUJUAN PEMBAHASAN

Mengenalkan dan menjelaskan mengenai apa itu robomind dan apa saja perintah-

perintah yang terdapat di dalamnya. Selain itu, laporan makalah ini juga bertujuan untuk

menjabarkan hasil tugas pemograman terstruktur dengan menggunakan Robomind 4 dalam

map openArea.map, maze2.map, rm-1f-task3.map.

1.4. METODE PEMBUATAN MAKALAH

Metode yang digunakan dalam membuat makalah ini adalah dengan cara percobaan

membuat program untuk memecahkan masalah yang ditugaskan oleh Pa Dosen dalam mata

kuliah pemograman tertruktur. Untuk tambahan materi kami juga menggunakan metode

pengumpulan pustaka yang kami cari di internet untuk menunjang materi pembuatan makalah

ini.

Page 6: Tugas Pemograman Terstruktur_Robomind

BAB II

PEMBAHASAN

2.1. SEDIKIT PENGENALAN MENGENAI ROBOMIND

RoboMind adalah sebuah pemrograman sederhana yang biasanya dipakai pada

lingkungan pendidikan dengan bahasa scripting sendiri yangmemungkinkan pemula

untuk belajar dasar-dasar ilmu komputer dengan pemrograman simulasi robot. Selain

memperkenalkan teknik pemrograman umum, juga bertujuan untuk menawarkan

wawasan tentang dunia robotika, khusunya dalam olah kecerdasan buatan.

Penggunaannya bebas untuk tujuan pribadi dan pendidikan, meskipun hal ini tidak

diakui di situs resminya, dengan menyatakan ini bukan sebuah perangkat lunak bebas

atau open source : lisensi RoboMind memiliki beberapa keterbatasan, terutama mengenai

penggunaan komersial dan redistribusi. Robo Mind pertama kali dirilis pada tahun 2005

dan pada awalnya dikembangkan oleh Arvid Halma, seorang mahasiswa dari Universitas

Amsterdam pada waktu itu sejak 2011.

Pemrograman RoboMind sangat interaktif karena menggunakan simulasi

pemrograman robot dengan kecerdasan buatan sederhana. Beberapa keunggulan

RoboMind antara lain adalah:

• Menggunakan bahasa pemrograman ROBO yang sederhana.

• Mudah dipahami bahkan oleh programer pemula.

• RoboMind tidak mengganggu sistem komputer.

• RoboMind bersifat freeware.

• Dapat dijalankan di Windows, Linux, dan Mac OSX.

• Simulasi robot interaktif seperti sebuah game.

Simulasi pemrograman robot dilakukan pada map area yang dapat dipilih dan

bervariasi, sehingga tidak membosankan. Robot dapat diprogram untuk mengecat, line

follower, dan memindahkan benda, tergantung kreatifitas pemrograman yang dilakukan.

Gambar 2.1.1 Tampilan Program Robomind

Aplikasi ini dibangun di sekitar dunia yang disebut dengan map grid dua dimensi di mana

robot bisa bergerak, mengamati sel tetangga, atau menandai mereka dengan meninggalkan

jejak cat. Map-nya juga berisi apa yang disebut beacon yang dapat dibawa berkeliling oleh

robot untuk membersihkan jalan yang dilaluinya. RoboMind menawarkan bahasa scripting

dasar yang terdiri dari satu aturan set ringkas. Selain perintah untuk membuat robot

melakukan instruksi gerakan dasar, kontrol aliran dapat dimodifikasi dengan percabangan

kondisional (if-then-else), loop (sementara) dan panggilan ke prosedur kustom.

Page 7: Tugas Pemograman Terstruktur_Robomind

Di dalam RoboMind, kita bisa menggerakkan robot untuk bergerak maju, mundur, belok

kanan, kiri, mewarnai jalan yang dilalui, mencari sebuah obyek, mengambil sebuah obyek,

dan meletakkan obyek melalui perintah-perintah berbentuk function.

Berikut ini beberapa perintah dasar untuk mengatur gerakan si robot.

• forward(n), digunakan untuk menggerakan maju si robot n langkah

• backward(n), digunakan untuk menggerakan ke belakang si robot n langkah

• left(), digunakan untuk membelokkan si robot ke kiri 90 derajat

• right(), digunakan untuk membelokkan si robot ke kanan 90 derajat

• north(n), digunakan untuk mengarahkan robot ke utara, lalu bergerak maju n langkah

• south(n), digunakan untuk mengarahkan robot ke selatan, lalu bergerak maju n langkah

• west(n), digunakan untuk mengarahkan robot ke barat, lalu bergerak maju n langkah

• east(n), digunakan untuk mengarahkan robot ke timur, lalu bergerak maju n langkah

Robot juga bisa disuruh mewarnai path yang dilalui, dengan perintah berikut ini

• paintWhite(), menyuruh robot mewarnai dengan warna putih pada path

• paintBlack(), menyuruh robot mewarnai dengan warna hitam pada path

• stopPainting(), menyuruh robot berhenti mewarnai

Selain mewarnai path yang dilalui, si robot juga bisa disuruh mengambil obyek dan

meletakkannya kembali. Berikut ini beberapa perintah untuk melakukan hal tersebut:

• pickUp(), mengambil obyek yang ada di depannya

• putDown(), meletakkan obyek di depannya

Sedangkan untuk struktur pemrograman untuk bentuk IF, berikut ini sintaksnya:

if (syarat)

{instruksi}

atau

if (syarat)

{instruksi} else {instruksi}

Bagaimana dengan bentuk loopingnya? Ada beberapa bentuk looping dalam RoboMind

ini, ini dia macam-macam bentuk looping :

repeat(n)

{instruksi}

Bentuk looping di atas digunakan untuk mengulangi instruksi sampai dengan n kali (mirip

dengan struktur FOR i:=1 TO n DO dalam Pascal).

Ada pula bentuk looping seperti di bawah ini :

repeatWhile(syarat)

{instruksi}

Struktur looping di atas mirip dengan struktur WHILE (syarat) DO dalam Pascal.

Di bawah ini contoh sebuah program untuk menyuruh robot mengikuti jalan berwarna

putih.

# belok ke kanan

right()

# maju 8 langkah

forward(8)

# looping

Page 8: Tugas Pemograman Terstruktur_Robomind

repeat()

{

# cek apakah ada jalan berwarna putih di depannya

if(frontIsWhite()){

# jika ada, maka maju satu langkah

forward(1)

}

# cek apakah ada jalan berwarna putih di sebelah kanannya

else if(rightIsWhite()){

# jika ada, belok kanan

right()

}

# cek apakah ada jalan berwarna putih di sebelah kirinya

else if(leftIsWhite()){

# jika ada, belok kiri

left()}

# cek apakah di depan robot ada halangan

else if(frontIsObstacle()){

# jika ada, robot berhenti (stop)

end}}

Bahasa dalam scripting Robomind itu sendiri saat ini tersedia dalam 14 bahasa: Arab ,

Cina , Belanda , Inggris , Perancis , Jerman , Yunani , Polandia , Portugis, Brasil , Rusia ,

Spanyol , Swedia , Turki dan Ukraina . Semua instruksi dan kata kunci dapat diterjemahkan.

Hal ini membuat lebih mudah untuk belajar untuk non-bahasa Inggris daripada kebanyakan

bahasa pemrograman lain yang dibatasi untuk sintaks bahasa Inggris dan huruf Latin.

2.1. PENYELESAIAN SOAL (MASALAH) DALAM BEBERAPA MAP DI ROBOMIND

Pada kesempatan kali ini kami diberikan 3 tugas untuk scriptimg Robomind, yaitu pada

map Open Area, map Maze 2, dan map rm-1f-task3.

2.2.1 MAP OPEN AREA

Gambar 2.2.1.1 Tampilan pembuatan program berhasil di map OpenArea.map

Page 9: Tugas Pemograman Terstruktur_Robomind

Pada map kali ini, kami ditugaskan untuk membuat spiral dari cat putih dengan

ketentuan apabila ia sudah menemukan obsctacle atau tembok maka ia akan

berhenti. Maka kami pun menyelesaikan persoalan diatas dengan menggunakan

logika sebagai berikut:

- Pertama-tama, robot menghadap ke kanan kemudian maju satu kali, kemudian

memulai mengecat putih

- Kedua, apabila keadaan disebelah kiri robot bukan cat putih maka robot akan

menghadap ke kiri kemudian maju satu kali

- Ketiga, apabila keadaan disebelah kiri robot adalah cat putih dan depan robot

bersih maka robot akan maju satu kali

- Dan terakhir, apabila keadaan di depan robot terdapat obstacle / tembok dan di

sebelah kiri robot terdapat cat putih, maka robot akan berhenti mengecat dan

semua kegiatan akan terhenti

Kemudian dari logika diatas, kami translasikan menjadi script Robomind di bawah

ini :

#map : openArea.map

paintWhite

#perintah untuk mengecat putih

right()

#perintah untuk hadap kanan

forward(1)

#perintah untuk maju satu kali

repeat

#perintah untuk mengulang setiap perintah di bawahnya

{

if(~leftIsWhite)

#kondisi jika selain di kiri putih

{

left()

#perintah untuk hadap kiri

forward(1)

#perintah untuk maju sekali

}

else if (frontIsClear and leftIsWhite)

#kondisi jika di depan bersih dan di kiri putih

{

forward(1)

#perintah untuk maju sekali

}

else if(frontIsObstacle and leftIsWhite)

#kondisi jika di depan obstacle dan di kiri putih

{ end}} #perintah untuk mengakhiri program

Page 10: Tugas Pemograman Terstruktur_Robomind

2.2.2 MAP MAZE 2

Gambar 2.2.2.1 Tampilan pembuatan program berhasil di map Maze2.map

Pada map kali ini, kami ditugaskan untuk mencari beacon dan kemudian

menaruhnya di titik putih diantara banyaknya labirin yang ada, selain itu tantangan

permasalahan di map ini adalah banyak persimpangan yang harus dilewati robot,

maka untuk menyelesaikan masalah tersebut robot melakukan flipCoin untuk

menentukan jalan mana yang ia pilih diantara beberapa opsi jalan yang tersedia

didepan robot. Maka kami pun menyelesaikan persoalan diatas dengan

menggunakan logika sebagai berikut:

- Pertama, apabila robot di persimpangan pertigaan, dimana di kanan robot adalah

obstacle dan depan serta kiri robot adalah bersih maka robot akan melakukan flip

coin, apabila hasilnya true maka robot akan terus maju namun apabila hasilnya

false maka robot akan hadap kiri dan melanjutkan perjalanan

- Kedua, apabila robot di persimpangan pertigaan, dimana di kiri robot adalah

obstacle dan depan serta kanan robot adalah bersih maka robot akan melakukan

flip coin, apabila hasilnya true maka robot akan terus maju namun apabila

hasilnya false maka robot akan hadap kanan dan melanjutkan perjalanan

- Ketiga, robot berada di persimpangan perduaan, di depan robot adalah bersih, di

kanan dan kiri adalah obstacle maka robot akan maju sekali

- Keempat, robot berada di persimpangan perduaan, di depan dan di kiri robot

adalah obstacle, di kanan adalah bersih maka robot akan hadap kanan dan maju

sekali

- Kelima, robot berada di persimpangan perduaan, di depan dan di kanan robot

adalah obstacle, di kiri adalah bersih maka robot akan hadap kanan dan maju

sekali

- Keenam, robot berada di persimpangan perduaan, di depan, di kanan, dan di kiri

robot adalah obstacle, maka robot akan hadap kiri dua kali kemudian maju sekali

(putar balik)

Page 11: Tugas Pemograman Terstruktur_Robomind

- Ketujuh, robot berada di keadaan dimana di depan robot adalah obstacle, di

kanan dan di kiri robot adalah bersih, maka robot akan melakukan flipcoin,

apabila hasilnya true maka robot akan hadap kanan, namun apabila false maka

robot akan hadap kiri

- Kedelapan, apabila robot menemukan beacon di depannya, maka robot akan

mengambil beacon tersebut

- Terakhir, apabila robot menemukan cat putih di depannya, maka robot akan

menaruh beacon tersebut dan kemudian mengakhiri program

Kemudian dari logika diatas, kami translasikan menjadi script Robomind di bawah

ini :

#map : maze2.map

repeat

#perintah untuk mengulang semua perintah yang berada di bawahnya

{

if(frontIsBeacon)

# kondisi jika di depan adalah beacon

{

pickUp()

#perintah untuk mengambil beacon

}

}

else if(frontIsWhite)

# kondisi jika di depan adalah cat putih

{

putDown()

#perintah untuk menaruh beacon

end

#perintah untuk mengakhiri program

}

else if(frontIsClear and rightIsObstacle and leftIsClear)

#kondisi jika di depan dan di kiri bersih dan kanan obstacle

{

if(flipCoin){

#kondisi untuk melakukan mengundi

forward(1)

#perintah untuk maju 1 kali apabila hasil flip coin true

}

else

#jika bukan true

{

left()forward(1)}}

#perintah untuk belok kiri dan maju sekali

else if(frontIsClear and leftIsObstacle and rightIsClear)

#kondisi jika di depan dan di kanan bersih dan kiri obstacle

{

Page 12: Tugas Pemograman Terstruktur_Robomind

if(flipCoin){

#kondisi untuk melakukan mengundi

forward(1)

#perintah untuk maju 1 kali apabila hasil flip coin true

}

else

#jika bukan true

{

right()forward(1)}}

#perintah untuk belok kanan dan maju sekali

else if(frontIsClear and rightIsObstacle and leftIsObstacle)

#kondisi jika di kiri dan di kanan obstacle dan depan bersih

{

forward(1)

#perintah untuk maju sekali

}

else if (frontIsObstacle and rightIsClear and leftIsObstacle)

#kondisi jika di depan dan di kiri obstacle dan kanan bersih

{

right()

#perintah untuk hadap kanan

forward(1)

#perintah untuk maju sekali

}

else if (frontIsObstacle and leftIsClear and rightIsObstacle)

#kondisi jika di depan dan di kanan obstacle dan kiri bersih

{

left()

#perintah untuk hadap kiri

forward(1)

#perintah untuk maju sekali

}

else if (frontIsObstacle and rightIsObstacle and leftIsObstacle)

#kondisi jika di depan,kanan,dan kiri obstacle

{

left()

#perintah untuk hadap kiri

left()

#perintah untuk hadap kiri

forward(1)

#perintah untuk maju sekali

}

else if (frontIsObstacle and rightIsClear and leftIsClear)

#kondisi jika di depan obstacle,di kanan dan kiri bersih

{

Page 13: Tugas Pemograman Terstruktur_Robomind

if(flipCoin())

#kondisi untuk melakukan mengundi

{

left()

#perintah untuk hadap kiri

}else

#jika bukan true

{

right()}}}

#perintah untuk hadap kiri

2.2.3 MAP RM-lF-TASK3.

Gambar 2.2.3.1 Tampilan pembuatan program berhasil di map rm-1f-task3.map

Pada map kali ini, kami ditugaskan untuk mencari beacon dan harus selalu

melewati garis putih, setelah menemukan dan menangkap beacon maka robot

bertugas untuk menaruh beacon tersebut di garis hitam yang berada di kanan map

ini. Rintangan yang dilewati robot sama seperti di map sebelumnya yaitu maze 2,

maka untuk menyelesaikan masalah tersebut robot melakukan flipCoin untuk

menentukan jalan mana yang ia pilih diantara beberapa opsi jalan yang tersedia

didepan robot. Maka kami pun menyelesaikan persoalan diatas dengan

menggunakan logika sebagai berikut:

- Pertama-tama, robot terus maju selama di depannya adalah cat putih

- Kedua, apabila keadaan di depan, di kanan, dan di kiri robot adalah cat putih atau

dengan kata lain robot berada di persimpangan (pertigaan) maka robot akan

melakukan flip coin, apabila hasilnya true maka ia akan hadap ke kanan dan

kemudian terus maju, apabila false maka dia akan melakukan flip coin lagi, jika

hasil flip coin kedua bernilai true maka robot akan hadap kiri dan kemudian maju,

dan apabila hasil flip coin kedua adalah false maka robot akan terus maju

- Ketiga, apabila keadaan robot berada di persimpangan dua, di depan dan di

kanan robot adalah cat putih dan di kiri robot adalah obstacle, maka robot akan

Page 14: Tugas Pemograman Terstruktur_Robomind

melakukan flip coin, apabila hasil dari flip coin adalah true maka robot akan

hadap kanan dan kemudian terus maju, namun apabila hasilnya false maka robot

akan memilih untuk maju kedepan

- Keempat, apabila di depan robot terdapat beacon, maka ia akan mengambil

beacon tersebut, dan kemudian hadap kiri kemudian robot melanjutkan

perjalanan

- Kelima, apabila di kiri robot terdapat beacon, maka ia akan hadap kiri kemudian

mengambil beacon tersebut, setelah itu robot hadap kiri dan robot

melanjutkan perjalanan

- Keenam, apabila di kanan robot terdapat beacon, maka ia akan hadap kanan

kemudian mengambil beacon tersebut, setelah itu robot hadap kiri dan robot

melanjutkan perjalanan

- Ketujuh, apabila di kiri robot terdapat beacon, maka ia akan hadap kiri kemudian

mengambil beacon tersebut, setelah itu robot hadap kiri kemudian robot

melanjutkan perjalanan

- Kedelapan, apabila di kanan robot terdapat cat hitam, maka ia akan hadap kanan

kemudian menaruh beacon tersebut, setelah itu robot akan mengakhiri semua

perintah

- Kesembilan, apabila di kiri robot terdapat cat hitam, maka ia akan hadap kiri

kemudian menaruh beacon tersebut, setelah itu robot akan mengakhiri semua

perintah

- Kesepuluh, apabila di depan robot terdapat cat hitam, maka ia akan menaruh

beacon tersebut, setelah itu robot akan mengakhiri semua perintah

- Kesebelas, apabila robot berada di persimpangan pertigaan dimana di depan

robot terdapat obstacle, di kanan dan kiri robot terdapat cat putih maka robot

akan melakukan flip coin, apabila hasil flip coin adalah true maka robot akan

hadap kanan, namun apabila false maka robot akan hadap kiri

- Keduabelas, apabila robot berada di persimpangan perduaan dimana di depan

dan di kanan robot terdapat obstacle, di kiri robot terdapat cat putih maka robot

akan hadap kiri

- Ketigabelas, apabila robot berada di persimpangan perduaan dimana di depan

dan di kiri robot terdapat obstacle, di kanan robot terdapat cat putih maka robot

akan hadap kanan

Kemudian dari logika diatas, kami translasikan menjadi script Robomind di bawah

ini :

#map :rm-lf-task3.map

repeat

#perintah untuk mengulang setiap perintah di bawahnya

{

forward(1)

#perintah untuk maju sekali

if(frontIsWhite and rightIsWhite and leftIsWhite)

#kondisi jika depan, kanan, dan kiri adalah cat putih

{

Page 15: Tugas Pemograman Terstruktur_Robomind

if(flipCoin())

#perintah untuk melakukan pengundian

{

right()

#perintah untuk hadap kanan jika hasil pengundian true

}

else {

#kondisi jika selain true

if(flipCoin())

#perintah untuk melakukan pengundian

{

left()

#perintah untuk hadap kiri jika hasil pengundian true

}

else

#kondisi jika selain true

{

forward(1)

#perintah untuk maju sekali

}}}

else if(frontIsWhite and rightIsWhite)

#kondisi jika depan dan kanan cat putih

{

if(flipCoin())

#perintah untuk melakukan pengundian

{

right()

#perintah untuk hadap kanan jika hasil pengundian true

}

else

#kondisi jika selain true

{

forward(1)

#perintah untuk maju sekali

}}

else if(frontIsWhite and leftIsWhite)

#kondisi jika depan dan kiri cat putih

{

if(flipCoin())

#perintah untuk melakukan pengundian

{

left()

#perintah untuk hadap kanan jika hasil pengundian true

Page 16: Tugas Pemograman Terstruktur_Robomind

}

else

#kondisi jika selain true

{

forward(1)

#perintah untuk maju sekali

}}

else if(frontIsBeacon)

#kondisi jika di depan ada beacon

{

pickUp

#perintah untuk mengambil beacon

left()

#perintah untuk hadap kiri

}

else if(leftIsBeacon)

#kondisi jika di kiri ada beacon

{

left()

#perintah untuk hadap kiri

pickUp

#perintah untuk mengambil beacon

left()

#perintah untuk hadap kiri

}

else if(rightIsBeacon)

#kondisi jika di kanan ada beacon

{

right()

#perintah untuk hadap kanan

pickUp

#perintah untuk mengambil beacon

left()}

#perintah untuk hadap kiri

else if (rightIsBlack)

#kondisi jika di kanan ada cat hitam

{

right() putDown

#perintah untuk hadap kanan dan menaruh beacon

end}

#perintah untuk mengakhiri program

else if (leftIsBlack)

#kondisi jika di kiri ada cat hitam

{

left()putDown

Page 17: Tugas Pemograman Terstruktur_Robomind

#perintah untuk hadap kiri dan menaruh beacon

end}

#perintah untuk mengakhiri program

else if (frontIsBlack)

#kondisi jika di depan ada cat hitam

{

putDown

#perintah untuk menaruh beacon

end}

#perintah untuk mengakhiri program

else if(frontIsObstacle and rightIsWhite and leftIsWhite)

#kondisi jika di depan ada obstacle dan di kanan dan kiri cat putih

{

if(flipCoin())

#perintah untuk mengundi

{

right()

#perintah untuk hadap kanan jika hasil undi true

}

else

#kondisi jika selain true

{

left()

#perintah untuk hadap kiri

}}

else if(frontIsObstacle and leftIsWhite)

#kondisi jika di depan ada obstacle dan di kiri cat putih

{

left()

#perintah untuk hadap kiri

}

else if(frontIsObstacle and rightIsWhite)

#kondisi jika di depan ada obstacle dan di kanan cat putih

{

right()

#perintah untuk hadap kanan

}}

Page 18: Tugas Pemograman Terstruktur_Robomind

BAB III

PENUTUP

3.1. KESIMPULAN

Robomind adalah sebuah game untuk pembelajaran bagi programmer pemula. Dalam

game ini kita di latih untuk memecahkan permasalahan dengan menggunakan script

untuk menggerakan si robot. Penggunaannya cukup user friendly namun harus tetap teliti

dalam membuat script agar robot mampu memcahkan masalah yang ada dalam setiap

peta yang ada.

Dan dalam memecahkan masalah, programmer perlu teliti, sabar, dan pantang

menyerah. Memang tidak mudah dalam membuat sebuah program, namun tidak mudah

bukan berarti tidak bisa. Semakin banyak berlatih maka semakin meningkat pula

kemampuan kita dalam membuat program. Karena pemograman bukan sebuah bakat

melainkan adalah sebuah skill yang dihasilkan dari terus berlatih.

Pemograman itu menyenangkan

3.2 DAFTAR PUSTAKA

Internet : http://willemandreasinuraya.wordpress.com/2014/06/, diakses tanggal 09

Oktober 2014

Internet : http://rizal-andriansyah.blogspot.com/2012/03/robomind-game-untuk-programmer-pemula.html,

diakses tanggal 09 Oktober 2014