Sunteți pe pagina 1din 25

TEKNIK DASAR PEMROGRAMAN ROBOT DENGAN

ROBOT SIMULATOR

ROBOMIND
RoboMind adalah lingkungan pemrograman sederhana
dengan bahasa scripting sendiri yang memudahkan dan
memungkinkan untuk mempelajari dasar-dasar ilmu
komputer dengan pemrograman robot simulasi. Selain
memperkenalkan teknik pemrograman umum, juga
bertujuan untuk memberikan wawasan dalam robotika
dan kecerdasan buatan.

ROBOMIND
Menggunakan bahasa pemrograman ROBO yang sederhana.
Mudah dipahami.
RoboMind tidak mengganggu sistem komputer.
RoboMind bersifat freeware.
Dapat dijalankan di sistem operasi Windows, Linux, dan Mac
OSX.
Simulasi robot yang interaktif seperti sebuah game.
Simulasi pemrograman dengan 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.

MENJALANKAN ROBOMIND

MENJALANKAN ROBOMIND
Fitur - Menu File

MENJALANKAN ROBOMIND
Fitur - Menu Bar [Edit]

Fitur - Menu Bar [View]

MENJALANKAN ROBOMIND
Fitur - Menu Bar [Run]

Fitur - Menu Bar [Help]

PANEL SCRIPT
Panel Text editor

LAPANGAN PERMAINAN (WORLD)

File >> Open map >> namaMap.map.

STRUKTUR PEMROGRAMAN ROBOMIND


Comments
Ini adalah untuk meletakkan keterangan atau komentar ditandai
dengan # diikuti teks yang merupakan tulisan komentar anda.
Contoh
penggunaan :
# Perintah maju dan mundur
Semua teks yang berada pada posisi setelah, '#', bukan
merupakan sebuah instruksi. Robot tidak akan terpengaruh
dengan barisan script
seperti ini, namun akan memproses pada baris selanjutnya
(dibawahnya). Penggunaan komen biasanya untuk menandai
bagian dari script
lebih sederhananya adalah sebagai pengingat saja.

STRUKTUR PEMROGRAMAN ROBOMIND


Loops
reapeat(n){...perintah...}
Mengulangi instruksi yang merupakan sebuah perintah yang
berada di dalam kurung kurawal sebanyak n kali
Contoh penggunaan :
# sebuah kotak 2x2
repeat(4)
{
forward(2)
right()
}

STRUKTUR PEMROGRAMAN ROBOMIND


repeat(){...perintah...}
Hanya melakukan pengulangan perintah yang ada di dalam
tanda kurung kurawal tanpa batasan
Contohnya :
# hanya melangkah maju
# (namun langkah ini akan selalu menabrak halangan)
repeat()
{
forward(1)
}

STRUKTUR PEMROGRAMAN ROBOMIND


repeatWhile(kondisi){...perintah...}
Pengulangan perintah yang ada di dalam tanda kurung kurawal
sesuai dengan kondisi yang dihadapi. Kondisi bisa berupa persepsi
seperti
contoh : frontIsClear()
Contoh :
# tetap melangkah kedepan,
# namun berhenti ketika ada halangan didepan
repeatWhile(frontIsClear())
{
forward(1)
}

STRUKTUR PEMROGRAMAN ROBOMIND


break
Memungkinkan untuk meloncat keluar dari loop (semisal sebuah
repeat() ) jadi hal ini akan menghentikan perintah yang berada
didalam tanda kurung kurawal. Maka robot akan melanjutkan ke
proses selanjutnya dari loop tersebut.
Contohnya :
# tetap maju, hingga tidak bisa bergerak kemanapun
repeat()
{
if(frontIsObstacle())
{
break
}
else
{
forward(1)
}
}

STRUKTUR PEMROGRAMAN ROBOMIND


Struktur If
if(kondisi){...perintah...}
akan menjalankan diantara kurung kurawal, hanya jika kondisinya
tercapai. Sebaliknya robot akan melaksanakan perintah setelahnya.
Kondisi bisa berupa persepsi berdasarkan perintahnya (misalkan :
frontIsClear() )
Contohnya :
# jika melihat garis putih pada sisi kiri, buat jadi hitam
if(leftIsWhite())
{
left()
forward(1)
paintBlack()
stopPainting()
backward(1)
right()
}

STRUKTUR PEMROGRAMAN ROBOMIND


if(condition){...instructions...}else{...instructions...}
Akan memproses perintah diantara tanda kurung pertama, hanya ketika kondisinya tercapai.
Lalu tidak akan melaksanakan perintah pada blok else ( perintah dalam tanda kurung
kedua ). Ketika kondisinya tidak tercapai, robot akan melaksanakan perintah yang ada pada
tanda kurung kedua. Setelah tercapai pelaksanaan satu perintah blok instruksi, maka akan
membaca perintah terakhir. Kondisi ini harus berupa persepsi sesuai dengan perintahnya
( misalkan : frontIsClear() )
Contohnya :
# jika terlihat warna putih disebelah kiri, buat jadi hitam
# jika tidak, melangkah sedikit ke depan
if(leftIsWhite())
{
left()
forward(1)
paintBlack()
stopPainting()
backward(1)
right()
}
else
{
forward(3)

STRUKTUR PEMROGRAMAN ROBOMIND


Ungkapan Logika
Ada kondisi berupa struktur if- and repeatWhile yang disebut dengan
ungkapan logika. Seperti sebuah ungkapan yang akan menghasilkan
true atau false, yang akan digunakan untuk memutuskan untuk
melangkah ke bagian kode yang tepat untuk melanjutkan eksekusi.
Sebuah ungkapan logika dapat berupa perintah tangapan, misal :
leftIsWhite().
Perintah dasar bisa terdiri dari operator operator boolean not,
and, or.
Contoh :
if(leftIsWhite())
{
left()
forward(1)
}

STRUKTUR PEMROGRAMAN ROBOMIND


Nilai true dan false dapat diapakai secara langsung, seperti sebuah tanggapan
sebuah perintah.
Urutan peletakan operator operator adalah hal penting ( seperti perkalian dan
penambahan angka ). Eksploitasinya tidak mengikat kuat,
mengikuti and, mengikuti or. Sebuah tanda kurung kurawal dapat diapakai untuk
menyesuaikan urutan eksekusi.
Contohnya :
repeatWhile(not frontIsClear() and (leftIsWhite() or rightIsWhite())){
forward(1)
}
if(flipCoin() and not rightIsWhite())
{
right()
backward(1)
}

if(true and false){


#this instruction will never be executed
forward(1)
}

STRUKTUR PEMROGRAMAN ROBOMIND


Prosedure - prosedure
nama prosedur(par1, par2, ... , parN){...perintah...}
Pendefinisian sebuah prosedur baru dengan nama sesuai
keinginan anda. Prosedur dapat memiliki parameter kosong atau
lebih, yang mana anda juga bisa memberikan nama nama yang
berguna. Berikut yang disebut dengan par1, par2, . . . , parN.
Ini adalah variabel variabel yang dapat anda gunakan dalam
sebuah perintah diantara tanda kurung. Kode dalam sebuah
prosedur tidak secara otomatis dikerjakan, anda dapat menuliskan
sebuah 'procedure call' sesukanya untuk melakukan pelaksanaan
perintah yang telah didefinisikan.

STRUKTUR PEMROGRAMAN ROBOMIND

Contohnya :
# definisi bagaimana membuat bujursangkar
procedure rectangle(width, height)
{
paintWhite()
repeat(2)
{
forward(height)
right()
forward(width)
right()
}
stopPainting()
}

STRUKTUR PEMROGRAMAN ROBOMIND


name(arg1, arg2, . . . , argN)
Adalah pemanggil prosedur dengan koresponden nama dan
pemuatan parameter parameter yang sama, sesuai dengan
argument
argument anda. Dalam hal ini argumen, disebut dengan arg1, arg2, .
. . , argN, adalah keterangan nilai nilai yang akan dipakai pada
pendefinisian prosedur.
Contohnya :
# perintah ini akan dilaksanakan
forward(1)
rectangle(3,2) # sebuah pemanggil prosedur 'rectangle'
forward(3)
rectangle(1,4) # pemanggi lain dengan argument lain

STRUKTUR PEMROGRAMAN ROBOMIND


# ini adalah pendefinisian dari 'rectangle'
procedure rectangle(width, height)
{
paintWhite()
repeat(2)
{
forward(height)
right()
forward(width)
right()
}
stopPainting()
}

STRUKTUR PEMROGRAMAN ROBOMIND


End
End akan menyebabkan sebuah entrian program untuk berhenti
ketika perintah perintah telah terlaksana.
Contohnya :
# berhenti setelah 5 langkah, atau secepatnya ketika berjumpa
dengan sebuah beacon disisi kanan
repeat(5)
{
forward(1)
if(rightIsBeacon())
{
end # stops execution of the program
}
}
# normal end of the program

PERINTAH DASAR ROBOMIND


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

PERINTAH DASAR ROBOMIND


paintWhite(), menyuruh robot mewarnai dengan warna putih pada
path
paintBlack(), menyuruh robot mewarnai dengan warna hitam pada
path
stopPainting(), menyuruh robot berhenti mewarnai
pickUp(), mengambil obyek yang ada di depannya
putDown(), meletakkan obyek di depannya

S-ar putea să vă placă și