Robomind adalah sebuah game opensource tentang bagaimana mengendalikan pergerakan sebuah robot melalui perintah-perintah menggunakan bahasa pemrograman. Game yang dibuat oleh Arvid Halma dari Universitas Amsterdam ini dapat didownload di URL http://www.robomind.net
Mengapa game ini cocok bagi mereka yang baru belajar pemrograman? Ya… di dalam game ini, kita bisa mengatur sendiri langkah-per langkah kita untuk mengatur gerakan robot, dalam hal ini melatih kemampuan kita dalam penguasaan algoritma dan logika. Selain itu dalam RoboMind ini terdapat pula beberapa struktur pemrograman seperti halnya bahasa pemrograman pada umumnya, seperti bentuk IF, LOOPING, dan PROCEDURE.
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 derajad
* right(), digunakan untuk membelokkan si robot ke kanan 90 derajad
* 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
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
}
}
Apabila program di atas dijalankan, maka inilah hasil gerakan si robot.
[swf w=360 h=330]http://mail.uns.ac.id/~arie/upload/robo.swf[/swf]
OK… selamat belajar pemrograman