Belajar ilmu komputer, khususnya coding, bagi mahasiswa milenial sedikit membingungkan, apalagi ketika perkembangan teknologi saat ini yang super cepat. Jika mengikuti alur normal, maksudnya dari dasar yang paling dasar .. terkadang membuat mereka stres, ditambah lagi godaan medsos, game, dan youtube.
“Untuk apa belajar itu Pa?”, merupakan pertanyaan yang sudah muncul sejak jaman batu mungkin. Bahkan De Morgan sempat dianggap gila di jamannya. Maklum penerapannya belum ada saat itu, yaitu komputer. Jawab saja sebisanya pertanyaan itu, toh nanti akhirnya mengerti juga, yang penting mengikuti kuliah hingga selesai, minimal sebelum lulus sudah mengerti .. mudah-mudahan.
Begitu juga dengan pemrograman, atau dalam bahasa kekiniannya, Coding. Jika mempelajari dari dasarnya, misalnya bahasa C++ atau bahasa rakitan, baik dosen dan mahasiswa akan lelah, belum lagi mencari pengajar bahasa tersebut yang mulai langka. Kalau untuk belajar algoritma dan struktur data mungkin oke lah. Tapi jika untuk tugas akhir/skripsi, untuk membuat aplikasi paling sederhana pun butuh waktu lama dengan bahasa pembuat bahasa dan sistem operasi tersebut.
Beberapa dosen, cerita dari teman, banyak yang melarang menggunakan Toolbox pada Matlab atau Library di Python. Alasannya seperti biasa, mahasiswa jadi kurang berfikir mendasar, mengingat dengan library dan toolbox, mahasiswa tinggal pakai. Ada benarnya juga.
Permasalahannya tidak semua mahasiswa ilmu komputer fokus ke pemrograman. Apalagi ada banyak jenis programmer, dari web, android/iOS, game, disain, dan lain-lain. Saya pernah mengajar teknik kompilasi dengan bahasa Lex and Yacc yang berbasis C++, untuk membuat bahasa dengan dasar-dasar teknik automata. Hasilnya, mahasiswa kalang kabut. Apalagi untuk mahasiswa sistem informasi atau jurusan non komputer yang butuh bantuan ilmu komputasi.
Halal .. asalkan
Untuk pengguna Toolbox Matlab, ada baiknya Anda daftar gratis di forum Mathworks. Di sana banyak share m-file yang berupa kode-kode untuk fungsi tertentu. Jadi kita bisa belajar bagaimana algoritma bekerja untuk menyelesaikan kasus tertentu. Atau sebenarnya di program Matlab bisa dilihat kode program sebuah fungsi dengan mengetik “edit <nama fungsi>”.
Yang kurang tepat adalah, siswa hanya menggunakan Toolbox atau fungsi yang tersedia tanpa memahami alur programnya.
Nah, saat ini Python merupakan bahasa yang sedang trendy, silahkan lihat dengann Google Trend. Bahasa ini mengalahkan bahasa-bahasa lain dari sisi pencarian di Google.
Python yang di tahun 2012 terbawah, secara perlahan menjadi yang pertama, menyalib bahasa lainnya, bahkan bahasa terkenal, Java. Hal ini karena Python banyak memiliki Library yang sangat membantu mempercepat pembuatan aplikasi.
Seperti pada Matlab, yang kurang baik adalah jika mahasiswa menggunakan Library saja, tanpa memahami prinsip dasar metode/algoritmanya, misalnya Scikit Learning. Dan untuk melihat struktur program, Library pada Python mudah diperoleh. Tetapi untuk memahaminya, dasar-dasar pemrograman di Python harus dikuasai terlebih dahulu, ditambah dengan pemahaman class dan objek. Hal ini karena Library menggunakan class, parameters, dan def, ciri khas pemrograman objek (kelas, atribut, dan metode/operasi).
Untuk mahasiswa ilmu komputer, penggunaan aplikasi seperti Rapidminer, Weka, dan sejenisnya sebenarnya boleh saja, namun untuk mahasiswa S1 dan D3 yang dituntut menghasilkan aplikasi, menurut saya tidak bisa dijadikan tugas akhir/skripsi. Minimal untuk materi mata kuliah. Tapi mubazir juga sih, dipelajari di kuliah tapi tidak bisa dipraktekan/digunakan untuk tugas akhir/skripsi.
Postingan ini sekedar pendapat pribadi ya, untuk bagaimana melihat kode sumber dari library yang ada, silahkan lihat video Youtube saya berikut ini. Isinya membandingkan penggunaan K-Nearest Neighbors dengan Scikit Learning dan tanpa library Machine Learning.