Bagaimana Seorang Coder Newbie Bisa Meningkatkan Kemampuannya


Oleh Ganis (ganis)



Ganis

CEO and Founder of CodeSaya

@ganiseu9
https://ganis.net/


Umumnya seseorang yang ingin belajar coding atau programming saat memulai belajar akan membaca buku atau mengikuti tutorial. Tapi apakah setelah anda selesai melakukannya, apakah artinya anda sudah mahir dalam coding? Sayangnya tidak, karena coding bukan seperti beberapa bidang ilmu atau pekerjaan lain yang cukup hanya dengan membaca dan menghapal. Di sini saya akan 'membeberkan' caranya agar anda bisa meningkatkan status anda dari newbie coder menjadi coder yang well, tidak newbie lagi ^^.

Membuat sebuah produk

Sebagai pemula, anda sebenarnya tidak perlu mengerti dan menghapal semua konsep yang ada di pemograman. Konsep seperti misalnya class dan pointer akan sulit dimengerti bagi pemula jika anda belum pernah membangun sebuah produk (software/website/etc). Untuk hal itu anda cukup baca dan mengerti secara garis besar saja. Menurut hemat saya, jika anda sudah mengerti function, data types dan control flow, segeralah buat sebuah produk..!!

Jika anda tidak tahu mau buat apa, ikuti saja produk yang sudah ada. Misalnya buat tiruan Twitter, kloning dari Instagram atau membuat blog sendiri (tanpa bantuan CMS). Tidak perlu malu jika ada yang bilang menjiplak. Untuk yang pertama wajar jika kita meniru, karena siapa sih pemula yang meluncurkan karya yang langsung keren saat pertama kali belajar? Setelah kita bisa membuat tiruannya baru kita bisa buat karya yang orisinal. Jika kita menunggu sampai ide yang orisinal untuk muncul akan kelamaan dan malah mungkin gak akan jadi-jadi. Lagipula fokus dari tahapan ini adalah untuk belajar, bukan untuk menciptakan sebuah karya yang akan menyaingi Facebook atau Apple. Hasil codingan anda tentunya tidak akan sempurna dan bahkan mungkin akan dipenuhi oleh bugs. Tetapi yang paling penting sekarang adalah menuliskan code. Karena yang sulit itu bagi banyak orang adalah memulai.

...jika anda sudah mengerti function, data types dan control flow, segeralah buat sebuah produk..!!

Saat anda membuat sebuah produk, anda akan menemukan sebuah masalah yang mungkin tidak ada jawabannya di buku yang anda pegang. Yang harus anda lakukan adalah tanyakan via Google. Yakinlah 100% masalah yang dialami oleh anda (seorang newbie) pasti sudah pernah ada yang mengalami dan memberikan solusinya di Internet. Lagian siapa sih kita (seorang newbie) sampai kita pikir tidak ada yang pernah mengalaminya? Sayangnya, terkadang informasi terkait itu banyaknya ada di dalam bahasa Inggris. Sehingga sebaiknya anda mencarinya dalam bahasa Inggris. Tidak perlu kuatir kalau grammar anda jelek karena anda sedang googling bukan sedang ujian TOEFL..!! Sedang mencari cara untuk menyimpan gambar ke database? Ketik saja "how save image database", secara grammar memang salah, tapi Google mengerti kok. Dan setelah anda mengerti caranya, coba buat tulisan sendiri di blog pribadi anda (atau codesaya artikel) untuk bagi-bagi dan pengingat anda di masa depan. Kurangnya informasi tentang coding dalam bahasa Indonesia adalah peluang! Anda bisa menjadi sumber informasi tersebut. Jangan menunda sampai jago untuk menulis tutorial dan berbagi, tulis sekarang juga! Sesuai petuah Bimbo: "Berbuat baik janganlah ditunda-tunda.." 

Kurangnya informasi tentang coding dalam bahasa Indonesia adalah peluang! Anda bisa menjadi sumber informasi tersebut.

Hindari bertanya di forum atau pun facebook group untuk setiap masalah yang anda temui. Karena (sekali lagi) masalah yang anda hadapi pasti sudah pernah dibahas berkali-kali. Tapi jika anda benar-benar yakin 100% kalau belum ada yang bahas (tapi masa sih? coba cari lagi dengan keyword lain) baru anda boleh bertanya. Kelebihan lainnya adalah googling itu lebih cepat karena kita tidak perlu menunggu ada orang yang berbaik hati untuk membaca dan menjawab pertanyaan anda. Selain itu anda akan menjadi mandiri dalam menyelesaikan soal anda.

Tips: hasil dari google umumnya merujuk ke stackoverflow.com dan web ini memang bagus untuk menemukan solusi permasalahan anda. Umumnya jawaban yang paling banyak pointnya adalah yang benar. Tapi ingat, code dari web tersebut harus diubah sesuai dengan kebutuhan anda, jangan copy paste mentah-mentah.

Membaca coding orang lain

Setelah anda menyelesaikan sebuah produk, selamat! Karena sekarang anda sudah bisa menyelesaikan sebuah masalah dengan cara anda sendiri. Dan juga anda telah menambah pengetahuan anda secara banyak sekali tentang coding. Tapi seorang programmer yang baik tidak bekerja seorang diri selamanya, kita membutuhkan orang lain. Entah itu karena bekerja dalam tim atau dalam menggunakan library atau framework. Karena itu coder yang baik harus mahir juga dalam membaca coding orang lain. Seperti halnya penulis novel yang harus sering membaca karya tulisan penulis lain, penulis code juga harus sering membaca codingan dari coder lain.

Seperti halnya penulis novel yang harus sering-sering membaca karya tulisan penulis lain, penulis code juga harus sering membaca codingan dari coder lain.

Membaca coding orang lain memiliki beberapa kelebihan sebagai berikut:

  • Menemukan metode lain dalam menyelesaikan sebuah masalah. Misalnya mungkin anda sudah bisa menampilkan data dari database, tapi apakah cara anda cukup efisien? Mungkin ada cara yang lebih elegan dan anda bisa melihatnya melalui codingan orang lain. Mungkin karena itu sekarang anda mengerti bagaimana caranya menggunakan class dan pointer secara tepat.
  • Kapan harus menulis komentar dan bagaimana menulisnya. Tidak setiap function atau baris harus dijelaskan menggunakan komentar. Saat anda membaca coding orang lain anda akan merasakan yang mana yang seharusnya dijelaskan oleh coder tersebut. Anda juga bisa melihat bagaimana coder lain menuliskan komentar di codenya.
  • Melihat code seperti apa yang mudah dimengerti ataupun yang tidak mudah dimengerti. Menulis code yang mudah dimengerti sangatlah penting, bukan hanya untuk orang lain tetapi yang paling penting adalah untuk diri anda sendiri. Janganlah tergoda untuk menuliskan code sesingkat-singkatnya kalo ternyata hanya bakal membuat kita bingung saat membacanya nanti.
  • Meningkatkan kemampuan membaca code anda sendiri. Saat anda coding, pastinya anda akan kembali membaca code-code yang sudah anda tulis. Jika saat membaca codingan orang lain saja mengerti apalagi saat anda membaca codingan sendiri. 

Lalu codingan siapakah yang layak untuk dibaca? Menurut pendapat saya source code dari sebuah framework adalah tempat yang tepat. Kenapa? Karena framework adalah kumpulan code yang reusable dan didesain agar bisa dikembangkan terus menerus. Anda bisa mencari source code nya di Github (https://github.com/showcases/web-application-frameworks). Cari framework yang sesuai dengan bahasa yang ingin anda kuasai.

Saat membaca codingan orang lain, cobalah untuk mengerti maksud dari coder tersebut. Mungkin anda tidak akan mengerti 100% setiap barisnya. Tidak apa-apa, yang penting anda bisa mengerti garis besarnya dan anda bisa membandingkan code mereka dengan code anda.

Membuat sebuah code yang reusable

Sederhananya code yang reusable adalah code yang dapat digunakan lebih dari satu kali. Digunakannya bisa untuk proyek yang berbeda ataupun proyek yang sama. Sebagai contoh, mungkin di halaman utama anda menampilkan daftar tulisan terbaru anda. Dan di halaman masing-masing post nya, anda juga menampilkan daftar yang sama. Bagaimana caranya agar anda tidak perlu menuliskan code yang sama di dua tempat yang berbeda? Di situlah code yang reusable akan berperan.

Saat anda membuat produk, mungkin semua code yang anda buat sangat khusus untuk produk tersebut dan ditulis berulang-ulang. Sekarang belajarlah untuk membuat code anda reusable dari produk yang sudah anda punya. Secara singkat, caranya untuk membuat code menjadi reusable adalah jika anda menuliskan kumpulan code yang sama lebih dari satu kali, maka buatlah function/method/class untuk mewakilkannya. Dan buat function/method/class itu agar:

  • Hanya melakukan satu atau dua hal saja. Jangan terlalu ribet.
  • Perilakunya bisa diubah tanpa harus merubah isi dari code tersebut. Contohnya misalnya dengan function yg sama kita bisa menampilkan 10 tulisan terbaru di halaman utama, tetapi di halaman post cukup 5 saja.
  • Tidak melakukan hal yang tak diminta. Misalkan anda mengirimkan sebuah variabel ke function, nah jangan sampe function tersebut ternyata mengubah isi variabel tersebut tanpa anda ketahui.

Target pertama anda adalah membuat code reusable yang dapat digunakan oleh anda sendiri. Jika suatu saat anda sudah bisa membuat code yang sekiranya dapat berguna juga buat orang lain, jika anda tidak keberatan anda bisa membaginya (open source). 

Jika suatu saat anda sudah bisa membuat code yang sekiranya dapat berguna juga buat orang lain, jika anda tidak keberatan anda bisa membaginya (open source)

Kesimpulan

Menjadi ahli coding tidaklah mudah. Itulah salah satu alasan software engineer adalah salah satu pekerjaan dengan gaji tertinggi di USA. Tapi jika anda terus tekuni, maka manfaat yang anda akan dapatkan sangatlah besar. Mari kita sama-sama belajar dan terus meningkatkan kualitas kita agar kita bisa membantu diri kita sendiri, keluarga kita, dan semoga membantu bangsa kita. Jangan tergoda oleh jalan-jalan pintas. Jika anda menemukan buku seperti misalnya "Mahir C kurang dari 21 hari", tertawalah terbahak-bahak dan tinggalkan.

Jika anda terinspirasi untuk mengikuti saran di atas, jangan lupa tuliskan produk apa yang sudah anda buat di komentar, saya dan teman2 di CodeSaya pasti ingin mencobanya ^^.

Cara yang paling mungkin untuk menjadi mahir pemograman dalam waktu singkat (sarkasme).


Disclaimer: Saya by any means bukanlah coder yang expert. jika ada saran dan kritik silahkeun sampaikan.

Note:

Googling : mencari lewat google

Level artikel ini adalah beginner.
Dituliskan oleh Ganis (ganis) pada 30 September 2015 dan telah dibaca sebanyak 12935 kali.
Tag: belajar mandiri, newbie, pemikiran

Beri Jempol · 57 jempol

berlangganan komentar





Komentar:

sakdan
171
28
· 8 tahun, 6 bulan yang lalu · 1 jempol

@ ganis mas saya mau tanya sama mas.  bahan2 untuk coding d andoid apa saja mas. sesuai saran mas kepada saya untuk membuat pos d porum diskusi sudah saya buat. tetapi sampai saat ini belum ada yg menanggapiny... 

dan utk pertanyaan saya ini saya juga sudah searcing d google tapi yg saya temui hanya utk komputer. jika mas tahu bahan2 tolong beri masukann mas.  krna belajar tanpa di praktekkn sendiri sesuai yg d inginkan sendiri kurang lengkap rasany....

mohon bantuanny mas

ganis
198
839
penulis
· 8 tahun, 6 bulan yang lalu · 1 jempol

@sakdan

hahaha,, tunggu saja mas/mbak,, mungkin memang tidak ada yang bisa menjawabnya. saya sendiri bukanlah ahli segala hal tentang coding, karena coding itu luas sekali lingkupnya. walaupun begitu saya coba jawab ya,, buat yang lain kalau mau ikutan bantuin bisa ke -> http://codesaya.com/diskusi/d/so...

tyo_inst
57
1
· 7 tahun, 11 bulan yang lalu · 3 jempol

saya ucapkan terima kasih banyak kepada codesaya...  saya lulusan IT.. di kampus saya, programmer sangat ditekankan.. awal masuk harus paham bahasa c, struktur data, html php java . ditekankan bahasa c oleh dosen saya.. karena kalo paham bahasa c yg intinya adalah logika, maka semua bahasa pemorgraman akan cepat dikuasai.. kata dosen saya. tapi SELAMA 7 TAHUN SAYA KULIAH, SAYA GA NGERTI BAHASA C SAMA SEKALI!.  tetapi setelah saya mengikuti tutorial php yg if else ( dan skrg berlanjut ke switch) ,SEKARANG SAYA PAHAM LOGIC IF ELSE !  beribu2 ucapan terima kasih saya ucapkan ke codesaya..  saya tunggu tutorial lainnya seperti html css java dll... TERIMA KASIH.. CODESAYA, LUAR BIASAA :D

ganis
198
839
penulis
· 7 tahun, 11 bulan yang lalu · 2 jempol

@tyo_inst

terimakasih banyak atas ucapan anda yang sangat positif tentang CodeSaya! Kami jadi semakin semangat ^^ Anda juga luar biasa! Ayo terus belajar dan banyak praktek, buat sesuatu! Jangan lupa ceritakan apa yang telah anda buat!

tyo_inst
57
1
· 7 tahun, 11 bulan yang lalu · 2 jempol

sama2 kang.. siap kang B-)  sukses selalu :D. oia kang ganis, kebetulan saya ada buku belajar bahasa c yg bisa dikatakan mudah dipahami tuk pemula.. lebih baik, saya share di artikel atau gmn kang?  pgn sih, nungguin kang ganis buka coding interaktif untuk C. lalu saya yg ngasih tutorial dan soalnya.. heheheh :P

  .. soalnya , buku itu lengkap.. ada penjelasan, soal koding dan pencarian bug... hhe... saya ngikut apa kata kang ganis aja lah :D

ganis
198
839
penulis
· 7 tahun, 11 bulan yang lalu · 2 jempol

Boleh banget, silahkan tapi jangan copy paste atau hanya sekedar berikan link download, tulis kembali dengan kata2 dan penjelasan anda sendiri. Lebih sulit memang tapi saat anda melakukannya anda akan belajar lebih jauh juga ^^

Gak perlu nunggu, buat segera karena waktu terus berjalan, nanti keburu males atau orang lain yang buat, jemput peluang yg ada! ^^

tyo_inst
57
1
· 7 tahun, 11 bulan yang lalu · 4 jempol

ok kang .. insya allah ya kang.. saya mau namatin "game" dulu di sini B-) mungkin bisa di sela2 nya.. .. seru kang ngoding disini.. kaya namatin game.. trus dapet emblem lagi.. wuihhh.. B-)  ... 

oia kang mau nanya.. arti angka 28 di sebelah id saya, itu artinya apa kang..? tx kang sebelumnya :D

ganis
198
839
penulis
· 7 tahun, 11 bulan yang lalu · 2 jempol

Makasih! Iya sekalian maen game, dapet ilmu lagi kan?! ^^

Angka di kotak pertama itu jumlah poin yg udah dikerjain, angka kotak kedua itu jumlah poin/jempol diskusi yg didapet ^^

tyo_inst
57
1
· 7 tahun, 11 bulan yang lalu · 1 jempol

ok tx kang :D 

superadmin
49
1
· 7 tahun, 10 bulan yang lalu · 2 jempol

Keren, two thumbs Up buat Bro Ganis

iniyasin
183
2
· 7 tahun, 8 bulan yang lalu · 2 jempol

emang sih kalau gaada proyekan kita suka bingung mau belajar apa,dan ujungnya malah gabelajar sama sekali hahaha

laskar777
267
1
· 7 tahun, 8 bulan yang lalu · 2 jempol

sukses selalu CS :D .tebaeklaah haha

lintangggg
28
0
· 6 tahun, 8 bulan yang lalu · 1 jempol

telat banget gw baru tau website ini, kenapa gak dari dulu. 
mantap om, gampang dipahami, dipelajari, bisa langsung dipraktekkan juga(dengan fitur interaktifnya). good job om ganis dkk

Silahkan masuk untuk menulis artikel atau komentar.






Artikel Lainnya


Ganis

8 Oktober 2015

Hardware Virtualization, Pengenalan Singkat

Dalam post ini saya akan menjelaskan sesederhana mungkin apa itu hardware virtualization. Salah satu teknologi penyokong Cloud Computing adalah Hardware VirtualizationHardware Virtualization adalah suatu teknik dimana seolah-olah terdapat lebih ...

Lanjutkan membaca

4 menit bacaan · beginner



mrfreedom

20 Agustus 2015

Hacker 101 : Introduction to The REAL Hacking Culture

oke guys, setelah kemarin membahas open source, saya mau membahas sebuah komunitas yang menjadi grass root (akar rumput) developer dari open source. yaitu.... Hacker!. sebelum saya memulai tolong buang jauh ...

Lanjutkan membaca

10 menit bacaan · beginner