Program komputer dapat membantu manusia menyelesaikan berbagai persoalan. Dengan program, komputer akan mampu menjalankan instruksi-instruksi tertentu. Instruksi-instruksi ini tersusun dari berbagai komponen seperti variabel, ekspresi logika, percabangan, perulangan dan lain-lain. Komponen tersebut diwujudkan menjadi blok visual dan dikenalkan melalui pemrograman visual seperti Scratch dan Blockly. Komponen-komponen ini dapat disusun dengan mudah melalui blok-blok yang dapat di-drag-and-drop dan saat dijalankan, program dapat dikontrol serta bereaksi terhadap tindakan pengguna.
A. Eksplorasi Lanjutan Scratch
1. Kode Control, Input, dan Variable
Aktivitas yang dapat membantu untuk memahami tentang kontrol program, input/masukan pengguna, penyimpanan variable, dan pengelompokan blok menjadi sebuah fungsi khusus atau disebut Custom Block pada Scratch. Kode Control pada Scratch dapat mengatur jalannya program, yaitu pengulangan dan kondisi. Dengan kode Control yang tepat, kode program yang dibuat dapat menjadi lebih sederhana. Input adalah sebuah proses yang digunakan untuk meminta masukan dari pengguna dan hasil masukannya akan disimpan dalam sebuah variable. Input pada Scratch menggunakan blok [ask and wait] pada kategori Sensing dan dapat ditempatkan pada blok kode sprite manapun. Variable adalah sebuah nama yang digunakan untuk menyimpan sebuah nilai, dan nilai yang disimpan dapat diubah dengan blok [set variable to] atau [change variable by]. Variable dapat dikenali di semua Sprite (global variable) atau hanya dikenali di Sprite yang aktif saat Variable dibuat (local variable).
2. Kode Custom Block
Kadang kala, kalian membutuhkan kode yang sama untuk dapat digunakan beberapa kali, kalian dapat menggunakan Custom Block pada Scratch. Custom Block adalah sebuah block pada Scratch yang dapat kalian buat sendiri dan dapat disesuaikan fungsinya. Dalam konsep pemrograman pada umumnya, Custom Block dapat dianggap sebagai fungsi/prosedur. Dengan Custom Block, kalian dapat membuat blok sendiri, yang nantinya dapat berisi blok lainnya juga. Custom Block juga dapat menerima “input” sehingga instruksi di dalamnya dapat dijalankan dengan nilai yang berbeda. Setelah mendefinisikan Custom Block sebagai blok yang kalian tentukan, kalian dapat melakukan beberapa instruksi yang disimpan dalam blok khusus tersebut dan saat nama blok tersebut “dipanggil” pada blok lain, semua instruksi di dalamnya akan dijalankan. Custom Block ini juga dapat menerima input yang akan dianggap sebagai parameter sehingga hasil dari Custom Block ini dapat lebih dinamis.
B. Blockly Games
Blockly adalah suatu tools yang dapat membantu membuat program sederhana dengan menggunakan blok-blok, seperti halnya Scratch. Dengan menggunakan Blockly, proses pengetikan kode program digantikan dengan menggabungkan blok-blok. Kalian dapat melakukan drag and drop pada blok-blok ini. Blok-blok ini merepresentasikan konsep-konsep dasar pemrograman seperti variabel, ekspresi logika, looping, dan lain-lain. Pada Blockly, blok-blok yang sudah disusun dapat langsung diterjemahkan ke berbagai bahasa pemrograman seperti JavaScript, PHP, Python, dan lain-lain. Hal inilah yang membedakan antara Blockly dengan Scratch yang pernah kalian pelajari sebelumnya.
Sebelum belajar membuat program dengan Blockly, kalian akan diajak untuk mengenal Blockly dengan permainan-permainan yang menyenangkan. Dalam permainan-permainan ini, kalian diminta untuk menyelesaikan sebuah masalah dengan membuat program sederhana. Program dibuat sesuai dengan blok yang disediakan pada setiap game. Blockly Games dapat diakses melalui link ini.
Penjalasan singkat untuk setiap permainan yang disediakan di Blockly Games.
- Puzzle: Pemain harus menyusun blok-blok yang berisi keterangan dan foto hewan ke blok hewan yang sesuai. Kalian akan belajar mengenali blok yang digunakan pada Blockly. Melalui permainan ini, kalian juga dapat belajar tentang kosakata (vocabulary) dalam bahasa Inggris dan informasi tentang beberapa hewan.
- Maze: Pemain diminta untuk menggerakkan sprite agar berjalan sampai tujuan. Dalam permainan ini, kalian akan mengasah kemampuan logika berpikir kalian sehingga dapat menyelesaikan setiap levelnya.
- Bird: Pemain diminta untuk menggerakkan bird agar dapat mengambil cacing dan sampai ke sarangnya. Sama seperti permainan maze, kalian akan mengasah logika berpikir kalian. Selain itu, di permainan ini kalian juga belajar tentang koordinat dan sudut.
- Turtle: Pemain diminta untuk menggerakan turtle untuk menggambar sesuai pola yang disediakan. Kalian akan belajar tentang pengenalan pola serta perulangannya.
- Movie: Pemain diminta untuk membuat sprite sederhana dan menggerakkannya sesuai instruksi. Dalam permainan ini, kalian akan belajar tentang cara pembuatan animasi, yang dimulai dari gambar awal dan gambar akhir serta ada interval (range) waktu diantaranya.
- Music: Pemain diminta untuk membuat musik sederhana berdasarkan not balok yang diberikan. Permainan ini juga mengenali pola seperti turtle, hanya saja pada turtle adalah pola gambar, sedangkan pada permainan music adalah pola not balok atau suara yang dikeluarkan.
- Pond Tutor: Pemain diminta untuk menggerakan sprite agar menembaki sprite target hingga darah dari sprite target habis. Pada permainan Pond Tutor ini kalian akan belajar untuk tidak hanya menggunakan blok kode, tetapi juga langsung mengetik jawabannya dalam format kode Javascript.
- Pond: Permainan ini merupakan lanjutan dari permainan Pond Tutor. Pada permainan ini, sprite pemain memiliki 3 lawan. Kalian dapat memilih untuk menyelesaikan permainan ini menggunakan blok kode atau kode langsung dalam Javascript.
Kalau kalian ingat sewaktu eksplorasi dengan Scratch, blok kode program akan ditempatkan pada setiap sprite yang tersedia. Adapun Blockly memiliki pendekatan yang sedikit berbeda. Blok kode program pada Blockly ditempatkan pada tempat yang sama dan melalui aktivitas ini, kalian akan belajar untuk memahami lebih lanjut mengenai eksplorasi sprite pada Blockly.
Dalam dunia grafika komputer, sprite adalah komponen dalam sebuah program yang merupakan gambar bitmap dua dimensi. Sprite banyak digunakan untuk menggambarkan objek seperti tokoh karakter atau benda lain, baik diam maupun bergerak. Sprite yang bergerak sebenarnya memanfaatkan perubahan posisi dari sprite atau menggunakan gambar lain sehingga seolaholah terjadi animasi. Sekarang, kalian akan mencoba eksplorasi Blockly dengan beberapa objek/sprite.
Sayangnya, ini tidak bisa kalian lakukan dengan lingkungan yang sebelumnya dipakai. Dengan menggunakan instalasi tools Coding with Chrome, akan muncul tampilan awal. Kalian dapat memilih level programming kalian, Beginner untuk yang masih belajar dan Advanced untuk yang sudah lebih terbiasa dengan pemrograman. Untuk kali ini, kalian akan mencoba dulu yang tahap Beginner. Pilih menu “Use Beginner Mode” dan kalian akan diminta untuk memilih lagi, ada menu Blockly, Games, dan Robots. Penjalasan singkat 3 kategori tersebut adalah:
- Blockly: Menggunakan blok-blok yang di drag & drop seperti pada Scratch dan Blockly Games untuk membuat kode program.
- Games: Menggunakan blok-blok yang di-drag & drop juga untuk membuat games.
- Robots: Menggunakan Blockly untuk mengontrol jalannya robot. Terdapat beberapa merk robot yang dapat digunakan langsung, seperti Lego EV3 atau Sphero.
C. Pengenalan Pemrograman Prosedural
Dalam pemrograman prosedural, kalian akan memprogram berdasarkan konsep komputer yang sudah dipelajari pada modul SK (Sistem Komputer). Tentunya kalian masih ingat, bahwa komputer mempunyai tiga elemen penting, yaitu perangkat input, pemroses utama (CPU), dan perangkat output. CPU memiliki memori, bus dan ALU. Maka, komputer dapat menerima input, yang kemudian akan ditampung dalam memori, dan supaya dapat diambil kembali disimpan dalam sebuah “nama” variabel. Sebuah program komputer akan mengendalikan komputer dalam melakukan Input-Proses-Output. Maka, dengan menuliskan sebuah program komputer, kalian dapat memerintah komputer untuk hal berikut.
- Menerima input, dengan menyimpannya dalam sebuah variabel, serta mengambil isinya jika diperlukan dengan menyebutkan nama variabel.
- Mengeluarkan output, dengan menggunakan perintah “print”, “write”, atau “display” atau lainnya, yang akan membuat komputer menampilkan nilai yang disimpan dalam variabel atau diberikan, tergantung perintah tersebut mau diarahkan ke layar atau ke printer, atau ke piranti atau bahkan artefak keluaran lainnya (misalnya menyalakan/mematikan lampu).
- Melakukan perhitungan aritmatika dan logika, sesuai dengan operasi aritmatika yang menggunakan operator kali, bagi, tambah, kurang atau operasi logika dengan menggunakan operator and, or, not, atau operasi perbandingan dengan operator <, >, =
Pada saat membuat program, seringkali, kalian ingin menyimpan nilai-nilai untuk dapat digunakan kembali. Di dalam pemrograman, variabel digunakan untuk menyimpan nilai-nilai. Selain menyimpan nilai, sebuah variabel juga harus memiliki nama sehingga dapat dibedakan dengan variabel lainnya. Nama variabel haruslah mudah untuk dikenali. Karena itu, perhatikanlah beberapa tips berikut ini ketika memberi nama untuk sebuah variable:
a. Buatlah nama variabel yang menggambarkan fungsi variabel tersebut. Bayangkan jika variabel kalian hanya bernama “x”, “y”, “z”. Mungkin kalian akan lupa apa fungsi variabel tersebut di tengah-tengah pengerjaan program.
b. Tidak perlu memberikan nama yang panjang untuk variabel yang kalian buat. Jika kalian menggunakan bahasa pemrograman lain yang mengharuskan kalian mengetik nama variabel untuk memanggil variabel tersebut, kalian akan kesulitan mengetik nama yang panjang dan mungkin kalian akan sulit mengingat semua nama variabel itu.
Salah satu kemampuan dari sebuah program komputer ialah kemampuannya dalam pengambilan keputusan. Untuk membuat program dapat memilih di antara beberapa alternatif atau keputusan-keputusan, ada dua hal yang harus dilakukan oleh komputer, yaitu:
- a. memeriksa apakah suatu kondisi bernilai benar atau salah,
- b. memilih keputusan atau alternatif berdasarkan kondisi tersebut.
Komputer memeriksa nilai kebenaran dari suatu kondisi dengan menggunakan operasi perbandingan dan operasi logika. Operasi perbandingan di dalam pemrograman antara lain adalah sebagai berikut.
- Sama dengan (=): operasi ini digunakan untuk memeriksa apakah dua buah nilai bernilai sama atau tidak.
- Tidak sama dengan (≠ ): operasi ini digunakan untuk memeriksa apakah dua buah nilai bernilai berbeda atau tidak.
- Kurang dari (<): operasi ini digunakan untuk memeriksa apakah suatu nilai lebih kecil daripada nilai lainnya.
- Lebih dari (>): operasi ini digunakan untuk memeriksa apakah suatu nilai lebih besar daripada nilai lainnya.
Di dalam kehidupan sehari-hari, seringkali kalian perlu melakukan suatu kegiatan yang di dalamnya terdapat hal yang dilakukan secara berulangulang. Sebagai contoh, pada saat seseorang mengecat kamar, paling tidak dua hal berikut ini harus dilakukan secara berulang-ulang:
- a. Celupkan kuas ke wadah cat.
- b. Usapkan kuas ke dinding kamar yang akan dicat.
Kedua proses di atas harus dilakukan secara berulang-ulang sampai semua bagian dinding telah dicat. Tidak hanya manusia, komputer juga perlu melakukan pengulangan dalam mengerjakan tugasnya. Di dalam komputer, khususnya pemrograman, konsep ini dikenal dengan repetition atau loops. Pada bagian ini, kalian akan mempelajari cara menggunakan loops dalam Blockly.
1. Blok [repeat n times] Blok ini dapat digunakan untuk melakukan sebanyak yang ditentukan. Terdapat dua buah bagian yang perlu diisi ketika menggunakan blok ini, yaitu banyaknya perulangan dan tindakan atau action apa yang perlu dilakukan secara berulangulang. Sebagai contoh, kalian dapat menampilkan kata “Blockly” sebanyak 10 kali
2. Blok [repeat..while] Blok ini dapat digunakan jika kalian ingin melakukan perulangan selama suatu kondisi atau syarat tertentu terpenuhi. Dengan kata lain, ketika syarat perulangan sudah tidak lagi terpenuhi, perulangan akan berakhir. Berikut ini beberapa contoh perulangan jenis ini:
- 1. Maju satu langkah sampai ada dinding
- 2. Berolahraga setiap hari hingga berat badan turun sebanyak 10 Kg
Silahkan diunduh buku gratis di bawah ini.
Contoh:
https://ineedmentalcarehelpmeplease.blogspot.com/2023/03/rangkum-man.html
22 Januari, kita berjanji
Coba saling mengerti apa di dalam hati
22 Januari, tidak sendiri
Aku berteman iblis yang baik hati
Jalan berdampingan, tak pernah ada tujuan
Membelah malam, mendung yang s’lalu datang
Kudekap erat, kupandang senyummu
Dengan sorot mata yang keduanya buta
Lalu kubisikkan
Sebaris kata-kata
Putus asa
S’bentar lagi hujan
Dua buku teori, kaupinjamkan aku
Tebal, tidak berdebu, kubaca s’lalu
Empat lembar fotomu dalam lemari kayu
Kupandang dan kujaga sampai kita jemu
Jalan berdampingan, tak pernah ada tujuan
Membelah malam, mendung yang s’lalu datang
Kudekap erat, kupandang senyummu
Dengan sorot mata yang keduanya buta
Lalu kubisikkan
Sebaris kata-kata
Putus asa
S’bentar lagi hujan