Setelah sebelumnya kita mencoba menjalankan kode program yang dibuat dari bahasa C, kali ini kita akan bahas struktur dasar kode program dalam bahasa C.
Struktur Dasar Bahasa Pemrograman C
Kode program yang telah jalankan sebelumnya sangat sederhana, tapi sudah mewakili struktur dasar dari sebuah bahasa pemrograman C. Berikut kode program tersebut:
#include <stdio.h> int main(void) { Â printf("Hello, World!\n"); Â return 0; }
#include <stdio.h>
Di baris paling awal, terdapat kode #include. Perintah #include digunakan untuk memasukkan sebuah file khusus yang memungkinkan kita mengakses berbagai fitur tambahan dalam bahasa C.
Dalam contoh diatas, file stdio.h berisi kode program agar nantinya kita bisa mengakses perintah printf. File stdio.h sendiri merupakan singkatan dari Standard Input/Output.
Dengan kata lain, agar di dalam kode program nanti kita bisa menggunakan perintah printf, dibagian paling atas kode program C harus terdapat baris #include <stdio.h>. File include ini juga sering disebut sebagai header file, dan karena itu pula menggunakan akhiran .h.
Bahasa C menerapkan konsep modular, dimana fitur-fitur yang ada di pecah ke berbagai file. Jika ingin menggunakan perintah tertentu, panggil header file yang sesuai.
Hasilnya, ukuran file program yang ditulis menggunakan bahasa C menjadi efisien. Kita hanya perlu menggunakan header file yang dibutuhkan saja. Namun kebalikannya, setiap ingin menggunakan perintah tertentu, harus men-include-kan file header yang dibutuhkan.
int main(void) { }
Satu-satunya perintah yang harus ada di setiap kode program bahasa C adalah main().
Struktur main() sendiri pada dasarnya merupakan sebuah fungsi (function). Isi dari function ini diawali dan diakhiri dengan tanda kurung kurawal " { " dan " } ". Di dalam tanda kurung inilah "isi" dari kode program penyusun fungsi main() ditulis.
Kode int sebelum main() menandakan nilai kembalian atau hasil akhir dari function main(). Kode int merupakan singkatan dari integer, yakni tipe data angka bulat.
Dengan demikian, kode program main() yang saya tulis diatas harus menghasilkan sebuah angka bulat (menggunakan perintah return yang akan kita bahas sesaat lagi).
Sedangkan tambahan void ke dalam main(void) menandakan bawah fungsi main() tidak membutuhkan nilai input (bahasa inggris void = kosong).
printf("Hello, World!\n");
Perintah printf digunakan untuk menampilkan sesuatu ke layar. Perintah ini merupakan bagian dari stdio.h, sehingga jika kita ingin menggunakannya, harus terdapat baris perintah #include <stdio.h> di bagian paling awal kode program bahasa C.
Teks yang ingin ditampilkan ditulis dalam tanda kurung dan di dalam tanda kutip dua, seperti: printf("Hello, World!\n"); Hasil dari perintah ini, akan tampil teks Hello, World! di layar. Tapi apa fungsi tambahan karakter \n?
Jika ditulis di dalam teks, karakter " \ " dikenal sebagai escape character. Fungsinya untuk menampilkan karakter yang tidak bisa ditulis. Sebagai contoh, \n merupakan perintah untuk menulis newline character, yakni karakter penanda baris baru.
Artinya, perintah printf("Hello, World!\n") akan menampilkan teks "Hello, World!", kemudian pindah ke baris baru. Bahasa C mendukung berbagai escape character yang nantinya juga akan kita pelajari.
Setelah tanda kurung penutup perintah printf, harus ditutup dengan tanda titik koma (semi-colon), yakni tanda " ; ". Setiap perintah bahasa C, harus diakhiri dengan tanda ini, kecuali beberapa perintah khusus. Lupa menambahkan tanda titik koma di akhir sebuah perintah merupakan error yang sangat sering terjadi.
return 0;
Perintah return 0; berhubungan dengan kode int main(void) sebelumnya. Disinilah kita menutup function main() yang sekaligus mengakhiri kode program bahasa C.
Return 0 artinya kembalikan nilai 0 (nol) ke sistem operasi yang menjalankan kode program ini. Nilai 0 menandakan kode program berjalan normal dan tidak ada masalah (EXIT_SUCCESS).
Kita juga bisa menulis return 1, return 99, return -1, dll. Nilai-nilai ini nantinya bisa digunakan oleh sistem operasi atau program lain. Nilai return selain 0 dianggap terjadi error atau sesuatu yang salah (EXIT_FAILURE).
Apakah perintah Return 0 ini harus ditulis? Harus ditulis! jika kita berpatokan ke struktur bahasa C yang ideal. Namun beberapa compiler (termasuk Code:Blocks yang saya gunakan), akan "memaafkan" jika perintah ini tidak ditulis dan menambahkan perintah return 0 secara otomatis (tidak disarankan).
Dalam tutorial kali ini kita telah melihat struktur dasar kode program dalam bahasa C. Berikutnya akan dibahas tentang aturan dasar penulisan kode program bahasa C.
Mirip kaya c++
Yup betul, C++ merupakan penambahan dari bahasa C, jadi penulisannya sangat mirip dan itu berasal dari bahasa C.
Om, ada rencana buat C Uncover gak?
Rencana akan ada, tapi belum tau kapan nih… sementara untuk eBook masih pengen fokus ke web programming dulu.
Udah selesai web, langsung ke C/C++ ya Om,,,,…
Lanjutanya dong min !
Ditunggu y gan, kebetulan ada kegitan lain akhir2 ini…
Makasih ya gan
TERIMAKASIH BANYAK BANG!! Saya mahasiswa baru teknik Informatika yg ga punya dasar di programing. Dan sangat membantu saya, pasalnya, Bahasa yg masnya pake itu bener2 bahasa awam. Yg mudah dimengerti, terutama bagi kaum awam.. semoga Tuhan membalas kebaikan mu
Amiin… terimakasih untuk doanya..
Bang blok ini sangat membantu saya,bang apakah ada grup online untuk Duni ilkom? Jika ada saya ingin mendaftar juga, butuh banyak ilmu lagi?
Min kapan ebook C Uncover ny?
Belum bisa saya pastikan nih, tapi mudah2an bisa dalam tahun depan…
Struktur Dasar Bahasa Pemrograman C, ijin share kk
Namun kebalikannya, setiap ingin menggunakan perintah tertentu, harus men-include-kan file header yang dibutuhkan.
Nah biar kita tau perintah ini ada di header ini gimana caranya? Ada listnya kah? Terima kasih.
Yup ada, file header ini ada yang menjadi standar bawaan C atau disebut sebagai "C standard library", atau bisa juga dibuat oleh programmer lain (kitapun bisa membuat sendiri jika dibutuhkan dan punya skill untuk itu).
Daftar "C standard library" bisa dilihat kesini: https://en.wikipedia.org/wiki/C_standard_library
Mas mau tanya, perbedaan antara header sama library apa ya?
Trima Kasih.
Kalau di jabarkan bisa panjang dan terlalu teknis, serta bisa beda2 tergantung bahasa pemrograman yang dipakai. Di dalam bahasa C, file header berisi kode2 khusus yang nantinya akan mengakses library.
File header ini hanya berupa file teks biasa. Kalau menggunakan Code::Block, file header stdio.h berada di C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\5.1.0\include\ssp\stdio.h. File header ini bisa dibuka pakai teks editor seperti Notepad. Di dalamnya berisi perintah untuk memanggil library yang ada di folder C:\Program Files (x86)\CodeBlocks\MinGW\lib.
Tapi pengertian yang lebih umum (di banyak bahasa pemrograman), library adalah istilah untuk menyebut kumpulan fungsi yang di import ke dalam kode program saat ini. Sebagai contoh, jQuery adalah sebuah library JavaScript, yang berisi bermacam2 fungsi JavaScript siap pakai untuk mempermudah penulisan kode program.
Sangat ditunggu C/C++ Unvocer-nya….
Siap, request ditampung…
Gan Andre, Mau nanya, apa bedanya kalo ane nulis return 0; dan return 1;
Kalau untuk kode dalam tutorial ini, tidak ada pengaruhnya.
Perintah return 0 atau return 1 baru berpengaruh jika kode program ini dipanggil oleh program lain. Itupun selama program lain tersebut melakukan sesuatu dengan hasil yang didapat.
ka mau tanya bedanya kalo
printf("helloworld");
printf("indonesia"); dengan
printf("helloworldindonesia"); apa ya ka kenapa print f nya hrus dua atau sama aja??
Keduanya sama saja. Kalau memang hanya untuk menampilkan dalam 1 baris panjang, maka dengan 1 perintah printf (cara yang kedua) akan lebih praktis.
mantep ka tutorial nya membantu bangettt makasi banyak ya bang
maaf, saya masih bingung dengan return selain 0
Itu baru pengaruh jika kita membuat sebuah program yang memanggil program lain. Jika program yang dipanggil mengembalikan return 0, artinya program suskses berjalan, namun jika mengembalikan nilai lain (selain 0) berarti ada sesuatu yang terjadi (bisa gagal berjalan atau hal lain).
Tapi kalau cuma menjalankan 1 program saja seperti pada contoh ini, perintah return 0 tidak berpengaruh.
Salam ,dan selamat sejahtera, untuk bahasa program C , codenya ditulis menggunakan Notepad?
Pakai notepad sebenarnya juga bisa, tapi akan ribet untuk eksekusi. Lebih baik pakai aplikasi yang khusus untuk bahasa C saja. Dalam tutorial ini saya memakai Code::Block yang bisa diinstall secara gratis.
Tutorialnya bisa lanjut ke sini: https://www.duniailkom.com/tutorial-belajar-c-cara-mendownload-dan-menginstall-code-blocks/
bedanya void main() {} ,
int main() {return 0;} , dan int main(void) {return 0;} itu apa ya, mas, mana yang benar ?
Untuk penggunaan dasar, yang mana saja boleh di pakai dan biasanya tetap jalan. Perintah return 0 itu baru berfungsi ketika kita menjalankan aplikasi .exe dari aplikasi lain.
Misal aplikasi A berisi program menghitung luas lingkaran, kemudian ada aplikasi B yang dipakai untuk menghitung luas bangun datar. Di dalam aplikasi B kita bisa memanggil aplikasi A. Jika setelah di panggil hasilnya 0 (berasal dari perintah return 0), maka itu artinya aplikasi A berjalan lancar.
Seperti yang ada di akhir tutorial ini, jika merujuk ke panduan resmi maka kode yang benar adalah:
int main(void)
{
return 0;
}
Tapi itu tadi, biasanya compiler bahasa C tidak masalah jika return 0 ini tidak ditulis.
wah keren pak, nambah wawasan saya yg baru belajar coding. :D
Sangat bagus penjelasannya dan mudah dipahami ! bahkan oleh saya yang tidak punya background komputer tp lagi ingin mendalami dunia coding. Lanjutkan berkarya !
Kalo saya langsung belajar bahasa C++ dulu, apakah itu dapat memperkuat konsep pemrograman saya ?, apakah C lebih cepat eksekusinya di banding C++ ?, saya pernah membaca untuk membuat sistem operasi diperlukan bahasa C dan Assembly, apakah bahasa C++ kurang ampuh ?, banyak library untuk bahasa atau sistem operasi memakai bahasa c bukan c++, mengapa ?
Memang banyak disebut kalau C sedikit lebih cepat dibandingkan C++. Tapi dari segi kemudahan penulisan kode program, C juga lebih rumit.
Contohnya untuk menampilkan variabel dengan perintah printf(), di bahasa C harus ditulis kode tipe data seperti %d atau %f. Sedangkan di C++, tidak perlu kode ini.
Perbedaan lain, C++ mendukung pemrograman object yang memudahkan pembuatan kode kompleks, sedangkan di bahasa C tidak ada fitur ini.
Jadi tinggal dipilih saja, apakah ingin programnya berjalan cepat tapi butuh waktu pembuatan yang lama, atau cepat selesai tapi programnya berjalan sedikit lambat.
Dengan standar bahasa modern, C++ pun sebenarnya sudah sangat cepat, apalagi dibandingkan bahasa Python atau PHP. Tapi menulis kode program dengan Python atau PHP juga jauh lebih simple dibandingkan C++.
Mayoritas programmer saat ini lebih memilih menulis 10 baris kode Python daripada menulis 100 baris kode program dalam bahasa C. Apalagi komputer modern sudah sangat cepat, sehingga perbedaan kecepatan ini tidak terlalu terasa.
Selain membuat sistem operasi, implementasi bahasa C saat ini lebih banyak untuk mesin-mesin pabrik atau komputer sederhana seperti arduino, karena di sistem tersebut kemampuan processor dan memorynya sangat terbatas (butuh bahasa yang efisien).
Tapi yang pernah saya baca, jenis arduino juga ada yang kompleks, apakah itu memakai implementasi c juga bukan c++ ?, kalau memang memakai c, mengapa ?, terima kasih banyak atas tanggapannya ????
Kebetulan saya juga belum mendalami arduino, tapi mayoritas menggunakan bahasa C dengan alasan sumber daya di arduino cukup terbatas (kemampuan processor dan memory RAMnya kecil).
Jika perangkatnya sudah cukup kompleks, mungkin masuk ke kategori Raspberry Pi kali ya? kalau untuk Raspberry Pi, itu ada yang sudah support C++ dan Python karena kapasitas processor dan RAMnya juga sudah lebih besar (dan harganya juga lebih mahal dibandingkan arduino).