Pesatnya kemajuan teknologi informasi saat ini turut serta dalam upaya pemecahan berbagai masalah. Berpikir komputasional meruapakan salah satu cara untuk menyelesaikan masalah dengan menerapkan teknik ilmu komputer (informatika). Selain dapat memudahkan pemecahan masalah, dengan mempelajari konsep dalam berpikir komputasional, Anda akan terbiasa untuk berpikir secara kreatif dan kritis.
1. Pengertian Berpikir Komputasional
Secara umum, berpikir komputasional adalah pendekatan mencari solusi untuk memecahkan masalah dengan menggunakan ide-ide atau konsep yang memiliki ciri tertentu seperti pemikiran logis, sistematis, abstraksi, dan pengenalan pola.
Adapun dari segi istilah di pelajaran Informatika, pengertian berpikir komputasional ialah cara berpikir untuk menuntaskan permasalahan secara efisien, efektif, dan optimal sesuai logika yang berlaku dalam ilmu komputer atau informatika.
Kegiatan utama dalam Berpikir Komputasional ialah memecahkan masalah serta mencari solusi yang paling efisien, efektif, dan optimal.
2. Karakteristik Berpikir Komputasional
- Mendasar tetapi bukan menghafal dengan cara memahami kemampuan dan konsep dengan baik.
- Menyesuaikan dengan konsep dan bukan berdasarkan pada pemrograman.
- Mengutamakan ide atau gagasan dan bukan pada benda.
- Dapat saling melengkapi antara teknik dan matematis.
- Memiliki kemampuan dalam mengoperasikan komputer dengan baik.
- Dapat digunakan dan dimanfaatkan dari mana saja dan kapan saja saat diperlukan.
- Mampu menerapkan cara manusia dalam berpikir dan bukan cara berpikir yang digunakan oleh komputer.
Dalam berpikir komputasional, terdapat empat pilar yang menopangnya, yaitu Dekomposisi, Abstraksi, Pengenalan Pola, dan Algoritma.
A. Dekomposisi
Dekomposisi adalah penguraian atau proses perubahan masalah kompleks menjadi masalah yang lebih sederhana. Sehingga dapat mudah dipahami, dipecahkan, serta dievaluasi secara terpisah.
Dekomposisi merupakan salah satu cara atau langkah dalam computational thinking. Menurut buku berjudul Computational Thinking oleh Peter J. Denning dan Matti Tedre, adapun arti dari computational thinking yaitu metode penyelesaian masalah dengan menerapkan teknik ilmu komputer (informatika). Caranya yaitu dengan menguraikan setiap masalah dengan menjadi beberapa bagian atau tahapan yang efektif dan efisien.
Contoh Penerapan Dekomposisi dalam kehidupan sehari-hari
1. Membuat Laporan:
Dekomposisi: Memecah pembuatan laporan menjadi beberapa bagian.
Contoh langkah:
- Pengumpulan data: Mengumpulkan data yang diperlukan untuk laporan.
- Analisis data: Menganalisis data yang telah dikumpulkan.
- Penulisan draf: Membuat draf laporan berdasarkan analisis data.
- Penyuntingan: Memperbaiki dan menyempurnakan draf laporan.
2. Membersihkan Rumah:
Dekomposisi: Membagi area rumah menjadi bagian-bagian kecil.
Contoh langkah:
- Memecah ruangan: Membagi rumah menjadi beberapa ruangan.
- Membersihkan per ruangan:
- Membersihkan setiap ruangan secara terpisah, misalnya membersihkan kamar tidur, kamar mandi, ruang tamu, dll.
3. Contoh Dekomposisi Itinerary Perjalanan Akhir Pekan ke Bandung:
a. Tujuan Perjalanan: Menjelajahi tempat wisata di Bandung, Bersantai dan menikmati suasana kota.
b. Transportasi:
- Perjalanan Jakarta - Bandung:
- Pesan tiket kereta api/bus.
- Tentukan waktu keberangkatan dan kepulangan.
- Siapkan rute perjalanan ke stasiun/terminal.
- Transportasi Selama di Bandung:
- Sewa mobil/motor atau gunakan transportasi umum.
- Siapkan peta atau aplikasi navigasi.
c. Akomodasi:
Pemesanan Hotel:
- Pilih hotel sesuai anggaran dan preferensi.
- Pesan hotel secara online atau melalui agen perjalanan.
- Konfirmasi pemesanan.
- Check-in dan Check-out:
- Perhatikan waktu check-in dan check-out hotel.
- Siapkan dokumen yang diperlukan.
d. Aktivitas:
Hari Pertama:
- Kunjungi Farm House Lembang.
- Makan siang di restoran Sunda.
- Nikmati pemandangan di Tebing Keraton.
- Makan malam di Jalan Braga.
Hari Kedua:
- Kunjungi Kawah Putih.
- Makan siang di sekitar Ciwidey.
- Belanja oleh-oleh di Cibaduyut.
- Kembali ke Jakarta.
e. Anggaran:
Transportasi:
Perkiraan biaya tiket kereta/bus.
Perkiraan biaya transportasi selama di Bandung.
Akomodasi:
Perkiraan biaya hotel per malam.
Aktivitas:
Perkiraan biaya tiket masuk tempat wisata.
Perkiraan biaya makan dan minum.
Lain-lain:
Perkiraan biaya oleh-oleh.
Dana darurat.
Dekomposisi adalah penguraian atau proses perubahan masalah kompleks menjadi masalah yang lebih sederhana. Sehingga dapat mudah dipahami, dipecahkan, serta dievaluasi secara terpisah.
B. Abstraksi
Pengertian Abstraksi
Dalam konteks komputer atau pemrograman, abstraksi adalah proses dalam menyembunyikan detail implementasi dengan tujuan agar Developer dapat fokus terhadap alur bisnis dibandingkan dengan menulis kode secara terperinci. Dengan menggunakan proses ini, kode yang ditulis developer bersifat deklaratif (ringkas).
Sederhananya, ia adalah proses menghilangkan elemen kode atau program yang tidak relevan atau mengutamakan elemen yang lebih penting. Abstraksi mengacu pada melihat sesuatu untuk mempertahankan bentuk atau makna umum sambil mengurangi adanya detail spesifik.
Fungsi Abstraksi
Ada beberapa fungsi utama abstraksi dalam ilmu komputer, yaitu:
Collaboration
Abstraksi membantu Developer berkolaborasi dengan lebih baik lagi. Dengan mengetahui abstraksinya, kita dapat melihat jenis input dan output pada fungsi, tanpa perlu melihat detail implementasinya. Dengan adanya abstraksi, Developer juga dapat saling percaya dan fokus terhadap pekerjaan atau tujuan masing-masing. Ia bisa diibaratkan sebagai panduan atau bahkan kontrak yang mengikat antara developer.
Generalization
Abstraction sebenarnya mirip dengan generalisasi. Namun, saat membahas abstraksi dalam bidang ilmu komputer, kamu dapat membuat sebuah program komputer.
Misalnya, jika kamu ingin komputer menjalankan tugas tertentu, kamu tentu perlu menulis sebuah program yang dapat melakukan tugas tersebut. Kamu tentu harus memikirkan tugas tersebut dalam bentuk yang paling dasar.
Jika ingin membuat program yang mengalikan empat dengan enam, kamu dapat membuat fungsi yang mengalikan dua angka lalu memasukkan empat dan enam ke dalam program tersebut. Di sini, kamu telah mengabstraksi program dari yang khusus tentang dua angka menjadi menghitung perkalian secara umum.
User Perception
Ia juga dapat merujuk pada cara pengguna berpikir tentang suatu program. Apa yang dilihat pengguna tentu berbeda dengan cara kerja perangkat atau program. Sebagai contoh, kamu bisa mengetikkan kalimat ke dalam dokumen di komputer. Kamu dapat melihat kata-kata tersebut muncul, tetapi tidak menyaksikan berbagai perintah yang dikeluarkan komputer untuk merekam arti tombol pada keyboard, menyimpannya dalam memori, dan mengirimkan kode tersebut ke monitor.
Jenis-jenis Abstraksi
Data abstraction
Data abstraction adalah elemen bahasa komputer yang memungkinkan Developer memahami kode dan berkomunikasi dengan hardware.
Contoh abstraksi data adalah tipe data “string” yang digunakan dalam bahasa pemrograman komputer sederhana untuk menunjukkan string teks. Penyederhanaan konsep seperti ini memungkinkan Developer untuk berkomunikasi dengan sistem secara lebih mudah.
Bahasa yang kompleks tentu saja akan memiliki tipe data yang lebih kompleks, tetapi semuanya memiliki fungsi abstraksi dasar yang sama yang memungkinkan Developer untuk menggunakannya kembali dalam aplikasi berbeda, menyederhanakan mekanisme perilaku hardware, dan membuat abstraksi baru yang dikompilasi dari berbagai tipe data.
Control Abstraction
Control abstraction adalah ketika seorang Developer membuat control construct baru yang merupakan statement dalam program untuk mendefinisikan bagaimana komputer menjalankan fungsinya. Ia sangat penting untuk menciptakan sistem software yang scalable karena memungkinkan Developer mengembangkan fungsionalitas baru dalam suatu program. Beberapa bahasa pemrograman masyhur mengandalkan abstraksi kontrol untuk memfasilitasi komunikasi antara Developer dan sistem komputer.
Contoh Abstraksi dalam Kehidupan
Contoh abstraksi modern dapat diilustrasikan dalam sebuah application programming interface (API), yang sangat lazim dalam sistem lintas platform.
Kita tahu bahwa API adalah cara utama untuk menyediakan informasi abstraks sehingga “pihak ketiga” tidak perlu mengetahui banyak tentang codebase kita. Simpelnya, API adalah “penghubung” antar stakeholder. Stakeholder dapat menggunakan API untuk menghubungkan satu kode aplikasi ke kode aplikasi lain, mendorong kumpulan data melalui lingkungan lintas platform, serta memungkinkan program-program tersebut saling berkolaborasi secara otomatis.
API kemudian berfungsi sebagai sarana utama abstraksi dengan membangun prinsip-prinsip berorientasi objek yang menunjukkan “outside program” apa yang dilakukan “inside program”.
Menggunakan Peta:
Peta adalah contoh abstraksi yang klasik. Peta menyajikan representasi wilayah yang rumit dengan skala dan simbol-simbol yang disederhanakan, memudahkan kita untuk memahami lokasi dan rute perjalanan.
Menggunakan Resep Masakan:
Resep masakan mengabstraksikan proses memasak yang rumit menjadi serangkaian langkah dan bahan yang sederhana. Ini memungkinkan kita untuk membuat hidangan yang lezat tanpa harus memahami detail proses kimia yang terjadi selama memasak.
Menceritakan Kejadian:
Saat kita menceritakan pengalaman sehari-hari, kita seringkali menyaring detail yang tidak relevan dan hanya menceritakan aspek-aspek utama yang paling berkesan. Ini adalah proses abstraksi alami.
Berpikir Komputasional:
Pemikiran komputasional, seperti dalam membuat perencanaan liburan, melibatkan abstraksi untuk memecah masalah besar menjadi sub-masalah yang lebih kecil yang dapat diselesaikan dengan lebih mudah.
Berpakaian:
Saat memilih pakaian, kita menggunakan pengetahuan dan pengalaman sebelumnya untuk menentukan bagaimana pakaian tertentu cocok dengan pakaian lain. Kita tidak perlu menganalisis detail ilmu di balik kecocokan warna, tetapi cukup dengan abstraksi pengetahuan tentang kecocokan pakaian.
Membangun dengan Lego:
Saat membangun dengan Lego, kita memecah struktur yang rumit menjadi bagian-bagian yang lebih kecil dan mudah dikelola, yang merupakan contoh abstraksi dalam aktivitas kreatif.
Manfaat Abstraksi:
Memudahkan Pemahaman:
- Abstraksi menyederhanakan informasi yang rumit, membuat konsep lebih mudah dipahami.
Mempermudah Proses:
- Abstraksi memungkinkan kita untuk melakukan tugas-tugas yang kompleks dengan lebih efisien.
Mempercepat Pembelajaran:
- Abstraksi membantu kita untuk belajar dengan lebih cepat dengan hanya fokus pada konsep-konsep utama.
Meningkatkan Kreativitas:
- Abstraksi membuka ruang untuk imajinasi dan pemecahan masalah kreatif.
C. Pengenalan Pola
Pattern recognition atau pengenalan pola dalam computational thinking merupakan kemampuan untuk mengenal atau mengetahui persamaan dan perbedaan pola, tren, keteraturan data serta suatu hal yang nantinya bisa digunakan untuk membuat prediksi dan penyajian data.
Dengan kata lain, pengenalan pola merupakan metode untuk mengenali pola dalam sebuah masalah untuk mendapatkan solusi penyelesaian melalui pola yang sudah diketahui. Sehingga ketika ada masalah, seseorang bisa menganalisis masalah tersebut dan mencari kesamaan atau perbedaan umum dari suatu masalah, lalu menemukan pola masalah, dan menyusun solusi yang lebih efektif.
Dengan menggunakan teknik pengenalan pola, maka seseorang bisa membuat prediksi dan menjadi jalan pintas untuk mencari solusi dari suatu masalah.
Kemampuan computational thinking, termasuk pengenalan pola (pattern recognition) sangat penting dimiliki oleh setiap orang, sehingga harus dikenalkan dan diasah sejak dini. Orang tua dan guru memiliki peran penting untuk mengasah pola pikir ini dalam kehidupan sehari-hari anak.
Umumnya, pengenalan pola atau pattern recognition bisa terjadi secara spontan ketika seseorang mendapatkan masalah. Hal ini dikarenakan seseorang tersebut sudah memiliki pengalaman menyelesaikan masalah sebelumnya atau disebut intuisi.
Semakin sering proses pengenalan pola dalam computational thinking dilatih dan diasah, serta semakin banyak masalah yang diselesaikan dengan metode ini, maka semakin bagus kemampuan yang dimiliki.
Mengapa Pengenalan Pola Penting?
Membuat Prediksi: Dengan mengenali pola, kita bisa memprediksi apa yang akan terjadi selanjutnya. Misalnya, jika kita melihat pola awan gelap, kita bisa memprediksi akan turun hujan.
Menemukan Solusi: Pola membantu kita menemukan solusi untuk masalah. Misalnya, jika kita melihat pola kesalahan dalam program komputer, kita bisa mencari tahu penyebabnya dan memperbaikinya.
Membuat Keputusan: Pola membantu kita membuat keputusan yang lebih baik. Misalnya, jika kita melihat pola perilaku pelanggan, kita bisa menentukan produk apa yang harus kita tawarkan.
Contoh Penerapan Pengenalan Pola
Berikut ini merupakan beberapa contoh sistem atau aplikasi yang menggunakan proses pengenalan pola, yaitu:
1. Machine Vision
Proses pengenalan pola menjadi dasar dari pengaplikasian mesin ini. Machine Vision digunakan untuk melambangkan sebuah atau sekelompok objek melalui kamera lalu dianalisis dan dideskripsikan.
2. Character Recognition (OCR)
Character Recognition merupakan sistem yang menggunakan teknik pengenalan pola secara umum untuk mengatasi permasalahan otomatisasi serta informasi. Sistem ini memiliki front end device yang terdiri dari lensa scan, pembangkit cahaya, dokumen transport serta sebuah detektor.
3. Computer Aided Diagnosis
Computer aided diagnosis merupakan sistem yang membantu dokter untuk mengambil keputusan suatu diagnosis.
4. Speech Recognition
Speech recognition merupakan sistem yang menggunakan pengenalan pola suara pada aplikasi yang berkembang saat ini. Sistem membuat kita dapat berkomunikasi dengan memasukkan data ke komputer. Selain itu, sistem ini juga dapat meningkatkan efisiensi manufaktur serta kontrol mesin.
5. Face Recognition
Face recognition merupakan sistem aplikasi yang gunakan pola wajah untuk mengenali image wajah yang digunakan dalam otomatisasi serta security sebuah industri.
6. Biometrik
Biometrik merupakan sebuah sistem yang berguna untuk mengenal pola makhluk hidup yang dihubungkan menggunakan parameter psikologi atau tingkah laku.
7. Image Database Retrieval
Image Database Retrieval merupakan sebuah sistem yang digunakan untuk mengembalikan image database.
8. Data Mining
Data mining merupakan sebuah sistem yang menggunakan pengelompokan pola objek sejumlah data yang terurut untuk memberikan informasi yang dibutuhkan dan berguna.
9. Bioinformatics
Bioinformatics merupakan sistem yang berhubungan dengan ilmu kedokteran dimana sistem ini menggunakan teknik pengenalan pola atau image dari suatu image penyakit. Pengenalan pola yang digunakan yaitu pola dari hasil analisis diagnosis penyakit dan umumnya berhubungan dengan dunia biologi.
D. Algoritma
Algoritma tidak hanya digunakan untuk menyelesaikan masalah pada komputer, tetapi juga dapat digunakan untuk menyelesaikan masalah yang ada dalam kehidupan sehari-hari. Selain itu, masalah apa pun yang terkait dengan proses atau langkah prosedural biasanya memerlukan algoritma.
Masalah mudah dipecahkan dengan menggunakan algoritma karena kita tahu langkah-langkah logis dan sistematis yang harus diambil terlebih dahulu. Oleh karena itu, banyak orang telah memecahkan masalah menggunakan algoritma, apakah Anda salah satunya?
Banyak istilah yang ada di dunia komputasi seperti AI, supercomputer, machine learning, cloud, quantum computing dan masih banyak lagi. Terlepas dari ini, ada kata yang digunakan terutama dalam ilmu komputer dan itu adalah algoritma.
Dalam pengertian yang paling umum, algoritma adalah serangkaian instruksi yang memberitahu komputer bagaimana mengubah satu set fakta tentang dunia menjadi informasi yang berguna.
Beberapa ahli menganggap algoritma sebagai urutan langkah-langkah yang harus diikuti dalam matematika atau perhitungan untuk memecahkan masalah lain, terutama komputer.
Artinya semua susunan logis yang disusun dalam urutan sistem pembelajaran tertentu dan digunakan untuk memecahkan suatu masalah tertentu, dapat kita katakan seperti sebuah algoritma.
Umumnya algoritma akan digunakan untuk dapat melakukan perhitungan, melakukan inferensi otomatis, dan mengolah data pada komputer dengan menggunakan software tertentu.
Selain itu, Algoritma juga berisi serangkaian instruksi terbatas serta instruksi khusus untuk menghitung fungsi yang, ketika dieksekusi dan diproses, menghasilkan output tertentu dan kemudian berhenti pada kondisi terminasi yang ditentukan.
Algoritma adalah suatu langkah atau metode yang telah direncanakan secara matang sehingga terurut dan terorganisir dengan baik dan biasanya digunakan untuk memecahkan suatu masalah dengan memberikan suatu instruksi sehingga menjadi suatu tindakan.
Sedangkan dalam Kamus Besar Bahasa Indonesia (KBBI), algoritma adalah suatu prosedur sistematis untuk menyelesaikan masalah matematika dalam langkah-langkah terbatas atau urutan pengambilan keputusan yang logis untuk memecahkan masalah tersebut.
Dari pengertian tersebut dapat dikatakan bahwa algoritma ini digunakan untuk menyelesaikan atau menyelesaikan suatu masalah dengan langkah-langkah logis yang terurut.
Hampir semua bidang perusahaan keuangan menggunakan algoritma, mulai dari perdagangan saham dan aset hingga manajemen utang dan penetapan harga pinjaman. Trading menggunakan algoritma sering disebut sebagai trading otomatis.
Perdagangan otomatis sering menggunakan program komputer untuk menjual atau membeli sekuritas dengan cepat, mengapa menggunakan program komputer? Hal ini karena transaksi bisnis terjadi sangat cepat, sehingga kecepatan tidak mungkin dihitung sama manusia.
Secara umum, perdagangan yang sangat cepat terjadi pada saat naik turunnya harga saham, komoditas, dan obligasi. Sederhananya, algoritma ini memfasilitasi perdagangan otomatis di mana transaksi perdagangan berlangsung sangat cepat.
Jadi algoritma jelas merupakan salah satu metode dimana suatu masalah dapat diselesaikan dengan mudah, sehingga suatu operasi atau proses produksi dapat berlanjut. Selanjutnya, algoritma merupakan metode yang dapat dipelajari oleh semua orang, termasuk Anda sendiri.
Fungsi Algoritma
Setelah mengetahui definisi dan karakteristik algoritma, Anda harus mengetahui fungsi dari algoritma tersebut. Benarkah algoritma hanya dibutuhkan dalam pemrograman?
Seperti disebutkan sebelumnya, algoritma dapat diterapkan ke banyak jalur kehidupan. Hanya saja penerapan algoritma yang lebih sering dibahas dalam pemrograman komputer.
Dalam hal pemrograman, algoritma pemrograman membantu tim pemrograman untuk memecahkan masalah. Serangkaian solusi untuk masalah ini yang dapat dikembangkan oleh seorang programmer menjadi sebuah program.
Selain itu, beberapa fungsi lain dari algoritma adalah sebagai berikut:
Membantu Anda memecahkan masalah tertentu dengan cara yang logis dan sistematis. Algoritma dapat digunakan lebih dari satu kali untuk menyelesaikan masalah yang sama.
Algoritma juga dapat digunakan untuk membantu memecahkan masalah yang kompleks dengan lebih sederhana.
Bagi programmer, algoritma akan memudahkan mereka untuk melacak setiap kesalahan yang muncul.
Memungkinkan pemrogram untuk dengan mudah memodifikasi program tanpa mengubah total algoritma dan tanpa harus mengulang dari awal.
Pemrogram hanya perlu melakukan perubahan pada waktu tertentu, dan program dapat diperbarui untuk memperbaiki masalah yang muncul.

0 komentar:
Posting Komentar