• Tidak ada hasil yang ditemukan

Muhammadiyah university Press

N/A
N/A
Protected

Academic year: 2021

Membagikan "Muhammadiyah university Press"

Copied!
156
0
0

Teks penuh

(1)

©Muhammadiyah

university

Press

(2)

ALGORITMA DAN PEMROGRAMAN

PETUNJUK PRAKTIKUM

BERDASARKAN KURIKULUM 2015

Husni Thamrin, Ph.D Fajar Suryawan, Ph.D.

Dr. Heru supriyono, M.Sc.

Maryam, S.T.,M.Eng Riski Agung Putro Laksono

©Muhammadiyah 2019

university

Press

(3)

ALGORITMA DAN PEMROGRAMAN

PETUNJUK PRAKTIKUM

BERDASARKAN KURIKULUM 2015

Penulis

Husni Thamrin, Ph.D Fajar Suryawan, Ph.D.

Dr. Heru supriyono, M.Sc.

Maryam, S.T.,M.Eng Riski Agung Putro Laksono Layout & Desain Cover Ali Himawan

ISBN: 978-602-361-234-5 Cet. I, September 2019

Copyright©2019

Hak Cipta pada penulis dan dilindungi Undang-Undang Penerbit

Muhammadiyah University Press Gedung I Lantai 1 Sayap Utara

Universitas Muhammadiyah Surakarta Jl. A. Yani Tromol Pos 1 Kartasura

Surakarta 57102 Jawa Tengah - Indonesia Telp : (0271) 717417 ext. 2172

Email : [email protected]

©Muhammadiyah

university

Press

(4)

KATA PENGANTAR

Alhamdulillah, puji dan syukur disampaikan ke hadirat Allah swt yang telah memberi kelonggaran dan kesempatan kepada penulis untuk menyusun buku “Petunjuk Praktikum Algoritma dan Pemrograman” ini. Buku petunjuk disusun berdasarkan kurikulum 2015 yang diberlakukan mulai semester gasal 2016/2017.

Buku petunjuk praktikum ini mengalami beberapa pengembangan sejak versi pertama tahun 2013 ketika Python dijadikan bahasa pemrograman yang digunakan dalam matakuliah “Algoritma dan Pemrograman”. Petunjuk praktikum ini mengalami perbaikan di sana-sini terkait kesalahan ketik dan update pengetahuan. Pada tahun 2016, ditambahkan dua bab baru yang bersifat opsional untuk praktikum terakhir. Pada tahun 2018 dilakukan pemutakhiran karena versi Python yang digunakan beralih dari versi 2 ke versi 3.

Bab-bab dalam buku ini dibagi menjadi dua bagian besar. Bab pertama berisi cara instalasi dan dasar penggunaan bahasa pemrograman dan tool-nya. Empat bab berikutnya menggunakan program GvRng sebagai software simulasi yang mempunyai sintaks mirip dengan Python. Penggunaan software simulasi GvRng diharapkan dapat meng-encourage mahasiswa dalam mempelajari bahasa pemrograman karena mempunyai tampilan yang interaktif. Tujuh bab terakhir barulah menggunakan bahasa Python.

Hal terakhir yang berbeda adalah penggunaan istilah

“modul praktikum” tidak lagi digunakan karena akan rancu dengan istilah “modul python”. Modul praktikum diganti dengan instilah Bab atau Buku Petunjuk Praktikum.

©Muhammadiyah

university

Press

(5)

Penulis berharap buku ini bermanfaat dan dapat digunakan secara maksimal dalam memahamkan mahasiswa tentang logika pemrograman dan penyelesaian masalah dengan program. Tak lupa pula penulis mengucapkan terima kasih kepada berbagai pihak yang membantu dalam penyelesaian buku ini, mulai dari pimpinan Program Studi Informatika, sejawat dosen terutama yang pengajar paralel matakuliah “Algoritma dan Pemrograman”, asisten dan staf.

Kritik dan saran sangat diharapkan demi penyempuranaan konten maupun layout buku petunjuk praktikum ini.

Semoga Allah swt memberkati kita semua.

Surakarta, Januari 2019

Penulis

©Muhammadiyah

university

Press

(6)

DAFTAR ISI

KATA PENGANTAR ... iii

DAFTAR ISI ... v

PRAKTIKUM 1 : INSTALASI DAN DASAR PROGRAM ... 1

Tujuan ... 1

Pendahuluan ... 1

Kegiatan Praktikum ... 3

Kegiatan 1. Instalasi Python dan IDLE di Windows ... 3

Kegiatan 2. Instalasi IDLE di GNU/Linux ... 4

Kegiatan 3. Menjalankan Python melalui terminal Linux ... 4

Kegiatan 4. Menjalankan Python dari IDLE ... 6

Kegiatan 5. Instalasi GvRng ... 6

Kegiatan 6. Membuat / mengedit Dunia robot Guido ... 7

Lembar Kerja Praktikum 1 ... 9

PRAKTIKUM 2 : MENGENAL GVRNG ... 11

Tujuan ... 11

Pendahuluan ... 11

Koordinat robot ... 11

Arah menghadap robot ... 12

Beeper (sumber bunyi) ... 12

Kegiatan Praktikum ... 13

Kegiatan 1. Menggerakkan robot ke depan ... 13

Kegiatan 2. Menggerakkan robot ke suatu posisi ... 13

Kegiatan 3. Menapaki jalan ... 14

Kegiatan 4. Menandai jalan dengan Beeper ... 15

©Muhammadiyah

university

Press

(7)

Kegiatan 5. Perjalanan lebih jauh ... 16

Kegiatan 6. Menelusuri hurufku ... 17

Lembar Kerja Praktikum 2 ... 18

PRAKTIKUM 3 : FUNGSI ... 21

Tujuan ... 21

Pendahuluan ... 21

Instruksi define ... 21

Indentasi dan blok ... 22

Kegunaan Fungsi ... 24

Kegiatan Praktikum ... 27

Kegiatan 1. Membuat instruksi baru ... 27

Kegiatan 2. Melakukan pekerjaan yang sama 29 Kegiatan 3. Mengelompokkan pekerjaan ... 30

Kegiatan 4. Efisien dengan fungsi ... 30

Kegiatan 5. Lagi, mengerjakan pekerjaan yang sama ... 31

Kegiatan 6. Robot yang berfungsi ... 32

Lembar Kerja Praktikum 3 ... 33

PRAKTIKUM 4 : PERULANGAN DAN PENGAMBILAN KEPUTUSAN ... 35

Tujuan ... 35

Pendahuluan ... 35

Perulangan ... 35

Pengambilan keputusan ... 37

Lebih banyak keputusan ... 42

Lebih banyak kondisi dan lebih banyak keputusan ... 43

Kegiatan Praktikum ... 44

Kegiatan 1. Perulangan ... 44

Kegiatan 2. Lagi, perulangan ... 44

Kegiatan 3. Titik api yang acak ... 45

Kegiatan 4. Harta karun di halaman ... 45

Lembar Kerja Praktikum 4 ... 47

©Muhammadiyah

university

Press

(8)

PRAKTIKUM 5 : PERULANGAN KONDISIONAL ... 49

Tujuan ... 49

Pendahuluan ... 49

Kegiatan Praktikum ... 52

Kegiatan 1. NIM dengan beeper ... 52

Kegiatan 2. Robot Line Follower ... 53

Kegiatan 3. Menutup semua pintu dan jendela 55 Kegiatan 4. Robot penjinak bom ... 56

Lembar Kerja Praktikum 5 ... 58

Contoh soal UTS dan jawaban ... 60

PRAKTIKUM 6 : DATA DAN OPERATOR ... 65

Tujuan ... 65

Pendahuluan ... 65

TIPE DATA ... 65

OPERATOR ... 70

Kegiatan Praktikum ... 75

Kegiatan 1. Identitas ... 75

Kegiatan 2. Akun ... 75

Kegiatan 3. Operator ... 76

Kegiatan 4. Tipe Data ... 77

Lembar Kerja Praktikum 6 ... 79

Kegiatan 2. Akun ... 80

Kegiatan 3. Operator ... 81

Kegiatan 4. Tipe Data ... 81

PRAKTIKUM 7 : PERULANGAN DAN PENGAMBILAN KEPUTUSAN ... 83

Tujuan ... 83

Pendahuluan ... 83

Perulangan dengan jumlah loop tertentu ... 83

Perulangan kondisional (bersyarat) ... 85

Pengambilan keputusan ... 86

Kegiatan Praktikum ... 88

©Muhammadiyah

university

Press

(9)

Kegiatan 1. Perulangan ... 88

Kegiatan 2. Password ... 88

Kegiatan 3. Ucapan selamat ... 89

Kegiatan untuk penggemar pemrograman (tidak dikumpulkan) ... 90

PRAKTIKUM 8 : FUNGSI ... 91

Tujuan ... 91

Pendahuluan ... 91

Pembuatan dan pemanggilan fungsi ... 91

Parameter atau argumen fungsi ... 93

Scope dari variabel ... 95

Modul ... 96

Kegiatan Praktikum ... 98

Kegiatan 1. Membuat modul ... 98

Kegiatan 2. Membuat fungsi ... 99

PRAKTIKUM 9 : MENGOLAH DATA PADA BERKAS 101 Tujuan ... 101

Pendahuluan ... 101

Mengolah data pada berkas teks ... 102

Mode akses ... 103

Mengolah data pada berkas biner dengan teknik Shelve ... 104

Kegiatan Praktikum ... 105

Kegiatan 1. Menulis berkas teks ... 105

Kegiatan 2. Membaca berkas teks ... 105

Kegiatan 3. Membaca data dari berkas teks dan menyimpan ke Shelve ... 106

Kegiatan 4. Membaca Shelve... 106

PRAKTIKUM 10 : TOPIK LANJUT (KOMUNIKASI JARINGAN) ... 107

Tujuan ... 107

Pendahuluan ... 107

©Muhammadiyah

university

Press

(10)

Komunikasi melalui socket ... 107

Program di sisi server ... 108

Program di sisi client. ... 109

Aplikasi client-server sebagai mesin penjawab otomatis ... 111

Kegiatan Praktikum ... 113

Kegiatan 1. Data diri dari server ... 113

Kegiatan 2. Informasi tentang server ... 114

Kegiatan 3. Menghitung luas bangun geometri 115 Kegiatan bagi penggemar pemrograman (tidak dikumpulkan) ... 116

Lembar Kerja Praktikum 10 ... 117

PRAKTIKUM 11 : TOPIK LANJUT (PROGRAM GUI) 119 Tujuan ... 119

Pendahuluan ... 119

Program berbasis GUI ... 119

Dasar pemrograman dengan Tkinter... 121

Penempatan objek pada window ... 123

Merespon terhadap berbagai kejadian ... 124

Mengakses tulisan pada widget ... 124

Daftar widget ... 125

Kegiatan Praktikum 11 ... 126

Kegiatan 1. Menampilkan data diri ... 126

Kegiatan 2. Membuat kalkulator sederhana .... 127

Kegiatan 3. Menghitung luas bangun geometri 127 Kegiatan bagi penggemar pemrograman (tidak dikumpulkan) ... 129

Lembar Kerja Praktikum 11 ... 130

PRAKTIKUM 12 : TOPIK LANJUT (LAYANAN WEB) 131 Tujuan ... 131

Pendahuluan ... 131

Akses informasi melalui web ... 131

Modul http.server ... 132

©Muhammadiyah

university

Press

(11)

Kelas SimpleHTTPRequestHandler ... 132 Kelas CGIHTTPRequestHandler ... 134 Kegiatan Praktikum ... 139

Kegiatan 1. Membuat server web dengan

SimpleHTTPRequestHandler ... 139 Kegiatan 2. Membuat halaman web dengan CGIHTTPRequestHandler ... 140 Kegiatan 3. Aplikasi web dengan CGI ... 140 Kegiatan bagi penggemar pemrograman

(tidak dikumpulkan) ... 142 Lembar Kerja Praktikum 12 ... 143

©Muhammadiyah

university

Press

(12)

PRAKTIKUM 1 :

INSTALASI DAN DASAR PROGRAM

Tujuan

Memahami cara menginstal, menjalankan dan menutup Python dan GvRng dan memahami dasar penggunaan software.

Pendahuluan

Python merupakan bahasa pemrograman yang ampuh (powerful) dan relatif mudah dimengerti.

GvRng adalah sebuah program komputer yang mensimulasikan lingkungan pemrograman sebuah robot yang bernama Guido. Program ini dapat dijalankan di Windows, Linux dan Macintosh. GvRng mempunyai aturan penulisan instruksi yang mirip dengan Python. Tampilan robot Guido sangat sederhana.

Tampilan program GvRng ketika baru dijalankan tampak seperti Gambar 1. Terdapat lima tab pada program tersebut yaitu sebagai berikut:

1. Guido’s World atau Dunia robot Guido. Tab ini berisi area yang menggambarkan posisi robot Guido dan tombol-tombol program: Reload, Step, Execute dan Abort.

2. Language reference. Tab ini berisi keterangan tentang instruksi yand dikenal oleh robot Guido.

©Muhammadiyah

university

Press

(13)

3. Introduction. Tab ini berisi keternagan singkat tentang program GvRng.

4. Code Editor. Tab ini berisi area tempat menuliskan perintah untuk robot Guido.

5. World Editor. Tab ini berisi area tempat menulis atau mengedit Dunia robot Guido Sn mengedit posisi awal robot.

Gambar 1: Tampilan awal dari window GvRng

Terdapat tiga menu utama pada program GvRng, yaitu sebagai berikut.

1. Menu GvR mempunyai dua submenu: Open WorldBuilder dan Quit. Open WorldBuilder digunakan untuk mengedit Dunia robot secara interaktif.

©Muhammadiyah

university

Press

(14)

2. Menu Setup mempunyai satu submenu: Set Speed.

Sub menu ini digunakan untuk menyetel kecepatan gerak robot.

3. Menu Help mempunyai tiga submenu: GvR Lessons, GvR WorldBuilder dan About.

Kegiatan Praktikum

„ Kegiatan 1. Instalasi Python dan IDLE di Windows

Kegiatan ini dilakukan pada sistem operasi Microsoft Windows. Jika sistem operasi Windows tidak tersedia, asisten dapat membatalkan Kegiatan 1 ini.

1. Unduh installer program Python dari website www.

Python.org, atau salin dari asisten atau temanmu.

Pastikan saudara mengunduh versi terbaru dan menggunakan IDLE sebagai lingkungan pemrograman.

2. Instal program tersebut di komputer saudara.

Buatlah screen shot dari sebuah window saat proses instalasi dan salin ke lembar kerja. Screen shot dapat dibuat dengan menekan tombol Alt dan tombol PrtScr secara bersama-sama, lalu mem- paste isi klipbord ke lembar kerja.

3. Setelah instalasi selesai, letakkan sebuah shortcut pada desktop dengan menggunakan ikon seperti Gambar 2. Buatlah screen shot dari desktop komputer saudara dan salin ke lembar kerja.

Gambar 2. Ikon dari IDLE

©Muhammadiyah

university

Press

(15)

„ Kegiatan 2. Instalasi IDLE di GNU/Linux

Python secara otomatis sudah terinstal pada sistem operasi GNU/Linux. Kegiatan ini dilakukan untuk menginstal lingkungan pemrograman IDLE. Kegiatan disarankan agar dilakukan pada sistem operasi GNU/Linux dengan menggunakan distro Ubuntu. Sebelum melakukan kegiatan ini, pastikan terdapat koneksi internet atau koneksi ke server repositori.

1. Bukalah sebuah terminal.

2. Pada terminal tersebut, berikan perintah berikut:

sudo apt-get install idle

Anda mungkin akan diminta memasukkan password saudara.

3. Buat sebuah launcher ke program IDLE pada desktop Ubuntu saudara. Pada Ubuntu dengan desktop Unity, ikon pada desktop dapat dibuat dengan mengklik ikon “Dash Home”, lalu mencari ikon IDLE dan menyeret ikon tersebut ke desktop.

4. Buatlah screen shot dari desktop komputer saudara dan salin ke lembar kerja.

„ Kegiatan 3. Menjalankan Python melalui terminal Linux

Kegiatan ini dilakukan dalam lingkungan sistem operasi GNU/Linux (disarankan menggunakan Ubuntu).

1. Buka sebuah terminal dan jalankan program Python dengan mengetikkan perintah “Python”.

Setelah Python berhasil dibuka, pada terminal akan muncul prompt “>>>” seperti terlihat pada Gambar 3. Prompt menunjukkan bahwa Python siap menerima perintah.

©Muhammadiyah

university

Press

(16)

2. Berikan perintah berikut pada terminal Python:

>>> 4 + 5

3. Berikan perintah berikut pada terminal Python:

>>> print(“Nama saya nnn”) # ganti nnn dengan nama lengkapmu

4. Berikan perintah berikut pada terminal Python:

>>> print(“NIM: nnn”) # ganti nnn dengan NIM saudara

5. Berikan perintah berikut pada terminal Python:

>>> quit()

6. Buatlah screen shot dari terminal Python setelah printah 1 – 5 selesai dikerjakan dan salin ke lembar kerja.

Gambar 3. Window Python saat dijalankan di terminal Ubuntu.

Setelah diberikan perintah Python akan muncul prompt >>> di bagian paling bawah.

©Muhammadiyah

university

Press

(17)

„ Kegiatan 4. Menjalankan Python dari IDLE 1. Klik ganda ikon IDLE pada desktop.

2. Berikan perintah berikut pada window IDLE:

>>> A = 2 + 3

3. Berikan perintah-perintah berikut pada window IDLE:

>>> B = 7+1; # di akhir perintah ada titik koma

>>> N = NIM3; # ganti NIM3 dengan tiga digit terakhir NIM

>>> L = N + 100;

>>> print(L);

4. Buatlah screen shot dari window IDLE setelah perintah 1 – 3 selesai dikerjakan dan salin ke lembar kerja. Setelah itu, window IDLE dapat ditutup.

„ Kegiatan 5. Instalasi GvRng

GvRng adalah sebuah program komputer yang mensimulasikan lingkungan pemrograman sebuah robot bernama Guido. Program ini dapat dijalankan di Windows, Linux dan Macintosh, namun kegiatan praktikum ini diuji dan dilakukan dalam lingkungan GNU/Linux.

1. Buka sebuah terminal dan ketikkan perintah berikut:

sudo apt-get install gvrng

Anda mungkin akan diminta memasukkan password saudara. Pastikan bahwa koneksi internet tersedia.

©Muhammadiyah

university

Press

(18)

2. Masih pada terminal yang sama, ketikkan perintah berikut:

sudo chmod +x /usr/share/GvRng/gvrng.py

3. Letakkan sebuah launcher pada desktop komputer saudara.

4. Buatlah screen shot dari desktop saudara dan salin ke lembar kerja.

„ Kegiatan 6. Membuat / mengedit Dunia robot Guido

1. Klik ganda ikon GvRng yang terdapat pada desktop atau ketik “gvrng” pada sebuah terminal GNU/Linux. Jika instalasi benar, maka akan tampil window seperti pada Gambar 1.

2. Carilah menu “GvR” dan klik, kemudian klik submenu “Open WorldBuilder”. Window GvRng akan menampilkan Dunia bagi robot Guido. Robot disimbolkan secara sederhana dengan bentuk segitiga dengan huruf G di dalamnya.

3. Cobalah mengklik lokasi-lokasi di antara titik-titik yang ada di Dunia robot. Saudara dapat membuat garis-garis di antara titik-titik tersebut atau menghilangkan garis yang ada.

4. Buatlah garis-garis sehingga membentuk huruf awal (inisial) nama saudara. Kemudian klik tombol

“Abort”. Sebagai contoh mas Xeno telah membuat garis-garis yang membentuk huruf awal namanya yaitu X seperti pada Gambar 4.

5. Buatlah screen shot dari window GvRng saudara dan salin ke lembar kerja.

©Muhammadiyah

university

Press

(19)

Dunia robot Guido dapat disimpan dengan cara berikut:

tutup window GvRng, saudara akan diminta konfirmasi apakah akan menyimpan isi “World Editor”. Selain itu, isi

“World Editor” dapat dikopi paste ke editor lain dan kemudian disimpan sebagai sebuah file.

Gambar 4. Contoh bentuk Dunia robot GvRng

©Muhammadiyah

university

Press

(20)

Lembar Kerja Praktikum 1

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 screen shot dari window pada saat saya melakukan instalasi:

Berikut adalah screen shot dari desktop komputer saya setelah proses instalasi selesai:

Kegiatan 2.

Berikut adalah screen shot dari desktop komputer saya setelah proses instalasi IDLE pada Ubuntu saya:

Kegiatan 3.

Berikut adalah screen shot dari terminal Python setelah langkah 1 – 5 selesai dikerjakan.

Kegiatan 4.

Berikut adalah screen shot dari window IDLE setelah langkah 1 – 3 selesai dikerjakan.

©Muhammadiyah

university

Press

(21)

Kegiatan 5.

Berikut adalah screen shot dari desktop Ubuntu saya setelah instalasi GvRng.

Kegiatan 6.

Berikut adalah screen shot dari window GvRng setelah langkah 1 – 4 selesai dikerjakan.

©Muhammadiyah

university

Press

(22)

PRAKTIKUM 2 :

MENGENAL GVRNG

Tujuan

Memahami cara memprogram robot, menggunakan instruksi-instruksi gerakan dan menapaki jalan.

Pendahuluan

Sebelum membuat program untuk robot Guido pada program GvRng, perlu diketahui beberapa istilah yang dikenal dalam program tersebut.

„ Koordinat robot

Robot Guido bergerak selangkah demi selangkah.

Posisi robot berada pada koordinat tertentu. Posisi paling kiri bawah adalah koordinat 1 1. Posisi di sebelah kanan dari koordinat 1 1 adalah koordinat 2 1. Posisi di atas koordinat 1 1 adalah koordinat 1 2.

Jika saudara baru menjalankan program GvRng, cobalah memilih menu “GvR” dan submenu “Open WorldBuilder”. Saudara akan melihat robot Guido di Dunia robot. Cobalah klik tab “World Editor”, saudara akan melihat sebuah kode terkait posisi robot, misalnya:

robot 1 1 E 0

Kode di atas berarti bahwa robot berada pada koordinat 1 1.

Cobalah ubah kode tersebut menjadi:

©Muhammadiyah

university

Press

(23)

robot 5 2 E 0

kemudian klik rombol “Reload”, saudara akan melihat posisi robot akan berubah ke koordinat 5 2. Angka pertama pada koordinat robot menunjukkan posisi horisontal dan angka kedua menunjukkan posisi vertikal.

„ Arah menghadap robot

Robot Guido dapat disetel menghadap ke utara (North), timur (East), selatan (South) atau barat (West). Keempat arah tersebut sesuai dengan posisi mata angin pada peta standar dan masing-masing posisi disimbolkan dengan huruf N, E, S dan W.

Gambar 5. Simbol arah menghadap robot

Cobalah mengubah kode pada World Editor sehingga terdapat kode berikut:

robot 5 2 N 0

kemudian klik rombol “Reload”, saudara akan melihat robot menghadap ke utara.

„ Beeper (sumber bunyi)

Robot Guido mempunyai sebuah tas yang dapat digunakan membawa Beeper. Beeper merupakan gadget yang dapat mengeluarkan suara. Jika robot Guido berada di dekat Beeper, maka robot dapat mendengar suara tersebut.

Guido dapat membawa banyak Beeper di kantongnya.

Angka terakhir pada kode berikut:

robot 5 2 N 4

©Muhammadiyah

university

Press

(24)

berarti bahwa robot Guido menempati koordinat 5 2, menghadap utara dan membawa empat buah Beeper.

Kegiatan Praktikum

„ Kegiatan 1. Menggerakkan robot ke depan

1. Jalankan program GvRng. Pada saat program baru dijalankan, robot berada pada koordinat 1 1 dan menghadap ke timur.

2. Ketikkan perintah berikut pada tab “Code Editor”:

move move turnoff

3. Klik tombol “Execute”.

4. Pada lembar kerja, tuliskan apa yang terjadi dan tuliskan koordinat robot sekarang.

5. Buat screen shot dari window GvRng dan salin ke lembar kerja.

„ Kegiatan 2. Menggerakkan robot ke suatu posisi 1. Klik tombol “Reload” dan hapus semua kode

program pada tab “Code Editor”.

2. Buatlah program untuk menggerakkan robot ke koordinat 3 4 dan robot menghadap ke timur.

Perhatikan bahwa robot akan menghadap ke kiri jika diberi perintah turnleft, tapi tidak ada perintah khusus untuk membuat robot menghadap ke kanan.

3. Ujilah program saudara dengan mengklik tombol

“Execute”.

4. Buat screen shot dari window GvRng dan salin ke lembar kerja.

©Muhammadiyah

university

Press

(25)

„ Kegiatan 3. Menapaki jalan

1. Buatlah Dunia robot dengan bentuk seperti pada Gambar 6. Caranya adalah dengan mengklik menu

“Open WorldBuilder”, kemudian mengklik ruang di antara titk-titik sehingga membentuk garis. Setelah itu klik tab “World Editor”. Pastikan pada baris pertama terdapat kode:

robot 1 3 E 0

Kode itu berarti bahwa robot diletakkan di koordinat 1 3, menghadap ke timur (East) dan tidak membawa Beeper.

2. Klik tab “Code Editor” dan tuliskan perihtah berikut:

move move move turnleft move move turnleft turnleft turnoff

3. Klik tombol “Execute”. Tuliskan pada lembar kerja, apa yang dilakukan robot. Tuiskan juga posisi robot sekarang dan ke mana robot menghadap.

©Muhammadiyah

university

Press

(26)

Gambar 6. Dunia robot untuk kegiatan 3 Praktikum 2

„ Kegiatan 4. Menandai jalan dengan Beeper

1. Gunakan Dunia robot dengan bentuk seperti pada Gambar 6. Kali ini, robot diminta menandai jalan yang dilalui dengan Beeper. Pada saat awal, robot membawa 4 buah Beeper di kantongnya. Untuk itu, pada World Editor pastikan terdapat kode berikut:

robot 1 3 E 4

Kode itu berarti bahwa robot berada pada koordinat 1 3, menghadap ke timur dan membawa 4 buah Beeper.

2. Tuliskan perintah berikut pada tab “Code Editor”:

move putbeeper

©Muhammadiyah

move

university

Press

(27)

putbeeper move putbeeper turnleft move putbeeper move turnoff

3. Klik tombol “Execute”. Tuliskan pada lembar kerja, apa yang dilakukan robot. Tuliskan juga posisi robot sekarang dan ke mana robot menghadap.

„ Kegiatan 5. Perjalanan lebih jauh

1. Buatlah Dunia robot seperti terlihat pada Gambar 7. Pastikan robot menghadap ke arah jalan masuk dan membawa 3 buah Beeper di kantongnya.

2. Pada “Code Editor” ketiklah sebuah program agar robot masuk ke jalan, menapaki seluruh bagian jalan sampai keluar. Di setiap sudut jalan, robot harus meletakkan sebuah Beeper. Gunakan perintah- perintah move, turnleft, putbeeper dan turnoff.

3. Klik tombol “Execute”.

4. Buatlah screen shot dari window GvRng dan salin ke lembar kerja.

©Muhammadiyah

university

Press

(28)

Gambar 7. Dunia robot untuk kegiatan 5 Praktikum 2

„ Kegiatan 6. Menelusuri hurufku

1. Buatlah Dunia robot yang berbentuk huruf inisial nama saudara. Lihat kembali kegiatan 6 Praktikum 1 sebagai rujukan.

2. Sebagai posisi awal, letakkan robot di salah satu sudut di dalam huruf. Jika bentuk huruf tidak berujung (seperti huruf O), letakkan di sembarang posisi di dalam huruf.

3. Buatlah sebuah program agar robot bergerak menelusuri semua bagian huruf dan kembali ke posisi semula. Pada seluruh bagian jalan yang dilalui robot, letakkan sebuah Beeper.

4. Klik tombol “Execute”. Buatlah screen shot dari window GvRng dan salin ke lembar kerja.

©Muhammadiyah

university

Press

(29)

Lembar Kerja Praktikum 2

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.

Yang terjadi setelah tombol “Execute” ditekan:

Koordinat robot sekarang:

Berikut adalah screen shot dari window GvRng setelah tombol “Execute” ditekan:

Kegiatan 2.

Berikut adalah screen shot dari window GvRng setelah tombol “Execute” ditekan:

Kegiatan 3.

Yang dilakukan robot setelah tombol “Execute” ditekan:

Koordinat robot sekarang:

Kegiatan 4.

Yang dilakukan robot setelah tombol “Execute” ditekan:

Koordinat robot sekarang:

©Muhammadiyah

university

Press

(30)

Kegiatan 5.

Berikut adalah screen shot dari window GvRng setelah tombol “Execute” ditekan:

Kegiatan 6.

Berikut adalah screen shot dari window GvRng setelah tombol “Execute” ditekan:

©Muhammadiyah

university

Press

(31)

©Muhammadiyah

university

Press

(32)

PRAKTIKUM 3 :

FUNGSI

Tujuan

Memahami cara membuat instruksi baru (dalam bentuk fungsi)

Pendahuluan

Robot Guido mengenali sebuah syntax (yaitu instruksi dan aturan penulisannya) yang dapat digunakan untuk membuat instruksi baru atau mengelompokkan instruksi-instruksi menjadi satu instruksi baru.

„ Instruksi define

Instruksi define digunakan untuk membuat instruksi baru berdasarkan instruksi yang ada/dikenal. Cara penulisannya adalah sebagai berikut:

define instruksiBaru:

instruksi instruksi ...

Guido hanya mengenali perintah menghadap ke kiri, dan tidak mengenal perintah untuk mengahadap ke kanan.

Instruksi define dapat dipakai membuat instruksi baru untuk Guido agar bisa menghadap ke kanan, sebagai berikut.

©Muhammadiyah

university

Press

(33)

define turnright:

turnleft turnleft turnleft

Guido akan menghadap ke kanan, jika diperintah untuk menghadap ke kri tiga kali!

„ Indentasi dan blok

Program pada GvRng menggunakan indentasi untuk mengelompokkan perintah-perintah. Kelompok perintah dalam program disebut juga blok. Misalnya pada instruksi define turnright: di atas, tiga buah perintah turnleft dibuat menjorok ke dalam (indentasi) sebagai tanda bahwa ketiga instruksi tersebut merupakan satu kelompok atau satu blok.

1 define instruksiBaru:

2 instruksi #instruksi ini ditulis menjorok ke dalam

3 instruksi #instruksi ini ditulis menjorok ke dalam

4 ... #instruksi ini ditulis menjorok ke dalam

Contoh 1

Pada Gambar 8 terdapat Dunia robot dan jalan berbentuk U terbalik dan pada Program 1 terdapat instruksi agar robot bergerak menelusuri jalan. Setelah Program 1 dijalankan, Dunia robot akan tampak seperti Gambar 9.

©Muhammadiyah

university

Press

(34)

Gambar 8. Dunia robot untuk contoh 1 Praktikum 3

Gambar 9. Program dan screen shot GvRng setelah program dijalankan

©Muhammadiyah

university

Press

(35)

1 define turnright:

2 turnleft 3 turnleft 4 turnleft 5 move

6 move 7 move 8 turnright 9 move 10 move 11 move 12 turnright 13 move 14 move 15 move 16 turnoff

Program 1: Program untuk contoh 1 Praktikum 3

„ Kegunaan Fungsi

Instruksi define pada program GvRng digunakan untuk membuat instruksi baru. Baris 1 – 4 pada Program 1 disebut sebuah Fungsi (Function). Baris 1 merupakan bagian deklarasi Fungsi dan baris 2 – 4 merupakan isi dari Fungsi.

Dalam pemrograman, Fungsi dapat digunakan untuk:

1. membuat instruksi baru yang belum ada,

2. mengelompokkan beberapa instruksi yang sering dikerjakan berulang sehingga meringkas jumlah baris program, atau

3. mengelompokkan beberapa instruksi yang secara logika mengerjakan satu pekerjaan tertentu sehingga program menjadi terlihat lebih rapi.

©Muhammadiyah

university

Press

(36)

Program 1 di atas memperlihatkan bagaimana sebuah Fungsi dibuat sehingga instruksi yang belum ada menjadi tersedia. Diperlukan 16 baris instruksi untuk membuat program tersebut. Jika diperhatikan terdapat kumpulan instruksi berulang, misalnya baris 5 – 7, baris 9 – 11 dan baris 13 – 15. Kumpulan instruksi yang berulang dapat dikelompokkan menjadi sebuah Fungsi.

Program 2 di bawah ini melakukan pekerjaan yang sama dengan Program 1. Program 2 mempunyai dua buah Fungsi. Fungsi hadapkanan (baris 1 – 4) dibuat sebagai instruksi baru karena robot tidak mempunyai instruksi khusus untuk melakukan pekerjaan menghadap ke kanan. Fungsi gerak3langkah (baris 5 – 8) berguna untuk mengelompokkan baris-baris instruksi yang sering dijalankan, yaitu 3 buah instruksi move. Program 2 mempunyai instruksi yang lebih sedikit dibanding Program 1.

1 define hadapkanan:

2 turnleft 3 turnleft 4 turnleft

5 define gerak3langkah:

6 move 7 move 8 move

9 gerak3langkah 10 hadapkanan 11 gerak3langkah 12 hadapkanan 13 gerak3langkah 14 turnoff

Program 2: Program lain untuk contoh 1 Praktikum 3

©Muhammadiyah

university

Press

(37)

Contoh 2

Kegunaan lain dari Fungsi adalah mengelompokkan instruksi-instruksi yang mengerjakan satu pekerjaan logika tertentu. Misalkan mas Xeno adalah alumni Teknik Informatika UMS dan mempunyai NIM L200070819.

mas Xeno mencoba membuat sebuah program agar robot menuliskan tiga digit terakhir NIM-nya dengan menggunakan 38 buah Beeper. Berikut pada Gambar 10 adalah screen shot Dunia robot setelah program dijalankan, sedangkan Program 3 merupakan template dari program yang dibuat mas Xeno.

Pekerjaan menulis angka dilakukan dengan fungsi yang berbeda-beda. Ada fungsi untuk menulis angka 8, fungsi untuk menulis angka 1 dan fungsi untuk menulis angka 9. Pengelompokan instruksi tersebut menjadikan program mudah dicermati dan diuji. Satu per satu fungsi dapat dibuat secara bertahap, kemudian diuji, lalu ditambahkan fungsi lain, lalu diuji dan seterusnya.

Pada program mas Xeno, fungsi tulis8 terdiri atas 55 baris instruksi, fungsi tulis9 mempunyai 46 baris instruksi dan fungsi tulis1 dibuat dengan 33 baris

Gambar 10. Screen shot Dunia robot setelah program pada contoh 2 dijalankan; Program tersebut mempunyai 138 baris

instruksi

©Muhammadiyah

university

Press

(38)

1 ..

2 ..

3 define tulis8:

4 ...

5 ...

6 define tulis9:

7 ...

8 ...

9 define tulis1:

10 ...

11 ...

12 tulis8 13 tulis1 14 tulis9 15 turnoff

Program 3: Template program untuk contoh 2 Praktikum 3 Catatan. Setiap bahasa pemrograman mempunyai suatu cara untuk membuat Fungsi. Python menggunakan instruksi def dengan cara yang mirip dengan program GvRng.

Kegiatan Praktikum

„ Kegiatan 1. Membuat instruksi baru

1. Buatlah Dunia robot Guido seperti pada Gambar 11.

2. Pada Program 4 terdapat program yang dibuat oleh mas Xeno agar robot menyusuri dinding dari sisi kiri.

3. Ubahlah program tersebut agar jumlah instruksi menjadi lebih sedikit. Gunakan fungsi hadapkanan seperti pada Program 2 untuk program saudara.

4. Tuliskan kode program saudara pada lembar kerja (tidak boleh lebih dari 2

©Muhammadiyah

university

Press

(39)

Gambar 11. Dunia robot untuk kegiatan 1 Praktikum 3 1 move

2 move 3 move 4 move 5 turnleft 6 turnleft 7 turnleft 8 move 9 move 10 move 11 turnleft 12 turnleft 13 turnleft 14 move 15 move 16 turnleft 17 turnleft 18 turnleft

©Muhammadiyah

university

Press

(40)

19 move 20 turnleft 21 turnleft 22 turnleft 23 move 24 turnoff

Program 4. keg 1

„ Kegiatan 2. Melakukan pekerjaan yang sama 1. Menggunakan Dunia robot seperti pada Gambar

11, buatlah program agar robot meletakkan sebuah Beeper pada setiap sudut. Setelah program dijalankan, Dunia robot akan tampak seperti Gambar 12. Program saudara tidak boleh lebih dari 19 baris.

2. Tuliskan program saudara pada lembar kerja.

Gambar 12. Dunia robot pada kegiatan 2 Praktikum 3 setelah program dijalankan

©Muhammadiyah

university

Press

(41)

„ Kegiatan 3. Mengelompokkan pekerjaan

1. Buatlah program untuk menuliskan tiga digit terakhir NIM saudara dengan cara yang mirip dengan yang dilakukan mas Xeno (yang dibahas pada contoh 2 penjelasan praktikum ini).

2. Tuliskan jumlah Beeper yang saudara butuhkan dan jumlah baris program saudara.

3. Buatlah screen shot dari window GvRng setelah program dijalankan dan salin ke lembar kerja.

„ Kegiatan 4. Efisien dengan fungsi

1. Buatlah program menggunakan template pada Program 3 (yang dibahas pada contoh 2). Program tersebut mempunyai tiga buah Fungsi, dan menulis angka 819 menggunakan 38 buah Beeper.

2. Tuliskan pada lembar kerja, jumlah baris program yang saudara butuhkan untuk menyelesaikan pekerjaan tersebut.

3. Mas Xeno membutuhkan 138 baris instruksi dalam programnya. Jumlah baris instruksi dalam program tersebut dapat dikurangi. Jika mas Xeno menggunakan fungsi hadapkanan seperti pada Program 2, jumlah baris program berkurang menjadi 136. Gunakan fungsi hadapkanan pada program saudara dan tuliskan jumlah baris instruksi program saudara pada lembar kerja.

4. Gunakan fungsi berikut dalam program saudara:

define gerakLetak:

move putbeeper

©Muhammadiyah

university

Press

(42)

Tuliskan pada lembar kerja jumlah baris instruksi pada program saudara.

5. Buatlah screen shot dari window GvRng setelah program dijalankan dan salin ke lembar kerja.

„ Kegiatan 5. Lagi, mengerjakan pekerjaan yang sama

1. Buatlah program agar robot memasuki area kotak seperti pada Gambar 13, dan meletakkan sebuah beeper pada setiap sudut kotak. Sebelum program berjalan, robot menghadap ke utara dan membawa 4 beeper. Setelah program berjalan, robot menghadap ke selatan.

2. Tuliskan program saudara pada lembar kerja.

Catatan: program dapat dibuat dengan 16 instruksi.

Saudara diperkenankan membuat program dengan maksimal 20 instruksi.

(a) (b)

Gambar 13. Dunia robot untuk kegiatan 5 Praktikum 3: (a) sebelum program berjalan, (b) setelah program berjalan

©Muhammadiyah

university

Press

(43)

„ Kegiatan 6. Robot yang berfungsi

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

6 move 7 move 8 move 9 turnright 10 do 3:

11 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

(49)

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

14. not_facing_south 15. facing_east 16. not_facing_east 17. facing_west 18. not_facing_west

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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

(65)

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

(66)

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

Gambar

Gambar 1: Tampilan awal dari window GvRng
Gambar 3. Window Python saat dijalankan di terminal Ubuntu.
Gambar 4.  Contoh bentuk Dunia robot GvRng
Gambar 6. Dunia robot untuk kegiatan 3 Praktikum 2
+7

Referensi

Dokumen terkait

Karena dari 3 (tiga) variabel bebas signifikan semua terhadap kualitas pelayanan publik, dan yang paling signifikan adalah variabel kompensasi dengan nilai t hitung

Tujuan dari penelitian ini adalah untuk mengetahui tanaman upakara yang digunakan sebagai elemen lunak taman pekarangan rumah di Kecamatan Payangan, Kabupaten Gianyar,

Oleh karena itu, dalam menetapkan biaya pendidikan perlu di dukung dengan data dan informasi mengenai siapa yang harus dididik, berapa jumlah yang harus dididik, tujuan

The researcher presents her deep gratitude to Allah who gives her a great power in accomplishing her skripsi entitled “The Perception of Plagiarism and

Berdasarkan variabel pembentuknya, membaiknya kondisi ekonomi konsumen pada triwulan IV-2012 didorong oleh ketiga faktor pembentuknya yaitu pendapatan rumah tangga saat ini

Dalam penelitian, observasi dikelompokkan sebagai penelitian ilmiah apabila observasi tersebut secara khusus dirancang untuk menjawab sebuah

[r]

Jenis data pada regresi linier ganda untuk variabel dependen harus numerik, sedangkan untuk. variabel independen boleh semuanya numerik atau campuran numerik