Belajar Menjadi Programmer

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:

  1. Menggunakan tanda tanya berlebihan ( ??, ???, ???? ). Orang yang membaca thread Anda tidak rabun.
  2. Menggunakan bahasa Alay. Ini hal paling konyol yang pernah saya lihat
  3. Pertanyaan yang terlalu singkat & tidak spesifik permasalahannya.
  4. Minta bantuan tanpa menunjukkan bahwa Anda sudah berusaha.
  5. Membuat thread di forum yang tidak tepat ( salah kamar ).
  6. Membajak thread orang lain.
  7. Meminta jawaban/bantuan dikirim ke email Anda. Kalo Anda saja malas buka forum, gimana mungkin Anda mengharap orang lain meluangkan waktu utk mengirim jawaban?
  8. 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.

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:

  1. Bagaimana flash mengakses skrip php.
  2. Bagaimana flash mengirim data ke skrip php.
  3. Bagaimana menggunakan skrip php untuk mengirim data dari server ke flash.
  4. Bagaimana flash memproses data dari server
  5. 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 ;-)

Also in this category ...


  1. betul bro… saya sependapat dengan ente, diforum babaflash kebanyakan begitu, tanpa mau berusaha semaksimal mungkin, padahal di search engine kan banyak tutorial buat pemula sampe mahir, gw udah saranin begitu, intinya kalau mau belajar, pahami dulu dasar-dasarnya, kemudian dipraktekin pelan-pelan, eh… kebanyakan malah maunya loncat ke yang lebih tinggi, jadi begitulah klo yang gak mau pusing dengan kerjaanlah, atau tugaslah, atau apalah, maunya “share donk”, “minta bantuan donk kk”, “apa aja databasenya kk”, dll.

    salah kenal bro

  2. setuju mas, apapun itu yang penting basic dan pemahaman logikanya, tidak ada yang instan. Adapun kalo bisa mengerti dasar tentang framework, bukan asal pake framework tapi tidak paham kenapa framework itu diciptakan jg. Intinya back to basic. no pain no gain.

  3. posting yang sangat bermanfaat, tepat disaat ingin terjun kedunia pemrograman, dapet dasar kayak gini,. mantap bgt dach… bukan alay atau lebay, tapi fakta yang membuktikan kalau posting ini sungguh bermanfaat. bagi pemula seperti saya…

  4. haha, jadi malu sendiri.. memang, sebelum belajar berlari musti belajar merangkak, permasalahannya budaya instan udah mengakar kuat di masyarakat kita, yahh semoga saja mereka-mereka yang terjebak dalam budaya instant itu membaca postingan ini dan tersadar hatinya.. :)

  5. per­masalahan­nya budaya instan udah meng­akar kuat di masyarakat kita

    Betul, plus dosen/guru mata kuliah pemrograman masih banyak yang ga benar2 menguasai bahasa yg mereka ajarkan. Ngertinya Java, ngajar C. Ngertinya Pascal, ngajar Java. Kalo dosennya aja ga jago, gimana mahasiswanya. Tau2 disuruh bikin tugas akhir — ya mau ga mau mereka cari jalan pintas.