Problematika Kuliah Pemrograman

Salah satu skill yang harus dimiliki oleh mahasiswa jurusan yang berhubungan dengan komputasi (ilmu komputer, sistem informasi, sistem komputer, dll) adalah pemrograman. Saat ini bahasa pemrograman yang beredar sangat beragam, dari yang berbasis desktop, web, android/ios, hingga IoT. Tentu saja tidak semua bahasa harus dikuasai oleh mahasiswa komputer. Beberapa buku teks menggunakan konsep pseudocode yang mirip program tetapi dengan bahasa yang dimengerti manusia dan bebas platform bahasa pemrograman. Namun demikian diharapkan mahasiswa mengerti minimal satu bahasa pemrograman dan menguasainya.

Bahasa pemrograman pun banyak tipenya, dari yang berfungsi alat bantu komputasi teknis, program bisnis, statistik, game, hingga mesin pembelajaran dan deep learning. Banyak style yang diterapkan dalam pembelajaran memrogram ini. Hal ini berkaitan dengan maksud dan tujuan pembelajaran pemrograman itu sendiri.

Pemilihan Bahasa Pemrograman

Beberapa dosen senior kebanyakan mengajarkan bahasa C++ sebagai bahasa utama belajar pemrograman. Wajar, bahasa ini sangat ampuh, cepat, dan merupakan bahasa pembentuk bahasa pemrograman lain, bahkan untuk membuat satu sistem operasi. Beberapa dosen yang agak muda menyarankan Java karena bahasa ini banyak digunakan dalam industri. Bahasa ini juga pembentuk bahasa pemrograman lain, misalnya untuk piranti mobile. Saat ini, Python merupakan bahasa yang paling banyak digunakan karena selain ringan, cepat, dan praktis, bahasa ini cocok untuk bidang yang saat ini sedang “in” yakni deep learning.

Style Pengajaran

Beberapa dosen sangat ketat dalam mengajarkan dalam artian, siswa harus mampu memrogram dengan bahasa yang murni. Ciri dosen ini adalah mengharamkan bahasa pemrograman yang sudah memiliki module atau toolbox yang berisi fungsi tertentu. Misal, alih-alih menggunakan fungsi, misalnya average utk rata-rata, mahasiswa diharuskan membuat formula perhitungan rerata sendiri. Jika siswa mampu mengikuti perkuliahan ini, dipastikan mampu berfikir logis. Namun ketika lulus harus cepat beradaptasi dengan bahasa-bahasa baru yang digunakan industri. Dosen dengan style ini sangat mengharamkan Matlab maupun OpenCV dalam pembelajaran. Saya sendiri sempat mempraktikan metode ini hanya untuk materi dasar seperti algoritma dan pemrograman. Itu pun mahasiswa agak kesulitan.

Dosen-dosen generasi 2000-an kebanyakan saat ini menggunakan bahasa Python. Saat ini Google mempermudah orang belajar Python karena menyediakan fasilitas “Google Colab”, yaitu pemrograman via browser. Mahasiswa tidak perlu menginstal Python, tinggal langsung mengetik http://colab.research.google.com maka langsung terhubung ke Google Colab. Bahkan Google menggratiskan GPU-nya untuk digunakan. Mungkin dosen-dosen senior agak keberatan karena dalam Python banyak fungsi-fungsi “instan” yang tidak mendidik para mahasiswa dalam memrogram tetapi dari diskusi-diskusi sesama pengguna banyak informasi-informasi mengenai struktur logika suatu fungsi tertentu. Pembuat fungsi/library pun menyediakan kode sumber yang dapat dilihat di situs resminya. Selain itu, sumber file dapat dilihat isinya misalnya salah satu fungsi m-file dalam Matlab yang bisa dilihat kode sumbernya. Tentu saja jika siswa diharuskan membuat dari “nol” agak berat, khususnya materi-materi yang melibatkan banyak komputasi seperti model-model deep learning. Ada baiknya mengikut perkuliahan Massachusetts Institute of Technology (MIT) yang mengharuskan mahasiswa memahami struktrur program yang dia ketik. Tentu saja fungsi-fungsi tertentu seperti rata-rata, standar deviasi, dan sejenisnya dianggap siswa sudah memahaminya, terkadang tidak perlu mengkode ulang.

Share Kode (Github, Google Colab, dll)

Saat ini siswa mudah sekali mempelajari satu metode karena sudah banyak yang men-share kode sumber yang merupakan proyek risetnya. Termasuk buku-buku teks pun ikut juga men-share kode2nya, sekaligus promosi buku yang dijualnya. Kode-kode tersebut sangat membantu memahami konsep-konsep dasar komputasi, machine learning, data mining, dan sejenisnya karena langsung terlihat nyata. Hanya saja beberapa problem harus diselesaikan terkait kompatibilitas versi bahasa pemrograman, misalnya Google Colab yang menggunakan versi terkini Python dan library-library nya, seperti diskusi berikut ini.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.