Senin, 20 Oktober 2008

Sekilas Robomind.

Bagi Anda seorang programmer pemula, ada sebuah game yang menarik buat Anda. Game yang menggabungkan konsep pemrograman dengan Robot. Mungkin game ini cocok pula bagi para programmer yang dulunya bercita-cita ingin membuat robot, namun tidak kesampaian :-). Game ini bernama RoboMind.

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