Setelah melihat sejarah bahasa pemrograman C, kali ini kita akan membahas tentang konsep pemrograman yang lebih umum, yakni pengertian dari Compiler, Linker dan IDE. Ketiga istilah ini akan sering anda temui saat mempelajari sebuah bahasa pemrograman.
Pengertian Compiler
Compiler adalah aplikasi yang berfungsi "membaca dan menerjemahkan" bahasa pemrograman komputer (kode program) untuk menghasilkan sebuah program.
Seperti yang nantinya kita praktekkan, bahasa C berisi instruksi-instruksi yang ditulis dalam kode khusus. Contoh kode tersebut adalah: printf("Hello World"). Compiler akan membaca perintah ini dan menghasilkan sebuah file exe.
Dengan kata lain, Compiler Bahasa C adalah program yang dibutuhkan untuk memproses teks bahasa C untuk menjadi sebuah aplikasi.
Dimana bisa didapat compiler bahasa C?
Terdapat banyak compiler C. Daftar lengkapnya bisa dilihat ke List of compilers bahasa pemrograman C.
Yang cukup terkenal untuk sistem operasi Windows adalah:
Sepanjang tutorial bahasa pemrograman C di duniailkom ini, saya akan menggunakan compiler Code::Blocks, yang cara instalasinya akan di bahas dalam tutorial selanjutnya.
Pengertian Linker
Dalam pembahasan mengenai pengertian compiler sebelum ini, saya menulis bahwa compiler akan memproses bahasa pemrograman menjadi sebuah aplikasi. Well… itu adalah pengertian yang di sederhanakan.
Dalam teori pemrograman, proses dari sebuah teks kode program menjadi aplikasi melibatkan beberapa langkah. Diagram berikut merangkum proses yang terjadi:
Pertama kali, kita membuat sebuah kode program dalam bahasa C. Kode program ini (dikenal juga dengan sebutan source code) bisa dibuat menggunakan aplikasi teks editor biasa seperti Notepad. Khusus untuk bahasa pemrograman C, source code harus di simpan sebagai dengan akhiran file *.c, seperti hello_world.c, aplikasiku.c, luas_segitiga.c, dll.
Agar komputer bisa mengerti kode C yang sudah dibuat, source code tadi selanjutnya "di translate" menjadi bahasa mesin (machine language). Proses inilah yang dilakukan oleh compiler. Compiler juga memeriksa apakah kode program yang ditulis mengandung error atau tidak.
Apabila tidak ditemukan error, compiler akan membuat sebuah object files yang berisi object code. Di dalam object file inilah instruksi dalam bahasa mesin disimpan. Untuk kebanyakan compiler C, object file ini akan berakhiran *.obj dengan nama yang sama dengan source code.
Karena sebelumnya saya memiliki file hello_world.c, setelah di compile akan terdapat file hello_world.obj.
Langkah terakhir diserahkan kepada linker. Tugas dari linker adalah menggabungkan berbagai library external dengan object file untuk menghasilkan sebuah program.
Seperti yang akan kita pelajari nanti, kode program C biasanya butuh file library external. Sebagai contoh, untuk menampilkan teks ke layar dalam bahasa C perintahnya adalah printf("Hello World"). Untuk bisa memproses perintah printf(), C butuh sebuah file external, yakni stdio.h.
Linker-lah yang akan menggabungkan hello_world.obj dengan stdio.h. Hasil akhirnya berupa sebuah program berextension *.exe. Karena file source code saya buat sebagai hello_world.c, file programnya akan bernama hello_world.exe. Dengan men-double-klik file hello_world.exe, program kita sudah langsung berjalan.
Compiler + Linker
Terlihat dari diagram diatas bawah proses compiler dan linker dibuat terpisah. Akan tetapi aplikasi compiler modern biasanya sudah menggabungkan kedua langkan ini dalam sekali jalan.
Ketika anda men-klik tombol "compile", file .exe sudah langsung terbentuk, tanpa harus menjalankan proses compile dan link secara terpisah.
Pengertian IDE
Istilah terakhir yang akan kita bahas adalah IDE. IDE merupakan singkatan dari Integrated Development Environment. IDE adalah aplikasi yang menggabungkan teks editor, compiler dan linker dalam 1 aplikasi. Kadang ditambah juga dengan sebuah debugger, yakni fitur untuk menampilkan kesalahan dari kode program.
Sebuah IDE sangat memudahkan proses pembuatan program, karena kita hanya perlu membuka 1 aplikasi saja.
Beberapa IDE juga memiliki fitur tambahan seperti real-time debugging (memberitahu error sebelum kode program di compile), syntax highlighting (mewarnai beberapa kode agar mudah dibaca) dan code completion (memberikan saran penulisan kode program).
Contoh dari IDE untuk bahasa C adalah Turbo C, Visual C++ dan Code::Blocks.
Setelah membahas pengertian compiler, linker, serta IDE, kita sudah siap untuk menginstall IDE Code::Blocks, inilah yang akan saya bahas dalam tutorial belajar bahasa pemrograman C selanjutnya: Download dan Install Code::Blocks.
bang bisa jelasin nggak kenapa abng lebih memilih compiler code block dibanding yang lain
apa sih perbedaanya, kelebihan serta kekuranganya,
Saya memilih Code Blocks karena merupakan sebuah IDE. Artinya compiler, text editor, dan debugger sudah sepaket dalam 1 aplikasi.
Alternatif IDE bahasa C lain adalah Visual Studio kepunyaan Microsoft. Aplikasi Visual Studio sebenarnya lebih "mewah" daripada Code Blocks, tp juga lebih berat dan ukuran file instalasinya mencapai 4GB lebih. Karena di dalamnya tidak hanya bahasa C saja, tapi kumpulan dari banyak bahasa pemrograman.
Code Blocks jauh lebih ringan daripada Visual Studio. IDE lain seperti Borland Turbo C sudah jadul bgt karena tidak dikembangkan lagi, harus menggunakan emulator DOSBOX untuk menjalankannya di OS modern (mirip seperti Turbo Pascal).
Kalau menggunakan compiler murni, kita akan repot harus install text editor terpisah. Untuk menjalankan (compilenya) juga harus satu2.
kalau borland c++ gimana mas? dikampus saya dosennya mengajar pakai borland, apa perbedaannya dengan code::blocks? mana yg lebih baik borland atau code::blocks mas?
Setahu saya Borland C++ ini aplikasi lama, sekarang sudah tidak dikembangkan lagi. Saya juga kurang tau apakah aplikasi Borland C++ yang beredar memang free (gratis), atau versi bajakan, karena perusahaan Borland sendiri sudah tidak ada.
Mengenai perbedaannya, saya juga kurang tau. Untuk perintah dasar mungkin sama saja.
Kalau ditanya bagus mana tentu lebih bagus Code::Blocks karena terus di update mengikuti standar terbaru bahasa C, serta 100% gratis. Tapi kalau dosennya mengharuskan pakai Borland C++, silahkan pakai Borland C++ juga, takutnya nanti ada perbedaan.
Btw iseng2 bisa tanya ke dosen, kenapa masih "setia" dengan Borland C++, dan tidak update ke aplikasi yang relatif baru seperti Code::Blocks atau Visual Studio. Karena kasihan juga mahasiswa2 IT banyak yang terjebak di aplikasi jadul karena dosennya g mau "move on". Ini juga berlaku untuk aplikasi lain seperti Delphi dan Visual Basic 6 (aplikasi di era tahun 2000an).
Makasih banget infonya bang, sangat membantu. Saya masih newbie bang. Boleh dong share tentang tutorial installing code blocks? saya baru install tapi ada kendala, gak bisa run. Salah dimana nya ya? Thx bang.
oiya, kalo sama note pad ++ prefer mana bang?
G bisa di run atau g bisa install ya? kalau g bisa di run, berarti ada yang salah di kode programnya.
Untuk belajar bahasa C lebih mudah pakai code block saja, karena compiler dan editornya udah digabung. Kalau Notepad++ lebih ke teks editor umum, agak ribet kalau mau menjalankan kode program bahasa C.
Saya pake DEV C++ tapi kenapa ga bisa liat file .obj nya ya? selalu langsung jadi .exe
Terus kalau perbedaan C dan C++ apa ya?
Saya belum pernah pakai Dev C++. Bisa jadi file .obj disimpan di folder khusus / disembunyikan oleh aplikasinya.
Singkatnya, C++ adalah versi "upgrade" dari bahasa C. Umumnya compiler C++ juga bisa dipakai untuk menjalankan kode program bahasa C, tapi tidak sebaliknya. Bahasa C++ juga sudah mendukung pemrograman object, sedangkan bahasa C belum.
Terima kasih,mas tutorialnya.
Mas,Saya sudah install code blocks nya tapi ada masalah Katanya: "environment eror".
Trusss gimana ngatasinnya ,mas.ada hubungannya dgn laptop Saya 32bit ,mas.
Terima kasih,mas
Errornya seperti ini bukan y? "Environment error Can't find compiler executable in your configured search path's for GNU GCC Compiler"
Kalau iya, itu karena CodeBlocks yang di download tidak menyertakan compiler C. Solusinya download ulang file instalasi dan pilih codeblocks-17.12mingw-setup.exe (yang ada tambahan compiler MingW).
Lengkapnya bisa ikuti tutorial ini: https://www.duniailkom.com/tutorial-belajar-c-cara-mendownload-dan-menginstall-code-blocks/
Saya mencoba bikin skrip bahasa C pakai Visual Studio Code, tapi kenapa ya tidak bisa build and run code, padahal sudah pasang extension (C/C++, dan Code Runner).
Mohon bantuannya.. makasih
Kebetulan saya juga belum coba VS Code untuk menjalankan bahasa C. Pastinya ada pengaturan tambahan lagi karena VS Code ini bersifat "generik", tidak khusus seperti Code::Block yang memang dirancang sebagai IDE bahasa C/C++.
Bisa coba ditanya ke programmer yang menyarankan pakai VS Code, atau boleh dipertimbangkan pakai Code::Block saja agar lebih praktis.
saya pikir VS Code Teralu modern untuk menjalankan bahasa C. karena bahasa C adalah bahasa awal mula dalam dunia program, maka akan lebih tepat jika menggunakan sublime text. jadi segala sesuatu harus disesuaikan dengan jaman.
Sama saya juga gabisa
Assalamualikum bang andre itu tutorial bahsa c udah lengkap kah sampai tutorial 41#aja_kah..?
Waalaikumsalam, untuk sementara saya cukupkan sampai tutorial 41. Tapi memang masih banyak materi yang belum dibahas seperti function dan berbagai latihan soal, mungkin suatu saat akan ditambah lagi.
Suppose we write a C code file code.c containing the following procedure definition:
1 int accum = 0;
2
3 int sum(int x, int y)
4 {
5 int t = x + y;
6 accum += t;
7 return t;
8 }
To see the assembly code generated by the C compiler, we can use the "-S" option on the command line:
unix> gcc -O2 -S code.c
kalo untuk melihat output file di atas gimana ya mas?
Saya juga kurang tau nih, karena kode tersebut hanya berisi pendefinisian function sum(), tapi pemanggilannya tidak ada. Sepertinya ini potongan dari kode program yang lebih besar.
Mas bedanya compiler sama interpreter apa ya?
Terima Kasih