Berpikir komputasional
| English | Bahasa Indonesia |
|---|---|
| computational thinking/ˌkɒmpjuːˈteɪʃənl ˈθɪŋkɪŋ/ | berpikir komputasional |
| abstraction/əbˈstrækʃn/ | abstraksi |
| decomposition/ˌdiːkɒmpəˈzɪʃn/ | dekomposisi |
| pattern recognition/ˈpætn ˌrekəɡˈnɪʃn/ | pengenalan pola |
| algorithm/ˈælɡərɪθəm/ | algoritma |
| function/ˈfʌŋkʃn/ | fungsi |
| module/ˈmɒdjuːl/ | modul |
| sub-problem/sʌb ˈprɒbləm/ | sub-masalah |
| procedure/prəˈsiːdʒə/ | prosedur |
| structure chart/ˈstrʌktʃə tʃɑːt/ | bagan struktur |
Peta yang salah secara sengaja
- Pada tahun 1931 Harry Beck, seorang penggambar yang menganggur, menggambar ulang peta London Underground.
- Ia membuang geografis yang sebenarnya: setiap jalur menjadi lurus dan setiap stasiun berjarak merata.
- Peta tersebut "salah", namun segera lebih mudah digunakan. Setiap peta metro di dunia sekarang menirunya.
- Beck hanya menyimpan apa yang dibutuhkan penumpang: stasiun dan bagaimana mereka terhubung. Itu adalah berpikir komputasional sebelum komputer ada.
Apa itu berpikir komputasional
- Kumpulan alat mental untuk menganalisis masalah dan merancang solusi yang dapat dijalankan komputer.
- Silabus menyebutkan dua di antaranya: abstraksi dan dekomposisi.
- Dua lainnya mendukungnya: pengenalan pola dan merancang algoritma.
Abstraksi
- Abstraksi berarti mempertahankan fitur esensial dari suatu masalah dan mengabaikan detail yang tidak relevan, memberikan model yang lebih sederhana.
- Peta tube menyimpan stasiun dan jalur serta membuang geografisnya.
- Nama variabel menyembunyikan alamat memori; fungsi menyembunyikan blok kode di balik nama; kelas hanya menyimpan atribut yang sistem butuhkan.

Abstraksi hanya mempertahankan fitur esensial dari masalah dan membuang detail yang tidak relevan
Abstraksi berarti:
Abstraksi menyederhanakan masalah hingga ke esensinya. Memecah menjadi bagian adalah dekomposisi.
Sebuah peta kereta api yang mempertahankan stasiun dan jalur tetapi menghilangkan geografis nyata adalah contoh abstraksi.
Ini menjaga hal-hal penting (stasiun, koneksi) dan membuang sisanya — persis seperti yang dilakukan abstraksi.
Tujuan dan manfaat
- Tujuan: menghasilkan model masalah yang lebih sederhana yang hanya berisi detail yang diperlukan untuk menyelesaikannya.
- Manfaat: masalah lebih mudah dipahami dan diprogram; program lebih kecil dan lebih cepat ditulis serta diuji; model yang sama dapat digunakan kembali untuk masalah serupa.
- Penguji meminta tujuan dan manfaat secara terpisah. Hafalkan keduanya.
Pilih semua pernyataan yang merupakan manfaat abstraksi.
Abstraksi menghilangkan detail, sehingga menyimpan setiap detail adalah sebaliknya, dan hal itu tidak berkaitan dengan perangkat keras. Tiga manfaat sejati adalah pemahaman, ukuran/kecepatan pengembangan, dan penggunaan kembali.
Contoh terpecahkan: model abstrak
- Sebuah kedai kopi menyimpan, untuk setiap pelanggan kartu loyalitas: ID, nama, alamat rumah, email, nomor seluler, tanggal lahir, poin, dan tanggal kunjungan terakhir.
- Modul baru mengirimkan voucher via email kepada pelanggan yang belum berkunjung selama 30 hari. Data mana yang dibutuhkannya?
- Dibutuhkan: ID (untuk mencari pelanggan), email (untuk mengirim ke sana), nama (untuk mempersonalisasi pesan), tanggal kunjungan terakhir (untuk memilih siapa yang mendapatkannya).
- Tidak dibutuhkan: alamat rumah, nomor seluler, tanggal lahir, poin. Meninggalkannya adalah abstraksinya.
Modul voucher-email dalam contoh terpecah memerlukan item mana di bawah ini? Pilih semua yang berlaku.
Email tujuan, tanggal kunjungan terakhir untuk memilih siapa yang memenuhi syarat, dan ID untuk mencari data pelanggan. Alamat pos dan hari ulang tahun tidak berperan dalam voucher email, sehingga model abstrak modul ini将它们排除在外。
Dekomposisi
- Dekomposisi berarti memecah masalah besar menjadi sub-masalah yang lebih kecil, masing-masing lebih mudah diselesaikan.
- Temukan bagian utama → pecahkan masing-masing menjadi sub-tugas → berhenti saat masing-masing cukup kecil untuk dikode langsung → selesaikan dan gabungkan.
- Setiap sub-masalah menjadi modul program: sebuah prosedur atau fungsi.

Mendekomposisikan program menjadi modul dan sub-modul
Dekomposisi berarti:
Dekomposisi memecah tugas besar menjadi sub-tugas yang lebih kecil dan dapat diselesaikan secara terpisah.
Setiap sub-masalah yang dihasilkan dari dekomposisi menjadi modul program: prosedur atau ____.
Kalimat kurikulum sangat spesifik: dekomposisi mengarah pada konsep modul program — yaitu prosedur atau fungsi.
Contoh terpecahkan: program pemesanan bioskop
- Sebuah bioskop dengan beberapa layar menginginkan program yang memungkinkan pelanggan memesan tempat duduk.
- ShowFilms() menampilkan daftar film, layarnya, dan waktu mulainya.
- ChooseSeats() menampilkan denah tempat duduk, menerima pilihan pelanggan, dan memeriksa apakah tempat duduk tersedia.
- TakePayment() menghitung harga, memproses pembayaran kartu, dan mencetak tiket.
- Tiga modul, masing-masing cukup kecil untuk dirancang, dikode, dan diujicobakan sendiri.
Cocokkan setiap bagian desain pemesanan bioskop dengan apa yang dimilikinya.
Tiga modul, masing-masing melakukan satu tugas, dan diagram struktur untuk menunjukkan bagaimana mereka saling terkait.
Mengapa dekomposisi? Jawaban tiga poin
- Setiap sub-masalah cukup kecil untuk dirancang, dikodekan dan diuji secara mandiri.
- Programmer yang berbeda dapat bekerja pada modul yang berbeda secara bersamaan.
- Modul yang sudah ada atau rutin pustaka dapat digunakan kembali, dan kesalahan lebih mudah ditemukan karena berada di dalam satu modul.
- Diagram dekomposisi adalah peta struktur (topik 12).
Empat fondasi utama
- Dekomposisi: pecahkan masalahnya. Pengenalan pola: temukan apa yang berulang, sehingga satu solusi melayani beberapa bagian.
- Abstraksi: hilangkan detail yang tidak relevan. Desain algoritma: tulis solusi langkah demi langkah.
- Dalam praktiknya Anda menggunakannya kira-kira dalam urutan itu, dan mengulangi prosesnya lebih dari sekali.
Menyelesaikan masalah dengan cara komputasional
Ikuti keempat pilar berdasar urutan penggunaannya — pecahkan masalahnya, temukan apa yang berulang, sederhanakan ke esensinya, lalu tulis langkah-langkahnya.
Cocokkan setiap pilar berpikir komputasional dengan artinya.
Empat pilar — dekomposisi, temukan pola, abstraksi, lalu desain algoritma.
Susun langkah-langkah berpikir komputasional dalam urutan yang masuk akal.
Pecahkan, cari pengulangan, sederhanakan ke esensi, lalu tulis langkah-langkahnya.
Jangan mencampurnya
- Abstraksi menghilangkan detail; dekomposisi memecah masalah. "Memecahnya menjadi bagian-bagian yang lebih kecil" bukanlah deskripsi abstraksi.
- Jawaban "deskripsikan" membutuhkan bagaimana, bukan satu kata: sebutkan apa yang dipecah, menjadi apa, dan apa yang menjadi setiap bagiannya.
- Hubungkan jawaban dengan skenario. Jawaban dekomposisi yang tidak pernah menyebutkan sistem stok, bioskop, atau toko kehilangan satu poin.
Dalam pertanyaan "deskripsikan dekomposisi", jawaban yang tidak pernah menyebutkan skenario (toko, bioskop) masih bisa mendapat nilai penuh.
Skema jawaban membatasi jawaban umum: soal pengendalian stok terbaru mengatakan "maks 2 jika tidak menyebutkan pengendalian stok". Sebutkan modul dan data dari skenario itu sendiri.
Anda telah memahaminya
- abstraksi = simpan esensi, abaikan detail yang tidak relevan → model yang lebih sederhana
- dekomposisi = pecahkan masalah besar menjadi sub-masalah → setiap bagian menjadi prosedur atau fungsi
- manfaat dekomposisi: rancang/kode/ujilah terpisah, bagikan pekerjaan, gunakan ulang modul, temukan kesalahan lebih cepat
- selalu deskripsikan menggunakan modul dan data milik skenario itu sendiri