Label

Selasa, 11 Juni 2013

Latihan Dasar Sebelum Menjadi Programmer

Percaya atau tidak, isi kepala seorang programmer hanya sebongkah otak, sama seperti manusia pada umumnya. Dibagi atas Cerebrum, Cerebellum, Brainstem, dan Limbic System. Bagian-bagian otak ini sudah diakui secara internasional (Baca: di googling).

Ada yang memang memiliki bakat sejak lahir. Lihatlah gambar berikut:

Ha.. Ha... Ha... Lucu ya? Liat tuh jidat nya lebar uda kayak lapangan bola (Just a joke). Gambar bayi di atas hanya selingan saja.

Baiklah, Latihan dasar Sebelum menjadi seorang programmer adalah
mulai berpikir bahwa dalam mengerjakan sesuatu harus memiliki detail yang terperinci mulai dari awal mengerjakan nya, pada setiap proses-proses nya hingga sesuatu itu selesai dikerjakan (!@###$%^&&&???)

Pertanyaan-pertanyaan sederhana yang pernah saya tanyakan dulu pada beberapa murid bahkan di jawab dengan santai dan sangat yakin bahwa jawaban mereka itu benar. Saya tidak menyalahkan jawaban nya, hanya saja perlu di koreksi.

Contoh pertanyaan sederhananya:
"Bagaimana cara anda pergi ke dapur untuk mengambil segelas air minum untuk saya?"

Murid yang sedang duduk di lantai dan menyandarkan tangan nya pada meja berkata:
"Berdiri lalu ke dapur ngambil air minum dan kembali lagi ke sini".

Hmm... Benarkah jawabannya? Di kehidupan sehari-hari ini benar, tetapi jika ini sebuah aplikasi yang hendak anda bangun, maka aplikasi ini sangat-sangat tidak berhasil alias gatot alias gagal total. Why???


Dalam sebuah forum diskusi yang saya ikuti disebuah situs jejaring sosial, banyak pertanyaan yang langsung mengacu pada "bagaimana membuatnya" dari pada "bagaimana algoritmanya". Padahal, apabila kita memahami algoritma dari sebuah aplikasi yang ingin kita kembangkan, kita tinggal googling aja API docs bahasa pemorgramannya dan belajar bagaimana menerapkan nya dalam bentuk codes (kode-kode) program. Pertanyaan "bagaimana membuatnya" sering menjadikan seseorang ingin belajar express untuk membuat aplikasi tanpa mau memahami dulu bagaimana semestinya aplikasi itu bekerja.

Kembali ke Bagaimana cara anda pergi ke dapur untuk mengambil segelas air minum?
Inilah algoritma yang saya jelaskan kepada mereka (Karena ini adalah sebuah algoritma, mudah-mudahan ada yang berkenan melengkapinya apabila ada yang terlewatkan):
1. Anda Mulai dengan duduk tegak
2. Posisikan kedua tangan terlebih dahulu disamping bahu dengan melepaskan tangan dari meja (Lebih detail lebih bagus)
3.Ambil posisi persiapan untuk berdiri dengan menggerakkan lutut sebelah kiri ke arah atas dan telapak kaki kiri menginjak lantai
4. Lalu dengan bantuan kedua tangan mulailah mengangkat tubuh mulai dari membungkuk secara perlahan ke arah atas hingga posisi badan tegak.
5. Apabila dapur ada di depan anda, mulailah melangkah dengan kaki kiri atau kaki kanan. Jika Dapur ada di belakang anda, ayunkan putar kaki kiri anda dengan sudut 90 derajat lalu di ikuti kaki kanan anda dengan melangkah mendampingi kaki kiri anda. (Jelaskan step demi step tiap ayunan langkah kaki)
6. Apabila sudah berada di depan rak piring, ayunkan tangan kanan anda kedepan (perhatikan tangan yang hendak mengambil), dsb.. dsb...
7. (Silahkan anda teruskan...)

Yah, inilah latihan dasar yang pernah saya ajarkan pada murid-murid saya dulu. Dan ini tidak mudah. Bahkan saya sendiri sudah dipastikan tidak lulus apabila ada tes seperti ini. Itu karena membosankan mengerjakannya. (hahahaha.....) Setiap detail yang kita gambarkan menunjukkan bahwa ternyata aplikasi itu awalnya sebuah benda mati yang harus diajarkan dan diberitahukan kegiatan apa selanjutnya yang harus dilakukan atau bahkan pekerjaan-pekerjaan apa saja yang ingin dilakukan secara bersama-sama dalam waktu bersamaan (Multi-Tasking dan/atau Multi-Threading). 

Gampang bukan?? Yah, inilah programming... Ingatlah, dalam programming, The 1st one yang harus dilakukan adalah memahami dan mengerti algoritma yang hendak dibuat pada sebuah aplikasi. Jika tidak, it's a non sense menyelesaikan aplikasi dan tentu saja pertanyaan akan menjadi "Bagaimana membuatnya".

"Ini adalah mantra saya : fokus dan kesederhanaan. Kamu harus bekerja lebih keras untuk menjernihkan pikiran dan menghasilkan kesederhanaan......" ~Steve Jobs ~

3 komentar:

  1. percaya atw tidak.pas w bca pertanyaan awal.w dh paham maksud tujuan pertanyaany kemana..yaitu langkah awal menjadi programer yaitu memiliki pemikiran yang detail,rinci,jelas..Dan bla bla bla...panjang kalo dijabarin.hehe

    BalasHapus

Silahkan Isi Komentar Anda