Lamunan perihal karir Dosen Muda di Indonesia

Bercermin kembali atas perjalanan karir di dunia akademik khususnya pendidikan tinggi dalam rangka mengambil hikmah dari perjuangan demi membangun kompetensi dan bertahan agar (masih ingin) tetap hidup selama ini, Saya coba untuk menuangkan kembali suara-suara di kepala ke dalam tulisan di ruang maya yang sudah lama terbengkalai.  Mudah-mudahan ada manfaat positif bagi kesehatan jiwa saya.

Saya merasakan kegelisahan yang sama ketika membaca tulisan tentang mati suri penelitian di perguruan tinggi (di Indonesia). Apalagi berkaca pada kontribusi ilmiah yang sudah saya berikan yang ternyata memicu tekanan batin karena (berdasarkan penilaian pribadi) sepertinya kok masih merasa belum pantas memasang label insan akademik. Walaupun demikian, berikut ini secuil mimpi atau lamunan di tengah malam sebagai tanggapan atas tulisan tersebut.

Idealnya, atau situasi di universitas yang penelitiannya (tampak) tidak mati suri :

peran dalam kegiatan sehari-hari:
mahasiswa S1 merealisasikan solusi (kontribusi dunia nyata): jr. engineer
mahasiswa S2 merancang solusi (kontribusi teknologi): sr. engineer
tenaga kerja yang melakukan penelitian itu mahasiswa S3 (kontribusi ilmiah): trainee scientist
post-doc (asisten akademik) jadi pengelola kegiatan penelitian (project management, partner relation): sr. scientist
profesor (dosen ybs.) jadi pencari dana penelitian/mengajar/kelembagaan: pemimpin tim

plus 3 staf pendukung: admin/sekretaris, dukungan teknis, dan logistik/transport

Pendanaannya untuk S1 dan S2 dari kerjasama dengan mitra industri, S3 dan Post-doc dari beasiswa & dana penelitian
kalau sudah bisa mandiri, mitra industri itu bisa berasal dari spin-off atas luaran penelitian sehingga pembiayaannya lebih sustainable

atau ada semacam skema pendanaan/investasi/patron untuk pengembangan selama 5+5 tahun ketika mengawali karir sebagai akademia untuk pengembangan kapasitas dan kemandirian serta dapat berkembang secara berkesinambungan

target luaran/publikasi ilmiahnya jadi :
S1 : poster/demo
S2 : workshop,challenge,industry track, produk
S3 : main track, journal
PD : journal, book chapter, transfer teknologi/spinoff
Prof : review paper, position paper, textbook (editor), HAKI

ketika peran2 di atas dilakukan oleh dosen seorang diri maka ketika dibagi 5 hari kinerjanya jadi 5 kali lebih lambat karena dilakukan sekuensial. belum lagi overhead karena context switching.

atau kalau dilakukan berkelompok sesama dosen, maka ukuran kelompoknya 3-5 orang, untuk setiap proyek, masing2 mengambil peran yang saling melengkapi sehingga semua mendapat keuntungan kredit atas prestasi.

Setelah membaca sampai sini, apakah terbesit ide bahwa saya yang sudah gila? sekolah saja belum berhasil malah bahas topik ini

On Big Data and me

Beberapa tahun yang lalu, Saya mendengar pertama kali istilah “Big Data”. Kala itu istilah ini bagi saya masih terasa seperti jargon marketing, ‘buzzword’, ‘hype’, atau euforia yang membuat definisinya terdengar menarik namun maknanya sulit dipahami. Teknologi pada waktu itu juga memang sedang ramai-ramainya dengan media sosial dan mungkin awal dari revolusi penyampaian ide dari yang konyol sampai yang luar biasa (konyol, eh maksudnya) serius.

Sekarang mungkin masih banyak ekspresi yang terdengar hiperbola namun setidaknya potongan puzzle-nya sudah semakin jelas. Dalam bidang informatika, topik yang saya pelajari lebih banyak menitikberatkan pada proses algoritmik untuk menganalisis data yang pada dasarnya kompleks seperti multimedia (misal peta, gambar, dan video). Istilah ‘big data’ sendiri saya dengar pertama kali dari area yang lebih banyak penekanan pada data dan bagaimana penanganannya. Sekarang Saya cenderung memahami istilah big data sebagai sebuah konvergensi teknologi.

Read More

Warna-warni dunia kita

Warna merupakan salah satu fenomena menarik yang hampir semua orang mengalaminya. Sejak kita kecil kita diajari konsep warna sebagai sesuatu yang menarik indera okuler. Salah satu fenomena yang menarik tentang warna adalah pelangi yang diyakini menampilkan hampir seluruh warna yang bisa kita lihat. Ya, fenomena warna adalah fenomena persepsi. Ada keterlibatan antara sinyal yang dikirim (dimodelkan sebagai fenomena fisis) dengan sinyal yang diterima oleh indera.

Hal yang menjadi pertanyaan adalah ketika warna diolah dengan menggunakan komputer yaitu mengenai bagaimana kita memodelkan operator-operator yang bekerja pada informasi warna. Sebagai alat hitung, kita mendasarkan pengolahan dengan aritmetika dengan asumsi-asumsi. Salah satu model warna yang paling sering digunakan khususnya dalam menampilkan dan menyimpan informasi warna adalah RGB. Model ruang warna RGB didasarkan pada separasi sinyal warna-warna yang bersifat additif (digabung semakin terang). Model ruang warna RGB terdiri dari tiga komponen yaitu komponen warna merah (Red), hijau(Green), dan biru (Blue). Kalau mengingat kembali kuliah tentang vektor (aljabar linier), model ruang warna RGB bisa dimodelkan sebagai sebuah kubus euclidian atau dalam bahasa matematisnya direntang oleh tiga vektor basis ortonormal R, G, dan B. Asumsi tersebut mengarahkan intuisi kita ketika akan membandingkan dua buah warna yaitu menghitung jarak dengan fungsi metrik yang terdefinisi di ruang vektor tersebut. Beberapa contohnya adalah jarak euclidian (akar kuadrat dari jumlah kuadrat selisih tiap komponen) dan jarak manhattan (jumlah dari selisih mutlak) yang contoh penghitungannya ditampilkan dalam pseudocode berikut.

Read More

Ant Colony Optimization for Capacitated Minimum Spanning Tree Problem

Minggu uts baru saja lewat. Salah satu yang berkesan selama ujian kemarin adalah mata kuliah intelejensia kolektif. Ujiannya sebetulnya sederhana, hanya me-review sebuah paper, dengan catatan mencoba mengimplementasikan apa yang disampaikan paper tersebut dalam waktu satu minggu (sambil ada uts yang lain juga, hehe). Kebetulan saya mendapat paper yang isinya tidak terlalu sulit untuk diimplementasikan dalam artian tidak membutuhkan spesifikasi konfigurasi tertentu (mis. simulasi, jaringan komputer, atau framework parallel programming). Paper yang saya review adalah “A Hybrid ACO algorithm for the capacitated Minimum Spanning Tree Problem“, oleh Marc Reimann dari ETHZ.

Read More

Flood Fill on 3D Image

Flood Fill merupakan teknik mengarsir yang menggunakan analogi menuangkan cat warna di satu titik yang kemudian cat tersebut akan bergerak meluas hingga merata (menutupi seluruh area yang dibatasi). cat akan meluberi daerah yang memiliki predikat sama (warna yang sama, atau bukan warna tertentu). Adapun jika digunakan predikat bukan warna tertentu maka dikenal sebagai variannya yaitu boundary fill. titik awal warna dituang dinamakan dengan titik bakar.

Pada kuliah grafika komputer, dan buku teksnya. Algoritma Floodfill dideskripsikan secara rekursif sbb

{menggunakan predikat warna sama dengan warna titik bakar}
procedure floodfill(p:point, i:image; newcolor:color);
var
   oldcolor : color;
begin
   oldcolor := i.pixel[p.x][p.y];
   i.pixel[p.x][p.y] := newcolor;
   {i.pixel[neighbor.x][neighbor.y]=oldcolor merupakan predikat sebagai syarat rekurens}
   {tetangga kiri}
   if (p.x > i.left_bound) and (i.pixel[p.x-1][p.y]=oldcolor) then floodfill(point(p.x-1, p.y), i, newcolor);
  {tetangga kanan}
  if (p.x < i.right_bound) and (i.pixel[p.x+1][p.y]=oldcolor) then floodfill(point(p.x+1, p.y), i, newcolor);
  {tetangga atas}
  if (p.y > i.top_bound) and (i.pixel[p.x][p.y-1]=oldcolor) then floodfill(point(p.x, p.y-1), i, newcolor);
  {tetangga bawah}
  if (p.y < i.bottom_bound) and (i.pixel[p.x][p.y+1]=oldcolor) then floodfill(point(p.x, p.y+1), i, newcolor);
end;

Algoritma di atas merupakan contoh generik untuk citra 2D. Untuk citra 3D algoritma di atas dapat diperluas dengan ekspresi yang sama, yang berbeda hanyalah rekursif tetangganya yang bertambah yaitu tetangga depan dan tetangga belakang.

{menggunakan predikat warna sama dengan warna titik bakar}
procedure floodfill(p:point3d, i:image; newcolor:color);
var
   oldcolor : color;
begin
   oldcolor := i.pixel[p.x][p.y][p.z];
   i.pixel[p.x][p.y][p.z] := newcolor;
   {i.pixel[neighbor.x][neighbor.y][neighbor.z]=oldcolor merupakan predikat sebagai syarat rekurens}
   {tetangga kiri}
   if (p.x > i.left_bound) and (i.pixel[p.x-1][p.y][p.z]=oldcolor) then floodfill(point(p.x-1, p.y,p.z), i, newcolor);
  {tetangga kanan}
  if (p.x < i.right_bound) and (i.pixel[p.x+1][p.y][p.z]=oldcolor) then floodfill(point(p.x+1, p.y,p.z), i, newcolor);
  {tetangga atas}
  if (p.y > i.top_bound) and (i.pixel[p.x][p.y-1][p.z]=oldcolor) then floodfill(point(p.x, p.y-1,p.z), i, newcolor);
  {tetangga bawah}
  if (p.y < i.bottom_bound) and (i.pixel[p.x][p.y+1][p.z]=oldcolor) then floodfill(point(p.x, p.y+1,p.z), i, newcolor);
  {tetangga depan}
  if (p.z > i.front_bound) and (i.pixel[p.x][p.y][p.z-1]=oldcolor) then floodfill(point(p.x, p.y,p.z-1), i, newcolor);
  {tetangga belakang}
  if (p.z < i.rear_bound) and (i.pixel[p.x][p.y][p.z+1]=oldcolor) then floodfill(point(p.x, p.y,p.z+1), i, newcolor);
end;

algoritma rekursif memang memiliki ekspresi yang sederhana namun seringkali implementasinya terganggu dengan pesan stack overflow yang diakibatkan ukuran stack di heap untuk procedure call yang terbatas. Hal ini dapat diatasi dengan mengubah algoritma di atas menjadi iteratif dan mensimulasikan stack sebagai struktur data eksternal. Apakah kedua hal tersebut sudah cukup? tentu belum, jika mekanisme mencari tetangganya sama persis dengan algoritma rekursif di atas maka justru algoritma versi iteratif lebih buruk performanya. Kita perlu mengoptimasi pencarian tetangga sehingga ukuran untuk stack dapat dikurangi.
Read More