Tulisan ini adalah
sedikit penjelasan dan curahan saya sebagai mahasiswa tahun akhir dahulunya.
Karena sekarang saya telah mendapatkan gelar Sarjana Teknik (S.T). Tak perlu
takut, karena tulisan ini saya lampirkan di tugas akhir karena Bapak Pembimbing
yang memintanya.
Kesan
Tugas akhir ini awalnya adalah sesuatu yang tidak akan
dapat saya selesaikan. Diawali dengan pengambilan judul yang ditawarkan
pembimbing. Awalnya, saya tidak begitu tertarik dengan bidang implementasi dari
komputer vision, dan hanya tertarik dengan image
processing. Saya juga tidak tahu kalau image
processing merupakan bagian dari komputer vision. Setelah saya menerima
judul yang ditawarkan pembimbing, saya terkejut karena banyak hal-hal yang
tidak saya ketahui, dan ini menakjubkan serta menimbulkan ketakutan kalau-kalau
saya tidak bisa menyelesaikan tugas akhir ini. Terlebih lagi, judul ini
diikutsertakan dalam Program Kreativitas Mahasiswa (PKM).
Hal pertama yang saya lakukan dalam memulai tugas akhir
ini adalah mempelajari tentang image
processing, speech processing, dan mikrokontroler tingkat lanjut. Ternyata
bukan hal itu saja, hubungan komputer dengan kamera juga dipelajari. Dari hal
tersebut, barulah saya menyadari betapa minimnya pengetahuan saya tentang alat
yang akan saya buat agar bisa menyelesaikan studi di Teknik Elektro UNAND ini.
Awal pengerjaan, saya merasa susah untuk menampilkan kembali hasil tracking
kamera sangat sulit dan membutuhkan membutuhkan memori yang besar. Awalnya saya
ingin mengolah hasil rekaman, tapi ternyata tidak efektif untuk pengimplementasian
dispenser otomatis ini. Saya berusaha agar bisa mengolah video secara online. Ternyata saya juga tidak bisa
melakukannnya. Saya mulai hilang akal untuk pengolahan video secara online (langsung) atau realtime ini. Akhirnya, saya berpikir agar
bagaimana kamera bisa mengambil frame
dari videonya saja, dan menyimpannya ke dalam file bitmap agar bisa diolah oleh
program penghitung ukuran gelas. Alhamdulillah, cara ini akhirnya berhasil.
Berhasil mengambil frame
gambar dari video, langkah selanjutnya yang dilakukan adalah membuat program agar bisa menghitung ukuran
gelas. Program awal yang telah dibuat adalah program segmentasi gambar dan
penghitung volume gelas dengan menggunakan bahasa pemograman MATLAB. Ternyata
hasil yang diperoleh tidak bagus. Ukuran gelas yang didapat secara segmentasi,
jauh berbeda dengan ukuran sebenarnya. Kemungkinan hal ini terjadi karena
background objek yang digunakan adalah warna putih. Kemudian, warna background
objek diganti menjadi hitam. Hanya sedikit perubahan yang terjadi. Sementara
saya melihat matrik-matrik yang dihasilkan dari hasil semgentasi gambar sudah
cukup bagus mewakili setiap objek dan background-nya. Tetapi kenapa hasil yang
didapatkan jauh dari yang sebenarnya? Saya mencari tahu di mana kesalahan itu
berawal. Ketika saya menanyakan tentang MATLAB di laboratorium komputer, mereka
tidak terlalu paham dengan pemograman MATLAB tingkat lanjut. Awalnya saya
mengira ini bukan pemograman tingkat lanjut. Tapi ternyata, bagian image processing dalam MATLAB adalah
pemograman tingkat lanjut. Saya mulai pusing lagi, karena pemograman MATLAB
yang saya kuasai cuma dasar-dasar yang diperoleh dari kuliah Dasar Sistem
Kontrol saja. Bertanya pun ke laboratorium pemograman, mereka lebih memahami
Visual C++ dibanding MATLAB.
Melihat matriks-matriks yang dihasilkan sewaktu proses
segmentasi cukup bagus, saya berpikir untuk menggabungkan dua buah pemograman
dalam menghitung ukuran gelas ini. Pertama, program segementasi gambar
mengguakan MATLAB, dan program menghitung volume menggunakan Visual C++. Itulah
alasan kenapa saya menggabungkan dua bahasa pemograman sekaligus, bukan untuk
mempersulit pekerjaan, tapi hanya ini yang bisa saya lakukan di tengah
keterbatasan yang saya miliki. Apakah alasan itu diterima penguji saya? Tentu
saja tidak. Tapi, saya tetap mengakui kekurangan saya.
Alhamdulillah
cara menggabungkan dua bahasa pemograman berhasil. Hasil segmentasi yang
dihasilkan cukup bagus, dan program penghitung ukuran, volume gelas, sekaligus
pengenalan perintah berjalan dengan baik dengan error yang tidak begitu besar.
Selesai
cara menghitung volume, timbul lagi permasalahan baru, yaitu bagaimana mengirim
data secara realtime ke
mikrokontroler. Dengan kata lain, saya harus membuat pemograman yang adaptif
terhadap data yang dikirmkan, kapanpun waktunya. Jadi, dibutuhkan pemograman
yang general, tapi sesuai dengan konteks pengiriman data realtime. Di sinilah kelebihan tugas akhir saya.
Berbeda
dengan tugas akhir senior-senior saya. Di mana, ketika pertama saya mendengarkan
jabaran tentang rancangan tugas akhir ini dari pembimbing saya, hal pertama
yang saya pikirkan itu adalah tugas akhir ini cuma butuh sedikit pengerjaan
lagi. Sama dengan pemikiran salah satu penguji saya, karena yang berbeda adalah
implementasi alatnya saja, sedangkan sistemnya sama (pengolahan gambar dan
pengolahan suara). Jadi, penguji saya menambahkan supaya membuat rancangan
pengolahan suara sendiri. Awalnya saya pikir itu mungkin saja, karena saya
tidak ingin ketika lulus nanti seseorang mengatakan saya lulus karena sedikit
pekerjaan lagi dari merampungkan tugas akhir senior saya. Ternyata pemikiran
saya dan penguji saya itu langsung dipatahkan oleh kenyataan. Kenyataan bahwa
tugas akhir saya ini menggunakan pemograman sebelumnya (pengolahan gambar dan
pengolahan suara serta mikrokontroler). Pertama, program image acquition yang
digunakan senior-senior saya beroperasi dengan windows XP, sedangkan saya
menggunakan windows 7. Ketika saya install ulang pun sistem operasi komputer
saya, program image acquition tidak berjalan sesuai dengan yang diharapkan.
Otomatis, image acquition yang telah dirancang tidak bisa diterapkan dalam
sistem alat saya. Kedua, teknik pengolahan video berbeda dan pengolahan suara
yang saya gunakan adalah secara online.
Ketiga, teknik penghitung ukuran gambar tentu saja jauh berbeda dengan teknik
penentuan warna yang dipakai pada tugas akhir sebelumnya. Keempat, sistem komunikasi yang digunakan
sebelumnya adalah komunikasi paralel, sedangkan tugas akhir ini menggunakan
sistem komunikasi serial.
Nah,
kembali ke bahasan mengenai pengiriman data secara realtime menggunakan komunikasi serial. Ketika mulai pengerjaan
pemograman tahap ini, saya terkendala. Saya cuma bisa mengirim data menggunakan
hyperteminal, sedangkan untuk implementasi alat ini, penggunaan hyperterminal
sangat tidak efektif. Pembimbing saya menginginkan ketika program di run, data
terkirim tanpa harus menggunakan hyperterminal. Saya konsultasi dengan salah
satu asisten di Laboratorium Elektronika Industri. Ternyata mereka juga kurang
paham dengan mengirim data secara realtime.
Terkendala
dipengiriman data secara realtime
menyebabkan penyelesaian tugas akhir ini tertunda dua bulan. Tidak ingin
tertunda lagi, saya skip cara
pengiriman data. Saya merancang pemograman di mikrokontroler terlebih dahulu.
Selesai merancang pemograman menggunakan BascomAVR, untuk pengiriman data
secara serial dan realtime ternyata
saya dibantu oleh mahasiswa S2 Teknik Elektro Unand, Mas Roy.
Pengiriman
data dan pemograman mikrokontroler telah selesai, yang dilakukan adalah
memprogram chip mikrokontroler tersebut. Proses memprogram chip ini juga
terjadi masalah. Saya salah memasang fuse
bit mikrokontroler tersebut. Dampak kesalahan tersebut adalah
mikrokontroler saya kena lock. Tidak
rusak, tetapi tidak bisa dipakai. Ketika saya menayakan masalah ini ke asisten
Laboratorium Elektronika Industri (LEI), mereka tida bisa membuka
mikrokontroler yang telah terkunci. Saya bingung lagi, tidak mungkin membeli
lagi mikrokontroler tersebut, bukan masalah harga, tetapi menunggu
mikrokontroler itu sampai satu minggu lebih. Akhirnya, saya meminjam
mikrokontroler LEI dan merancang ulang pemograman kembali, karena mereka
meminjamkan mikrokontroler Arduino. Tetu saja berbeda dengan ATMEGA yang
menggunakan bahasa pemograman BascomAVR, Arduino menggunakan pemograman C. Saya
rasa, dari hal-hal berat yang saya lalui selama pengerjaan tugas akhir ini,
bagian mikrokontroler dengan hal-hal yang terjadilah yang paling berat,
meliputi mengirim data serial secara realtime,
dan membuat ulang pemograman mikrokontroler dengan bahasa pemograman lain. Setelah pengambilan data
selesai, hal yang saya lakukan selanjutnya adalah membuat video dan seminar
tugas akhir serta sidang tugas akhir.
Seminar
tugas akhir telah dipersiapkan secara sempurna menurut saya. Tetapi, masih
banyak kekurangan yang saya miliki, baik dari segi penguasaan materi maupun
penulisan. Saya berterimakasih kepada penguji kareana memberitahu saya
kesalahan itu, sehingga saya melakukan perbaikan untuk sidang tugas akhir.
Saya
mempersiapkan segala sesuatunya untuk sidang tugas akhir ini. Mulai dari
belajar secara teori tentang pengolahan sinyal digital, pengolahan citra
digital, dan mikrokontroler tingkat lanjut. Menurut pemikiran saya, kalau
mengenai teori-teori tersebut, saya bisa menjelaskannya.Akan tetapi, jauh
diluar dugaan saya. Hal yang ditanyakan penguji di bidang pengolahan suara
bukanlah masalah pengolahan sinyal digital yang merupakan dasar-dasar
pengolahan suara digital, tetapi tentang model-model suara secara detail. Saya
tidak menyangka hal itu akan ditanyakan, karena ketika saya konsultasi dengan
senior-senior dengan tugas akhir pengolahan suara dan pengolahan gambar,
hal-hal itu tidak ditanyakan dan tidak disinggung sama sekali. Saya merasa
gugup waktu itu, karena memang tidak terpikirkan sebelumnya. Jika bahasan
mengenai pengolahan gambar dan mikrokontroler, alhamdulillah saya bisa menjawab
walaupun terkadang jawab yang saya berikan kurang memuaskan. Alhamdulillah saya
bisa lulus.
Pesan untuk Tugas Akhir
Kesan-kesan yang
saya lalui, membuat saya ingin member pesan-pesan untuk pembimbing dan
mahasiswa yang akan melanjutan tugas akhir ini :
·
Inti utama tugas akhir ini menurut saya
adalah algoritma dan pemograman, jadi sebisa mungkin ada pembimbing yang paham
dengan pemograman, sehingga tidak perlu terjadi penggunaan beberapa bahasa
pemograman yang menurut saya kurang efektif.
·
Jika ingin mengembangkan alat ini, tidak
bisa diselesaikan satu orang dalam waktu yang cepat. Setidaknya, alat ini
menurut saya bisa dikerjakan tiga orang dengan waktu yang proporsional. Satu
orang untuk pengolahan suara dengan menggunakan metode tertentu (metode berbeda
dengan tugas akhir ini), satu orang untuk pengolahan citra dengan menggunakan
metode tertentu (metode berbeda dengan tugas akhir ini), satu orang untuk
perancangan mikrokontroler yang sesuai dengan sistem. Jika ingin digabungkan
menjadi satu sistem secara utuh, juga membutuhkan satu orang lagi. Dengan kata
lain, mewujudkan sistem ini secara keseluruhan membutuhkan empat orang
mahasiswa. Menggabungkan sistem-sistem ini merupakan pekerjan yang berat
walaupun sebelumnya telah dikerjakan pemograman-pemograman untuk tiga bidang
tersebut. Ini dikarenakan algoritma setiap orang berbeda-beda.
·
Berhati-hati dalam meprogram chip
mokrokontroler.
·
Mempelajari chip pengganti komputer
sangat penting dilakukan agar sistem ini bisa dioperasikan tanpa harus
menggunakan komputer.
No comments:
Post a Comment