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.

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.

Untuk Yang Sedang Sekolah .. Manfaatkan Apa Yang Ada

Kondisi pandemi membuat seluruh aspek kehidupan terganggu, bahkan lumpuh. Termasuk juga dunia pendidikan yang melibatkan pertemuan sosial antara guru/dosen dengan murid/mahasiswa. Penyelenggaraan perkuliahan secara daring dapat dilakukan dengan kualitas yang tidak jauh berbeda, namun perkuliahan praktik masih belum efektif. Pertemuan online dengan aplikasi tertentu banyak dikeluhkan oleh siswa yang mengandalkan pulsa di rumah, yang dapat dilihat dari hasil kuesioner sistem informasi akademik. Walaupun ada bantuan pulsa dari pemerintah, namun mengingat banyaknya mata kuliah yang diambil, tetap saja tidak mencukupi. Selain itu, bagi masyarakat, pulsa masih belum menjadi kebutuhan pokok, dan untuk aplikasi multimedia (streaming video, dan sejenisnya) masih mengandalkan Wifi (biasanya di kampus). Apalagi untuk keluarga yang banyak memiliki anak dan semuanya menjalankan pendidikan secara daring.

Bertanya

Bertanya merupakan aktivitas yang murah meriah. Walaupun dilakukan secara online, pertanyaan tidak memerlukan paket data yang besar. Teman, saudara, guru/dosen, dan siapapun dapat dijadikan sumber rujukan. Tentu saja tata krama bertanya perlu diperhatikan, terutama terhadap guru atau orang yang tidak/baru kita kenal. Terkadang mengirim email pertanyaan terhadap author artikel internasional dibalas, walaupun kadang-kadang tidak direspon atau lama jawabannya.

Nah, masalah muncul ketika pertanyaan yang diajukan tidak ada/belum ada solusinya. Biasanya mahasiswa tingkat doktoral. Akan tetapi di tahap-tahap awal biasanya banyak yang bisa, namun karena bidang ilmu doktoral sangat spesifik, pakar di bidang IT tidak akan memahami seluruh ilmu spesifik, bahkan di bidang yang spesifik pun belum tentu mahir, misalnya AI robotik akan berbeda dengan AI pertanian. Jadi mutlak langkah berikut ini dijalankan.

Membaca Cepat

Di sini membaca perlu ditambahkan kata cepat di akhirnya karena jika tidak, waktu yang sangat berharga akan terbuang sia-sia. Selain itu, membaca artikel ilmiah berbeda dengan membaca novel atau komik. Banyak teknik-teknik membaca cepat, tetapi keingintahuan seharusnya bisa memacu kita membaca cepat, yaitu membaca yang didasari oleh pertanyaan-pertanyaan di kepala kita.

Bagaimana jika makalah yang harus dibaca berbahasa Inggris? Nah, ini merupakan problem utama mahasiswa-mahasiswa yang mengambil studi lanjut di Indonesia. Aplikasi penterjemah dapat digunakan. Selain itu, tidak ada salahnya “sharing“, maksudnya minta dibacakan, oleh suami/istri, anak, saudara, dan lain-lain. Tentu saja tidak dianjurkan jika ada waktu, karena membaca artikel ilmiah, apalagi bidang tingkat doktoral yang tidak semua orang paham, walaupun tahu arti/terjemahan naskah tersebut.

Membaca Artikel Studi Literatur (Review)

Naskah artikel ilmiah terdiri dari beberapa jenis, ada yang naskah buku, prosiding dan jurnal. Selain itu terbagi pula menjadi artikel penelitian dan artikel review. Nah, artikel jenis review terkadang bermanfaat untuk orang yang akan memulai penelitian bidang tertentu. Dari pada meneliti satu persatu naskah paper yang tercerai berai, ada baiknya membaca artikel review yang sudah terstruktur berdasarkan domain ilmu tertentu.

Trik lain adalah mencari artikel jenis penelitian yang berkualitas baik (biasanya berimpak/kuartil tinggi) kemudian dari referensinya kita baca juga. Tentu saja kelemahan membaca dari sumber referensi suatu artikel adalah terlalu jauh tertinggal. Suatu naskah artikel yang hari ini terbit, biasanya hasil penelitian beberapa tahun sebelumnya. Tentu saja referensi yang jadi rujukan pun tambah jauh tertinggal waktunya. Namun biasanya walaupun sudah tertinggal tetapi kemungkinan besar banyak yang mensitasi yang artinya landasannya cukup kuat.

Support Dari Bidang/Pakar Lain

Beberapa penelitian memerlukan support/dukungan dari bidang/pakar lain. Misalnya penelitian tracking dan navigasi membutuhkan bantuan rekan-rekan di bidang pemetaan 3D misalnya, atau mobile application jika akan diterapkan di ponsel. Optimasi yang diterapkan untuk lahan membutuhkan bantuan rekan-rekan GIS dan penginderaan jarak jauh (remote sensing). Bahkan ketika menulis paper bisa minta bantuan rekan-rekan yang mengerti bahasa Inggris jika enggan menggunakan jasa proofreader. Manfaatkan grup medsos untuk bertanya dan bertukar fikiran bidang tertentu di internet.

Berdoa

Ups, seharusnya ini ada di awal. Walaupun ini sudah otomatis kita jalankan tetapi aspek agama perlu dicantumkan di sini, seperti kasus kemendikbud yang terpaksa memasukan kembali kata “agama” dalam roadmap pendidikan nasional. Berdoa dan berusaha sebaiknya tidak terpisah, ketika berusaha diiringi doa dan berdoa tidak hanya ketika ibadah, melainkan ketika sedang berusaha juga. Sekian postingan singkat ini, semoga bermakna.

Praktik Menjalankan Web Sederhana

Untuk pemula terkadang ada yang kesulitan belajar secara runut, dari A sampai Z. Terkadang perlu mempraktikan agar memahami maksudnya. Salah satunya belajar Web, yang jika serius, di kampus memerlukan beberapa semester. Namun, berkat tutorial yang ada di internet, kita bisa mempelajari dengan cepat bagaimana suatu teknologi bekerja, hanya bermodalkan laptop/komputer.

XAMPP

Server yang banyak digunakan adalah Apache, dengan database MySQL. Keduanya tersedia dalam paket XAMPP. Silahkan unduh dan jalankan server ringan tersebut. Di sini ringan maksudnya jika tidak kita hidupkan server tersebut mati, sehingga tidak memberatkan RAM laptop kita.

Hidupkan server Apache dengan menekan tombol “Start”. Juga MySQL jika nanti Anda menggunakan sebuah database dalam aplikasinya.

Web Designer

Untuk mengisi server yang sudah dijalankan tersebut kita membutuhkan konten yang bisa dibuat dengan sebuah Web Designer. Banyak aplikasi yang tersedia baik yang gratis maupun yang bayar. Teknologi sekarang ketika mendisain web, aplikasi yang dijalankan bisa berjalan bukan hanya di komputer tetapi juga bisa di Android/ponsel.

Httrack

Nah, untuk langsung mempraktekan cara menjalankan sebuah situs Web, ada satu aplikasi sederhana yang mengkopi sebuah situs Web lengkap, salah satunya HTTRACK. Dengan menyediakan folder untuk lokasi download, httrack dengan mudah mengunduh seluruh situs Web, hingga ke folder-foldernya. Tentu saja jika Webnya besar, waktu yang diperlukan juga lama. Nah, ambil contoh saja situs yang Single Page.

Kemudian letakan folder hasil unduh di XAMPP pada folder HTDOCS. Lalu jalankan localhost ke lokasi folder tersebut.

Tentu saja untuk mempublish Anda harus memodifikasi karena ada hak cipta dari pembuat web tersebut. Untuk jelasnya lihat video singkat berikut, selamat mencoba.

Belajar Recurrent Neural Network

Neural Network sejak lama diakui memiliki kemampuan mengenali citra atau pola tertentu. Beberapa metode seperti NARXNET telah dipakai untuk proyeksi/peramalan. Jika Deep Learning menggunakan Convolutional Neural Network (CNN) untuk mengenali citra, untuk mengenali data sekuensial Deep Learning menggunakan Recurrent Neural Network (RNN).

Untuk memahami metode RNN, kita banyak menjumpai di internet dengan bentuk animasi-animasi yang membantu memudahkan pemahaman. Jika ebook atau situs blog sulit, silahkan tonton video dari kanal-kanal youtube: https://www.youtube.com/watch?v=LHXXI4-IEns atau https://www.youtube.com/watch?v=Y2wfIKQyd1I. Untuk yang detil mungkin dari Massachusetts Institute of Techonology: https://www.youtube.com/watch?v=SEnXr6v2ifU.

RNN muncul karena CNN tidak sanggup mengklasifikasi data sekuensial/berurutan. Bayangkan kalimat: “i am a boy” dengan 4 buah bag of words (I, am, a, boy) tidak bisa membedakan dengan kalimat: “am I a boy” (lihat: https://www.youtube.com/watch?v=esrv7bahlng).

Untuk memahami RNN, kita harus menguasai dasar-dasar neural network, terutama feed forward beserta fungsi tangen sigmoid. Beberapa library seperti pada TensorFlow, sudah menyediakan fasilitas ini. Google translate memanfaatkan RNN, termasuk juga suggestion kata berikut ketika mengetik. Yuk, belajar implementasinya dengan Python.

Belajar Convolutional Neural Network

Kira-kira belasan tahun yang lalu saya mencoba menggunakan neural network untuk mengenali sebuah pola, misalnya tanda tangan. Beberapa referensi yang saya rujuk menggunakan metode menurunkan resoluse agar bisa diolah di komputer. Hal ini dilakukan karena sebuah objek citra harus dikonversi menjadi vektor yang tadinya matriks 2D. Tentu saja mengurangi resolusi mengakibatkan akurasi yang turun drastis. Namun beberapa tahun kemudian, deep learning diperkenalkan untuk mengatasi hal ini, salah satu tekniknya adalah Convolutional Neural Network (CNN).

Banyak sumber-sumber belajar deep learning di internet. Untuk pemula ada baiknya mencari sumber yang ringan dulu, biasanya disertai dengan simulasi dan durasinya yang kurang dari 10 menit agar tidak lelah, contohnya link youtube ini (https://www.youtube.com/watch?v=oI2rvjbzVmI).

Convolutional

Inti dari CNN selain dari neural network adalah prinsip convolutional, prinsip statistik yang dimanfaatkan untuk preprocessing di layer-layer awal CNN. Jika dulu saya gagal mereduksi neural network karena langsung mereduksi, pada CNN dengan layer convolutional di awal, fitur dapat diekstraksi ciri-nya lewat mekanisme filter. Filter yang digunakan pun lebih dari satu untuk menghasilkan ekstrasi ciri yang baik. Tentu saja ada istilah-istilah khusus pada tahap ini, baik dari cara memproses maupun sekedar istilah-istilahnya.

Pooling

Pooling di sini bermaksud mereduksi ukuran citra hasil convolution agar proses lebih cepat. Bayangkan satu citra berukuran 100×100 piksel maka jika akan diolah oleh neural network akan dikonversi menjadi array berukuran 10000 yang jika diolah dengan komputer langsung hang. Untuk mereduksi, Pooling bekerja dengan mekanisme baik mengambil nilai tertinggi dalam satu matriks ukuran tertentu (max pooling), misalnya 3×3, atau dengan mencari rerata dari matriks itu.

Fully Connected

Ini merupakan metode yang dipakai dalam neural network. Bedanya di sini karena mekanisme convolutional ada beberapa citra hasil filtrasi (jika lebih dari satu filter). Satu hal yang unik dari CNN adalah penggunakan fungsi softmax di akhir proses yang berisi angka-angka probabilitas. Nilai tertinggi merepresentasikan kelas terpilih hasil klasifikasi. Salah satu manfaat dari banyaknya sumber belajar di internet adalah kita bisa memilih mana satu sumber yang cocok dengan style kita. Jika di satu ebook/video/blog kurang dimengerti, segera cari sumber lain. Sekian, selamat belajar deep learning.

Belajar Mengajar di Kondisi Sulit

Dalam satu seminar oleh asosiasi perguruan tinggi informatika dan ilmu komputer (APTIKOM) ada sindiran keras dalam hal metode pembelajaran online. Jika diadu tentu biasanya dosen-dosen akan kalah dengan konten-konten yang ada di Youtube. Lihat saja viewer atau subscrabernya. Jarang dosen-dosen yang berjiwa youtuber. Haruskah dosen belajar menjadi Youtuber?

Salah satu keunggulan Youtuber atau influencer-influencer di medsos adalah kreativitas tinggi yang memicu follower atau viewer di kanal-nya. Kreativitas tidak berbanding lurus dengan tingkat pendidikan. Banyak mahasiswa yang berhenti kuliah karena fokus menjadi youtuber karena penghasilannya yang jauh lebih besar dari pegawai kantoran. Namun ternyata harus fokus karena jika kurang update kanalnya akan ditinggal oleh follower-followernya. Jika dosen ingin menyaingi youtuber, tentu saja akan sulit karena harus melakukan pekerjaan-pekerjaan rutin tri darma dan tugas tambahan.

Metakognisi

Sebenarnya dengan banyaknya konten yang beredar di internet, pengajar memperoleh manfaat. Hanya saja salah satu kelemahan siswa adalah dari sisi metakognisi yaitu mengetahui hal-hal apa saja yang belum dikuasai dan mana saja yang telah dikuasai. Jika seorang mahasiswa memiliki kualitas metakognisi yang baik maka dia akan mampu belajar efektif, yakni fokus mempelajari yang dia harus kuasai untuk expert di suatu bidang. Kadang walau kurang cerdas, mahasiswa yang metakognisinya baik mampu belajar lebih cepat dari rekan-rekannya yang kemampuan metakognisinya lemah. (mungkin saya masuk kategori yang kurang cerdas ini).

Salah satu syarat yang harus dipenuhi agar metakognisinya baik adalah sifat keingintahuan yang harus dipupuk oleh siswa. Konon, ketika Einstein sekolah, orang tuanya kerap bertanya apa yang dia tanya ke gurunya di sekolah, bukan nilai prestasi. Kualitas belajar seorang anak dapat diukur dari kualitas pertanyaannya, yang merupakan representasi keingintahuannya.

Peran dosen di sini adalah sebagai seseorang yang mengalami lebih dahulu dalam mempelajari suatu bidang, termasuk kendala-kendala yang dihadapi, pertanyaan-pertanyaan yang harus dijawab dengan baik, tip dan trik, serta hal-hal lain. Sehingga nasihat-nasihatnya terkadang menjadi “short-cut” mahasiswa dalam belajar agar lebih cepat. Maklum, negara kita tertinggal dari negara-negara maju lainnya, tidak ada cara lain selain segera melompat ke depan.

Veracity dalam Big Data

Era Big Data saat ini bercirikan istilah-istilah yang diawali dengan huruf “V” seperti volume, velocity, dan seterusnya. Salah satunya adalah veracity yang menggambarkan data yang meragukan, seperti yang terjadi saat ini. Terkadang data yang membombardir kita di internet membuat siswa kebingungan dalam memilih mana yang penting dan mana yang sampah. Tidak ada salahnya dosen pun melihat youtube-youtube yang berkaitan dengan bidang yang diajarkan, agar mengerti mana konten yang baik untuk ditonton dan mana yang kurang, misalnya versi software yang ketinggalan, dan lain-lain. Dibanding dosen berlama-lama membuat animasi, misalnya, alangkah baiknya jika sudah ada animasi yang dishare oleh orang lain, karena fokus utamanya adalah bagaimana siswa memahami, bukan membuat konten yang baik. Namun, sesuai dengan etika, ketika dosen memberikan, harus juga mencantumkan sumber rujukannya dan tidak mengaku karya orang lain menjadi miliknya.

Peran dosen di sini adalah mencarikan sumber belajar yang sesuai dengan kebutuhan. Sebaiknya jangan hanya share ebook-ebook atau video tutorial tanpa dicek kembali apakah itu memang dibutuhkan atau tidak. Kasihan mereka ketika membaca atau menonton ternyata tidak mendukung dalam memahami suatu materi yang dibutuhkan, mengingat pulsa/paket internet merupakan barang mahal bagi mahasiswa.

Media Untuk Pulsa Minim

Sudah beberapa tahun mengajar di universitas terbuka, banyak pelajaran yang dipetik dari kampus tersebut. Terutama dari sisi “menghemat” pulsa-nya. Hal ini terjadi karena peserta didik terkadang berada di lokasi yang sulit untuk mengakses internet. Untuk mengatasinya, mutlak e-learning diterapkan, dengan konsep anytime dan anywhere-nya.

E-learning, ebook, blog, dan website sejenis ternyata cukup mampu mengatasi kendala yang dialami oleh siswa mayoritas, dimana keluhan masalah pulsa internet yang bikin kantong jebol tersebut. Walau ada bantuan pulsa, tapi sinyal tetap saja kadang bermasalah dan entah sampai kapan teratasi.

Bahkan ada situs (https://anchor.fm/tkorting) yang menyediakan hanya suara, mirip siaran radio (Podcast) yang hemat pulsa. Sementara itu, Google sepertinya masih menjadi andalan, baik itu untuk searching, classroom, hingga programming (Google Colab). Terkadang kecepatan dan efisiensinya mengalahkan e-learning kampus sendiri. Sepertinya segala daya dan upaya harus dijalankan, termasuk jika dosen ingin menjadi YouTuber tak masalah, asalkan fokus ke sharing ilmu bukan fokus ke jumlah viewer yang kebanyakan menyukai topik kontroversial yang bisa menyakiti pihak tertentu. Sekian, semoga postingan ini bermanfaat.

Customer Oriented

Libur kerja seperti biasa saya menguras akuarium di halaman. Tiba-tiba mobil pickup membawa air minum isi ulang berhenti. Peengemudinya turun dan mengetuk pagar rumah sambil mengucapkan salam. Saya mendatanginya sambil bertanya-tanya dalam hati ada keperluan apa dia menghampiri rumah saya. “Bapak mau beli air isi ulang?”, tanyanya dengan sopan.

Banyak pertanyaan di kepala saya, baru kali ini mobil air isi ulang menawarkan langsung. Selama ini mereka hanya keliling, berputar-putar. Begitu juga pedagang yang lain. Beberapa hari ini agak berbeda. Kalaupun mereka tidak menawarkan “door-to-door” terkadang saya mendengar mereka berputar lagi. Sepertinya tidak ada yang membeli dan mereka mencoba satu putaran lagi, siapa tahu tadi ada yang terlewat, tidak sempat keluar dan memanggilnya.

Ternyata memang saat ini daya beli masyarakat merosot tajam. Di televisi acara imlek yang mewawancarai pedagang-pedagang Tiongkok di Glodok mengatakan omset menurun hingga 50% dibanding kondisi normal. Kemungkinan besar bidang-bidang lainnya juga mengalami hal yang sama, termasuk pendidikan. Jangan diharapkan kepuasan mahasiswa meningkat atau minimal sama dengan kondisi sebelum pandemi. Terjadi penurunan baik mahasiswa baru maupun yang sudah masuk tapi tidak registrasi kembali atau cuti.

Repotnya dosen-dosen terutama yang dosen tetap berbasis gaji bukan honor mengajar (dosen honorer/luar biasa) tidak terlatih untuk terlibat dalam dunia pemasaran. Kondisi saat ini masih diangap sama dengan kondisi normal. Akibatnya terjadi benturan-benturan antara mahasiswa dengan kampus. Apalagi konsep industri 4.0 yang berbasis ICT tidak dimanfaatkan dengan optimal. Jangankan dosen, staf pelayanan saja info dari mahasiswa ketika bimbingan KRS kurang melayani dengan baik.

Sudah saatnya tiap karyawan memahami konsep “north star metric“, suatu konsep yang wajib dimiliki oleh organisasi agar mampu bersaing dan bisa “sustainable” alias tetap eksis.

Terkadang kekuasaan, walau sedikit orang cenderung memanfaatkan, baik dosen, staf, hingga satpam, kepada pihak-pihak lain yang repotnya adalah customer. Ketika suatu organisasi, misalnya kampus, melayani mahasiswa dengan sopan dan nyaman, dan kampus Anda membentak-bentak mahasiswa ketika bertanya dengan pertanyaan yang melelahkan, siap-siap saja informasi buruk tersebut akan viral. Ketika banyak pilihan, tentu saja mereka akan beralih ke organisasi yang memberikan benefit lebih, minimal menghargai.

Coba merenung sejenak, pernahkah Anda sakit hati saat pandemi, dan bandingkan dengan kondisi normal. Tentu sakitnya lebih besar. Sebaliknya, bantuan yang diberikan orang kepada Anda, bandingkan dengan kondisi normal. Tentu terasa sangat berarti. Sekian postingan singkat ini, semoga menginspirasi, oiya, sudahkah Anda membantu orang lain hari ini? Atau apakah ada orang yang dirugikan atau tersakiti hatinya?

Membuat Tensor Sederhana dengan TensorFlow pada Google Colab

Istilah tensor dijumpai dalam matematika, khususnya dalam aljabar. Tensor sebenarnya bentuk umum dari besaran, jika dimensinya nol berarti skalar dan jika berdimensi satu ke atas, maka disebut vektor dan matriks. Istilah tensor digunakan juga oleh Google dalam library python “TensorFlow”. Istilahnya mirip tensor, terutama ketika mengelola vektor dan matriks.

Dalam penerapannya, TensorFlow sedikit membingungkan karena memiliki dua fase: konstruksi dan eksekusi. Tensor ketika digunakan berupa graph yang berisi nodes dan edges. Jika nodes berisi operasi, edges berisi tensor. Sementara itu, fase eksekusi membutuhkan session.

Untuk lebih jelsnya silahkan buka Google Colab. Buat satu notebook baru, beri nama misalnya FirstTensor.ipynb. Disini kita akan membuat satu tensor sederhana yang berisi satu variabel konstant 30. Operasi yang dilakukan adalah mencetak (print) konstanta tersebut. Masukan kode berikut dalam sel colab tersebut.

Di sini tensorflow versi 1.x digunakan. Secara default Colab menyediakan versi 2.x. Perhatikan sel pertama berisi impor library tensorflow. Line pertama merupakan instruksi standar penggunaan tensorflow versi 1. Sel kedua berisi konstruksi variabel konstan x=30. Selain itu dibuat satu session dengan nama “sess” yang kemudian dioperasikan berupa fungsi print.

Sepertinya agak ribet karena untuk mencetak konstanta 30 saja butuh beberapa line. Namun mengingat satu sesi bisa diterapkan untuk satu prosesor (GPU) maka komputasi bisa dilakukan dengan banyak prosesor yang bekerja secara paralel. Jadi walau agak sedikit merepotkan di awal tetapi ketika diterapkan dengan banyak prosesor, hasilnya lebih cepat. Biasanya diterapkan dalam sebuah framework deep learning. Sebagai ilustrasi, tensor dalam graph di bawah ini.

Hasil perkalian a dan b akan dikurangi hasil penjumlahan b dan c. Instruksi pythonnya adalah sebagai berikut menlanjutkan dari instruksi sebelumnya.


import numpy as np
a = tensorflow.constant(np.array([5, 7, 10]))
b = tensorflow.constant(np.array([2, 3, 21]))
c = tensorflow.constant(np.array([3, 5, 7]))
d = a * b  # tensorflow.multiply(a,b)
e = c + b  # tensorflow.add(c,b)
f = d - e  # tensorflow.subtract(d,e)
sess = tensorflow.Session()
outs = sess.run(f)
sess.close()
outs

Jalankan dan hasilnya harus sama dengan gambar di atas [5,13,182]. Selamat mencoba tensor dalam tensorflow.

Ref: