Cari

Quick Info

WATCH_DOGS 2 banyak menuai pujian, terutama di PC mengingat optimasi yang bagus yang dibawanya. Tentu ini menjadi angin segar bagi PC gamer ketika di beberapa waktu lalu terdapat beberapa game level AAA yang memiliki optimasi buruk ketika diluncurkan.
Semoga apa yang dilakukan WD2 menjadi tren di PC gaming tahun depan :)

26 Juni 2012

Koding? Apaan Itu?


Well, sudah lama saya ga nerusin cerita tentang Fasilkom UI. Artikel ini saya sengaja buat mahasiswa baru yang mengambil jurusan Ilmu Komputer, atau sejenisnya, dan sama sekali belum tau apa itu pemrograman dsb. Ya kali aja berguna yak.

So, semuanya berawal dari kisah nyata. Saat saya akan mengambil Ilmu Komputer UI sebagai pilihan pertama, keraguan muncul. Lha kok ambil itu, wong megang komputer cuma buat main game doang -_-. Bahkan ketakutan saya semakin menjadi. Menjadi sebuah fobia ketika waktu perkuliahan semakin dekat. Namun, dukungan dan motivasi terbaik datang dari orang tua saya. Mereka bilang, jika aku gagal karena ga sanggup ikuti pelajaran di sana (Fasilkom UI), ga masalah. Asal jangan DO karena perempuan atau obat-obatan atau hal aneh lainnya. Alhamdulillah, seketika beban mulai berkurang.

As a confession, saya ga pernah belajar pemrograman sama sekali. No basic, hanya tau cara pakai komputer yang baik (nah loh). Pernah nyobain HTML, tapi sehari udah nyerah, nyobain Visual Basic ga ngerti juga. Anehnya, karena sekolah saya ga ada wakil untuk Olimpiade Komputer Tingkat Kota, saya diikutsertakan. Soalnya sih gampang jika sekarang saya kerjakan lagi :D. Namun dulu, saya hampir tak memandang soal pemrogramannya, hanya soal logika yang saya babat habis. Hasilnya ya mandek sampai tingkat provinsi, di mana selama hampir 3,5 jam disuruh menghabisi sekitar belasan soal (ga ingat pastinya), dan saya akui selesai tes kepala saya seperti processor yang di-overclock dari 3 GHz menjadi 8 GHz! Tapi sumpah, selama menjelang tes saya hampir selalu belajar sendiri, dan hanya mempelajari soal logika dan tidak sama sekali tentang pemrograman.

Ketika kuliah dimulai, ternyata saya ga sendiri. Teman-teman saya juga banyak yang newbie. Walau pun yang “dewa” juga banyak :D. Kami diharuskan mengambil mata kuliah pemrograman yang dinamakan DDP (Dasar-Dasar Pemrograman). Matkul ini termasuk santapan empuk pendongkrak IPK bagi anak TOKI (Tim Olimpiade Komputer Indonesia) dkk, dan bisa menjadi perusak IP bagi para newbie dan cupu seperti saya, karena bebannya sebanyak 6 SKS! Well, kalo belum tau apa itu dan kok 6 SKS itu ngeri, ntar saya jelasin :D.
Buku pegangan DDP
First class dengan dosennya terasa menyenangkan. Dijelasin apa itu komputer sampai mengapa software bisa mengontrol komputer, dll. Kemudian dijabarkan apa saja yang akan dipelajari. Tapi jujur, saya ga bisa menampilkan senyum kebahagiaan karena saya ga tau apa yang ada di presentasi dosen -_-.
Apakah kamu tau apa itu integer, double, String, array, for-loop, recursion, dkk? Mengapa double dan Double dua benda yang berbeda? Mengapa 3 baris program bisa dibaca komputer menjadi 3 pangkat n baris? Apaan itu thread? Kayak di forum online dah. Trus, inheritance, polimorfiasme, abstract, generic data type itu apa? Kenapa komputer bisa menyelesaikan problem kita? Dan apa yang bisa kita lakukan selain berdoa pada Tuhan jika kita menemui exception? Dan apa itu Netbeans, Eclipse dan SciTE? Apa mereka game sekeren Battlefield 3, FIFA 12, atau Max Payne 3? Jika kamu tidak tau semua yang saya tanyakan, maka kamu the real newbie, sama seperti saya dulu. Kalo saya sekarang tetap newbie kok :p.

Supaya kamu ngerti bahasa yang saya pakai selanjutnya, ada baiknya saya jelasin dulu yak. Pertama, ada coding atau koding / ngoding. Artinya ya kegiatan menciptakan kode agar muncul program yang bisa solve masalah. Kedua, debug. Artinya kegiatan mencari kesalahan di program. Ketiga, testing. Artinya adalah ngetes apakah program udah jalan sesuai yang kita mau.

Ada beberapa hal yang akan saya bagikan tentang menghadapi pemrograman bagi yang masih baru. Tips ini (insya Allah) bisa diterapkan untuk hal-hal baru lainnya. Well, karena di Fasilkom 70% matkulnya baru saya pelajari di sana, tips ini benar-benar membuat saya survive di tahun pertama :D. Padahal saat awal masuk target saya ga muluk, cukup bisa bertahan di tahun pertama aja.

OK, tips pertama adalah sukai pemrograman itu sendiri. Jika kamu memilih masuk Ilmu Komputer atau Informatika atau sejenisnya, kamu ga mungkin bisa lepas dari pemrograman. Ibarat nasi, pemrograman adalah tenaga utama kamu setelah lulus nanti. Jadi, mau tidak disukai juga bakalan menyiksa, kenapa ga mulai menyukai saja? Dan hal ini yang saya lakukan, toh niat masuk Ilmu Komputer karena pengen belajar ngoding :D. Sesuatu yang kita sukai akan tetap bisa kita ajak kompromi ga peduli sesusah apapun rintangan yang menghalang.

Sebagai contoh, mendaki gunung bagi kebanyakan kita adalah sulit dan bisa buat jengkel atau mood negatif lainnya. Namun, bagi pecinta alam, mendaki gunung adalah hal yang menyenangkan buat mereka, tak peduli sesusah apapun atau sesulit apapun medan yang harus dilewati. Kepuasan yang tak terkira akan mereka dapat begitu berhasil mendaki puncak. Sama dengan programmer, mereka akan puas begitu program yang mereka buat berhasil memenuhi apa yang mereka harapkan, apalagi jika ternyata disukai orang banyak. Nanti pemula akan semakin bersemangat ngoding setelah tau rasanya menyelesaikan program.

Kedua, practices make perfect. Yup, saya dulu saking sukanya hampir tiap malam selalu ketik-ketik kode ga jelas. Namun, saya akui, hal itu membuat saya semakin ingat dengan tata cara penulisan kode, jenis perintah apa yang harus dipanggil, dsb. Ibarat pejalan-jalan, mereka akan kesulitan ke suatu tempat yang baru bagi mereka. Namun, untuk kedua kalinya mereka mulai sedikit ingat jalannya. Seterusnya hingga kebelasan atau puluhan kali, mereka akan hapal betul tiap meter dari jalan yang mereka lalui. Sama halnya dengan pemrograman. Tidak ada cara instan untuk menjadi jago ngoding. Yang saya dengar dari teman-teman anak TOKI, mereka sering dilatih dalam kamp selama beberapa hari, di mana tiap harinya mereka habiskan untuk belajar pemrograman. Dari 24 jam yang ada dalam sehari, mungkin bisa sampai 2/3 atau lebih yang dipakai untuk belajar. Dan ada yang pernah bilang, untuk menjadi master atau ahli di suatu bidang, seseorang harus menghabiskan setidaknya 1000 jam untuk berlatih!

Ketiga, malu bertanya jalan-jalan. Ga mungkin satu angkatan newbie semua, minimal kan dosen dan asdosnya sudah jago :D. Jika terbentur, coba lakukan debugging sendiri. Jika masih ada bug atau masalah di program, coba bertanya pada mas Google. Nah, biasanya kamu akan berjalan-jalan di internet, mencari masalah yang nyaris sama dengan kamu (99 % ga bakalan ada yang sama persis). Bagi yang malas jalan-jalan, ya tanya ke teman, asdos, atau bahkan dosen. Sebagai newbie kita ga perlu malu, toh namanya belajar. Namun, jangan sampai lupa diri. Selalu usahakan sendiri, karena kalo selesai karena sepenuhnya kerjaan sendiri, puasnya maksimal :D.

Keempat, kuasai bahasa Inggris. Nah lho? Emang buat programnya pakai bahasa Inggris? Ga sih, bahasa yang dipakai biasa Java (bukan bahasa Jawa). Namun, kamu akan sangat terbantu dengan banyaknya referensi dan contoh solusi yang sayangnya tersedia dalam bahasa Inggris. Bahkan, developer guide yang resmi (atau sering disebut API documentation) berbahasa Inggris. Buku teks yang dipakai full Inggris. Di internet juga begitu. Hanya kalau bertanya pada teman atau asdos/dosen kita bisa mendapat jawaban dalam bahasa ibu kita :D. Bahasa Inggris pasif sudah cukup kok. Sayang kan, ilmu yang berpotensi menolong newbie ga bisa diserap hanya karena kendala bahasa.
Bahasa yang saya pakai di Fasilkom UI
Kelima, enjoy dan konsisten bersama Tuhan. Enjoy berarti tidak terpengaruh oleh beban kita sebagai mahasiswa yang harus jago ini itu. Itu akan memberatkan kita, karena tiap langkah kecil yang akan diambil akan sangat dipikirkan, membuat kita malas mengambil resiko. Padahal, kemajuan yang berarti seringkali harus melewati proses yang penuh resiko seperti sering bertanya di kelas (abaikan mereka yang mengatakan kamu bego karena tanya melulu), atau memaksakan diri menyelesaikan tugas sendiri tanpa bantuan teman dll. Kemudian, sekeras apapun usaha kamu, ya yang terpenting jangan merasa sudah cukup tanpa doamu ke Tuhan. Tuhan yang memberi kita ilmu, jika kita rajin berdoa bukan tak mungkin akan lebih mudah bagi newbie menyerap apa yang dosen ajarkan. Toh, setamat dari kuliah, kamu ga boleh tetap newbie kan?

Well, setau saya, ya lima tips itu yang mampu membantu newbie seperti saya tetap bertahan di Fasilkom UI yang katanya memiliki sistem penilaian terkejam kedua di UI, di bawah Fak. Kedokteran UI. Dan nilai akhir pemrograman saya juga ga jelek kok, karena tips yang saya share tadi sudah saya terapkan. Selamat mencoba!

2 komentar:

Unknown mengatakan...

mungkin newbie nya saya lebih parah dari newbienya kakak saat itu kak -___-

ada saran buat belajar programming dari mana kak? ada tutorial gak kak? thanks infonya kak :D

Anonim mengatakan...

Programming itu lebih mengarah ke seni, bukan belajar, buat orang yang hobi ngoding pasti menikmati kegiatan mengoding, sama seperti seni, orang yang hobi seni tersebut pasti menikmati kegiatan membuat seni