B. Berpikir Komputasional (Bab 2)

B. Berpikir Komputasional

Berpikir komputasional ini merupakan suatu kerangka dan proses berpikir yang mencakup perangkat keras, perangkat lunak, dan menalar (reasoning) mengenai sistem dan persoalan. Moda berpikir (thinking mode) ini didukung dan dilengkapi dengan pengetahuan teoritis dan praktis, serta teknik untuk menganalisis, memodelkan dan menyelesaikan persoalan. Berikut ini pembahasan beberapa konsep dan strategi berpikir komputasional yang biasa digunakan dalam menyelesaikan persoalan komputasi.

1. Rekursi

Pada bagian ini kalian akan mempelajari tentang konsep rekursi dan beberapa contoh permasalahan yang dapat diselesaikan dengan menggunakan konsep tersebut, salah satunya adalah barisan Fibonacci.

Suatu masalah dapat didekomposisi menjadi permasalahan yang serupa, namun ukurannya lebih kecil. Saat kita diminta untuk memindahkan satu kardus buku yang sangat berat dan tidak dapat kita angkat, kita akan membagi kardus tersebut ke dalam beberapa kardus yang lebih ringan sehingga pekerjaan tersebut menjadi lebih mudah untuk dikerjakan. Ketika menghitung suatu nilai faktorial, kita pun harus menghitung nilai faktorial yang lebih kecil. Misalnya, ketika menghitung 10 faktorial, kita juga harus menyelesaikan 1 faktorial, 2 faktorial, hingga 9 faktorial terlebih dahulu.

Secara alami, terdapat banyak permasalahan yang dapat dimodelkan dengan lebih mudah menggunakan konsep rekursif ini. Pada bagian ini, kalian akan mempelajari konsep dasar rekursi yang akan sangat berguna untuk melakukan dekomposisi pada suatu permasalahan besar dalam bentuk permasalahan yang lebih kecil dan lebih mudah untuk diselesaikan. Rekursi didefinisikan sebagai “sesuatu” yang mengandung “sesuatu” itu sendiri.

Dalam pembahasan kali ini, kita akan membahas fungsi/barisan rekurensi (recurrence) yaitu fungsi/barisan dimana nilai dari fungsi/barisan itu sendiri secara rekursif, pada urutan nilai-nilai sebelumnya. Misalnya, kita memiliki sebuah barisan ai,i=1,2,…,n sebagai berikut:

Dimana nilai pertama dari barisan (a1) adalah 1, dan kemudian nilai-nilai berikutnya dalam barisan tersebut dihitung dengan cara menambahkan nilai 2 kepada nilai barisan sebelumnya.
Kita dapat menuliskan dalam notasi rekursif sebagai berikut:


Pada definisi sebuah barisan/fungsi rekursif, selalu ada minimal dua hal yang harus ditentukan, yaitu:

  • Basis: menunjukkan dasar/nilai awal dari fungsi/barisan tersebut. Misalnya, pada contoh di atas, a1=1
  • Rekursi: menunjukkan hubungan antara nilai dari fungsi/barisan tersebut dengan nilai-nilai sebelumnya yang telah diketahui. Misalnya, pada contoh di atas: ai=ai-1+2, jika i > 1.
Scroll to Top