Senin, 24 Mei 2021

Berpikir komputasional (Tematis)

Nama:Levina Nur Salsabila

Kelas:8D

Absen:16

Dasar-dasar Pemikiran Komputasional

Web Designer diharuskan untuk memikirkan masalah dengan cara yang dapat dimengerti oleh komputer, sehingga "pemikiran komputasional" adalah keterampilan yang sangat diperlukan untuk mereka miliki.Ini menawarkan alat sistematis yang diperlukan untuk menyelesaikan tugas kompleks dari klien.

Pemikiran komputasional memungkinkan para web designer untuk memecahkan masalah, menemukan pola dalam data, mengidentifikasi dan fokus pada aspek-aspek yang benar-benar diperlukan dari sebuah tugas, saat mengesampingkan informasi yang tidak perlu yang akan menghambat proses.

Sebagai alat untuk perencanaan menyeluruh, pemikiran komputasional menghindari kesalahan besar yang datang sebagai akibat penyelesaian proyek yang teburu-buru tanpa mempertimbangkan aspek-aspek berbeda dari masalah yang dihadapi.

Apa itu Pemikiran Komputasional?

Pemikiran komputasional sebagai sebuah konsep dapat terdengar mengintimidasi. Tetapi setiap hari, di semua aspek kehidupan kita, kita melakukan pemikiran komputasional. Pikirkan tindakan dan keputusan berikut yang masuk ke dalam pemikiran komputasional: 

Anda ingin membuat secangkir teh atau kopi.

•Anda ingin membeli mobil.

•Anda ingin berpindah pekerjaan.

•Anda ingin berpindah ke kota lain.

•Anda ingin membeli rumah.

•Anda ingin menulis buku.

•Anda ingin membuat aplikasi.

Proses perencanaan dan pencapaian tujuan-tujuan ini melibatkan pemikiran komputasional.

Perencanaan melibatkan pemecahan masalah-masalah ini menjadi bagian-bagian yang dapat dikelola dan menghasilkan serangkaian solusi yang memungkinkan kita mencapai tujuan yang ada dalam benak kita.

breaking problems down into manageable parts

Memecahkan masalah

Untuk mencapai tujuan, sebagai web designer kami ingin menggunakan komputer untuk membantu menyelesaikan masalah yang ada, pemikiran komputasional benar-benar tentang memahami masalah kompleks yang ada, kemudian memecahnya menjadi serangkaian masalah yang lebih mudah dikelola. Kami kemudian mengembangkan ide tentang bagaimana memecahkan masalah individual yang lebih kecil, dan akhirnya mengkomunikasikan ide-ide yang dihasilkan dalam serangkaian langkah yang dapat dipahami dan diproses oleh komputer.

Pendekatan ini mengikuti apa yang kita sebut sebagai "prinsip-prinsip pemikiran komputasional".

Prinsip-prinsip Pemikiran Komputasional 

Ada empat prinsip, yaitu:

1.Dekomposisi

2.Abstraksi

3.Pengenalan pola

4.Penulisan Algoritma

Berikut adalah teknik kunci yang akan membantu Anda berpikir secara komputasional melalui masalah yang kompleks (tantangan, atau tugas) sebelum menulis satu baris kode. Mari kita pelajari lebih lanjut.

Advertisement

1. Dekomposisi

Merupakan pemecahan masalah atau sistem yang kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dipecahkan. Masalah-masalah yang lebih kecil ini dipecahkan satu demi satu sampai masalah kompleks yang lebih besar dipecahkan.

"Jika sebuah masalah tidak terurai, maka jauh lebih sulit untuk dipecahkan. Berurusan dengan banyak tahapan yang berbeda sekaligus jauh lebih sulit daripada memecahkan masalah menjadi sejumlah masalah yang lebih kecil dan menyelesaikan setiap masalah, satu per satu. " – BBC Bitesize

2. Pengenalan Pola 

Setelah Anda menguraikan masalah yang kompleks menjadi masalah yang lebih kecil, langkah selanjutnya adalah melihat kesamaan yang mereka bagikan.

Pola adalah karakteristik bersama yang terjadi dalam setiap masalah masing-masing individu. Kesamaan apa yang Anda amati? Menemukan kesamaan ini dalam masalah-masalah kecil yang terurai dapat membantu kita memecahkan masalah yang kompleks dengan lebih efisien.

3. Abstraksi

"Abstraksi" mengacu pada pemfokusan pada informasi penting saja, mengabaikan detail yang tidak relevan. Untuk mencapai solusi, kita perlu mengabaikan karakteristik yang tidak perlu agar dapat fokus pada hal-hal yang kita lakukan.

Jadi, apakah ini informasi penting yang perlu kita fokuskan? Dalam abstraksi fokusnya terutama pada karakteristik umum yang ada pada setiap elemen, bukan detail spesifik.

Setelah Anda memiliki karakteristik umum, Anda dapat membuat "model" masalah; sebuah model yang menjadi ide umum dari masalah yang kami coba pecahkan.

"Jika kita tidak mengabstrakan diri kita mungkin berakhir dengan solusi yang salah untuk masalah yang kita coba pecahkan." – BBC Bitesize

Setelah kita memiliki model, kita dapat merancang suatu algoritma.

4. Penulisan Algoritma

Anda telah memecahkan masalah besar menjadi masalah yang lebih kecil dan mudah dikelola. Anda telah mengidentifikasi persamaan di antara masalah-masalah tersebut. Anda telah berfokus pada detail yang relevan dan meninggalkan apa pun yang tidak relevan.

Sekarang saatnya mengembangkan instruksi step-by-step untuk menyelesaikan setiap masalah yang lebih kecil, atau aturan yang harus diikuti ketika memecahkan masalah. Langkah-langkah atau aturan sederhana ini digunakan untuk memprogram komputer untuk membantu memecahkan masalah yang kompleks dengan cara terbaik. Mereka juga disebut "algoritma".

Definisi Algoritma adalah sebuah rencana, seperangkat instruksi step-by-step yang digunakan untuk memecahkan masalah.

"Algoritma tidak selalu melibatkan fitur pemrograman yang rumit; sebenarnya, mereka adalah serangkaian langkah untuk bergerak menuju sebuah tujuan. " – John Villasenor

Menulis algoritma membutuhkan perencanaan yang panjang agar dapat berfungsi dengan benar. Solusi yang ditawarkan komputer Anda sebaik algoritma yang Anda tulis. Jika algoritmanya tidak bagus, maka solusi Anda juga tidak akan bagus.

Menggunakan Flowchart

Flowchart menawarkan cara sempurna untuk merepresentasikan algoritma.

"Flowchart adalah jenis diagram yang mewakili sebuah algoritma, alur kerja atau proses, yang menunjukkan langkah-langkah sebagai kotak berbagai jenis, dan urutannya dengan menghubungkannya dengan panah. Representasi diagram ini mengilustrasikan model solusi untuk masalah yang diberikan." – Wikipedia

Flowchart adalah cara mudah untuk memetakan algoritma, terutama jika flowchart tersebut perlu menghasilkan keluaran yang berbeda. Flowchart menggunakan konvensi gaya standar. Flowchart mengalir dari atas ke bawah dan kiri ke kanan.

example of ui elements from ux kits

Contoh elemen Flowchart dari UX Kits


Advertisement

Menggunakan Pseudocode

Saat menguraikan masalah yang ada menjadi bagian-bagian yang lebih mudah dikelola, Anda telah mengkomunikasikan temuan, ide, dan solusi yang mungkin dalam bahasa Inggris yang sederhana (atau bahasa apa pun yang Anda gunakan untuk berkomunikasi).

Komputer tidak memahami instruksi dalam bahasa Inggris. Mereka mengerti kode. Kode atau algoritma yang membentuk satu set instruksi dengan sintaks yang sangat spesifik.

Tetapi sebelum Anda menggunakan temuan Anda untuk menulis kode yang komputer akan pahami, biasanya disarankan untuk menuliskannya dalam pseudocode.

Pseudocode membantu Anda merencanakan solusi untuk masalah Anda untuk menghindari kesalahan saat menulis kode. Ini merupakan cara menulis instruksi dengan cara yang disederhanakan yang terbaca seperti kode. Pseudocode bukan kode, tetapi – pseudocode tidak memiliki sintaks spesifik seperti yang digunakan kode.

Pseudocode paling baik ditulis menggunakan keyword dan variabel. Variabel dalam pemrograman digunakan untuk nilai, kata, atau rangkaian kode. Dalam pemrograman nilai variabel berubah tergantung di mana Anda berada dalam kode.

Misalnya, pseudocode ini (diambil dari The University of Tennessee) melakukan kalkulasi pembayaran:


1. Begin

2. INPUT hours

3. INPUT rate

4. Pay=hours*rate

5. OUTPUT pay

6. End


Dan ini, contoh yang sedikit lebih kompleks melakukan kalkulasi pembayaran dengan lembur:

1. Begin

2. INPUT yours rate

3. IF hours ≤ 40

4. THEN

5. pay = hours * rate

6. ELSE

7. pay = 40 * rate + (hours – 40) * rate * 1.5

8. OUTPUT pay

9. End

Pseudocode menggunakan istilah-istilah mirip kode yang berguna saat menerjemahkannya ke dalam kode.

STOP/END Komputer itu ilmu pasti. Anda perlu memberi tahu mereka saat pernyataan atau instruksi selesai. Lakukan ini dengan menulis STOP atau END.

IF/ELSE/THEN Komputer paham dengan kondisi: jika A terjadi maka lakukan B, jika tidak maka lakukan C.

INPUT/OUT Beberapa kode membutuhkan input untuk menjalankan dan membuat hasil output. Input adalah untuk data yang akan diberikan oleh pengguna atau sumber lain ke komputer. Output digunakan untuk menunjukkan hasil akhir dari serangkaian perintah.

STORE/SAVE Istilah pseudocode yang menginstruksikan komputer untuk menyimpan atau menyetor nilai kapan pun diperlukan.

Mengevaluasi Solusi

Sebenarnya ada bagian kelima dari seluruh proses ini. Anda telah menggunakan pemikiran komputasional untuk sampai pada solusi. Solusinya adalah algoritma yang dapat digunakan untuk memprogram komputer.

Anda sudah tidak sabar untuk memulai pemrograman, tetapi sebelum Anda melanjutkan, Anda harus mengevaluasi solusinya. Mengapa?

"Tanpa evaluasi kesalahan apapun dalam algoritma tidak akan bisa diatasi, dan program mungkin tidak dapat memecahkan masalah dengan benar, atau mungkin tidak menyelesaikannya dengan cara terbaik." – BBC Bitesize

Pikirkan lah bahwa mengevaluasi algoritma adalah sebagai “debugging”.

Kesimpulan

Berpikir komputasi berjalan melalui semua aspek dan fungsi bisnis abad ke-21st. Merupakan sebuah keterampilan pemecahan masalah yang sangat diperlukan untuk web designer yang akhirnya harus mewakili solusi dalam bahasa yang dapat dimengerti dan diproses oleh komputer.

Ingat, pemikiran komputasional melibatkan langkah-langkah berikut:

Dekomposisi: memecah masalah menjadi beberapa bagian komponen.

Pengenalan pola: mengidentifikasi kesamaan dalam bagian komponen dari suatu masalah.

Abstraksi: berfokus pada informasi umum yang penting dan mengesampingkan informasi yang tidak relevan dengan solusinya.

Penulisan algoritma: menulis kode yang menciptakan solusi yang dituju. Menulis instruksi step-by-step yang dapat dibaca dan diproses oleh komputer. Instruksi-intruksi ditulis menggunakan informasi yang relevan yang dikumpulkan dari dekomposisi, pengenalan pola dan abstraksi.

Evaluasi: menemukan bug dalam algoritma dan memperbaikinya untuk memastikannya berfungsi tanpa error.