COMPUTATIONAL THINKING, SCRATCH
A. Pengertian Ilmu Komputer
- Ilmu komputer bagaikan proses dari pemecahan masalah.
- Maksud dari pemecahan masalah adalah kita akan memasukkan beberapa input atau detail tentang masalah kita, lalu kita akan mendapatkan output berupa solusi dari masalah kita tersebut.
- Untuk lebih detail, ilmu komputer itu sebagai kotak hitam diantara input dan output. Kotak hitam di sini berfungsi sebagai pengaplikasian input atau bagaimana cara kita mempresentasikan input kita agar dapat menyimpan dan bekerja melalui informasi dari input dengan cara standar.
B. Biner (Binary)
- Salah satu bahasa yang dipahami komputer adalah biner (binary) yaaitu sistem angka yang hanya terdiri dari 2 angka saja yaitu 0 dan 1.
- Biner ini digunakan untuk menyimpan data, untuk membuat sistem di handphone, laptop, dll.
- Biner tidak memerlukan banyak simbol seperti simbol pada desimal yaitu angka 0-9 ataupun simbol unary seperti saat kita menghitung menggunakan satu tangan.
- Dalam desimal/angka biasa, untuk mempresentasian suatu bilangan, memiliki pola berpikir tertentu yang menggunaan pangkat 10. Misalnya, untuk mempresentasikan bilangan 123, maka polanya yaitu:
123 = 102 x 1 + 101 x 2 + 100 x 3
Dimana, angka 3 menyimbolkan satuan, angka 2 sebagai puluhan, dan angka 1 sebagai ratusan. Setiap angka/digit tersebut, menggunaan pangkat 10 karena ada 10 kemungkinan angka/digit untuk setiap fungsinya (satuan, puluhan, ratusan, ribuan, dll). - Sedangkan pada biner, hanya terdapat 2 angka/digit saja, jadi menggunakan pangkat 2 untuk setiap fungsinya, misal:
- 0 = 22 x 0 + 21 x 0 + 20 x 0 = 4 x 0 + 2 x 0 + 1 x 0 = 0
- 1 = 22 x 0 + 21 x 0 + 20 x 1 = 4 x 0 + 2 x 0 + 1 x 0 = 1
- 3 = 22 x 0 + 21 x 1 + 20 x 1 = 4 x 0 + 2 x 1 + 1 x 1 = 3
- 8 = 23 x 1 + 22 x 0 + 21 x 0 + 20 x 0 = 8 x 1 + 4 x 0 + 2 x 0 + 1 x 0 = 0
- Sistem biner sangat masuk akal untuk komputer karena komputer dapat menyala karena ada listrik yang bisa saja mati/nyala dan di dalam komputer terdapat jutaan atau milyaran saklar yang disebut transistor. Jadi, untuk melambangkan suatu bilangan, maka terdapat beberapa saklar yang dialiri listrik pada beberapa bit (binary digit), seperti halnya pola perhitungan pada binary tadi, digit 1 sebagai nyala dan digit 0 sebagai mati.
- Satu byte terdiri dari 8 bit.
C. Representing letters, emoji, character, pictures, video, etc.
- Huruf mulai dari A diwakilkan dengan biner 65 (01000001), B diwakilkan dengan 66, dst. Representing huruf ini sesuai dengan ASCII (American Standard for Information Interchange) yang terdiri dari 8 bit. Selain huruf, ASCII juga mewakili karakter grafis seperti tanda seru (!) diwakili dengan biner 33 (00100001), dan simbol Yunani.
- Sedangkan emoji atau simbol dan karakter lain diwakilkan dengan Unicode yang memiliki digit lebih banyak dibandingkan ASCII. Seperti halnya emoji “tears of joy” (😂) diwakili dengan bilangan 128514 (11111011000000010).
- Sebuah gambar terdiri dari banyak pixel (titik persegi yang lebih kecil) dan masing-masing pixel memiliki warnanya masing-masing. Untuk menampilkan sebuah gambar, pixel-pixel ini menggunakan sistem RGB (Red Green Blue). Dari tiga warna tersebut, dapat menghasilkan jutaan warna dengan mencampur sesuai dengan proporsi. Red diwakilkan 72, green diwakilkan 73, blue diwakilkan 33.
- Untuk represent video, maka sama saja dengan menampilkan banyak sekali gambar dengan pose yang berbeda per detik.
- Untuk mewakilkan musik maka terdapat 3 unsur yaitu nada, durasi, dan volume.
D. Algoritma
- Kita sudah membahas bagaimana mempresentasikan input dan output, sekarang kotak hitam itu adalah algoritma. Algoritma adalah problem solving langkah demi langkah atau proses yang dijabarkan langkah per langkah untuk menyelesaikan suatu masalah.
- Misalnya bagaimana car akita mencari kontak Mike Smith di buku telepon dengan abjad yang sudah terurut?
- Mencari Mike Smith halaman demi halaman dengan membolak-balikan satu halaman setiap kali hingga menemukan Mike Smith=> Itu akan teliti tetapi membutuhkan waktu yang lama.
- Mencari Mike Smith dengan membalikkan 2 atau lebih halaman setiap kali=> Itu lebih cepat, tetapi tidak teliti dan mungkin saja akan kontak Mike Smith akan terlewat.
- Buka buku telepon ke tengah, apakah huruf M lebih dekat dengan A/Z? Pilih salah satu bagian dimana S lebih dekat yaitu Z, lalu buang bagian A. Lalu bagi 2 lagi dan lakukan hal yang sama, hingga ketemulah kontak Mike Smith=> cara lebih efektif
- Keefektifitasan problem solving sangat diperhatikan dalam algoritma supaya dapat memecahkan masalah dengan waktu paling sedikit. Dari masalah sebelumnya, efektivitas solving problem-nya, yaitu:
n untuk problem solving pertama, n/2 untuk problem solving kedua, dan log n untuk problem solving ketiga. Ini dapat dilihat bahwa problem solving ketiga lebih efektif karena waktu yang dibutuhkan tidak terlalu meningkat terlalu tajam apabila ukuran dari masalahnya bertambah misalnya jumlah halaman bertambah.
E. Pseudocode (Kode Semu)
- Pseudocode adalah sebuah syntax informal yang lebih spesifik lagi dari bahasa yang kita gunakan yang akan mewakilkan algoritma kita.
- Seperti problem yang dibahas sebelumnya, pseudocode-nya yaitu:
- Dari pseudocode tersebut terdiri dari:
- Function: berisi kata kerja atau aksi (pick up, open to, look at, call, quit)
- Condition: cabang yang memiliki instruksi yang berbeda pada setiap kondisi (if, else if, else)
- Boolean expression: ekspresi yang menanyakan benar atau salah
- Loops: insturksi melingkar yang terus berulang-ulang
F. Scratch
- Jenis-jenis konsep pada bahasa pemograman:
- Function: berisi kata kerja atau aksi
- Condition: cabang yang memiliki instruksi yang berbeda pada setiap kondisi
- Boolean expression: ekspresi yang menanyakan benar/salah atau ya/tidak
- Loops: instruksi melingkar yang terus berulang-ulang
- Variabel
- Threads
- Event
- Scratch = bahasa pemograman komputer dimana akan menyeret dan menaruh blok-blok yang seperti potongan puzzle langkah demi langkah dan saling menyambung sehingga komputer dapat memahami apa yang diinstruksikan.
- Sumber Scrath: scratch.mit.edu
- Tampilan scratch
- Pada tampilan paling kiri, terdapat konsep-konsep yang berfungsi untuk menjalankan instruksi. Di bagian tengah tampilan berfungsi sebagai tempat untuk menaruh potongan puzzle dan menyambungkannya. Di bagian paling kanan tempat tampilan outputnya.
- Contoh pembuatan program pada Scratch:
- Dari contoh di atas, dapat dilihat bahwa potongan-potongan puzzle tersebut seperti kotak hitam untuk presenting input dan output.
Ini berarti inputnya adalah “What’s yout name?” dari potongan puzzle ask pada komputer dan outputnya adalah answer, sedangkan potongan puzzle ask ini sebagai kotak hitam. - Pada Scratch ini, terdapat instruksi-instruksi yang memungkinkan anda untuk membuat program berisikan kata-kata, menghitung, suara, bahkan menggerakan sprite (avatar) dengan pointer pada komputer anda.