1. Mas Xeno membeli sebuah hotel melati dan bermaksud mempekerjakan robot Guido sebagai pengantar sarapan. Sarapan (disimulasikan dengan Beeper) harus diletakkan di meja di depan kamar hotel. Hotel mempunyai 6 buah kamar dan jalur yang harus dilalui Guido tampak seperti Gambar 14. Meja kamar terletak di koordinat 4 2, 7 2, 10 2, 4 5, 7 5 dan 7 10. Buatlah program untuk robot tersebut agar sarapan dapat diantarkan ke tiap meja dan Guido kembali ke posisi semula.
2. Tuliskan program saudara di lembar kerja. Catatan:
mas Xeno dapat membuat program dengan 33 baris instruksi.
Gambar 14. Koridor hotel tempat Guido bekerja
©Muhammadiyah
university
Press
Lembar Kerja Praktikum 3
Setelah kegiatan selesai, lembar kerja ini dicetak (di-print) dan dikumpulkan ke asisten.
NIM : Nama : Nama asisten : Tanggal Praktikum :
(Diisi oleh Asisten) Nilai praktek:
Tanda tangan:
Kegiatan 1.
Berikut adalah program (tidak lebih dari 20 baris) yang saya buat:
Kegiatan 2.
Berikut adalah program (tidak lebih dari 19 baris) yang saya buat:
Kegiatan 3.
Jumlah Beeper pada program saya:
Jumlah baris instruksi pada program sesuai template:
Berikut adalah screen shot dari window GvRng setelah program dijalankan:
Kegiatan 4.
Jumlah baris instruksi pada program sesuai template:
Jumlah baris instruksi setelah menggunakan fungsi hadapkanan:
Jumlah baris instruksi setelah menggunakan fungsi gerakLetak:
©Muhammadiyah
university
Press
Berikut adalah screen shot dari window GvRng setelah program dijalankan:
Kegiatan 5.
Jumlah baris instruksi pada program saya:
Berikut adalah program (maksimal 20 baris) yang saya buat:
Kegiatan 6.
Jumlah baris instruksi pada program saya:
Berikut adalah program yang saya buat:
©Muhammadiyah
university
Press
PRAKTIKUM 4:
PERULANGAN DAN PENGAMBILAN KEPUTUSAN
Tujuan
Memahami konsep perulangan dan konsep pengambilan keputusan oleh mesin
Pendahuluan
Di antara kekuatan sebuah komputer dan mesin komputasi lainnya terletak pada kemampuan mengulang pekerjaan dan membuat keputusan secara cepat. Mesin mampu mengerjakan pekerjaan berulang tanpa merasa bosan. Mesin dapat membuat keputusan sesuai kondisi yang diberikan oleh pemrogramnya.
Perulangan
Program yang dibahas pada Praktikum 2 dan Praktikum 3 mempunyai banyak instruksi yang sama yang dikerjakan berulang-ulang. Simak kembali Program 1 pada Praktikum 3 yang mempunyai beberapa instuksi berulang, misalnya baris 5 – 7 mengulang perintah move sebanyak 3 kali, atau perintah move – move – move diulang sebanyak 3 kali, dan perintah move – move – move – turnright diulang sebanyak 2 kali.
©Muhammadiyah
university
Press
Program GvRng mengenal instrruksi do untuk mengulangi istruksi lain. Cara menulisnya adalah:
do jumlahPerulangan:
instruksi1 #instruksi yang diulang instruksi2 #instruksi yang diulang
Perhatikan penggunaan indentasi (penulisan menjorok ke dalam) sebagai penanda bahwa instruksi1 dan instruksi2 merupakan satu kesatuan (satu blok). Sebagai contoh, pada program berikut:
do 3:
move putbeeper
instruksi move dan putbeeper akan dikerjakan sebanyak 3 kali. Pada program berikut:
do 3:
move putbeeper
instruksi move akan dikerjakan sebanyak 3 kali, kemudian instruksi putbeeper dikerjakan satu kali.
Program 1 pada Praktikum 3 dapat ditulis ulang menjadi seperti Program 5. Sedangkan Program 2 dapat ditulis ulang menjadi Program 6.
1 define turnright:
2 turnleft 3 turnleft 4 turlleft 5 do 2:
©Muhammadiyah
university
Press
6 move 12 turnoff
Program 5: Program dengan perulangan 1 define hadapkanan:
2 do 3:
3 turnleft
4 define gerak3langkah:
5 do 3:
6 move
7 do 2:
8 gerak3langkah 9 hadapkanan 10 gerak3langkah 11 turnoff
Program 6: Program lain yang setara
Pengambilan keputusan
Kecerdasan dimulai dari kemampuan mengambil keputusan. Mesin disebut cerdas jika mampu mengambil keputusan sesuai kondisi yang dihadapi. Semakin banyak kondisi yang bisa dihadapi dan semakin banyak keputusan yang bisa diambil, maka mesin semakin cerdas.
Robot Guido mengenal 18 kondisi berikut ini.
Kondisi Makna
1. front_is_clear Lokasi di depan robot tidak ada penghalang
©Muhammadiyah
university
Press
2. front_is_blocked Lokasi di depan robot ada penghalang
3. left_is_clear 4. left_is_blocked 5. right_is_clear 6. right_is_blocked
7. next_to_a_beeper Robot berada pada posisi yang sama dengan Beeper (pada koordinat yang sama)
8. not_next_to_a_beeper Robot tidak berada pada posisi dekat Beeper 9. any_beepers_in_beeper_bag Kantong beeper berisi 10. no_beepers_in_beeper_bag Kantong beeper kosong 11. facing_north Menghadap utara 12. not_facing_north Tidak menghadap utara 13. facing_south
Untuk membuat keputusan berdasarkan kondisi tertentu, digunakan perintah if dengan cara penulisan sebagai berikut.
if kondisi:
keputusan
Sebagai contoh, perintah berikut:
if front_is_clear:
move
©Muhammadiyah
university
Press
berarti Robot harus memerika kondisi apakah di depan tidak ada penghalang, jika tidak ada penghalang maka robot maju satu langkah. Perintah berikut:
if left_is_clear:
turnleft move putbeeper
berarti robot harus memerika kondisi apakah di kiri tidak ada penghalang, jika tidak ada penghalang maka robot berbelok ke kiri, maju satu langkah dan meletakkan beeper.
Contoh 1
Mas Xeno sedang mencoba mengembangkan Guido menjadi robot pemadam api. Mas Xeno mensimulasikan sebuah lorong gedung di mana terdapat sebuah titik api yang harus dipadamkan oleh robot dalam bentuk seperti pada Gambar 15.
©Muhammadiyah
university
Press
Gambar 15. Simulasi robot pemadam api; Beeper dianggap sebagai titik api yang harus dipadamkan kemudian robot kembali ke posisi semula; Perhatikan pada “World editor”
terdapat kode beepers 3 7 1 yang berarti terdapat 1 buah beeper pada koordinat 3 7
Pengujian pertama seperti pada Program 7. Mas Xeno memastikan bahwa di lorong tepat 6 langkah dari robot terdapat sebuah titik api. Oleh karena itu, robot diminta maju 6 langkah (baris 1 – 2), memadamkan api (baris 3), berputar balik (baris 4 – 5), kemudian maju 6 langkah (baris 6 – 7), dan selesai (baris 8).
©Muhammadiyah
university
Press
1 do 6:
2 move 3 pickbeeper 4 turnleft 5 turnleft 6 do 6:
7 move 8 turnoff
Program 7: Program robot pemadam api versi 1.0 1 do 6:
2 move
3 if next_to_a_beeper:
4 pickbeeper 5 turnleft 6 turnleft 7 do 6:
8 move 9 turnoff
Program 8: Program robot pemadam api versi 1.1
Pada tahap berikutnya mas Xeno berpikir, robot harus cukup cerdas. Api akan dipadamkan jika benar-benar ada. Maka dibuatlah versi program yang baru yaitu Program 8. Baris 1 – 2 pada program memerintahkan robot maju 6 langkah. Baris 3 – 4 pada program berarti robot harus memeriksa apakah ada api (ada beeper)?
Jika ada api, maka padamkan (ambil beeper).
Kecerdasan robot masih dapat ditingkatkan lagi. Titik api tidak harus ada di ujung lorong. Bisa di tengah atau di mana saja di lorong tersebut. Titik api bisa berjumlah lebih dari satu, bisa 2 atau 3. Untuk itu, program dimodifikasi menjadi versi 1.2 (lihat Program 9).
©Muhammadiyah
university
Press
1 do 6:
2 move
3 if next_to_a_beeper:
4 pickbeeper 5 turnleft
6 turnleft 7 do 6:
8 move 9 turnoff
Program 9: Program robot pemadam api versi 1.2
Baris 1 – 4 pada Program 9 berarti, robot harus mengulangi perintah baris 2 – 4 sebanyak 6 kali. Perintah baris 2 berarti bergerak satu langkah dan perintah baris 3 – 4 berarti memeriksa apakah ada titik api, dan jika ada, maka padamkan. Cobalah meletakkan 3 titik api pada tempat yang berbeda di lorong dan jalankan program tersebut.
Lebih banyak keputusan
Untuk membuat lebih banyak keputusan berdasarkan kondisi tertentu, digunakan gabungan perintah if – else dengan cara penulisan sebagai berikut.
if kondisi:
keputusan else:
keputusanlain
Sebagai contoh, perintah berikut:
if front_is_blocked:
turnleft
©Muhammadiyah
university
Press
else:
move
berarti robot harus memerika kondisi apakah di depan ada penghalang, jika ada penghalang maka robot menghadap ke kiri dan jika tidak ada penghalang maka robot maju satu langkah.
Lebih banyak kondisi dan lebih banyak keputusan
Lebih banyak kondisi dapat diperiksa dengan menggunakan perintah if yang banyak atau gabungan perintah if – elif – else. Perhatikan contoh berikut.
if front_is_clear:
move
elif left_is_clear:
turnleft move else:
turnoff
Program di atas berarti, robot memeriksa apakah di depan tidak ada penghalang, jika benar maka maju selangkah, jika tidak benar maka diperiksa kondisi lain. Jika di kiri tidak ada penghalang, maka robot berbelok ke kriri dan maju, jika tidak benar, maka robot dimatikan. Program berikut mempunyai makna yang sama dengan perintah di atas.
if front_is_blocked:
if left_is_blocked:
turnoff else:
©Muhammadiyah
university
Press
turnleft move else:
move
Kegiatan Praktikum
Kegiatan 1. Perulangan
1. Kerjakan kembali kegiatan 5 Praktikum 3. Kali ini, gunakan perintah perulangan. Program saudara tidak boleh lebih dari 16 baris.
2. Tuliskan program yang saudara buat pada lembar kerja.
Kegiatan 2. Lagi, perulangan
1. Buatlah Dunia robot seperti pada Gambar 16.
Untuk meletakkan Beeper pada lokasi tertentu, pilih menu “Open WorldBuilder”, klik kanan pada lokasi tersebut, isikan jumlah Beeper, dan klik Ok.
Pastikan pada “World editor” terdapat kode berikut:
robot 2 4 E 0 beepers 3 7 1 beepers 5 7 1 beepers 7 7 1
2. Buatlah program tidak lebih dari 18 baris untuk mengambil semua beeper yang ada di lorong.
Setelah selesai bekerja, robot diparkir di koordinat 8 4. Program tersebut mensimulasikan upaya robot memadamkan api di 3 titik di 3 lorong gedung.
3. Tuliskan program saudara pada lembar kerja.
©Muhammadiyah
university
Press
Gambar 16. Dunia robot untuk kegiatan 2 Praktikum 4
Kegiatan 3. Titik api yang acak
1. Modifikasi program pada kegiatan 2 di atas agar titik api yang dipadamkan tidak harus berada di ujung lorong dan jumlahnya bisa bervariasi, tidak harus 1 buah di tiap lorong.
2. Ujilah program saudara.
3. Tuliskan program saudara pada lembar kerja.
Kegiatan 4. Harta karun di halaman
1. Mas Xeno membaca surat wasiat dari kakeknya yang menyebutkan bahwa sang kakek meninggalkan beberapa koin emas berharga di halaman belakang rumah yang berukuran 7 x 5 meter per segi. Surat itu tidak menyebut di titik mana dan berapa jumlah koin. Untuk mencari koin emas itu, mas Xeno membuat robot dilengkapi metal detektor dan penggali koin. Metal detektor itu dapat mendeteksi emas dalam diameter 1 meter per segi. Situasi yang dihadapi robot disimulasikan
©Muhammadiyah
university
Press
pada Gambar 17. Koin disimulasikan dengan Beeper. Robot dijalankan dari dalam rumah, menuju halaman belakang dan harus kembali ke dalam rumah. Buatlah dunia robot seperti Gambar 17.
Gambar 17. Simulasi dunia robot untuk deteksi koin emas 2. Buatlah program agar robot dapat menelusuri
setiap bagian halaman, dan mengambil beeper jika ditemukan. Program tersebut dibangun dengan mengikuti algoritma berikut:
a. Ulangi perintah-perintah berikut ini sebanyak 7 kali
1) maju satu langkah
2) jika menemukan koin, ambil 3) belok kanan
4) ulangi perintah-perintah berikut sebanyak 4 kali
©Muhammadiyah
university
Press
a) maju satu langkah
b) jika menemukan koin, ambil
5) kembali ke posisi paling kiri, kemudian belok kanan
b. berbalik, dan kembali ke rumah c. Selesai
3. Ujilah program saudara beberapa kali dengan meletakkan beeper pada posisi yang berbeda-beda. Buatlah 2 buah screen shot, yaitu sebelum dan sesudah program dijalankan. Salin keduanya ke lembar kerja.
4. Tuliskan program yang saudara buat di lembar kerja.
Lembar Kerja Praktikum 4
Setelah kegiatan selesai, lembar kerja ini dicetak (di-print) dan dikumpulkan ke asisten.
NIM : Nama : Nama asisten : Tanggal Praktikum :
(Diisi oleh Asisten) Nilai praktek:
Tanda tangan:
Kegiatan 1.
Berikut adalah program (tidak lebih dari 20 baris) yang saya buat:
Kegiatan 2.
Berikut adalah program (tidak lebih dari 19 baris) yang saya buat:
©Muhammadiyah
university
Press
Kegiatan 3.
Berikut adalah program yang sudah dimodifikasi:
Kegiatan 4.
Berikut adalah screen shot window GvRng, sebelum program dijalankan (setelah klik tombol Reload)
Berikut adalah screen shot window GvRng, setelah program dijalankan (setelah klik tombol Execute)
Listing program adalah sebagai berikut:
©Muhammadiyah
university
Press
PRAKTIKUM 5 :
PERULANGAN KONDISIONAL
Tujuan
Memahami konsep perulangan kondisional
Pendahuluan
Perintah do melakukan perulangan dengan jumlah yang pasti. Pada simulasi pencarian koin (Praktikum 4) pada area seluas 7 x 5, robot melakukan perulangan dengan jumlah yang pasti.
Jika perulangan tidak diketahui jumlahnya, maka perintah do tidak dapat digunakan. Instruksi yang lebih tepat digunakan adalah while. Cara penggunaanya adalah:
while kondisi:
instruksi #instruksi yang akan dikerjakan berulang-ulang
instruksi #instruksi yang akan dikerjakan berulang-ulang
yang berarti “selalu uji kondisi, selama kondisi benar, lakukan instruksi”.
Sebagai contoh situasi pada Gambar 18, di mana robot diperintahkan menyusuri sebuah garis. Jika jumlah garis sudah ditentukan banyaknya, maka dapat diberikan perintah perulangan dengan do.
©Muhammadiyah
university
Press
1 do 7:
2 move 3 turnoff
Gambar 18. Robot line follower 1 while right_is_blocked:
2 move 3 turnoff
Program 10: Program robot line follower sederhana
Namun jika garis tidak diketahui panjangnya, bisa lebih panjang dari 7 atau lebih pendek, maka program pada Gambar 18 tidak berjalan dengan benar. Program yang lebih baik tertulis pada Program 10. Baris 1 – 2 pada Program 10 berarti bahwa robot diminta terus menerus memeriksa kondisi “apakah sisi kanan ada garis?”, jika benar, maka robot maju satu langkah. Dengan program ini, berapapun banyaknya garis, robot akan mampu menelusuri jalan dengan benar.
Penggunaan instruksi while membutuhkan ketelitian.
Beberapa langkah berikut dapat digunakan dalam proses membuat instruksi while.
1. Cermati syarat (kondisi) yang diperlukan agar perulangan selesai.
2. Pada instruksi while, gunakan kondisi yang berkebalikan dengan syarat perulangan selesai.
©Muhammadiyah
university
Press
while kondisi sebaliknya:
... instruksi ...
3. Pastikan instruksi awalan (atau prakondisi) telah dikerjakan sebelum perulangan dimulai
4. Pastikan setiap kali iterasi (perulangan) dikerjakan, ada progres ke arah penyelesaian perulangan.
5. Pastikan kondisi yang diuji akan menjadi bernilai FALSE sehingga perulangan selesai
Perintah while dapat menyebabkan program menjadi
“hang” jika perulangan tidak pernah selesai (infinite loop).
Gambar 19. Robot yang membawa sebuah beeper
Pada Gambar 19 terdapat dunia robot dengan robot Guido yang membawa sebuah beeper. Jika robot diinginkan untuk mengitari seluruh dinding, maka Program 11 akan menyebabkan terjadinya infinite loop, perulangan yang tidak pernah selesai. Sedangkan Program 12 membuat robot mengelilingi dinding satu kali dan kembali ke posisi semula.
1 while right_is_blocked:
2 if front_is_clear:
©Muhammadiyah
university
Press
3 move 4 else:
5 turnleft 6 turnoff
Program 11. Infinite loop pada baris 1 – 5. Tidak pernah sampai ke baris 6
1 putbeeper 2 move
3 while not_next_to_a_beeper:
4 if front_is_clear:
5 move
6 else:
7 turnleft 8 turnleft
9 pickbeeper 10 turnoff
Program 12. Mengitari satu kali dan kembali ke posisi semula
Kegiatan Praktikum
Kegiatan 1. NIM dengan beeper
1. Mas Xeno membuat sebuah program yang meletakkan beeper pada tiga lokasi sehingga jumlah beeper pada tiga lokasi itu menunjukkan angka tiga digit terakhir NIMnya. Berikut program dan bentuk dunia robot setelah program tersebut dijalankan.
©Muhammadiyah
university
Press
1 move 2 do 8:
3 putbeeper 4 move
5 putbeeper 6 move 7 do 9:
8 putbeeper 9 move
10 turnoff
Gambar 20. Program menulis NIM dengan tumpukan beeper 2. Buatlah program seperti mas Xeno untuk menulis
tiga digit terakhir NIM saudara. Jalankan program, buat screen shot dari window GvRng dan salin ke lembar kerja.
3. Lanjutkan program yang saudara buat. Setelah robot selesai menulis tiga digit terakhir NIM, robot berbelok arah dan mengambil kembali semua beeper yang ada. Tambahan baris instruksi pada program tidak boleh lebih dari 7 baris. Jalankan program dan buat screen shot dari window GvRng dan salin pada lembar kerja.
Kegiatan 2. Robot Line Follower
1. Robot Line-follower dapat bergerak mengikuti garis sembarang. Gambar 21 memuat Dunia robot dengan satu garis dan sebuah program untuk memerintahkan robot mengikuti garis tersebut.
Cobalah membuat dunia robot tersebut dan jalankan programnya.
©Muhammadiyah
university
Press
1 while right_is_blocked:
2 move 3 turnoff
Gambar 21. Program robot line follower sederhana; jika di sisi kanan robot ada garis, maka robot akan bergerak maju, jika
tidak maka robot dimatikan
2. Program pada Gambar 21 berjalan baik hanya pada garis lurus. Modifikasi program tersebut agar robot dapat mengikuti garis yang mempunyai belokan ke kiri tapi tidak mempunyai belokan ke kanan.
Ujilah program saudara pada berbagai bentuk garis, termasuk Dunia robot seperti Gambar 22.a.
Tuliskan program saudara pada lembar kerja.
(a) (b)
Gambar 22. Dunia robot untuk pengujian robot line follower: (a) garis mempunyai belokan ke kiri, (b) garis mempunyai belokan
ke kiri dan ke kanan
©Muhammadiyah
university
Press
3. Buatlah sebuah program agar robot dapat mengikuti garis yang mempunyai belokan ke kiri dan ke kanan. Robot berhenti jika sudah menemukan sebuah beeper. Ujilah program saudara pada berbagai bentuk garis, termasuk Dunia robot seperti Gambar 22.b. Tuliskan program saudara pada lembar kerja. Petunjuk: robot bergerak maju jika di kanan ada dinding/garis dan di depan tidak ada penghalang; jika di depan ada penghalang, robot menghadap ke kiri; jika di kanan tidak ada dinding/garis, robot menghadap ke kanan dan maju satu langkah.
Kegiatan 3. Menutup semua pintu dan jendela 1. Sebuah robot penjaga gedung diminta menutup
semua pintu dan jendela jika hari sudah sore.
Dunia robot pada Gambar 23.(a) mensimulasikan situasi salah satu ruang berukuran 7 x 5. Pintu dan jendela disimulasikan dengan sisi yang terbuka (tidak berdinding). Robot berdiri membelakangi sebuah dinding. Buatlah dunia robot tersebut pada program GvRng.
(a) (b)
Gambar 23. Robot penutup pintu dan jendela
©Muhammadiyah
university
Press
2. Buatlah program agar robot menutup semua pintu dan jendela. Menutup pintu dan jendela disimulasikan dengan meletakkan sebuah beeper pada dinding yang terbuka. Setelah program dijalankan, dunia robot akan tampak seperti Gambar 23.(b). Petunjuk: berikut adalah salah satu algoritma yang bisa saudara gunakan (saudara boleh menggunakan cara lain jika menginginkan):
a. Letakkan beeper b. Hadap kanan c. Maju satu langkah
d. Selama robot tidak dekat beeper, lakukan perintah berikut:
1) cek dinding kanan, jika lowong maka letakkan beeper
2) cek dinding depan, jika lowong maka maju, jika tidak maka hadap kiri dan maju e. Ambil beeper dan hadap kiri
f. Selesai
3. Modifikasi dunia robot dengan mengubah posisi pintu dan jendela. Jalankan program saudara.
Buatlah screen shot dari window GvRng dan salin ke lembar kerja. Tuliskan juga program saudara di lembar kerja.
Kegiatan 4. Robot penjinak bom
1. Sebuah program diterapkan pada sebuah robot untuk mencari sebuah bom di dalam sebuah gedung (lihat Program 13). Bom disimulasikan dengan sebuah beeper, dan gedung disimulasikan dengan kotak tertutup. Ujilah program tersebut pada sembarang bentuk ruang di dalam gedung
©Muhammadiyah
university
Press
dan sembarang posisi bom, misalnya seperti gambar. Catatan: program tersebut berjalan benar jika tidak ada ruang yang tidak berdinding.
1 while not_next_to_a_beeper:
2 if right_is_blocked:
3 if front_is_clear:
4 move
5 else:
6 turnleft
7 else:
8 turnleft 9 turnleft 10 turnleft
11 move
12 pickbeeper 13 turnoff
Program 13. Progam mencari bom di gedung
2. Tuliskan pengertian dari program di atas dalam 5 – 10 baris kalimat (harap ditulis tangan).
©Muhammadiyah
university
Press
3. Tuliskan algoritma dari robot penjinak bom, sehingga dapat diterapkan pada berbagai bahasa pemrograman (harap ditulis tangan).
Lembar Kerja Praktikum 5
Setelah kegiatan selesai, lembar kerja ini dicetak (di-print) dan dikumpulkan ke asisten.
NIM : Nama : Nama asisten : Tanggal Praktikum :
(Diisi oleh Asisten) Nilai praktek:
Tanda tangan:
Kegiatan 1.
Screen shot dari window GvRng setelah program menulis 3 digit terakhir NIM saya:
Screen shot dari window GvRng setelah ada instruksi mengambil kembali semua beeper:
Kegiatan 2.
Berikut adalah program line follower dengan belokan ke kiri:
Berikut adalah program line follower dengan belokan ke kiri dan ke kanan:
Kegiatan 3.
Berikut adalah program menutup pintu dan jendela versi saya:
©Muhammadiyah
university
Press
Screen shot dari window GvRng sebelum program dijalankan (pada dunia robot versi saya):
Screen shot dari window GvRng setelah program dijalankan:
Kegiatan 4
Pengertian dari program (5 – 10 baris kalimat dan ditulis tangan):
Algoritma versi saya (ditulis tangan):
©Muhammadiyah
university
Press
Contoh soal UTS dan jawaban
1. Buatlah program GvRng agar robot memasuki lorong, mengambil semua beeper, dan meletakkan semua beeper di ujung lorong yang lain. Dunia robot tampak seperti gambar. Program saudara tidak boleh lebih dari 30 baris!
Jawab:
1 define langkah3:
2 do 3:
3 move 4 define turnright:
5 do 3:
6 turnleft 7 define ambil:
8 langkah3 9 turnleft 10 langkah3 11 turnleft 12 move
13 pickbeeper
©Muhammadiyah
university
Press
14 turnleft 15 turnleft 16 move 17 turnright 18 move 19 move 20 turnleft 21 do 3:
22 ambil 23 move 24 do 3:
25 putbeeper 26 turnoff
2. Buatlah program maksimal 30 baris agar robot mengelilingi semua kotak yang ada kemudian robot kembali ke posisi semula. Jika robot menemukan beeper, maka beeper harus diambil. Posisi beeper bisa diubah-ubah tapi selalu dekat dengan kotak.
Jawab: tiap orang mempunyai cara berbeda dalam menyelesaikan masalah, berikut dua alternatif:
1 define keliling:
2 do 4:
3 if next_to_a_beeper:
4 pickbeeper
©Muhammadiyah
university
Press
5 turnleft 14 turnleft 15 turnleft 16 do 9:
17 move 18 turnleft 19 turnleft 20 turnoff
1 define keliling:
2 do 4:
11 keliling 12 do 3:
13 move 14 keliling 15 do 3:
16 move 17 keliling 18 turnleft 19 turnleft
©Muhammadiyah
university
Press
20 do 7:
21 move 22 turnleft 23 turnleft 24 turnoff
Catatan: Program pertama lebih sedikit jumlah instuksinya, yaitu 20 baris. Pada program kedua robot melakukan lebih sedikit instruksi move, yaitu 22 kali sedangkan pada program pertama robot melakukan 26 instruksi move. Program kedua lebih hemat energi robot!!
©Muhammadiyah
university
Press
©Muhammadiyah
university
Press
PRAKTIKUM 6 :
DATA DAN OPERATOR
Tujuan
Memahami berbagai macam tipe data dan operator pada bahasa pemrogrman Python
Pendahuluan
Data secara permanen disimpan di harddisk, flash disk dan media penyimpanan sekunder lainnya. Data diolah oleh sebuah program komputer. Ketika mengolah data, program komputer meletakkan data ke memori komputer dalam bentuk “objek”. Objek tidak hanya terkait data, namun juga terkait cara pengolahan yang dapat dilakukan terhadap data.
Pengolahan data dapat dilakukan dengan menggunakan operator, instruksi atau menggunakan fungsi.
TIPE DATA
Program Python membedakan data ke dalam berbagai jenis yang disebut dengan tipe data. Tipe data pada python dibagi dalam dua kelompok besar, yaitu data primitif (data
Program Python membedakan data ke dalam berbagai jenis yang disebut dengan tipe data. Tipe data pada python dibagi dalam dua kelompok besar, yaitu data primitif (data