0% found this document useful (0 votes)
140 views32 pages

33 Mgg03 Ku1102 Computationalthinking

Mata Kuliah Pengenalan Komputasi ITB Computational Thinking
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views32 pages

33 Mgg03 Ku1102 Computationalthinking

Mata Kuliah Pengenalan Komputasi ITB Computational Thinking
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Computational Thinking

Tim Penyusun Materi Pengenalan Komputasi


Institut Teknologi Bandung © 2019
Tujuan
• Mahasiswa mampu menjelaskan konsep dasar computational
thinking untuk pemecahan persoalan: problem decomposition,
abstraction, pattern recognition, dan algorithmic thinking
• Mahasiswa mampu menggunakan konsep dasar problem
decomposition, abstraction, pattern recognition dalam
mengidentifikasi dan menjelaskan suatu persoalan

10/09/2019 Pengenalan Komputasi 2


Computing is Everywhere
Computing in Religion Study
Search engine on sacred texts, multimedia for learning sacred texts,
find chapters and verses related to daily concepts, classification of
prophetic narrations, etc.

Computing in History Study


Information retrieval on historical documents, digitizing hand-written
historical documents, augmented and virtual reality tour at historical
places, etc.

Computing in Military and Intelligence


Encryption for securing confidential communication, military
inventory management, computer simulation for military training,
object recognition, open source intelligence, etc.

Computing in Politics
Vote counting system, decision support systems, digital campaign,
Mention any domain where e-government services, etc.
computing is not useful.

10/09/2019 Pengenalan Komputasi 3


Data – Information – Knowledge – Wisdom

https://www.i-scoop.eu/big-data-action-
value-context/dikw-model/

9/10/2019 Pengenalan Komputasi 4


What is Computational Thinking
Computational thinking is the thought processes involved in
formulating a problem and expressing its solution(s) in such a way
that a computer —human or machine— can effectively carry out.

“Human computers”??
• Humans can compute
• People can learn computational
thinking without a machine

http://socialissues.cs.toronto.edu/index.html%3Fp=279.html

10/09/2019 Pengenalan Komputasi 5


Why Do I Need Computational Thinking?
• Computational thinking: Digital age skills for everyone
• http://youtu.be/VFcUgSYyRPg

10/09/2019 Pengenalan Komputasi 6


10/09/2019 Pengenalan Komputasi 7
4 Pillars of
Computational
Thinking

https://www.computationalthinkers.com/product/computationalthinking/

10/09/2019 Pengenalan Komputasi 8


Dekomposisi Persoalan
• Menyelesaikan sebuah masalah dengan cara membagi masalah
menjadi sub-masalah yang lebih kecil, kemudian memecahkan
masalah-masalah yang lebih kecil tersebut secara terpisah.

10/09/2019 Pengenalan Komputasi 9


Divide and
Conquer
Strategy

https://www.khanacademy.org/computing/computer-
science/algorithms/merge-sort/a/divide-and-conquer-algorithms
9/10/2019 Pengenalan Komputasi 10
Contoh Dekomposisi Persoalan (1)
Dekomposisi Penulisan Artikel Ilmiah
1. Ide utama
1. Sub-poin ide 1
1. Sub poin 1.1
2. Sub poin 1.1
2. Sub-poin ide 1
1. Sub poin 1.2
2. Sub poin 1.2
1. Sub poin 1.2.2
2. …
2. Ide utama
1. …

10/09/2019 Pengenalan Komputasi 11


Contoh Dekomposisi Persoalan (2)
Dekomposisi fungsional sebuah mobil, dari perspektif pengendara

Car

Steering Brake Ligthing Power



System System System System

… … … …

10/09/2019 Pengenalan Komputasi 12


Latihan Dekomposisi Persoalan
Dekomposisi Ruang Kelas
• Perhatikan ruang kelas dimana Anda sekarang berada.
• Perhatikan semua benda (mati) yang ada di ruangan.

Tantangan:
Diskusikan dekomposisi yang tepat untuk menggambarkan permasalahan-
permasalahan dalam membangun ruang kelas!

Petunjuk:
• Dekomposisi bisa dilakukan berdasarkan aspek yang berbeda, misal:
berdasarkan jenis-jenis objek yang ada, berdasarkan fungsinya, dst.
• Dekomposisi dapat dilakukan secara bertingkat.

10/09/2019 Pengenalan Komputasi 13


Latihan Dekomposisi Persoalan
Dekomposisi Sistem Informasi Akademik
Diberikan sebuah deskripsi singkat sebuah sistem informasi akademik sebagai berikut:
Sebelum semester perkuliahan dimulai, semua mahasiswa wajib melakukan pengambilan matakuliah
dengan mengisi Formulir Rencana Studi (FRS), yang harus disetujui oleh wali akademik. Mahasiswa
mengisi FRS dalam rentang waktu yang telah ditentukan dengan memilih daftar matakuliah dari struktur
kurikulum. Di setiap awal semester, mahasiswa juga wajib membayar uang kuliah melalui sebuah rekening
bank tertentu yang akan secara otomatis tercatat oleh sistem. Setelah uang kuliah dibayar, mahasiswa dapat
melakukan pencetakan Kartu Studi Mahasiswa (KSM) sebagai bukti pengambalian matakuliah pada
semester tersebut. Wali akademik, Kaprodi, dan staf administrasi juga dapat memantau status pengambilan
matakuliah dan status pencetakan KSM.
Tantangan:
Diskusikan dekomposisi modul-modul (beserta fungsi-fungsinya) yang perlu dibangun untuk
mengimplementasikan sistem informasi akademik tersebut.

Petunjuk:
Dekomposisi dapat dilakukan dengan menggunakan berbagai perspektif, misal berdasarkan jenis
penggunanya, berdasarkan fungsi-fungsi yang dilakukan, berdasarkan waktu dimana fungsi-fungsi
dijalankan, dst.
10/09/2019 Pengenalan Komputasi 14
Dekomposisi Permasalahan
• Sistem login:
• Autentifikasi identitas dosen:
• Autentifikasi identitas mahasiswa
• Autentifikasi identitas kaprodi
• Menu utama:
• Interface mahasiswa
• Interface dosen
• Interface kaprodi
• Dst…

10/09/2019 Pengenalan Komputasi 15


Contoh Dekomposisi (1/2)
• Membangun menu utama pada interface untuk
mahasiswa:
• Struktur kurikulum (menampilkan daftar MK). Link “Ambil
Mata Kuliah” aktif apabila:
• MK berada pada tahap TPB
• Rentang waktu pengisian FRS masih masuk
• Status FRS belum disetujui oleh dosen
• Modul pemrosesan “submit” setiap MK yang diambil.
Pemasukan sebuah MK disetujui sistem apabila:
• Jumlah SKS kumulatif masih di bawah batas maksimal
• Rentang waktu pengisian FRS masih masuk

10/09/2019 Pengenalan Komputasi 16


Contoh Dekomposisi (2/2)
• Daftar MK yang diambil (menampilkan daftar MK yang telah dipilih). Link
“Hapus Mata Kuliah” aktif apabila:
• Rentang waktu pengisian FRS masih masuk
• Status FRS belum disetujui dosen
• Modul pemrosesan “submit” setiap MK yang dihapus. Penghapusan
sebuah MK disetujui sistem apabila:
• Rentang waktu pengisian FRS masih masuk
• Modul pemasukan (submit) paket MK (FRS). Pemasukan FRS disetujui
sistem jika:
• Rentang waktu pengisian FRS masih masuk

10/09/2019 Pengenalan Komputasi 17


Pengenalan Pola
• Mengenali kesamaan/perbedaan karakteristik dari berbagai
permasalahan/fenomena yang berbeda tetapi memiliki
keterkaitan.

10/09/2019 Pengenalan Komputasi 18


Contoh Pengenalan Pola (1)
Find matching socks

10/09/2019 Pengenalan Komputasi 19


Contoh Pengenalan Pola (2)
Sequential Pattern Mining
• Diberikan sekumpulan data yang berisi daftar kejadian/aktivitas yang
dilakukan secara berurutan, misalnya dari
• catatan transaksi di sebuah platform e-commerce,
• patient medical records, dsb
• Kita bisa mendapatkan rangkaian-rangkaian kejadian terurut yang
merupakan pola yang diyakini sering terjadi, misalnya:
• Pelanggan yang membeli smartphone, biasanya dalam rentang waktu 3 hari ke
depan juga akan membeli screen protector dan/atau casing
• Untuk sebuah jenis penyakit tertentu, pola-pola pengobatan seperti apa yang umum
dilakukan dan memberikan probabilitas kesembuhan yang lebih baik

10/09/2019 Pengenalan Komputasi 20


Latihan Pengenalan Pola (1)
Pola String
Diberikan beberapa contoh nomor telepon internasional sebagai berikut:
+62-811-234567 +62 (817) 123-456
+1-888-300400 +1888300400
+44 (800) 987654 0065 7788 9900
0043-6543210 +966-200-300

Tantangan:
Rumuskan daftar aturan yang menyatakan bahwa sembarang string adalah sebuah nomor
telepon internasional dengan pola yang benar.

Misal:
1. Nomor telepon internasional hanya boleh memiliki karakter angka, +, -, (, ), dan spasi
2. …

10/09/2019 Pengenalan Komputasi 21


Latihan Pengenalan Pola (2)
Sandi Bebras
Gambar berwarna-warni dikodekan oleh sebuah program dengan Sandi Bebras.
Kode itu bisa dilihat di sebelah kanan gambar berikut, yang terdiri dari untaian
huruf. Sayangnya, kode untuk baris ketiga hilang.

Tantangan:
Untaian huruf mana yang merupakan sandi untuk baris ketiga yang hilang?

Sumber: Bebras Indonesia (www.bebras.or.id). Kode Soal: I-2012-XXX-011-Sandi Bebras


10/09/2019 Pengenalan Komputasi 22
Latihan Pengenalan Pola (3)
Persamaan Karakteristik
Diskusikan berkelompok dengan 4
orang teman di sekitar Anda:
• Cari tujuh kesamaan karakteristik
yang dimiliki oleh semua orang di
kelompok Anda, kecuali: umur, jenis
kelamin, prodi/sekolah/fakultas.

10/09/2019 Pengenalan Komputasi 23


Abstraksi dan Generalisasi
• Menghilangkan bagian-bagian dari sebuah permasalahan yang
tidak penting (abstraksi) untuk mendapatkan solusi umum dalam
memecahkan masalah yang sejenis (generalisasi).

10/09/2019 Pengenalan Komputasi 24


Contoh Abstraksi
Abtraksi Informasi

Informasi yang muncul di sebuah peta sesuai dengan level petanya.

Abstraksi peta Abstraksi peta Abstraksi peta level Jabar


level ITB level Bandung (Apa yang terjadi jika semua nama jalan
muncul pada level ini?)
10/09/2019 Pengenalan Komputasi 25
Contoh Abstraksi Data
Abstraksi Data Mahasiswa

Tergantung ruang lingkup sistem informasi yang digunakan, data mahasiswa


dapat memiliki detil atribut yang berbeda-beda.

• NIM, Nama
• IPK, matakuliah yang diambil, matakuliah yang sudah lulus
Sistem
Kemahasiswaan • Nama orang tua, jumlah saudara, alamat asal, alamat tinggal

• NIM, Nama
Sistem • IPK, matakuliah yang diambil, matakuliah yang sudah lulus
Akademik

• NIM, Nama
Sistem Umum
Lainnya

10/09/2019 Pengenalan Komputasi 26


Contoh Abstraksi - Generalisasi
Turtle Graphics (Generalisasi Prosedur)
• Prosedur penggambaran sembarang vector
graphics 2D dapat digeneralisasikan dengan
menggunakan robot kura-kura.
• Robot kura-kura memiliki tiga atribut: posisi, arah,
dan pena. Pena kura-kura juga memiliki 3 atribut:
on/off, warna, dan lebar.
• Robot kura-kura ini dapat menerima tiga perintah
sederhana: maju, putar, dan ubah atribut pena.
• Pertanyaan: atribut/perintah apa yang harus
ditambahkan pada robot kura-kura agar bisa
menggambar sembarang 3D graphics?

https://en.wikipedia.org/wiki/Turtle_graphics

10/09/2019 Pengenalan Komputasi 27


Latihan Abstraksi - Generalisasi
Robot Pengembara Kota
Suatu robot bekerja di suatu kota. Robot berjalan menyusuri jalan
dari suatu tempat ke tempat lain mengikuti instruksi yang diberikan.
Pada setiap pertemuan beberapa ruas terdapat putaran (jalan
memutar) dan robot akan memutar berlawanan arah jarum jam,
kemudian mengambil simpangan urutan tertentu sesuai yang
petunjuk yang diberikan.
Petunjuk yang diberikan berupa angka-angka urutan simpangan.
Misalnya petunjuk "4 1 2" akan diikuti robot sebagai berikut:
• Pada putaran pertama, ambil simpangan ke-4.
• Pada putaran kedua, ambil simpangan ke-1.
• Pada simpangan ketiga, ambil simpangan ke-2.

Tantangan:
Catatan Generalisasi:
Jika pada awalnya robot berada di A, petunjuk manakah yang akan Navigasi dari sembarang titik ke titik yang
membawa robot ke C?
lain cukup dilakukan dengan memberikan
serangkaian angka!
Sumber: Bebras Indonesia (www.bebras.or.id). Kode Soal: I-2017-Sl-02
10/09/2019 Pengenalan Komputasi 28
Latihan Generalisasi dan Pengenalan Pola
Pengenalan Wajah Tersenyum
Berang-berang menemukan suatu alat untuk mendeteksi wajah
tersenyum dengan kamera. Alat tersebut bekerja dengan 2 langkah:
1. Transformasi foto wajah menjadi semacam "smiley" yang diberi 1
dua titik dan garis yang menunjukkan posisi mata dan mulut.
2. Deteksi apakah wajah tersenyum dengan mencocokkan gambar
hasil tahap-1 dengan pola yang terdiri dari garis merah dan titik 2
hijau. Wajah dideteksi sebagai wajah tersenyum, jika dan hanya
jika gambarnya menyentuh semua titik hijau dan tidak
menyentuh garis merah.

Tantangan:
Gambar mana saja dari hasil tahap-1 sebagai berikut,
yang dideteksi sebagai wajah tersenyum? 1 2 3 4 5

Sumber: Bebras Indonesia (www.bebras.or.id). Kode Soal: I-2017-DE-02


6 7 8 9 10
10/09/2019 Pengenalan Komputasi 29
Latihan Generalisasi dan Pengenalan Pola
Jawaban Pengenalan Wajah Tersenyum

Moral cerita:
• Pengenalan pola wajah tersenyum cukup
1 2 3 4 5 dilihat dari posisi mata dan bentuk mulut
(abstraksi).
• Wajah yang tersenyum dapat disimpulkan
dengan kriteria berdasarkan batasan garis
merah yang ditetapkan (generalisasi).
6 7 8 9 10
Gambar dengan tanda x memenuhi syarat sebagai
wajah yang tersenyum.

Sumber: Bebras Indonesia (www.bebras.or.id). Jawaban Kode Soal: I-2017-DE-02


10/09/2019 Pengenalan Komputasi 30
All-in-one Exercise
• Problem statement: semua mahasiswa matakuliah KU1102 harus sudah tiba di
ruang kelas setiap hari Senin pukul 7 pagi dan menyelesaikan seluruh
pekerjaan/kewajiban di rumahnya sebelum berangkat.
• Dekomposisi (lakukan secara individu):
• Dekomposisikan masalah di atas menjadi langkah-langkah kecil yang biasanya Anda
dilakukan, mulai dari bangun tidur hingga duduk di ruang kelas
• Pengenalan pola (diskusikan berkelompok 3 orang):
• Carilah kesamaan dan perbedaan dari langkah-langkah kecil per individu sehingga menjadi
langkah-langkah kecil penyelesaian masalah bersama
• Abstraksi dan generalisasi (diskusikan 3 orang x 2 kelompok):
• Gabungkan langkah-langkah penyelesaian masalah dari ke-dua kelompok
• Abstraksi: buang langkah-langkah yang dianggap tidak perlu (misal terlalu spesifik atau tidak
terlalu penting)
• Generalisasi: rumuskan langkah-langkah penyelesaian masalah yang general, sedemikian
rupa sehingga dapat/perlu dilakukan oleh semua mahasiswa KU1102 agar problem di atas
terpecahkan.

10/09/2019 Pengenalan Komputasi 31


Pengantar Algorithmic Thinking
Dari Ide Menjadi Algoritma
• Algoritma: himpunan prosedur langkah per langkah untuk
menyelesaikan suatu [sub]persoalan
• Dapat ditulis dengan menggunakan teks atau gambar:
• Pseudocode (contoh: notasi algoritmik) → teks; persilangan antara bahasa
manusia dan bahasa pemrograman
• Flowchart → diagram
• Algoritma disusun dengan memanfaatkan control structure yang
menentukan bagaimana urutan langkah dieksekusi
• Sequence: langkah-langkah yang dieksekusi berurutan
• Conditional (percabangan): pilihan langkah
• Repetition/loop (pengulangan): pengulangan langkah
(Akan dibahas pada beberapa minggu pertemuan yang akan datang)
10/09/2019 Pengenalan Komputasi 32

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy