Ingin Mulai Belajar Programming? Apa Saja Yang Harus Dipersiapkan?

Sebelumnya, saya sempat membuat artikel tentang apa yang harus dikuasai untuk mempelajari web programming. Disana dijelaskan bahwa untuk mulai belajar web programming, harus mulai dari HTML dulu, baru selanjutnya bisa beralih ke CSS, PHP, atau JavaScript.

Kali ini saya ingin membahas hal yang lebih umum. Apa saja yang harus dipersiapkan jika ingin belajar programming? harus mulai darimana? apa saja tantangannya? saya akan mencoba membahas hal ini.


Apakah Seorang Programmer Harus Lulusan Ilmu Komputer/Teknik Informatika?

Untuk menjadi programmer, tidak harus melalui jalur pendidikan formal. Jika anda baca di artikel saya: apa saja yang dipelajari di jurusan ilmu komputer dan teknik informatika?, disana dapat dilihat bahwa di kampus Ilmu Komputer / Teknik Informatika, tidak banyak mata kuliah yang membahas programming, kebanyakan adalah teori tentang 'sains'-nya komputer, seperti matematika, sistem operasi, aljabar, jaringan, dll.

Lulusan sarjana Ilmu Komputer/Teknik Informatika tidak semuanya akan menjadi programmer. Begitu juga sebaliknya, semua orang bisa mempelajari programming selama ada kemauan.

Ketika saya kuliah (di jurusan Ilmu Komputer), banyak rekan-rekan dari teknik elektro, fisika, dan matematika yang lebih jago programming-nya. Kebanyakan programmer juga belajar secara otodidak, sehingga andapun bisa jadi programmer!


Apakah Programmer Haruskah Kuat Matematika?

Untuk menjadi programmer, tidak harus kuat matematika, cukup dasarnya saja. Ini sering menjadi 'momok menakutkan' bagi pemula bahwa untuk membuat program itu butuh matematika rumit. Padahal prakteknya, sangat sangat jarang saya butuh matematika rumit seperti kalkulus, aljabar, turunan, limit, dan teman2nya.

Matematika baru perlu jika anda ingin masuk jurusan komputer seperti ilmu komputer atau teknik informatika, karena disana banyak mata kuliah matematikanya. Tapi untuk menjadi programmer? Hanya perlu 'kabataku' dasar saja.

Lain cerita jika anda ingin fokus ke robotika, peneliti, dosen, atau masuk ke programmer game. Loh, kok programmer game? Khusus untuk programming yang butuh konsep 'dunia nyata', kadang kita perlu matematika.

Contohnya untuk membuat animasi bola memantul, kita mesti paham bagaimana konsep gravitasi ke bola tersebut, kemudian bagaimana efek cahaya, dst. Inipun sebenarnya juga bisa diakali, karena sudah banyak aplikasi yang akan membantu anda. Jadi, apakah untuk menjadi programmer harus kuat matematika? Tidak juga.


Kuasai Dasar-Dasar Algoritma

Algoritma adalah inti dari seluruh programming. Walaupun terdengar rumit, algoritma sebenarnya cukup mudah dipelajari, yang diperlukan hanya konsep logika dasar saja.

Mengutip dari wikipedia, algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Contoh yang sering digunakan untuk memahami algoritma adalah instruksi memasak. Misalkan untuk memasak telur dadar, algoritmanya dimulai dari menyiapkan bahan, potong bawang, pecahkan telur, dst hingga telur dadar selesai.

Dalam implementasinya di programming, algoritma dimulai dari memikirkan apa saja input dari program, kemudian bagaimana pemrosesannya, mulai dari awal secara berurutan hingga selesai, lalu bagaimana nanti outputnya.

Konsep-konsep algoritma dan pemrograman seperti variabel, konstanta, tipe data, logika IF, perulangan, dan function, hampir selalu ada di dalam setiap bahasa pemrograman. Jika anda melihat tutorial Pascal, PHP, dan JavaScript di duniailkom, semuanya memiliki konsep-konsep ini.

Jika anda serius ingin belajar programming, luangkan waktu untuk mempelajari konsep algoritma ini.


Mulai Dari Dasar

Sebenarnya tidak salah jika anda mulai belajar programming langsung ke Visual Basic atau PHP, karena kedua bahasa pemrograman ini memang sangat populer.

Namun jika anda memiliki waktu yang cukup, pertimbangkan untuk mulai dari dasar. Ini untuk memperdalam konsep algoritma. Di kampus/jurusan komputer, biasanya dimulai dari bahasa pemrograman Pascal atau C++. Kedua bahasa ini memiliki alur kode program yang sangat terstruktur sehingga cocok untuk belajar algoritma dan pemrograman.

Jika sudah paham tentang dasar-dasarnya, baru masuk ke aplikasi programming seperti Visual Basic, JAVA, atau PHP.

Di duniailkom telah tersedia tutorial belajar bahasa pascal bagi pemula. Saat artikel ini saya tulis, tutorial pascal tersebut belum sepenuhnya selesai, tapi bisa menjadi awal untuk belajar programming dari dasar.

Mulai Belajar Bahasa Inggris

Untuk bisa berhasil menjadi programmer professional, anda wajib bisa bahasa inggris, minimal bahasa inggris pasif (untuk baca saja). Kenapa? Karena saat ini seluruh ilmu programming masih berasal dari eropa atau amerika.

Buku-buku pemrograman berbahasa Indonesia memang cukup banyak, tetapi rata-rata hanya untuk pemrograman dasar. Untuk tingkat lanjut masih relatif langka.

Sebagai contoh, saat ini di PHP yang sedang booming framework Laravel, tapi apakah sudah ada buku berbahasa Indonesia? Hanya baru-baru ini saja. Contoh lain, di CSS atau web design saat ini dikenal CSS preprocessor seperti SASS dan LESS, apakah ada buku bahasa indonesianya?

Untuk itu, mulailah coba belajar bahasa inggris. Biasakan diri anda dengan istilah bahasa inggris. Misalnya dengan men-setting bahasa di handphone dengan bahasa inggris, nonton film dengan subtitle bahasa inggris, dll.


Belajar Programming Butuh Waktu

Tidak ada yang instant di dunia ini (kecuali mie instant… hehe). Termasuk programming. Walaupun banyak buku komputer yang bombastis dan menjanjikan bisa pemrograman dalam waktu singkat, saya termasuk yang tidak percaya dengan hal ini.

Jika anda berangkat dari 0 dan tidak punya background komputer/IT, tentunya butuh waktu untuk menguasai semua ini. Setelah paham tentang algoritma dan sudah menguasai 1 jenis bahasa pemrograman saja, tidak akan terlalu sulit untuk mempelajari bahasa pemrograman baru.


Sering-sering 'ngoding'

Sering-seringlah latihan coding, coba hal-hal baru. Misalnya di buku di ajarkan cara dari kiri ke kanan, coba tes apakah hal yang sama bisa dilakukan dari kanan ke kiri. Jika diajarkan cara A, coba apakah bisa dengan cara B, jika tidak bisa apa penyebabnya?

Apabila hari ini anda bisa membuat aplikasi kalkulator sederhana, besok coba buat aplikasi untuk konversi suhu, besoknya lagi coba buat aplikasi penghitung bunga kredit.

Kemampuan analisis anda akan meningkat seiring dengan seringnya latihan dan mencoba memecahkan masalah-masalah baru.


Teruslah Belajar

Programming merupakan bagian dari teknologi yang terus berkembang. Tiap hari selalu muncul teknologi baru yang akan menggantikan teknologi lama. Apabila hari ini mayoritas website dibuat dengan PHP, tahun depan belum tentu. Agar tidak ketinggalan, kita juga harus bersiap untuk perubahan ini.

Jika programming adalah hobi dan passion anda, semua proses yang ada disini sangatlah menarik. Hingga secara tidak sadar anda akan selalu menantang diri sendiri dengan kalimat: "hari ini mau belajar apa lg ya?".


Mudah2an tulisan singkat ini bisa menjadi gambaran apa yang mesti disiapkan untuk mulai belajar programming. Programming memang tidak mudah, tetapi juga tidak susah. Meminjam kalimat motivasi dari orang bijak: 'Selama ada kemauan, pasti ada jalan'.

Semoga kedepannya hadir programmer indonesia sekelas Linus Torvalds sang perancang Linux, atau Matt Mullenweg yang membuat WordPress. Dan,.. suatu saat nanti adalah giliran anda :)

181 Comments

  1. Indra Hiero
    08 Oct 15
    • Andre
      08 Oct 15
      • irwansah
        14 May 17
  2. DemosWA
    09 Oct 15
  3. asdfasdf
    10 Oct 15
    • Andre
      10 Oct 15
    • Andre
      10 Oct 15
  4. Denry Putri
    11 Oct 15
    • Andre
      11 Oct 15
  5. Erlangga
    18 Oct 15
    • Andre
      19 Oct 15
  6. produk muslim
    11 Nov 15
    • Andre
      12 Nov 15
      • Rohman
        15 Nov 16
      • Andre
        16 Nov 16
  7. baguz
    01 Dec 15
    • Andre
      01 Dec 15
  8. anak tkj
    11 Jan 16
  9. Rochafi
    11 Jan 16
  10. Anonymous
    18 Jan 16
    • Andre
      18 Jan 16
  11. Fauzan
    02 Mar 16
    • Andre
      02 Mar 16
  12. Anonymous
    06 Mar 16
    • Andre
      07 Mar 16
  13. edi sugianto
    24 Mar 16
    • Andre
      25 Mar 16
  14. Alsaskar Mirando
    25 Mar 16
  15. joko
    30 Mar 16
    • Andre
      30 Mar 16
  16. Asp Mulyn
    01 May 16
    • Andre
      01 May 16
  17. Tomy
    04 May 16
  18. Tomy
    04 May 16
  19. jimmy
    18 May 16
    • Andre
      19 May 16
      • jimmy
        19 May 16
        • Andre
          19 May 16
  20. jimmy
    20 May 16
    • Andre
      20 May 16
  21. yandzani
    20 May 16
    • Andre
      20 May 16
  22. yandzani
    20 May 16
    • Andre
      20 May 16
      • yandzani
        20 May 16
        • Andre
          21 May 16
  23. Stephen
    22 May 16
  24. bob
    09 Jun 16
    • Andre
      09 Jun 16
  25. firdaus
    09 Aug 16
  26. imamalfauzi
    22 Aug 16
    • Andre
      06 Sep 16
  27. mang eza
    12 Sep 16
    • Andre
      13 Sep 16
      • mang eza
        13 Sep 16
    • Rizky Setiawan
      23 Sep 16
  28. Rizky Setiawan
    23 Sep 16
    • Andre
      24 Sep 16
  29. Zani Prastomo
    24 Sep 16
    • Andre
      25 Sep 16
  30. zuhur
    26 Sep 16
    • Andre
      26 Sep 16
  31. Ridwan S
    02 Oct 16
    • Andre
      03 Oct 16
  32. Rio
    09 Oct 16
  33. Jhoel pro
    13 Oct 16
    • Andre
      15 Oct 16
  34. arifinzainal2015
    16 Oct 16
    • Andre
      17 Oct 16
  35. winda
    17 Oct 16
    • Andre
      19 Oct 16
    • Andre
      24 Oct 16
  36. Cahya Ibrahim
    25 Oct 16
    • Andre
      26 Oct 16
  37. Muhamad Arief
    30 Oct 16
    • Andre
      30 Oct 16
  38. anandang
    31 Oct 16
    • Andre
      31 Oct 16
  39. M Yardan Aqiella
    06 Nov 16
    • Andre
      06 Nov 16
  40. Yoga
    06 Nov 16
    • Andre
      06 Nov 16
  41. astaanza
    08 Nov 16
  42. Wilda
    12 Nov 16
    • Andre
      13 Nov 16
  43. wawan
    21 Nov 16
  44. wawan
    21 Nov 16
    • Andre
      23 Nov 16
  45. Hang Upin
    27 Nov 16
    • Andre
      27 Nov 16
  46. kurnia
    30 Nov 16
    • Andre
      01 Dec 16
      • kurnia
        05 Dec 16
        • Andre
          06 Dec 16
  47. Adi atma
    06 Dec 16
  48. imamnh34
    13 Dec 16
    • Andre
      14 Dec 16
  49. james tan
    19 Dec 16
    • Andre
      19 Dec 16
      • james tan
        21 Dec 16
  50. bian kerox
    22 Dec 16
    • Andre
      23 Dec 16
  51. Anonymous
    23 Dec 16
    • Andre
      24 Dec 16
  52. Dani
    26 Dec 16
    • Andre
      27 Dec 16
  53. Steve
    30 Dec 16
    • Andre
      31 Dec 16
      • Steve
        01 Jan 17
  54. adi shaepul
    04 Jan 17
    • Andre
      04 Jan 17
  55. wahyu
    15 Jan 17
    • Andre
      16 Jan 17
  56. bayu
    08 Feb 17
    • Andre
      08 Feb 17
  57. Anon21
    19 Feb 17
  58. RAM
    12 Mar 17
    • Andre
      15 Mar 17
  59. firda
    23 Mar 17
    • Andre
      23 Mar 17
  60. Cak Adib
    25 Mar 17
    • Andre
      25 Mar 17
  61. febby irawan
    22 Apr 17
    • Andre
      24 Apr 17
  62. Lusimin
    07 May 17
    • Andre
      07 May 17
  63. Kazuya
    19 Jun 17
  64. Tiara
    26 Jun 17
    • Andre
      28 Jun 17
  65. Ajwa
    03 Jul 17
    • Andre
      04 Jul 17
  66. denis
    12 Jul 17
    • Andre
      12 Jul 17
  67. Xmax
    12 Jul 17

Add Comment

Leave a Reply to Rohman Cancel reply