Sabtu, 15 Juni 2013

Belajar Menjadi Programmer 2013

Saya sedikit prihatin membaca thread di beberapa forum programmer lokal. 

Seringkali saya menemukan thread yang ditulis oleh programer pemula atau mungkin mahasiswa/pelajar bidang IT yang intinya tidak lebih dari sekedar minta contekan tanpa menunjukkan sedikitpun usaha yang sudah mereka lakukan.

Beberapa contoh:


  • saya mau bikin quiz pake drag n drop, maunya kalau semua jawaban di drop ke target ada tombol yang keluar dan tulisan “anda benar” atau kalau di drop bisa pindah ke frame selanjutnya buat nerusin quiznya, mohon bantuan bikin scriptnya dong?
  • satu lagi…yang pakai game tembak, jadi kalau objek yang benar kena tembak bisa ke frame selanjutnya juga, jadi bisa nerusin quiz..



  • Contohnya gw bikin text di notepad dan didalamnya itu sudah ada data” nya trus gimana yah caranya biar bisa load data dari text tersebut, cara mengedit data tersebut, dan save data tersebut ?Please bantuannya dong



  • ada yang tau cara membuat bejeweled games?. ada yang share tapi di AS3, karena masih kurang di AS3, jadi nyari tutor yang di AS2. tapi sayangnya ga ada



  • mohon bantuaanya kepada suhu2 yang ada di sini, saya lagi kebingungan untuk membuat chart/grafik dengan perpaduan flash, php dan mysql. Ada yang tau atau pernah membuat, mohon sharenya ya…



  • mohon bantuannya, wahai master2 flash.. saya memerlukan petunjuk untuk membuat peta suatu kabupaten dari flash. warna masing2 kecamatan harus berubah sesuai dengan data dari database. terima kasih



  • gmn sich buat database xml?? n gmn sich buat koneksinya??


Memang benar, “malu bertanya sesat di jalan”. Tapi “bertanya” bukan berarti minta orang lain ngerjain pe-er atau minta contekan. Kalo itu sih malas belajar, mau serba instan.

Dalam artikel ini saya berikan beberapa tips utk Anda yang benar-benar ingin jadi programer:


Jangan remehkan etika di forum

Kalo Anda ingin dihargai orang, hargai dulu orang lain. Baca & patuhi etika di internet (netiquette).
Berikut ini hal-hal yang harus Anda hindari:


  • Menggunakan tanda tanya berlebihan ( ??, ???, ???? ). Orang yang membaca thread Anda tidak rabun.
  • Menggunakan bahasa Alay. Ini hal paling konyol yang pernah saya lihat
  • Pertanyaan yang terlalu singkat & tidak spesifik permasalahannya.
  • Minta bantuan tanpa menunjukkan bahwa Anda sudah berusaha.
  • Membuat thread di forum yang tidak tepat ( salah kamar ).
  • Membajak thread orang lain.
  • Meminta jawaban/bantuan dikirim ke email Anda. Kalo Anda saja malas buka forum, gimana mungkin Anda mengharap orang lain meluangkan waktu utk mengirim jawaban?
  • Mengabaikan orang yang sudah memberi jawaban/berusaha membantu Anda. Setidaknya, Anda bisa bilang “Terimakasih”.

Kualitas bantuan/jawaban yang Anda terima, tergantung kualitas pertanyaan Anda

Kalo Anda mengharap bantuan dari programer yang sudah berpengalaman, buat pertanyaan atas permasalahan yang spesifik. Programer profesional yang kebetulan ada di forum kemungkinan besar sibuk dengan pekerjaannya dan tidak ada waktu untuk merenungkan pertanyaan Anda.

Belajarlah untuk memecah satu masalah besar menjadi beberapa masalah yang lebih kecil sehingga Anda bisa mengajukan pertanyaan yang spesifik. Kalo Anda merasa ga bisa memperkecil scope permasalahan, mungkin lebih baik Anda lupakan cita-cita menjadi programmer. Kenapa? Karena para programer adalah problem solver, orang-orang yang kerjanya membuat solusi atas sebuah permasalahan. Tahap pertama penyelesaian masalah yang kompleks adalah dengan membaginya menjadi beberapa masalah yang tidak terlalu kompleks. Kalau Anda ga punya kemampuan ini, dunia pemrograman bukan untuk Anda.

Keterampilan untuk menyelesaikan masalah bisa dipelajari dan dilatih. Anda bisa melakukannya dengan membaca source code yang ditulis orang lain. Membaca ( benar-benar membaca, bukan cuma sekedar melihat ) buku pemrograman dan bagaimana penulis memecahkan permasalahan.

Pertanyaan yang jelek
saya lagi kebingungan untuk membuat chart/grafik dengan perpaduan flash, php dan mysql. Ada yang tau atau pernah membuat, mohon sharenya ya…
Pertanyaan di atas justru menimbulkan pertanyaan lain. Bingungnya di bagian mana? Panggil skrip di server? Kirim data ke server? Memproses data dari server? Menampilkan grafik?

Permasalahan di atas bisa dipecah menjadi permasalahan yang lebih sederhana. Misalnya:

Bagaimana flash mengakses skrip php.
Bagaimana flash mengirim data ke skrip php.
Bagaimana menggunakan skrip php untuk mengirim data dari server ke flash.
Bagaimana flash memproses data dari server
Bagaimana membuat grafik dari sebuah data
Pembagian masalah besar menjadi beberapa masalah kecil memudahkan Anda menulis pertanyaan yang spesifik. Hasilnya, Anda akan cepat menerima bantuan atau minimal petunjuk dari orang yang lebih berpengalaman.

Belajar dari awal. Jangan harap bisa instan.

Ini penyakit kronis di komunitas programmer. Sebagian programmer pemula atau orang-orang yang ingin menjadi programmer, ga mau susah payah belajar dari dasar. Belum apa-apa sudah ingin membuat game farmville lalu buka thread “Gimana membuat game seperti farm ville?”. Ingat, sebelum kita bisa berlari, kita dulu belajar merangkak.

Penguasaan dasar-dasar pemrograman dan bahasa yang Anda pilih memiliki peranan penting dalam analisa masalah. Kalo Anda ga punya dasar yang kuat, ga mungkin Anda bisa menganalisa sebuah masalah dan memikirkan solusinya. Ini seperti orang menyelam tanpa belajar berenang.

Beberapa tahun yang lalu di sebuah milis flash, ada orang bertanya tentang masalah yang dia alami dengan framework PureMVC. Ternyata kemudian ketahuan bahwa dia ga begitu paham ActionScript 3.0. Akhirnya, thread berkembang menjadi diskusi yang ngelantur dan ga jelas arahnya. Saya dan beberapa programer lain yang ikut menanggapi jadi bingung sendiri, ini orang dijelasin B, ternyata ga ngerti A. Dijelasin tentang D, ternyata belum ngerti C. Akhirnya ga ada yang menanggapi lagi karena buang-buang waktu. Kesimpulannya, tadinya dia punya satu masalah besar ( proyeknya ). Setelah dia pakai PureMVC, dia punya dua masalah besar. Konyol kan?

Sabar. Belajar itu butuh waktu.

“Mahir pemrograman … dalam 24 jam” sepertinya adalah judul buku yang menarik pembeli. Realitanya, itu sekedar taktik marketing. Saya belum pernah bertemu orang yang menjadi mahir pemrograman dalam 24 jam. Sebagai ilustrasi, Andrew Koenig, seorang ahli pemrograman bahasa C++ menulis buku berjudul “Accelerated C++”. Buku ini cukup tipis utk bahasa pemrograman, kurang dari 200 halaman. Tahukah Anda berapa lama waktu yang dibutuhkan untuk belajar C++ di Harvard University dengan menggunakan buku ini? Satu semester. Dan selama satu semester, yang diajarkan adalah dasar-dasar bahasa C++. Jadi bisa dipastikan mereka yang selesai mengikuti kuliah ini belum menjadi programmer.

Ada twit menarik dari KH Mustofa Bisri (Gus Mus). Beliau ditanya,”Bagaimana supaya cepat menguasai ilmu?”. Jawaban beliau,”Habiskan waktu sebanyak-banyaknya untuk belajar”.
Pelajari Bahasa Inggris

Dari sekian banyak bahasa pemrograman populer, berapa yang dibuat oleh orang Indonesia dan sintaksnya menggunakan bahasa Indonesia? Tidak ada. Semuanya dibuat orang luar dan sintaksnya menggunakan bahasa Inggris. Dokumentasinya juga sebagian besar menggunakan bahasa Inggris. Anda butuh bahasa Inggris untuk memahami dokumentasi, contoh-contoh kode, lisensi, dan lain-lain.

Bahasa Inggris jauh lebih mudah daripada bahasa pemrograman. Jadi secara logika, kalo Anda ga mau belajar bahasa Inggris, lupakan cita-cita menjadi programer.

Sekian. 
Mudah-mudahan tulisan ini bisa membantu Anda kembali ke jalan yang benar ...












Tidak ada komentar:

Posting Komentar