#tanyakenapa #penjelasankenapa
Dulu pada saat mulai belajar — di mata kuliah Algoritma dan Pemrograman serta Struktur Data — dibilangnya tahapan memahami Bahasa Pemrograman C untuk menjadi dasar, sebelum memulai memahami bahasa-bahasa pemrograman lain, itu krusial.
Oh ternyata, menariknya, itu juga sampai saat ini, mata kuliah Pengantar Ilmu Komputer di (setidaknya salah satu) kampus teknologi top 10 besar dunia, juga tetap konsisten mengajarkan Bahasa Pemrograman C ini.
C
Karena ini mau mengingat kembali saja, kita bukan akan bikin kelas belajar Pemrograman C di tulisan ini.
Gimana kalo nonton video aja 😆
Kita akan fokus pada pembahasan pemrograman C, jadi seperti halnya pengetahuan tentang transisi dari Scratch tidak akan kita bahas.
hello, world
Biar afdal, tulis dulu deh hello, world
. 🥰
#include <stdio.h>
int main(void)
{
printf(“hello, world\n“);
}
Wah kangen ya menuliskan titik koma dan meributkan kurung kurawal buka mau sebaris nama fungsinya atau mau lurus dengan kurung kurawal tutupnya. 😂
Siapkan online compiler-mu di browser ataupun IDE-mu, karena bersiap akan baca tulis kode C.
ha-ha-ha dot-h
Sebelum kodenya sampai di hello, world bahkan, sudah terlihat kawan lama kita, berkas dot-h alias header files, yang terlihat di kode itu ada stdio.h, tapi membawa kembali memori indahnya bikin sendiri berkas-berkas dot-h, tempat membuat abstraksi, rencana dan menuliskan inspirasi seperti apa nantinya masa depan dot-c, sebelum masuk kepada kompleksnya dunia dot-c.
Untuk memudahkan proses pembelajaran, di CS50 dibuatkan sejumlah libraries, sehingga akan ada penggunaan dot-h - dot-h bikinan CS50, seperti misalnya cs50.h. Salah satu yang ingin dimudahkan adalah proses menerima input dari pengguna, bahkan menerima input “string” meski belum bahas tentang pointer. Termasuk juga proses mengeluarkan output ke layar.
Beberapa bahasa pemrograman yang lain, termasuk juga turunan dari C, mengimplementasi model abstraksi header files seperti dot-h.
Fungsi dan Prosedur
Dalam memahami apa bedanya, sering kali digunakan analogi di keseharian. Semisal mengambil analogi fungsi seperti saat belajar matematika, kita memanggil fungsi-fungsi, misalnya sin-cos-tan, sehingga udah langsung kebayang fungsi itu yang seperti apa. Nah gimana kalo prosedur, sering kali digambarkan seperti halnya prosedur kita mengerjakan hal sehari-hari, seperti prosedur dalam berangkat sekolah atau berangkat kerja.
Berujung, salah satu bedanya adalah prosedur tidak mengembalikan nilai seperti fungsi.
Dulu yang mengajari saya sering menceritakan tentang prosedur mengupas kentang. Nah, buat yang belum pernah masak kentang, kalo anak zaman sekarang tinggal cari aja urutan kerjaan (prosedurnya) di youtube. 🤤
Oh di C, fungsi utama (main) juga digambarkan sebagai sebuah fungsi yang mengembalikan int. Jadi jangan lupa berikan haknya, lengkapi kode main dengan mengembalikan nilai. 😁
Tidak lupa juga mengingatkan pentingnya modularisasi dengan menggunakan fungsi dan prosedur, sehingga dipanggil berulang kali, tanpa banyak mengulang-ulang penulisan yang di banyak tempat.
Seputar Tipe
Di luar pentingnya mengetahui banyak tipe dalam bahasa pemrograman, diingat-ingat juga pentingnya bagaimana batasan dari masing-masing tipe, misalnya tentang nilai minimal dan maksimal dari suatu tipe, sehingga ketika melakukan pemrosesan tidak meluap atau meluber (overflow).
Tidak hanya artis yang melakukan casting, berperan menjadi orang lain, tipe di bahasa pemrograman juga bisa “disesuaikan” (casting) menjadi tipe yang lain.
Pointe.. 👻
ehm.. nggak deh, nanti aja bahasnya pointer di tulisan yang lain.
ah sebelum lanjut mendingan subscribe dulu biar yang nulis tambah motivasi.. 😂
Di bagian referensi, aku sertakan juga kelas Memulai Pemrograman dengan C yang ada di platform pembelajaran daring Dicoding, bisa ambil kelasnya dengan FREE secara self-pace, sehingga bisa mengatur sendiri ritme belajarnya.
Aktivitas Belajar
Yang menarik perhatian dari CS50 adanya membuat simulasi yang terjadi di program menggunakan peraga ataupun dimodelkan dengan siswanya. Seperti misalnya dalam memahami operasi tambah kurang, ya menggunakan bola dalam wadah yang ditambah dan dikurangi.
Salah satu analogi yang digunakan di kelas ini adalah memberikan gambaran menyederhanakan dari game mario bros menjadi contoh-contoh kode C yang sangat sederhana, seperti seandainya mario bros itu dibuat dari teks.
Berlatih
Salah satu yang aku lihat keuntungan dari berlatih adalah menambah kemampuan dalam memahami apa yang dilaporkan oleh kompiler, sehingga semakin banyak melakukan kesalahan dalam menuliskan kode, kita akan semakin terlatih dalam memahami maunya kompiler.
Tentunya berlatih memrogram ini juga memperkuat muscle memory, sehingga ke depan beban otak (cognitive load) akan semakin berkurang dengan sebagian didukung oleh kuatnya muscle memory hasil dari latihan memrogram. Katanya, dalam berlatih memrogram itu menjadikan automatisasi keterampilan dasar teknis (sintaks, shortcut, pola umum), yang selanjut-selanjutnya membantu berpikir konseptual.
Referensi
Beberapa acuan yang digunakan dalam tulisan ini:
Dicoding Academy. (n.d.). Memulai pemrograman dengan C [Online course]. Retrieved September 1, 2025, from https://www.dicoding.com/academies/120-memulai-pemrograman-dengan-c
Sekolah Teknik Elektro dan Informatika – Institut Teknologi Bandung. (n.d.). Bahasa C (IF2110/IF2111 – Algoritma dan Struktur Data) [PowerPoint slides]. Informatika ITB.
Malan, D. J. (2025). Week 1: C [Online lecture notes]. CS50x — CS50’s Introduction to Computer Science. Harvard University. Retrieved September 1, 2025, from https://cs50.harvard.edu/x/weeks/1/