Computational Thinking, Pola Pikir Seorang Programmer

Di era yang berbasis informasi sekarang ini, pekerjaan programmer menjadi salah satu bidang profesi incaran banyak orang. Programmer mampu melihat masalah kompleks dan mengubahnya menjadi serangkaian kode. Mereka mampu melakukannya dengan bantuan computational thinking.

Kalau Sobat berencana menjadi seorang programmer, computational thinking wajib kamu asah karena akan berkaitan dengan efektivitas pemikiran. Kalaupun gak berminat ngoding, keahlian ini sangat berguna dalam kehidupanmu, lo! Lantas, apa sebenarnya computational thinking? Yuk, kita kenalan!

Tertarik jadi Data Analyst? Baca panduan lengkap Data Analysis ini.

1. Apa Itu Computational Thinking?

Community Marketing: Definisi, Jenis dan Contohnya
Computational thinking menggunakan dasar-dasar ilmu komputer untuk menyelesaikan masalah

Menurut Jeanette M. Wings pada publikasi Yeping Li dkk., computational thinking (CT) adalah sebuah model berpikir yang menyangkut pemecahan masalah, mendesain sistem, dan mencoba memahami tingkah laku manusia melalui dasar-dasar ilmu komputer.

Walaupun terdapat frasa “ilmu komputer”, model berpikir ini dapat berguna untuk banyak disiplin ilmu. Faktanya, computational thinking termasuk interdisipliner.

Ketika berbicara soal ilmu komputer, sebenarnya, kita tidak perlu selalu mengaitkannya dengan mesin komputer. Sebab, ilmu komputer sendiri mempelajari hal yang lebih umum, yaitu komputasi dan pemecahan masalah yang efektif. Nah, computational thinking mencoba mengambil hal-hal baik yang ada pada ilmu komputer.

Kemampuan seorang praktisi ilmu komputer dalam menemukan cara yang paling murah dan mudah dalam menyelesaikan suatu masalah berkutat pada 2 dasarnya, yaitu abstraksi dan otomasi. 

Singkatnya, abstraksi adalah pengambilan garis besar suatu masalah sehingga kita dapat melihat esensi masalah tersebut, sedangkan otomasi adalah usaha untuk membuat sebuah proses agar dapat berjalan sendiri dengan sedikit mungkin intervensi dari manusia.

Nantinya, strategi computational thinking yang lebih dapat diaplikasikan dalam kehidupan akan didasarkan pada 2 fondasi tersebut.

Mau jadi UI-UX Designer? Cek panduan lengkap UI-UX Design berikut.

2. Manfaat Berpikir Computational Thinking

Community Marketing: Definisi, Jenis dan Contohnya
Ternyata, cara berpikir manusia mirip dengan proses komputasi, lo!

Berdasarkan definisi dari Wings tadi, computational thinking mencoba memahami tingkah laku manusia lewat dasar-dasar ilmu komputer. Kok bisa begitu? Ternyata, dasar dari komputer, yaitu komputasi, sama dengan bagaimana pikiran manusia bekerja, lo!

Komputasi sendiri merupakan proses di mana informasi/data masuk ke sebuah perhitungan, mendapatkan suatu manipulasi, lalu keluar sebagai output baru. Nah, pikiran manusia juga bekerja seperti itu.

Kita menerima informasi baru yang kemudian kita olah dengan cara berpikir dan mencari hubungan antara hal yang satu dengan yang lain. Kemudian, hasilnya adalah informasi baru yang bisa kita keluarkan sebagai ucapan atau kita simpan di otak.

Dengan melihat dasar computational thinking sebagai pemodelan proses berpikir, seharusnya kita bisa lebih mengenal bagaimana cara manusia berpikir. Hal ini akan membawa kita memandang sesuatu dengan lebih jernih dan pada akhirnya, dapat memecahkan masalah secara efektif dan efisien.

Mau lancar Bahasa Inggris? Baca panduan lengkap bahasa Inggris, TOEFL, IETLS & Beasiswa ini.

3. Decomposition dan Pattern Recognition

Community Marketing: Definisi, Jenis dan Contohnya
Proses pencarian pola berfokus pada mencari kesamaan antarmasalah serupa

Terdapat beberapa langkah-langkah dalam merancang computational thinking. Decomposition dan pattern recognition adalah salah satu langkah awalnya.

  • Decomposition

Terkadang, suatu masalah sebenarnya adalah kumpulan dari masalah-masalah kecil. Kitanya saja yang menganggapnya sebagai satu hal yang besar. Pastinya, ini tidak baik bagi pikiran karena kita menjadi kesulitan melihat garis besarnya. Itulah tujuan dari decomposition.

Decomposition merupakan proses awal di mana ketika bertemu dengan suatu masalah, kita memecahnya menjadi beberapa bagian. Setelah berhasil memecah masalah menjadi bagian-bagian kecil, langkah selanjutnya adalah melakukan pattern recognition.

  • Pattern recognition

Seperti namanya, pattern recognition atau pengenalan pola melibatkan pencarian kesamaan antara masalah yang kita hadapi dengan masalah-masalah lainnya yang kita anggap sejenis.

Tujuannya adalah memudahkan kita untuk langsung menemukan esensi dari masalah tersebut ketika kita berhadapan dengan yang serupa di masa depan.

Proses pencarian pola mungkin membutuhkan beberapa data tambahan. Ketika tidak memiliki data tersebut, kita perlu menciptakannya dengan beberapa asumsi supaya terkesan seperti data asli.

Tanpa kecukupan informasi, pola yang kita bangun bisa saja berpotensi salah. Sebagai contoh, ketika ingin mencari pola tentang suatu fungsi matematika, kita perlu melihat nilainya ketika nilai x adalah 1, 2, atau nilai lainnya.

4. Abstraction

Community Marketing: Definisi, Jenis dan Contohnya
Proses abstraksi memodelkan masalah menjadi bentuk paling sederhananya, terkadang dalam bentuk rumus

Sesuai namanya, abstraksi berarti melakukan generalisasi terhadap pola yang kita temukan supaya lebih cocok untuk lebih banyak kondisi.

Ibaratnya, kita mencari garis besar suatu masalah dengan cara mereduksi hal-hal yang tidak penting. Terkadang, pola yang kita temukan pun tidak semuanya penting sehingga tetap perlu disaring.

Nantinya, proses abstraksi akan menghasilkan output berupa model. Model adalah bentuk dari permasalahan yang terdiri atas karakteristik, fitur, dan pola yang paling minimal yang hanya kita butuhkan saja. Dengan model ini, sekarang, masalah kita mungkin kehilangan sebagian besar kompleksitasnya.

Sebagai contoh, kita punya masalah ketika men-generate bilangan ganjil. Nah, decomposition membagi bilangan yang kita kenal menjadi bilangan ganjil dan nonganjil/genap. Kemudian, pattern recognition membuat kita mengetahui bahwa bilangan ganjil selalu muncul selang-seling dengan bilangan genap.

Terakhir, proses abstraksi memberikan kita model bilangan ganjil di mana rumus matematisnya adalah 2n+1 dengan n adalah urutan ke-n bilangan ganjil tersebut.

Mau jadi Product Manager? Baca panduan lengkap Product Manager berikut.

5. Algorithm

Community Marketing: Definisi, Jenis dan Contohnya
Algoritme adalah serangkaian langkah terukur untuk menyelesaikan masalah

Setelah mendekomposisi, melakukan pencarian pola, dan menciptakan abstraksi, kini, kita perlu membuat algoritmenya. Algoritme adalah proses terakhir pada computational thinking di mana kita membuat serangkaian langkah-langkah dalam proses penyelesaian masalah yang ada.

Langkah-langkah tersebut harus jelas, memiliki awal dan akhir (tidak berputar-putar ataupun tiada ujung), dan tidak boleh multitafsir. Selain itu, langkah-langkah yang kita buat juga harus mampu menuntun orang lain untuk memecahkan masalah serupa.

Dengan menciptakan algoritme, Sobat seakan-akan memberikan catatan tentang hal-hal dan hasil yang sudah kamu temukan dengan computational thinking.

Di samping itu, alogoritme juga dapat membantumu dan orang lain manakala menemukan masalah yang sama di masa depan. Jadi, ketika menghadapinya, kita tidak perlu kembali melakukan tahapan computational thinking dari awal, melainkan cukup melihat algoritmenya saja.

Ternyata, berpikir secara komputasional atau computational thinking tidak terlalu sulit, ya! Walaupun sederhana, cara berpikir yang satu ini dapat membantumu menyelesaikan suatu masalah dengan lebih cepat, tepat, dan terukur. Inilah alasan mengapa para programmer mampu merancang aplikasi-aplikasi yang kompleks sekalipun.

Mau belajar skill lainnya yang dibutuhkan di industri 4.0? Mau makin paham dengan dunia digital? MySkill solusinya! Dengan mengunjungi website-nya, Sobat akan menemukan banyak bootcamp kece yang tentunya sesuai dengan tuntutan keahlian masa kini. Tunggu apa lagi? Yuk, daftar sekarang!

Mari terus belajar dan kembangkan skill di MySkill