Computational Thinking

35
Computational Thinking Fundamental Skill Used By Everyone By The Middle Of 21 st Century Haddad Sammir, M.Kom June 23, 2015 Haddad Sammir, M.Kom Computational Thinking

description

Presentasi kuliah umum "Computational Thinking".

Transcript of Computational Thinking

Page 1: Computational Thinking

Computational ThinkingFundamental Skill Used By Everyone By The Middle Of 21st

Century

Haddad Sammir, M.Kom

June 23, 2015

Haddad Sammir, M.Kom Computational Thinking

Page 2: Computational Thinking

Komputasi dan KomputerKomputasi

Menurut kamus Merriam Webster, komputasi adalah1 :1 the act or action of computing : calculation2 the use or operation of a computer

Wikipedia menambahkan2 :1 Computation is a process following a well-defined model

understood and expressed as, for example, an algorithm, or aprotocol.

1http://www.merriam-webster.com/dictionary/computation2https://en.wikipedia.org/wiki/Computation

Haddad Sammir, M.Kom Computational Thinking

Page 3: Computational Thinking

Komputasi dan KomputerKomputasi

Komputasi dapat diklasifikasikan kepada tiga kriteria:1 Digital vs Analog.2 Sequential vs Parallel vs Concurrent.3 Batch vs Interactive.

Sebuah komputasi dapat dilihat sebagai fenomena fisik murniyang terjadi di dalam sistem fisik tertutup yang disebutkomputer.

Sistem fisik tersebut dapat berupa komputer digital, komputermekanik, komputer analog, dll.

Haddad Sammir, M.Kom Computational Thinking

Page 4: Computational Thinking

Komputasi dan KomputerKomputer

Menurut kamus Merriam Webster, komputer adalah3:1 one that computes; specifically : a programmable usually

electronic device that can store, retrieve, and process data

Wikipedia menambahkan4:1 A computer is a general-purpose device that can be

programmed to carry out a set of arithmetic or logicaloperations automatically.

3http://www.merriam-webster.com/dictionary/computer4https://en.wikipedia.org/wiki/Computer

Haddad Sammir, M.Kom Computational Thinking

Page 5: Computational Thinking

KomputerSejarah Perkembangan Komputer

Sebelum abad ke 20, kalkulasi dilakukan sepenuhnya olehmanusia.

Alat mekanis awal yang digunakan untuk membantu manusiamenghitung disebut ”mesin hitung” (calculating machines).

Operator mesin tersebut disebut sebagai computer.

Haddad Sammir, M.Kom Computational Thinking

Page 6: Computational Thinking

Sejarah Perkembangan KomputerZaman Kuno

Alat bantu hitung paling sederhana adalah menggunakan jari.

Sempoa / Abacus / Suanpan

5

5Sumber: WikipediaHaddad Sammir, M.Kom Computational Thinking

Page 7: Computational Thinking

Sejarah Perkembangan KomputerKomputer General Purpose Pertama

Charles Babbage pertama sekali memperkenalkan konsepkomputer yang dapat diprogram.

Dikenal sebagai ”bapak komputer” yang menemukankomputer mekanik pertama.

Input yang digunakan adalah punched card dan output yangdiberikan dalam bentuk printer dan bell.

Haddad Sammir, M.Kom Computational Thinking

Page 8: Computational Thinking

Sejarah Perkembangan KomputerKomputer Analog Pertama

Komputer analog moderen pertama adalah mesin pemprediksipasang laut yang ditemukan oleh Sir William Thomson padatahun 1872.

Haddad Sammir, M.Kom Computational Thinking

Page 9: Computational Thinking

Sejarah Perkembangan KomputerEra Komputer Digital

Prinsip komputer moderen pertama sekali dijabarkan olehAlan Turing.

Pada tahun 1938 angkatan laut Amerika mengembangkankomputer elektromekanika yang cukup kecil untuk bisadiletakkan pada kapal selam yang menggunakan trigonometriuntuk menyelesaikan masalah menembakkan torpedo ke targetyang bergerak.

John Vincent Atanasoff dan Clifford E. Berry dari Iowa StateUniversity mengembangkan dan menguji Atanasoff-BerryComputer (ABC) pada tahun 1942 yang merupakan komputerdigital elektonik otomatis pertama.

Ditemukannya transistor bipolar pada tahun 1947 yangmenggantikan penggunaan vacuum tube.

Haddad Sammir, M.Kom Computational Thinking

Page 10: Computational Thinking

MicroprocessorPerkembangan Microprocessor

Mikroprosesor menjadi semakin kecil, semakin padat dansemakin handal.

Hukum Moore: Kepadatan (densitas) mikroprosesormeningkat dua kali lipat setiap 18 bulan.

Berarti: Jumlah transistor pada mikroprosesor bertambah duakali lebih banyak setiap 1,5 tahun.

Microprocessor menjadi semakin handal.

Haddad Sammir, M.Kom Computational Thinking

Page 11: Computational Thinking

Pengaruh Perkembangan MicroprocessorThird Pillar of Science

Kehandalan microprocessor dan komputasi parallel membukapeluang melakukan kalkulasi kompleks yang berkaitan denganilmu pengetahuan dan dengan data dalam jumlah sangatbesar.

Scientific computing yang juga disebut sebagai ”third pillar ofscience”, berada setelah analisa teori dan experimen dalampenemuan ilmiah.

”An important development in sciences is occurring atthe intersection of computer science and the sciencesthat has the potential to have a profound impact onscience. It is a leap from the application of computing . .. to the integration of computer science concepts,tools, and theorems into the very fabric of science.”- Science 2020 Report, March 2006

Haddad Sammir, M.Kom Computational Thinking

Page 12: Computational Thinking

Third Pillar Of ScienceKomputasi Ilmiah

Komputasi ilmiah menjadi krusial pada kondisi sebagai berikut6:

1 Masalah sulit diselesaikan hanya dengan teori dan eksperimentradisional. Contohnya memprediksi perubahan iklim.

2 Eksperimen dapat sangat berbahaya. Misalnya jika melibatkanpenggunaan material beracun.

3 Masalah dapat terlalu berat dan membutuhkan waktu yangsangat lama. Seperti menentukan struktur protein.

6http://www.bu.edu/me/research/research-areas/computational-science-and-engineering/

Haddad Sammir, M.Kom Computational Thinking

Page 13: Computational Thinking

Komputasi IlmiahSimulasi

Untuk mendapatkan pemahaman terhadap sebuah masalah,komputer memungkinkan sesorang untuk mensimulasikanfenomenanya.

Definisi simulasi menurut kamus Merriam Webster7:

: something that is made to look, feel, or behave likesomething else especially so that it can be studied or used totrain people

Definisi simulasi komputer menurut Science Daily8:

A computer simulation or a computer model is a computerprogram that attempts to simulate an abstract model of aparticular system.

7http://www.merriam-webster.com/dictionary/simulation8http://www.sciencedaily.com/terms/computer simulation.htm

Haddad Sammir, M.Kom Computational Thinking

Page 14: Computational Thinking

Simulasi Dan Computational Thinking

Simulasi komputer mensimulasikan model abstrak dari sebuahsistem.

Agar sebuah sistem dapat disimulasikan oleh komputer, makasistem tersebut perlu dimodelkan dalam bentuk (format) yangdapat diproses oleh komputer.

Konsep berpikir dalam proses abstraksi sebuah sistem kedalam bentuk yang dapat diproses oleh komputer membawakita kepada computational thinking.

Haddad Sammir, M.Kom Computational Thinking

Page 15: Computational Thinking

Computational ThinkingApa dan Mengapa

Computational thinking adalah9:

Computational thinking is the thought processes involved informulating problems and their solutions so that the solutionsare represented in a form that can be effectively carried out byan information-processing agent.[CunySnyderWing10]

Computational thinking menggambarkan aktifitas mentaldalam memformulasikan masalah untuk menerima sebuahsolusi komputasi.

Solusi komputasi dapat dilakukan oleh baik manusia maupunkomputer atau kombinasi keduanya.

9http://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why

Haddad Sammir, M.Kom Computational Thinking

Page 16: Computational Thinking

Computational ThinkingTeknik Spesifik Computational Thinking

1 Decomposition: memecah masalah besar yang sulit menjadimasalah-masalah kecil yang mudah ditangani.

2 Pattern recognition: kemampuan untuk memperhatikan pola(persamaan atau perbedaan umum).

3 Abstraction: memotret sifat esensial yang umum dari objekdan mengabaikan detil yang tidak relevan.

4 Algorithm Design: kemampuan untuk membangunlangkah-langkah strategis untuk menyelesaikan masalah.

Haddad Sammir, M.Kom Computational Thinking

Page 17: Computational Thinking

Computational ThinkingAbstraction Adalah Kuncinya 1

Ilmu komputer adalah automation of abstraction.

Proses paling penting pada computational thinking adalahproses abstraction.

Abstraction (abstraksi) digunakan untuk mendefinisikanpola-pola, menangkap hal-hal umum dan parameterisasi.

Contoh abstraksi:1 Algoritma merupakan abstraksi dari proses yang mengambil

input, mengeksekusi serangkaian langkah dan menghasilkanoutput yang sesuai dengan tujuan yang diharapkan.

2 Sebuah tipe data abstrak mendefinisikan kumpulan abstraknilai-nilai dan operasi untuk memanipulasinya.

Haddad Sammir, M.Kom Computational Thinking

Page 18: Computational Thinking

Computational ThinkingAbstraction Adalah Kuncinya 2

Menerapkan abstraksi secara berulang memberikankemampuan utuk membangun sistem yang lebih luas lagi.

Sistem komputer dibangun dalam bentuk lapisan abstraksisehingga pengguna cukup fokus pada satu layer pada satuwaktu.

Contoh: saat menulis program dalam bahasa tingkat tinggi,programmer tidak perlu berurusan dengan detil hardware,sistem operasi atau file system.

Haddad Sammir, M.Kom Computational Thinking

Page 19: Computational Thinking

Computational ThinkingKeuntungan (melakukan) Computational Thinking

Computational thinking is the new literacy of the 21st

Century. It enables you to bend computation to yourneeds.10

10https://www.cs.cmu.edu/ CompThink/papers/TheLinkWing.pdfHaddad Sammir, M.Kom Computational Thinking

Page 20: Computational Thinking

Computational ThinkingKeuntungan (melakukan) Computational Thinking Bagi Setiap Orang

Memahami aspek apa dari sebuah masalah yang dapat diolahsecara komputasi.

Mengevaluasi kecocokan antara alat komputasi, teknik yangdigunakan dan masalah yang hendak diselesaikan.

Memahami keterbatasan dan kekuatan alat komputasi danteknik.

Menerapkan atau mengadaptasi alat komputasi atau teknikuntuk kegunaan-kegunaan baru.

Mengenali kesempatan menggunakan komputasi dengan carabaru.

Menerapkan strategi komputasi pada domain apapun.

Haddad Sammir, M.Kom Computational Thinking

Page 21: Computational Thinking

Computational ThinkingKeuntungan (melakukan) Computational Thinking Bagi Ilmuan, Insinyur dan Profesional

Menerapkan metoda komputasi baru kepada masalah-masalahmereka.

Memformulasikan masalah agar dapat diselesaikan melaluistrategi komputasi.

Menemukan ilmu baru melalui analisa data yang besar.

Memunculkan pertanyaan baru yang belum terpikirkansebelumnya atau belum berani ditanyakan karena ukurannya.

Menerangkan masalah dan solusinya dalam term komputasi.

Haddad Sammir, M.Kom Computational Thinking

Page 22: Computational Thinking

Bermain Computational ThinkingMari Menggambar Kucing

Terapkan 4 metoda computational thinking ke dalam masalahyang hendak diselesaikan.

1 Decomposition.Pecah masalah ”menggambar kucing” menjadikomponen-komponen kecil yang mudah diselesaikan.

2 Pattern recognition.Perhatikan pola persamaan dan perbedaan dari kucing.

3 Abstraction.Potret sifat esensial yang terdapat pada objek kucing.

4 Algorithm design.Jabarkan langkah-langkah untuk menggambar kucing.

Haddad Sammir, M.Kom Computational Thinking

Page 23: Computational Thinking

Mari Menggambar KucingDecomposition

Komponen menggambar kucing:

1 Membuat gambar.

Haddad Sammir, M.Kom Computational Thinking

Page 24: Computational Thinking

Mari Menggambar KucingPattern Recognition

Temukan perbedaan dan persamaan kucing-kucing berikut:

Kucing Manis

Haddad Sammir, M.Kom Computational Thinking

Page 25: Computational Thinking

Mari Menggambar KucingPattern Recognition

Temukan perbedaan dan persamaan kucing-kucing berikut:

Kucing Grumpy

Haddad Sammir, M.Kom Computational Thinking

Page 26: Computational Thinking

Mari Menggambar KucingPattern Recognition

Temukan perbedaan dan persamaan kucing-kucing berikut:

Kucing Sphinx

Haddad Sammir, M.Kom Computational Thinking

Page 27: Computational Thinking

Mari Menggambar KucingPattern Recognition

Temukan perbedaan dan persamaan kucing-kucing berikut:

Kucing Garong

Haddad Sammir, M.Kom Computational Thinking

Page 28: Computational Thinking

Mari Menggambar KucingPattern Recognition

Persamaan:

1 Berkaki empat.

2 Memiliki cuping telinga berdiri.

3 Mata bulat dan besar.

4 Hidung kecil.

5 Memiliki cakar.

6 Memiliki kumis.

7 Memiliki ekor.

8 Memiliki belang.

Haddad Sammir, M.Kom Computational Thinking

Page 29: Computational Thinking

Mari Menggambar KucingPattern Recognition

Perbedaan:

1 Kucing grumpy memiliki mata dan raut wajah seperti sedangmarah.

2 Kucing sphinx memiliki tubuh yang tidak berbulu.

Haddad Sammir, M.Kom Computational Thinking

Page 30: Computational Thinking

Mari Menggambar KucingAbstraction

Sifat utama yang mewakili objek kucing:

1 Berkaki empat.

2 Cuping telinga berdiri.

3 Memiliki kumis, hidung kecil dan mata bulat.

4 Memiliki Ekor dan belang.

Haddad Sammir, M.Kom Computational Thinking

Page 31: Computational Thinking

Mari Menggambar KucingAlgorithm Design

Langkah-langkah menggambar kucing:Langkah 1:

Gambar kepala dan telinga.

Haddad Sammir, M.Kom Computational Thinking

Page 32: Computational Thinking

Mari Menggambar KucingAlgorithm Design

Langkah-langkah menggambar kucing:Langkah 2:

Gambar mata hidung dan badan.

Haddad Sammir, M.Kom Computational Thinking

Page 33: Computational Thinking

Mari Menggambar KucingAlgorithm Design

Langkah-langkah menggambar kucing:Langkah 3:

Gambar bola mata, mulut, kaki dan ekor.

Haddad Sammir, M.Kom Computational Thinking

Page 34: Computational Thinking

Mari Menggambar KucingAlgorithm Design

Langkah-langkah menggambar kucing:Langkah 4 (selesai):

Gambar belang, kumis dan cakar11.

11Sumber gambar:http://bluetadpolestudio.com/images/how to draw cat.jpg

Haddad Sammir, M.Kom Computational Thinking

Page 35: Computational Thinking

Giliran Anda!

Berpikir Komputasi Dimana Saja!

Kini giliran Anda. Gunakan metoda berpikir komputasi untukmenyelesaikan masalah Anda. Formulasikan masalah dan solusisehingga dapat diproses oleh manusia maupun oleh komputer.

Haddad Sammir, M.Kom Computational Thinking