Mengapa belajar menulis program itu sulit?

Mengapa belajar menulis program itu sulit?

Pada saat mempelajari sebuah bahasa pemrograman erat kaitannya dengan logika serta cara berpikir yang tersetruktur. Cara berpikir seseorang berbeda dalam menyelesaikan sebuah persoalan. Dengan banyaknya jenis bahasa pemrograman alangkah lebih bijak dalam memilih dan disesuiakan dengan cara berpikir (logika), untuk menerapkan konsep yang ada kedalam sebuah perintah dalam hal ini program.

Penerapan sebuah logika kedalam bahasa pemrograman setiap individu berbeda-beda, dan tidak dapat dipaksakan. Setiap orang dapat mempelajari bahasa pemrograman dari seorang ahli, tetapi dalam prosesnya akan terjadi perbedaan dalam hal penyelesaian permasalahan.

Permasalahan yang akan dihadapi akan bervariasi, seiring dengan tingkat kompleksitas sebuah program itu sendiri. Permasalahan yang timbul ini kemudian akan dikemas kedalam sebuah permasalahan-permasalahn yang lebih kecil, atau istilahnya modul dalam dunia pemrograman.

Dalam menyelesaikan persoalan atau permasalahan sesesorang akan dituntut berpikir bagaimana harus menyelesaikan hal tersebut. Untuk merealisasikan buah pikiran yang sudah terkonsep disini membutuhkan teknik tersendiri dimana penerapan logika tepat untuk diterapkan pada jenis pemrograman yang sudah dipilih.

Konsep berpikir prosedural/ tersetruktur dan berorientasi pada objek, paradigma ini dikenal dengan istilah Pemrograman Prosedural dan Berorientasi Objek.
Seseorang akan dihadapkan pada dua pilihan tersebut diatas, dalam menyelesaikan sebuah persoalan program.

Secara garis besarnya teknik berpikir prosedural seseorang akan menuliskan baris kode program secara berurut (sequence) dari baris pertama, kedua dan seterusnya kemudian digabung kedalaman satu bagian ke dalam program. Teknik ini tidak terlalu sulit untuk dipahami, karena konsep kesederhanaan, efisien dan keefektifan barisan perintah program, namun jika dianalogikan ke dunia nyata sangat tidak relevan, tidak alamiah untuk pikiran dan kebiasaan manusia.

Karena konsep yang dipakai menggunakan desain pendekatan “Top Down”, maka tugas-tugas kompleks akan dipecah kedalam bagian yang lebih kecil, dimana baris perintah tersebut lebih mudah dikenali dan dieksekusi dari sisi mesin, konsep ini sedikit berbeda dengan paradigma pemrograman berbasis objek dimana dengan menggunakan desain pendekatan “Bottom Up”. Teknik penulisan program berbasis objek lebih ke bagaimana caranya menggabungkan sebuah perintah program (prosedur) untuk menyelesaikan persoalan yang sederhana, kemudian menggabungkan ke dalam prosedur yang lebih kompleks, secara sederhannya sebelum program itu dibuat konsepnya dibuat terlebih dahulu kedalam sebuah cetak biru (blue print) . Teknik ini sedikit lebih sulit untuk dipelajari namun jika dianalogikan ke dunia nyata, teknik ini sangat relevan dengan keseharian manusia.

Jika dilihat dari kurva belajar seseorang pada saat sedang mempelajari sebuah bahasa pemrograman itu sendiri cukup bervariasi, tergantung dari tingkat kompleksitas bahasa pemrograman tersebut, aturan sintaks, dan paradigma yang diterapkan.

Pengetahuan seseorang tentang bagaimana sesuatu hal bekerja, pada ruang lingkup permasalahan yang akan diselesaikan sangatlah menjadi faktor utama diiringi bagaimana solusi yang digunakan, serta tools yang tepat sebagai penunjang.Tidak ada aturan baku, dalam menyelesaikan sebuah permasalahan. Tidak ada programmer yang paling ahli atau tidak ahli, yang ada hanya mereka lebih dulu tahu/ berpengalaman dan baru/ belum berpengalaman. Seorang programmer pun akan dituntut untuk selalu belajar sepanjang karirnya.

Belajar apapun akan terasa sulit jika tidak diawali dari dasar, terlebih lagi berpikir secara komputasional, dibutuhkan kesabaran, awalnya akan terasa rumit namun secara perlahan akan terbiasa, dan semua itu kuncinya adalah tekun dan sabar.