Algoritma Dan Pemrograman
Algoritma Dan Pemrograman
Copyright © 2019
Direktorat Pembinaan Guru Pendidikan Dasar
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan dan Kebudayaan
KATA SAMBUTAN
Puji syukur kita panjatkan ke hadirat Allah SWT, Tuhan YME, karena atas izin
dan karunia-Nya Unit Pembelajaran Program Pengembangan Keprofesian
Berkelanjutan melalui Peningkatan Kompetensi Pembelajaran Berbasis
Zonasi ini dapat diselesaikan.
iii
Pembelajaran Berbasis Zonasi lebih berfokus pada upaya memintarkan
peserta didik melalui pembelajaran berorientasi keterampilan berpikir
tingkat tinggi. Berbasis zonasi ini dilakukan mengingat luasnya wilayah
Indonesia. Zonasi diperlukan guna memperhatikan keseimbangan dan
keragaman mutu pendidikan di lingkungan terdekat, sehingga peningkatan
pendidikan dapat berjalan secara masif dan tepat sasaran.
iv
Paket Unit Pembelajaran
Algoritma dan Pemrograman
KATA PENGANTAR
v
Untuk meningkatkan efisiensi, efektivitas, serta pemerataan mutu pendidikan,
maka pelaksanaan Program PKP mempertimbangkan pendekatan
kewilayahan, atau dikenal dengan istilah zonasi. Melalui langkah ini,
pengelolaan Pusat Kegiatan Guru (PKG) TK, kelompok kerja guru (KKG) SD
dan musyawarah guru mata pelajaran (MGMP) SMP yang selama ini dilakukan
melalui Gugus atau Rayon dalam zonasinya, dapat terintegrasi melalui zonasi
pengembangan dan pemberdayaan guru. Zonasi memperhatikan
keseimbangan dan keragaman mutu pendidikan di lingkungan terdekat,
seperti status akreditasi sekolah, nilai kompetensi guru, capaian nilai rata-rata
UN/USBN sekolah, atau pertimbangan mutu lainnya.
Praptono
vi
Paket Unit Pembelajaran
Algoritma dan Pemrograman
DAFTAR ISI
Hal
vii
Unit Pembelajaran
PROGRAM PENGEMBANGAN KEPROFESIAN BERKELANJUTAN (PKB)
MELALUI PENINGKATAN KOMPETENSI PEMBELAJARAN (PKP)
BERBASIS ZONASI
ALGORITMA
Penulis:
NURUL HAYATI
Copyright © 2019
Direktorat Pembinaan Guru Pendidikan Dasar
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan dan Kebudayaan
DAFTAR ISI
Hal
DAFTAR ISI_______________________________________________________ 11
DAFTAR GAMBAR _________________________________________________ 12
DAFTAR TABEL ___________________________________________________ 13
PENGANTAR _____________________________________________________ 15
KOMPETENSI DASAR _____________________________________________ 17
A. Kompetensi Dasar dan Target Kompetensi ______________________________ 17
B. Indikator Pencapaian Kompetensi ________________________________________ 18
APLIKASI DI DUNIA NYATA _________________________________________ 20
A. Games atau Permainan _____________________________________________________ 20
BAHAN PEMBELAJARAN ___________________________________________ 24
A. Aktivitas Pembelajaran ____________________________________________________ 24
Aktivitas 1 Pemrograman Visual Scratch 2.0 (online editor) ___________________ 24
Aktivitas 2 Pemrograman Visual Scratch 2.0 (offline editor) ___________________ 32
B. Lembar Kerja Peserta Didik _______________________________________________ 38
Lembar Kerja 1 ______________________________________________________________________ 38
Lembar Kerja 2 ______________________________________________________________________ 40
C. Bahan Bacaan _______________________________________________________________ 42
1. Sejarah Algoritma dan Logika _____________________________________________ 42
2. Definisi Algoritma __________________________________________________________ 43
3. Dasar Penyusunan Algoritma _____________________________________________ 44
4. Penulisan Algoritma _______________________________________________________ 44
4.1. Kalimat Deskriptif __________________________________________________________ 45
4.2. Flowchart (Diagram alur) _________________________________________________ 46
5. Ilustrasi Pemahaman Algoritma __________________________________________ 47
6. Pemrograman Visual Scratch 2.0 _________________________________________ 50
6.1. Asal mula Scratch __________________________________________________________ 50
6.2. Pencipta Scratch ____________________________________________________________ 50
6.3. Segment Pengguna Scratch ________________________________________________ 51
6.4. Cara Kerja Scratch __________________________________________________________ 51
11
6.5. Bahasa _______________________________________________________________________ 51
7. Komposisi Scratch 2.0 ______________________________________________________ 52
8. Antarmuka Scratch 2.0 _____________________________________________________ 52
9. Scratch Blocks ______________________________________________________________ 55
9.1. Gerakan (motion) ___________________________________________________________ 55
9.2. Tampilan (looks)____________________________________________________________ 56
9.3. Suara(sounds) _______________________________________________________________ 57
9.4. Pena(pen) ___________________________________________________________________ 59
9.5. Data __________________________________________________________________________ 59
9.6. Kejadian (events) ___________________________________________________________ 60
9.7. Kontrol (control) ___________________________________________________________ 61
9.8. Sensor (sensing) ____________________________________________________________ 62
9.9. Operator (operator) ________________________________________________________ 64
9.10. Blok Lainnya ________________________________________________________________ 64
10. Algoritma Scratch __________________________________________________________ 65
Posisi Scratch ________________________________________________________________________ 66
Arah Scratch _________________________________________________________________________ 67
DAFTAR GAMBAR
Hal
12
Unit Pembelajaran
ALGORITMA
DAFTAR TABEL
Hal
13
Tabel 12 Blocks Kontrol (control) _______________________________________________ 62
Tabel 13 Blocks Sensor (sensing) ________________________________________________ 63
Tabel 14 Blocks Operator (operator) ___________________________________________ 64
Tabel 15 Blocks Lainnya (more block) __________________________________________ 65
14
Unit Pembelajaran
ALGORITMA
PENGANTAR
Berdasarkan Permendikbud RI Nomor 37 tahun 2018 tentang Perubahan atas
Permendikbud Nomor 24 tahun 2016 tentang KI-KD Pelajaran pada
Kurikulum 2013 pada Pendidikan Dasar dan Pendidikan Menengah. Dalam
permendikbud tersebut diatur kedudukan mata pelajaran informatika pada
jenjang SMP/MTsN, SMA/MAN dapat dilaksanakan melalui tatap muka. Mata
pelajaran informatika bukan merupakan mata pelajaran wajib bagi satuan
pendidikan jenjang SMP/MTsN/SMA/MAN akan tetapi dikondisikan pada
satuan pendidikan akan ketersediaan tenaga pengajar dan sarana pendukung
yang memungkinkan diajarkannya mata pelajaran informatika.
Oleh karena itu, subunit ini disusun sebagai salah satu alternatif sumber bahan
ajar bagi guru untuk memahami topik pemrograman. Melalui pembahasan
materi yang terdapat pada subunit ini, guru dapat memiliki dasar pengetahuan
untuk mengajarkan materi yang sama ke peserta didiknya yang disesuaikan
dengan indikator yang telah disusun, terutama dalam memfasilitasi
kemampuan bernalar peserta didik. Selain itu, materi ini juga aplikatif untuk
guru sendiri sehingga guru dapat menerapkannya dalam kehidupan sehari-
hari.
15
program visual dari demo dan tutorial, memahami struktur algoritma di
lingkungan pemrograman visual Scratch 2.0 sekaligus mendorong peserta
didik mengasah dan meningkatkan kreatifitas mereka dalam belajar
matematika dan konsep komputer, logika dan algoritma, penalaran atau
berfikir komputasional, pemecahan masalah serta kemampuan berkolaborasi.
Model yang digunakan dalam aktivitas pembelajaran ini adalah model
Problem-based Learning (PBL) dengan sintaks orientasi peserta didik pada
masalah; mengorganisasikan peserta didik untuk belajar; membimbing
penyelidikan individu maupun kelompok;mengembangkan dan menyajikan
hasil karya, menganalisis dan mengevaluasi proses pemecahan masalah.
Topik pemrograman pada bahan bacaan terdiri atas sejarah algoritma dan
logika; definisi algoritma; dasar penyusunan algoritma; penulisan
algoritma;Illustrasi pemahaman algoritma;pemrograman visual Scratch 2.0
dan algoritma Scratch.
16
Unit Pembelajaran
ALGORITMA
KOMPETENSI DASAR
17
B. Indikator Pencapaian Kompetensi
18
Unit Pembelajaran
ALGORITMA
19
APLIKASI DI DUNIA NYATA
20
Unit Pembelajaran
ALGORITMA
Tapi apakah kalian tahu bagaimana dalam membuat suatu Game atau
permainan yang dapat kita mainkan di gadget ?. Apakah kalian tahu bahwa
dalam membuat suatu Game atau permainan diperlukan suatu algoritma ?,
Kira-kira dalam membuat Game atau permainan dibagian manakah algoritma
itu diperlukan?.
Game komputer yang dapat kita mainkan adalah salah satu bentuk
pemrograman visual yang menggunakan desain antar muka (grapihcs) untuk
menarik para penggunanya. Untuk itu dalam membuat suatu Game diperlukan
suatu alur yang nyata (logis) yang disusun secara sistematis agar Game atau
permainan yang dibuat dapat dimengerti oleh akal atau pikiran manusia dan
manusia sebagai penggunanya dapat menentukan Game yang dimainkan salah
atau benar.
Agar lebih memudahkan kita tentang algoritma, mari kita lihat dari contoh
permainan Cut the rope. Cut the rope adalah seri permainan fisika berbasis
permainan video teka-teki yang dikembangkan oleh ZeptoLab untuk beberapa
platform dan perangkat gadget. Dalam permainan ini tokoh animasinya adalah
Om Nom (si katak berwarna hijau), seperti nama Game-nya , dalam permainan
ini pemain (players) perlu memotong tali yang terdapat permen yang terikat
21
dan kita harus membantu Om Nom agar permen tersebut dapat tepat jatuh
atau masuk kedalam mulutnya untuk dimakan. Sehingga kita harus
memperhatikan arah atau ayunan tali sebelum memotong agar tepat sasaran.
1. Mulai
2. Permen menggantung oleh satu atau beberapa tali.
3. Pemain harus memotong tali-tali memperhatikan arah ayunan tali.
4. Jika arah ayunan tepat;
5. Kemudian potong;
6. Selain itu gagal;
7. Jika permen tidak dimakan laba-laba atau duri;
8. maka gagal;
9. Kemudian permen masuk kedalam mulut Om Nom;
10. Hitung jumlah bintang yang terkumpul;
11. Jika jumlah waktu penyelesaian cepat;
12. Maka mendapat point;
13. Berhasil ke level selanjutnya;
14. Berhenti.
22
Unit Pembelajaran
ALGORITMA
Apa yang kalian fikirkan ketika melihat alur atau langkah-langkah dalam
permainan Cut the rope diatas ?. Pastinya langkah-langkah diatas dapat
dimengerti oleh logika kalian untuk bagaimana memainkan permainan
tersebut. Langkah-langkah instruksi dalam menyelesaikan suatu permainan
seperti cut the rope diatas disebut algoritma. Di dalam dunia komputer,
programmer menulis algoritma diatas sebagai instruksi kepada komputer
untuk menjalankan setiap langkah-langkah diatas.
23
BAHAN PEMBELAJARAN
A. Aktivitas Pembelajaran
Aktivitas belajar melibatkan indera-indera atau sensor dan alat yang dimiliki
manusia untuk melakukan sesuatu. Indera-indera tersebut antara lain
meliputi indera penglihatan (visual), pendengaran (listening), berbicara (oral),
seluruh aktivitas fisik lain serta mental dan emosi.
24
Unit Pembelajaran
ALGORITMA
25
b. Ikutilah dan selesaikanlah
masalah yang pada
petunjuk kerja;
c. Diskusikan dengan
kelompokmu;
d. Tuliskan hasil diskusi
kelompok pada kertas
plano dalam format lembar
kerja 1 yang ada;
e. Paparkan/presentasikan
hasil diskusi setiap
kelompok di depan kelas.
Mengorganisasikan 1. Guru memastikan setiap 2.1. Peserta didik berdiskusi dan “disesuaikan”
peserta didik untuk peserta didik/anggota membagi tugas untuk
belajar kelompok memahami menyelesaikan persoalan
tugas masing-masing berdasarkan instruksi yang
kelompok yang harus diberikan.
diselesaikan; 2.2. Peserta didik bertanya
2. Guru memberikan kepada guru tentang
kesempatan kepada tentang hal yang belum
peserta didik untuk dipahami peserta didik
bertanya; terkait instruksi yang
3. Guru membagikan bahan diberikan.
bacaan terkait aktivitas 2.3. Masing-masing kelompok
yang telah disiapkan membaca bahan bacaan
kepada peserta didik. yang telah disiapkan.
26
Unit Pembelajaran
ALGORITMA
27
PETUNJUK AKTIVITAS 1 (UNTUK GURU)
28
Unit Pembelajaran
ALGORITMA
29
5. Agar peserta didik dapat membuat, menyimpan dan membagikan file hasil
kerjanya secara online pada pemrograman Scratch 2.0. Guru diminta men-
demo-kan cara membuat akun pada menu bergabung dengan Scratch (join
Scratch) yang ditunjukkan pada gambar 5 dibawah ini:
Ikuti setiap langkah pembuatannya, kemudian masuk (sign in) dengan nama akun
yang telah dibuat.
30
Unit Pembelajaran
ALGORITMA
31
Aktivitas 2 Pemrograman Visual Scratch 2.0 (offline editor)
Orientasi peserta 1. Mengkondisikan dan memastikan 1.1. Bersiap untuk mengikuti “disesuaikan”
didik pada masalah kesiapan peserta untuk mengikuti aktivitas pembelajaran.
aktivitas pembelajaran; 1.2. Peserta didik berdoa dan
2. Guru mengajak peserta didik berdoa lanjut menyanyikan salah
dilanjutkan dengan menyanyikan satu lagu wajib nasional.
salah satu lagu wajib nasional; 1.3. Peserta didik melihat dan
3. Guru menjelaskan dan men-demo- mengamati demo yang
kan pemrograman visual (Scratch ditayangkan.
2.0) melalui menu tips di offline 1.4. Peserta didik membentuk
editor berdasarkan Instruksi aktivitas kelompok sesuai arahan
2 untuk guru (terlampir); guru.
4. Guru menugaskan siswa agar 1.5. Peserta didik
membentuk kelompok sebanyak 4-6 menyelesaikan
kelompok; permasalahan
5. Guru menyampaikan tugas yang akan berdasarkan pertanyaan
diselesaikan peserta didik melalui yang diberikan dengan
diskusi kelompok, yakni: cara berdiskusi.
a. Bacalah petunjuk kerja pada
lembar kerja 2 yang telah
dibagikan;
32
Unit Pembelajaran
ALGORITMA
33
3.3. Pesera didik/anggota
kelompok berfikir logis
dan mencari solusi
dalam menyelesaikann
persoalan suai
instruksi.
34
Unit Pembelajaran
ALGORITMA
35
Gambar 10 Tampilan Scratch 2 offline editor
Sumber: Scratch 2.0 offline editor
5. Guru diminta untuk men-demo-kan kembali tentang pemrograman visual
pada Scratch 2.0 offline editor dengan menjelaskan:
a. objek-objek kerja di lingkungan pemrograman Scratch pada menu Tips.
Pada menu Tips terdapat tutorial tentang: Step by step (langkah-langkah)
kerja membuat project animasi; How To menjelaskan lebih spesifik cara
kerja atau obejek-objek kerja di Scrath 2.0 offline editor dan Blocks
menjelaskan lebih terperinci tentang penggunaan bagian-bagian kerja
yang terdapat pada bagian menu skrip, kostum dan Suara.
b. pembentukan algoritma atau langkah-langkah kerja pada pemrograman
visual Scratch 2.0; dan
c. meniru kembali pembuatan program visual seperti yang ditampilkan di
tutorial.
36
Unit Pembelajaran
ALGORITMA
37
B. Lembar Kerja Peserta Didik
Lembar Kerja 1
38
Unit Pembelajaran
ALGORITMA
b. Tuliskan langkah-langkah
instruksi atau algoritma yang
dilakukan dalam membuat
suatu program di Scratch 2.0
(online editor) seperti yang
telah didemokan
menggunakan bahasa natural !.
39
Lembar Kerja 2
40
Unit Pembelajaran
ALGORITMA
41
C. Bahan Bacaan
Asal kata algoritma sendiri berasal dari nama Abu Ja’far Mohammed
Ibn Musa Al-Khowarizmi, ilmuan persia yang menulis buku berjudul “Al
Jabr W’ Al-Muqabala” (Rules of Restoration and Reduction) yang
diterbitkan pada tahun 825 M. Kata AL Khuwarizmi dibaca orang barat
menjadi Algorism yang kemudian lambat laun menjadi algorithm.
Algorithm diserap dalam Bahasa Indonesia menjadi Algoritma.
2. Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu.
Logika dapat diartikan ilmu yang mengajarkan cara berpikir untuk
melakukan kegiatan dengan tujuan tertentu.
42
Unit Pembelajaran
ALGORITMA
2. Definisi Algoritma
43
Tujuan dari belajar logika dan algoritma adalah agar dapat
membiasakan diri melakukan suatu perencanaan apabila menyelesaikan
suatu masalah. Permasalahan yang diselesaikan dengan suatu
perencanaan yang matang maka akan mendapatkan solusi yang lebih
optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu
perencanaan.
Ciri -ciri
Ada lima ciri penting yang perlu diperhatikan dalam menyusun algoritma,
yaitu:
1. Algoritma mempunyai awal dan akhir.
2. Memiliki instruksi yang jelas atau tidak ambigu yaitu setiap langkah
harus didefinisikan dengan tepat sehingga tidak memiliki makna
ganda.
3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif (setiap langkah harus sederhana dalam waktu
yang tidak terlalu panjang).
4. Penulisan Algoritma
44
Unit Pembelajaran
ALGORITMA
Tidak ada aturan baku dalam penulisan notasi deskriptif sehingga setiap
orang dapat menuliskan aturan algoritmanya sendiri.
KELEBIHAN
Cocok untuk menuliskan algoritma yang pendek.
Tidak ada aturan baku.
Menggunakan bahasa natural atau sehari-hari.
KEKURANGAN
Sulit diterjemahkan dalam bahasa pemrograman atau coding.
Kurang efektif.
45
4.2. Flowchart (Diagram alur)
46
Unit Pembelajaran
ALGORITMA
KELEBIHAN
Mudah digunakan dan dipahami dalam melakukan pengecekkan
bagian-bagian yang terlupakan dalam analisis masalah.
KEKURANGAN
Kurang efektif untuk penulisan algoritma yang panjang karena
akan menghabiskan banyak tempat.
Nah, setelah kita membaca dan memahami sejarah, definisi, dasar penyusunan
dan penulisan algoritma. Agar kalian lebih memahami lagi tentang algoritma
dan jika kalian masih binggung bagaimana konsep algoritma itu, maka pada
bagian ini kita akan melihat contoh ilustrasi dari sebuah masalah dan cara
penyelesaiannya menggunakan algoritma.
Contoh Ilustrasi yang digunakan adalah dalam menganalisa sebuah
masalah atau persoalan dalam mengupas kentang. Kita harus menganalisa
atau membuat kebutuhan yang diperlukan untuk menyelesaikan persoalan
dalam mengupas kentang. Secara sederhana analisa keperluan tersebut
dijelaskan sebagai berikut:
Masalah/Persoalan: Mengupas Kentang
Bila ingin makan kentang, tentunya kita perlu memiliki kentang
terlebih dahulu;
47
Jika belum ada, maka beli kentang dahulu;
Jika kentang sudah ada, maka kentang perlu dikupas;
Setelah dikupas, kita harus memilih proses masak kentang, apakah
kita mau menggoreng kentang, merebus kentang atau membuat
sup.
Jika digambarkan berdasarkan alur logika diatas sebagai berikut:
48
Unit Pembelajaran
ALGORITMA
a. Mulai;
b. Periksa ketersediaan kentang;
c. Jika belum ada, maka beli kentang;
d. Jika sudah ada, maka kentang dikupas;
e. Kentang dikupas;
f. Tentukan proses memasak kentang;
g. Jika digoreng, maka goreng kentang;
h. Jika direbus, maka rebus kentang;
i. Jika dibuat sup, maka proses masak sup;
j. Proses measak kentang yang dipilih;
k. Selesai.
49
6. Pemrograman Visual Scratch 2.0
Scratch adalah Bahasa pemrograman visual atau grafis Open Source yang dapat
digunakan secara gratis. Hanya dengan drag and drop kita dapat membuat
animasi, games, musik atau cerita interaktif. Hasil kreasi yang dibuat dapat di-
unggah (upload) ke Internet.
Scratch adalah sebutan untuk cara kreatif seorang Disk Jockey (DJ) dalam
menggabungkan potongan musik. Teknik ini disebut menggores atau
“Scratch”. Nah, dari teknik tersebut para programmer terinspirasi untuk
menggabungkan beberapa media (gambar, foto, efek suara dan sebagainya)
dengan cara yang menarik untuk menciptakan sesuatu yang baru.
50
Unit Pembelajaran
ALGORITMA
Scratch dirancang agar anak-anak atau remaja yang dsebut pemula yang
baru belajar pemrograman tidak melakukan kesalahan ketik syntax yang dapat
menyebabkan error. Oleh karena itu, dalam Bahasa pemrograman visual
Scratch, kita hanya tinggal menyeret (drag) dan menggabungkan (drop)
beberapa blok program yang telah disediakan pada antar muka grafis Scratch.
6.5. Bahasa
51
7. Komposisi Scratch 2.0
Project awal dibuat atau terdiri dari objek-objek yang disebut sprite.
Sprite adalah objek atau icon yang digunakan untuk menjalankan
instuksi program yang dibuat. Icon Sprite awal dari Scratch adalah
seekor kucing, namun kita dapat memilih atau membuat sprite jenis
lainnya yang tersedia pada program Scratch.
52
Unit Pembelajaran
ALGORITMA
53
3. Stage
Adalah panggung bagi sprite untuk bereaksi terhadap instruksi blok yang
dibuat. Stage memilki fitur-fitur khusus yang berbeda dengan sprite lain.
Terdapat 3 tombol pada stage:
a. Green flag
Digunakan untuk menjalankan skrip.
b. Stop sign
Digunakan untuk menghentikan semua skrip dalam semua sprite.
c. Tombol presentasi
Digunakan untuk merubah mode tampilan (view) menjadi tampilan
penuh (full).
a. Blocks Tabs
Digunakan untuk mengedit skrip, kostum dan suara.
b. Blocks Pallete
Berisi kumpulan program code task untuk memprogram sprite.
c. Edit stage
Digunakan untuk memilih, membuat, mengunduh latar belakang
(background) stage.
d. New sprite button
Tombol-tombol untuk membuat sprite baru.
e. X Y position
Untuk menunjukkan posisi koordinat X , Y kursor atau mouse.
54
Unit Pembelajaran
ALGORITMA
9. Scratch Blocks
Scratch blocks atau Blocks Pallette pada Scratch 2.0 terdiri dari 10
kategori yakni Gerakan (motion), Tampilan (looks), Suara (sound), Pena
(pen), Data, Kejadian (events), Kontrol (control), Sensor (sensing),
Operator (operators) dan Blok Lainnya (more bloks).
55
Tabel 6 Blocks Gerakan (motion)
56
Unit Pembelajaran
ALGORITMA
9.3. Suara(sounds)
57
Tabel 8 Blocks Suara (sound)
58
Unit Pembelajaran
ALGORITMA
9.4. Pena(pen)
9.5. Data
Blok data digunkan untuk membuat variabel dan daftar (list) maupun
menghapusnya. Penjelasan tentang blok-blok pada data dapat dilihat pada
tabel 10 berikut:
59
Tabel 10 Blocks Pena (pen)
Blok ini berisikan sejumlah blok utama script untuk membuat sprite
bergerak berdasarkan kejadian (events). Penjelasan tentang blok-blok
pada kejadian (events) dapat dilihat pada tabel 11 berikut:
60
Unit Pembelajaran
ALGORITMA
Blok ini berisikan sejumlah blok struktur kendali untuk membuat sprite
bergerang secara perulangan (looping). Penjelasan tentang blok-blok
pada Kontrol (control) dapat dilihat pada tabel 12 berikut:
61
Tabel 12 Blocks Kontrol (control)
Blok ini berisikan hal-hal yang dapat dikerjakan sprites. Penjelasan tentang blok-
62
Unit Pembelajaran
ALGORITMA
63
9.9. Operator (operator)
Blok ini berisi berbagai operator aritmatika yang dapat digunakan dalam
project. Penjelasan tentang blok-blok pada operator (operator) dapat
dilihat pada tabel 14 berikut:
64
Unit Pembelajaran
ALGORITMA
65
Berdasarkan gambar diatas kita dapat melihat bahwa:
Bagian sebelah kiri atau yang disebut script area adalah area untuk
menyusun algoritma;
Bagian tengah atau bloks pallete adalah library (pustaka) dari blocks
(statement) yang digunakan untuk membentuk suatu algoritma;
Bagian kanan atau stage area adalah bagian yang menampilkan
eksekusi atau jalannya algoritma yang disusun dari sekumpulan blocks.
Kita tidak dapat menggunakan blocks secara asal-asalan tanpa alur yang jelas.
Jika kita menggunakan blocks tanpa alur yang jelas maka sprite akan
menampilkan hasil yang tidak sesuai.
Posisi Scratch
66
Unit Pembelajaran
ALGORITMA
Nilai posisi X menentukan lokasi lokasi horizontal sprite dan posisi titik Y
menentukan lokasi atau ketinggian vertikal. Sprite stage (layar) sprite
berbentuk persegi dengan ukuran 480x360, sehingga posisi X berkisar dari
240 hingga -240, dimana 240 adalah posisi paling kanan sprite dan -240
adalah posisi paling kiri. Posisi Y berkisar dari 180 hingga -180, dimana 180
adalah yang tertinggi dan -180 adalah yang terendah. Sehingga dalam Scratch
posisi (0,0) dianggap sebagai bagian tengah layar; tidak seperti sistem
koordinat populer seperti Quartz 2D dan HTML5 canvas API, yang
menggunakan (0,0) sebagai sudut kiri atas atau kiri bawah.
Arah Scratch
Arah di Scratch ditentukan oleh sistem bilangan rotasi. Arah 0 lurus keatas.
Setiap 90 unit setara dengan seperempat putaran, dimana +90 adalah 90O
searah jarum jam. Diagram dibawah ini menunjukkan cara kerjanya:
67
Gambar 22 arah scratch
Sumber: https://en.scratch-wiki.info/wiki/Coordinate_System
Arah di Scratch tidak pernah melebihi 180o atau bergerak di bawah -180o;
yang disimpan dalam batas-batas dengan fungsi seperti blok dibawah:
Namun biasanya blok diatas lebih bermanfaat untuk mengatur arah 0o ke 360o
untuk menghasilkan arah yang baik. Setiap arah sama dengan 360o + arah
(90o), sehingga 90o +360o=450o. Perhitungan arah ini mirip dengan koordinat
kutub, kecuali diputar 90o berlawanan arah jarum jam. Koordinat kutub terdiri
dari sudut dan jarak asalnya.
68
Unit Pembelajaran
ALGORITMA
kejadian (event) “Klik bendera hijau” bendera hijau” terdapat pada block
dijalankan. Kejadian (events).
Pilih blok Events, tarik (drag) dan
69
PENGEMBANGAN PENILAIAN
A. Pembahasan Soal-soal
Berdasarkan hasil analisis literatur dari rujukan jurnal, buku dan artikel dari
luar, berikut ini pembahasan soal-soal Topik Algoritma:
1. Pada editor pemrograman Scratch, tempat untuk menuliskan skrip
instruksi algoritma disebut…..
A. Skrip
B. Stage
C. Skrip Area
D. Sprite
Penjelasan:
Terdapat 3 bagian utama dalam dalam menggunakan bahasa
pemrograman visual Scratch, yaitu:
Script area;
Digunakan untuk meletakkan atau men-drop block palette (blok
instruksi perintah) dari suatu algoritma. Beberapa blok dapat
dikombinasikan atau digabung dengan blok lain untuk membentu
sebuah skrip dan akhirnya menjadi sebuat proyek.
Sprites area
Berisi tampilan thumbnail dari semua jenis sprite yang disediakan
dalam berbagai kategori.
Stage
Adalah panggung bagi sprite untuk bereaksi terhadap instruksi blok
yang dibuat.
Jawaban : C
70
Unit Pembelajaran
ALGORITMA
A.
B.
C.
D.
Penjelasan
Berdasarkan penjelasan tips yang terdapat pada editor Scratch offline
untuk Skrip Gerakan yang membuat sprite berputar ke kanan dengan
menggunakan balok skrip seperti berikut :
71
Jawaban: B
72
Unit Pembelajaran
ALGORITMA
Skrip diatas merupakan salah satu contoh skrip yang disusun secara tidak
efisien karena pernyataan (statement) pada program diatas harus dibuat
dengan balok pernyataannya. Bentuk pernyataan apa yang harus digunakan
untuk menjadikan program diatas menjadi efisien?
A. Pernyataan berulang (looping statement)
B. Pernyataan bersyarat (conditional statement)
C. Pernyataan berurutan (sequence statement)
D. Penyataan jika – maka -kemudian.
Penjelasan
Perulangan (Looping) adalah suatu atau serangkaian bentuk kegiatan
mengulang suatu statement sampai batas yang diinginkan. Berdasarkan skrip
yang ditunjukan pada soal dapat dilihat terjadi penulisan statement yang
ditulis dalam beberapa kode balok sehingga menjadikan program menjadi
tidak efisien untuk . Maka agar program diatas menjadi efisien harus disusun
dengan menggunakan pernyataan perulangan (looping statement).
Jawaban: A
73
B. Mengembangkan Soal HOTS
Pada bagian ini akan dimodelkan pembuatan soal yang memenuhi indikator
pencapaian kompetensi yang diturunkan dari kompetensi dasar pengetahuan.
Pengembangan soal diawali dengan pembuatan kisi-kisi agar guru dapat
melihat kesesuaian antara kompetensi, lingkup materi, dan indikator soal.
Selanjutnya, dilakukan penyusunan soal dikartu soal berdasarkan kisi-kisi
yang telah disusun sebelumnya. Contoh soal yang dibuat menuntun proses
berfikir level kognitif 3 Yaitu C4 (analisis), C5 (Evaluasi) dan C6 (Mengkreasi).
74
Unit Pembelajaran
ALGORITMA
B.
C.
D.
75
KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN
KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …
LINGKUP MATERI : 2
Algoritma dan Pemrograman
MATERI :
Algoritma
INDIKATOR SOAL : Kunci
Disajikan suatu skrip balok Jawaban Skrip diatas adalah skrip untuk membuat suatu
program peserta C program sederhana di Scratch, namun skrip
didik dapat menentukan
tersebut disebut skrip yang disusun dengan
algoritma penyusunan skrip
balok suatu program algoritma yang tidak sesuai dalam membuat
suatu program, karena tidak mengandung ciri-
ciri atau sifat dari suatu algoritma.
Ciri-ciri atau sifat apa yang menyebabkan
ketidaksesuaian dalam penyusunan algoritma
pada skrip diatas ?
A. Skrip diatas disusun dengan
menggunakan masukkan (input) dan
keluaran (output).
B. Skrip diatas akan menyebabkan suatu
kesalahan dalam proses keluarannya
(outputnya).
C. Skrip diatas tidak memiliki awalan
untuk menjalankan suatu perintah dan
akhiran untuk menyelesaikan suatu
perintah.
D. Proses diatas tidak dapat dijalankan
karena tidak memiliki perintah akhir.
76
Unit Pembelajaran
ALGORITMA
77
KESIMPULAN
Di dalam kehidupan sehari-hari ada banyak sekali contoh permasalahan yang
bisa dipecahkan menggunakan algoritma. Dengan mempelajari algoritma kita
dapat menyelesaikan suatu permasalahan dengan logis dan sistematis.
Hubungan interaksi antara manusia dan komputer mengharuskan kita untuk
memahami algoritma.
Dalam dunia informatika algoritma adalah bagian penting dan awal sebelum
membuat suatu program atau perangkat lunak. Dengan adanya algoritma,
suatu program dapat dibuat dengan struktur dan alur yang logis dan benar dan
juga dalam waktu yang efisien sehingga menghasilkan perangkat lunak yang
baik. Sebagai contoh pengaplikasiannya dengan mempelajari pembentukan
algoritma menggunakan bahasa pemrograman visual Scratch 2.0, kita dapat
melihat dan menghasilkan suatu karya atau hasil kerja pemrograman visual
berdasarkan permasalahan yang ingin kita selesaikan.
Oleh karena itu dengan dipelajarinya algoritma pada subunit ini, guru
diharapkan dapat memiliki dasar pengetahuan untuk mengajarkan materi
algoritma ke peserta didik yang disesuaikan dengan indikator yang telah
disusun, terutama dalam memfasilitasi kemampuan bernalar peserta didik.
Selain itu, materi ini juga aplikatif untuk guru sendiri sehingga guru
diharapkan dapat menerapkannya dalam kehidupan sehari-hari.
Bagi peserta didik melalui pembelajaran pada subunit ini diharapkan dapat
mendorong, mengasah dan meningkatkan kreatifitas mereka dalam belajar
matematika dan konsep komputer, logika dan algortima, penalaran atau
berfikir komputasional, pemecahan masalah serta kemampuan berkolaborasi.
78
Unit Pembelajaran
ALGORITMA
79
UMPAN BALIK
Dalam rangka mengetahui pemahaman terhadap subunit ini, Saudara perlu
mengisi lembar persepsi pemahaman. Berdasarkan hasil pengisian instrumen
ini, Saudara dapat mengetahui posisi pemahaman beserta umpan baliknya.
Oleh karena itu, isilah lembar persepsi diri ini dengan objektif dan jujur.
No Aspek Kriteria
1 2 3 4
80
Unit Pembelajaran
ALGORITMA
Jumlah
Jumlah Total
1=tidak menguasai
3 = menguasai 40
4 = Sangat Menguasai
81
70-79 : Masih ada yang belum dipahami dengan baik, di antara konten,
cara membelajarkan, mengembangkan penilian dan
melaksanakan penilaian berorientasi HOTS. Saudara perlu
mendiskusikan bagian yang belum dipahami dengan fasilitator
atau teman lain di MGMP.
82
Unit Pembelajaran
PROGRAM PENGEMBANGAN KEPROFESIAN BERKELANJUTAN (PKB)
MELALUI PENINGKATAN KOMPETENSI PEMBELAJARAN (PKP)
BERBASIS ZONASI
PEMROGRAMAN
Penulis:
NURUL HAYATI
Copyright © 2019
Direktorat Pembinaan Guru Pendidikan Dasar
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan dan Kebudayaan
DAFTAR ISI
Hal
DAFTAR ISI_______________________________________________________ 87
DAFTAR GAMBAR _________________________________________________ 88
DAFTAR TABEL ___________________________________________________ 89
PENGANTAR _____________________________________________________ 90
A. Kompetensi Dasar dan Target Kompetensi ______________________________ 92
B. Indikator Pencapaian Kompetensi ________________________________________ 95
APLIKASI DI DUNIA NYATA _________________________________________ 98
A. CERITA DAN GAME ANIMASI _____________________________________________ 98
BAHAN PEMBELAJARAN __________________________________________ 100
A. Aktivitas Pembelajaran ___________________________________________________ 100
Aktivitas 1 Membuat Interaksi Motion di Scratch 2.0 _________________________ 101
Kartu Kasus 1 ______________________________________________________________________ 104
Aktivitas 2 _________________________________________________________________________ 105
Kartu Kasus 2 ______________________________________________________________________ 108
B. Lembar Kerja Peserta Didik ______________________________________________ 109
Lembar Kerja 1 ____________________________________________________________________ 109
Lembar Kerja 2 ____________________________________________________________________ 110
C. Bahan Bacaan ______________________________________________________________ 111
1. Pemrograman Visual________________________________________________________ 111
2. Variabel ______________________________________________________________________ 112
Penggunaan Variabel di Scratch 2.0 _____________________________________________ 113
3. Dekomposisi _________________________________________________________________ 117
4. Sub Program (Prosedur dan Fungsi ) _____________________________________ 119
5. Pernyataan (Statement) ____________________________________________________ 124
6. Pernyataan berulang (looping statement) ________________________________ 127
7. Pernyataan bersyarat (conditional statement) ___________________________ 129
87
B. Mengembangkan Soal HOTS _____________________________________________ 137
KESIMPULAN ____________________________________________________ 144
UMPAN BALIK ___________________________________________________ 145
DAFTAR GAMBAR
Hal
88
Unit Pembelajaran
PEMROGRAMAN
DAFTAR TABEL
Hal
89
PENGANTAR
Oleh karena itu, subunit ini disusun sebagai salah satu alternatif sumber bahan
ajar bagi guru untuk memahami topik pemrograman. Melalui pembahasan
materi yang terdapat pada subunit ini, guru dapat memiliki dasar pengetahuan
untuk mengajarkan materi yang sama ke peserta didiknya yang disesuaikan
dengan indikator yang telah disusun, terutama dalam memfasilitasi
kemampuan bernalar peserta didik. Selain itu, materi ini juga aplikatif untuk
guru sendiri sehingga guru dapat menerapkannya dalam kehidupan sehari-
hari.
90
Unit Pembelajaran
PEMROGRAMAN
91
A. Kompetensi Dasar dan Target Kompetensi
4.2.1. Membuat robot yang mampu 4.2.1.1. Membuat robot yang mampu
menggambar atau menulis menggambar dengan program
dengan program sederhana. sederhana.
92
Unit Pembelajaran
PEMROGRAMAN
93
program dalam bahasa
pemrograman visual.
94
Unit Pembelajaran
PEMROGRAMAN
95
4.2.6.1 Menerapkan instruksi
kondisional pada bahasa
pemrograman visual Scratch
2.0.
IPK Pengayaan IPK Pengayaan
3.2.5. Menerapkan penggunaan 4.2.5.2. Membuat lakon/motion (robot)
algoritma dalam membuat robot dengan bahasa pemrograman
dengan menggunakan bahasa visual Scratch 2.0 dengan
pemrograman visual Scratch 2.0. penggunaan struktur data dan
3.2.6. Menerapkan penggunaan tipe data.
variabel dalam menyimpan dan
mengubah data pada bahasa
pemrograman visual.
3.2.7. Membuat algoritma
pemrograman dengan
menggunakan instruksi
kondisional pada bahasa
pemrograman visual.
96
Unit Pembelajaran
PEMROGRAMAN
97
APLIKASI DI DUNIA NYATA
98
Unit Pembelajaran
PEMROGRAMAN
Ya, permainan atau games ini dibuat dengan menggunakan tampilan atau
objek-objek visual menggunakan suatu program visual. Dalam Ilmu komputer
ini disebut pemrograman visual. Jika kalian berfikir bahwa membuat suatu
permainan atau cerita dalam bentuk animasi itu akan sulit, namun nyatanya
tidak. Kalian dapat membuat sebuah permainan atau cerita animasi dengan
menggunakan bahasa pemrograman visual. Jika pada kelas VII kalian telah
mempelajari Algoritma dan mencoba mempelajari bahasa pemrograman
visual melalui aplikasi Scratch, maka kalian telah berhasil memahami
bagaimana langkah-langkah untuk membuat suatu permainan dan cerita
animasi interaktif.
99
BAHAN PEMBELAJARAN
A. Aktivitas Pembelajaran
Aktivitas belajar melibatkan indera-indera atau sensor dan alat yang dimiliki
manusia untuk melakukan sesuatu. Indera-indera tersebut antara lain
meliputi indera penglihatan (visual), pendengaran (listening), berbicara (oral),
seluruh aktivitas fisik lain serta mental dan emosi.
100
Unit Pembelajaran
PEMROGRAMAN
Orientasi peserta 1. Mengkondisikan dan memastikan 1.1. Bersiap untuk mengikuti “disesuaikan”
didik pada masalah kesiapan peserta didik untuk mengikuti aktivitas pembelajaran.
aktivitas pembelajaran; 1.2. Peserta didik berdoa dan
2. Guru mengajak peserta didik berdoa lanjut menyanyikan salah
dilanjutkan dengan menyanyikan salah satu lagu wajib nasional.
satu lagu wajib nasional; 1.3. Peserta didik membentuk
3. Guru menugaskan siswa agar kelompok sesuai arahan
membentuk kelompok sebanyak 4-6 guru.
kelompok; 1.4. Peserta didik membaca dan
4. Guru membagikan kartu kasus 1 yang menganalisis kartu kasus
harus dianalisis bersama melalui diskusi yang diberikan.
kelompok (kartu kasus 1 terlampir); 1.5. Peserta didik
5. Guru menyampaikan tugas yang akan menyelesaikan
diselesaikan peserta didik melalui diskusi permasalahan berdasarkan
kelompok, yakni: pertanyaan yang diberikan
a. Bacalah kartu kasus yang telah dengan cara berdiskusi.
dibagikan;
b. Ikutilah dan selesaikanlah masalah
yang ada pada petunjuk kerja;
c. Diskusikan dengan kelompokmu;
d. Tuliskan hasil diskusi kelompok pada
kertas plano dalam format lembar
kerja 1 yang ada;
101
e. Paparkan hasil diskusi setiap
kelompok di depan kelas.
Mengorganisasikan 1. Guru memastikan setiap peserta 2.1. Peserta didik berdiskusi “disesuaikan”
peserta didik untuk didik/anggota kelompok memahami dan membagi tugas
belajar tugas masing-masing kelompok yang untuk menyelesaikan
harus diselesaikan; persoalan berdasarkan
2. Guru memberikan kesempatan kepada instruksi yang diberikan.
peserta didik untuk bertanya; 2.2. Peserta didik bertanya
3. Guru membagikan bahan bacaan terkait kepada guru tentang hal
aktivitas yang telah disiapkan kepada yang belum dipahami
peserta didik. peserta didik terkait
instruksi yang diberikan.
2.3. Masing-masing kelompok
membaca bahan bacaan
yang telah disiapkan.
102
Unit Pembelajaran
PEMROGRAMAN
103
Kartu Kasus 1
SPRITE BERTANYA
104
Unit Pembelajaran
PEMROGRAMAN
Aktivitas 2
105
b. Ikutilah dan selesaikanlah
masalah yang pada petunjuk
kerja;
c. Diskusikan dengan
kelompokmu;
d. Tuliskan hasil diskusi
kelompok pada kertas plano
dalam format lembar kerja 1
yang ada;
e. Presentasikan hasil diskusi
setiap kelompok di depan
kelas.
Mengorganisasikan 1. Guru memastikan setiap peserta 2.1. Peserta didik berdiskusi dan “disesuaikan”
peserta didik untuk didik/anggota kelompok membagi tugas untuk
belajar memahami tugas masing-masing menyelesaikan persoalan
kelompok yang harus diselesaikan; berdasarkan instruksi yang
2. Guru memberikan kesempatan diberikan.
kepada peserta didik/ anggota 2.2. Peserta didik/ anggota
kelompok untuk bertanya; (kelompok) bertanya
3. Guru membagikan bahan bacaan kepada guru tentang
terkait aktivitas yang telah tentang hal yang belum
disiapkan kepada peserta didik. dipahami peserta didik
terkait instruksi yang
diberikan.
2.3. Masing-masing kelompok
membaca bahan bacaan
yang telah disiapkan.
106
Unit Pembelajaran
PEMROGRAMAN
107
Kartu Kasus 2
SPRITE BERJALAN, MELOMPAT DAN BERPUTAR
Sprite diprogram untuk dapat melakukan gerakan (berjalan, melompat dan berputar) dengan
blocks algoritma seperti diatas. Jika dilihat, blocks algoritma diatas terlalu sulit dan
membingungkan, karena blocks dibuat dalam satu blok tunggal yang panjang tanpa ada
struktur.
Berdasarkan skrip balok diatas, bagaimana caranya agar sprite dapat melakukan gerakan
(berjalan, melompat dan berputar) dengan membuat skrip balok yang lebih mudah ?
KATA KUNCI:
Gunakan sub-program (fungsi atau prosedur)
108
Unit Pembelajaran
PEMROGRAMAN
Lembar Kerja 1
109
Lembar Kerja 2
110
Unit Pembelajaran
PEMROGRAMAN
C. Bahan Bacaan
1. Pemrograman Visual
Penulisan kode-kode program visual dibuat dengan drag dan drop dan
langsung dapat dilihat tampilannya sesuai apa adanya. Jadi, dalam Ilmu
komputer seorang programmer bisa menciptakan program dengan cara
mengklik ikon yang mewakili rutin-rutin pemrograman.
Pada unit algoritma kita telah mempelajari tentang antarmuka dan objek-
objek kerja pada pemrograman Scratch2.0. Selanjutnya kita akan mempelajari
bagaimana membuat algoritma lebih lanjut dalam mendefinisikan variabel,
111
menyimpan dan mengubah data, pemakaian instruksi perulangan dan
kondisional serta memecahkan masalah pemrograman dengan metode
dekomposisi menggunakan prosedur dan fungsi.
2. Variabel
Gambar 5 Variabel
Sumber: https://www.codingkids.com.au
112
Unit Pembelajaran
PEMROGRAMAN
Pertama, kita harus membuat dua variabel yang dapat menyimpan angka
secara acak. Caranya kita menggunakan Script block data untuk membuat
variabel. Variabel pertama dinamakan rand1 dan kedua dinamakan rand2.
Dua variabel yang dibuat dideklarasikan secara global (digunakan untuk
semua sprite).
113
Gambar 7 Stage Sprite program variable
Kedua, kita harus men-set nilai dari dua variabel tersebut menjadi angka acak
setiap kali ketika bendera hijau diklik. Disini ada suatu aksi atau kejadian yang
dibutuhkan yaitu “ketika bendera hijau diklik”. Maka kita mengunakan block
.
Sehingga algoritmanya terbentuk seperti berikut:
114
Unit Pembelajaran
PEMROGRAMAN
Variabel rand1 dan rand2 diset untuk dapat memilih angka secara acak antara
1 sampai 10. Oleh karena itu, ketika bendera hijau diklik, kedua variabel akan
diberikan angka acak antara 1 samapi 10 untuk disimpan.
Ketiga, kita akan membuat Sprite Cat menampilkan dua angka yang diset. Kita
Maka ketika dijalankan Sprite akan menampilkan dua angka seperti berikut
115
Pada gambar diatas, kita bisa melihat Scratch Cat memberi tahu kita nilai
rand1 (adalah 2) dan rand2 (adalah 4). Tapi hasil keluaran (output) itu
terlihat anehkan ? karena angka ditampilkan berdampingan tanpa spasi. Nah,
untuk membuatnya agar menampilan angka dengan spasi atau mudah
dibedakan dan dimengerti. Maka kita akan menggunakan Block Operator
Scratch Cat akan menyebutkan angka dua angka random yang diset seperti
berikut:
116
Unit Pembelajaran
PEMROGRAMAN
Nah, apakah sekarang kalian sudah paham bagaimana cara membuat variabel
di Scratch. Untuk mempelajari lebih lanjut kalian dapat membaca melalui e-
book pada link berikut:
https://www.it.iitb.ac.in/~vijaya/ssrvm/dokuwiki/media/Scratch_5.pdf.
3. Dekomposisi
Nah, agar kalian lebih mudah memahami konsep dekomposisi mari kita lihat
salah satu penyelesaian masalah yang mudah dalam membuka sebuah pintu.
Jika tugas atau permasalahannya adalah membuka pintu maka langkah-langah
penyelesaiannya adalah:
Membuka pintu
Buka pintu
117
Nah, bagaimana jika masalahnya tugasnya lebih sulit, contohnya pergi belanja
bulanan. Tentu prosesnya akan lebih panjang, nah kita dapat membuat proses
tersebut ke dalam beberapa tugas yang lebih mudah. Langkah-langkah atau
tugas tersebut yaitu:
118
Unit Pembelajaran
PEMROGRAMAN
Prosedur adalah bagian kode yang dapat dijalankan berulang kali, yang
berguna agar kita tidak harus menulis ulang kode yang sama beberapa kali.
Fungsi juga merupakan bagian dari kode yang dapat dijalankan berulang-
ulang, dengan satu perbedaan utama yaitu: fungsi harus memiliki setidaknya
satu input dan output. Input ke fungsi disebut argumen dan output disebut
return (pengembalian).
119
mengembalikan nilai apapun, atau memodifikasi parameter input-nya namun
hanya dapat memodifikasi variabelnya secara langsung.
Kita akan membuat Sprite bergerak ke kanan ketika tombol panah kanan pada
keyboard ditekan atau ketika tombol K ditekan. Nah, algoritma blocks ditulis
seperti berikut:
120
Unit Pembelajaran
PEMROGRAMAN
Seperti yang kalian lihat diatas, terdapat block kode yang ditulis beberapa kali,
sehingga menjadi tidak efisien. Jika kita ingin menambahkan instruksi gerakan
lain maka kita harus menuliskan balok kode yang sama kembali.
Kita dapat memperbaiki permasalahan diatas dengan menggunakan sebuah
prosedur, di Scratch pembuatan prosedur ada di Block Balok Lainnya.
121
Gambar 14 Skrip Balok Baru
Tulislah sebuah nama fungsi yang akan dibuat, disini kita akan membuat
fungsi dengan nama bergerak ke kanan. Setelah kita menuliskan nama
fungsi klik OK kemudian pada script area akan muncul sebuah fungsi yang
mengartikan fungsi bergerak ke kanan seperti berikut:
Mendeklarasikan
fungsi Bergerak
ke kanan
Selanjutnya kita akan menggunakan Balok fungsi yang telah kita seperti
berikut:
122
Unit Pembelajaran
PEMROGRAMAN
Pendeklarasian
Prosedur 1 fungsi, gerak dan
langkah berikutnya
Prosedur 2
123
5. Pernyataan (Statement)
124
Unit Pembelajaran
PEMROGRAMAN
125
3. Sisipkanlah Skrip pada skrip looping
Nah, setelah kalian mencoba membuat dua contoh program diatas apa yang
dapat kalian pelajari melalui hasilnya?. Ya berdasarkan dari 2 percobaan
program diatas kita telah mempelajari yaitu:
126
Unit Pembelajaran
PEMROGRAMAN
Nah bagaimana jika kita ingin Sprite melakukan gerakan dengan arah
membentuk segiempat sebanyak 100 kali. Berarti kita harus menuliskan 400
pernyataan dengan menggunakan 1200 balok skrip. Pastinya kita akan sangat
127
lelah karena membutuhkan waktu lama dan membuang banyak tenaga
sehingga program yang dibuat tidak efektif dan efisien. Nah bagaimana
solusinya ? Kita menggunakan pernyataan perulangan (repeat).
Nah, ketika kalian jalankan maka sprite akan melakukan gerakan dengan arah
membentuk segiempat. Jika kalian perhatikan dari skrip program diatas
terdapat skrip apakah kalian tahu arti dari skrip tersebut ?,
coba kalian keluarkan skrip tersebut dari set balok algoritma diatas dan lihat
hasilnya. Kalian akan menemukan kegunaan skrip tersebut.
128
Unit Pembelajaran
PEMROGRAMAN
Bentuk pernyataan bersyarat dapat ditulis dalam dua bentuk seperti berikut:
129
IF (kondisi bernilai benar)
THEN
Eksekusi pernyataan;
END IF
Atau
Kondisi yang terdapat pada pernyataan ini dapat berupa variabel (x=y), (x>0),
atau variabel lain yang dapat diartikan bernilai benar atau salah.
Pada bahasa pemrograman Scratch, bentuk pernyataan bersyarat (conditional
statement) terdapat pada skrip kontrol, seperti berikut:
Program: Pulang-Pergi
Kita akan membuat sprite bergerak maju dan ketika sampai diujung stage,
sprite akan kembali balik memutar menuju arah awal. Algoritma untuk dapat
membuat sprite bergerak pulang dan pergi adalah:
130
Unit Pembelajaran
PEMROGRAMAN
1. Mulai
2. Sprite bergerak 10 langkah;
3. Jika posisi x > 200 maka sprite berputar 180o;
4. Kemudian posisi x < -200 sprite berputar 180o;
5. Selesai
4. Kemudian kita akan menyisipkan nilai kedalam balok skrip jika-maka. Untuk
membuat skrip nilai x >200, terdapat di bagian Operator.
8. Kemudian skrip posisi x < -200 sprite berputar 180o dilakukan dengan
kembali membuat skrip if dengan cara yang sama pada no (3-7) namun
perhatikan penggunaan operator untuk menuliskan skrip x < -200.
131
Sehingga menjadi skrip balok algoritma seperti dibawah ini:
Kemudian coba jalankan dan lihat bagaimana hasilnya ? Sprite akan bergerak
seperti arah pergi dan pulang namun pada arah pulang sprite menjadi terbalik.
Terlihat lucu dan menyenangkan bukan ? namun agar output atau sprite yang
dihasilkan bergerak secara teratur atau dengan arah yang tepat maka coba
kalian tambahkan skrip
132
Unit Pembelajaran
PEMROGRAMAN
posisi x sprite lebih besar dari 200 jika berada ditepi kanan stage, Jika bernilai
benar, Scratch memutar sprite 180o, jika tidak, maka tidak ada yang terjadi.
Pada penyataan kondisional juga terdapat balok jika-maka-jika tidak (if-then-
else) yang dapat digunakan untuk melakukan sesuatu yang
lain jika kondisi salah.
133
PENGEMBANGAN PENILAIAN
A. Pembahasan Soal-soal
Topik Pemrograman Visual merupakan topik yang baru untuk dipelajari oleh
peserta didik Sekolah Menengah Pertama di Indonesia. Berdasarkan hasil
analisis literatur dari rujukan jurnal, buku dan artikel dari luar, berikut ini
pembahasan soal-soal Topik Pemrograman Visual:
Penjelasan:
Scratch merupakan bahasa pemrograman visual yang dikembangkan oleh
Research Group MIT yang dapat membuat animasi gerak menjadi sebuah
permainan komputer. Menurut ahli komputer Sadigh terdapat lima eleman
utama dari suatu permainan komputer. Yakni graphics (grafik), sound
(suara), interface (antarmuka), gameplay (alur permainan dan story (kisah).
Jawaban: D
134
Unit Pembelajaran
PEMROGRAMAN
Penjelasan:
Pemrograman visual adalah pembuatan program yang perancangan
antarmukanya dilakukan secara visual dan berbasis GUI (graphical user
interface) dan terpisah dari penulisan kode-kode program. Sedangkan
pemrograman non visual perancangan antar muka dilakukan pada proses
coding. Sehingga alur kerja pemrograman visual dimulai dari:
User interface – coding – compiling dan testing.
Jawaban: B
Penjelasan:
Pada pemrogram visual Scratch 2.0, objek antar muka yang digunakan
untuk membuat alur algoritma dengan meletakkan instruksi perintah
disebut Script area.
Jawaban: B
135
4. Ciri-ciri dari suatu algoritma adalah memiliki masukan (input) atau kondisi
awal dan keluaran (output) atau kondisi akhir. Berdasarkan gambar pada
antar muka pemrograman visual Scratch dibawah ini, masukan (input) dan
keluaran (output) ditujukan pada bagian nomor:
A. 1 dan 3
B. 1 dan 2
C. 2 dan 4
D. 4 dan 3
Penjelasan:
Berdasarkan antarmuka pada bahas pemrograman Scratch,
Input (masukan) yang berfungsi memberikan dan menuliskan instruksi
algoritma berada pada bagian script area. Pada gambar ditujukan pada
No. 1 dan;
output (keluaran) yang berfungsi untuk menjalankan perintah
algoritma yang dituliskan berada pada bagian Stage. Pada gambar
ditujukan pada No. 2.
Jawaban: B
136
Unit Pembelajaran
PEMROGRAMAN
Pada bagian ini akan dimodelkan pembuatan soal yang memenuhi indikator
pencapaian kompetensi yang diturunkan dari kompetensi dasar pengetahuan.
Pengembangan soal diawali dengan pembuatan kisi-kisi agar guru dapat
melihat kesesuaian antara kompetensi, lingkup materi, dan indikator soal.
Selanjutnya, dilakukan penyusunan soal dikartu soal berdasarkan kisi-kisi
yang telah disusun sebelumnya. Contoh soal yang dibuat menuntun proses
berfikir level kognitif 3 Yaitu C4 (analisis), C5 (Evaluasi) dan C6 (Mengkreasi).
Contoh Penulisan Kisi-Kisi Soal Ujian Nasioan (UN)
Jenjang sekolah : Sekolah Menengah Pertama (SMP)
Mata pelajaran : Informatika
Jumlah Soal :4
Alokasi waktu : 90 menit
Tahun Pelajaran : 2019/2020
137
algoritma
dirancang
untuk
mengeneralisasi
solusi berbagai
situasi.
138
Unit Pembelajaran
PEMROGRAMAN
A.
B.
C.
139
KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN
KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …
140
Unit Pembelajaran
PEMROGRAMAN
141
sedang Program 2 tidak menggunakan
balok gerakan disetiap inisiasi tugas
(task).
B. Setiap tugas (task) pada program 1
harus diinisiasikan kembali dalam
setiap prosesnya sedangkan tugas
(task) pada program 2 hanya
dinisiasikan sekali dengan
menggunakan deklarasi fungsi.
C. Algoritma pada program 1 dibentuk
dalam 1 set balok program sedangkan
algoritma pada program 2 dibentuk
dalam 2 set balok program.
D. Program 1 tidak terdapat pembuatan
skrip Balok lainnya sedangkan
program 2 terdapat pembuatan skrip
Balok lainnya.
142
Unit Pembelajaran
PEMROGRAMAN
Memiliki arti………
A. Menginisiasi perintah untuk
melakukan gerakan ke kanan.
B. Balok pendeklarasian fungsi untuk
input Gerak ke kanan.
C. Mengartikan perintah bergerak ke
kanan.
D. Sebagai perintah awal pada penulisan
program.
143
KESIMPULAN
Pemrograman visual yang dipelajari pada unit ini merupakan salah satu
materi yang digunakan dalam perkembangan suatu teknologi. Para anak dan
remaja di luar negeri diajarkan untuk dapat memahami cara pembuatan
program komputer dengan menggunakan pemrograman visual. Ini dilakukan
dengan tujuan untuk mengasah kemampuan berfikir dan penalaran mereka
sejak dini untuk menghasilkan suatu karya teknologi dimasa depan.
Untuk itu dengan dipelajarinya pemrograman visual pada subunit ini, guru di
Indonesia diharapkan dapat memiliki dasar pengetahuan untuk mengajarkan
materi pemrograman visual ke peserta didik yang disesuaikan dengan
indikator yang telah disusun, terutama dalam memfasilitasi kemampuan
bernalar peserta didik. Selain itu, materi ini juga aplikatif untuk guru sendiri
sehingga guru diharapkan dapat menerapkannya dalam kehidupan sehari-
hari.
Bagi peserta didik melalui pembelajaran pada subunit ini diharapkan dapat
mendorong, mengasah dan meningkatkan kreatifitas mereka dalam belajar
matematika dan konsep komputer, logika dan algoritma, penalaran atau
berfikir komputasional, pemecahan masalah serta kemampuan berkolaborasi,
serta diharapkan dapat menjadi dasar pengetahuan bagi mereka untuk
menghasilkan suatu karya teknologi dan menjadikan mereka sebagi manusia
yang produktif
144
Unit Pembelajaran
PEMROGRAMAN
UMPAN BALIK
No Aspek Kriteria
1 2 3 4
145
5 Mampu dengan baik
mengaplikasikan aktivitas
pembelajaran di dalam kelas
6 Memahami dengan baik Lembar
Kerja peserta didik yang
dikembangkan
7 Mampu melaksanakan dengan baik
Lembar Kerja peserta didik yang
dikembangkan
8 Memahami Konten secara menyuluh
dengan baik
9 Memami prosedur penyusunan soal
HOTS dengan baik
10 Mampu membahas soal HOTS yang
disajikan dengan tepat
Jumlah
Jumlah Total
146
Unit Pembelajaran
PEMROGRAMAN
1=tidak menguasai
3 = menguasai 40
4 = Sangat Menguasai
147
penilaian berorientasi HOTS. Saudara perlu
mendiskusikan bagian yang belum dipahami
dengan fasilitator atau teman lain di MGMP.
148
Unit Pembelajaran
PEMROGRAMAN
149
Paket Unit Pembelajaran
Algoritma dan Pemrograman
PENUTUP
Unit ini dikembangkan dari pemetaan dan analisis Kompetensi Dasar (KD)
berdasarkan Peraturan Menteri Pendidikan dan Kebudayaan RI Nomor 37
Tahun 2018. Berdasarkan Permendikbud RI Nomor 37 tahun 2018 tentang
Perubahan atas Permendikbud Nomor 24 tahun 2016 tentang KI-KD Pelajaran
pada Kurikulum 2013 pada Pendidikan Dasar dan Pendidikan Menengah.
Dalam permendikbud tersebut diatur kedudukan mata pelajaran informatika
pada jenjang SMP/MTsN, SMA/MAN dapat dilaksanakan melalui tatap muka.
Mata pelajaran informatika bukan merupakan mata pelajaran wajib bagi
satuan pendidikan jenjang SMP/MTsN/SMA/MAN akan tetapi dikondisikan
pada satuan pendidikan akan ketersediaan tenaga pengajar dan sarana
pendukung yang memungkinkan diajarkannya mata pelajaran informatika.
Oleh karena itu, paket unit Algoritma dan Pemrograman berupaya dibuat
secara optimal untuk menghadirkan materi atau bahan bacaan yang terkait
dengan Kompetensi Dasar mata pelajaran Informatika jenjang SMP
berdasarkan permendikbud nomor 37 tahun 2018 tentang KI-KD. Materi
bahan bacaan, telah dianalisis berdasarkan keterkaitan antara modul PKB
dengan KD pada permendikbud nomor 37 tahun 2018 tentang KI-KD jenjang
SMP. Hasil analisis tersebut dapat diketahui materi modul PKB yang tidak
berelasi dengan KD sehinga dasar inilah yang menjadi pijakan penulis dalam
melahirkan bahan bacaan sebagai unit pembelajaran yang dapat dijadikan
15
1
rujukan pada kegiatan PKB berbasis zonasi bagi MGMP Informatikan jenjang
SMP.
15
2
Paket Unit Pembelajaran
Algoritma dan Pemrograman
DAFTAR PUSTAKA
15
3
17. Scratch Online Interface.
https://portal.sd38.bc.ca/public/8zd3fg5/Pages/scratch_interface.aspx. (diakses
12 Maret).
18. Seng Hansun. 2014. Scratch Pemrograman Visual untuk Semuanya. ULTIMA
InfoSys. 5(1):14-48.
19. Joko H, Prasetyo. Belajar Pemrograman Scratch Bagian1.
https://www.slideshare.net/jokohprasetyo/belajar-pemrograman-scratch-part-
1. (diakses 12 Maret).
20. Variables And How To Use Them In Scratch.
https://www.codingkids.com.au/blog/variables-and-how-to-use-them-in-
scratch/. (diakses 12 Maret).
21. What is variable in computing. https://www.theschoolrun.com/what-is-a-
variable-in-computing. (diakses 12 Maret).
22. What are procedures or functions. https://www.theschoolrun.com/what-are-
procedures-and-functions. (diakses 12 Maret).
23. Tim Pengajar Institute Teknologi Bandung. 2013. Pengantar Berpikir Komputasi
dan Pemrograman Prosedural. https://slideplayer.info/slide/13919404/.
(diakses 12 Maret).
24. Abdul Karim Syahputra. Pengantar Pemrograman Visual Dan Pengenalan Visual
Studio 2010.
25. Scratch Cards. https://resources.scratch.mit.edu/www/cards/en/scratch-cards-
all.pdf. (Diakses 12 Maret).
26. Shaker Mohammad.,et al. 2013. Evolving Playable Content for Cut the Rope
through a Simulation-Based Approach. Proceeding of the Ninth AAAI Conference
on Artificial Intelligence and Interactive Digital Entertainment.
27. Review Cut the Rope:Magic-Sihir Om Nom. https://id.techinasia.com/review-cut-
the-rope-magic (diakses 12 Maret).
28. Review Cut the Rope: Time Travel-A Must Have Game.
https://id.techinasia.com/review-cut-the-rope-time-travel (diakses 12 Maret).
15
4