PhD Study – Win or Lose, no Draw

Kuliah dengan beasiswa pasti memiliki ikatan dengan pemberi beasiswa, minimal ikatan alumni, misalnya sama-sama penerima beasiswa BPPLN Dikti, yang saat ini sudah tidak dibuka lagi karena diganti dengan BUDI lewat LPDP. Berbeda dengan LPDP yang dipilih dari anak-anak mudah super, BPPLN kebanyakan dosen-dosen mapan, santai, yang terpaksa harus mengambil S3 (tidak semua sih). Nah, ternyata hasil/outputnya tidak jauh berbeda dengan kendala yang sama dengan anak-anak super itu.

Postingan ini terinspirasi dari grup WA alumni penerima beasiswa yang tiba-tiba ada seseorang yang mancing-mancing curhat masalah kuliahnya dulu hingga akhirnya berbondong-bondong ikut curhat juga. Tapi saya tidak ikut, hanya nyimak .. hehe, walaupun banyak cerita dan problemnya cukup berat juga.

Masa Sulit dan Masa Mudah Memperoleh Beasiswa

Saat ini sebenarnya banyak sekali tawaran beasiswa, hanya saja kondisi dan banyaknya pesaing membuat terkesan sulit. Ketika saya mengajukan di tahun 2013, kala itu DPR kecewa dengan DIKTI yang tidak bisa memenuhi target penerima beasiswa, alias sedikit yang mengajukan. Memang waktu itu tuntutan S3 tidak terlalu dibanding sekarang, jadi sedikit yang berminat. Nah, saya melihat itu dan iseng-iseng mencoba. Pertama lewat pendidikan gratis 3 bulan pelatihan bahasa dengan skor IELTS 6.0 saya mencoba apply. Wawancara pertama gagal, tapi saya santai saja, karena telah mengetahui DIKTI kesulitan mencari penerima beasiswa yang memang sedikit yg mendaftar (Sok jual mahal .. hehe). Tiba-tiba ada undangan wawancara ulang. Ternyata dugaan saya benar, masih minim yang daftar, sampai saya dan beberapa rekan yang sudah melupakan studi lanjut ketemu lagi di acara wawancara terakhir.

Dengan Pewawancara, Pa John, saat Reuni Penerima Beasiswa

Sebelum pandemik COVID-19 ternyata rekan-rekan saya yang mencoba mengajukan beasiswa tidak ada yang lolos dan begitu juga kampus-kampus level menengah. Saat pandemik lebih parah lagi. Bahkan rekan sesama alumni ada yang meninggal karena COVID.

Peran Supervisor

Peran supervisor atau advisor sangat menentukan. Pemberi beasiswa sangat tidak menyarankan ganti supervisor. Bahkan jika advisor pindah kampus, pemberi beasiswa membolehkan ikut pindah juga. Kalau saya unik, supervisor sama tapi pindah jurusan dikit.

Supervisor itu Seperti Anggota Keluarga

Video youtube di bawah ini memperlihatkan problem mahasiswa doktoral dengan supervisor. Juga dengan rekan-rekan lain, apalagi jika kampusnya rasis.

Tingkat Kelulusan 50%

Ini info dari Amrik, yang ternyata tidak jauh berbeda dengan di Indonesia dan mungkin negara-negara lain. Bahkan di kampus saya yang lulus dan yang tidak lulus 50:50. Mirip koin yang dilempar peluangnya. Uniknya LPDP yang berisi mahasiswa-mahasiswa super pun angkanya tidak jauh berbeda. Jadi mahasiswa yang akan mengambil jenjang ini harus memahami dua kemungkinan, lulus atau tidak lulus. Jangan khawatir, 50% itu kan rata-rata, tentu saja ada yang 30% dan ada yang 80% dong. Belum lagi musibah seperti yang dialami rekan saya yang meninggal karena stroke.

Semangat 100%

Boleh saja tingkat kelulusan rendah, tapi semangat harus dijaga 100%. Maklum PhD study itu seperti lari jarak jauh, berbeda dengan Master yang hanya 2 tahun. PhD study banyak tangga yang harus dilalui dan kita tidak tahu ditangga ke berapa bisa terpleset.

Jangan Terlalu Mandiri

Pembaca mungkin tidak setuju poin ini dan memang tidak ditemui di pelatihan-pelatihan seperti doctoral bootcamp. Namun beberapa kejadian di kampus saya menunjukan hal ini. Sebenarnya PhD study tidak 100% akademik, mungkin hanya 20% saja sisanya problem-problem lain seperti keuangan, kesehatan, lingkungan, supervisor, dan lain-lain.

Ngopi & Diskusi di Sore Hari – Ternyata alumni UGM semua dab ..

Masalah bahasa Inggris merupakan problem abadi mahasiswa Indonesia, termasuk saya. Komentar pertama penolakan ketika submit jurnal saya unik juga, reviewer jujur tidak membaca habis naskah saya, hanya 2 paragraf, dan dia yakin seluruh paragraf akan seperti itu, berantakan bahasa Inggrisnya. Supervisor tahu konten artikel menarik tapi tidak bisa menuangkan dengan baik gagasannya. So, langkah tercepat adalah minta jasa proofread. Di sinilah saya sadar tidak semua hal bisa saya kerjakan. Namun dengan berbekal bagaimana proofreader memperbaiki naskah saya jadi tahu bagaimana menulis artikel yang sesuai dengan EYD-nya English. Selain bahasa seperti pembuatan model, pertolongan kepala lab, responden survey penelitian, dan lain-lain membuktikan tidak 100% S3 lewat usaha kita. Semoga tulisan ini tidak melemahkan semangat Anda yang mau S3.

Naïve Bayes – Kalkulasi secara Manual dan dengan Komputer

Saat ini tidak dapat dipungkiri bahwa Deep Learning paling banyak diteliti dan digunakan dalam aplikasi-aplikasi artificial intelligence. Beberapa pengguna tidak menyukai metode tersebut karena karakteristiknya yang tidak dapat dilihat logika di dalam modelnya atau sering diistilahkan dengan black box walaupun akurasinya saat ini dengan model terbarunya hingga mendekati 100%. Selain itu, deep learning membutuhkan kinerja prosesor yang tinggi, terutama ketika proses pelatihan (learning).

Jika ingin membuat model yang dapat dilihat alur logikanya, naïve bayes merupakan salah satu pilihan yang baik. Walaupun kinerjanya menurut beberapa penelitian kalah dengan metode terkini seperti misalnya support vector machine (SVM), metode ini memiliki karakteristik statistik yang kental, yaitu probabilistik. Ada istilah confidence dalam metode ini.

Untuk perhitungan, naïve bayes lebih mudah menurut saya dibanding decision tree yang mengharuskan membuat model tree dengan konsep entropy dan gain informationnya. Pada naïve bayes, kita hanya menghitung probabilitas ketika menghitung confidence tiap-tiap kelas prediksi.

Plus Minus

Metode naïve bayes, dalam Scikit Learn diisitilahkan dengan Gaussian Naïve Bayes, karena dalam mengkonversi tabel kategorikal lewat pendekatan fungsi Gauss. Walaupun akurasinya kurang dibanding metode lain, sifat probabilistiknya sangat membantu penjelasan ke pengguna dalam aplikasinya. Misalnya dalam memprediksi sebuah sentimen dalam sentiment analysis, metode ini tidak hanya menjelaskan positif, negatif, atau netral saja, melainkan berapa kadar positif dan negatifnya dalam bentuk probabilitas. Terkadang jika dalam sistem dashboard menunjukan negatif dengan probabilitas yang tinggi bisa saja digambarkan dengan warna merah yang artinya warning, sehingga eksekutif segera mengambil tindakan yang perlu dalam manajemen.

Statistik merupakan bidang yang paling banyak dimanfaatkan dalam machine learning. Belakangan beberapa ahli machine learning enggan disebut ahli statistik karena belakangan metode-metode terbaru tidak terlalu mengadopsi konsep statistik, misalnya tensorflow yang cenderung ke arah tensor dan matriks dalam aljabar. Silahkan lihat penjelasan slide di atas dalam video youtube berikut ini, semoga bermanfaat.

Pseudocode

Bahasa pemrograman sangat beragam dari yang sulit seperti bahasa rakitan hingga yang paling mudah dengan bantuan Integrated Development Environment (IDE) yang interaktif. Hanya dengan drag and drop mouse, sebuah aplikasi terbentuk. Karena tiap programmer memiliki bahasa pemrograman sendiri, terkadang untuk berkomunikasi membutuhkan bahasa universal tentang sebuah algoritma. Di sinilah peran pseudocode, dimana sebuah alur algoritma dibuat dalam bahasa umum yang dimengerti manusia.

Dalam perjalanannya, pseudocode memiliki kompromi antara bahasa yang mudah dimengerti manusia dengan yang mudah diimplementasikan programmer. Cornel University menawarkan saran dalam pembuatan pseudocode sebagai berikut.

  • Dibuat menyerupai bahasa manusia dan kode program.
  • Hindari detil yang tidak perlu.
  • Jangan menulis yang sudah jelas.
  • Gunakan beberapa sintax program yang lebih ringkas dari bahasa, misal struktur if-then-else.
  • Perhatikan konteks-nya. Terkadang “use quicksort” pada pseudocode cukup jika audiens mengerti. Namun “quicksort” perlu dijabarkan pada kasus tertentu.
  • Jangan melupakan algoritma yang mendasari algoritma yg sedang dibuat pseudocodenya.
  • Seimbangkan antara pemahaman user dan programmer.

Buku-buku referensi internasional, terutama yang membahas metode-metode komputasi memiliki style terntentu dalam pembuatannya. Jurnal-jurnal ilmiah pun memiliki patokan-patokan dasar dalam pembuatan pseudocode. Ada yang merepresentasikan pseudocode dalam Figure/Gambar, ada pula yang menyamakan dengan naskah teks. Masing-masing ada kekurangan dan kelebihannya.

Thomas Cormen dalam buku Algoritma-nya kebanyakan merepresentasikan sebuah pseudocode dalam format fungsi dimana variabel input dimasukan dalam tanda kurung “()”. Selain itu, sebuah penomoran diberikan di tiap baris perintahnya.

Terkadang pembaca awam pun harus memahami seluk-beluk pemrograman, misalnya konsep rekursif yang unik dimana satu fungsi memanggil dirinya sendiri di dalam alur algoritmanya. Contoh sederhana adalah fungsi faktorial berikut.

Untuk lebih jelasnya silahkan simak video youtube berikut, yang masuk dalam materi kuliah logika dan algoritma.

Pohon Keputusan (Decision Tree)

Pohon keputusan merupakan satu metode klasik dalam prediksi/klasifikasi. Tekniknya adalah dengan menggunakan pertanyaan di suatu atribut (disebut test attribute) kemudian mengarahkan ke cabang mana sesuai dengan jawabannya. Tugas utama dalam metode ini adalah model membuat pohon/tree berdasarkan informasi dari data yang menjadi rujukan.

Perhitungan Manual

Pada slide di bawah, perhitungan manual dijelaskan yang diambil dari buku Data Mining karya Han and Kamber.

Beberapa kesalahan hitung terjadi ketika menghitung expected information dan entropi di tiap-tiap fitur/atribut. Untuk yang sedang mengambil kuliah ini ada baiknya berlatih soal-soal agar ketika ujian tidak terjadi salah hitung.

Perhitungan dengan Program

Berikutnya disertakan pula bagaimana mengimplementasikannya dengan Python, dalam hal ini menggunakan Google Colab. Saran untuk mahasiswa S1 dan D3 ada baiknya mengetik langsung kode (tanpa copas) agar bisa melatih skill/keterampilan. Sekaligus juga debug ketika ada error terjadi. Silahkan lihat video lengkapnya di youtube berikut ini. Semoga bermanfaat.

Inheritance/Pewarisan dengan Python

Salah satu konsep terkenal pada pemrograman berorientasi objek adalah inheritance/pewarisan. Istilah ini identik dengan generalisasi dan spesialisasi dimana seorang induk akan mewariskan sifat-sifat ke seorang anak yang general dan seorang anak memiliki sifat khusus yang spesifik. Gambar di bawah ini contoh diagram UML dalam menggambarkan relasi generalisasi yang menggambarkan konsep pewarisan.

Kotak menggambarkan kelas dengan tiga kompartemen/ruang yaitu nama, atribut dan metode/operasi. Kelas Unisma di atas merupakan kelas induk yang akan mewariskan tiga buah atribut (nama, status, dan jurusan) dan dua buah operasi/metode (salam dan Info). Di sini simbol minus berarti private (tidak bisa diakses dari luar kelas) dan plus berarti publik (bisa diakses di luar kelas). Silahkan lihat slide berikut.

Kelas Dosen dan Mahasiswa berturut-turut memiliki atribut unik NIP dan NPM, juga metode SalamDosen() dan SalamSiswa(). Perhatikan jangan lupa menulis “()” setelah nama metode/operasi, yang merupakan standar/konvensi internasional. Silahkan buat satu sel yang berisi kelas Unisma yang merupakan kelas Induk.

https://colab.research.google.com/drive/1T19eiVktOrMQzXqZLD3jV4I0fbbQZ6oA?usp=sharing

Kode di atas juga mengilustrasikan pembuatan dua kelas anak yaitu kelas Dosen dan kelas Mahasiswa. Di sini kita menggunakan IDE Google Colab yang dapat diakses tanpa perlu instalasi karena hanya menggunakan browser dengan network ke internet.

Perlu diperhatikan bahwa pemrograman berorientasi objek memiliki konsep Konstruktor dalam tiap pembuatan kelas. Karena tiap kelas harus mampu menciptakan satu objek. Tanpa konstruktor maka kelas tersebut tidak bisa membentuk objek. Istilahnya adalah kelas abstrak, terkadang diperlukan juga kelas jenis ini pada penerapannya. Silahkan lihat video berikut, semoga bermanfaat.

Jenuh dan Bosan

Pandemik COVID-19 sudah berlangsung dua tahun. Jika dibandingkan dengan awal-awal kemunculannya saat ini sudah mengalami naik turun jumlah kasus hariannya. Ketika tulisan ini dibuat, di India terjadi lonjakan eksponensial, yang tidak sanggup diprediksi oleh mesin regresi manapun. Indonesia kini sudah mulai melakukan vaksinasi corona dan sepertinya tidak ada lagi penolakan yang berarti dari masyarakat. Yang dikhawatirkan adalah mudik lebaran yang berpotensi menambah kasus infeksi harian COVID-19.

Beberapa tempat peribadatan telah dibuka, termasuk mall di tempat saya, Bekasi. Memang, jenuh dan bosan sulit diatasi. Yang terpenting adalah jangan lengah dan tetap menjaga protokol kesehatan. Tempat saya bekerja terjadi kasus karena acara pelatihan. Walaupun tidak ada orang luar, tetapi rekan kita tidak bisa dijamin tidak pernah ke mana-mana. Ditambah lagi karena sudah kenal dekat, kita yakin rekan kita tidak membawa virus, akibatnya masker dan jaga jarak kurang diperhatikan.

TIdak dapat dipungkiri, kita sudah jenuh dengan belajar/bekerja dari rumah. Terkadang kejenuhan bisa membuat seseorang nekat dan berani walau dalam keadaan pandemik. Tak apa, yang penting tetap waspada. Postingan ini mudah-mudahan bisa mengusir jenuh pembaca sekalian.

Vaksinasi COVID-19

Untuk Mahasiswa

Mahasiswa saya ada yang terkena, tetapi karena masih muda hanya beberapa minggu sudah sembuh kembali. Masalahnya adalah mahasiswa yang berasal dari dosen yang tugas/ijin belajar. Seorang rekan saya terpaksa dilarikan kembali ke ICU karena kondisinya yang lemah, padahal sudah balik ke rumah dan dinyatakan negatif. Rekan saya yang satu angkatan studi ke luar negeri beasiswa BPPLN dikti meninggal karena paru-parunya gagal menangkap oksigen untuk tubuhnya.

Saran saya untuk mahasiswa doktoral yang biasanya sudah berusia lanjut adalah efektif dan efisien dalam menyelesaikan disertasinya. Seperti saran saya ketika pembekalan dulu di tahun 2013, mahasiswa doktoral tidak dituntut untuk memenangkan hadiah nobel. Waktu sangat berharga, sehingga makin cepat makin baik, apalagi beasiswa ada batasnya.

Dalam menghadapi jenuh dan bosan ternyata anak-anak lebih hebat. Saya perhatikan dua anak saya yang masih SD dan SMP sangat menikmati kesehariannya. Untungnya aplikasi-aplikasi di gadget sangat membantu mengusir jenuh asal dibatasi saja dan aktivitasnya positif. Oiya, kemampuan mengusir rasa jenuh dan bosan juga salah satu bagian dari kecerdasan. Jadi segala daya dan upaya harus kita lakukan dalam mengusir kebosajan baik dengan beribadah, berdoa, hingga aktivitas-aktivitas yang di luar rutinitas harian. Berkebun, memelihara binatang, saat ini menjadi banyak peminatnya.

Prioritas

Boleh saja kita menyalurkan hobi dan lain-lain untuk mengusir rasa jenuh, namun tanpa prioritas dikhawatirkan tugas-tugas utama tidak dapat selesai sesuai harapan. Kemampuan menentukan hal-hal yang penting dan mana yang kurang penting sangat perlu. Jika prioritas dapat kita tentukan di awal, diharapkan kesalahan-kesalahan untuk hal-hal yang penting dapat dihindari dan hanya terjadi pada hal-hal yang kurang penting. Manusia tidak luput dari lupa, namun jangan sampai lupa terhadap hal-hal yang penting. Apa saja kah hal penting itu? Kitalah yang tahu. Jika facebook, twitter, dan medsos lainnya lebih sering Anda akses dibanding tugas utama seperti membuat jurnal, menyusun disertasi, dan lain-lain, dapat dipastikan penentuan prioritas belum maksimal. Semoga tulisan di hari libur ini bermanfaat.

Machine Learning dengan K-Nearest Neighbours (KNN)

Beberapa istilah terkadang membuat rancu seperti data mining, machine learning, dan deep learning. Wajar saja karena ketiganya masih dalam induk yang sama, yaitu data mining yang bermain dengan data yang akan dilatih/ditraining. Deep learning merupakan machine learning yang mengkhususkan diri dengan satu metode yaitu jaringan syaraf tiruan (neural network). Machine learning merupakan salah satu metode dalam data mining yang mengkhususkan diri dengan beragam metode untuk melatih data sehingga mampu digunakan sebagai mesin inferensi/prediksi maupun klasterisasi. Salah satu metode klasik yang mudah dimengerti adalah KNN. Metode ini berprinsip, suatu data akan menjadi anggota data lain jika di sekelilingnya kebanyakan anggota data tersebut.

Scikit Learn

Para pengembang dan peneliti dengan menggunakan bahasa Python bersama-sama membuat library untuk pengguna machine learning. Library tersebut dibuat dengan format kelas yang berisi metode/fungsi seperti fitting, predicting, dan juga alat untuk mengukur akurasi. Kode sumber dapat diakses dengan mudah sehingga memudahkan Anda yang mendapat tugas memodifikasi metode.

Untuk praktek menerapkan KNN dengan library dari Scikit Learn, Google Colab merupakan pilihan yang praktis karena hanya bermodalkan browser dengan koneksi internet saja. Berikut kode yang terdiri dari impor library, ambil data, training data dan validasi. Terakhir menggunakan fungsi prediksi pada library untuk memprediksi kelas suatu data. Untuk pemula ada baiknya Anda ketik sendiri untuk melatih keterampilan serta alur logika memrogram.


#Impor pustaka
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report
#Mengambil data dari file csv
datasiswa=pd.read_csv('beasiswa.csv')
df=pd.DataFrame(datasiswa,columns=['Mahasiswa','IPK','Tingkat Kemiskinan (TM)','Beasiswa/Tidak'])
X=np.asarray(datasiswa)
x_train=X[:,1:3]
y_train=X[:,3:4]
#Memanggil KNN
knn=KNeighborsClassifier(n_neighbors=6,
weights='uniform',
algorithm='auto',
metric='euclidean')
#Fit model dengan data latih dan target/label
knn.fit(x_train,y_train)
#Mengambil data dari file csv
datavalidasi=pd.read_csv('validasibeasiswa.csv')
df2=pd.DataFrame(datasiswa,columns=['Mahasiswa','IPK','Tingkat Kemiskinan (TM)','Beasiswa/Tidak'])
X2=np.asarray(datavalidasi)
x_val=X2[:,1:3]
y_val=X2[:,3:4]
#Prediksi
y_pred=knn.predict(x_val)
print((y_val).T)
print(y_pred)
print(classification_report(y_val,y_pred))
#Menyiapkan sebuah data uji/testing
uji=np.asarray([[2.5,4.0]])
y_pred=knn.predict(uji)
print(y_pred)

Data yang dibutuhkan dua buah yaitu data beasiswa dan data validasi beasiswa dalam format CSV. Bagaimana cara unggah data tersebut ke Google Colab serta penerapannya silahkan lihat video Youtube saya berikut ini. Semoga bermanfaat.

Tips and Tricks for Undergraduate and Graduate Research on Machine Learning

Machine learning merupakan topik yang menjadi perhatian peneliti-peneliti ilmu komputer saat ini, terutama karena perkembangan pesat Deep Learning beserta perangkat keras pendukungnya seperti CPU, GPU, dan memory. Dari diploma hingga doktoral riset machine learning sangat menarik perhatian industri maupun pengguna. Hal ini terjadi karena salah satu karakteristik dari industri 4.0 adalah artificial intelligence, dimana machine learning termasuk di dalamnya.

Tip dan Trik Untuk Diploma dan S1

Sesuai dengan tujuan dari program diploma dan S1 yang menerapkan teori yang diperoleh dari bangku kuliah, maka riset untuk mahasiswa S1 menuntut skill dalam membuat aplikasi sederhana. Selain menerapkan ilmu yang diperoleh, mahasiswa S1 diharuskan mengikuti tren terkini teknologi yang ada agar bisa bersaing di dunia kerja. Untungnya materi sudah tersedia di internet, tinggal mahasiswa menentukan ke mana arah minatnya. Mahasiswa S1 saat ini diwajibkan memiliki sertifikat kompetensi sebagai pendamping ijazah.

flyer

Tip dan Trik Untuk Master dan Doktor

Master dan doktor merupakan kelanjutan dari jenjang sebelumnya, sering disebut dengan istilah pascasarjana (graduate atau post-graduate). Nah, sedikit berbeda dengan mahasiswa S1, mahasiswa pascasarjana tidak fokus ke pembuatan aplikasi melainkan memperbaiki metode yang ada atau menemukan metode baru yang lebih baik. Biasanya kampus mensyaratkan luaran berupa jurnal atau seminar, jika master seminar internasional, doktor jurnal internasional yang terindeks.

Problem saat ini yang muncul adalah beberapa aplikasi menyediakan library atau tools yang dikhawatirkan tidak mendidik pengguna mengetahui algoritma di dalamnya. Namun fungsi-fungsi yang tersedia dapat dilihat, misalnya Matlab dengan m-file nya, sementara Python dengan fungsi-fungsi yang ada di kelas fungsi tersebut. Oleh karena itu diperlukan pemahaman mengenai bahasa pemrograman berorientasi objek. Tantu saja ada juga yang share kode Python untuk kode tertentu. Mengapa harus mengetahui struktur kode program? Karena untuk jenjang S3 terkadang perlu memodifikasi kode baik untuk meningkatkan performa maupun hybrid dengan metode lain.

Untuk deep learning, beberapa metode yang terkenal merupakan pemenang kontes machine learning, dengan akurasi yang amat tinggi hingga mendekati 100%. Sepertinya untuk menandinginya cukup sulit bagi mahasiswa-mahasiswa kita, walaupun tidak mustahil. Namun ada baiknya fokus ke sisi lain seperti kecepatan, ringan, dan mudah dilihat strukturnya (deep learning bercirikan “black box” yang tidak dimengerti struktur di dalamnya). Machine learning sendiri memiliki banyak metode di luar deep learning dan syaraf tiruan lainnya, beberapa teknik terkini berbasis computer vision seperti haar cascade terkadang lebih cepat dan efisien. Berikut rekaman seminar kemarin.

Sarana Ilmiah: Bahasa, Matematika, dan Statistika

Beberapa hari ini, pelajar SMA sedang sibuk mendaftar ke perguruan tinggi yang diinginkan, terutama perguruan tinggi negeri (PTN). Berbeda dengan sekolah menengah, universitas merupakan institusi yang fokus dengan keilmiahan sebuah ilmu pengetahuan, baik eksakta maupun humaniora. Terkadang siswa yang menonjol gagal di perguruan tinggi karena tidak mampu mengikuti budaya ilmiah kampus, sementara terkadang siswa yang biasa-biasa saja ketika sekolah menengah, karena mampu mengikuti budaya ilmiah kampus dia sanggup menjadi bintang. Postingan ini membahas apa saja sarana-sarana ilmiah yang diperlukan seorang mahasiswa dalam mengikuti perkembangan iptek yang sangat cepat akhir-akhir ini. Jika Anda pernah mengambil mata kuliah filsafat ilmu, pasti pernah mendengar istilah metode ilmiah. Nah, sarana ilmiah berbeda dengan metode ilmiah (problem, hipotesa, eksperimen, kesimpulan); sarana ilmiah berisi ilmu-ilmu apa saja yang diperlukan dalam mendukung sebuah riset.

Bahasa

Bahasa merupakan ciri khas manusia yang membedakannya dengan hewan. Dengan bahasa ilmu yang dimiliki seorang manusia dapat disebarakan dan diwariskan ke generasi berikutnya. Jika Anda pernah menonton film “Planet of the Apes”, si kera bernama Caesar dengan modifikasi menjadi cerdas dengan disertai kemampuan bahasa.

Terkadang siswa yang ingin dikatakan cerdas melupakan pelajaran bahasa dan fokus ke matematika dan sains saja (fisika, biologi, dan kimia). Padahal bahasa merupakan dasar ilmu yang menjadi sarana ilmiah utama. Diskusi, memahami pertanyaan, presentasi, menulis makalah, dan lain-lain sudah pasti membutuhkan kemampuan bahasa (lisan dan tulisan). Dosen saya dulu mengatakan jika tidak bisa mengutarakan dalam bahasa berarti Anda belum paham.

Ketika ujian masuk pascasarjana saya melihat ada soal bahasa Inggris makalah satu halaman tapi harus dibaca dengan cepat dan harus paham karena pertanyaan yang diberikan bukan sekedar skimming melainkan harus mampu menyimpulkan apa saja yang ada di paragraph. Waktu itu saya sempat heran bagaimana mungkin soal tersebut dapat dijawab oleh manusia normal. Namun berjalannya waktu saya sadar ternyata saya yang kurang normal waktu itu, hehe.

*****

Matematika

Sarana lainnya adalah mata pelajaran yang paling tidak disukai oleh kebanyakan pelajar. Jika dalam bahasa terselip aspek subjektif tertentu, misalnya ekspresi penulis, makna tersembunyi, dan lain-lain yang dapat dianggap mengganggu objektifitas, dalam matematika hal itu dapat diatasi. Hal ini yang membuat bidang yang sekarakter dengan matematika disebut eksakta, sebagai lawan dari bidang non-eksakta (humaniora dan bahasa).

Seorang pelajar bisa saja menghindari fisika atau kimia, tetapi akan sulit menghindari matematika karena dibutuhkan oleh semua bidang yang berhubungan dengan aspek ilmiah sebuah ilmu. Bahasa dan matematika saat ini menjadi syarat masuk beberapa kampus ternama di dunia.

P. Silaban, sekelas dengan mahasiswa2 yahudi, Sumber: https://www.tobatabo.com/2129+mendapat-gelar-einstein-dari-tanah-batak-pantur-silaban-sebagai-fisikawan.htm

*****

Statistika

Sifat kaku matematika dan bahasa yang terlalu fleksibel membutuhkan sarana lain, yaitu statistika. Bidang ini muncul untuk mengatasi aspek-aspek sosial yang berkaitan dengan populasi dan sampel. Ketika pilkada atau pilpres, biasanya institusi-institusi yang berkecimpung dengan riset berbasis statistik muncul, terutama dalam hitung cepat atau survey dukung-mendukung caleg/capres.

Pearson, terkenal dgn Person Chi Squared Test: https://en.wikipedia.org/wiki/Karl_Pearson

Dalam statistik, error masih ditolerir, berbeda dengan matematik. Tentu saja selama batas confident masih ditolerir. Baik bidang eksakta maupun humaniora membutuhkan sarana ini. Jika bidang humaniora membutuhkan sarana ilmiah ini dalam rangka pengolahan data survey, bidang eksakta membutuhkan ketika menguji/eksperimen dalam kedokteran atau dalam bidang ilmu komputer untuk machine learning, walaupun pakar machine learning menolak disebut ahli statistik karena hal-hal tertentu terkait komputasi yang berkarakter “soft computing”. Misalnya, L. Zadeh, penemu fuzzy, mempertanyakan 1% error jika terjadi akan menghilangkan makna akurasi 99% suatu model.

Suka atau tidak suka yang namanya sarana sangat dibutuhkan, jadi tidak ada salahnya membuka kembali subjek tersebut. Jangan khawatir dikatakan ketinggalan, justru beberapa negara yang kuat di sarana ilmiah tersebut merupakan negara-negara maju. Di Asia Tenggara, beberapa negara yang kuat ilmu dasarnya mulai menunjukan taringnya, misalnya Vietnam, selain tentu saja Singapura. Yuk perkuat sarana ilmiah dan ilmu dasar, jika ada yang mengkritik bidang tersebut tidak langsung memiliki kontribusi dibanding bidang terapan, tidak apa-apa, barengi saja dengan terapan sebisa mungkin.

Evaluasi Diri

Baru saja saya menonton pertandingan catur online antara Grandmaster Wanita (GMW) Irene Sukandar dengan MI Levi (Gotham Chess). Postingan ini sekedar mengambil hikmah di balik permainan asah otak ini.

Analisa

Ketika selesai bermain, selalu pemain profesional akan melakukan analisa partai yang baru saja dia selesaikan. Terkadang ketika kalah, ada rasa enggan untuk melihat kembali partai tersebut. Padahal banyak hal yang dapat ditarik sebagai pelajaran. Nah, di sinilah peran analisa.

Kalau dulu kita membutuhkan mentor untuk melakukan analisa, saat ini aplikasi-aplikasi komputer, seperti Lichess atau Chess.com menyediakan fasilitas analisa. Ketika di-run, ternyata banyak sekali kesalahan-kesalahan di kedua kubu, baik yang menang maupun yang kalah. Selanjutnya ditunjukan pula akurasi langkah yang diambil selama pertandingan berlangsung. Tidak jarang, pemain dengan akurasi lebih tinggi kalah, mungkin karena blunder atau kalah waktu.

Dalam kehidupan sehari-hari, bisa saja kita analogikan seperti pertandingan catur, yaitu dari sisi akurasi. Bedanya tidak ada mesin yang membantu kita menganalisa kesalahan-kesalahan apa saja yang telah kita lakukan dalam satu hari misalnya. Andaikan ada, sudah dapat dipastikan kita akan kaget terhaadap ketidakakuratan kita dalam bertindak, seperti kagetnya saya ketika menerima hasil analisa dari aplikasi catur. Terkadang ada salah langkah, terkadang pula ada langkah yang saya lewatkan padahal dapat memperoleh keuntungan tertentu. Terkadang banyak kesalahan yang diambil, tetapi dapat teratasi.

Juara dunia favorit saya, Karpov, pernah mengatakan seorang grandmaster ketika melakukan kesalahan akan berusaha pertama kali mengurangi dampak dari kesalahan yang dibuatnya. Tetap optimis dan kreatif, tidak menyalahkan atas apa yang terjadi.

Karpov – https://www.chessforstudents.com/cutest-3-year-old-chess-prodigy-plays-world-champion/

Evaluasi Diri

Kehidupan lebih rumit dari catur yang hanya beruang lingkup 8×8 petak saja dengan kemungkinan yang dalam istilah artificial intelligence yakni fully observable and deterministic. Dalam kehidupan banyak faktor yang saling mempengaruhi. Nah, tidak ada cara lain selain evaluasi diri, istilah yang sering dijumpai ketika akreditasi di kemdikbud.

Apa saja titik-titik lemah dan kekuatan serta apa saja yang perlu ditingkatkan serta tantangan yang dihadapi secara sadar perlu diketahui. Coba saja Anda ingat-ingat di malam hari, kira-kira langkah mana yang tepat dan mana yang kurang tepat dalam satu hari ini, sebagai bahan evaluasi. Terkadang hanya hal-hal penting saja yang teringat, padahal bisa saja hal-hal kecil sangat menentukan hasil.

*****

Dalam belajar, metakognisi sangat dibutuhkan, terutama mengetahui apa saja yang belum diketahui dan apa saja yang sudah diketahui. Sehingga belajar menjadi efektif karena sesuai dengan apa yang dibutuhkan. Selain itu, dengan evaluasi diri yang baik biasanya akan mampu membuat prioritas apa saja yang harus dikerjakan. Dengan prioritas yang tepat maka kinerja akan efektif dan efisien. Saya melihat di facebook, instagram, twitter dan medsos lainnya rekan-rekan saya yg top banget tapi terkadang kehabisan ide membahas hal-hal tidak penting yang malah menyinggung orang lain. Yuk, evaluasi diri.

Bahasa Untuk Pemrograman Berorientasi Objek

Tiap kampus ternyata berbeda-beda awal perkuliahannya, termasuk kampus tempat saya mengajar yang baru mulai pertemuan pertama semester genap. COVID-19 memang membuat beberapa agenda perkuliahan berubah. Faktor perkuliahan online dan kesiapan kampuslah yang membuah pergeseran dan perubahan sistem, dari yang tatap muka menjadi online. Terutama kesiapan dalam menangani praktikum.

Untuk bidang komputer, khususnya materi pemrograman dapat dilakukan praktik secara online. Problem utama hanyalah di sisi mahasiswa yang terpaksa memindahkan komputer lab ke dalam laptop sendiri, sekaligus sarana network berupa pulsa/paket internet. Nah, untuk mahasiswa yang pas-pasan, tentu saja agak kesulitan ketika memiliki laptop dengan spesifikasi minim. Oleh karena itu perlu difikirkan bagaimana menyiapkan sarana yang murah-meriah.

Java

Java dan C++ sudah sejak lama menjadi sarana belajar pemrograman berorientasi objek. Silahkan lihat postingan saya tentang DB4O untuk basis data objek. Sebelumnya, bahasa ini menjadi andalah saya untuk praktik pemrograman berorientasi objek, tetap kondisi online sangat menyulitkan mahasiswa, sehingga perlu sarana murah-meriah lainnya.

Python

Bahasa yang paling banyak diminati saat ini adalah Python. Banyak paket yang tersedia dari Python berbasis konsol hingga paket Anaconda yang gratis diunduh. Hanya saja paket ini membutuhkan sumber daya yang besar untuk mengaktifkan fasilitas-fasilitas seperti Jupyter Notebook atau Spyder.

Untungnya Google menyediakan sarana programming hanya dengan browser dan mempersilahkan orang menggunakan servernya, termasuk Graphic Processing Unit (GPU) yang cukup ampuh dalam menangani Deep Learning. Bagaimana untuk pemrograman berorientasi objek?

Saat ini Python memiliki pesaing kuat, suatu bahasa pemrograman secepat C++, sedinamis Ruby, dan semudah Python, yaitu Julia. Namun bahasa ini tidak ditujukan untuk pemrograman berorientasi objek, berbede dengan Python yang dari awal memang untuk objek.

Mencoba Pemrograman Objek Sederhana

Baik untuk praktik awal, silahkan buka Google Colab Anda (lihat tata cara di post yang lalu). Copy paste saja kode berikut ini sebagai ilustrasi bagaimana sebuah kelas dengan method yang tersedia.


import math
class Point:
    'Represents a point in two-dimensional geometric coordinates'
    def __init__(self, x=0, y=0):
        '''Initialize the position of a new point. The x and y
        coordinates can be specified. If they are not, the point
        defaults to the origin.'''
        self.move(x, y)
    def move(self, x, y):
        "Move the point to a new location in two-dimensional space."
        self.x = x
        self.y = y
    def reset(self):
        'Reset the point back to the geometric origin: 0, 0'
        self.move(0, 0)
    def calculate_distance(self, other_point):
        """Calculate the distance from this point to a second point
        passed as a parameter.
        This function uses the Pythagorean Theorem to calculate
        the distance between the two points. The distance is returned
        as a float."""
        return math.sqrt((self.x - other_point.x)**2 + (self.y - other_point.y)**2)

Kelas di atas tidak menghasilkan output karena belum dihidupkan objeknya. Berikut cara mencoba method yang direpresentasikan dalam keyword “def” di atas.

point=Point(3,5)
print("point awal = ",point.x, point.y)
point2=Point(5,5)
jarak=point.calculate_distance(point2)
print("jarak dari point awal =",jarak)

Pastikan hasilnya tampak seperti di bawah ini, selamat mencoba.

Perkuliahan Darurat

Baru saja saya ikut acara yasinan online dalam rangka meninggalnya adik seorang profesor yang juga mentor saya dalam riset. Acara selain pengajian, testimoni dari rekan-rekan almarhumah dilakukan. Dari yang saya amati ternyata dia seorang pekerja keras yang selalu total dalam menjalankan tugas-tugasnya di salah satu kementerian. Pandemi ini sudah banyak memakan korban, dan kebanyakan orang yang saya kenal sebagai orang baik.

*****

Panic-Gogic/Panic-Learning

Ketika di awal kemunculannya, ada artikel yang membahas masalah pendidikan yang harus dijalankan secara online (e-learning). Penulis yang merupakan pakar pendidikan menyarankan agar menerapkan panic-learning dari pada e-learning murni. Hal ini terjadi karena pendidikan di masa pandemik bukan kebutuhan penting. Yang terpenting adalah kesehatan dan ekonomi.

Bayangkan siswa yang orang tuanya terkena dampak COVID-19, seperti meninggal atau terkena PHK, pasti akan terganggu perkuliahannya. Jika dipaksa e-learning full, dipastikan siswa tersebut tidak kuat. Ada baiknya fokus ke kebutuhan utama, minimal keselamatan mahasiswa. Di sini tidak hanya siswa yang terancam jika tidak memperhatikan protokol kesehatan, keluarga di rumah, terutama orang tua akan rentan terkena dampaknya, sementara siswa tersebut jika terkena mungkin bisa cepat pulih karena lebih kuat fisiknya.

Masalah pulsa merupakan masalah utama bagi mahasiswa berdasarkan survey di akhir kuliah. Walaupun pemerintah memberikan gratis pulsa tetapi tidak mencukupi jika seluruh dosen mewajibkan meeting online dengan streaming, baik via zoom maupun google meet. Sebagai kaprodi, saya memiliki akses melihat nilai-nilai mahasiwa dan ternyata ada beberapa yang nilainya buruk ternyata terkena COVID-19. Uniknya si dosen tidak tahu, dan langsung menghukum dengan nilai D, karena kurangnya kehadiran dan nilai yg seadanya saat UTS dan UAS. Ketika saya beritahu dosen yang bersangkutan, ternyata tidak tahu dan menyesal memberi nilai tersebut. Repotnya dosen-dosen lainnya juga memberi nilai yang sama, walaupun D lulus tetapi batas maksimal 2 nilai D membuat siswa tersebut tidak bisa lulus. Ketika mau mengulang tahun depan tidak mungkin karena terbentur masa studi, sementara jika ikut semester pendek khusus, biayanya hampir mendekati SPP karena seorang diri. Padahal kondisi keluarganya baru dalam pemulihan akibat terkena COVID-19 semua.

*****

Belajar dari Catur: Krisis Waktu

Ketika aktif di unit catur saat kuliah, saya terkena sindrom kalah waktu. Senior-senior ternyata memahami hal tersebut, sehingga didikan khusus diberikan. Ketika berlatih blitz (5 menit) jika kalah waktu saya dihukum push-up. Namun, ternyata tidak berhasil juga. Untungnya ada informasi dari mantan juara dunia Uni Sovyet, Michael Botwinnik, yang menganjurkan seorang pemain untuk menurunkan kualitas kalkulasi ketika krisis waktu. Cara tersebut efektif juga. Ketika saya mampu menghitung kemungkinan, misal 3 langkah ke depan, karena krisis waktu saya harus menghitung di bawahnya, bahkan hanya satu langkah ke depan.

Krisis waktu dalam catur dapat diibaratkan dengan kondisi darurat karena kalah jam berarti kalah dalam permainan, walaupun unggul material yang banyak. Darurat saat ini adalah pandemi yang mengharuskan kita kuat dalam imunitas tubuh. Imunitas berfungsi dengan baik jika istirahat cukup, makanan sehat bergizi dan tidak stress. Stress banyak sebabnya, dan repotnya terkadang tidak dirasakan oleh kita. Tugas yang menumpuk, deadline, dan lain-lain yang menuntut totalitas kerja terkadang melupakan istirahat dan sumber nutrisi yang cukup, alhasil, imunitas turun dan potensi terkena COVID-19 tinggi. Walaupun sudah imunisasi ternyata tidak menjamin 100% mampu kebal dari virus yang kabarnya telah bermutasi menjadi lebih mudah menyebar.

*****

Pengajar pun sebenarnya memahami kondisi mahasiswanya karena dia juga dahulu seorang pelajar. Hanya saja mungkin sudah lama sekali, bertahun-tahun yang lalu. Saya sendiri selesai pendidikan terakhir hampir 3 tahun yang lalu dan memahami apa yang dirasa berat oleh mahasiswa. Selain ujian, ternyata tugas kuliah merupakan momok terberat. Maka, saya tidak akan memberikan deadline yang ketat kepada mahasiswa karena berpotensi membuat stress dan akhirnya menurunkan imunitas tubuh.

E-learning saat ini sudah sangat maju namun untuk menerapkannya mungkin bisa dalam kondisi normal. Namun ternyata untuk kondisi darurat ternyata harus menggunakan metode yang efisien yang saat ini sedang dicari formula yang tepat oleh pemerintah. Adaptasi kebiasaan baru sepertinya mutlak diperlukan untuk mata kuliah yang membutuhkan praktek. Untungnya, bidang saya tidak terlalu membutuhkan praktik langsung, dapat diatasi dengan simulator. Semoga pandemik ini segera berakhir.

Tetap Semangat !!

Tak terasa, pandemi sudah setahun lebih. Aktivitas masih tetap terbatas karena kabarnya varian baru COVID-19 muncul di Inggris. Pelajar dan mahasiswa bukan hanya menghadapi sulitnya kuliah online, melainkan juga sulitnya memenuhi kebutuhan dalam belajar seperti bayar SPP, buku, dan sarana pendukung lainnya.

Beberapa rekan yang sedang studi lanjut, terutama yang S3, banyak menerima masalah. Berbeda dengan kondisi normal, masalah yang muncul saat pandemi berpotensi menurunkan imunitas tubuh. Dalam departemen tempat saya kerja, seorang rekan masih di ICU ketika tulisan ini dibuat. Usut punya usut dan bertanya dengan teman dekat kursi kerjanya, kabarnya pembimbing S3 meminta menambah data disertasinya. Suatu permintaan yang mudah di kondisi normal tetapi sulit saat pandemi yang mengharuskan Work From Home (WFH). Mungkin karena tekanan mental, daya tahan tubuh melemah, dan harus keluar memenuhi data yang diminta akhirnya terinfeksi juga.

*****

Tidak lama berselang ada sapaan di WA rekan saya kuliah dulu yang mengambil S2 sekarang diterima dan mulai kuliah S3. Tampak kegembiraan yang muncul dari tulisannya. Wajar, sangat sulit memperoleh beasiswa saat ini dimana tuntutan kuliah lanjut bagi dosen hingga S3 mulai muncul walau belum ada paksaan, berbeda dengan negara tetangga yang sudah mewajibkan dosen S3 sepuluh tahun yang lalu. Untungnya rekan saya tersebut sempat satu kampus dengan saya di Thailand (dia ambil S2 saya S3) dan melihat langsung sulitnya kuliah S3 dimana satu orang balik (DO) dan satu orang meninggal karena stroke, jadi dia sudah pasti siap mental menghadapi kemungkinan terburuk. Ya, kemungkinan, karena tidak selalu seperti itu. Rekan saya bahkan lulus dalam 2,5 tahun.

Jeff Bezos di tahun 1999 sebelum menjadi orang terkaya

Tidak hanya belajar keras ternyata, psikis perlu dipupuk untuk menghadapi problem yang dijumpai ketika kuliah. Beberapa rekan saya mengikuti langkah saya untuk mencari apa saja yang cocok dan membuat kuliah lancar. Misalnya berganti pembimbing, atau bahkan jurusan. Pembimbing, yang dalam S3 disebut promotor, advisor atau supervisor merupakan partner menentukan, berbeda dengan S2 yang mungkin hanya satu/dua tahun. Promotor bisa four years, tapi bisa juga for years .. hehe. Nah, yang membuat miris ketika mendengar cerita rekan saya yang pindah pembimbing. Tak perlu dijelaskan, takutnya dibilang “ngomongin orang”,. Alhasil berkat bantuan ketua jurusan, dia akhirnya diperbolehkan ganti promotor. Saya dengar kabarnya hingga tahun 2024 dalam budaya India, kita masuk tahun Syiwa. Sebaiknya menghindari berbuat dzalim atau kejahatan yang merugikan orang di tahun tersebut. Logis saja menurut saya, karena kita sedang ada bencana, melukai orang lain akan terasa berat di kondisi saat ini dibanding kondisi normal. Tapi kabar baiknya adalah, hanya membantu sedikit saat ini, yang menerima akan merasa sangat dibantu dibanding kondisi normal.

*****

Rekan saya memiliki gaya unik dalam meningkatkan psikisnya, yaitu dengan menjaga niat. Dari pada memikirkan kapan lulusnya ada baiknya fokus ke apa yang harus diselesaikan dan menikmati proses yang ada, toh proses yang dijalani mengasyikan baginya, yaitu belajar.

Kuliah AI & Neuro-Fuzzy

Niat seperti ini selain bermanfaat ketika kuliah, juga bermanfaat ketika lulus. Berapa banyak doktor yang ketika lulus seperti terbebas dari beban belajar dan tidak sempat lagi meneliti dan menulis artikel jurnal. Padahal yang diinginkan oleh kemendikbud adalah doktor yang aktif tri-darma.

Mencari cara menguatkan psikologi sangat banyak caranya, yang mungkin satu dengan yang lain berbeda keampuhannya. Ketika saya mendapat nilai berantakan di tahun pertama kuliah, cara termudah adalah bersyukur. Pasti saja ada yang bisa kita syukuri, seperti kesehatan, ada penghasilan, punya anak yang lucu-lucu, dan sebagainya. Apapun agamanya pasti mengajarkan itu. Memang mudah diutarakan tetapi sulit dilaksanakan, apalagi jika kekhawatiran itu muncul lagi. Tahukah Anda mengapa Bhutan disebut-sebut negara yang paling bahagia? Karena setiap hari rakyatnya selalu mengingat akan kematian, jadi apapun yang ada merupakan anugerah yang harus disyukuri. Jika Anda membaca tulisan ini di blog saya, dapat dipastikan Anda punya handphone, laptop, atau gadget lainnya ditambah pulsa (atau Wifi gratis), dan mungkin sudah makan. Jadi, tidak mungkin tidak ada yang bisa disyukuri. Yuk, tetap semangat.

Main Catur lagi

Akhir pekan terkadang hari melelahkan karena mengajar tambahan siswa pascasarjana yang membutuhkan effort lebih. Tidak ada salahnya diselingi dengan postingan-postingan ringan, salah satunya tentang catur. Mungkin si “dewa kipas” ada jasanya juga untuk menaikan kembali pamor catur yang agak meredup, tapi berkat aplikasi-aplikasi catur, misal Lichess.org dan Chess.com, di masa pandemi cukup menghibur dan dapat mengisi waktu luang yang banyak di rumah.

Bahkan Neflix menampilkan film laris, the queen’s gambit, membuat permainan ini kian dilirik. Film yang menceritakan penggila catur wanita di era perang dingin.

Anya Taylor-Joy: Beth Harmon dalam The Queen Gambit (Image Copyright: Netflix)

Sempat Gila Catur

Perkenalan dengan catur di tahun 80-an terjadi begitu saja. Papan catur yang dibeli waktu kelas 1 SD hanya untuk mainan layaknya prajurit mainan. Entah, siapa yang mengajari akhirnya bisa melangkahkan catur.

Teknik belajar catur jaman dulu cukup sederhana, main saja dengan yang lebih pintar, pasti kemampuan akan meningkat. Saya kerap ditantang tetangga, walaupun dia kalah terus, tetapi ternyata permainannya meningkat. Di situlah saya sadar, ilmu saya diserap. Akhirnya saya terkadang enggan melayani tantangannya, sebaliknya saya “belajar” dulu dengan menantang pemain level di atas saya (hmm pelit juga saya, sesuai dengan nama panggilan kecil saya, Medit). Mudah saja upgrade ilmu catur waktu itu bagi anak-anak, cari orang dewasa yg biasanya lebih pintar.

Waktu berlalu, ketika SMP dan mengenal teori catur, terkadang sampai larut malam menganalisa partai-partai grandmaster. Alhasil, almarhum bapak saya mengatakan saya “gila catur” ketika melihat saya di kamar main catur sendiri hingga larut malam.

Banyak Bakat-Bakat Catur tak Tersentuh

Waktu itu ada anak kecil yang usianya di bawah saya yang kelas tiga/empat SD, berarti kalau sekarang selevel PAUD. Di luar dugaan, saya sempat kalah karena menganggap remeh. Permainan alaminya cukup baik, terutama menghitung dan formasi benteng yang rapi.

Karena anak tukang (entah kerja di mana bapaknya) dan rumah yang mengontrak, sayang sekali bakatnya tidak terurus. Entah bagaimana nasibnya, mudah-mudahan bernasib baik mengingat kakaknya sangat mensuport (dengan mencarikan lawan).

Melawan Juragan Es

Ketika liburan terkadang saya bekerja menunggu toilet umum di Ancol (ini beneran lho). Suatu pekerjaan yang BT (bored totally) dan gabut (gaji buta, ga ngapa2in) . Untungnya di samping toilet yang saya jaga ada depot es (Walls, Diamond atau Woody, saya lupa). Salah satu pimpinan ternyata penggemar catur, dan sayangnya jadi sasaran empuk saya, hehe.

Berkali-kali main, dia sempat setres juga di awal. Mungkin karena kalah oleh anak SMP. Namun akhirnya sadar juga setelah beberapa kali tanding. Justru dia belajar dari saya dan kagum dengan “inisiatif” saya, ketika membangun serangan dan membuat rencana.

Oiya, jaman dulu merupakan surga bagi pengarang, termasuk penulis buku. Berbeda dengan jaman ebook saat ini dengan buku bajakan yang berlimpah, waktu itu buku asli selalu dibeli, walaupun kualitas lokal, misalnya Imam Sucahyo. Entah siapa dia, yang jelas banyak berjasa terhadap anak-anak generasi x kala itu.

Juara 2 Beregu Walikota

Nah, SMP tempat saya belajar ternyata alumninya dulu ada yang master internasional wanita (MIW), generasi sebelum Irene Sukandar. Adiknya ternyata sekelas dengan saya. Di situlah awal perkenalan dengan catur “ilmiah”, maksudnya ada guru yang mengajari, yaitu bapaknya si MIW tersebut. Sebelumnya diadakan seleksi untuk yang mewakili SMP “batak” tersebut (karena kebanyakan gurunya dari Medan). Ternyata saya menjuarai seleksi itu (total 4 orang, 2 cadangan), alhasil kami berempat digembleng kilat oleh almarhum bapaknya si teman saya itu yang ternyata orang PERCASI.

Saya kagum juga ada catur nempel di dinding di rumahnya. Di situlah diberi penjelasan singkat teori pembukaan Sicilia. Walaupun pembukaan itu tidak cocok dengan karakter saya yang “diam-diam ganas”, tapi prinsip dasar bahwa tiap opening memiliki logika dan karakter sendiri cukup membantu dalam mempersiapkan opening agar minimal tidak hancur dari awal, hehe. Buku-bukunya pun sangat berkualitas, berbeda dengan buku Imam Sucahyo saya. Sayangnya bapaknya tidak memperbolehkan dibawa pulang. Untungnya putrinya, yang menjadi papan kedua regu kami, diam-diam meminjamkan. Dan untungnya lagi jaman itu, anak-anak belum disusupi ilmu percintaan ala anak-anak alay saat ini, dan murni malam minggu ke rumahnya untuk main catur.

Sebagai pemegang papan pertama beregu, ternyata harus siap-siap bertemu lawan kuat. Maklum jika skor sama, akan dilihat siapa yang menang di papan pertama. Alhasil justru saya yang paling menderita walau bisa sampai final, sayangnya kalah. Namun, juara II pun membanggakan, karena bisa memberi piala ke sekolah.

UKM Catur UGM

Karena pindah ke Jogja dan fokus belajar, catur seperti sudah terlupakan. Walau terkadang lomba 17-an ikut dan selalu menang, namun itu tidak bisa jadi patokan karena lawannya yang hanya sekedar hobi. Waktu 3 tahun SMA nyaris tidak bermain/berlatih catur. SMA pun tidak ada unit catur atau lomba antar sekolah. Atau mungkin saya yang kuper tidak mendengar informasi tersebut. Padahal di tahun 90-an Jogja berlimpah pemain-pemain hebat, bahkan turnamen SMA UII Cup terkenal dan dihadiri oleh pecatur-pecatur luar.

Setelah lolos masuk UGM, yang saya cari adalah unit caturnya. Tapi anehnya saya tidak menemukan, dan ternyata ada kasus di UKM catur UGM sebelumnya (Lihat postingan teman saya eks ketua UKM Catur UGM dulu, yang seorang master nasional wanita). Setahun kemudian ketika unit catur mulai bereformasi, saya masuk dan ditunjuk jadi sekretaris II, pekerjaan yang membutuhkan literasi komputer.

Mulailah bertemu langsung dengan master-master catur, salah satunya adalah master nasional (MN) Affandi. Waktu itu MN sangat ditakuti, walau dalam simultan (satu orang lawan orang banyak). Waktu simultan kebetulan saya menang, hehe. Namun aura dan style mempengaruhi adik-adiknya dalam bermain catur, satu hal yang tidak bisa diperoleh hanya lewat buku atau online. Bahkan sempat saya bercita-cita menjadi master catur, walau akhirnya malah jadinya master komputer. Namun, akhirnya saya sempat vakum karena masuk di akhir-akhir kuliah yang menuntut fokus (KKN, kerja praktek, dan skripsi).

Menyeleksi Mahasiswa Jalur Atlet

Karena UKM Catur sudah ok, dipercaya pihak kampus, dan memperbolehkan UKM Catur merekomendasi siapa saja yang masuk UGM lewat jalur atlit, namanya penelusuran bibit atlet daerah (PBAD) yang muncul waktu itu. Mudah saja, main saja dengan kami, jika menang, silahkan masuk. Tentu saja hanya formalitas. Waktu itu sebelum saya vakum, sempat ada yang masuk, yaitu MN Anjas Novita (dan kakaknya), fisip, dan MP Viktor (kalo ga salah, kedokteran). Di situlah saya melihat langsung master yang bermain layaknya engine (bot) catur. Ketika latihan blitz, saya dicukur gundul 5-0 (atau lebih malah) tanpa ampun oleh Anjas yang saat ini master internasional (MI) dan pelatih nasional kemenpora, ampun bang jago …

Akhirnya saya mundur alon-alon (pelan-pelan), lulus, jadi pengangguran beberapa tahun, dan akhirnya mengajar di kampus. Namun ternyata kecintaan terhadap catur tidak bisa hilang, apalagi sumber informasi saat ini tersedia, ditambah youtube, medsos, dan aplikasi-aplikasi catur di gadget. Sekian, semoga menghibur.

Dunia sempit .. yg saya salami di foto atas, Prof Sujarwadi (mantan rektor UGM yg waktu itu dekan FT), ternyata alumni AIT juga

Library & Toolbox .. Haramkah?

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.