05.02.2017 Views

!1

paklebah_kulgram1

paklebah_kulgram1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

!1


Kuliah Telegram Komunitas Pascal Indonesia<br />

BEKAL BELAJAR<br />

PEMROGRAMAN<br />

mini e-book<br />

Topik Bahasan:<br />

- Dasar-dasar belajar pemrograman.<br />

- Kiat-kiat belajar secara daring.<br />

Tempat & Waktu:<br />

- Telegram: t.me/pascalid<br />

- Hari: Jumat, 3 Februari 2017<br />

- Pukul: 14:00 WIB<br />

Dosen:<br />

Pak Lebah ( Mr. Bee )<br />

- telegram: @paklebah<br />

- web: pak.lebah.web.id<br />

Tagar:<br />

#kulgram #bekalbelajar #paklebah<br />

_____<br />

© pascal.id – Malang, Februari 2017<br />

!2


Daftar Isi<br />

Aturan & Tata Tertib Kulgram ....................................................... 5<br />

Tentang Dosen ................................................................................ 6<br />

I. Mengenal Pemrograman ............................................................. 7<br />

1. Pentingnya Pemrograman ................................................................. 7<br />

2. What, Who, Where, When, Why, and How ..................................... 8<br />

Apakah pemrograman itu? ............................................................ 8<br />

Siapakah pemrogram itu? .............................................................. 9<br />

Dimana pemrogram bekerja? ...................................................... 11<br />

Kapan pemrogram bekerja? ........................................................ 11<br />

Mengapa menjadi pemrogram? ................................................... 12<br />

Bagaimana menjadi pemrogram? ................................................ 13<br />

II. Prinsip-Prinsip Dasar Bahasa Pemrograman ........................... 16<br />

1. Memilih Bahasa Pemrograman ....................................................... 16<br />

2. Struktur Bahasa Pemrograman ....................................................... 16<br />

Tata Bahasa (grammar atau sintaks) ............................................ 16<br />

Penyimpan (instance)....................................................................<br />

17<br />

Tipe data (data type) .................................................................... 17<br />

Perulangan ................................................................................... 19<br />

Uji kondisi .................................................................................... 20<br />

Subprogram ................................................................................. 20<br />

3. Alat bantu pemrograman ................................................................ 21<br />

Penyunting .................................................................................... 21<br />

Penerjemah ................................................................................... 22<br />

Penelusur ...................................................................................... 23<br />

Komputer ..................................................................................... 24<br />

!3


III. Kiat-Kiat Belajar Daring ........................................................ 25<br />

1. Belajar bersama Google .................................................................. 25<br />

Kiat mencari di Google ................................................................ 25<br />

2. Belajar bersama komunitas ............................................................. 27<br />

IV. Tanya Jawab dan Diskusi ........................................................ 29<br />

V. Kesimpulan ............................................................................... 31<br />

Gambar Ilustrasi ........................................................................... 32<br />

• • •<br />

!4


Aturan & Tata Tertib Kulgram<br />

I. Istilah<br />

• Dosen adalah pemateri kulgram.<br />

• Moderator adalah pengarah kulgram.<br />

• Topik adalah materi bahasan kulgram.<br />

• Peserta adalah anggota grup yang mengikuti kulgram.<br />

II. Sesi Kulgram<br />

1. Pembukaan.<br />

a. Moderator membuka dengan penyampaian profil dosen dan topik kulgram.<br />

b. Moderator menandai sesi kulgram dengan tagar #kulgram #judul #dosen .<br />

2. Kulgram topik oleh dosen.<br />

a. Sesi kulgram bersifat searah. Dosen menyampaikan, peserta menyimak.<br />

b. Peserta tidak boleh mengobrol dengan peserta lain atau dosen selama kulgram.<br />

c. Dosen berhak membuka sesi tanya jawab terbatas di tengah kulgram.<br />

d. Moderator berhak menyela dan menghentikan kulgram dosen jika diperlukan.<br />

3. Tanya jawab (tanja) dosen dengan peserta.<br />

a. Tanja bersifat dua arah. Peserta bertanya, dosen menjawab.<br />

b. Jika tidak bisa atau tidak bersedia menjawab, dosen bisa memberi kesempatan pada<br />

peserta lain untuk membantu menjawab pertanyaan.<br />

c. Peserta tidak boleh ikut menjawab pertanyaan tanpa ijin dan kesempatan dari dosen<br />

atau moderator.<br />

d. Pertanyaan peserta harus sesuai dengan topik yang sedang dibahas.<br />

e. Setiap pertanyaan peserta harus ditandai dengan tagar #tanya .<br />

f. Tanja dilaksanakan dalam suasana serius tapi santai dan sopan.<br />

g. Moderator mengatur proses tanja agar berlangsung dengan tertib dan teratur.<br />

h. Moderator berhak menegur dan menendang peserta yang dianggap tak mematuhi<br />

aturan dan tata tertib kulgram.<br />

4. Penutup.<br />

Moderator menutup kulgram dengan memberikan kesimpulan ringkas topik kulgram.<br />

III. Tindak Lanjut<br />

1. Panitia akan menerbitkan rekaman kulgram, berikut tanya jawab yang telah disunting<br />

seperlunya, sebagai bahan belajar untuk publik.<br />

2. Setelah sesi kulgram selesai, bisa dilanjutkan dengan diskusi bebas tanpa dipandu<br />

moderator, baik dengan atau tanpa dosen.<br />

• • •<br />

!5


Tentang Dosen<br />

Pak Lebah (Mr. Bee) adalah seorang penggemar pemrograman. Namun kurang<br />

tepat jika Pak Lebah disebut seorang pemrogram profesional karena sudah cukup<br />

lama profesi utamanya bukan lagi membuat program. Pak Lebah lebih pantas disebut<br />

sebagai pemrogram iseng karena membuat program baginya lebih sebagai hobi yang<br />

dilakukan tidak dengan serius di waktu senggang.<br />

Banyak bahasa pemrograman yang pernah dipelajari Pak Lebah, tapi bahasa<br />

pemrograman yang paling Pak Lebah sukai dan pahami adalah bahasa (object) Pascal.<br />

Dulunya Pak Lebah adalah seorang pengguna (Borland) Delphi, hingga kemudian<br />

bertemu dengan Free Pascal dan Lazarus IDE. Saat masih aktif sebagai pemrogram<br />

profesional dengan menggunakan Delphi, bidang pemrograman yang digelutinya<br />

adalah aplikasi desktop di Windows. Namun setelah itu dia berpindah ke aplikasi web,<br />

dengan menggunakan Free Pascal dan Lazarus IDE di Linux. Hingga akhirnya dia<br />

meninggalkan pemrograman untuk bekerja di bidang lainnya.<br />

Walaupun demikian, Pak Lebah tetap menyukai pemrograman karena baginya<br />

membuat program —dia lebih suka menyebutnya “koding”— adalah suatu kegiatan<br />

kreatif yang menyenangkan dan merupakan “panggilan jiwa”. Karena itu jangan<br />

heran jika sedang stres, Pak Lebah justru bikin program agar pikirannya kembali<br />

segar. Kegemarannya selain bikin program adalah membaca, terutama seputar<br />

software development dan perkembangan dunia sains dan teknologi.<br />

Saat ini, Pak Lebah sedang getol belajar bahasa pemrograman baru dari Apple,<br />

yaitu bahasa Swift. Sambil belajar, dia menuliskan juga apa yang sedang dipelajarinya<br />

ke blognya yang khusus untuk Swift di medium.com/@pak.lebah. Jika Anda juga<br />

tertarik pada bahasa baru ini, silakan kunjungi saja blog tersebut.<br />

Tanpa banyak basa-basi lagi, mari kita mulai saja kulgram hari ini oleh Pak<br />

Lebah dengan judul Bekal Belajar Pemrograman. Sebagai penanda untuk pencarian,<br />

kulgram kali ini ditandai dengan tagar #kulgram #bekalbelajar #paklebah.<br />

• • •<br />

!6


I. Mengenal Pemrograman<br />

1. Pentingnya Pemrograman<br />

Abad ini sering kali disebut sebagai abad digital dimana (hampir) seluruh<br />

kegiatan manusia di muka bumi ini dibantu oleh mesin penghitung, atau yang lazim<br />

disebut “komputer”. Dengan diciptakannya internet dan ponsel pintar (smart phone),<br />

manusia semakin tergantung pada komputer. Hari ini tak ada satu pun aspek hidup<br />

manusia modern yang luput dari sentuhan komputer. Tak berlebihan jika dikatakan<br />

bahwa dunia sekarang berada di bawah kendali para pemrogram (programmer).<br />

Maka berbondong-bondonglah orang untuk belajar koding. Tak hanya yang<br />

muda, yang tua pun tak mau ketinggalan. Kampus-kampus menawarkan berbagai<br />

program studi teknologi informasi yang sebagian besar isinya adalah pengetahuan<br />

tentang komputer dan bagaimana cara mengendalikannya. Hampir semuanya laku<br />

keras bak penjual kopi dan gorengan hangat di sore hari setelah hujan. Yang gagal<br />

masuk ke lembaga pendidikan formal pun tak kurang akal, mereka belajar secara<br />

otodidak dengan berbekal panduan yang banyak tersedia di internet.<br />

Di negara maju, pemrograman bahkan telah diperkenalkan sejak usia sekolah<br />

dasar. Dan di tingkat yang lebih tinggi, ilmu pemrograman menjadi salah satu mata<br />

pelajaran wajib. Ini menunjukkan bahwa penguasaan ilmu pemrograman bukanlah<br />

hal yang sepele, bukan cuma urusan para insiyur belaka. Kini (juga kelak), jika ada<br />

orang atau suatu golongan ingin menguasai dunia, maka bukan lagi uang yang harus<br />

mereka kuasai, tapi kendali atas informasi. Dan untuk mengendalikan informasi,<br />

dibutuhkan banyak mesin penghitung cepat yang dikendalikan oleh aplikasi-aplikasi<br />

canggih buatan para pemrogram andal. Maka tak usah heran jika Google tahu lebih<br />

banyak data rinci kita daripada pemerintah kita sendiri.<br />

Masalahnya, belajar pemrograman itu tak mudah bagi sebagian orang. Yang<br />

sekolah formal belum tentu jadi pemrogram yang andal. Banyak mahasiswa yang<br />

dengan semangat menggebu-gebu masuk program studi Teknologi Informasi tapi<br />

kemudian menyerah alias drop-out. Yang berhasil lulus pun tak dijamin betul-betul<br />

menguasai ilmu yang dipelajarinya di kampus. Itu sebabnya masih banyak pencari<br />

kerja yang sulit mendapatkan tenaga pemrogram andal, padahal lulusan TI dan<br />

kesempatan kerja di bidang TI tersedia sama banyak.<br />

Tak kenal maka tak sayang, begitu kata pepatah. Sebelum kita belajar ilmu<br />

pemrograman, kita kenali dulu apa dan bagaimana pemrograman dan pemrogram.<br />

!7


2. What, Who, Where, When, Why, and How<br />

Metode 5W+1H adalah salah satu metode praktis yang umum digunakan untuk<br />

menganalisis dan memahami suatu hal. Saya mencoba menggunakan metode ini<br />

untuk menjelaskan secara umum tentang apa dan bagaimana pemrograman dan<br />

pemrogram itu sendiri. Mari kita urai satu per satu…<br />

Apakah pemrograman itu?<br />

Sebelum kita bahas apa itu pemrograman, sebaiknya kita kenali dulu, apa itu<br />

program komputer. Program komputer adalah kumpulan perintah untuk melakukan<br />

perhitungan tertentu oleh mesin penghitung (komputer). Program komputer ditulis<br />

oleh pemrogram dengan bahasa pemrograman tertentu menggunakan penyunting<br />

(editor) atau IDE (integrated development environment). Kumpulan perintah dalam bahasa<br />

pemrograman disebut dengan kode sumber (source code) atau kode program.<br />

! <br />

Gambar 1. Diagram hubungan antar bagian dalam pemrograman.<br />

Pemrogram bisa memanfaatkan kode program lain yang sudah dibuat, biasa<br />

disebut modul (atau unit dalam bahasa Pascal). Agar program yang ditulis dalam<br />

bahasa pemrograman itu bisa dilaksanakan oleh komputer, dibutuhkan alat yang<br />

!8


disebut compiler (penghimpun) atau interpreter (penerjemah) yang tugasnya mengubah<br />

bahasa pemrograman menjadi perintah mesin. Kumpulan perintah dalam bahasa<br />

mesin disebut dengan executable (pelaksana), atau kita sebut saja program. Program<br />

bisa berinteraksi dengan penggunanya melalui tampilan, atau disebut dengan antarmuka<br />

pengguna (user interface). Saat program bekerja, ia juga bisa berinteraksi dengan<br />

program lain atau mengolah data, baik secara lokal maupun jarak jauh melalui<br />

jaringan komputer. Aplikasi adalah program yang digunakan oleh pengguna untuk<br />

membantunya menyelesaikan atau melaksanakan tugas-tugas tertentu.<br />

Pemrograman adalah proses sejak dari penyusunan kode program hingga<br />

menjadi suatu aplikasi yang siap digunakan oleh pengguna. Secara sederhana, urutan<br />

kerja (workflow) dan hubungan antar bagian-bagian program dalam pemrograman<br />

digambarkan dalam Gambar 1 di atas. Dengan begitu, ilmu pemrograman adalah<br />

ilmu yang mempelajari bagian-bagian serta proses-proses yang terlibat di dalam<br />

pemrograman. Pemrogram yang baik harus memahami seluruh bagian dan proses<br />

dalam pemrograman. Walaupun bidang kerja pemrogram sangat beragam, mulai<br />

dari pemrograman aplikasi desktop, web, database, multimedia, game, dan sebagainya,<br />

namun prinsip dan pengetahuan dasar ilmu pemrograman —seperti dalam diagram<br />

di atas— harus betul-betul dipahami dengan baik dan benar oleh setiap pemrogram.<br />

Catatan: Saya sebut “sederhana” karena masih banyak bagian atau ragam lain dari<br />

setiap bagian dalam diagram tersebut. Namun karena kulgram ini lebih ditujukan pada<br />

pemula, saya sederhanakan seperti itu, khususnya dalam konteks bahasa Pascal. Bagi<br />

yang ingin tahu lebih banyak, bisa kita bahas dalam sesi tanya jawab nanti.<br />

Siapakah pemrogram itu?<br />

Dari diagram sebelumnya kita tahu bahwa pemrogram adalah pembuat kode<br />

program. Namun tugas pemrogram tidak sesederhana itu. Sebagian orang dengan<br />

bercanda mengatakan bahwa pemrogram itu adalah orang yang bisa mengubah<br />

beberapa cangkir kopi menjadi deretan kode-kode program. Secara implisit candaan<br />

itu bisa jadi ada benarnya juga karena tugas utama pemrogram adalah berpikir.<br />

Dan berpikir memang enaknya sambil nyruput kopi. Lalu, apa yang dipikirkan?<br />

Yang dipikirkan oleh pemrogram adalah mencari penyelesaian masalah yang<br />

dihadapi oleh orang lain. Ya, sejatinya seorang pemrogram adalah penyelesai<br />

masalah (problem solver), bukan pembuat masalah (trouble maker). Oleh karena itu,<br />

seorang pemrogram yang baik dituntut untuk bisa berpikir dengan baik, runtun<br />

(berkaitan), runut (berurutan), dan teratur. Semua itu membutuhkan ilmu logika dan<br />

berhitung (aritmatika), keduanya merupakan kemampuan dasar pemrogram.<br />

!9


!<br />

Selain itu, pemrogram juga harus bisa berpikir kreatif, baik secara within the box<br />

maupun out of the box. Dengan ide-ide kreatif, solusi yang dihasilkan pemrogram bisa<br />

diwujudkan dengan cepat, mudah, dan murah. Setelah solusi terbaik —yang efektif<br />

dan efisien— ditemukan, pemrogram kemudian mewujudkan solusi tersebut menjadi<br />

sebuah aplikasi komputer agar digunakan oleh pengguna sehingga bisa selesaikan<br />

masalah yang dihadapi. Secara ringkas, diagram berikut menggambarkan alur<br />

berpikir seorang pemrogram.<br />

Gambar 2. Diagram lingkaran alur bekerja pemrogram.<br />

Dimulai dari adanya masalah, (1) pemrogram mulai memetakan secara detil apa<br />

masalahnya, kemudian (2) dipikirkan solusi-solusi apa yang dimungkinkan, kemudian<br />

(3) pilih satu solusi terbaik dan susun menjadi kode-kode program, kemudian (4) kode<br />

program mulai diterapkan menjadi aplikasi, kemudian (5) lakukan pengujian aplikasi<br />

secara menyeluruh, jika solusi gagal maka kembali ke proses nomor (1); jika solusi<br />

bekerja maka (6) serahkan aplikasi kepada pengguna, dan (7) terus evaluasi aplikasi<br />

selama digunakan pengguna. Jika ada masalah baru, kembali ke proses nomor (1).<br />

Demikian berulang seterusnya hingga pengembangan aplikasi dihentikan.<br />

!10


Dimana pemrogram bekerja?<br />

Seperti telah disinggung di atas, bahwa di jaman modern ini program komputer<br />

dibutuhkan nyaris di segala lini kehidupan manusia. Program komputer telah jadi<br />

kebutuhan sebagaimana listrik telah jadi kebutuhan dalam industri. Apalagi saat ini<br />

perkembangan teknologi komputasi sedang pesat di bidang kecerdasan buatan atau<br />

AI (artificial intelligence) yang bisa masuk ke lebih banyak lagi industri modern. Artinya,<br />

profesi pemrogram dibutuhkan di mana saja, tak terbatas hanya di bidang teknologi<br />

informasi. Dengan begitu, peluang kerja profesi pemrogram sangat terbuka luas. Tak<br />

banyak profesi yang punya kesempatan seperti ini.<br />

Namun ada salah kaprah di sebagian pemrogram. Karena profesi pemrogram<br />

bisa bekerja di mana saja, maka dianggap pemrogram harus ahli di segala bidang. Ini<br />

anggapan yang kurang tepat, sebab jika seperti itu maka tak ada satu pun manusia di<br />

bumi ini yang sanggup menjadi pemrogram. Pemrogram tidak harus ahli di segala<br />

bidang, tetapi pemrogram harus bisa bekerja sama dengan orang lain yang ahli di<br />

bidangnya masing-masing untuk bersama-sama mencari solusi yang terbaik. Karena<br />

itu, seperti juga di profesi-profesi lainnya, pemrogram harus bisa berkomunikasi dan<br />

berkolaborasi secara baik dengan orang lain dalam kerja sama tim. Kecuali jika<br />

memang si pemrogram ingin bekerja sendiri, maka dia sendiri harus menguasai<br />

semua ilmu yang dibutuhkannya untuk membuat program. Jenis pemrogram seperti<br />

itu ada, tapi tidak banyak.<br />

Kapan pemrogram bekerja?<br />

Sebagai sebuah profesi, pemrogram pada umumnya juga dituntut untuk bisa<br />

bekerja sesuai jam kerja normal, yaitu dari pagi hingga sore atau petang hari. Apalagi<br />

jika untuk membuat programnya, si pemrogram terlibat atau bekerja sama dengan<br />

orang lain yang bukan pemrogram, maka tuntutan itu makin kuat. Pemrogram harus<br />

bisa menghormati kesepakatan umum jam kerja ini.<br />

Pemrogram yang enggan/malas bekerja di jam kerja normal adalah pemrogram<br />

yang egois. Kebanyakan pemrogram yang demikian itu beralasan bahwa membuat<br />

program itu butuh mood dan waktu, mungkin juga tempat, yang tepat agar ide-ide<br />

kreatif bisa keluar dengan lancar. Menurut saya, alasannya bisa jadi benar, tapi<br />

solusinya tidak dengan bekerja di waktu seenaknya. Bagaimana pun pemrogram<br />

harus bisa menghormati pola kerja orang lain.<br />

Lalu bagaimana kiat supaya pemrogram bisa bekerja di jam kerja normal? Saya<br />

telah bahas panjang lebar di blog saya mengenai hal itu. Terlalu panjang jika saya<br />

bahas detil di sini. Jika Anda tertarik, silakan baca di: http://paklebah.tumblr.com/<br />

post/150853533384/jam-kerja-programmer.<br />

!11


Bahasan ‘dimana’ dan ‘kapan’ pemrogram bekerja mungkin belum penting bagi<br />

yang baru belajar pemrograman. Namun jika Anda benar-benar serius menekuni<br />

pemrograman, penjelasan di atas perlu dipertimbangkan baik-baik saat Anda akan<br />

memilih bidang karier pemrograman yang akan digeluti nanti.<br />

Mengapa menjadi pemrogram?<br />

Kita bicara tentang motivasi mengapa seseorang memutuskan untuk menjadi<br />

pemrogram, atau dalam konteks kulgram ini, mengapa seseorang tertarik untuk<br />

belajar pemrograman. Seperti telah dibahas di awal tadi, umumnya motivasi utama<br />

terjun ke dunia pemrograman adalah karier atau kesempatan kerja, sebab profesi<br />

pemrogram memang dibutuhkan di mana-mana dan jumlahnya terus meningkat.<br />

Motivasi bisa apa saja, bebas. Tetapi apa pun motivasinya harus diikuti oleh<br />

setidaknya 3 (tiga) syarat ini. Seperti pada profesi lainnya, 3 syarat ini harus dipenuhi<br />

setiap orang yang ingin berprofesi sebagai pemrogram karena syarat-syarat ini yang<br />

kelak menjadi kunci kesuksesan atau kegagalannya. 3 syarat tersebut adalah:<br />

1. Kemauan. Bahasa gaulnya disebut passion atau kecintaan yang kuat pada bidang<br />

kerja yang dipilih. Kemauan yang kuat menjadi modal mental yang bagus untuk<br />

mendorong seseorang agar berusaha menjadi yang terbaik dalam pekerjaannya.<br />

2. Kemampuan. Setiap orang —siapa pun— sepanjang masih punya akal untuk<br />

berpikir dan berhitung, maka dia mampu menjadi seorang pemrogram. Bagi<br />

orang umumnya, faktor kemampuan ini cenderung tak jadi masalah karena<br />

terbukti pemrogram jagoan bisa muncul dari mana saja. Bahkan dari lingkungan<br />

yang sepertinya tak ada hubungan dengan ilmu pemrograman, seperti ilmu sosial<br />

atau ilmu pertanian atau ilmu peternakan.<br />

Selingan: Saya punya teman yang kuliah di Fakultas Peternakan tapi tertarik pada<br />

pemrograman sejak mengenal komputer di kampus. Dia berasal dari desa terpencil yang<br />

tak pernah melihat komputer. Dia belajar pemrograman secara otodidak sambil kuliah.<br />

Kini dia jadi pemrogram andal di sebuah perusahaan besar di ibukota, sambil beternak<br />

sapi dan kambing di kampungnya. :)<br />

3. Kerja keras. Kemauan ada, kemampuan ada. Cukup? Tidak. Umumnya anak<br />

muda generasi sekarang, agak lemah di faktor ini. Sedikit pusing memahami<br />

algoritma, sudah menyerah. Mendapat tugas kuliah agak sulit, bukannya berusaha<br />

menyelesaikan sendiri, malah mencari kode program jadi di internet. Percayalah,<br />

tanpa kerja keras, Anda akan gagal menjadi apa pun. Tak cuma pemrogram. Tak<br />

berguna passion dan bakat jika tak disertai kerja keras.<br />

!12


Bagaimana menjadi pemrogram?<br />

Setelah penjelasan di atas, lalu bagaimana seseorang bisa menjadi pemrogram<br />

yang andal atau jagoan? Tentu ada banyak cara, tapi bagi pemula setidaknya pola<br />

pikir (mindset) berikut penting sebagai pegangan awal.<br />

1. Komputer itu cepat, tapi bodoh.<br />

Dari penjelasan tentang apa itu program dan pemrograman, pemrogram punya<br />

cara pandang yang berbeda terhadap komputer dibandingkan dengan orang awam.<br />

Jika orang awam melihat komputer sebagai perangkat yang canggih dan pintar, maka<br />

pemrogram melihat komputer tak lebih dari rangkaian gerbang logika elektronika<br />

yang mampu bekerja dengan cepat. Bagi pemrogram, komputer itu memang cepat,<br />

tapi bodoh. Yang membuat komputer itu menjadi canggih dan pintar adalah yang<br />

membuat program alias pemrogram.<br />

Artinya, ketika pemrogram membuat program yang gagal bekerja dengan baik<br />

maka kemungkinan besar pemrogramlah yang jadi sumber kegagalan itu. Karena<br />

komputer hanya bisa melakukan apa yang diperintahkan oleh pemrogram melalui<br />

baris-baris kode program, komputer tak bisa berpikir sendiri. Tanggung jawab<br />

berpikir itu ada di manusia pemrogramnya. Pemrogram harus ingat prinsip ini:<br />

“Komputer melakukan apa yang kita perintahkan, bukan apa yang kita maui.”<br />

2. Pemrograman adalah keahlian (skill).<br />

Penjelasan tentang siapa pemrogram menunjukkan bahwa pemrograman itu<br />

bukan sekadar ilmu, tapi juga merupakan keahlian yang harus selalu diasah dan<br />

dipraktekkan. Itu sebabnya saya sering menganalogikan keahlian pemrograman<br />

seperti kemampuan berenang. Jika kita ingin jadi perenang jagoan, tak bisa dengan<br />

hanya membaca saja. Mau kita baca selemari buku tentang cara berenang yang baik,<br />

tak mungkin kita mendadak jago berenang setelahnya. Tapi kita juga harus praktek<br />

atau berlatih dengan rajin dan berkesinambungan. Agar kemampuan meningkat,<br />

tantang kemampuan kita sendiri dengan meningkatkan beban latihannya. Jadi, jika<br />

Anda ingin jadi pemrogram jagoan, kiatnya ada tiga, yaitu: berlatih, berlatih, dan<br />

berlatih. Sama seperti seorang perenang.<br />

Alasan yang sama juga mengapa belajar pemrograman dengan menyontek (atau<br />

copy-paste) kode orang lain itu bukan cara yang baik, terutama bagi pemula. Program<br />

itu hasil olah pikir, bukan menghafal. Cukuplah menyontek kode program dari buku<br />

teks pelajaran sekolah/kuliah, lebih dari itu coba dengan menyusun sendiri program<br />

yang ingin kita buat. Jika perlu dibantu, maka mintalah bantuan algoritmanya (alur<br />

berpikirnya), lalu bikin sendiri kode program dengan algoritma tersebut, bukan minta<br />

kode program yang sudah jadi.<br />

!13


3. Pemrogram modern itu harus ‘gaul’.<br />

Pemrogram umum dikenal sebagai orang yang tidak suka berbicara (pendiam),<br />

cenderung introvert, tidak punya teman, jarang mandi dan keluar rumah, serta seharihari<br />

hanya berkutat dan melotot di depan komputer saja. Istilahnya nerd atau geek.<br />

Predikat jones (jomblo ngenes) sudah menjadi semacam trademark bagi pemrogram.<br />

Bagaimana bisa punya pacar jika yang dielus tiap hari cuma laptop dan hubungan<br />

yang dipedulikan hanya hubungan internet?<br />

Pandangan seperti itu sudah tidak laku di jaman internet dan media sosial ini.<br />

Pemrogram masa kini harus komunikatif dan berwawasan. Istilah kerennya gaul. Ini<br />

karena tantangan aplikasi ke depan akan semakin kompleks dan melibatkan banyak<br />

orang dari berbagai disiplin ilmu/keahlian, dan golongan. Semakin kaya dan terbuka<br />

wawasan kita, semakin banyak ide-ide solusi yang bisa dipikirkan. Pemrogram yang<br />

tak bisa berinteraksi secara baik dengan orang lain serta pengetahuannya terbatas<br />

cuma di seputar komputer saja, akan sulit memberikan solusi-solusi yang cerdas dan<br />

kreatif kepada para (calon) penggunanya. Berhubung tugas utama pemrogram<br />

adalah problem solving maka pemrogram yang tak mampu memberikan solusi itu<br />

pemrogram yang tidak laku, karena tidak ada gunanya.<br />

Pemrogram sukses yang saya lihat kebanyakan adalah orang-orang yang juga<br />

punya hobi atau bahkan profesi di bidang lain. Misalnya selain sebagai pemrogram<br />

juga jadi pengusaha, pemain musik, penyuka olahraga, aktivis komunitas, penulis,<br />

dan lain sebagainya. Dan biasanya, pemrogram jagoan itu juga gamer jagoan.<br />

4. Kuasai bahasa Inggris dengan baik.<br />

Pemrograman adalah ilmu impor, ilmu yang berasal dari luar negeri, terutama<br />

dari negara-negara yang berbahasa Inggris. Sumber utama ilmu pemrograman itu<br />

umumnya dalam bahasa Inggris. Oleh karena itu, seorang pemrogram juga sebaiknya<br />

bisa berbahasa Inggris dengan baik, minimal kemampuan membaca. Walaupun kini<br />

sudah banyak tersedia buku-buku dan blog-blog pemrograman dalam bahasa<br />

Indonesia, tapi sumber utama tetap lebih banyak dalam bahasa Inggris. Akan lebih<br />

baik lagi jika pemrogram juga mampu menulis dalam bahasa Inggris. Ini penting<br />

untuk berinteraksi di forum-forum daring pemrograman internasional.<br />

Kurangnya kemampuan baca-tulis bahasa Inggris ini bisa menjadi penghalang<br />

yang cukup besar dalam belajar pemrograman. Perangkat kerja pemrogram, seperti<br />

dokumentasi compiler, panduan IDE, pesan kesalahan, dsb juga dalam bahasa Inggris.<br />

Oleh karena itu, pemrogram yang bisa berbahasa Inggris umumnya bisa lebih cepat<br />

belajar dan berkembang daripada yang tidak bisa berbahasa Inggris karena bisa<br />

langsung belajar dari sumber-sumber utama.<br />

!14


5. Sekali kerja, dua hasil.<br />

Dari gambar 1 di atas, kerja pemrogram menghasilkan 2 hal sekaligus, yaitu:<br />

kode program dan program (executable). Ini salah satu keunikan kerja pemrogram yang<br />

jarang sekali dimiliki profesi lainnya. Karena ada 2 hasil, maka penilaian mutu kerja<br />

pemrogram juga diukur dari kedua hasil tersebut. Pemrogram yang baik memberikan<br />

mutu yang baik pada kedua hasil, bukan hanya pada salah satunya saja.<br />

Kode program, yaitu baris-baris perintah dalam bahasa pemrograman, mutunya<br />

diukur berdasarkan pada—setidaknya—tiga hal, yaitu: keterbacaan, pengembangan,<br />

dan algoritma. Sebuah kode program yang baik idealnya mudah dibaca sehingga<br />

juga mudah dipahami karena penulisan yang rapi, konsisten, dan sederhana. Kode<br />

program mudah dikembangkan lebih lanjut baik untuk penambahan fungsi baru atau<br />

perbaikan fungsi lama. Serta penggunaan algoritma yang efektif dan efesien dalam<br />

solusi yang diterapkan dalam kode program yang disusun. Pengukuran mutu kode<br />

program berdasarkan hasil penilaian pemrogram lain.<br />

Program (executable), yaitu kode-kode perintah dalam bahasa mesin, mutunya<br />

diukur berdasarkan pada—setidaknya—tiga hal juga, yaitu: kecepatan, sumberdaya,<br />

dan kesesuaian. Sebuah program yang baik idealnya mempunyai kecepatan proses<br />

yang tinggi karena salah satu keunggulan komputer adalah kemampuan berhitung<br />

dengan cepat. Pemakaian sumber daya yang minimal, baik dalam penggunaan<br />

memori, pemroses, atau pun kapasitas penyimpanan. Serta program harus bekerja<br />

sesuai dengan yang diinginkan oleh pengguna. Pengukuran mutu program dilakukan<br />

berdasarkan hasil pengujian saat program bekerja di komputer.<br />

• • •<br />

!15


II. Prinsip-Prinsip Dasar Bahasa Pemrograman<br />

1. Memilih Bahasa Pemrograman<br />

Belajar bahasa pemrograman pada prinsipnya tak jauh berbeda dengan belajar<br />

bahasa manusia pada umumnya. Walaupun ada begitu banyak bahasa (manusia),<br />

namun prinsip dasarnya secara umum sama saja, atau setidaknya mirip. Dari seluruh<br />

bahasa yang ada, tak ada bahasa yang betul-betul bisa disebut ‘bahasa terbaik’ sebab<br />

setiap bahasa memiliki keunggulan dan kekurangan masing-masing. Memilih bahasa<br />

(pemrograman) biasanya lebih banyak karena faktor subyektif dan juga popularitas.<br />

Jadi, silakan Anda memilih bahasa pertama apa pun yang menurut Anda menarik.<br />

Namun… saya menyarankan untuk belajar pemrograman dimulai dari bahasa<br />

Pascal. Bukan semata karena saya suka Pascal dan kita sedang di komunitas Pascal<br />

Indonesia, tapi sejak awal dibuat Pascal memang dirancang sebagai bahasa yang<br />

mudah dipelajari. Salah satunya karena cara penulisan (sintaks) bahasa Pascal mirip<br />

sekali dengan bahasa manusia (dalam hal ini bahasa Inggris). Menulis program dalam<br />

bahasa Pascal hampir seperti menulis cerita.<br />

Pemrogram yang mengawali belajar dari bahasa Pascal relatif lebih mudah saat<br />

beralih ke bahasa-bahasa pemrograman lainnya, namung sering kali tak berlaku<br />

sebaliknya. Pemrogram bahasa lain juga lebih mudah memahami kode program yang<br />

ditulis dalam bahasa Pascal, namun juga tak berlaku sebaliknya.<br />

2. Struktur Bahasa Pemrograman<br />

Bahasa pemrograman ada beragam tetapi struktur bahasa pemrograman secara<br />

umum sama saja. Semuanya memiliki bagian-bagian penting yang harus tersedia<br />

agar bisa disebut sebagai bahasa pemrograman atau istilahnya harus memenuhi<br />

Turing Complete. Berikut bagian-bagian dalam struktur bahasa pemrograman.<br />

Tata Bahasa (grammar atau sintaks)<br />

Bahasa pemrograman itu pada dasarnya mirip dengan bahasa manusia. Bahasa<br />

pemrograman juga ada tata bahasa, yaitu tata cara penulisan bahasa yang baku, baik,<br />

dan benar, termasuk juga penulisan tanda baca. Bedanya, jika bahasa manusia lebih<br />

bebas (fleksibel) dalam penerapan tata bahasa —hingga ada seperti bahasa alay—<br />

maka bahasa pemrograman berlaku sangat ketat. Tak ada toleransi sama sekali.<br />

Kurang satu titik saja dalam penulisan kode program, komputer akan protes dan<br />

menolaknya. Makanya, menulis program itu harus dengan teliti dan hati-hati.<br />

!16


Oleh sebab itu, hal pertama yang harus dilakukan dalam belajar bahasa<br />

pemrograman adalah memahami tata bahasa di bahasa pemrograman tersebut.<br />

Misalnya, bagaimana cara menulis perintah, susunan perintah harus terdiri dari apa<br />

saja, bagaimana penempatan tanda baca yang benar, dan lain sebagainya. Kita tak<br />

akan bisa menulis kode program dengan baik dan benar jika kita belum paham tata<br />

bahasa di bahasa pemrograman yang kita gunakan. Karena itu, saran saya, jangan<br />

pernah mulai menulis program jika belum membaca aturan-aturan tata bahasa<br />

pemrograman yang digunakan.<br />

Penyimpan (instance)<br />

Program komputer selalu berurusan dengan data. Data disimpan dalam memori<br />

komputer. Bagian kode komputer yang menunjukkan data disebut dengan penyimpan<br />

(instance). Setiap penyimpan mempunyai pengenal (identifier) berupa nama yang unik<br />

sesuai lingkupnya. Ada dua jenis penyimpan, yaitu:<br />

1. Penyimpan yang mengijinkan perubahan terhadap data di memori. Jenis ini<br />

umum disebut sebagai peubah (variabel), istilah lainnya adalah mutable.<br />

2. Penyimpan yang tidak mengijinkan perubahan terhadap data di memori. Jenis ini<br />

umum disebut sebagai konstanta (constant), istilah lainnya adalah immutable.<br />

Tipe data (data type)<br />

Masih terkait dengan data. Setiap data harus dibedakan berdasarkan jenisnya<br />

atau tipenya untuk menentukan perhitungan apa yang bisa diberlakukan terhadap<br />

jenis data tersebut. Kita tak bisa melakukan penjumlahan (addition) terhadap jenis data<br />

teks. Contoh, teks ‘aku’ tak bisa dijumlahkan dengan teks ‘kamu’, sebab bagaimana<br />

cara menghitung ‘aku’+‘kamu’? Apakah hasilnya ‘2a2k1m2u’ atau ‘aku dan kamu’<br />

atau ‘akukamu’? Yang bisa dilakukan terhadap data teks adalah penggabungan atau<br />

penyambungan (concatenation). Penggabungan teks sudah jelas caranya, yaitu jika teks<br />

‘aku’ disambung dengan teks ‘kamu’ menjadi ‘akukamu’. Perhitungan yang berbeda<br />

berlaku untuk jenis data bilangan. Pada jenis data bilangan, hanya berlaku hitungan<br />

matematika (aritmatika). Contoh, bilangan 1 (satu) jika dijumlahkan dengan bilangan<br />

2 (dua) hasilnya adalah 3 (tiga), bukan 12 (‘dua belas’ atau ‘satu dua’).<br />

Secara umum, ada dua kelompok tipe data, yaitu:<br />

1. Tipe data sederhana, yang setidaknya terdiri dari empat tipe data, yaitu:<br />

• teks atau string,<br />

• bilangan bulat atau integer,<br />

• bilangan pecahan atau float,<br />

• logika atau boolean.<br />

!17


!<br />

2. Tipe data terstruktur, yang setidaknya terdiri dari lima tipe data, yaitu:<br />

• himpunan atau set,<br />

• larik/deret atau array,<br />

• kumpulan atau record,<br />

• berkas atau file,<br />

• kelas atau class.<br />

Bahasa pemrograman modern mendukung semua tipe data di atas dan bisa jadi<br />

juga beberapa tipe data lainnya. Misal, dalam bahasa Pascal dikenal juga tipe data<br />

enumerasi (enumeration), kerangka (interface), penunjuk (pointer), dan lain-lain, seperti<br />

yang ditunjukkan pada diagram di bawah ini. Namun bagi pemrogram pemula,<br />

minimal 9 (sembilan) tipe data di atas harus dipahami dengan baik. Mulai dulu dari<br />

tipe data sederhana, lalu ke tipe data terstruktur, dan ke tipe data lainnya.<br />

Gambar 3. Diagram tipe data yang tersedia di bahasa Pascal.<br />

!18


Bahasa pemrograman mempunyai cara yang berbeda dalam penerapan tipe<br />

data. Secara umum, ada dua cara penerapan tipe data, yaitu:<br />

1. Penerapan tipe data secara tetap (static typing) yaitu tipe data berlaku tetap pada<br />

setiap penyimpannya. Artinya, ketika sebuah penyimpan dinyatakan bertipe data<br />

teks maka selamanya penyimpan tersebut hanya bisa menerima data teks.<br />

2. Penerapan tipe data secara berubah (dynamic typing) yaitu tipe data bisa berubah<br />

secara dinamis pada penyimpannya sepanjang program bekerja. Artinya, sebuah<br />

penyimpan bisa menyimpan tipe data apa saja dan tipe datanya bisa ditentukan<br />

saat datanya dibaca. Misal, sebuah penyimpan A berisi data 10 maka itu dianggap<br />

bertipe bilangan bulat (integer), tapi jika kemudian penyimpan A itu isinya diganti<br />

dengan data ‘abc’ maka itu dianggap bertipe teks (string).<br />

Masing-masing cara penerapan tipe data di atas mempunyai keunggulan dan<br />

kelemahan. Saat memilih bahasa, pastikan Anda mengetahui bagaimana bahasa<br />

tersebut melakukan penerapan tipe data karena —tentu— tata bahasanya juga akan<br />

berbeda. Contoh, bahasa Pascal menerapkan tipe data secara tetap, sementara Java<br />

Script menerapkan tipe data secara berubah.<br />

Perulangan<br />

Salah satu kelebihan komputer adalah mampu melakukan perhitungan dengan<br />

cepat dan berulang tanpa merasa capek atau bosan. Ya jelas, karena komputer adalah<br />

benda mati yang bodoh. Karena itu, setiap bahasa pemrograman harus menyediakan<br />

perintah untuk melakukan perulangan. Jika tidak maka tak layak ia disebut sebagai<br />

bahasa pemrograman.<br />

Secara umum, ada tiga jenis perintah perulangan, yaitu:<br />

1. Perulangan berdasarkan jumlahnya, yaitu perulangan yang dilakukan sekian kali.<br />

Biasanya jenis perintah perulangan ini menggunakan kata perintah for. Misalnya<br />

di bahasa Pascal adalah for...do.<br />

2. Perulangan dengan syarat di awal, yaitu perulangan yang dilakukan selama suatu<br />

syarat terpenuhi dan syarat ditentukan di awal perintah. Biasanya jenis perintah<br />

perulangan ini menggunakan kata perintah while. Misalnya di bahasa Pascal<br />

adalah while...do.<br />

3. Perulangan dengan syarat di akhir, yaitu perulangan yang dilakukan selama suatu<br />

syarat terpenuhi dan syarat ditentukan di akhir perintah. Karena itu, jenis ini<br />

setidaknya perulangan dilakukan sekali. Biasanya jenis perintah perulangan ini<br />

menggunakan kata perintah repeat atau while. Misalnya di bahasa Pascal<br />

adalah repeat...until.<br />

!19


Uji kondisi<br />

Komputer tidak bisa berpikir. Yang bisa ia lakukan hanyalah membandingkan<br />

satu data dengan data lainnya, yang kemudian menentukan perintah selanjutnya<br />

berdasarkan pada hasil perbandingan. Karena itu, uji kondisi disebut juga dengan<br />

percabangan (branching). Dari kemampuan dasar membandingkan inilah komputer<br />

bisa melakukan banyak hal sehingga ia tampak pintar bagi pengguna awam.<br />

Kemampuan membandingkan juga merupakan salah satu kemampuan yang harus<br />

tersedia dalam bahasa pemrograman. Kemampuan membandingkan data ini disebut<br />

juga dengan kemampuan uji kondisi.<br />

Secara umum, ada dua jenis perintah uji kondisi, yaitu:<br />

1. Uji kondisi dengan logika jika…maka atau if…then. Uji kondisi jika…maka adalah<br />

uji kondisi paling sederhana yang melakukan uji logika pada kondisi ‘jika’ yang<br />

jika dan hanya jika kondisi tersebut bernilai benar maka perintah setelah ‘maka’<br />

akan dikerjakan, sehingga jika kondisi pada ‘jika’ tak terpenuhi (bernilai salah)<br />

maka tak ada perintah yang dikerjakan.<br />

Karena itu, perintah uji kondisi jika…maka biasanya dilengkapi pula dengan uji<br />

kondisi jika…maka…lainnya atau if…then…else dimana perintah setelah ‘lainnya’<br />

yang akan dijalankan jika kondisi pada ‘jika’ bernilai salah (tak terpenuhi).<br />

Dalam bahasa Pascal, perintah uji kondisi jika…maka ini sama persis dengan<br />

bahasa Inggris-nya, yaitu if...then...else.<br />

2. Uji kondisi dengan pencocokan nilai. Uji kondisi ini membandingkan nilai suatu<br />

data (biasanya dari penyimpan) dengan nilai yang telah ditentukan. Jika diperoleh<br />

nilai yang sama atau cocok maka perintah yang mengikuti nilai tersebut yang akan<br />

dijalankan. Kelebihan uji kondisi pencocokan nilai ini adalah bisa melakukan<br />

perbandingan dengan banyak nilai sekaligus, tidak seperti uji kondisi jika…maka<br />

yang melakukan perbandingan satu per satu. Dalam bahasa Pascal, perintah uji<br />

kondisi pencocokan nilai ini adalah case...of.<br />

Jenis-jenis perintah uji kondisi dan perulangan di atas masing-masing memiliki<br />

keunggulan dan kekurangan. Pemrogram yang baik bisa memilih dengan tepat jenis<br />

perintah yang mana yang diperlukan untuk menyelesaikan suatu masalah secara<br />

efektif dan efisien.<br />

Subprogram<br />

Salah satu prinsip pemrograman adalah “jangan menyusun kode program untuk<br />

menyelesaikan masalah besar sekaligus, melainkan pecahlah kode program menjadi<br />

bagian-bagian kecil yang masing-masing menyelesaikan masalah kecil.” Ibaratnya<br />

bangunan dibangun dari kumpulan batu-batu bata yang disusun secara rapi dan<br />

!20


direkatkan oleh adonan semen, bukan dari selembar baja besar dari lantai hingga<br />

atap. Jika bangunan terdiri dari susunan batu bata, ketika ada batu bata yang rusak<br />

maka hanya bagian itu saja yang perlu diperbaiki, tanpa perlu menyentuh bagian<br />

lain. Sebaliknya, jika bangunan terdiri dari selembar baja, ketika lembaran itu robek<br />

maka satu lembar besar baja itu harus diganti seluruhnya.<br />

Secara umum, ada dua jenis subprogram, yaitu:<br />

1. Metode (method) yaitu subprogram yang masih berada dalam lingkup berkas yang<br />

sama. Di banyak bahasa pemrograman, subprogram jenis ini dikenal dengan<br />

nama function, tapi dalam bahasa Pascal ada dua macam subprogram jenis ini,<br />

yaitu function dan procedure.<br />

2. Modul (module) yaitu subprogram yang berada di berkas yang berbeda. Jenis ini<br />

ada dua macam, yaitu:<br />

- modul yang disertakan secara statik (static module).<br />

- modul yang dipanggil secara dinamis (dynamic module).<br />

Modul statik disertakan bersama program utama. Dalam bahasa Pascal, modul<br />

jenis ini disebut dengan unit. Modul dinamis dipanggil saat program utama<br />

sedang bekerja. Di sistem operasi Windows, modul jenis ini berupa berkas .dll<br />

(dynamic linked library). Di Linux, modul jenis ini berupa berkas .so (shared object).<br />

3. Alat bantu pemrograman<br />

Kode program yang kita ketik di komputer hanyalah teks biasa. Ibarat musik,<br />

kode program kita hanya not-not nada yang tertulis di atas lembaran musik. Untuk<br />

membunyikannya perlu berbagai alat musik yang mengubah tulisan nada di kertas<br />

menjadi musik yang indah didengar. Pembuat program juga butuh berbagai alat<br />

bantu yang mewujudkan kode-kode program yang ditulis menjadi aplikasi yang bisa<br />

digunakan orang lain. Seperti yang telah ditunjukkan pada gambar 1 di atas, alat-alat<br />

bantu yang dibutuhkan seorang pemrogram antara lain:<br />

Penyunting<br />

Penyunting (editor) adalah aplikasi penyunting teks untuk menuliskan kode-kode<br />

program. Penyunting tersedia mulai dari yang sederhana seperti Notepad hingga<br />

yang canggih seperti Sublime Text, Notepad++, Atom, Geany, dan sejenisnya.<br />

Penyunting yang berfungsi lebih dari sekadar penyunting teks disebut dengan IDE<br />

(integrated development environment) atau aplikasi pengembangan terpadu. Tak hanya<br />

menyunting, IDE juga membantu proses-proses lain dalam pembuatan program,<br />

seperti mengkompilasi kode, penelusuran kesalahan (awakutu atau debugging), menata<br />

tampilan, dan lain sebagainya.<br />

!21


!<br />

Di bahasa Pascal, ada dua IDE yang terkenal dan umum digunakan yaitu:<br />

Delphi, IDE berbayar dari Embarcadero dan tersedia hanya untuk Windows; dan<br />

Lazarus IDE, IDE gratis dan terbuka (open source) dan tersedia untuk berbagai sistem<br />

operasi (cross platform) seperti Windows, Linux, dan Mac OS.<br />

Gambar 4. Tampilan Lazarus IDE di Linux Ubuntu.<br />

Bagi pemrogram pemula, saya sarankan untuk menggunakan Lazarus IDE saja.<br />

Lupakan penyunting teks bawaan Free Pascal, apalagi Turbo Pascal, yang berwarna<br />

latar biru itu. Ingat, kita sekarang hidup di tahun 2017, bukan tahun 80-an, maka<br />

gunakanlah aplikasi penyunting yang sesuai jaman.<br />

Penerjemah<br />

Pada gambar 1 di atas telah ditunjukkan bahwa penerjemah berfungsi untuk<br />

mengubah kode-kode program yang ditulis dalam bahasa pemrograman menjadi<br />

kode-kode mesin yang dijalankan oleh komputer. Penerjemah ada dua jenis, yaitu:<br />

compiler dan interpreter. Compiler menerjemahkan kode program ke kode mesin secara<br />

sekaligus, langsung menjadi executable. Interpreter menerjemahkan kode program ke<br />

kode mesin secara per baris atau sekelompok baris.<br />

Juga ada dua penerjemah bahasa Pascal yang terkenal dan umum digunakan,<br />

yaitu: Delphi (disertakan bersama Delphi IDE) dan Free Pascal (yang digunakan oleh<br />

Lazarus IDE). Keduanya adalah jenis compiler, bukan interpreter. Kedua penerjemah ini<br />

memiliki dialek yang berbeda, walaupun sama-sama berbahasa Pascal.<br />

!22


Ibaratnya bahasa manusia, bahasa Jawa misalnya, ada dialek Surabaya, ada<br />

dialek Solo. Walaupun keduanya sama-sama bahasa Jawa, namun ada hal-hal kecil<br />

yang membedakan keduanya sehingga kedua dialek tersebut tak bisa disebut sama<br />

100%. Demikian pula berlaku pada bahasa pemrograman yang berbeda penerjemah.<br />

Itu sebabnya ada pembakuan (standarisasi) diterapkan oleh bahasa pemrograman<br />

tertentu agar semua penerjemah bahasa tersebut mengacu pada dialek yang sama.<br />

Penelusur<br />

Diagram lingkar kerja pemrogram pada gambar 2 di atas menunjukkan apa saja<br />

yang dikerjakan oleh seorang pemrogram. Konon, menurut sebuah survei, 60% kerja<br />

pemrogram berpikir, lalu 30% menguji, dan hanya 10% saja untuk menulis kode<br />

program. Menguji bertujuan untuk menguji apakah solusi yang digunakan bekerja<br />

dengan baik, tanpa kesalahan. Bagaimana menemukan kesalahan?<br />

Maka hadirlah alat bantu yang disebut dengan debugger (penelusur) program.<br />

Penelusur biasanya disertakan bersama IDE. Penelusur berfungsi untuk merekam<br />

segala hal yang terjadi pada saat program sedang berjalan sehingga pemrogram bisa<br />

mengamati alur program sebenarnya. Penelusur juga bisa menghentikan jalannya<br />

program di baris-baris tertentu di kode program (breakpoint) untuk mencari kesalahan<br />

program. Proses penelusuran ini biasa disebut dengan debugging atau awakutu.<br />

Proses awakutu ini penting karena pemrogram bisa betul-betul memahami<br />

bagaimana kode program yang ditulisnya bekerja. Pemrogram yang baik harus bisa<br />

melakukan awakutu secara cepat dan tepat sehingga kesalahan bisa segera ditemukan<br />

dan diperbaiki. Oleh sebab itu, salah satu ukuran pemrogram yang andal adalah<br />

kemampuannya dalam mencari kesalahan kode program melalui proses awakutu.<br />

Jangan pernah berharap kita menulis kode program dan simsalabim program kita<br />

langsung bekerja dengan baik dan benar tanpa perbaikan atau perubahan sama<br />

sekali. Bahkan pemrogram yang andal pun tak bisa melakukan itu, kecuali programprogram<br />

yang sangat sederhana. Seringkali dibutuhkan penyusunan dan perombakan<br />

kode program hingga berulang kali —yang kadang bikin stress— sebelum kemudian<br />

program bisa berjalan sesuai dengan yang kita inginkan.<br />

Pemrogram pemula harus mempelajari teknik awakutu sejak awal, khususnya<br />

dengan bantuan IDE yang digunakannya. Umumnya penelusur bisa menjalankan<br />

program baris per baris. Kemampuan ini bisa dimanfaatkan pemrogram pemula<br />

untuk memahami urutan kerja kode program yang ditulisnya secara nyata sehingga<br />

pemahaman terhadap alur program bukan berdasarkan hafalan tetapi pengamatan<br />

terhadap jalannya program. Jika ada kesalahan bisa dicari dan dianalisis berdasarkan<br />

pengamatan, bukan tebak-tebakan belaka.<br />

!23


Komputer<br />

Karena kita sedang membahas bahasa pemrograman komputer, tentu saja kita<br />

membutuhkan komputer. Komputer yang saya maksud lebih ke pengertian sistem<br />

operasi, bukan semata perangkat elektroniknya. Pemrogram harus mengerti sistem<br />

operasi komputer tempat programnya akan bekerja sebab setiap sistem operasi<br />

memiliki keunikan, perilaku, keunggulan, dan kelemahan masing-masing. Seringkali<br />

apa yang bisa dilakukan di satu sistem operasi tak bisa dilakukan di sistem operasi<br />

yang lain, atau bisa dilakukan namun dengan cara dan teknik yang berbeda.<br />

Sistem operasi adalah pondasi atau lapisan terbawah perangkat lunak agar<br />

sebuah komputer bisa bekerja. Sistem operasi menyediakan dan mengendalikan akses<br />

aplikasi terhadap perangkat keras, seperti olah grafis, olah berkas, olah jaringan, dan<br />

sebagainya. Program yang dibuat pemrogram hanya bisa bekerja di atas sistem<br />

operasi komputer. Karena itu, pengetahuan dasar sistem operasi adalah penting bagi<br />

setiap pemrogram.<br />

Sistem operasi sekarang tak hanya ada di komputer meja, tapi juga di perangkat<br />

komputer bergerak seperti ponsel pintar dan sabak (tablet). Di komputer meja, sistem<br />

operasi yang umum digunakan adalah Microsoft Windows, Apple Mac OS, dan<br />

Linux. Sementara di komputer bergerak, ada Google Android dan Apple iOS. Jadi,<br />

sebelum membuat program, kenali dulu sistem operasi di mana program tersebut<br />

akan digunakan.<br />

• • •<br />

!24


III. Kiat-Kiat Belajar Daring<br />

Sebelum membahas kiat-kiat belajar daring (online), saya ingin tegaskan dulu<br />

bahwa pemrograman menuntut pemrogram untuk rajin membaca. Ini berlaku sejak<br />

mulai belajar. Sebelum mulai menulis program, hal pertama yang harus dilakukan<br />

adalah membaca buku atau tutorial pemrograman. Baca dan pahami prinsip-prinsip<br />

dasar pemrograman seperti yang telah dibahas pada bab sebelumnya. Membuat<br />

program tanpa paham prinsip-prinsip dasar pemrograman itu seperti mencari dalam<br />

gelap, atau berusaha membangun gedung bertingkat tanpa fondasi. Bisa, tapi sulit,<br />

dan bisa memberikan pemahaman yang salah.<br />

Pemrogram yang telah jago pun tetap harus rajin membaca karena pemrogram<br />

harus berurusan dengan dokumentasi, baik dari pengguna atau dari pemrogram lain.<br />

Jika Anda ingin belajar pemrograman atau menjadi pemrogram, tapi tak suka atau<br />

malas membaca, maka mulailah belajar untuk suka membaca. Atau pertimbangkan<br />

untuk mengubah keinginan Anda.<br />

1. Belajar bersama Google<br />

Belajar pemrograman —atau apa pun— di jaman sekarang sudah jauh lebih<br />

mudah karena telah banyak materi belajar yang tersedia di internet. Mencarinya pun<br />

juga lebih mudah sejak dibuatnya mesin pencari internet canggih bernama Google.<br />

Ditambah lagi adanya ponsel pintar yang membuat internet bersama Google ada di<br />

genggaman kita. Ibaratnya, kita telah mempunyai perpustakaan raksasa yang super<br />

lengkap dan buka 24 jam secara gratis sebagai bahan kita belajar. Kurang apa coba?<br />

Kiat mencari di Google<br />

Masalahnya, banyak pemula yang belum bisa memanfaatkan secara maksimal<br />

teknologi super canggih bernama internet dan Google ini. Sumber daya begitu besar<br />

akan sia-sia saja jika kita tak bisa menggunakannya. Sering kita dengar pemula yang<br />

mengeluh “saya sudah mencari, tapi tidak ketemu”, padahal saat kita sendiri yang<br />

mencari ternyata ada banyak yang kita temukan. Berikut kiat-kiat googling…<br />

1. Utamakan mencari dengan menggunakan bahasa Inggris.<br />

Seperti yang dibahas sebelumnya, informasi seputar pemrograman di internet<br />

umumnya dibahas dalam bahasa Inggris. Karena itu, pencarian akan lebih cocok<br />

jika menggunakan kata dalam bahasa Inggris pula. Contoh: pencarian “cara<br />

menggunakan array di pascal” hanya menghasilkan ±61 ribu temuan, sementara<br />

“how to use array in pascal” menghasilkan ±5,4 juta temuan. Jauh sekali.<br />

!25


2. Gunakan kata pencarian yang jelas dan spesifik.<br />

Selain jumlah temuan, hal yang penting juga dalam pencarian adalah kesesuaian<br />

temuan dengan apa yang ingin kita cari. Tidak ada gunanya hasil temuan yang<br />

banyak tapi isinya tidak sesuai. Contoh: pencarian “how to work with date time in<br />

pascal” masih menghasilkan beberapa temuan yang tak terkait dengan Pascal<br />

karena frasa “date time” terlalu umum, tetapi “how to work with TDateTime in pascal”<br />

menghasilkan temuan yang lebih tepat walaupun jumlahnya lebih sedikit.<br />

3. Carilah penjelasan, bukan kode program jadi.<br />

Kesalahan umum pemrogram pemula adalah mencari kode program jadi yang<br />

bisa langsung digunakan (copy paste), bukannya mencari penjelasan. Parahnya,<br />

ketika kode program jadi yang mereka butuhkan tak ditemukan, mereka lantas<br />

menyerah dan beranggapan solusinya tak ada di internet. Cara copas seperti itu<br />

tidak baik karena bisa jadi program kita bisa bekerja, tapi kita tidak paham<br />

bagaimana kode programnya bekerja. Lebih baik cari penjelasan dari tutorial atau<br />

artikel pemrograman untuk dipahami dengan baik, lalu bikin sendiri kode<br />

programnya. Karena pemrograman itu keahlian berpikir, bukan hafalan.<br />

4. Cari temuan secara bertingkat, dari umum ke spesifik.<br />

Sering kita ingin mencari sesuatu tapi tak tahu frasa/kata kunci yang tepat untuk<br />

memulai pencarian. Maka carilah dari kata yang paling umum terkait dengan hal<br />

yang kita cari tersebut. Lalu dari hasil yang diperoleh, tentukan dan tambahkan<br />

kata kunci yang lebih spesifik. Jika kata tambahan baru tersebut ternyata hasil<br />

temuan makin tak tepat, maka gantilah dengan kata lain yang sekiranya lebih pas.<br />

Demikian seterusnya hingga akhirnya diperoleh temuan yang sesuai dengan yang<br />

kita inginkan. Cara ini perlu latihan dan kebiasaan sehingga lakukanlah berulang<br />

kali dan jangan cepat menyerah.<br />

5. Gunakan fitur-fitur canggih pencarian di Google.<br />

Google adalah mesin pencari dengan banyak fitur canggih. Agar pencarian bisa<br />

menghasilkan temuan yang sesuai dengan yang kita inginkan, pelajari dan pahami<br />

cara-cara untuk memanfaatkan fitur-fitur canggih tersebut. Contoh: penggunaan<br />

tanda “ ” (petik ganda) untuk pencarian dengan kata-kata yang persis (exact words),<br />

penggunaan operasi logika OR untuk pencarian beberapa frasa sekaligus, kata<br />

kunci khusus seperti “site:” atau “related:” atau “intitle:” atau “filetype:” dan<br />

sebagainya, tanda khusus pencarian seperti tanda * (asterisk) atau tanda - (hyphen)<br />

atau ~ (tilde) dan sebagainya.<br />

Itu semua baru teknik dasar pencarian dengan Google. Jika ingin tahu teknikteknik<br />

pencarian yang lebih canggih lagi, silakan cari di Google. Anggap ini sebagai<br />

latihan menemukan kata kunci pencarian yang tepat.<br />

!26


2. Belajar bersama komunitas<br />

Sejak tersedianya media sosial dan ponsel pintar, interaksi manusia di internet<br />

semakin mudah. Wajar jika kemudian terbentuk komunitas-komunitas pemrogram<br />

sebagai forum/grup di dunia maya. Komunitas ini tentu bisa menjadi sumber daya<br />

baru bagi pemrogram untuk saling berbagi informasi dan pengetahuan seputar<br />

pemrograman. Dan selayaknya di dunia nyata, adab/etika/norma juga ada di dunia<br />

maya, bahkan sejatinya tak jauh berbeda dengan di dunia nyata. Tapi entah<br />

mengapa banyak pembelajar pemula yang seolah tak (mau) tahu adab interaksi di<br />

forum dunia maya. Berikut etika berinteraksi di internet (netiket) yang umum berlaku<br />

di grup/forum pemrograman…<br />

1. Kenali dan hormati komunitas.<br />

Sebagaimana saat kita bertamu ke rumah orang lain, tentu tak sopan jika kita<br />

langsung masuk ke dalam rumah, minta dibuatkan kopi susu dan gorengan, lalu<br />

setelah kenyang pergi begitu saja. Ini etika dasar yang sudah diajarkan sejak kecil.<br />

Hal yang sama berlaku juga di forum daring. Saat kita masuk ke sebuah forum,<br />

pelajari dulu aturan yang berlaku di forum tersebut, lihat bagaimana budaya yang<br />

ada di forum dengan membaca diskusi-diskusi sebelumnya, perhatikan siapa saja<br />

orang-orang penting di forum yang sering membantu, dan sebagainya. Jangan<br />

begitu masuk langsung bertanya begitu saja dan pergi begitu urusan selesai. Saya<br />

juga heran mengapa masih ada saja orang-orang yang tak mengerti etika dasar<br />

sehingga perlu dijelaskan di kulgram ini.<br />

2. Pahami dengan baik prinsip-prinsip dasar pemrograman.<br />

Tentu kita saling berbagi ilmu di komunitas, tapi ingat… komunitas bukan tempat<br />

kursus. Artinya, kurang tepat jika kita belajar di forum dari nol. Apalagi jika kita<br />

sedang bersekolah atau kuliah di bidang teknologi informasi. Mulailah belajar<br />

dengan membaca buku (atau tutorial), hingga tuntas. Ilmu pemrograman dasar<br />

telah dijelaskan di buku sehingga seharusnya tak perlu lagi dibahas panjang lebar<br />

di forum. Prinsip dasar pemrograman yang dijelaskan dalam kulgram ini baru<br />

pengantar saja. Untuk lebih rincinya, termasuk contoh programnya, bacalah di<br />

buku-buku pemrograman. Hindari bertanya cara bikin program tapi sekadar<br />

variabel saja belum paham. Pertanyaan yang tanpa disertai pemahaman terhadap<br />

pengetahuan dasar itu membuat orang lain malas untuk membantu.<br />

3. Bertanyalah setelah semua upaya gagal.<br />

Ada pepatah, “malu bertanya, sesat di jalan”. Di forum daring, pepatah itu ada<br />

lanjutannya, “banyak bertanya, lempar ke jalan”. Artinya, sebelum kita bertanya<br />

di forum, pastikan kita telah melakukan hal berikut ini:<br />

!27


- Kita telah paham masalahnya, setidaknya mengerti apa pesan kesalahannya.<br />

- Kita telah menyusun kode programnya, bisa berjalan walaupun tak sempurna.<br />

- Kita telah mencoba menyelesaikannya, setidaknya dengan awakutu berkali-kali.<br />

- Kita telah mencari jawaban di Google, lalu mencobanya tapi masih tetap gagal.<br />

Mungkin ada yang bertanya, “mau bertanya saja kok repot sekali?” Iya, karena itu<br />

akan melatih kita untuk berpikir dan berusaha. Ingat, pemrograman itu tentang<br />

berpikir dan membutuhkan kerja keras.<br />

4. Hindari meminta kode program jadi.<br />

Seperti yang telah dijelaskan, pemrogram adalah problem solver yang harus mampu<br />

berpikir secara runtut, runut, dan teratur; bukan trouble maker yang pemalas. Ketika<br />

pemrogram berpikir mencari solusi, yang dibutuhkannya adalah petunjuk, bukan<br />

kode program jadi untuk di-copas. Jika meminta bantuan di forum, maka mintalah<br />

petunjuk, bukan kode program. Dari petunjuk yang diberikan, susunlah sendiri<br />

kode programnya. Jika ada orang yang memberi kode program jadi, pastikan kita<br />

paham atas apa yang dilakukan kode program tersebut. Jangan hanya copas, bisa<br />

jalan, selesai. Atau, copas ternyata gagal, lalu bertanya lagi, tanpa berusaha<br />

memahami apa yang sebenarnya terjadi dengan kode program yang disusun.<br />

5. Bersikaplah sopan, serius tapi santai.<br />

Berinteraksi dalam komunitas maya tak jauh berbeda dengan berinteraksi dalam<br />

komunitas nyata, yaitu sama-sama harus bersikap sopan dan beradab. Tapi bukan<br />

berarti harus kaku dan formal, karena itu juga kurang nyaman. Tetap sopan,<br />

serius tapi santai. Gunakanlah bahasa percakapan yang baik, jangan alay. Hindari<br />

cekcok dan pertikaian yang tak perlu. Serta berbagai etika interaksi umum<br />

lainnya. Masa’ gini aja perlu diajarin sih? :)<br />

Bonus: Hindari menghubungi seseorang secara langsung sekadar untuk bertanya.<br />

Jika telah tersedia forum maka manfaatkan dan bertanyalah di forum. Bertanya<br />

langsung pada seseorang padahal itu bisa ditanyakan di forum merupakan tindakan<br />

yang kurang sopan (dianggap mengganggu).<br />

Ingat selalu etika dasar dalam meminta bantuan di komunitas, yaitu “bantulah<br />

orang lain agar bisa membantu kita”. Pada dasarnya semua orang ingin membantu<br />

orang lain yang kesulitan. Tapi sebagai orang yang butuh bantuan, kita juga harus<br />

menghargai orang yang membantu kita dengan cara memudahkan mereka<br />

membantu kita. Jika semua anggota komunitas bisa bersikap demikian maka<br />

komunitas akan menjadi kompak dan nyaman.<br />

• • •<br />

!28


IV. Tanya Jawab dan Diskusi<br />

Tigor Manurung (15:32)<br />

#tanya Bagaimana caranya mengetikkan keyword yang tepat di google utk pertanyaanpertanyaan<br />

kita?<br />

#jawab Silakan baca kembali Kiat Mencari Di Google di atas, yaitu pada kiat nomor<br />

4 tentang pencarian bertingkat. Kita sering kali tidak tahu keyword paling tepat, tapi<br />

itu juga bisa dicoba-coba dengan hasil yang diperoleh sebelumnya.<br />

Wak Ilham (15:40)<br />

#tanya Kira-kira bagaimana nasib programmer 10 tahun ke depan?<br />

#jawab Nasib programmer ke depan akan terus cerah. Tak usah khawatir. Tapi,<br />

dimana-mana, profesi apa pun, yang laku dan digunakan adalah yg andal. Kalo kita<br />

punya reputasi buruk, ya harap maklum kalo banyak orang tidak mau bekerja sama<br />

dengan kita.<br />

Heri Tico (15:45)<br />

#tanya Programmer yang buruk itu seperti apa?<br />

#jawab Programmer buruk itu yang menegasikan semua penjelasan di atas.<br />

Imam Masyhuri (15:45)<br />

#tanya Kalo di jaman modern ini kira-kira apa Pascal masih relevan? Terus tingkat<br />

kemampuan Pascal apa bisa mengejar perkembangan teknologi?<br />

#jawab Pemrograman sebagai ilmu, tak terikat langsung dengan bahasa, tapi logika<br />

dan proses berpikirnya. Berganti bahasa itu mudah. Tapi kalo tidak mau berpikir, ya<br />

tetap saja susah. Karena pemrograman tak terikat bahasa, maka belajar Pascal, atau<br />

bahasa apa pun, ya relevan saja.<br />

Edy Sutrisno (15:46)<br />

#tanya Kalo bahasa pemrograman yang banyak digunakan kira-kira ke depan, web<br />

apa dekstop?<br />

#jawab Tren ke depan nampaknya akan banyak mengarah ke web, mobile, dan IoT<br />

(internet of things), terutama berbasis AI (artificial intelligence) dan big data. Tapi semuanya<br />

tetap berdasarkan prinsip-prinsip dasar yang telah dijelaskan tadi. Tapi desktop bukan<br />

lalu mendadak mati ya. Tetap akan ada saja kebutuhan aplikasi desktop. Cuma<br />

dominasinya tidak sebesar dulu lagi.<br />

Tigor Manurung » AI dan big data sekarang sedang banyak-banyaknya konsep dan<br />

teknologi baru yang bermunculan. Ada banyak sekali kesempatan karir disana.<br />

!29


Heri Tico (15:49)<br />

#tanya Kadang kalau klien minta ubah atau tambahan suatu fitur, padahal pekerjaan<br />

sudah 100% jadi. Apa yang sebaiknya dilakukan? Mohon saran dan arahannya.<br />

#jawab Wah… ini jawabannya bisa panjang. Intinya, tergantung kesepakatan kerja.<br />

Iwan CS (15:55)<br />

#tanya Bagaimana best practice untuk mengubah mindset para pemula supaya bisa<br />

menjalankan yang dijelaskan tadi?<br />

#jawab Banyak sih… tapi kuncinya tetap di mereka. Mau berubah apa tidak. Lihat<br />

lagi syarat menjadi programmer yg andal di atas. Kita bisa mengajari mereka, bikin<br />

kulgram seperti ini, dsb… tapi jika mereka sendiri tak mau belajar dan berusaha, ya<br />

susah juga. Yang menurutku jadi kendala besar pada pemula adalah semangat dan<br />

kerja keras. Kalau kemampuan, rasanya semua orang bisa jadi programmer lah.<br />

Mas Kofa » Dari pengalaman saya bertahun-tahun… jika bertemu error, pesan errornya<br />

utuh apa adanya saya copy-paste ke google… langsung ketemu dan terselesaikan.<br />

Pak Lebah » Nah… hal sederhana begini saja, kulihat masih banyak pemula yg<br />

belum mampu. Sekadar memahami pesan error saja kesulitan. Bagaimana nanti akan<br />

mencari solusinya?<br />

• • •<br />

!30


V. Kesimpulan<br />

Peradaban manusia modern ke depan akan semakin banyak melibatkan bahkan<br />

tergantung pada mesin-mesin komputer cepat dalam berbagai bentuk dan ukuran.<br />

Mesin-mesin itu membutuhkan pemrogram yang andal agar bisa bekerja dengan<br />

cerdas. Kesempatan berkarya di dunia perangkat lunak komputer terbuka luas dan<br />

menjanjikan. Wajar jika kemudian banyak pemuda tertarik masuk ke dunia teknologi<br />

ini, terutama pemrograman.<br />

Namun, tak semua pemuda-pemuda berpotensi itu memahami betul dunia apa<br />

yang mereka masuki. Banyak dari mereka yang tak paham hal-hal mendasar yang<br />

seharusnya dipahami betul-betul, bahkan sebelum menulis sebaris kode program.<br />

Entah karena tidak paham atau tidak diajarkan atau tak menyimak pelajaran.<br />

Termasuk yang secara akademis seharusnya sudah paham, ternyata tak sesuai dengan<br />

kenyataannya. Banyak pemrogram senior maupun penyedia lapangan kerja yang<br />

mengeluhkan masalah ini.<br />

Kulgram kali ini berusaha menekankan kembali apa saja pengetahuan dan<br />

prinsip-prinsip dasar pemrograman yang seharusnya dipahami oleh setiap<br />

pemrogram. Hal-hal sederhana, tapi penting dan fundamental. Namun yang dibahas<br />

dalam kulgram ini —karena keterbatasan ruang dan waktu— hanya sebatas kulit<br />

saja. Pengetahuan yang lebih dalam dan luas bisa diperoleh dari buku-buku<br />

pemrograman di bahasa masing-masing, atau di bangku-bangku kelas dan kampus.<br />

Semoga apa yang sedikit ini menjadi awal bagi para pemula dan pembelajar<br />

pemrograman untuk lebih memperdalam apa yang sedang mereka pelajari. Dengan<br />

harapan kelak bisa menjadi pemrogram andal yang mampu memberi manfaat serta<br />

ikut andil dalam membangun peradaban digital manusia modern, khususnya di<br />

negara kita, Indonesia.<br />

• • •<br />

!31


!<br />

!<br />

Gambar Ilustrasi<br />

!32


!<br />

!33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!