Bagaimana menjadikan kita tertarik dan mencintai pemrograman dan dunia komputer
Bertermu lagi dengan chalax si programmer goBlog.
Kali ini kita akan membahas sedikit topik diluar pemrograman bahkan diluar dari komputer, tetapi masih terkait erat dengan kehidupan kita di dunia komputer.
Tulisan ini belatar belakang dari pertanyaan salah seorang mahasiswa komputer yang juga merupakan pembaca tulisan-tulisan programmer goBlog.
Dia bertanya tentang bagaimana untuk menjaga semangat kita dalam belajar dan menapaki dunia pemrograman.
Tulisan ini dimaksudkan sebagai saran dan terbatas hanya sebagai saran, syukur kalau diaplikasikan dan ternyata dapat memecahkan permasalahan.
Dalam memulai perjalanan kita menapaki dunia komputer seringkali diantara kita mengalami permasalah seperti yang dialami salah satu pembaca kita diatas, entah dengan alasan memang tidak punya minat di bidang komputer tetapi kecemplung atau salah jurusan sehingga berakhir menjadi mahasiswa komputer, ataupun alasan lain misalkan karena kita sulit untuk mempelajari hal-hal tentang komputer ini.
Apapun pekerjaan atau bidang yang kita geluti, kita tentu pernah mengalami masa-masa dimana kita putus asa dan hampir menyerah. Orang bijak mengatakan cintailah pekerjaanmu. Well, saya setuju. Untuk dapat menikmati setiap permasalahan yang timbul pada saat kita menekuni suatu bidang ilmu, kita harus membuat diri kita tertarik untuk memuaskan rasa penasaran kita terhadap bidang ilmu tersebut. Terkait dengan dunia komputer, kita harus bisa menemukan sesuatu yang bisa membuat kita penasaran dan menumbuhkan rasa ingin tahu.
Misalkan kita tertarik dengan bidang robotik, ini bisa menjadi pemacu semangat kita untuk belajar pemrograman. Mengapa saya katakan demikian karena untuk membuat robot, kita juga harus mampu menguasai bahas pemrograman untuk mengotrol robot tersebut. Saya berikan sebuah gambaran.
Misal kita ingin membuat sebuah robot yang dapat berjalan di dalam rumah tanpa menabrak tembok dan menemukan lilin yang menyala untuk kemudian dimatikan.
Untuk mencapai tujuan tersebut hingga akhirnya kita bisa membuat robot seperti itu, yang kita butuhkan adalah mencari tahu tentang komponen apa saja yang dibutuhkan. Dari sini kita akan mengasah skill analisa kita. Bagi permasalahan tersebut kedalam beberapa bagian kecil.
Misal:
1. Bagaimana robot tersebut bisa berjalan
2. Bagaimana agar robot tersebut tidak menabrak tembok
3. Bagaimana agar robot tersebut bisa menemukan lokasi lilin
4. Bagaimana robot tersebut bisa mematikan lilinnya
Dengan cara pemalas mungkin kita akan mencari di google atau internet tentang robot dengan kemampuan seperti itu, namun jika tujuan kita adalah untuk belajar maka keempat langkah diatas yang harus kita perhatikan.
Jika kita sudah membagi permasalahan ini menjadi beberapa permasalahan kecil, selanjutnya kita pecahkan permasalahan ini satu persatu.
1. Bagaimana robot tersebut bisa berjalan? gampang pasang dinamo dan roda.
2. Bagaimanan agar robot tersebut tidak menabrak tembok? pasang sensor jarak.
3. Bagaimana agar robot tersebut bisa menemukan lilin? pasang sensor panas.
4. Bagaimana agar robot tersebut bisa memadamkan lilin? pasang kipas untuk meniup.
Oke, saya sudah mengumpulkan alat-alat tersebut dari toko elektronika. Lalu bagaimana supaya saya bisa mengndalikan sensor-sensor dan dinamo tersebut sehingga robor bisa berfungsi.
Kita memerlukan otak untuk si robot ini, apa otaknya? kita bisa memasang micro-controller katakanlah atmega dari atmel.
Nah untuk mengisi otak si robot ini agar bisa berfikir bagaimana mengolah sensor dan menjalankan dinamo serta kipas, kita harus memasuki dunia pemrograman untuk hal ini --memprogram cip micro controller.
Kasus diatas hanya sebagai ilustrasi bagaimana menemukan kesenangan dan memecahkan permasalahan sehingga tidak terlalu besar, ingat satu buah lidi lebih mudah dipatahkan daripada mematahkan sekumpulan lidi yang berbentuk sapu.
Memecahkan permasalahan dengan membagi permasalahan menjadi bagian-bagian kecil akan jauh lebih mudah daripada mencoba memecahkan permasalahan itu secara keseluruhan darlam satu waktu.
Hal inilah yang kadang membuat kita frustasi dalam belajar, karena ketika kita mencoba mencari pemecahan sebuah masalah di internet atau dibuku, kita terkadang mencari dengan cara malas. Seperti googling permasalahan diatas dengan "cara membuat robot pemadam lilin". Hal ini kadang berhasil, apabila cara berfikir kita sama dengan cara berfikir si pembuat artikel yang kita temukan di internet. Tetapi kalau kita tidak sepemikiran, maka cara pemecahan masalah tentu berbeda dan kadang kita tidak bisa mengikuti tutorial dalam artikel yang kita temukan sehigga kita berakhir dengan putus asa dan frustasi.
Akan berbeda hasilnya jika kita berfikir dengan cara kita sendiri, lalu mencari satu-persatu tutorial sesuai dengan langkah-langkah yang kita inginkan.
Tentu tidak semua kasus dapat kita pecahkan, inilah yang namanya proses belajar.
Dari seratus permasalahan yang saya temukan mungkin hanya satu atau dua yang berhasil hingga akhir.
Tetapi apakah lantas sembilan puluh delapan permasalahan(proyek) lainya tidak memberikan sumbangsi terhadap ilmu yang saya dapat? tentu setiap proses pasti menemui kegagalan, tetapi dari kegagalan-kegagalan tersebut kita bisa belajar.
----------------- ah penjelasanya rumit, saya malah tambah pening.
well, mungkin robotik tidak membuat anda berminat. Kita coba yang lain.
Saya berusaja menonton film iron-man. Wah keren si tony stark punya komputer yang bisa ngomong dan disuruh-suruh. komputer saya bisa dibuat begitu gak ya?
Menarik..
Sekali lagi kita bagai permasalahan ini kedalam beberapa permasalah kecil yang bisa kita selesaikan satu persatu.
1. Bagaimana komputer bisa berbicara ? Pasang speaker.
2. Bagaimana komputer bisa mendengar kita? Pasang microphone.
3. Bagaimana Komputer bisa mengerti apa yang kita katakan? Belajar tentang voice recognition-- teknologi mengubah suara menjadi bahasa yang dapat dimengerti komputer.
Mengacuhkan kenyataan bahwa voice recognition dan Ai atau Artificial Intelligent(kecerdasan buatan) merupakan bidang keahlian khusus, namun kita bisa memanfaatkan teknologi yang sudah ada untuk mencapai ini. Misal google voice command, google voice recognition, google text-to-speech (tts) yang saat ini sudah sangat memungkinkan untuk diaplikasikan.
Saya tidak sedang mengajarkan tentang bagaimana kita membuat program untuk voice command atau voice recognition, tetapi ini bisa menjadi gerbang untuk memulai darimana kita harus belajar.
Lebih dari itu, tulisan ini memang dimaksudkan dan menekankan tentang bagaimana kita menyelesaikan permasalahan secara lebih sederhana agar kita tidak pusing bahkan sebelum memulai untuk belajar. Memberikan gambaran bagaimana untuk membuat kita penasaran dan merasa bersemangat untuk mempelajari hal-hal baru, hal-hal didunia komputer. Tentu ini merupakan penggambaran dari bagaimana penerapan komputer didunia nyata. Bagaimana merubah sudutpandang kita, dan bagaimana memandang solusi pemecahan masalah dari segi teknologi dan mengguankan teknologi sebagai pemecahan masalah.
Lebih dari itu, jangan pernah takut untuk belajar, dan jangan pernah menutup diri dari komunitas. Cari komunitas yang bisa menjadi tempat kita untuk berbagi, tempat kita bertanya apabila kita menemui kesulitan. Kita bisa mencoba kaskus, xda developer, stackoverflow dan ribuan komunitas lain di internet yang bisa menjadi sandaran dan tempat kita mencari pencerahan dari permasalahan yang kita temui. Tetapi tentu, kita juga harus memiliki bekal sebelum kita bertanya. Coba cari tahu dulu di internet, google misalkan tentang solusi atau tentang bagaimana kita bisa memulai menyelesaikan permasalahan tersebut.
Akhir kata, temukan permasalahan dan coba pecahkan. Seribu kali gagal akan lebih berarti ketimbang satu kali kesuksesan. Belajar merupakan proses, jadi prioritaskan proses diatas hasil. Selamat berpusing ria..
0 komentar:
Posting Komentar