Senin, 23 Agustus 2021

BERPIKIR KOMPUTASIONAL PERTEMUAN 2

 

Apa itu Berpikir Komputasional?

Melalui Berpikir komputasional (BK), kalian akan berlatih berpikir seperti seorang ilmuwan Informatika, bukan berpikir seperti komputer karena komputer adalah mesin.

Kegiatan utama dalam BK ialah penyelesaian masalah (problem solving), untuk   menemukan solusi          yang                eisien,   efektif, dan optimal sehingga solusinya bisa dijalankan oleh manusia maupun mesin. Dengan kata lain, kegiatan dalam BK ialah mencari strategi untuk mengatasi persoalan

Ada 4 fondasi berpikir komputasional yang dikenal dalam ilmu Informatika, yaitu Abstraksi, Algoritma, Dekomposisi, dan Pola, yang sangat mendasar dan secara garis besar dijelaskan sebagai berikut.

1.  Abstraksi, yaitu menyarikan bagian penting dari suatu permasalahan dan mengabaikan yang tidak penting  sehingga memudahkan fokus kepada solusi.

2.  Algoritma, yaitu menuliskan otomasi solusi melalui berpikir algoritmik (langkah-langkah yang terurut) untuk mencapai suatu tujuan (solusi). Jika langkah yang runtut ini diberikan ke komputer dalam bahasa yang dipahami oleh komputer,  kalian akan dapat “memerintah” komputer mengerjakan langkah tersebut.

3.  Dekomposisi dan formulasi persoalan  sedemikian rupa sehingga dapat diselesaikan   dengan cepat     dan        eisien          serta      optimal dengan menggunakan   komputer sebagai alat bantu. Persoalan yang sulit apalagi besar  akan menjadi mudah jika diselesaikan sebagian-sebagian secara sistematis.

4.  Pengenalan pola persoalan, generalisasi serta mentransfer proses penyelesaian persoalan ke persoalan lain yang sejenis.

 

Karakteristik berpikir komputasional adalah sebagai berikut:

1. Berdasarkan konsep, informatika tidak hanya belajar tentang bagaimana cara menulis kode program tapi juga diperlukan pemahaman untuk berpikir pada beberapa tingkat abstraksi.

2. Kemampuan dasar yaitu kemampuan yang harus dimiliki setiap orang di era milenial.

3. Perlunya berpikir komputasional agar masalah dapat dipecahkan tanpa harus berpikir sebagaimana komputer.

4. Memadukan pemikiran matematis dan pemikiran teknik.

5. Sebuah ide dan bukan sebuah benda.

6. Diperlukan bagi setiap orang.

7. Menantang secara keilmuan dan dapat dipahami/diselesaikan secara saintifik.

8. Informatika dapat dikuasai oleh orang yang memiliki kemampuan komputasional.

Ruang permasalahan di dunia ini luas sekali, dan tentunya tak seorang pun ingin hidupnya menghadapi persoalan. Setiap bidang juga mempunyai persoalan dari sudut pandang bidang masing-masing, dan akan mengusulkan penyelesaian dengan menggunakan konsep dan prinsip keilmuan bidangnya. Kita belajar dari persoalan-persoalan yang ada dan pernah diusulkan solusinya. Oleh karena itu, belajar penyelesaian persoalan ialah belajar dari kasus-kasus dan solusinya.

A. Pencarian (Searching)

Hidup adalah pencarian yang tiada henti. Mari, kita berpikir ke pengalaman “mencari” dalam kehidupan sehari-hari. Perhatikan contoh berikut.

1.  Pernahkah kalian merasa kebingungan saat mencari sebuah buku di lemari buku kalian? Atau bahkan di perpustakaan? Saat kalian meminta bantuan kepada petugas perpustakaan, mengapa dia dapat menemukan buku yang kalian cari dengan waktu yang lebih singkat?

2.  Suatu hari, kalian kehilangan baju seragam yang harus dipakai pada hari itu dan kalian mencarinya. Apa strategi kalian supaya baju tersebut cepat ditemukan?

3.  Kalian mengingat sebuah potongan lirik lagu, tetapi tidak ingat judul lagu tersebut. Bagaimana kalian bisa menemukan lagu tersebut dengan cepat?

 

B. Pengurutan (Sorting)

Saat merapikan sesuatu, misalnya koleksi buku, kita menyusun buku tersebut dengan menggunakan suatu aturan.

Terdapat beberapa teknik (algoritma) untuk melakukan pengurutan seperti bubble sort, insertion sort, quick sort, merge sort, dan selection sort.  Pada unit ini, hanya akan diberikan penjelasan untuk setiap tiga teknik ialah sebagai berikut. Teknik lainnya dapat kalian pelajari dari referensi yang diberikan.

1.       Insertion Sort

Insertion Sort adalah salah satu algoritma yang digunakan untuk permasalahan pengurutan dalam list (daftar objek). Sesuai namanya, insertion sort  mengurutkan sebuah list dengan cara menyisipkan elemen satu per satu sesuai dengan urutan besar kecilnya elemen hingga semua  elemen menjadi list yang terurut.

2.       Selection sort

Selection sort merupakan algoritma pengurutan yang juga cukup sederhana, dengan algoritma mencari (menyeleksi) bilangan terkecil/terbesar (bergantung pada urut naik atau turun) dari daftar bilangan yang belum terurut dan meletakkannya dalam daftar bilangan baru yang dijaga keterurutannya

C. Tumpukan (Stack) dan Antrean (Queue)

Kita akan mempelajari dua buah konsep cara penyimpanan data/ objek dalam sebuah struktur yang akan menentukan urutan pemrosesan data/objek tersebut, yaitu tumpukan (stack) dan antrean (queue). Kedua konsep ini memiliki prosedur yang berbeda dalam menyimpan dan mengeluarkan data. Kedua konsep tersebut masing-masing memiliki peranan yang berbeda dan digunakan pada situasi yang berbeda pula.

Dalam dunia komputasi/informatika, terkadang, kita perlu untuk menyimpan data/objek dalam suatu urutan tertentu, untuk kemudian/sewaktu-waktu diambil/ dikeluarkan kembali, mungkin untuk diproses lebih lanjut atau untuk tujuantujuan lain.

Ada dua cara utama kita dapat melakukan penyimpanan ini.

1. Antrean (queue): pada metode ini, objek-objek disimpan dalam metode penyimpanan yang berupa sebuah antrean  sehingga objek yang pertama/ lebih dulu datang, juga akan lebih dulu keluar/selesai, layaknya sebuah antrean di loket, pintu masuk, dll. Prinsip ini disebut   prinsip First In First Out (FIFO). Dalam sebuah antrean orang, misalnya, jelas orang yang pertama datang  akan berada di depan antrean, dan harus menjadi yang pertama yang mendapat pelayanan.

2. Tumpukan (stack): pada metode ini, objek-objek disimpan dalam metode penyimpanan yang menyerupai sebuah tumpukan (misal: tumpukan piring). Dengan demikian, objek yang pertama/lebih dulu disimpan  justru akan menjadi yang terakhir keluar. Prinsip ini disebut juga  Last In First Out (LIFO).

Baik dalam kehidupan sehari-hari  maupun dalam dunia informatika, kedua konsep urutan penyimpanan data tersebut memiliki peran dan kegunaan masing-masing. Ada permasalahan-permasalahan/situasi di mana antrean (FIFO) lebih cocok digunakan. Sebaliknya, ada juga permasalahanpermasalahan di mana tumpukan (LIFO) lebih tepat diterapkan.

 

 

Jika ingin belajar lebih mendalam tentang materi di atas, kalian bisa mengunjungi tautan berikut ini.

Pencarian (Searching)

1. Search Algorithm: https://en.wikipedia.org/wiki/Search_algorithm

2. Binary Search: https://khanacademy.org/computing/computerscience/algorithms/binary-search

Pengurutan (Sorting)

1. Sorting Algorithm: https://en.wikipedia.org/wiki/Sorting_algorithm

2. Video Bubble Sort:https://youtu.be/nmhjrI-aW5o

3. Video Insertion Sort: https://youtu.be/OGzPmgsI-pQ

4. Video Selection Sort:https://youtu.be/xWBP4lzkoyM

Rekursi

1.       Rekursi: https://en.wikipedia.org/wiki/Recursion

 

Graf:

1. Graf: https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)

2. Penelusuran graf: https://en.wikipedia.org/wiki/Graph_traversal

Tidak ada komentar:

KEWARGANEGARAAN DIGITAL

  MODUL INFORMATIKA KELAS X SMK SEMESTER GENAP TAHUN AJARAN 20 22 /20 23     Elemen           : Praktik Lintas Bidang (PLB) Peser...