Ketika membuat aplikasi yang mengeksploitasi penanganan event mouse (mousedown, mousemove, mouseup) untuk berbagai keperluan (selection, draw, transform), solusi umum dalam paradigma prosedural adalah dengan menyimpan variabel global yang menyatakan modus kerja saat ini.

Dalam paradigma berorientasi objek, penggunaan variabel state (dan penggunaan analisa kasus jamak (case of/if-then)) bisa jauh dikurangi. Jadinya penasaran untuk membuat komponen kecil dalam delphi untuk menangani pendelegasian penanganan mouse event.
Continue reading ‘membuat komponen delegasi mouse event’


Semalam terpikir untuk melakukan pekerjaan iseng, membandingkan bahasa pemrograman (yang pernah saya pakai). Tingkat perbandingannya pun yang ringan-ringan saja karena baru pada tingkat leksikal, sedikit semantik, dan ditambah beberapa penilaian dari perspektif pribadi. Bahasa yang menjadi korbannya adalah LISP, BASIC, Pascal, C/C++, JAVA, Python (beberapa bahasa lain seperti turunan ECMAscript (javascript, action script) dan PHP dibuang dari daftar kecuali untuk fitur-fitur khusus).

fitur-fitur yang dipilih untuk diperbandingkan diantaranya :

  • Komentar
  • Kenihilan
  • Analisa Kasus
  • Kepulangan
  • Cakupan

Continue reading ‘Membandingkan Fitur Bahasa Pemrograman’


Hari ini saya kembali bermain-main dengan MidletPascal untuk meneruskan project game SHMUP yang dulu buat pertama kali nyoba pake MidletPascal. Terakhir disentuh (baca entri log-last modified di source code) tanggal 5 feb 2007! astaga.. dosa tuh bwt exavoltian.

Tadinya ingin beli lisensi komersialnya MP, liat harganya sih $39 per tahun. lumayan lah masih lebih murah dari Rapidshare kayaknya. Ternyata begitu baca forumnya, MP nggak lagi diterusin sama pemiliknya. Sedih.. padahal enak pake MidletPascal bwt bikin aplikasi J2ME yang sederhana (sepertinya memungkinkan bwt lebih kompleks, tapi saya cuma tertarik menggunakan MP untuk membuat game dengan cepat). Kelebihan dari MP adalah kompilasinya yang cepat (menggunakan kompiler byte-code internal tanpa perlu Java SDK) dan manajemen konfigurasi (bisa pilih target output ke MIDP1/2, Nokia API tanpa perlu mengubah kode CMIIW).

Berita baiknya adalah ada kemungkinan untuk MidletPascal dilepas ke open-source supaya bisa tetap ada yang merawat dan menambahkan fitur. Berdoa saja supaya lekas terlaksana.


Disclaimer

Hari ini saya baru tahu bahwa terjadi polemik mengenai perangkat lunak yang digunakan sebagai pemeriksa lembar ujian di UASBN. Agak telat sepertinya kalau saya berkomentar sekarang, tetapi tidak apa lah, saya juga tidak bisa tinggal diam melihat arah diskusi yang kurang sehat. Saya tidak akan berkomentar masalah birokrasi, hukum dan administrasi, strategi bisnis. Saya hanya akan berkomentar perihal masalah teknis yang bisa dinilai secara lebih objektif. Walaupun saya sendiri secara administratif tercatat sebagai salah satu karyawan yang berpolemik, namun saya sebisa mungkin mencontoh mbah priyadi agar menjadi objektif dengan menempatkan diri saya sebagai pihak luar.

Pendahuluan

maksud dari tulisan ini adalah sebagai informasi kepada pengguna, pengamat, maupun pengembang perangkat lunak berbasis pengenalan citra dokumen bertanda jawab(DMR, SMR, OMR Pro, LJK Reader, dst.) mengenai faktor degradasi yang sedikit banyak mempengaruhi keakuratan interpretasi. Faktor degradasi adalah faktor-faktor yang menyebabkan tidak tercapainya ‘kondisi ideal’ dalam interpretasi citra. Dalam kasus citra dokumen, degradasi pada umumnya disebabkan oleh faktor fisik baik langsung maupun tidak langsung. Selanjutnya saya akan mengkhususkan pada kasus dokumen bertanda jawab (selanjutnya disebut DBJ, bukan LJK).

Continue reading ‘Faktor Penentu Keakuratan dari Perangkat Lunak Pemeriksa Lembar Ujian’


Beberapa hari yang lalu sempat main-main dan nyasar ke tema bilateral filtering. Salah satu aplikasinya adalah sebagai filter awal sebelum melakukan upsampling. Bilateral Filtering sendiri merupakan teknik penapisan citra yang melakukan proses penghalusan namun tetap menjaga struktur pada citra (tepi) dengan kata lain bilateral filtering merupakan salah satu teknik untuk melakukan edge-preserving smoothing pada citra. Hal yang membuat saya penasaran adalah hasil dari filtering yang didapat mirip dengan hasil dengan menggunakan teknik difusi non-linier.

Prinsip dari bilateral filtering bisa dibilang cukup sederhana karena pada dasarnya merupakan teknik yang berbasis pada ketetanggaan (spatial windowing) seperti pada perata-rataan tetangga(konvolusi diskret) atau penapisan median. Proses pada bilateral filtering dapat dibagi menjadi dua proses yaitu seleksi dan penapisan itu sendiri. Proses seleksi bertujuan mengikut-sertakan piksel-piksel tetangga yang masuk dalam kriteria. Fungsi kriteria yang digunakan adalah fungsi pembatas berdasarkan ‘jarak’ nilai piksel. Proses penapisannya sendiri dapat menggunakan penapisan linier (menggunakan kernel box atau gaussian) atau Penapisan non-linier (median filter).

Continue reading ‘Implementasi Bilateral Filtering di Delphi’