Computational Thinking Dalam Kehidupan Sehari-hari
Published: 2020-01-23 13:34:24

Computational Thinking (CT) adalah cara berpikir atau memecahkan masalah seperti seorang computer scientist. CT adalah metode problem solving. Melalui CT kita merumuskan masalah dan solusinya sehingga komputer pun dapat mengerjakannya! Di era digital, pemikiran komputasi (CT) adalah keterampilan penting. Pendekatan sistematis untuk memecahkan masalah ini tidak hanya digunakan pada ilmu komputer, tetapi juga banyak bidang studi/karir lainnya.

Agar kita dapat mengakses kekuatan komputer, kita harus terlebih dahulu memahami keterbatasan komputer. Keterbatasan utama adalah ini: Komputer benar-benar hanya memahami 0 dan 1.

Komputer sangat berbeda dari cara kerja otak manusia.

JavaScript - dan bahasa pemrograman lainnya - seperti penerjemah antara pikiran manusia  dan apa yang dipahami komputer.

Jadi yang perlu kita lakukan adalah mempelajari cara menyederhanakan pemikiran kita sehingga kita dapat mulai berbicara dengan komputer dalam pengertian yang dapat dipahami.

Sebelum kita menulis kode apa pun, prinsip-prinsip ini akan membantu kita memikirkan masalah dengan cara komputasi.

Ada empat prinsip utama dalam berpikir komputasional:

####DEKOMPOSISI
Dekomposisi adalah proses memecah masalah BESAR menjadi bagian yang lebih kecil dan lebih kecil sampai masalahnya cukup kecil sehingga ... kita dapat dengan mudah menyelesaikannya.

Kemudian, idenya adalah kita memecahkan setiap masalah, satu demi satu sampai semua masalah terpecahkan! Dan voila! Masalah besar kita terpecahkan :)


Contoh: PESTA

Katakanlah kita mengadakan pesta - ada begitu banyak detail untuk dipertimbangkan! Di mana dan kapan itu akan terjadi? Siapa yang akan kita undang? Apa yang akan kita pakai ?!

Di sini, masalah besar yang harus dipecahkan adalah merencanakan pesta ini, dan undangan, tempat, menu, musik - semua itu adalah masalah yang lebih kecil di dalam masalah yang lebih besar. Untuk saat ini, mari kita fokus mengirimkan undangan itu.

####ABSTRAKSI
Setelah kita memecah masalah menjadi bagian-bagian yang lebih kecil (decomposition), kita dapat bertanya - bagian mana dari masalah yang benar-benar saya perlukan untuk menyelesaikannya? Dan mana yang bisa saya tinggalkan? Abstraksi memungkinkan Anda untuk fokus pada apa yang perlu. Dalam pemrograman komputer, makin sedikit yang dikerjakan makin bagus (less is more)

Contoh: 

Jika mau, ada ide-ide gila dalam mengirim undangan! Bagaimana jika undangan dikirim dengan balon? Atau merpati pos? Dan bagaimana jika, ketika tamu membuka undangan, otomatis lagu dimainkan serta menyemburkan confetti?

Kita bisa melakukan semua ini, tetapi pada akhirnya, mengingat tamu undangan banyak, kita pilih yang lebih sederhana. Kita hanya perlu memberi tahu tanggal, waktu, alamat, dan informasi penting lainnya untuk tamu, dan kemudian mereka hanya perlu ke RSVP. Yang lainnya hanyalah detail yang tidak perlu!

####PATTERN RECOGNITION
Mungkinkah metode kita untuk memecahkan SATU masalah kecil juga bisa menyelesaikan yang lain? Proses ini disebut pengenalan pola, di mana kita melihat semua masalah kecil dan melihat apakah ada kesamaan.

Contoh: 

Untuk mengetahui cara terbaik untuk mengirim undangan ke banyak orang, ujilah terlebih dahulu cara kerjanya dengan satu orang. Dengan begitu, kita dapat mengetahui apakah ada kesalahan dengan layanan undangan digital, atau berapa lama untuk mempersiapkan dan mengirim sesuatu melalui surat via kantor pos.

####PENULISAN ALGORITMA
Setelah kita memecah masalah BESAR menjadi masalah yang lebih kecil, cari persamaan di antara masalah, hapus semua detail yang asing ... saatnya untuk Menulis Algoritma!

Pada kenyataannya, menulis suatu algoritma jauh lebih sederhana daripada kedengarannya: itu hanya berarti menulis serangkaian instruksi yang menjelaskan bagaimana menyelesaikan suatu masalah. Meskipun algoritma ada dalam pemrograman komputer, suatu algoritma tidak perlu ditulis dalam kode untuk menjadi sebuah algoritma, pada kenyataannya, setiap rangkaian instruksi - resep, pola rajutan, serangkaian petunjuk untuk cara merakit Anda Meja rias IKEA - itu semua adalah contoh algoritma yang kita temui setiap hari.

Contoh: 

Katakanlah kita telah memutuskan untuk mengirim undangan melalui website undangan digital. Algoritmanya sebagai berikut:

Tentukan Daftar Tamu, yang hanya perlu identitas Nama dan Surel
Tentukan Tanggal, Waktu, dan Tempat (termasuk alamat) untuk pesta
Di website, pilih desain yang sesuai dengan tema pesta
Tambahkan Tanggal, Waktu, dan Tempat ke website
Kirim undangan digital tersebut ke semua orang di Daftar Tamu


Pada akhirnya, cara berpikir komputasional ini dapat juga kita terapkan dalam pemecahan masalah sehari-hari di bidang apapun, baik dengan atau tanpa komputer. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/h688xmfnc7ze7f0hwttu.png)

Sumber: https://learn.skillcrush.com/classes/skillcrush-free-coding-camp/

CT dalam video:
{% youtube K3vwRQCfTHc %}
{% youtube b4a7Ty1TpKU %}

TANTANGAN:
Cari 1 penerapan CT dalam kehidupan sehari-hari dalam bidang apapun! Tuliskan dalam bentuk empat prinsip yaitu dekomposisi, abstraksi, pattern recognition, dan algoritma.