Introduction to C
Prerequisites
Sebelum kita memulai praktikum, kita membutuhkan beberapa tools dan program yang akan menunjang praktikum kita:
*Penjelasan dan Proses instalasi akan dijelaskan pada materiIntroduction
Konsep Pemrograman tidak pernah tentang cara memprogram, namun tentang menyelesaikan masalah. Pemrograman hanyalah suatu alat yang dapat kita gunakan untuk menyelesaikan masalah.
Lalu kenapa masih harus belajar Pemrograman di era AI ini?
Di Era Ai ini membuka banyak potensi baru untuk kreativitas, membuka peluang baru bagi kita untuk berinovasi. banyak hal yang dapat kita buat dalam waktu yang singkat. Namun disisi yang sama kita masih butuh untuk mengerti fundamentalnya, bagaimana hal tersebut bekerja.
Ibaratkan seperti kalkulator. kalkulator modern sekarang sudah dapat melakukan perhitungan scientific dalam waktu yang sangat singkat. Namun, kita harus memahami Matematika untuk menggunakannya agar mengerti rumus apa yang harus dimasukkan, apa makna di balik angka yang dihasilkan, dan masalah apa yang sedang kita selesaikan.
The Building Block
Secara sederhana, basic building block dari pemrograman dalam segala hal adalah gambar ini:
Kita memberikan sebuah masukan (input), sebuah proses terjadi di dalamnya, dan menghasilkan keluaran (output). Prinsip fundamental inilah yang menjadi pondasi dasar dalam pemrograman yang menjadi landasan hampir seluruh teknologi hari ini, termasuk AI. Ketika kita menggunakan AI, kita memberikan sebuah input, kemudian diproses oleh LLM (Large Language Model), lalu menghasilkan respons output
Disinilah tugas kita sebagai programmer, yaitu merancang dan membangun logika atau proses yang terjadi di antara input dan output tersebut.
How to talk to computer
Sebagai seorang programmer tentunya kita akan menggunakan sebuah komputer sebagai perantara antara input dan output tersebut.
Lalu bagaimana caranya kita membuat komputer agar menerima input dan memprosesnya sedemikian rupa sehingga menghasilkan output yang diinginkan? Komputer tidak mengerti bahasa manusia, komputer memanipulasi aliran listrik untuk melakukan proses atau kalkulasi dan seperti yang kita tahu memanfaatkan sistem biner, yaitu angka 1 sebagai representasi nyala dan angka 0 sebagai mati.
Dalam kehidupan sehari-hari kita menggunakan sistem bilangan desimal untuk merepresntasikan bilangan menggunakan digit 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. entah itu puluhan, ratusan, ribuan jutaan, dan seterunya, kita merepresentasikan bilangan tersebut menggunakan 10 digit tersebut, sistem numerik yang kita gunakan ini disebut base-10.
Sebagai contoh:
Atau:
Dalam sistem biner yaitu sistem bilangan berbasis 2 (base-2), setiap posisi digit mewakili perpangkatan dari basis 2 (), dihitung dari posisi paling kanan.
Sebagai contoh, bilangan biner :
Dan jika kita melihat representasi 1 byte (8-bit) seperti :
adapun beberapa sistem bilangan lainnya, seperti:
- Unary (Base-1)
- Oktal (Base-8)
- Hexadesimal (Base-16)
C Programming Language
Karena menulis deretan angka 10101010 melelahkan, manusia menciptakan Bahasa Pemrograman sebagai jembatan komunikasi agar manusia bisa memberikan instruksi kepada komputer namun dalam bahasa yang masih dapat dipahami oleh manusia.
C adalah bahasa pemrograman yang diciptakan pada tahun 1972 oleh Dennis Ritchie di Bell Labs untuk mengembangkan sistem operasi UNIX. Kini, C dikenal sebagai "Mother Language" (bahasa induk) yang menjadi inspirasi dan pondasi bagi banyak bahasa modern seperti C++, C#, Java, JavaScript, PHP, hingga Rust.
Why C?
Di era modern, ada ratusan high level programming language seperti Python, Javascript, dll. kenapa kita harus belajar bahasa C yang sudah kuno?
Karena C mengajarkan kita seuluruh konsep dasar dan fundamental pemrograman yang sebenarnya, seperti Pointer, Memory Mangement, String, dan sebagainya. yang mana konsep tersebut mulai disederhanakan atau disembunyikan oleh bahasa-bahasa modern dibalik layar sehingga lebih user-friendly. C berada dalam sweet-spot, sebagai high-level language yang didesain untuk manusia, namun tetap memberikan kendali penuh atas mesin (low-level control).
Hello C
Berikut adalah program sederhana untuk mencetak Hello, World yang di tulis menggunakan C.
#include <stdio.h>
int main(void) {
printf("Hello, World\n");
}
Compiler
Seperti yang kita ketahui, komputer pada dasarnya hanya mengerti kode biner, lalu bagaimana komputer dapat mengerti sintaks dan kode yang kita tulis (yang biasa disebut sebagai source code).
Disinilah kita membutuhkan seorang penerjemah yang disebut compiler. Compiler adalah sebuah program yang menerjemahkan sintaks sesuai aturan yang telah ditentukan menjadi binary code yang dapat dipahami oleh komputer.
Ingat basic building block dari pemrograman.
Kita memasukan Source Code sebagai input kedalam compiler, kemudian compiler menerjemahkan source code tersebut menjadi binary code. Well technically ini adalah versi yang di sederhanakan. Alur lengkap prosess menerjemahkan source code sebelum menjadi binary code dijabarkan seperti ini.
GCC
Ada beberapa C compiler terkenal Contohnya:
- GCC (GNU C Compiler)
- clang (c language)
- MSVC (Microsoft Visual C++)
Secara mendasar compiler-compier tersebut menawarkan fitur yang sama, namun ada sedikit perbedaan di antaranya dan tidak terlalu berpengaruh pada level dasar Cek Perbedaanya
Pada praktikum ini kita akan menggunakan GCC (GNU C Compiler) sebuah compiler C open source populer yang di kembangkan oleh Project GNU.
Windows
GCC secara asli tidak ada di Windows karena GCC dirancang secara fundamental untuk arsitektur dan sistem operasi Unix/Linux. Namun ada versi porting yang dikembangkan oleh komunitas agar membuat GCC kompatible dengan windows yang bernama MingW Project. Disini kita akan menggunakan tool tambahan bernama MSYS2 untuk membantu kita menginstal GCC versi MinGW.
Installation
- Download Installer MSYS2
- Jalankan Installer

- Ketika selesai klik finish

- Kemudian akan muncul terminal. Sekarang kita sedang berada pada environment msys2
- kita akan menggunakan pacman (package manager) untuk menginstall GCC
$ pacman -S mingw-w64-ucrt-x86_64-gcc
- Menambahkan ke environment Variable



- Menambahkan PATH ke program dan tool GGC agar dapat dikenali windows

- Isikan path menuju folder berisi program dan tool GCC
C:\msys64\ucrt64\bin

- Cek apakah GCC sudah berhasil terinstal, Buka terminal dan ketik
gcc --version

macOS
Kabar baik bagi pengguna Mac! Berbeda dengan Windows, macOS secara fundamental adalah sistem operasi berbasis UNIX (keluarga yang sama dengan asal-usul bahasa C). Oleh karena itu, kita tidak perlu repot memasang MSYS2 ataupun mengatur Environment Variable (PATH) secara manual.
Di macOS, kita cukup memasang tools resmi dari Apple yaitu Xcode Command Line Tools.
Installation
-
Buka aplikasi Terminal di Mac kalian:
- Tekan tombol
Cmd + Spasiuntuk membuka Spotlight Search. - Ketik
Terminal, lalu tekan Enter.
- Tekan tombol
-
Pada jendela terminal, ketikkan perintah berikut lalu tekan Enter:
xcode-select --install -
Sebuah jendela pop-up dialog akan muncul dengan pesan:
"The 'xcode-select' command requires the command line developer tools. Would you like to install the tools now?" -
Klik tombol Install, kemudian klik Agree pada perjanjian lisensi yang tampil.
-
Tunggu proses pengunduhan dan instalasi berjalan hingga selesai (biasanya memakan waktu 2-5 menit tergantung kecepatan internet).
-
Setelah selesai, verifikasi apakah compiler sudah siap digunakan dengan mengetik:
gcc --versionJika berhasil, terminal akan menampilkan informasi versi compiler yang terpasang:
Apple clang version ...Target: arm64-apple-darwin... (atau x86_64)Thread model: posix
Text Editor
Untuk menulis sebuah source code, kita membutuhkan text editor. Text editor tidak dibatasi oleh suatu software atau program, yang terpenting kita dapat menulis sintaks kode C dan memasukkannya ke compiler. Artinya secara teknis kita dapat menulis di mana saja, termasuk seperti notepad.
Terminal
Terminal adalah aplikasi antarmuka berbasis teks (Command Line Interface / CLI) yang menjadi jembatan bagi kita untuk memberikan instruksi langsung kepada sistem operasi, serta menerima keluaran (output) darinya. Selama ini, kita terbiasa mengoperasikan komputer melalui GUI (Graphical User Interface) mengandalkan tampilan grafis, kursor mouse, jendela visual, dan ikon. Terminal melakukan fungsi yang persis sama, namun kita berinteraksi murni menggunakan perintah ketikan teks.
Mengapa ini penting? Karena sebagai seorang programmer, ke mana pun arah spesialisasi kalian nanti—mulai dari Web Development, Cloud Computing, Cybersecurity, hingga AI kalian pasti akan selalu menggunakan CLI.
Sebagai Contoh disini menggunakan PowerShell Ketika pertama kali membuka terminal, kalian akan melihat baris teks sebelum kursor ketik:
PS C:\Users\Amba> █
(atau user@MacBook:~/Praktikum_KP $ █ di macOS)
Teks ini disebut Prompt. Baris ini memberi tahu satu informasi krusial: "Di folder mana kalian sedang berdiri saat ini?"
Seluruh perintah yang kalian ketikkan akan dieksekusi di dalam folder lokasi tersebut.
Segala hal yang biasa kalian lakukan dengan mengklik mouse di Windows Explorer atau Mac Finder memiliki padanan perintah di terminal:
| Aktivitas Sehari-hari (Mouse) | Perintah Terminal | Arti & Kepanjangan |
|---|---|---|
| Melihat posisi folder saat ini | pwd | Print Working Directory ("Saya ada di mana?") |
| Melihat isi folder (daftar berkas di dalamnya) | ls (Mac/Linux/PowerShell)dir (Windows CMD) | List (Lihat daftar berkas) |
| Masuk ke dalam folder (seperti klik ganda folder) | cd nama_folder | Change Directory (Pindah folder) |
| Keluar / mundur satu folder (seperti tombol Back) | cd .. | Mundur satu tingkat ke folder luar |
| Membuat folder baru (seperti klik kanan > New Folder) | mkdir nama_folder | Make Directory (Buat folder) |
| Membersihkan layar yang penuh teks | clear (Mac/Linux)cls (Windows CMD) | Membersihkan layar terminal kembali kosong |
Berikut contoh penggunaan command GCC untuk melakukan compiling.
Langkah 1: Mengubah Source code menjadi binary code (Compiling)
Langkah
gcc hello.c -o hello
gcc: Memanggil program compiler GCC.hello.c: Berkas kode sumber yang ingin diterjemahkan.-o hello: Menentukan nama berkas hasil keluaran (output).
Langkah 2: Menjalankan Program (Execute)
Setelah berkas berhasil dikompilasi, jalankan program tersebut:
./hello
IDE (Integrated Development Environment)
IDE (Integrated Development Environment) adalah sebuah software yang menggabungkan Compiler, Text Editor, Terminal, File Explorer kedalam satu aplikasi untuk memudahkan Proses Development Program. Contoh IDE Seperti:
- IntelijIdea (Java)
- PyCharm (Python)
- Eclipse (Java)
- Dev-C++ (C/C++)
Untuk praktikum ini kita akan menggunakan software open source bernama Visual Studio Code (VSCode) untuk membuat program menggunakan C.
Namun VSCode diklasifikasikan sebagai Text Editor bukan IDE, Kenapa? VSCode kekurangan 1 hal untuk disebut sebagai IDE yaitu Compiler. Hal ini membuat VSCode Modular dan cocok digunakan untuk segala jenis kebutuhan bahasa yang kita inginkan.