Halo teman-teman. Namaku Syerin. Aku memelihara zombie di rumah, yang aku beri nama Mbi-mbi. Main yuk ke rumah.
Mbi-mbi punya banyak sekali balon yang belum ditiup. Banyaaak sekali. Setiap balon yang sudah ditiup akan segera diikat oleh Mbi-mbi dengan menggunakan tali, dan dapat dinaik turunkan olehnya. Setiap balon disebut sebagai melayang ketika melayang dengan ketinggian tertentu, dan disebut mendarat ketika berada di tanah (di ketinggian 0 meter).
Ini adalah soal-soal pemrograman, yang sebagian pernah muncul dalam soal seleksi science club komputer BPK PENABUR. Silahkan coba mengerjakannya.
Nah, teman-teman, Mbi-mbi itu taat banget lho. Tapi cuma dapat mengenali beberapa perintah. Ini perintah-perintahnya, teman-teman.
TIUP x
Kalau teman-teman memberi perintah TIUP x, Mbi-mbi akan meniup balon baru dan memberi label x pada balon itu. Label x ini bisa merupakan huruf atau kata apa saja. Tapi label yang sudah dipakai untuk sebuah balon tidak boleh dipakai lagi, teman-teman. Balon yang baru ditiup akan segera diberi tali, namun ketinggiannya tidak tentu.
LETUS x
Perintah LETUS x, Mbi-mbi akan meletuskan balon berlabel x jika ada, sehingga label x boleh dipakai pada balon lainnya.
TURUNKAN x
Kalau teman-teman katakan TURUNKAN x, Mbi-mbi akan menurunkan balon berlabel x sejauh 1 meter. Tentu saja ketika balon tersebut mendarat, ia tidak dapat menurunkannya lagi.
Lalu ada perintah NAIKKAN x, yang berarti ia akan menaikkan balon berlabel x sejauh 1 meter.
LAKUKAN SELAMA x
Ada juga perintah ini.
LAKUKAN SELAMA x
(perintah)
(perintah)
… dst
ULANGI
Mbi-mbi hanya akan melakukan perintah-perintah yang diberikan selama x melayang. Kalau x telah mendarat, Mbi-mbi tidak akan melakukannya.
BUNYI & TERIAK
Kalau kamu katakan BUNYI, Mbi-mbi akan berbunyi GRR
, sementara perintah TERIAK akan membuat Mbi-mbi berteriak NGAK.
Oh ya teman-teman, Mbi-mbi hanya akan melakukan sesuatu atas perintah teman-teman, dan ia dapat belajar perintah baru, asal perintah itu dapat dinyatakan dalam perintah-perintah yang ia mengerti sebelumnya.
Contoh
Misalnya, sudah ada dua balon yang ditiup oleh Mbi-mbi, yaitu balon A dan balon B. Posisi awal balon A adalah mendarat, dan B 3 meter di atas tanah. Kemudian ketika Mbi-mbi diberi perintah-perintah berikut, ia akan melakukannya.
NAIKKAN A
NAIKKAN A
TURUNKAN A
LAKUKAN SELAMA B
NAIKKAN A
TURUNKAN B
TERIAK
ULANGI
LAKUKAN SELAMA B
BUNYI
ULANGI
-
Seandainya Mbi-mbi telah meniup 3 balon berlabel A, B, C, yang ketinggian awalnya berturut-turut adalah 4, 2, dan 1 meter. Tolong teman-teman tuliskan posisi akhir ketiga balon kalau Mbi-mbi diberi rangkaian perintah berikut:
LAKUKAN SELAMA A NAIKKAN B NAIKKAN C TURUNKAN A ULANGI
-
Teman-teman sekarang tolong ajari Mbi-mbi perintah
DARATKAN x, yang berarti Mbi-mbi harus mendaratkan balonxdari ketinggian berapa pun. Untuk mengajari Mbi-mbi, teman-teman harus menyatakan dalam perintah-perintah yang telah ia mengerti sebelumnya. Tolong -teman-teman tuliskan perintahDARATKAN xdinyatakan dalam perintah-perintah sebelumnya. -
Bagaimana teman-teman akan menyuruh Mbi-mbi untuk meniup balon baru berlabel P yang ketinggiannya bisa dipastikan 5 meter?
-
Sekarang, tolong teman-teman mengajari Mbi-mbi perintah
SETARAKAN x DENGAN y, yang bertujuan untuk membuat balonxsama tinggi dengan balony. -
Teman-teman, coba hitung berapa kalikah Mbi-mbi mengucapkan “GRR” selama diberi perintah berikut ini?
TIUP A TIUP B DARATKAN B DARATKAN A NAIKKAN A NAIKKAN A NAIKKAN A NAIKKAN B NAIKKAN B NAIKKAN B NAIKKAN B LAKUKAN SELAMA B TURUNKAN B LAKUKAN SELAMA A BUNYI TURUNKAN A TURUNKAN A TURUNKAN B ULANGI ULANGI -
Bagaimanakah teman-teman akan mengajari Zombie perintah
NAIKKAN x SEBESAR yyang akan menaikkan balonxsetinggiy, sehingga balonxakhirnya akan berada di ketinggianx+ ketinggiany? -
Sekarang, teman-teman harus mengajari Mbi-mbi perintah baru. Perintahnya adalah:
KALAU x MELAYANG, (perintah) (perintah) … dst UALAK
Tujuannya adalah, jika
xmelayang, Mbi-mbi akan melakukan perintah-perintah di bawahnya. Jikaxtidak melayang, berarti Mbi-mbi akan melewatkan perintah-perintah yang diberikan sebelum tanda UALAK, dan langsung menuju perintah-perintah sesudahnya. -
Sekarang, Mbi-mbi telah mengerti perintah
KALAU x MELAYANG. Tolong teman-teman tentukan bagaimana Mbi-mbi akan bersuara selama menjalankan perintah-perintah berikut.DARATKAN B KALAU B MELAYANG, TERIAK UALAK KALAU B MELAYANG, BUNYI UALAK BUNYI -
Teman-teman, perintah
KALAU x MELAYANGhanya bisa membuat Mbi-mbi melakukan sesuatu ketikaxmelanyang. Tetapi kalau tidak melayang, Mbi-mbi akan melewatkan perintah itu. Sekarang tolong teman-teman mengajari Mbi-mbi untuk bisa memiliki alternatif pilihan. Ketikaxmelayang, Mbi-mbi akan melakukan perintah 1, tetapi ketikaxtidak melayang, Mbi-mbi akan melakukan perintah 2. Bagaimana ya mengajarinya? -
Teman-teman, suara apakah yang diucapkan Mbi-mbi pada waktu teman-teman memberikan perintah-perintah berikut ini? Apakah setelah selesai P mendarat atau melayang?
TIUP A DARATKAN A NAIKKAN A NAIKKAN A NAIKKAN A NAIKKAN A TIUP B TIUP P DARATKAN P LAKUKAN SELAMA A KALAU P MELAYANG DARATKAN P KALAU TIDAK NAIKKAN P UALAK SETARAKAN B DENGAN A LAKUKAN SELAMA B KALAU P MELAYANG TERIAK KALAU TIDAK BUNYI UALAK TURUNKAN B ULANGI TURUNKAN A ULANGI
Teman-teman, terimakasih ya sudah menemani Syerin bermain dengan Mbi-mbi. Kapan-kapan teman-teman boleh datang lagi.
Add new comment