Yuk Melangkah

Melangkah merupakan kegiatan sederhana jika hanya sekadar melangkah. Namun di sini jika ingin menghasilkan hasil yang sesuai harapan maka perlu melangkah dengan perhitungan. Repotnya terkadang kita menemui kondisi ketika bingung harus melangkah ke mana. Melangkah di sini bisa berupa teknik, strategi, atau hal-hal yang harus dilakukan ketika ingin mencapai sesuatu. Bagi yang muslim mungkin pernah mendengar bagaimana surat Al-Alaq diturunkan, surat yang merupakan perintah pertama manusia, yaitu membaca, yang dalam bahasa arab: Iqra. Terjadi ketika nabi Muhammad bingung harus berbuat apa dan merenung di gua Hira. Cukup sudah jawabannya ketika kita bingung harus berbuat apa, yaitu membaca.

Membaca

Membaca ternyata tidak sekedar memahami sebuah tulisan. Membaca bisa melalui pengamatan terhadap apa yang ada, termasuk memanfaatkan segala aspek multimedia dari gambar, tulisan, suara, hingga video. Saat ini saya tidak kecewa ketika Youtube merajai dunia internet dan mengalahkan blog, misalnya yang sedang saya tulis ini, karena hakikat membaca bukan hanya tulisan, melainkan bisa saja berupa video. Hanya saja karena sifat video yang berat dan tidak praktis maka untuk memahami dengan cepat tidak ada cara lain selain membaca tulisan. Ketika memulai riset, biasanya seseorang dituntut untuk studi literatur dengan membaca puluhan jurnal dan buku referensi.

Baik atau tidaknya kita membaca sebenarnya dapat dilihat dari hasil setelah membaca, berupa terapan. Ketika menyelesaikan suatu tugas, seperti membuat laporan, menjawab soal, dan lain-lain biasanya sebelum melangkah kita secara otomatis di kepala berisi bayangan langkah-langkah yang harus dikerjakan, baik langkah utama atau alternatif-alternatif lainnya. Sebenarnya itu merupakan hasil rangkuman dari informasi-informasi yang kita peroleh, dari melihat, mendengar atau membaca. Di pagi hari ketika akan beraktifitas, misalnya berangkat kerja, kita akan santai karena di kepala sudah ada langkah-langkah rutin yang akan dilaksanakan. Berbeda ketika akan ujian Toefl, SIM, dan bahkan ketika mau divaksin seperti saya beberapa hari yang lalu. Takut, cemas, dan khawatir biasanya muncul karena tidak ada gambaran langkah yang akan diambil di kepala. Jika sudah paham biasanya kita akan tenang, tenang beneran, bukan menenangkan diri.

Inisiatif

Salah satu juara dunia catur, Prof Max Euwe, membuat buku teori catur. Salah satunya adalah inisiatif yang merupakan langkah awal suatu pemain untuk menyerang. Agak sedikit rumit kalau di catur karena inisiatif lebih mirip dengan kondisi yang memiliki sedikit keunggulan yang dapat dimanfaatkan. Tapi intinya inisiatif perlu kita miliki entah ada keunggulan atau dalam kondisi berat, misalnya saat COVID seperti saat ini. Inisiatif membutuhkan usaha aktif dengan memanfaatkan kondisi apapun yang ada. Tanpa inisiatif kita hanya bisa menonton dan mengkonsumsi, atau sekedar menyelesaikan tugas yang diemban saja, tanpa ada inovasi atau trobosan-trobosan.

Seperti dalam catur, pihak yang berinisiatif mengkonsumsi waktu lebih banyak dibanding pihak yang merespon. Dalam kehidupan pun demikian, pihak yang berinisiatif membutuhkan usaha, tenaga, dan waktu yang lebih banyak dibanding pihak yang statis dan hanya menunggu. Sedikit saja orang-orang yang berinisiatif sudah cukup membuat kemajuan di suatu organisasi, apalagi semua pihak memiliki inisiatif dalam bekerja. Dalam olah raga, misalnya sepakbola, tim yang banyak berinisiatif biasanya lebih enak ditonton, banyak variasi, dan kreativitas selalu tampak di lapangan. Jika dosen dan mahasiswa memiliki inisiatif biasanya kelas akan tampak lebih hidup. Tentu saja berani untuk gagal sangat diperlukan dalam setiap inisiatif yang muncul.

Imajinasi

Sebelumnya telah dibahas, kita memiliki langkah-langkah di kepala ketika akan beraktivitas. Namun terkadang dijumpai kondisi sesuatu yang tidak pernah kita alami sebelumnya, bahkan tidak pernah kita jumpai di dunia. Nah, di sinilah peran dari imajinasi. Albert Einstein pun mengatakan imajinasi lebih utama dari pada ilmu pengetahuan. Dengan imajinasi hal-hal yang belum terpecahkan di dunia dapat diselesaikan. Imajinasi pun bekerja di alam bawah sadar, misalnya “Singer” penemu jarum mesin jahit, dia bermimpi ditusuk-tusuk oleh jarum dengan bentuk lubang benang yang diujung, ketika bangun langsung selesai masalah membuat jarum yang bisa dipasang di mesin jahit. J.K. Rowling ketika menulis karya Harry Potter pasti menggunakan imajinasi karena cerita yang dibuat memang tidak ada sebelumnya di dunia.

Ketika mau lanjut S3, menulis artikel ilmiah, mencari kampus, dan lain-lain, tidak ada salahnya menggunakan imajinasi yang ada. Saya sendiri sempat bermimpi sudah berada di kos tempat kuliah tujuan, lengkap dengan suasananya, hujan rintik-rintik, suara burung berkicau dan lain-lain. Mungkin tanpa membaca, berimajinasi dan berinisiatif postingan ini pun tidak ada. Mengutip kata-kata Prof Yohanes Surya, istilahnya adalah “mestakung” alias se-Mesta mendu-Kung terhadap apa yang kita imajinasikan. Sekian, semoga menghibur di akhir-akhir ramadan ini, Minal aidin walfaidzin.

Review Artikel Ilmiah Yuk

Reviewer merupakan pekerjaan yang gampang-gampang susah. Disebut gampang karena mungkin sudah takdirnya manusia gampang sekali mencari kesalahan. Silahkan Anda tulis beberapa paragraf dan minta orang membaca, dijamin orang lain akan memberikan respon, dari kesalahan seperti grammar atau typo hingga komentar lainnya. Nah susahnya adalah harus berfikir kritis terhadap beberapa halaman naskah ilmiah yang berisi penelitian terkini. Postingan ini sedikit memberi gambaran bagaimana seorang reviewer bekerja dan bagaimana proses menjadi reviewer.

Direview

Langkah paling mudah adalah melihat hasil review artikel yang kita tulis. Terkadang memang menyakitkan, tetapi dari situ kita tahu bagaimana mereka bekerja dan menemukan titik lemah manuskrip kita. Oleh karena itu disarankan untuk mensubmit artikel ke jurnal yang berkualitas yang ada proses reviewnya. Tentu saja biasanya jurnal internasional karena jurnal nasional sebagian besar berdasarkan permintaan atau mungkin pertemanan. Jangan putus asa ketika ditolak berkali-kali. Mungkin langkah awal dengan mensubmit ke seminar internasional.

Publish di Jurnal Internasional Bereputasi

Jurnal bereputasi biasanya minimal kuartil dua (Q2) baik open access atau tidak. Proses review memang berat, apalagi yang gratis. Namun sekali Anda publish, dijamin nama Anda sudah siap menjadi reviewer, tentu saja sebagai penulis pertama. Dari pengalaman saya ketika ada naskah yang mirip temanya dengan tulisan yang sudah publish, entah dari mana informasinya tawaran review langsung datang. Nah, sebaiknya jangan Anda tolak, apalagi alasannya tidak ada bayarannya.

Sertifikat Pertama

Tawaran review pertama saya justru dari jurnal Q1, dengan topik yang tidak jauh berbeda sehingga dengan mudah saya mereviewnya. Memang ada tawaran dari beberapa jurnal predator, biasanya bercirikan menawarkan review yang bidangnya tidak sesuai dengan saya. Ketika selesai mereview dan artikel tersebut publish, Anda akan mendapat sertifikat reviewer, misalnya Elsevier. Nah, uniknya setelah beberapa kali mereview jurnal tersebut, dan hasilnya memuaskan, pesaing akan menawarkan Anda mereview, misalnya web of science (WoS) yang merupakan pesaing Scopus. Mereka sepertinya sangat mengandalkan reviewer-reviewer untuk menjaga kualitas jurnal yang dikelolanya. Pernah Elsevier meminta saya mengisi kuesioner yang ujung-ujungnya minta dibandingkan dengan jurnal saingannya.

Memahami Persyaratan dan Proses Review

Salah satu persyaratan reviewer adalah kemampuan membaca, terutama naskah berbahasa Inggris. Jika Anda malas membaca dipastikan tidak akan optimal dalam mereview. Bisa-bisa naskah yang bagus karena hanya melihat sekilas tetapi Anda tolak. Publisher terkenal tidak akan memakai kembali reviewer yang tidak membaca, yang terlihat dari hasil reviewernya yang ala kadarnya. Nah, bagaimana kita menilai baik-buruknya hasil reviewer kita? Caranya mudah saja. Biasanya setelah ada decision di suatu manuskrip, seluruh reviewer bisa melihat hasil review reviewer lainnya. Jika tidak jauh berbeda dengan mayoritas reviewer biasanya sudah ok. Bisa dibayangkan jika tiga reviewer accepted atau mayor/minor revision, tetapi Anda menolaknya. Ditambah lagi rincian reviewnya tidak rinci. Oiya, tipikal review adalah sebagai berikut:

  • Menulis kata pembuka, misalnya tulisa ini membahas blablabla. Dilanjutkan dengan hal-hal yang harus diperbaiki dengan rincian sbb:
  • Mayor Issues, berisi hal-hal utama yang harus diperbaiki, metode, data, dan hal-hal lain yang missing
  • Minor Issues, berisi hal-hal kecil yang perlu diperbaiki, misalnya istilah-istilah yang rancu, salah-salah ketik, dan hal-hal editing lainnya.

Alur di atas minimal mayor revision. Jika Accepted atau minor revision biasanya tidak perlu dirinci mayor atau minor issues. Tentu saja boleh saja tanpa membagi menjadi mayor atau minor issue, tetapi teknik di atas sangat baik yang saya lihat ketika reviewer pertama menulis review-nya. Biasanya reviewer pertama profesor yang pakar di bidangnya.

Terakhir dan yang terpenting adalah memutuskan, apakah diterima, ditolak mayor/minor revision. Di sini sangat berat, terutama ketika me-reject. Beberapa kali saya mereject karena naskah yang tidak sesuai dengan kondisi terkini atau kondisi jurnalnya. Misal jurnal geoinformatika, kebanyakan studi area minimal di level kota/kabupaten. Jika hanya lingkup kecil biasanya tidak diterima. Atau untuk ilmu komputer, metode yang diusulkan sudah banyak ditemukan, dan hanya mereplikasi saja tanpa adanya improvement.

Memahami Manfaat Mereview

Memang dari sisi finansial mereview hampir tidak ada. Mungkin beberapa conference membayar karena memang ada deadline dimana suatu seminar sudah fix waktu pelaksanannya. Untuk jurnal di bawah naungan Scopus, mereka menggratiskan selama sebulan untuk mengakses Scopus. Sebulan karena proses review memang max sebulan. Namun terlepas dari itu, manfaat utama mereview adalah kita bisa mengikut perkembangan ilmu terkini. Ibarat kita sudah nonton film yang filmnya baru akan dipublish tahun depan. Oleh karena itu di sinilah ada satu etika dari reviewer untuk tidak membocorkan naskah bahkan proses review kepada orang lain, sehingga tidak bisa saya tampilkan di postingan ini. Mungkin salah satu manfaat psikis dari mereview adalah kita ingin juga menghasilkan tulisan yang bagus, biasanya ketika dihadapkan dengan manuskrip yang oke.

Untuk dosen sepertinya tidak ada masalah untuk menjadi seorang reviewer karena memang kesehariannya sudah dihadapkan dengan bimbingan dan menguji tugas akhir/skripsi para mahasiswa. Sadari saja ketika menguji dengan seolah-oleh menjadi reviewer, bukan algojo atau kakak kelas yang mengopspek adik-adiknya. Sekian semoga tertarik menjadi reviewer.

Reviewer Juga Ada Sertifikat Kompetensinya

Support Vector Regression Untuk Prediksi Sebaran COVID-19

Support Vector Regression (SVR) merupakan metode klasik yang memanfaatkan teori matematika dan statistik untuk regresi dengan model Support Vector Machine (SVM). Jadi SVM ternyata bukan hanya untuk klasifikasi melainkan juga untuk regresi dan deteksi outliers.

Silahkan gunakan Scikit Learning untuk bahasa Python. Postingan ini mengilustrasikan penggunaannya dengan Google Colab. Data COVID dapat kita temukan di internet, atau silahkan gunakan file Excel link ini. Pilih negara yang ingin Anda prediksi kemudian simpan dalam bentuk file. Berikut kira-kira kode programnya.

#impor pustaka svm
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVR
from google.colab import files
import io
#data latih
upload_files = files.upload()
for filename in upload_files.keys():
x=upload_files[filename].decode(‘utf-8’)
data1 = pd.read_csv(io.StringIO(x), header=None)
#print(data1.head())
X1=np.asarray(data1)
x_train=X1[0:,0:1]
y_train=X1[0:,1:2]
#membuat model (classifier)
clf = SVR(kernel=‘poly’, C=100, gamma=‘auto’, degree=2, epsilon=.1,
oef0=1)
clf.fit(x_train,y_train)
#prediksi data
test=x_train.reshape(-1,1)
y_pred=clf.predict(test)
y_next=np.array([[457],[465],[470],[471],[480]])
prednext=clf.predict(y_next)
print(prednext)
#Visualisasi Data
absis=[x_train]
ordinat=[y_train]
#ordinat2=np.concatenate([x_train],[prednext])
plt.scatter(absis, ordinat, cmap=‘flag’, marker=‘o’)
plt.scatter(absis, y_pred, cmap=‘flag’, marker=‘x’)
plt.scatter(y_next, prednext, cmap=‘flag’, marker=‘x’)
#Label
plt.xlabel(“Day”)
plt.ylabel(“Number of infected People”)
plt.title(“Projection Pattern of COVID-19 Spread in India”)
plt.grid()

Jika dijalankan, masukan saja data CSV yang Anda ingin prediksi dan tunggu beberapa saat, agak lama karena 400-an hari (lebih dari setahun). Jika selesai pastikan hasil prediksi muncul.

Tampak garis biru merupakan data asli dari Excel sementara garis oranye merupakan hasil fitting berdasarkan kernel polinomial (kuadratik). Lima tanggal prediksi tampak di ujung kanan berwarna hijau. Silahkan lihat video lengkapnya di chanel saya. Sekian, semoga bisa menginspirasi.

P.S. Tulisan di atas sebagian diambil dari publikasi kami di https://ieeexplore.ieee.org/document/9415858

Riset dan Pengembangan di Indonesia

Kalau berbicara riset dan pengembangan (research and development) di Indonesia, orang awam akan melihat berdasarkan produk-produk yang kita hasilkan. Merk mobil, handphone, dan peralatan lain buatan kita masih sangat jarang. Namun untuk hal-hal tertentu seperti pesawat, ternyata kita sudah mampu bukan hanya membuat tapi memasarkan hasil produksinya.

Walaupun hasil-hasil karya teknologi buatan Indonesia bukan dari kampus, tapi tetap saja hubungan erat keduanya ada. Toh, pakar-pakar yang ada berasal dari dunia pendidikan kita, minimal pendidikan dasar dan menengah di tanah air.

Butuh Usaha Lebih

Kalau dari riwayat periset yang berlanjut di negara kita, mereka memiliki semangat dan tekat yang tinggi. Mungkin sudah dari sananya negara kita berbakat untuk “nyinyir”. Kesuksesan oleh orang-orang kita terkadang tidak disukai, apalagi bagi yang baru mulai. Kecuali kalau memang sudah terbukti dan diakui dunia barulah dielu-elukan. Makanya saat ini startup aplikasi buatan kita sulit bersaing karena mungkin kurang support dari rakyat kita sendiri. Untung ada Gojek dkk yang sahamnya diakuasai orang-orang kita.

Mungkin pernah ada yang mendengar teknologi sosro bahu, Prof Tjokorda Raka Sukawati. Memang negara kita sangat menghargai hasil karyanya, tapi dari wawancara ternyata terpendam kekecewaan. Bayangkan saja, patennya di Jepang lifetime tapi di tanah air malah dibatasi waktu tertentu. Dari cerita beliau bahkan ilmuwan-ilmuwan luar menertawakan idenya. Tapi ternyata hasilnya mencengangkan mereka, terbukti patennya diterima di negara-negara maju yang menertawakannya itu.

Dana Penelitian

Kalau ini memang diakui kita masih lemah, bahkan saat ini kalah oleh negara tetangga asia tenggara kita seperti singapura, thailand, dan malaysia. Namun saya pernah mendapat pelatihan dari salah satu Prof ternama di ITB yang pakar nano technology ternyata di negara kita perlu trik untuk mengurangi jumlah anggaran untuk penelitian, baik dari sisi laboratorium maupun aspek-aspek lainnya. Tentu saja tidak semua bisa seperti itu terkait dengan standar internasional. Silahkan lihat situs worldbank untuk melihat dana penelitian yang digelontorkan oleh pemerintah kita yang dibandingkan dengan GDP di link berikut yang datanya bisa diunduh.

Pendidikan

Masalah pendidikan sebagian besar masyarakat kita merasa kurang, baik fasilitas maupun kualitasnya. Sebenarnya dapat dilihat dari tingkat kesejahteraan para pengajarnya. Jepang ketika di bom atom, kaisar pun segera mengumpulkan guru-guru yang tersisa (dalam stand comedy disebut karena guru-guru mau dibayar murah hehe). Ternyata kita masih kalah juga dengan Singapura, Malaysia, dan Thailand (warna gelap).

Kreativitas

Jika dana kurang, penghargaan kurang, dan lain-lain juga kurang, jangan khawatir, kita masih punya senjata andalan, yaitu kreativitas. Saat ini memang era-nya kreativitas. Aspek ini mulai merambah ke segala bidang. Yang sederhana saja, youtuber-youtuber di tanah air dengan penghasilan besar pun andalannya adalah kreativitas. Tentu saja tidak serta merta semua jadi Youtuber. Aspek kreativitas tersebut yang perlu diterapkan ke bidang kita masing-masing. Asalkan kreativitasnya tidak melupakan tujuan utama yakni membangun bangsa, apalagi sampai melanggar norma. Yuk, pantang menyerah, tapi tetap jaga kesehatan ya.

Relasi Antar Kelas – Agregasi

Relasi antar kelas pada Pemrograman Berorientasi Objek (PBO) dikenal dengan nama Asosiasi, yang terdiri dari agregasi dan komposisi, selain dari pewarisan/inheritance yang merupakan ciri khas PBO. Postingan kali ini akan membahas agregasi, merupakan relasi/asosiasi yang dikenal dengan istilah “Is – a”. Perhatikan diagram kelas berikut ini:

Di sini kita akan mengintegrasikan konsep pewarisan (kelas Unisma memiliki anak Dosen, Mahasiswa, dan Satpam) dan agregasi (mahasiswa memiliki dosen pembimbing dari kelas Dosen). Atribut mahasiswa di sini antara lain:

  • Nama
  • Status
  • Jurusan
  • NPM
  • Pembimbing

Atribut nama, status, dan jurusan berasal dari kelas induk (Unisma) sementara NPM dan Pembimbing dari kelas Mahasiswa (kelas anak). Agregasi digambarkan dengan garis, terkadang ada panah disertai penjelasan relasi tersebut, misalnya “membimbing”. Berikut kelas Unisma.

class Unisma(object):
  def __init__(self,nama,status,jurusan):
      self.nama=nama
      self.status=status
      self.jurusan=jurusan
  def Salam(self):
      print(‘Selamat Hari Raya Idul Fitri 1442H’)
  def Info(self):
      print(“INFO”)
      print(“Nama    : “ + self.nama)
      print(“Jurusan : “ + self.jurusan)

Berikut ini kode kelas Dosen. Perhatikan kata kunci “super” yang berarti dosen merupakan pewarisan dari kelas Unisma. Jadi Dosen mewarisi atribut-atribut nama, status, dan jurusan, berikut juga metode/operasi Salam() dan Info().

class Dosen(Unisma):
  def __init__(self,nama,status,jurusan,nip):
      super().__init__(nama,status,jurusan)
      self.nip=nip
  def SalamDosen(self):
      print(‘Kami {}  {} mengucapkan’.format(
          self.status,self.jurusan))
      self.Salam()

Berikut ini kode kelas Mahasiswa dengan tambahan satu atribut “pembimbing” yang nantinya akan direlasikan dengan objek Dosen selaku pembimbing.

class Mahasiswa(Unisma):
  def __init__(self,nama,status,jurusan,npm,pembimbing):
      super().__init__(nama,status,jurusan)      
      self.npm=npm
      self.pembimbing=pembimbing
  def SalamSiswa(self):
      print(‘Hai teman-teman, kami {} {} mengucapkan’.format(
          self.status,self.jurusan))
      self.Salam()
  def GetInfo(self):
      print(“Pembimbing : “ + self.pembimbing.nama)

Jalankan dengan kode-kode berikut untuk mengeceknya.

x=Dosen(“Rahmadya”,“Dosen”,“Teknik Komputer”,123)
y=Mahasiswa(“Wahyu”,“Mahasiswa”,“Teknik Mesin”,1111123,x)
y.Info()
y.GetInfo()

Untuk lebih jelasnya silahkan lihat video penjelasannya berikut ini. Sekian, semoga bermanfaat.

Ngobrol Tentang Deep Learning – Webinar APTIKOM Jabar #1

Salah satu metode machine learning yang saat ini berkembang pesat adalah Deep Learning (DL). Metode ini merupakan kelanjutan dari Neural Networks dengan tambahan preprocessing di layer awal yang berfungsi mengekstrak ciri suatu citra, yaitu konvolusi dan pooling.

Jumlah layer yang banyak beserta neuron-neuronnya membuat DL sulit melakukan proses pelatihan (training) jika menggunakan metode biasa. Dengan hanya mengandalkan hardware biasa, waktu itu laptop sempat ‘hang’ ketika melatih sistem pengenalan tanda tangan dengan ukuran vektor citra yang besar (ribuan bahkan puluhan ribu baris/kolom per objek). Namun saat ini python menyediakan teknik agar proses pelatihan dilakukan di Graphic Processing Unit (GPU) dan Tensor Processing Unit (TPU) bukan hanya mengandalkan CPU. Postingan ini terinspirasi dari hasil webinar tadi pagi dimana saya ditunjuk menjadi moderator.

Akurasi model-model DL saat ini sudah luar biasa tinggi dan hampir mendekati 100%. Terlepas dari riset yang membuat model-model tersebut, beberapa permasalahan masih membutuhkan solusi. Salah satu problem adalah ketika akan menerapkan DL pada piranti-piranti kecil/embedded yang kebanyakan memiliki spesifikasi yang berbeda dengan komputer yang memang dikhususkan untuk komputasi.

DL sudah merambah bidang-bidang lain di luar ilmu komputer misalnya kesehatan, pertanian, geografi, dan lain-lain. Problem utama DL adalah karakternya yang karena menyerupai syaraf makhluk hidup terkadang sulit menemukan logika atau rule yang mendasari pengambilan keputusan model DL, dan menyebutnya dengan istilah black box. Walau bukti akurasi sudah nyata, terkadang seorang dokter membutuhkan alasan yang mendasari keputusan dari suatu model DL. Berbeda jika menggunakan metode fuzzy atau decision tree serta turunannya yang memiliki rule mengapa suatu model DL menyimpulkan suatu hasil.

Pembicara webinar merupakan alumni kampus Jepang. Saya sendiri pernah satu semester diajar oleh dosen alumni Tokyo University dan memang isi kuliah sangat teknis sekali dimana membutuhkan kemampuan matematik, baik aljabar linear untuk pengolahan matriks maupun persamaan diferensial untuk memahami prinsip pelatihan/training, misalnya gradient descent (GD), lavenberg marquadt (LM). Ada juga saran-saran untuk mahasiswa doktoral, khususnya bidang ilmu komputer, antara lain di enam bulan pertama harus segera terjun ke bidang yang digeluti sesuai dengan lab-lab yang ada di kampus, mencari informasi dari periset-periset lain misalnya via Github. Lebih jelasnya silahkan lihat pada Youtube berikut. Sekian semoga bermanfaat.

Public, Private, dan Protected Pada Python

Public, Private, dan Protected dikenal dengan nama Visibility. Istilah ini telah lama dikenal oleh bahasa pemrograman C++ dan Java. Python, merupakan bahasa baru secara default mendefinisikan suatu atribut atau metode bersifat public. Diagram kelas UML mendefinisikan public dan private dalam bentuk simbol positif dan negatif.

Untuk membuat private dengan menggunakan simbol garis bawah dimana untuk protected satu garis bawah (“_”) dan untuk private dua garis bawah (“__”).

Berikut contoh kelas Unisma sebagai induk dan kelas Dosen dan Mahasiswa sebagai anak yang diambil dari materi sebelumnya tentang inheritance/pewarisan. Silahkan gunakan editor Python, misalnya Google Colab untuk menjalankan kode berikut.

class Unisma(object):
  def __init__(self,nama,status,jurusan):
      self.__nama=nama
      self.__status=status
      self.__jurusan=jurusan
  def Salam(self):
      print(‘Selamat Hari Raya Idul Fitri 1442H’)
  def Info(self):
      print(“INFO”)
      print(“Nama    : “ + self._Unisma__nama)
      print(“Jurusan : “ + self._Unisma__jurusan)

Berikutnya untuk kelas Mahasiswa:

class Mahasiswa(Unisma):
  def __init__(self,nama,status,jurusan,npm):
      super().__init__(nama,status,jurusan)      
      self.__npm=npm
  def SalamSiswa(self):
      print(‘Hai teman-teman, kami {} {} mengucapkan’.format(
          self._Unisma__status,self._Unisma__jurusan))
      self.Salam()

Berikutnya coba jalankan dengan instruksi pengaksesan kelas-kelas di atas.

y=Mahasiswa(“Wahyu”,“Mahasiswa”,“Teknik Mesin”,123)
y.SalamSiswa()
y.Info()

Berikut video youtube untuk lebih jelasnya.

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.