Sunday, 20 December 2015

Berpikir dari sudut komputer

Sebenarnya hari ini masih belum enak badan, tapi aku sempat - sempatin buat ngeblog. Malam minggu kemarin adik telepon, katanya ada beberapa masalah dengan kuliahnya. Dia kuliah jurusan teknik informatika semester I. Karena aku tau sedikit - sedikit tentang pemrograman makanya dia nanya ke aku tentang masalah logika pemrograman. Dia nanya bagaimana cara menulis program dari suatu permasalahan, lebih tepatnya cara menyusun algoritmanya.
Sebenarnya aku juga bingung kalo suruh jawab, mungkin aku bisa membuat program dari banyak persoalan tapi kalo suruh mengajari bagaimana cara membuat program dari berbagai persoalan itu yang susah. Katanya adik, dia kurang bisa menterjemahkan sebuah persoalan kedalam bahasa pemrograman. Aku juga ngga tau dulu aku terus menjadi bisa memprogram itu bagaimana, pokoknya tiba - tiba bisa gitu aja. Setelah berpikir lama, akhirnya nemu cara agar kita bisa menulis suatu program, tapi aku ngga tau apakah ini cukup berhasil, biar adik yang membuktikannya.

Caranya adalah bagaimana cara kita berpikir dari sudut pandang komputer. Misal, jika kita dihadapkan sejumlah angka yang berbeda besarnya, dan kita disuruh untuk menentukan angka mana yang paling besar, maka dengan melihat saja kita akan tau angka mana yang paling besar. Tapi bagaimana dengan komputer, kenapa sebuah program harus membandingkan setiap - setiap angka. Kalau menurutku, otakpun sebenarnya juga membanding - bandingkan, tapi tanpa kita sadari, dan bukanlah kita yang sengaja menulis program perbandingan di otak kita. Program di otak kita terbentuk karena proses pembelajaran dengan sendirinya dalam waktu yang tidak sebentar. Cara belajar otak yang bisa menulis program sendiri inilah yang sekarang ditiru untuk diaplikasikan ke komputer, sehingga komputer pun bisa berpikir seperti manusia. Tapi sekarang yang kita bahas adalah bagaimana cara agar kita bisa memahami sebuah persoalan dan cara berpikir komputer, agar kita bisa membuat program komputer yang konvensional (bukan kecerdasan buatan).
Yang pertama harus dilakukan adalah, memodelkan persoalan tersebut ke dalam bentuk matematikanya. Misal, seperti contoh di atas, kita bisa menentukan angka dengan nilai terbesar, misal 100, lalu kita harus bertanya balik, kenapa bisa angka 100? jangan samapai kita menjawab, "ya karena itu yang paling besar", jawaban itu tidak menunjukkan sbuah proses pencarian angka terbesar. Jawabannya haruslah, " karena 100 ini lebih besar dari angka yang pertama, lebih besar dari angka yang kedua dan seterusnya". Lalu bagaimana caranya? dengan membandingkan angka pertama dengan kedua, lalu diambil yang terbesar, lalu yang terbesar tadi kita bandingkan dengan angka yang ketiga, lalu kita ambil yang terbesar, lalu kita bandingkan lagi dan seterusnya, hingga didapatkan angka terbesar yang terakhir. Itu adalah proses penyusunan algoritma.
Yang kedua adalah dengan mempelajari fungsi - fungsi dasar pemrograman. Aku adalah orang denga tingkat penghapalan rendah, aku tidak terlalu bisa mengingat banyak fungsi. Tapi aku bisa menulis program - program ringan samapi sedang hanya dengan dua fungsi dasar, yaitu fungsi percabangan dan pengulangan. Sebuah persoalan harus bisa diselesaikan dengan dua fungsi diatas. Persoalan itu pasti akan memuat kombinasi percabangan dan pengulangan. Bisa hanya pengulangan, atau percabangan saja, bisa juga dua - duanya, terkadang lebih dari satu percabangan atau pengulangan dalam satu program.
Menurutku itu adalah cara mengadaptasikan otak kita dengan komputer. Dan sering - sering lah untuk mencoba membuat program ini itu. Semakin banyak berlatih maka semakin mudah dalam menganalisa suatu persoalan. Good Luck!

0 comments:

Post a Comment