Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

September 28, 2022, 08:31:38 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,638
  • Total Topik: 10,395
  • Online today: 33
  • Online ever: 441
  • (Desember 17, 2011, 09:48:51 AM)
Pengguna Online
Users: 0
Guests: 19
Total: 19

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

2 robot tabrakan

Dimulai oleh ksatriabajuhitam, Juni 13, 2009, 08:13:36 AM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

ksatriabajuhitam

pas lagi makan siang, kongkow-kongkow sama temen yang lagi ngambil kuliah Game Programming,
dia ngasih saya teka-teki kira-kira begini:

Ada dua buah robot identik dan sebuah sensor sentuh, ketiganya diletakan pada satu garis lurus, katakanlah robot-1 pada posisi -p, sensor di posisi 0, robot-2 di posisi +q.
Script untuk robot hanya terdiri dari lima perintah saja:

RIGHT (kanan 1 step)
LEFT (kiri 1 step)
NOP (diam 1 step)
GOTO (jump program ke label)
IF (kena sensor) GOTO

Buatlah sebuah rutin yang akan di-load pada kedua robot (jadi kedua robot diprogram dengan program yang sama persis) yang akan membuat kedua robot bertabrakan!

note:
panjang garis ialah tak hingga,
robot hanya bisa bergerak sepanjang garis tersebut saja, kanan atau kiri, menghadap ke arah yang sama (tidak berhadap-hadapan tapi bersebelahan), tidak maju atau mundur
(-) <---------[robot-1]-------[sensor]------------------------------[robot-2]--------------> (+)

Sorry but you are not allowed to view spoiler contents.
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

L

tapi  gerak masing  masing  robotnya bebas kesemua  arah kan?

ksatriabajuhitam

Kutip dari: L pada Juni 13, 2009, 07:55:42 PM
tapi  gerak masing  masing  robotnya bebas kesemua  arah kan?
semua arahnya ialah: RIGHT dan LEFT

dan kedua robot akan di-load dengan program yang sama persis
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

Ginji

Kutip dari: ksatriabajuhitam pada Juni 13, 2009, 08:43:33 PM
semua arahnya ialah: RIGHT dan LEFT

dan kedua robot akan di-load dengan program yang sama persis
sama?
kalo
yg satu code 1. right yang satunya juga right

ksatriabajuhitam

Kutip dari: Ginji pada Juni 15, 2009, 07:30:19 PM
sama?
kalo
yg satu code 1. right yang satunya juga right
ya, akan di-load dengan code yang sama persis

ingat kita diijinkan untuk mnggunakan ke-5 instruksi di atas
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2


ksatriabajuhitam

Kutip dari: Sky pada Juni 15, 2009, 09:17:25 PM
Aku masih ga ngerti peristiwa yang diinginkan yang seperti apa...

pokoknya asal kedua robot bisa bersentuhan saja
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2


ksatriabajuhitam

Kutip dari: Sky pada Juni 15, 2009, 09:56:09 PM
Tapi kan terhalang sensor???
sensornya ga ngalangin
kira-kira begini
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

L

Jarak  antar  kedua robot ke  sensor ngga  sentring (jaraknya sama) kan??

trus kalo kita kirim perintah right ke robot satu,,robot jg ikut right?

trus perintah  Goto itu jump kelabel?? label apa? hehe masi kurang ngerti :D

Lole

Kutip dari: L pada Juni 17, 2009, 06:40:07 AM
Jarak  antar  kedua robot ke  sensor ngga  sentring (jaraknya sama) kan??

trus kalo kita kirim perintah right ke robot satu,,robot jg ikut right?

trus perintah  Goto itu jump kelabel?? label apa? hehe masi kurang ngerti :D
iya sama.. masi bingung sama yang GOTO
jelasin yang IF sekalian juga donk..
>_______<
masi rada kurang nangkep...
hue hue

M

sensornya serata dengan lintasan robot, jadi nggak mungkin tertabrak,. begitu kah?

robot-1 =a; robot-2=b
------------
a:=right(sejauh 2p), b:=left(sejauh -2q)------------------(posisi kedua obot akan bertabrakan)

beginikah?

ksatriabajuhitam

#12
hm,, tampaknya saya kurang detail menjelaskannya, ok.

jadi kondisinya:
1. ada dua buah robot identik dalam suatu garis lurus (hanya bisa bergerak dalam 1 garis lurus, kiri atau kanan)
2. ada sensor di antara kedua robot yang tidak akan menghalangi gerak robot, hanya memberi sinyal saja ke robot (mempengaruhi instruksi IF(kena sensor)), ya misalkanlah robot punya detektor warna merah, dan 'sensor' ialah lantai berwarna merah sehingga ketika robot mencapai lantai itu akan menerima sinyal kena_sensor = TRUE
3. kedua robot akan di-program dengan script yang SAMA persis
4. tujuan akhirnya ialah "bagaimanakah script-nya yang akan membuat kedua robot bertabrakan/bersentuhan?"

detail instruksinya:
LEFT
bergerak ke kiri 1 cycle
RIGHT
bergerak ke kanan 1 cycle
NOP
diam 1 cycle
GOTO label
ketika dieksekusi maka program counter akan lompat ke label, contoh

instruksi1
iniloh:
instruksi2
instruksi3
GOTO iniloh
instruksi4
instruksi5
GOTO ayolah
instruksi6
ayolah
instruksi7


misal program dimulai dari instruksi1, jadi ketika program mencapai baris GOTO iniloh maka program akan lompat dan mengeksekusi instruksi2 lagi,
begitu pula ketika mencapai baris GOTO ayolah akan lompat ke instruksi7

IF(kena sensor) GOTO label
bisa dibilang conditional jump, misal

instruksi1
IF(kena sensor) GOTO betulkah
instruksi2
betulkah:
instruksi3


jadi ketika program mencapai baris perintah IF(kena sensor) GOTO betulkah,
jika robot menyentuh sensor, maka akan lompat ke instruksi3,
jika robot tidak menyentuh sensor, maka tidak lompat tetapi lanjut ke instruksi selanjutnya yaitu instruksi2 lalu instruksi3

solusinya ga cuma satu loh, ada banyak cara

programming banget ya, tapi ya itulah kehidupan, punya ide saja ga cukup, mesti bisa diimplementasikan

Sorry but you are not allowed to view spoiler contents.


cycle boleh dianggap sebagai satuan waktu, misal 1 detik untuk SEMUA instruksi, (sebetulnya lama satu instruksi dieksekusi)

yu mari....
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

Ginji

1. RIGHT
2. IF (kena sensor) GOTO 4.
3. LEFT
4. NOP

gitu gak ksatria baju hitam

ksatriabajuhitam

^

dikit lagi,
modif dikit lagi bisa bener

coba aja terapin "program" itu ke gambar di atas ke kedua robot, ga menjamin bisa tabrakan
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2