Tuliskan menu yang ada pada aplikasi RoboMind

RoboMindPerancang awalArvid Halma, Research KitchenRilis perdana2005Rilis stabil

5.3 / 18 November 2014; 7 tahun lalu (2014-11-18)

Bahasa pemrogramanJavaJenisEdukasiLisensiRoboMind Licence[1]Situs webwww.robomind.net

RoboMind adalah sebuah aplikasi pemrograman sederhana untuk tujuan pendidikan. Aplikasi ini memiliki berbagai aturan pemrogramannya sendiri untuk melatih para pemula dalam mempelajari dasar-dasar logika pemrograman. Aplikasi ini menunjukkan simulasi robot yang dapat digerakkan dengan perintah-perintah yang tersedia. Selain untuk memperkenal teknik-teknik pemrograman, aplikasi ini juga bertujuan untuk mengenalkan robotika dan intelegensi artifisial.

RoboMind dapat digunakan dalam beberapa sistem operasi, seperti Windows, Linux and Mac OS X. Pertama kali dirilis pada tahun 2005 dan pada awalnya dikembangkan oleh Arvid Halma, mahasiswa Universitas Amsterdam pada saat itu. Sejak 2011 RoboMind di produksi oleh Research Kitchen.[2]

Referensi

  1. ^ //robomind.net/en/licence.html
  2. ^ Research Kitchen, Delft, Belanda.

Pranala luar

  • Situs resmi
  • Situs daring RoboMind dengan kurikulum berpikir komputasi
  • Prova LOGO! (RoboMind) Diarsipkan 2014-01-10 di Wayback Machine.

Diperoleh dari "//id.wikipedia.org/w/index.php?title=RoboMind&oldid=18635555"

RoboMind adalah sebuah pemrograman sederhana yang biasanya dipakai pada lingkungan pendidikan dengan bahasa scripting sendiri yang memungkinkan 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. RoboMind tersedia sebagai aplikasi yang berdiri sendiri dan bisa diaplikasikan pada sistem operasi Windows, Linux dan Mac OS X.

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

Lingkungan simulasi

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.

Bahasa scripting

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.

Contoh script untuk menggambar persegi:

paintWhite()

repeat(4) {

    forward(2)

    right()

}

Contoh Rekursif  “line follower” :

follow()

procedure follow(){

    if(frontIsWhite()){

              forward(1)               

    }

    else if(rightIsWhite()){

              right()

    }

    else if(leftIsWhite()){

         left()

    }

    else{

         end

    }

    follow()

}

Bahasa tidak memungkinkan mendeklarasikan variabel (selain mengikat prosedur / fungsi argumen). Sebaliknya modifikasi lingkungan, seperti lukisan sel grid, digunakan untuk menyimpan keadaan runtime. Hal ini menunjukkan robot dalam lingkungannya secara langsung berkaitan dengan 2D mesin Turing.

Bahasa scripting 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.

Instalasi RoboMind

Klik file installer RoboMind yang ada pada CD Bonus Komputek, tampilan awal adalah dialog memilih bahasa yang digunakan  

defaultnya adalah “English” klik “Ok”. Tampil dialog selanjutnya, klik saja “Next”,

selanjutnya dialog “License Agreement”, pilih “I accept the agreement” dan klik “Next”.

Pada dialog yang tampil selanjutnya, biarkan saja pada defaultnya, klik saja “Next” 

dan klik “install pada dialog berikutnya.

Dan proses instalasi berjalan,

tunggu hingga selesai, lalu klik “Finish”.

Setelah anda klik “Finish” langsung ditampilkan tampilan loading program Robo Mind ini,


tunggu saja hanya memerlukan waktu beberapa saat.

Menjalankan Robo Mind

Inilah tampilan utama dari Robo Mind,


ada dua pane, sisi kiri dan kanan. Di sisi kiri adalah tempat untuk menuliskan barisan script, sedang di sisi kanan adalah lingkungan simulasi robot, disitu ditampilkan map dimana robot berada didlamnya.

Pada awalnya tampilan ini memang tidak terdapat script apapun, untuk itu anda perlu menuliskan script disisi kiri, namun aplikasi ini sudah menyediakan script contoh untuk dipelajari sebagai latihan dasar pemrograman script. Pengguna bisa membuka script latihan dengan cara klik tombol merah yang ada di sudut kiri atas dialog Robo Mind ini, lalu klik “Open”, pilihlah script yang mau dibuka sebagai contoh latihan.

Simulasi gerak robot menghasilkan script

Dalam mempelajari pemrograman robotika dengan RoboMind, pengguna diberi kemudahan meski tidak paham betul mengenai pemrograman script. RoboMind sudah menyediakan sebuah simulasi gerak robot yang nantinya gerakan ini menghasilkan sebuah fungsi (function), nah fungsi inilah yang natinya bisa dimasukkan ke dalam script pemrograman robotika RoboMind ini. Untuk dapat menjalankan robot dengan mode simulasi, ada namanya tool “Remote control”, pada klik pada menu “Run”, dan klik “Remote control”.

Tampil sebuah dialog “Remote control” ,


didalamnya terdapat tombol – tombol untuk memerintahkan robot mau melakukan apa. Adapun susunan tombolnya terdiri dari : tombol gerak (move), tombol “Paint”, tombol “Grab” dan tombol reset. Tombol “Move” ada empat arah untuk navigasi robot, yakni : “Forward” sebagai perintah gerak maju, “Backward” sebagai perintah gerak mundur, “Right” sebagai perintah gerak ke kanan dan “Left” sebagai perintah gerak ke kiri.

Anda bisa mempraktekkan pergerakan robot anda dengan klik tombol – tombol yang terdapat pada remote control tersebut. Setiap kali anda klik tombol maka pada pane script akan menampilkan script dari perintah tombol yang di klik tadi, Contohnya, anda klik tombol kanan, maka akan tertulis sebuah perintah script “right”, begitu juga ketika anda klik tombol maju, maka akan tertulis perintah “forward (1)”,


dan teruskan sesuai dengan imajinasi pergerakan yang anda inginkan.

Kini anda bisa memindahkan script perintah – perintah yang terjadi tadi dengan cara copy-paste, blok semua script lalu klik kanan mouse dan pilih “copy”,

kemudian beralih pada dialog utama Robo Mind, pada pane sisi kiri, klik kanan mouse, pilih “paste”,


dan terciptalah script untuk robot anda sesuai dengan perintah gerak yang anda lakukan pada remote control tadi. Anda bisa menyimpan hasil kerja anda dengan cara tekan “ctrl+s”.

Struktur pemrograman Robo Mind

Anda perlu juga memahami struktur pemrograman Robo Mind storm untuk menambah kemampuan pemrograman dengan aplikasi robotic progaming ini. Beberapa diantaranya yang dipakai adalah :

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.

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

}

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)

}

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)

}

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

}

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)

}

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, missal : leftIsWhite(). Perintah dasar bisa terdiri dari operator – operator boolean not, and, or.

Contoh :

if(leftIsWhite())

{

    left()   

    forward(1)   

}

Sebuah kondisi dapat juga untuk menyatakan dengan lebih tepat ketika koresponden perintahnya harus dieksekusi., dengan menggunakan (sebuah kombinasi dari) beberapa operator berikut ini :.

= = = = = = = = = = = = = = = = begin tabel = = = = = = == =  = = = =  = = = =

Operator           Tanda yang dipakai       jumlah argumen             Penjelasan

not                   ~                                  1                                 

Meniadakan nilai dari argument :

Tabel kebenaran :

not true = false

not false = true

contahnya :

not frontIsClear()

and                   &                                  2         

Hanya benar ketika kedua argument

benar

Tabel kebenaran :

true and true = true

true and false = false

false and true = false

false and false = false

Contohnya :

frontIsClear() and rightIsWhite()

or                     |                                               2         

Benar setidaknya salah satu argument

adalah benar.

Tabel kebenaran :

true of true = true

true of false = false

false and true = false

false and false = false

Contohnya :

frontIsClear() or rightIsWhite()

= = = = = = = = = = = = = = = = = end tabel = = = = = = = = = = = = = = = = = = = = =

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)

}             

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.

Contohnya :

# definisi bagaimana membuat bujursangkar

procedure rectangle(width, height)

{

            paintWhite()

            repeat(2)

            {

                        forward(height)

                        right()

                        forward(width)

                        right()

            }

            stopPainting()

}

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

# ini adalah pendefinisian dari 'rectangle'

procedure rectangle(width, height)

{

            paintWhite()

            repeat(2)

            {

                        forward(height)

                        right()

                        forward(width)

                        right()

            }

            stopPainting()

}                                   

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

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA