Belajar Programming Sendiri Dalam Sepuluh Tahun

Bookshelf at NEU CCIS Lab

Bookshelf at NEU CCIS Lab by djitz!

oleh: Peter Norvig

(disadur dari Teach Yourself Programming in Ten Years)

Mengapa semua orang terburu-buru?

Masuklah ke sebuah toko buku dan anda akan melihat buku mengenai bagaimana “Belajar Java dalam 7 Hari” dan banyak variasi lainnya yang menawarkan untuk mengajarkan Visual Basic, Windows, Internet, dan sebagainya dalam beberapa hari atau jam. Saya melakukan power search di Amazon.com:

pubdate: after 1992 and title: days and (title: learn or title: teach yourself)

dan mendapatkan 248 hasil. 78 hasil pertama adalah buku komputer (no. 79 adalah “Belajar Bahasa Bengali dalam 30 hari“). Lalu saya mengganti “hari” dengan “jam” dan mendapatkan hasil yg luar biasa mirip: 253 buku, dengan 77 buku komputer dan diikuti dengan “Belajar Grammar dan Tata Bahasa dalam 24 jam” di nomor 78. Dari 200 hasil pertama, 96% adalah buku-buku komputer.

Kesimpulannya adalah entah orang-orang sekarang ini terburu-buru untuk belajar tentang komputer, atau komputer adalah hal yang sangat mudah dipelajari dari hal-hal lainnya. Tidak ada buku untuk belajar Beethoven, atau Fisika Kuantum, atau bahkan Melatih Anjing dalam beberapa hari. Dr. Felliesen et al. mengakui tren ini dalam buku mereka “Bagaimana Mendesign Program“, dimana mereka mengatakan “Memprogram dengan jelek sangat mudah. Orang-orang Idiot bisa mempelajarinya dalam 21 hari, bahkan walaupun mereka betul-betul bodoh.”

Mari menganalisa bagaimana judul seperti “Belajar C++ dalam 3 Hari” bisa memiliki arti sebagai berikut:

  • Belajar: Dalam 3 hari anda tidak akan punya cukup waktu untuk menulis beberapa program yang berguna, dan belajar dari keberhasilan dan kesuksesan program-program ini. Anda tidak akan punya cukup waktu untuk bekerja dengan seorang programmer berpengalaman dan mengerti seperti apa hidup dalam lingkungan C++. Singkatnya, anda tidak akan punya cukup waktu untuk belajar banyak. Jadi buku tersebut hanya bisa berbicara tentang hal-hal yg superfisial, dan tidak pengertian yg mendalam. Seperti Alexander Pope pernah berkata, mengerti sesuatu hal dengan sedikit adalah hal yang berbahaya.
  • C++: Dalam 3 hari anda akan bisa belajar sedikit sintaks C++ (bila anda telah mengetahui bahasa pemrograman yg lain), tapi anda tidak bisa belajar banyak bagaimana cara menggunakan bahasa tersebut. Singkatnya, bila anda seorang programmer Basic, anda bisa belajar menulis program dalam gaya Basic menggunakan sintaks C++, tapi anda tidak bisa memahami keunggulan (dan kekurangan) dari C++. Jadi apa gunanya? Alan Perlis pernah berkata: “Sebuah bahasa pemrogramman yang tidak mengubah cara berpikir anda tentag programming, tidak berguna untuk dipelajari.” Satu kemungkinan yg terjadi adalah anda perlu belajar sedikit tentang C++ (atau mungkin JavaScript atau Flash Flex) karena anda perlu membuat sebuah interface dari program yang sudah ada untuk melakukan sebuah hal. Tapi kembali lagi anda tidak mempelajari bagaimana untuk memprogram; anda hanya belajar bagaimana melakukan hal tersebut.
  • dalam 3 Hari: Sayangnya, hal ini tidak cukup, seperti yg sudah dijelaskan di atas.
Belajar Programming Sendiri Dalam Sepuluh Tahun
Para periset (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) telah menunjukkan bahwa diperlukan sekitar sepuluh tahun untuk mengembangkan keahlian di berbagai macam bidang, termasuk bermain catur, mengomposisi musik, mengoperasikan telegraf, melukis, bermain piano, berenang, bermain tenis, dan riset dalam bidang neuropsychology dan topology.
Kuncinya adalah latihan dengan penuh perhatian: tidak hanya melakukannya lagi dan lagi, tapi menantang diri anda sendiri dengan suatu hal yang diluar kemampuan anda saat ini, mencobanya, menganalisa performa anda dan setelah itu, membetulkan kesalahan-kesalahan yang ada. Lalu ulangi lagi, dan lagi.
Sepertinya memang tidak ada jalan singkat: Mozart sekalipun, yang sudah memiliki bakat musik luar biasa di umur 4 tahun, membutuhkan 13 tahun lagi sebelum ia mulai membuat musik kelas dunia. Di aliran musik yang berbeda, The Beatles seakan-akan mencuat dengan beberapa hit #1 dan sebuah penampilan dalam acara Ed Sullivan pada tahun 1964. Tapi mereka telah bermain di club-club kecil di Liverpool dan Hamburg sejak 1957, dan walaupun mereka mampu menarik perhatian massa dari awal, kesuksesan terpenting mereka, Sgt. Peppers, dirilis pada tahun 1967.
Malcolm Gladwell membuat laporan dalam sebuah studi murid-murid di Berlin Academy of Music yang membandingkan 1/3 tertinggi, tengah, dan terbawah dari sebuah kelas dan bertanya kepada mereka berapa lama mereka latihan:
Setiap orang, dari ketiga group ini, mulai bermain kira-kira pada umur yang sama, sekitar umur 3 – 5 tahun. Dalam tahun-tahun pertama ini, semua latihan sekitar 2 – 3 jam seminggu. Tetapi sekitar umur 8 tahun, perbedaan yang sesungguhnya mulai muncul. Murid-murid yang akan menjadi terbaik di kelasnya mula berlatih lebih banyak dari yg lainnya: 6 jam seminggu pada umur 9, 8 jam pada umur 12, 16 jam pada umur 14, dan terus bertambah hingga saat mereka berumur 20 tahun mereka berlatih lebih dari 30 jam seminggu.
Saat mereka berumur 20 tahun, orang-orang terbaik ini telah berlatih selama 10,000 jam dalam hidup mereka. Murid-murid yg cukup baik hanya 8,000 jam, dan yang menjadi guru musik di masa depan hanya sedikit lebih dari 4,000 jam.
Jadi mungkin saja 10,000 jam, bukan 10 tahun, adalah angka ajaibya. Samuel Johnson (1709-1784) berpikir bahwa angkanya lebih banyak: “Kesempurnaan di bidang apapun bisa didapatkan hanya dengan usaha seumur hidup; hal tersebut tidak bisa dibeli dengan harga yang kurang dari itu.” Dan Chaucer (1340-1400) mengatakan “hidup ini terlalu pendek, keahlian terlalu banyak untuk dipelajari.” Hippocrates (sekitar 400SM) dikenal untuk potongan berikut “ars longa, vita brevis”, yang adalah bagian dari kata-kata yang lebih panjang “Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile”, yang berarti “Hidup ini pendek, keahlian lama, kesempatan menghilang, eksperimen berbahaya, keputusan sulit.” Walaupun dalam bahasa Latin, ars bisa berarti seni atau keahlian, dalam bahasa Yunani aslinya kata “techne” hanya berarti “keahlian”, bukan “seni.”

Belajar Programming Sendiri Dalam Sepuluh Tahun

Para periset (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) telah menunjukkan bahwa diperlukan sekitar sepuluh tahun untuk mengembangkan keahlian di berbagai macam bidang, termasuk bermain catur, mengomposisi musik, mengoperasikan telegraf, melukis, bermain piano, berenang, bermain tenis, dan riset dalam bidang neuropsychology dan topology.

Kuncinya adalah latihan dengan penuh perhatian: tidak hanya melakukannya lagi dan lagi, tapi menantang diri anda sendiri dengan suatu hal yang diluar kemampuan anda saat ini, mencobanya, menganalisa performa anda dan setelah itu, membetulkan kesalahan-kesalahan yang ada. Lalu ulangi lagi, dan lagi.

Sepertinya memang tidak ada jalan singkat: Mozart sekalipun, yang sudah memiliki bakat musik luar biasa di umur 4 tahun, membutuhkan 13 tahun lagi sebelum ia mulai membuat musik kelas dunia. Di aliran musik yang berbeda, The Beatles seakan-akan mencuat dengan beberapa hit #1 dan sebuah penampilan dalam acara Ed Sullivan pada tahun 1964. Tapi mereka telah bermain di club-club kecil di Liverpool dan Hamburg sejak 1957, dan walaupun mereka mampu menarik perhatian massa dari awal, kesuksesan terpenting mereka, Sgt. Peppers, dirilis pada tahun 1967.

Malcolm Gladwell membuat laporan dalam sebuah studi murid-murid di Berlin Academy of Music yang membandingkan satu per tiga group terbaik, menengah, dan terakhir dari sebuah kelas dan bertanya kepada mereka berapa lama mereka latihan:

Setiap orang, dari ketiga group ini, mulai bermain kira-kira pada umur yang sama, sekitar umur 3 – 5 tahun. Dalam tahun-tahun pertama ini, semua latihan sekitar 2 – 3 jam seminggu. Tetapi sekitar umur 8 tahun, perbedaan yang sesungguhnya mulai muncul. Murid-murid yang akan menjadi terbaik di kelasnya mula berlatih lebih banyak dari yg lainnya: 6 jam seminggu pada umur 9, 8 jam pada umur 12, 16 jam pada umur 14, dan terus bertambah hingga saat mereka berumur 20 tahun mereka berlatih lebih dari 30 jam seminggu.

Saat mereka berumur 20 tahun, orang-orang terbaik ini telah berlatih selama 10,000 jam dalam hidup mereka. Murid-murid yg cukup baik hanya 8,000 jam, dan yang menjadi guru musik di masa depan hanya sedikit lebih dari 4,000 jam.

Jadi mungkin saja 10,000 jam, bukan 10 tahun, adalah angka ajaibya.

Samuel Johnson (1709-1784) berpikir bahwa angkanya lebih banyak: “Kesempurnaan di bidang apapun bisa didapatkan hanya dengan usaha seumur hidup; hal tersebut tidak bisa dibeli dengan harga yang kurang dari itu.”

Dan Chaucer (1340-1400) mengatakan “hidup ini terlalu pendek, keahlian terlalu banyak untuk dipelajari.”

Hippocrates (sekitar 400SM) dikenal untuk potongan berikut “ars longa, vita brevis”, yang adalah bagian dari kata-kata yang lebih panjang “Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile”, yang berarti “Hidup ini pendek, keahlian lama, kesempatan menghilang, eksperimen berbahaya, keputusan sulit.” Walaupun dalam bahasa Latin, ars bisa berarti seni atau keahlian, dalam bahasa Yunani aslinya kata “techne” hanya berarti “keahlian”, bukan “seni.”

Berikut adalah resep yang saya buat untuk sukses dalam programming:

  • Tertarik kepada programming, dan melakukannya karena itu mengasyikan. Pastikan bahwa itu akan tetap mengasyikan sehingga anda akan mau melakukannya untuk 10 tahun.
  • Bicara kepada programmer-programmer lain; baca program-program lain. Hal ini lebih penting daripada sebuah buku atau kursus.
  • Membuat program. Cara terbaik untuk belajar adalah learning by doing. Dalam bahasa teknis, “level kemampuan maksimal untuk individual dalam sebuah bidang tidak didapatkan secara otomatis hasil dari jumlah pengalaman, tapi level kemampuan bisa ditambahkan bahkan oleh individual yang berpengalaman sebagai hasil dari latihan dengan penuh perhatian untuk melakukan lebih.” (p. 366) dan “cara belajar paling efektif membutuhkan sebuah tugas yang telah direncanakan dengan tingkat kesulitan yang tepat untuk individual tertentu, saran yang informative, dan kesempatan untuk melakukan dan membetulkan kesalahan.” (p. 20 – 21) Buku “Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life” adalah sebuah referensi yang menarik untuk pandangan ini.
  • Bila anda mau, gunakan empat tahun di kuliah (atau lebih di S2). Hal ini akan memberi anda akses untuk pekerjaan-pekerjaan yang membutuhkan sebuah gelar, dan hal ini juga akan memberi anda pengertian mendalam tentang bidang ini, tapi bila anda tidak menyukai sekolah, anda bisa (dengan cukup dedikasi) mendapatkan pengalaman yang mirip di pekerjaan. Bagaimanapun, belajar dari buku saja tidak akan cukup. “Pendidikan Computer Science tidak bisa membuat siapapun menjadi programmer lebih dari mempelajari kuas dan pigmen bisa membuat seseorang menjadi pelukis” kata Eric Raymond, penulis “The New Hacker’s Dictionary”. Salah satu programmer terbaik yang pernah saya dapatkan hanya memiliki gelar SMA; dia telah menghasilkan banyak software hebat, memiliki news group, dan mendapatkan cukup uang dari saham untuk membeli sebuah nightclub.
  • Mengerjakan project bersama programmer-programmer lain. Jadilah programmer terbaik di dalam beberapa project; dan jadilah yg terburuk di project lainnya. Saat anda menjadi yang terbaik, anda mempunyai kesempatan mencoba kemampuan anda memimpin sebuah project, dan menginspirasi orang lain dengan visi anda. Saat anda menjadi yang terburuk, anda belajar apa yang dilakukan oleh para ahli, dan anda belajar apa yang mereka tidak suka lakukan (karena mereka membuat anda melakukannya untuk mereka).
  • Mengerjakan project yg telah dikerjakan programmer-programmer lain. Ikutlah terlibat untuk mengerti sebuah program yang ditulis orang orang lain. Coba untuk mengerti dan membetulkannya saat programmer-programmer yg pembuatnya sedang tidak ada. Berpikirlah bagaimana membuat design program-program anda sehingga mudah untuk orang berikutnya yang akan memaintainnya.
  • Pelajari paling sedikit setengah lusin bahasa pemrogramman. Pelajari satu bahasa yang mendukung abstraksi class (seperti Java atau C++), satu yang mendukung abstraksi fungsi (seperti Lisp atau ML), satu yang mendukung abstraksi syntaks (seperti Lisp), satu yang mendukung spesifikasi deklaratif (seperti template Prolog atau C++), satu yang mendukung coroutines (seperti Icon atau Scheme), dan satu yang mendukung parallelisme (seperti Sisal).
  • Ingat bahwa terdapat kata “komputer” dalam “ilmu komputer”. Ketahuilah berapa lama dibutuhkan komputer anda untuk mengeksekusi sebuah instruksi, mengambil sebuah kata dari memori (dengan dan tanpa cache miss), membaca beberapa kata dari disk, dan mencari lokasi baru pada disk. (Jawabannya disini)
  • Terlibatlah dalam usaha standarisasi sebuah bahasa. Boleh jadi dalam komite ANSI C++, atau lainnya. Apapun itu, anda akan belajar apa yang orang lain sukai dalam sebuah bahasa, seberapa dalam perasaan itu, dan mungkin sedikit tentang mengapa mereka memiliki perasaan tersebut.
  • Miliki sebuah perasaan untuk lepas dari usaha standarisasi bahasa secepat mungkin.

Dengan semua hal di atas, sangat dipertanyakan seberapa jauh anda bisa dapatkan hanya dari mempelajari buku. Sebelum anak pertama saya lahir, saya membaca semua buku-buku ‘How To’, dan tetap merasa seperti pemula yg tidak mengerti apa-apa. Tiga puluh bulan kemudian, saat anak kedua saya lahir, apakah saya kembali ke buku untuk mengingat sesuatu? Tidak. Saya lebih mengandalkan pengalaman pribadi saya, yang hasilnya jauh lebih berguna dan lebih pasti bagi saya daripada ribuan halaman-halaman yang ditulis oleh para ahli.

Fred Brooks, dalam essaynya ‘No Silver Bullet‘ mengidentifikasi sebuah rencana yang terbagi dalam tiga bagian untuk mencari seorang designer software hebat:

  1. Secara sistematis identifikasi designer-designer top secepat mungkin.
  2. Tugaskan seorang mentor untuk bertanggung jawab atas perkembangan prospek tersebut dan dengan hati-hati buat sebuah file karir.
  3. Berikan kesempatan-kesempatan untuk designer-designer yang sedang berkembang ini untuk berinteraksi dan menstimulasi satu dengan lain.

Hal ini tentu dengan asumsi bahwa beberapa orang telah memiliki kualitas-kualitas yang dibutuhkan untuk menjadi seorang designer yang hebat; yg perlu dilakukan adalah bagaimana menggabungkan mereka bersama. Alan Perlis mengatakannya dengan lebih tepat: “Semua orang bisa diajarkan bagaimana cara membuat patung: seorang Michaelangelo yg perlu diajari adalah bagaimana untuk tidak melakukannya. Sama halnya dengan programer-programmer hebat”.

Jadi pergi dan belilah buku Java tersebut; anda mungkin akan mendapatkan sesuatu yang berguna dari buku itu. Tapi anda tidak akan mengubah hidup anda, atau keahlian anda sebagai programmer dalam 24 jam, hari, atau bahkan bulan.

Referensi

Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.

Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.

Bryan, W.L. & Harter, N. “Studies on the telegraphic language: The acquisition of a hierarchy of habits. Psychology Review, 1899, 8, 345-375

Hayes, John R., Complete Problem Solver, Lawrence Erlbaum, 1989.

Chase, William G. & Simon, Herbert A. “Perception in Chess” Cognitive Psychology, 1973, 4, 55-81.

Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.

Jawaban

Perkiraan waktu yang dibutuhkan untuk berbagai operasi pada sebuah PC biasa:

mengeksekusi instruksi biasa 1/1,000,000,000 detik = 1 nanodetik
mengambil data dari L1 cache memory 0.5 nanodetik
branch misprediction 5 nanodetik
mengambil data dari L2 cache memory 7 nanodetik
Mutex lock/unlock 25 nanodetik
mengambil data dari memory utama 100 nanodetik
mengirim 2k bytes data melalui jaringan 1Gbps 20,000 nanodetik
membaca 1MB secara sequential dari memori 250,000 nanodetik
mengambil dari lokasi disk baru (mencari) 8,000,000 nanodetik
membaca 1MB secara sequential dari disk 20,000,000 nanodetik
mengirim packet dari Amerika ke Eropa dan kembali 150 millidetik = 150.000.000 nanodetik

Appendix : Pilihan Bahasa Pemrograman

Beberapa orang bertanya mengenai bahasa pemrograman apakah yang mereka harus pelajari pertama. Tidak ada satu jawaban tepat, tapi pertimbangan poin-poin berikut:

  • Manfaatkan teman-teman anda. Saat ditanya “Sistem operasi apa yg harus saya gunakan, Windows, Unix, atau Mac?”, jawaban saya biasanya adalah : “Gunakan apa saja yang teman-teman anda gunakan.” Manfaat yang anda dapatkan dari belajar bersama teman-teman anda akan menutupi segala perbedaan intrinsik antara OS, atau antara bahasa-bahasa pemrograman. Juga pertimbangkan teman-teman anda yg akan datang:  komunitas programmer-programmer yang anda akan menjadi bagian bila anda akan menekuninya. Apakah bahasa pilihan anda memiliki komunitas besar yang bertumbuh atau memiliki komunitas kecil yg sedang sekarat? Apakah ada buku-buku, website-website, dan forum-forum online untuk mendapatkan jawaban-jawaban? Apakah anda menyukai orang-orang di forum-forum tersebut?
  • Keep it simple. Bahasa-bahasa pemrograman seperti C++ dan Java didesign untuk pengembangan aplikasi secara profesional oleh team besar yang terdiri dari programmer-programmer berpengalaman yang memperhatikan tentang efisiensi run-time dari kode mereka. Akibatnya, bahasa-bahasa ini memiliki bagian-bagian yg rumit yang didesign untuk situasi-situasi ini. Anda hanya perlu untuk belajar untuk memprogram. Anda tidak butuh semua kerumitan tersebut. Anda hanya mau sebuah bahasa yang didesign untuk mudah dipelajari dan diingat oleh seorang programmer pemula.
  • Bermain. Cara mana yang anda inginkan bila anda belajar bermain piano: cara normal dan interaktif dimana anda mendengar sebuah nada segera setelah anda menekan tuts piano, atau cara “batch”, dimana anda bisa mendengar seluruh nada-nada setelah anda selesai memainkan sebuah lagu? Tentu saja, cara interaktif membuat belajar lebih mudah untuk piano, dan juga untuk programming. Cari sebuah bahasa yang mempunyai mode interaktif dan gunakanlah.

Dari kriteria-kriteria ini, rekomendasi saya untuk bahasa pemrograman pertama adalah Python atau Scheme. Tapi keadaan anda bisa berbeda, dan ada juga beberapa pilihan bagus lainnya. Bila umur anda satu digit, anda mungkin akan lebih menyukai Alice atau Squeak (orang yg lebih tua juga mungkin menyukainya). Yang terpenting disini adalah anda memilihnya dan memulainya.

Appendix : Buku-buku dan Sumber-sumber Lainnya

Beberapa orang telah bertanya buku-buku dan halaman-halaman web apa saja yang mereka harus pelajari. Saya ulangi bahwa “belajar dari buku saja tidak akan pernah cukup” tapi saya bisa merekomendasikan yang berikut ini:

Catatan

T. Capey menunjukkan bahwa halaman “Complete Problem Solver” di Amazon sekarang memiliki buku-buku “Teach Yourself Bengali in 21 days” dan “Teach Yourself Grammar and Style” pada bagian “Pelanggan yang mencari barang ini juga mencari barang-barang ini”. Saya rasa sebagian besar dari orang-orang yang mencari buku tersebut datang dari halaman ini. Terima kasih kepada Ross Cohen untuk bantuannya dengan Hippocrates.

Peter Norvig (Copyright 2001)

Popularity: 25% [?]

Tags: ,

Related Posts


32 comments ↓

#1 Hurip on 10.04.10 at 7:01 pm

Hehehehe.. setuju djitz.. kalo gue bilang buku2 3 hari itu cuma buat memperkenalkan bahasa ato mungkin teknik aja… kalo programming sendiri lebih ke skill sama daya analisis yang penting… bagaimana menggunakan bahasa tersebut untuk memecahkan suatu masalahdengan seefisien mungkin… ilmu itu yang ga bisa dipelajarin dalam waktu singkat apalagi 3 hari..

sambungannya kayaknya menarik nih…

#2 djitz on 10.04.10 at 8:12 pm

Halo ‘rip!
Masternya PHP angkat suara nih soal programming. :D

Wah, tumben nih mengunjungi blog gw. Baru tahu juga kalo elo suka blogging.. Hehehe!

Iya, itu buku2 kan juga kasih judul begitu supaya laku, kalo judulnya ‘Belajar Programming 1 Tahun’ aja mungkin dah susah lakunya, apalagi 10 tahun. Hahaha!

Iya lah artikelnya bagus, penulisnya Peter Norvig, Research Director di Google.

#3 Hurip on 10.05.10 at 10:44 pm

huehehe.. sebenernya lumayan sering gue visit ke blog loe.. cuma baru skrg ngasih komen… :p

iya nih.. lagi iseng2 aja kok ngeblog lagi.. mumpun lagi banyak ide di kepala… blog yang lama udah mati sama konsep soalnya..

sering-sering mampir yak…

#4 Marmudin on 11.23.10 at 12:20 am

Asli Bagus banget ..gue baru kali ini bilang bagus..biasa nya gue bilang..wkwkwk… yang bodoh lho gituh…

#5 magnan on 04.10.11 at 11:46 pm

bagus, saya newbi dlm programing,
kebetulan saya sekarang lagi bingung mau belajar bahasa pemrograman yg mana, maunya sih tau semua,
dulu saya pikir ngerti dikit tata bahasanya saja sudah cukup, yah minimal bisa ngerti “program ini mau kemana”,
ternyata belajar itu nggak cukup “dikit”,
apalagi kalu kita mau jadi pro…^_^
terimakasih… sekalian kapan2 mau aku tulis di blog…

#6 djitz on 04.11.11 at 7:24 pm

Thanks magnan,

Gak perlu tahu semua bahasa pemrograman kok, paling tidak menguasai satu saja sudah sangat bagus. Bila ingin menambah wawasan, silahkan belajar bahasa lain tapi lebih baik yg memiliki paradigma yang berbeda agar kita bisa melihat cara2 yg tidak ada di bahasa pemrograman yang pertama. :D

#7 fundament0zz on 04.23.11 at 6:21 pm

Kalau semisal buku “Professional Codeigniter” itu termasuk buku 2-3 hari apa Layak DIBACA????

Gimana menurut Anda Djitz?

#8 djitz on 04.25.11 at 7:36 pm

Hi fundament0zz,

Sepertinya buku itu bukan buku 2-3 hari, dan pada dasarnya tidak salah juga membaca buku yg menyebutkan belajar bahasa pemgrograman ‘x’ dalam 2-3 hari. :D

Yang agak salah kaprah adalah kalau menganggap bahwa 2-3 hari sudah cukup untuk mengerti sebuah bahasa pemrogramman.

#9 oliv on 08.08.11 at 11:53 pm

terimakasih ya atas infonya,
it sangat membantu.

#10 sinta on 10.04.11 at 2:59 am

bagus… ini artikel wajib dibaca para mahasiswa informatika, saya jg dulu belajar segala bahasa pemrograman malah jd ga fokus, mending ahli dlm 1 atau 2 bidang bahasa aja,

#11 andiech on 10.08.11 at 11:45 pm

saya adalah pemula,,saya inginnnnnn sekali bisa bahasa pemrograman,,,nah sekarang sya bingung gmn bg pemula seperti saya ini????

#12 Ikhwan on 10.18.11 at 2:34 pm

nice review..

fyi, im malaysian, good to understand the same language..

#13 djitz on 10.19.11 at 5:30 am

@Ikhwan,
Thanks, I only translated the article. All credit belongs to Peter Norvig. :D

#14 Ayuu on 11.04.11 at 12:49 am

apa langkah pertama yg harus saya lakukan untuk menjadi seorang proggramer ?? saya baru pemula, mohon bantuannya :)

#15 djitz on 11.05.11 at 6:45 pm

@Ayuu,
Ini pertanyaan yg mudah dan sulit dijawab sekaligus.

Jawaban pendek: Mulailah membuat program, apa pun itu. Tips: Cari tutorial programming di YouTube, atau beli buku di toko buku.

Jawaban lebih panjang: Banyak jalan untuk menjadi programmer, bisa melalui sekolah, pekerjaan, atau hobi. Untuk menjadi programmer yg baik harus suka banyak membaca dan mencoba.

#16 rougerdeluffy on 11.22.11 at 10:53 pm

berarti untuk menguasai sesuatu itu gak ada yang instan ya

#17 iQi on 02.16.12 at 7:52 am

@rougerdeluffy,

ada kok.. masak aer, bikin mie instan, minum susu instan..itu bisa dikuasai dengan mudah :)

back to Topic,
mantap banget artikelnya. gak sengaja nemu di google ketika nyari beberapa contoh programming C++.

sangat bagus untuk pemula, jadi supaya gak berangan2 bisa jago programming dalam waktu singkat.

#18 djitz on 02.16.12 at 9:58 am

@iQi, hahaha.. thanks buat commentnya!
Saya cuma menyadur saja kok, artikel aslinya ditulis oleh Peter Norvig, research director Google. :D

#19 iQi on 02.16.12 at 11:02 am

iya, pertama nemunya yang english..trus pas liat dikanan ada indonya, langsung di klik :)

posisi dimana nih djitz? jam segini masih melek.
di eropa masih sore.

#20 djitz on 02.16.12 at 11:13 am

cool! saya di Boston, lebih telat lagi jadi masih siang.. :D

#21 sbachrun on 05.10.12 at 8:36 pm

keren oey..thanks
(ketika banyak yg nanya harus mulai dr mana lalu diejek dan diketawain habis2an) this blog are very helpfull and cool..

#22 th3c0nd0r on 05.15.12 at 1:07 am

wkwkwkwk buagus banget nihh………….
saat lagi pusing cari motivasi…… akhirnya nemu juga ternyata butuh kerja keras untuk jadi p**gram**r
salam dari vb mania and thankyou telah menyadarkan saya….
he..he..he..

#23 entoknakal on 05.22.12 at 10:37 am

Bagus artikelnya om
kalau saya pribadi punya pendapat, kalau memang kita memang ingin cepat memahami pemograman, lebih baik langsung teejun ke proyek..karena kalau proyekan dibatasi oleh waktu jadi waktu belajarnya di dipacu..hehehehe

#24 Trijito Santoso on 05.22.12 at 11:49 am

@entoknakal, saya setuju pendapat anda 100%! :) keterpaksaan adalah motivasi yg paling ampuh.

#25 hartoto on 05.23.12 at 8:10 pm

Jika Anda tulis tidak perlu beli buku, ada loh programer yang mau share lewat buku.

Nulis buku ato ebook tuh lebih bebas dan lebih terbuka daripada mo tanya langsung mungkin si programmer tidak punya waktu untuk sharing pengalamannya

#26 Trijito Santoso on 05.24.12 at 10:32 am

@hartoto, saya setuju tentang membaca buku untuk belajar programming! :) Saya bahkan sebutkan tentang membeli buku di salah satu komentar saya sebelumnya. Hanya saja, praktek dan keiinginan untuk belajar tanpa terburu2 juga modal yg sangat penting bila ingin menjadi mahir.

Saya lihat website anda, dan anda memiliki kursus pemrogramman ya. Semoga sukses melatih lebih banyak calon2 programmer handal seperti anda! :)

#27 fundament0zz on 06.08.12 at 8:36 am

Hai djitz, ga terasa, udah lama sejak comment saya tentang buku “pro ci” dijawab, sekarang dah banyak sekali komentar yang masuk.

Kalau mau lebih sabar, mungkin bisa belajar juga tentang bagaimana program tersebut berinteraksi dengan memori dan cara mengoptimalkannya.

Oh iya, mau tanya,…Tinggal di amerika itu enak ga sih? Ada mesjidnya ga? trus kalo makanan halal banyak tersedia ga? trus ada kerja bakti lingkungan sekitar rumah ga? siapa tau aja suatu saat saya tinggal disana…hehehe

#28 raisfawwazi on 07.05.12 at 12:37 am

keren nih artikelnya, setuju sih, soalnya buku-buku “how to …. in … days” itu emang berlebihan menurut saya.

btw, saya sekarang lagi belajar programming juga, bagusnya nguasain beberapa bahasa sekaligus atau ‘masterin’ 1 aja? soalnya kalo cuma 1 kayaknya gak cukup deh, yg penting pemaham, logika, analisis, dsb bukan?

#29 pandu on 11.01.12 at 9:19 am

thx bgt gan atas artikelnya..,
kadang2 ane suka pengen buru2 bisa, n kadang langsung liat cara bikin program yg udah pro, eh malah gk nyambung gan??? kwkwkw

dah ah ane mau belajar dari dasar lagi..
tapi ane kan ini lebih prefer ke web…
apa ane harus nguasain semua bahasa web? kira2 menurut agan, ane harus mulai darimana neh?urutan2nya supaya gk bingung gitu…

apa ane harus belajar dari manual php?? semua ane coba fungsi2nya gitu gan?? bingung kadang mau start darimana.. mohon pencerahannya??

#30 Trijito Santoso on 11.01.12 at 10:41 am

@fundament0zz,
Tinggal di Amerika enak kok, ada mesjid lah pastinya, hanya tidak sebanyak di Indonesia.
Makanan halal juga ada, kan banyak imigran2 dari negara2 lain juga.
Kerja bakti juga ada (volunteer namanya), tapi gak tahu tanya siapa karena disini gak ada Pak RT. :)

#31 Trijito Santoso on 11.01.12 at 10:43 am

@raisfawwazi,
Thanks!
Untuk pertanyaan pertama, menurut saya lebih baik menjadi expert di 1 bahasa karena nilai kita akan tinggi. Tapi bukan berarti tidak mau belajar bahasa lain bila diperlukan. Betul sekali, programming kan hanya alat, tanpa bisa membuatnya jadi berguna maka tidak banyak artinya. :)

#32 Trijito Santoso on 11.01.12 at 11:01 am

@pandu,
Sama2 gan..
Seperti jawaban sebelumnya, tidak perlu menguasai semua bahasa web tapi kalau bisa menjadi ahli di satu bahasa maka akan sangat baik.
Utk web, selain bahasa pemgrogramannya sendiri (PHP, Ruby, Python, Perl, etc) perlu tahu juga SQL, HTML, CSS, dan JavaScript.

Manual menurut saya bukan utk dipelajari, tapi jadi petunjuk saja bila kita ingin mengerti penggunaan function2 suatu bahasa. Tapi penting juga untuk mengerti cara membaca manual sebuah bahasa karena kebanyakan org biasanya malas untuk membaca manual.

Belajar biasanya perlu motivasi, dan motivasi paling bagus adalah dengan belajar di sekolah karena ada tugas2 dan PR yg harus dikerjakan. Cara lainnya adalah dengan bekerja atau mengerjakan project2 sampingan. Intinya perlu ‘keterpaksaan’ karena kalau tidak maka biasanya angin2an. *based on personal experience :)

Leave a Comment