Rabu, 27 Juli 2011

Hard(ware)way or Soft(ware)way

Beberapa orang mengkaitkan hardway dengan pelajaran yang dipetik melalui pengalaman yang menyakitkan ataupun softway yang biasanya identik dengan belajar dengan cara yang lebih "mudah". Tetapi kali ini saya akan mengkaitkannya dengan hardware dan software. Hampir semua orang tentunya tahu apa itu hardware dan software, semua yang berhubungan dengan barang, device atau apapun yang dapat dipegang dapat dikatakan sebagai hardware sedangkan software biasanya dikaitkan dengan program atau aplikasi pada komputer atau device elektronik lain seperti smartphone. saya tidak akan membahas perbedaan antara keduanya atau fungsi dari salah satunya namun saya akan membahas "pelajaran" yang dapat dipetik dari keduanya. So if you talk about learning in hardway or softway now we will learn it from hardware way and software way.

Sebagai mahasiswa teknik fisika tentunya sudah biasa berhubungan dengan hardware dan software. Bahkan pada tugas akhir ada yang benar-benar berhubungan dengan hardware even build a hardware from a scratch and then do the experiment or just do the experiment with existing hardware. Sedangkan software bisa berupa "hanya" menjalankan simulasi berbekal data yang ada atau bahkan ada yang menulis kode (I called it as a "hardcore" programming) dan membuat aplikasi bahkan interfacenya. Saya sendiri merasa beruntung sempat merasakan keduanya, dari pengalaman berhubungan dengan hardware dan software saya mendapatkan pelajaran yang unik.

Soft(ware)way
Beberapa kali saya berhadapan dengan software sebelum masuk ITB dan jujur hanya sebagai user. Ketika masuk ITB langsung sebagai mahasiswa teknik fisika kami disuguhi satu mata kuliah "dasar pemrograman" yang berbasiskan Java dan disimulasikan diatas aplikasi yang disebut jturtle. Intinya kita bisa menulis kode yang diinginkan pada jendela kiri dan kode tersebut dapat dieksekusi pada jendela kanan dengan kura-kura hijau kecil berjalan untuk menggambar atau menulis teks yang diinginkan. Ini pengalaman pertama saya menulis kode yang benar-benar dari awal untungnya ada sesi tutorial untuk belajar dan mempraktekkannya. Salah satu yang paling berbekas pada kuliah ini adalah pada saat dosennya berkata "Java bisa dibilang high level language dan mungkin agak susah bagi sebagian orang terutama yang baru bersentuhan dengan programming karena sebagian lainnya mungkin lebih familiar dengan bahasa C, kenapa di teknik fisika kita pakai java? Karena GRATIS" (jelasnya sambil tertawa terkekeh-kekeh). Jgeerr!! Gratis, alasan yang sangat (atau terlalu) simpel. Tapi mata kuliah inilah yang berhasil membuat saya tidak bisa tidur karena bermimpi kura-kura yang macet di tengah halaman karena logical error atau bahkan mengeksekusi program yang salah (saya bangun dalam keadaan keringat dingin!!). Bahkan pengalaman bagaimana tidak enaknya menulis kode dengan bermodal kertas dan pensil tanpa bisa mencoba "menjalankan" program yang telah dibuat.
Tampilan Jturtle, jendela kanan untuk menulis program dan jendela kiri untuk eksekusi program oleh si kura-kura.
Pengalaman terus berlanjut, semester berikutnya ada pemrograman berorientasi objek atau istilah kerennya "object oriented programming" bedanya komponen pada pemrograman ini diperlakukan sebagai objek dan "agak" lebih menyenangkan karena kita bisa mendesain user interface yang ingin ditampilkan. Dasar program yang digunakan adalah Netbeans yang memakai Java dan sekali lagi, GRATIS. Setelah itu saya kira tidak akan bertemu dengan hal semacam itu lagi tapi ternyata saya berulang kali bertemu dengan "soft(ware)way" dalam bentuk yang berbeda seperti matlab, scilab, arduino, PLC programming, dan LabView (yang dengan sotoynya menjadi orang pertama yang mengambil topik real-time control simulator saat Kerja Praktek dan dengan suksesnya nyaris tidak tidur selama 3 hari) bahkan saat tugas akhir sempat "terpaksa" baca C++ sedikit-sedikit. 

What's behind the soft(ware)way?
Apa yang saya "pelajari" dari pengalaman-pengalaman itu? Hal pertama dan yang paling jelas adalah ketelitian. Bahkan sebuah titik kecil atau tanda titik koma (;) bisa menghancurkan mood dan membuat hidup lebih suram selama 3 hari atau bahkan satu minggu kedepan dan kalau cukup beruntung, plus mimpi buruk. Hal kedua adalah kesabaran, ya kesabaran untuk memeriksa apa yang telah dibuat agar ketika software atau simulasi dijalankan hasilnya tidak terlalu berbeda dengan apa yang diharapkan. Ketelitian dan kesabaran sering berjalan beriringan, hal ini untuk memperkecil kemungkinan kesalahan terjadi. Tentu beberapa orang memilih cara "tulis seadanya dan jalankan dulu" tapi itu tentunya akan menghabiskan lebih banyak waktu. Lagipula yang kita inginkan adalah "trial and success" kan? Bukan sekedar "trial and error" yang berulang-ulang.

Kita akan belajar mengenai perbedaan. Ya benar, perbedaan. Sebagian besar orang akan berpendapat lebih sulit memahami kode yang dibuat oleh orang lain dan menemukan error yang ada dibandingkan menulis kode dari awal sendiri dengan logika kita. Yep, everybody is unique and we need to look every problem with different perspective to understand each others. The next thing is curiosity, banyak cara untuk mencapai tujuan, begitu pula dengan software. Meskipun apa yang kita buat sudah dapat mencapai apa yang diinginkan, kadang selalu ada dorongan atau rasa penasaran untuk mencoba dengan cara yang lebih efektif dan efisien. Mulai dari merubah algoritma sampai menuliskan kode yang lebih rumit agar hasil yang didapat menjadi lebih cepat atau "memakan" memori yang lebih sedikit.

The last but not at least, logic and communication. With "soft(ware)way" we learn to build our logic and have a simulation in our mind. After that, we need to translate what we want into computer language. This is one of the biggest advantage of software problem, once you can translate what you want into different "things" language, you could easily talk to people. Saat berdiskusi mungkin saja kita sudah memiliki tujuan dan dasar pemikiran yang sama dengan orang lain, tapi cara kita menyampaikannya atau bahasa yang kita gunakan "berbeda" sehingga membuat kita bicara berputar-putar dan tidak mencapai titik temu.

Hard(ware)way
Pertama kali saya berhubungan dengan hardware dan "real" membangun dari awal adalah saat galelobot. Bagi yang belum tahu, Galelobot adalah lomba robot line follower dengan tim 3 orang yang diadakan HMFT. Jujur saja,kami ikut pun dengan modal dengkul (mungkin tidak dengan dua teman saya, Yuniar dan Beni, tapi YA, modal saya cuma dengkul dan beruntung saya boleh masuk dalam tim). Pada saat itu pekerjaan dibagi jadi pemrograman oleh Yuniar, elektronik oleh Beni dan saya bagian mekanik (ngga, ngga ada yg megang kabel atau jaga sandal). Bagian mekanik mungkin tidak terlihat keren tapi disini yang menentukan desain penempatan komponen, titik pusat massa dan membuat base yang diperlukan untuk mempermudah gerakan robot (semoga saya berhasil membuat ini terlihat keren). Meski akhirnya tidak berjalan seperti yang diinginkan tapi banyak pengalaman yang kami dapat waktu itu.

Tim galelobot kami, dari kiri ke kanan, Yuniar, Beni dan saya.

Waktu berlalu dan pengalaman baru pun berdatangan. Bantu-bantu tim FT di lomba roket (yang ini berujung menjadi "jalan bersama" di Yogya), nyari motor 3 phase buat lab yang susahnya minta ampun dan terakhir adalah pembuatan elektrokardiograf untuk mencit (tikus kecil, dan yang ini saya anggap berhasil). Semua permasalahan hardware yang pernah saya hadapi selalu memberikan pelajaran-pelajaran baru yang unik. Salah satu yang memiliki sejarah panjang adalah yang terakhir. Bagaimana tidak, itu adalah tugas akhir saya (dan teman saya, Puput, tapi berbeda topik) yang dimulai sejak juni 2010 yakni pencarian dana hingga juni 2011 yaitu pendaftaran sidang kelulusan. Satu tahun, a very busy year yet fun.

Why we need to do in hard(ware)way?
Apa yang bisa kita dapatkan? Hard(ware)way akan memberikan pelajaran hidup yang berbeda dengan apa yang ditemui di software problem. First of all, hardware problems will teach you about hardwork, literally HARDwork. Ngebor, ngikir, ngebaut, nyolder dan lain-lain. It will remind you that as a engineer, sometimes you need to do "the hardwork". 

Hal lain yang juga penting adalah kemampuan visualisasi, atau kreativitas dalam membayangkan hardware yang akan dibuat. Ini lebih krusial daripada membayangkan simulasi software di kepala, bagaimana tidak, sekali hasil hardware jadi dan bila tidak sesuai yang diharapkan maka kita harus membuat lagi dari awal. Tentunya pengulangan itu menambah waktu, kebutuhan komponen, uang dan mungkin, keringat. Versi agak lebaynya, saya pernah bayangin bentuk kotak atau kontainer rangkaian sambil mandi, pas nunggu pesenan makanan dateng kebayang posisi peletakan sensor, di angkot bayangin bentuk papan eksperimen buat naro mencit (tikus kecil) sampe kelewatan tempat turun. Tapi disitulah seninya hardware, kita mencoba menciptakan apa yang kita bayangkan. Setelah itu bila butuh modifikasi kita harus bisa berusaha memodifikasinya secepat mungkin meskipun hanya berpegang pada sense of engineering (terutama bila kepepet deadline apalagi deadline Tugas Akhir, -HOI MATA BOR MANA!!! GW MAU LULUS JULI!!!-).

Move your ass and interact with others. Salah satu fase pada pembuatan hardware adalah mencari komponen penyusun hardware yang ingin dibuat. Kegiatan ini bisa dilakukan dari sekedar googling atau bahkan diperlukan untuk jalan dan keliling kota untuk mencari bahan yang diperlukan. Karena pernah berhubungan dengan hardware saya sampai hapal daerah cikapundung, banceuy, jalan ABC dan Suniaraja, bukan hanya sekedar jalan tapi memasuki toko satu persatu (Jual motor 3 phase Pak? Jual arcylic dan bisa didesain Mas? Di sini jual lampu proyektor? dan lain-lain). Berkat ini pula saya sampai harus bertukar email dengan supplier dari Belanda, Jerman dan Amerika untuk membeli komponen dalam rangka tugas akhir (khusus Amerika sampai harus email-emailan tengah malem biar cepet dibales!! Maklum saat kita malam, di sana justru siang). Bergantung pada asal komponennya tapi cara-cara pengiriman uang seperi transfer antar negara, via mastercard atau via western union bahkan mengurus bea masuk juga dapat jadi pengalaman berharga. So, we REALLY need to become proactive and move our ass to search the component to build our hardware.

Hal yang tidak kalah penting adalah pencarian dana. Mungkin untuk low level hardware tidak terlalu concern dengan hal ini. Tapi begitu sudah harus bangun hardware di atas 2 juta (oke, mungkin bagi sebagian masih gampang ngeluarin segitu, tapi saya males ngeluarinnya). Di sini "seni" pencarian dana dimulai. Cara yang paling gampang adalah kalau background orang yang kita mintain dana sama "technical"nya atau tinggal minta uang jurusan, itu pasti lancar dan ngejelasinnya ngga terlalu susah. Repotnya,ngga semuanya bisa seperti itu. Kadang kita menyiasatinya dengan mencari sumber dana lain dengan background yang berbeda. Contohnya kewirausahaan, peluangnya sih jujur bukan saya yang lihat, "calon" pembimbing TA saya (Kenapa calon?? Jujur, kalau ngga dapet dana mending saya TA simulasi yang ngga terlalu habis duit daripada hardware yang jelas berdarah-darah), Pak Suprijanto yang tercinta ngasih lihat peluang dana kewirausahaan dan hubungannya sama topik TA yang "mungkin" akan diambil. Udah, sampai di situ. Sampai di situ. Analisa pasar, SWOT produk, 4P (Price, Product, Place and Promotion) analysis, timeline, rencana pemasaran, proyeksi keuntungan dan rencana pengembangan di proposal harus dibuat sendiri.

Mungkin ada yang beranggapan "Ah,kan cuma proposal". Tapi proposal itulah yang dipakai buat milih 40 proposal yang didanai dan menyingkirkan lebih dari 300 proposal lainnya, itu yang membuat bisa didanai sampai 2 digit dan itu juga yang membuat saya lulus. Jadi meskipun hanya proposal, kita harus mendekatinya ke segi bisnis sedekat mungkin. Jadi kita harus dapat menjelaskannya agar orang lain mengerti manfaatnya. Kita ngga hidup sendirian, kita membuat suatu produk untuk dipakai orang lain atau bahkan untuk dijual. Kita harus bisa menjelaskan aspek-aspek teknik dari segi keuntungan bisnis (bukan maksudnya materialistis, tapi hey, R&D juga perlu modal Bung!!). Kita harus membuat sesuatu yang mudah digunakan atau istilahnya "user friendly" dan bahkan mendesainnya agar tidak terkesan "menyeramkan" bagi orang awam.

Technology is about transforming science with engineering into physical form then wrap it with art so people will want to use or even buy it. Just one advice, add a little "economic thought" and get rich with technology.(Narendra Prataksita)

Build hardware from scratch and test it is like a small project management. If you want to be a project manager someday, you should try it. Mulai dari desain, nyari komponen lalu bisa estimasi kebutuhan dana dan pencarian dana. Begitu ada dana, masuk ke sesi pembelian komponen atau pemesanan dan harus menunggu kedatangan komponen. Sambil menunggu kedatangan, mulai desain prototype dan ngerjain apa yang bisa dikerjain. Komponen datang langsung test spesifikasi dan kalibrasi. Perakitan. Lalu eksperimen, ngga berhasil, modifikasi atau bahkan desain dari awal. Belum lagi kalau melibatkan pembelajaran software dan analisa data. Setelah semua selesai, buat laporan atau bahkan manual penggunaan. Timeline harus tersusun rapi dan harus menyesuaikan dengan cepat. Masalah selalu ada, dan kita harus siap dengan apapun Murphy's law ("Anything that can go wrong, will") yang muncul. Komponen yang telat, salah desain, ngga sesuai spesifikasi, data yang ngga bisa diambil dan lain-lain. Tapi masalah-masalah itulah yang akan mendewasakan kita.

SO??
Hard(ware)way or Soft(ware)way, pilihan apa yang diambil akan sangat bergantung pada passion atau keinginan kita. Mungkin saja akan ada pengalaman atau pelajaran baru yang dapat dipelajari dari yang sudah diungkapkan. Tapi saya berani mengatakan kalau kita ngga akan dapet "complete set of experiences" kalau ngga mencoba keduanya.Jadi, bagi yang masih punya waktu cobalah semuanya. Carilah pengalaman sebanyak-banyaknya. Do more, learn more and experienced more

University is not about learn as fast as possible, but it is about learn as much as possible and understand as depth as possible. You need to learn just until you have a confident and better look in your eyes. Until your knowledge and experiences can become the confident behind your smile.

This story dedicated for my friend, Yuniar Gitta Pratama, programmer with beautiful mind and creative hardware designer.

Minggu, 17 Juli 2011

First week @ Big Blue

Tadinya saya berniat menuliskan hari demi hari hari yang terjadi tapi karena waktu yang terbatas dan alasan tak terbatas lainnya maka akhirnya tulisan ini diharapkan keluar tiap minggu.

Kurang lebih 3 hari setelah keluar SKL (Surat Kelulusan) langsung ke jakarta dan bersiap buat program IBM Apprenticeship 2011. Iya, saat yang lain liburan dan melepas stress dan kegilaan setelah TA saya justru langsung ada "kerjaan" (damn, ngiri sama yang pada ke sawarna!!). Jumat 1 juli dateng ke the plaza kepagian, jam setengah 7, inilah nasib kalo numpang sama ortu, dapet kartu pengunjung. Dengan sotoynya nyebut lantai 15, IBM. Naek, keliling lantai dan krik-krik,sepi. Alhamdulillah ada semacem mushola jadi bisa duduk sambil baca-baca. 10 menit, 20 menit berlalu dan mencoba ke kamar mandi, ternyata harus pake kartu juga!! Dateng kepagian dan dapet kartu yang bahkan ngga bisa buka toilet, oke, saya akui memang bukan awal yg bagus. Panik, nyoba naik lift mau ke lantai satu dan ternyata.....harus pake kartu juga. Krik krik krik, mulai panik. -_-! Naik tangga darurat udah pasti "out of option" ngga perlu dijelasin lah, secara saya kebelet pipis dan itu LANTAI 15. Keliling,  masih panik.  Untungnya menjelang jam 7 ketemu manusia juga, ada janitor, langsung saya kejar (mungkin dia kaget berasa artis).

Gw : Mas, mas, mas, bisa minta tolong bukain WC? (nada melas dan tatap penuh harap)
Mas2nya : (sial, gw kira mau minta tanda tgn!) Oh,bisa mas.
Gw : (Alhamdulillah) Makasi mas,makasi.

Masa-masa menunggu kembali dimulai. Lalu menjelang setengah 8 ada keamanan dateng.

Keamanan : Mas mau kemana?
Gw : (Kok dia bisa tau gw di bangku musola yg agak masuk ya? Hum,mungkin di kamera aneh juga liat orang muterin ini lantai berkali2, masuk lift keluar lagi sambil goyang-goyang -> yaiyalah org gw kebelet pipis!!) Mau ke IBM pak, magang.
Keamanan : Oh, apprentice ya? Ngumpulnya bukan disini,di lantai 16.
Gw : Oh,gitu ya pak bukan disini? (pantes sepi kaya kuburan!!)
Keamanan : iya bukan, semua kegiatan nerima tamu di lantai 16,ayo ikut saya.

Naik dan ternyata udah rame. Hal pertama yg saya perrhatiin semua anak lain pake kemeja lengen panjang (damn,gw saltum!! Summary : kepagian, ngga bisa buka WC, salah lantai, salah kostum), dan hal itu juga disebutkan pas awal mulai "kita di I*M sih biasanya lebih prefer lengen panjang (iya pak saya saltum,ampun pak ampun).

ThinkPad
IBM ThinkPad

Setelah penjelasan dan beberapa kali foto-foto akhirnya ada peminjaman ThinkPad!! FYI,ThinkPad itu bukan semacem buku catetan atau notes gitu meskipun namanya mirip notepad, itu laptop yang pernah dibikin IBM dan sekarang yang produksi Lenovo and the most important things is IT IS MILITARY APPROVED!! Damn, saya pernah baca di kaskus (http://www.kaskus.us/showthread.php?t=3258625) agak lebay sih, tapi begitu liat orang2 pada ngangkat itu notebook dengan megang layarnya saya langsung mangap lah. Secara layar laptop saya ngga ngga diapa-apain bisa rusak (parah lah VAIO mahal cuma jual merek,kualitas sampah). Akhirnya sekarang pun saya ikut-ikutan bawa ini laptop seenak jidat.


Jatiluhur!!!

Hari kedua diisi dengan outbond dan ternyata ke waduk jatiluhur!! Setelah susah payah bangun dan keluar rumah dari jam setengah 5 akhirnya tau kita mau dibawa kemana. Ternyata sesi 1 kita cuma dimodalin  map, kompas dan instruksi kita harus kemana. Setelah dibagi 2 tim dan masing-masing tim terdiri dari 9 orang kita mulai menuju koordinat masing-masing. Ternyata oh ternyata kita harus ngedayung perahu nyebrang danau!! Pernah ngerasain nyebrang pake perahu yang pake motor dan cuma 5 menit nyebrang? Kalo ngedayung itu SEJAM!! Saat ngedayung gw baru ngeh kenapa orang dulu seneng banget pas pertama ditemuinnya mesin uap dan dipasang di kapal sampai sekarang jadi motor, sumpah, ngedayung itu cape BANGET. Selese ngedayung kita masih harus nyasar di tengah hutan, sekarang saya bener-bener tahu definisi anak hilang, lebih parahnya bukan hilang di kota, di HUTAN di pulau di tengah WADUK!! (WHAT THE WHAT!!). Setelah menembus hutan, kepleset disawah dan naik-naik batu besar akhirnya kami nemu checkpoint yang harus dituju. Alhamdulillah ketemu, kami udah sempet panik dan tereak-tereak ditengah hutan kaya monyet manggil kawanannya.
Setelah itu dilanjutin acara-acara games gitu yang kocak dan menantang. (kalimat klise akibat males nulis)

Empati, first thing first

Salah satu yang ditekankan pada salah satu materi adalah empati. Apapun yang mau dikatakan,apapun yang mau dilakukan, pertama selalu empati terhadap apa yang dikatakan oleh rekan bicara. Terkesan simpel? Well,tapi ternyata itu mampengaruhi saya dan merubah kebiasaan saya ketika berbicara sampai saat ini dan (semoga) di masa

mendatang. Selain itu adalah terima kasih karena setiap hal perlu usaha dan setiap usaha perlu kita hargai, sehingga kita harus selalu menghargai setiap orang dengan mengucapkan terima kasih seolah "Apapun perkataannya, akhirnya Terima kasih" (<- mau ngikutin iklan Teh B*t*l tapi kyanya maksa).

Selain hal-hal basic yang mungkin suka dilupakan seperti itu diajarkan juga tentang konsep smarter planet. Konsep yang dibawa sejak 2008 yang intinya menjadi segala hal dengan lebih "pintar" dengan menambahkan instrumen-instrumen yang tepat dan saling menghunbungkannya sehingga didapatkan sistem yang lebih "pintar" dalam mendukung setiap pengambilan keputusan yang akan kita lakukan.

Presentasi

Jadi  jadwal tiap hari jumat adalah presentasi. Presentasi apapun yang topiknya sudah ditetapkan, setim bisa 3 atau 4 orang. Saya merasa cukup beruntung dapet topik Natural Resources (Oil, Gas and Petrochemical) secara banyak dari jurusan saya yang memang mengincar kesitu dan saya pun sempat mengikuti beberapa kali seleksi dari beberapa perusahaan jenis itu. Cukup menantang sih, apalagi timnya terdiri dari orang dengan background yang beda-beda (matematik, teknik industri, elektro dan saya sendiri teknik fisika). Yang jelas saya mendapat banyak sekali pelajaran dari presentasi ini dan memang hobi saya presentasi.

Every single one of you is so damn good. Believe in yourself and you will amazed!! (Ivandeva)

Well, It was nice first week. Lets hope for the next week.