Buy Me A Coffee!

GoPay

Friday, August 15, 2014

Mendaftar TOEFL Preparation Course

Kampus saya memiliki sebuah lembaga bernama Balai Bahasa. Disana terdapat beragam kursus bahasa. Salah satunya bahasa Inggris. Berhubung saya harus memiliki nilai TOEFL atau setara sebagai syarat sidang, maka saya bersiap terlebih dahulu untuk les disini.

Untuk mahasiswa UPI, biaya kursusnya Rp 600.000. Pertemuannya direncanakan 3 kali dalam seminggu selama 3 jam. Teman saya yang pernah ikut kursus ini mengatakan terdapat 3 kali tes PTESOL (The Proficiency Test of English for Speakers of Other Language), setara TOEFL. Jadi lumayanlah, sekalian belajar bahasa Inggris sekalian dapat testnya.

intermezzo - PTESOL bukan TOEFL. TOEFL sendiri adalah serangkaian test hak cipta dari ETS (Educational Testing Service), nah sedangkan PTESOL itu dibuat oleh universitas. Biaya test TOEFL yang asli berkisar US$160-US$250. Lumayan mahal memang.
Peserta TOEFL Prep Course ada 30 orang. Kursus ini dilaksanakan jika kuota peserta sudah terpenuhi. Jadi jika anda mendaftar dan masuk ke dalam waiting list, saat balai bahasa menghubungi anda segeralah untuk daftar ulang dan membayar biaya kursus.

Sebelumnya saya pernah mendaftar di bulan Juni yang rencananya untuk bulan Agustus. Saya saat itu sudah dihubungi, tapi berhubung saya masih mudik jadi saya menolak. Selasa lalu saya kembali ke Balai Bahasa dan bertanya mengenai TOEFL Prep Course, dan ternyata katanya tersisa 7 kuota. Saya saat itu belum siap dan berniat untuk kembali esoknya. Saat besoknya datang ternyata (kata mas-mas yang jadi petugas di Balai Bahasa) tersisa 1 kuota lagi. Alhamdulillah masih ada, saya langsung daftar.

Prep Course periode ini dimulai dari tanggal 19 Agustus nanti setiap hari Selasa, Rabu, dan Jumat.

Thursday, August 14, 2014

Progress about my paper

Today I  spoke to my advisor lecturer about my final project. It's called POME (in case you don't remember you can check my previous post).

In my campus there's a rule that the student need to see the advisors at least 6 times per semester. I haven't seen him for a couple of month, so.. yeah, my final project also got stuck. By the way I have two advisor, but I haven't got time to see the second ones.

Before I saw my advisor I had prepared my questions correlated about my project. We talked a bit, and here's the resume.

First, I misunderstood about erosion and dilation. These two processes is to do morphological change. At first, I thought this process expand every pixel in structuring element. But I was wrong. I rechecked the sample at HIPR2. It's only the center of pixel affected.

Here's an example. Assume there's a 5x5 binary image like this (0 is background and 1 is foreground)

00000
00100
00000
00000
00100

and we have a structuring element for dilation of 3x3

111
111
111

At first I thought the image is going to be like this
11111
11111
11111
11111
11111

Why? Because I change every 3x3 pixel around the foreground's. But, the right answer is this
01110
01110
01110
01110
01110

I reported my finding to my advisor and he told me to rewrite my second chapter of my paper.

For more detail explanation go to its website at http://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htm

Second, I rethought for data decode and need to learn scaling. For this project at first I have to create a trained network for my classifier so I need to do training.  The input is every correct input letters. I thought it's going to be more convenient to decode those extracted training forms to XML data. Because I need to input the same amount of pixels for every data but the data itself can be different for each extraction so I have to scale them appropriately.

My advisor told me to use the available library out there for scaling. He said scaling can be quite complex. But... I don't know, I thought a simpler scaling because it's binary image. I had read about bilinear interpolation and I think it's quite simple for 2D image. The concept is the original pixels spread out then a structuring element count the gray value.

Err.. that's convenient for shade of grays, maybe I'll find another simpler method for binary images.

I'll try to learn it a little bit and do some experimenting to use it. If it's quite complex (it took me 5 days to develop it, haha) then it's better for me to use image processing library, even though that's rather overkill.

Third, I made up my finding pattern. I made my paper forms. It's consist of white boxes for write text and black boxes for my finding pattern algorithm. I made it up and have no reference. Then I thought it will be great to use QR Code method to find the mark.

Fourth, feature extraction of text.

It's quite long story.

At first, I thought Sobel Edge Detector is great to extract the feature of the text, but then I realize it's no need because I had thresholded it. Sobel Edge Detector maybe will be more useful for noisy and many object on image, not like my paper forms which is quite obvious to remove the background colors.

Then I found thinning from my elder alumni's paper. His method is quite sophisticated. He detect japanese characters. A letter can be 3 or 5 pixel width. He then do "thinning" to it, find its intersection, and count the strokes. Really cool, but complicated. I don't want to use the intersection and stroke counting, but I like the way he do thinning.

Then I tried the thinning method from HIPR2 (which I think still bad, maybe my algorithm is wrong) but I found the image looks so strange. The N letter become looks like W after it's thinned. I'm not sure thinning is good, but maybe it's just because my thinning algorithm.

There's also a paper from Farhad Soleimanian, he put the letter's pixel directly to its neural network.

So what should I use? Directly put it to neural network, thinning method, or Sobel edge detector? My advisor told me to STOP TINKERING IMAGE PROCESSING FOR FEATURE EXTRACTION and do the simplest thing first. Use the "direct input" and do the training to see how much the classification correctness.


What's next? I think I have to do these
  1. Implement "Finding Pattern" method in extractor app
  2. Implement "segmentation"  in extractor app
  3. Implement "export form to XML" in extractor app
  4. Implement "import form XML" in training app
  5. Implement "Neural Network Training" in training app
  6. Implement "export network XML"  in training app
  7. Implement "import network XML" in testing app
  8. Implement "testing" in testing app
  9. Try each "direct input", Sobel edge detector, and thinning method then count how big are the correctness
  10. Recheck thinning method, because my algorithm output differ with HIPR2's images


Long post eh? That's my documentation about my paper progress. It's become more and more exciting. Wish me luck then!

Bonus: Here's how I am making it


P.S: Excuse my Engrish though, it's one of my program to learn english. So grammar nazis out there, have yourself tons of corrections

Saturday, August 2, 2014

Pertanyaan Indonesia tentang ke luar negeri

Saya bukan pelancong tapi saya senang diajak berlancong. Apa itu berlancong? Anyway, setiap saya nonton acara travelling dengan kerabat, teman sepertontonan saya sering nyeletuk ",dapat makanan halal disana gimana ya?" Pertanyaan-pertanyaan macam gini sering menggelitik, apalagi kalau negara yang dikunjungi itu mayoritas penduduknya bukan muslim. Itu pertanyaan iseng sih, tapi ya itu, sering banget ditanyakan. Untuk itu saya coba rangkum pertanyaan orang Indonesia tentang hidup di luar negeri.

  1. Gimana cara dapat makanan halal?
  2. Kalau lagi jalan-jalan terus mau sholat gimana caranya? (soalnya nggak ada mushola)
  3. Kalau mau sholat Jum'at gimana? (takutnya nggak ketemu mesjid)
  4. Beli kecap disana gimana ya? (ujung-ujungnya juga nanya tempe, kerupuk, sampai terasi bisa dibeli di mana)
  5. Disana ngenetnya gimana? (pertanyaan buat ngenet di hape dan warnet)
  6. Kita bisa pake nomor hape sendiri nggak?
  7. Kalau nyuci baju gimana caranya? (maksudnya nanyain laundry di sana yang pake koin kayak di film-film)
  8. Mudik nggak? Kan mahal?
  9. Nyuci, maaf, bokongnya, maaf, pakai, maaf, tisu, maaf, ya?
  10. Kalau ke dokter umum mahal nggak sih?
  11. Makannya mahal nggak sih?
  12. Paspor harus dibawa melulu nggak?
Itu dulu kali ya, kalau misalnya nanti ada yang lain saya update buah ditambah. Ciao!

Tuesday, July 29, 2014

Waktu lama tidak tiang

Ini posting dengan judul yang aneh. Kalau dibahasakan ke bahasa Inggris jadi "Long time no post"

Oh hi! Apa kabar semuanya? Bagaimana kabar para pembaca setia? Walaupun saya tidak yakin blog ini ada pembaca setianya. Banyaknya pembaca selingkuh. Hmm...

*krik krik, suara babi yang menyamar jadi jangkrik*

Sekarang saya mau cerita tentang saya hiatus. Ini adalah tulisan geje yang mungkin tidak begitu bermanfaat bagi pemikiran brilian anda. So brace yourself folks. It's time for me to dust off my brain.

Hiatus

Hiatus, dari kata latin hiare, yang artinya celah. Kata ini merupakan kata bahasa Inggris yang memiliki arti berhenti sejenak dari serangkaian kegiatan. Ini adalah sebuah kata yang keren bagi saya untuk menyatakan leyeh-leyeh dan bolos. Aagh. Bolos dari apa? Dari skripsi. Aagh.

Bad me. Bad me. *tampar pipi sendiri*

Saya sekarang sedang berada di Sampit. Sampit itu apa? Karena saya ingin menjelaskan hiatus saya, penjelasan Sampit bisa kalian buka sendiri di websitenya ini. Itu bukan promo. Bukan. Cuma nyombong.
Saya sudah hampir sebulan di kota tercinta ini. Nuansanya yang hangat dan tentram menjadikannya cocok untuk tunas-tunas malas merambat dengan riang. Aagh. Disinilah saya melaksanakan ibadah hiatus saya dengan khusyuk. Apa saja hiatus yang saya lakukan? Berikut penjelasannya per poin.

1. Rehat inkontrol

Hiatus saya diawali dengan sebuah kegiatan bernama rehat inkontrol. Rehat inkontrol adalah kegiatan merebahkan diri di atas bidang datar, didampingi substansi dengan viskositas rendah (ex. bantal, guling, dsb), dalam rentang waktu tak terbatas. Umumnya rehat inkontrol dilakukan setelah sahur hingga menjelang waktu ashar. Rehat inkontrol memberikan efek samping berupa begadang inkontrol.

2. Eksplorasi kode majemuk (EKM)

Eksplorasi kode majemuk, atau disingkat sebagai EKM (baca: é-ka-eum), merupakan kegiatan berada di depan komputer untuk menekan serangkaian tombol yang menghasilkan program imajiner. Eksplorasi kode majemuk merupakan efek samping dari rehat inkontrol (yakni begadang inkontrol).

Beberapa EKM yang saya lakukan di Sampit adalah:
1. http://kotasampit.com. Merupakan sebuah website yang menjelaskan betapa uniknya Sampit. Memiliki fitur administrasi, statistik sederhana, dan peta personal. Ini adalah EKM yang memiliki bilangan eksplorasi tinggi sehingga memiliki tingkat distraksi terbesar. Bahkan gara-gara saya nulis tentang ini jadi kepikiran ini lagi. Aagh! Cukup! CUKUP!


2. Kosamapper. Merupakan aplikasi Android untuk melakukan pemetaan sederhana. Aplikasi ini merupakan pengembangan dari aplikasi Envirotell semasa saya melaksanakan kegiatan KKN.


3. Maatchee. Sebuah permainan untuk acara #GantengJam2014, yakni perayaan memperingati hari ganteng sedunia yang jatuh pada tanggal 25 Juli 2014. Kebetulan itu hari ulang tahun saya. Anyway, Maatchee adalah game mencocokkan pola dari gambar yang disediakan. Permainan ini dibuat dengan SpriteKit dan ditargetkan untuk Mac OSX.


EKM merupakan jenis hiatus berbahaya. Kegiatan ini memiliki efek melemahkan syahwat. Syahwat  untuk menyelesaikan skripsi. Diikuti dengan rehat inkontrol, EKM duduk di tahta tertinggi. Mari tampar wajah bersama-sama.

*plak plak plak*

Skripsi

Let's get serious this time. My paper covered by dust and spiderweb riding on its back. Kenapa ini semua terjadi? Karena saya procrastinate dengan cara hiatus. Cara yang ampuh memang, untuk lupa. Bahkan lebih melupakan daripada sihir obliviate yang diucapkan Prof. Gilderoy Lockhart kepada Ron saat di jaringan saluran air Hogwarts, tapi karena dia memakai tongkat Ron sedangkan tongkat Ron patah maka sihirnya berbalik ke dirinya sendiri. Tongkat Ron patah. Huh. You know what I think of it.

Oh shoot. I baffling again.

Kembali ke skripsi. Skripsi saya tentang pendeteksian lembar jawaban komputer menggunakan handphone. Aplikasi yang ingin saya buat bernama POME, singkatan maksa dari Phone Optical Mark Recognition. Catchy ya?

Tahapan yang seharusnya saya lakukan adalah sebagai berikut:
  1. Bikin program komputer untuk training yang bisa: ekstrak data dari gambar, threshold, rotate, training, dan ekstrak jaringan syaraf buatannya.
  2. Mengumpulkan data training.
  3. Proses training.
  4. Membuat aplikasi POME.
  5. Menguji coba aplikasi POME.
  6. Hasil penelitian.
  7. Lulus deh.
Tapi yang saya lakukan baru tahap 1 sebesar 0.5%. Baru bisa threshold. Menangislah. Menangislah.

Baru bisa threshold
Saya juga ada masalah. Ternyata saya cuma bisa melakukan threshold dari file yang saya dapat dari website yang menyediakan gambar-gambar contoh untuk pengolahan citra. Yang saya khawatirkan di Java memiliki keterbatasan untuk BufferedImage pada file yang dibuat di OS tertentu. Tapi kayaknya sih nggak, mungkin ada header file yang berbeda, atau format file yang beda. Hm. Hm.

Maka dari itu semangatilah dan doakanlah saya mengerjakan skripsi. Karena jika skripsi saya selesai, saya menjadi manusia non skripsi. Ini kalimat apa sih. Saya ngetik nggak jelas. Tolong! Haands! My hand typing!! Aaaaggh!!!

Saturday, July 12, 2014

Program Latihan Akademik Ilkom UPI

Kalau kamu sebagai mahasiswa dan sudah mulai membicarakan yang namanya PLA berarti kamu sudah mulai beranjak dewasa, hahaha.


Apa itu PLA

PLA adalah singkatan dari Program Latihan Akademik. Mungkin kalau di kampus lain namanya PKL, atau magang, tapi intinya sama lah. Sesuai namanya, ini adalah program yang disediakan kampus saya bagi mahasiswa yang ingin mencicipi di dunia kerja. Bahasa puitisnya mencicipi setetes getirnya kehidupan.

Dimana PLA


Dimana untuk PLA itu terserah kamu. Kamu mau minat bidang apa? Teman-teman saya ada yang mengambil web development, ada yang mobile apps, dan saya kebetulan senang dengan game development. Bidang minat ini juga bebas untuk kamu pilih kok, tidak rigid alias baku, selama masih berhubungan dengan ilmu komputer. Ya… asal jangan nyeleneh aja ke konveksi celana dalam. Emangnya ada konveksi celana dalam? Kayaknya ada sih, tapi saya nggak pernah nyari ke sana.

Ok, kembali ke topik. Setelah mengetahui minat yang ingin kamu ambil kemudian saatnya kamu untuk nyari tempat PLA nya. Dimana? Bebas dimana saja. Seperti mencari lamaran kerja, kamu bisa mencari kantor-kantor yang memiliki bidang TI (Teknologi Informasi) di dalamnya.

Kamu nggak harus kerja di kantor yang memang bergerak di bidang TI loh. Sebagai gambaran nih, kamu bisa bekerja di perusahaan minyak bumi. Disana biasanya ada divisi TI yang mengurus web, server, pengelolaan data karyawan, you name it. Kamu bisa memilih perusahaan tersebut.

Melamar PLA



Melamar PLA nggak seribet melamar kerja asli kok. Perusahaan yang kita kontak biasanya memang butuh dan punya slot untuk magang tiap bulannya. Ini yang perlu kamu lakukan:

  1. Kirim e-mail berupa permohonan melamar magang. Sertakan juga Curriculum Vitae kamu. Pastikan gunakan etika menggunakan e-mail yang baik dan benar ya, e-mail itu layaknya surat tapi elektronik, jangan anggap kayak komentar facebook!
  2. Jika direspon biasanya perusahaan tersebut akan mengontak kamu untuk wawancara. Umumnya wawancara ini seputar berapa lama magangnya, mau bikin apa, mulainya kapan, dan sebagainya. Ingat, kamu bukan melamar sebagai karyawan, cuma anak magang doang!


Jika perusahaan yang kamu datangi menerima lamaran PLA kamu secara tidak tertulis kamu sudah siap untuk memulai PLA. Untuk membuat buktinya secara tertulis kamu memerlukan 3 dokumen ini:

  1. Surat permohonan PLA dari fakultas. Minta surat ini dengan menyertakan nama perusahaan yang ingin kamu kunjungi ke staff TU FPMIPA. Teman saya ada yang meminta surat ini terlebih dahulu baru melamar ke perusahaan belakangan, hal itu boleh juga, tapi daripada minta surat beberapa kali saya lebih memilih untuk mendapatkan kepastian tempat dulu. Surat ini kamu berikan ke perusahaan yang bersangkutan.
  2. Surat penerimaan magang dari perusahaan. Minta surat ini ke bagian HRD (Human Resource Development) yang menyatakan kamu telah diterima sebagai mahasiswa magang di perusahaan tersebut. Surat ini kamu simpan untuk laporan PLA nanti.
  3. Proposal magang dari kamu sendiri. Proposal ini merupakan gambaran umum apa yang kamu lakukan di magang nanti. Dengan proposal ini kamu juga bisa mendapatkan pembimbing lapangan.


Kalau pengalaman saya pribadi kebetulan punya kenalan yang bekerja di sebuah perusahaan startup di Bandung. Jadi enjoy aja sih masuknya. Berawal dari chatting facebook dan dilanjutkan dengan dua tahap di atas tadi.

Sebenarnya beda perusahaan beda kebijakan sih. Banyak-banyak saja cari informasi dari kakak tingkat atau rekan yang pernah magang di sana, atau tanya saja langsung ke perusahaannya, mereka dengan senang hati akan menjawab pertanyaan kamu.

Ngapain PLA


Oke, sudah keterima nih, terus ngapain? Di awal tadi kamu sudah melakukan wawancara bukan? Biasanya perusahaan memerlukan diantara hal berikut dari mahasiswa magang (yang bidang teknologi informasi):

  1. Membuat program untuk membantu administrasi. Biasanya poin yang ini dilakukan oleh peserta PLA yang mengambil di perusahaan yang tidak bergerak di bidang TI. Sebagai gambaran kamu bisa membuat program data kepegawaian.
  2. Mengerjakan proyek. Poin yang ini biasanya dilakukan di perusahaan yang bergerak di bidang TI. Hati-hati, kalau perusahaan tersebut memiliki proyek yang cukup besar. Ingat, kamu adalah mahasiswa PLA, bukan karyawan. Pastikan proyek yang kamu kerjakan akan selesai selama kamu PLA. Jangan sampai kebablasan.


Ngomongin kebablasan, mahasiswa ilkom itu sudah langganan ditawarin kerja pas di perusahaan PLA. Walhasil lupa sama ngerjain laporan dan ngambil PLA di semester-semester berikutnya. Sebisa mungkin jangan sampai ini kejadian dulu, ribet aja kan harus ngontrak PLA lagi untuk semester depan.

Bimbingan PLA ke dosen


PLA itu kuliah loh ya, bukan kerja. Selama kamu PLA kamu harus melakukan bimbingan ke dosen pembimbing. Karena hal ini biasanya saya sudah perjanjian sama kantor supaya ada waktu sehari untuk libur, maksudnya sih buat bimbingan di kampus. Kamu juga bisa kok ke kampus dulu untuk bimbingan baru ke kantor.

Apa yang dibimbing selama bimbingan PLA dengan dosen? Umumnya laporan PLA. Jadi kamu mulai mengerjakan laporan PLA dari awal mulai masuk magang. Hal-hal kecil tapi malesin seperti pembukaan dan latar belakang digjolok di bimbingan ini.

Ah, ya, bimbingan PLA ini juga merupakan penyemangat dan pengingat bahwa kamu masih berkuliah, biar nggak kebablasan. Jadi jangan lewatkan bimbingan! Minimal bimbingan yang harus dilakukan adalah 6 kali pertemuan.

Bimbingan PLA ke pembimbing lapangan


Kalau yang ini bimbingannya dengan perusahaan. Kalau waktu saya dengan pembimbing lapangan bimbingannya nanya progress sudah sampai mana dan sharing mengenai teori.

Nah ini yang unik. Di perusahaan saya magang ada saling berbagi tentang teori keilmuan dalam programming. Saya doyan juga sharing ini, soalnya kayak kuliah tapi langsung ke implementasi dari yang berpengalaman. Lumayan lah, itung-itung kursus gratis.

Sidang PLA


Kalau sudah selesai bikin program, sudah bikin laporan, saatnya kamu sidang. Sidang ini nggak kayak sidang skripsi gitu ya. Tahapan untuk sidangnya kayak gini:

  1. Hubungi dosen koordinator PLA dengan membawa lembar nilai dari pembimbing dosen, pembimbing lapangan, dan surat persetujuan mengadakan sidang. Pastikan lembar dari perusahaan dibubuhkan stempel!
  2. Setelah kamu menyerahkan dokumen tersebut, kamu akan diberi nama dosen penguji. Hubungi dosen penguji tersebut untuk mengatur jadwal kapan dan dimana kamu akan diuji.
  3. Datang di hari sidang dengan membawa laporan kamu. Sisanya tanya jawab deh. Beda penguji beda cara mengujinya. Ada yang perlu menggunakan presentasi dan proyektor, ada juga yang ngobrol biasa. Tanyakan saja ke penguji kamu ingin diujikannya dimana dan memerlukan apa saja.
  4. Setelah selesai, jilid semua laporan dan nilai yang kamu peroleh (nilai dosen pembimbing, pembimbing lapangan, penguji) dengan soft cover berwarna kuning. Sertakan di dalamnya CD berisi laporan dan program yang kamu buat. Kemudian serahkan lagi ke koordinator PLA. Kamu juga boleh membuat beberapa rangkap untuk diberikan ke perusahaan tempat kamu magang.

That's it!

Tadaa!! Akhirnya selesai. Kalau kamu mengerjakan semuanya aroma-aromanya kamu lulus dengan nilai baik.

Have fun dengan PLA! Inti dari PLA sih buat kamu ngerasain gimana kerja itu. Yang paling penting dari PLA itu membangun koneksi. Semakin luas koneksi kamu semakin nggak ngebosenin kerjaan.

Oke deh, ini rangkuman dari artikel yang saya buat di atas tadi.

Proses PLA
1. Nyari tempat
2. Kirim lamaran ke perusahaan
3. Minta surat izin magang ke fakultas
4. Pembekalan dari jurusan
5. Mulai PLA
6. Bimbingan PLA
7. Laporan PLA
8. Sidang PLA

Selamat PLA!