Bahasa C

Bahasa C atau Bahasa Pemrograman C adalah salah satu bentuk bahasa pemrograman yang digunakan untuk membuat apikasi komputer yang dibuat pada tahun 1972 oleh Dennis Ritchie untuk pengembangan OS Unix yang berlokasi di Bell Telephone Laboratories. Meskipun tujuan utama dari pengembangan bahasa pemrograman ini adalah untuk program sistem dan jaringan komputer, namun tidak jarang Bahasa C juga digunakan untuk mengembangan program-program lain yang berbasis aplikasi.

Bahasa C adalah salah satu bahasa pemrograman yang dapat digunakan dalam berbagai program komputer saat ini. Bahasa pemrograman C ditemukan pada tahun 1972 di Bell Laboratories Amerika Serikat oleh tim yang dipimpin seorang ilmuan bernama Dennis Ritchie, dan Dennis Ritchie menamakan bahasa pemrograman barunya tersebut dengan nama bahasa C, karena merupakan bahasa penerus baru dari bahasa pemrograman lain yang ada pada waktu itu, yang disebut sebagai “Bahasa B”, dan Bahasa B ini sangat dipengaruhi oleh bahasa-bahasa pemrograman lama lainnya yang ada yang disebut sebagai BCPL pada waktu itu.

Awalnya bahasa C hanya dibuat untuk keperluan menulis sistem operasi dan kompilator, kemudian karena kesederhanaannya dan fitur-fitur yang dimiliki oleh bahasa C tersebut, maka bahasa C kemudian menjadi salah satu bahasa pemrograman yang populer dan bahkan hingga saat ini C adalah salah satu bahasa pemrograman yang paling populer yang masih digunakan.

Mengapa perlu mempelajari bahasa C ini ketika ada begitu banyak bahasa pemrograman lain seperti C++, Java, C#, dan lain sebagainya? untuk mempelajari bahasa pemrograman apa pun, bahasa tersebut haruslah bahasa dalam bentuk yang sederhana dan mudah dipelajari. Dan C adalah salah satu bahasa yang sederhana dan mudah dipelajari tersebut. Jika seorang yang ingin mempelajari suatu bahasa pemrograman tidak mengetahui apa-apa tentang pemrograman komputer, maka bahasa pemrograman C adalah salah satu bahasa yang dapat digunakan untuk mengawali karir mempelajari bahasa pemrograman. Hal lain adalah, jika seseorang mempelajari bahasa pemrograman C, maka orang tersebut akan memiliki pemahaman yang lebih baik tentang konsep dasar pemrograman komputer, karena bahasa C memiliki konsep seperti pointer dan alokasi memori dinamis dan masih banyak lagi. Jika seseorang telah memahami semua konsep dasar pemrograman komputer, maka orang tersebut dapat memahami semua konsep lanjutan lainnya dengan sangat mudah.

Jika seseorang telah mengetahui dan memahami fungsi dari bahasa pemrograman C, maka orang akan memiliki pemahaman yang lebih baik tentang konsep dasar pemrograman, dan jika ingin mempelajari bahasa pemrograman lain seperti C++, Java, atau C Sharp, maka hal tersebut bukanlah suatu tantangan yang sulit bagi orang yang ingin mempelajarinya. Pada dasarnya, untuk beberapa bahasa pemrograman tingkat lanjut, bahasa tersebut ada juga yang menggunakan paradigma program yang disebut dengan pendekatan "pemrograman berorientasi objek". Jika seseorang telah memahami berbagai fungsi dari bahasa C, maka untuk mempelajari pemrograman berorientasi objek tersebut prosesnya akan menjadi jauh lebih mudah. Tidak hanya itu, Banyak sekali bahasa pemrograman modern yang digunakan saat ini fitur-fiturnya masih mengambil fitur dari bahasa C, itulah sebabnya bahasa C juga disebut sebagai "Ibu dari semua bahasa". Jadi, jika seseorang telah mempelajari bahasa C, aka proses untuk mempelajari bahasa pemrograman lainnya akan menjadi lebih mudah.

Bahasa C adalah bahasa pemrograman yang dikembangkan untuk tujuan umum, itu berarti seorang programmer dapat menggunakan bahasa pemrograman C tersebut untuk membuat berbagai jenis program perangkat lunak. Bahasa C adalah bahasa pemrograman yang dapat juga digunakan untuk membuat aplikasi pengolah kata dan pengembangan game.

Catatan: Curiosity Rover yang dikirim ke Mars oleh NASA memiliki sebagian besar kode program yang ditulis dalam bahasa pemrograman C. 

  1. Dasar

  2. Deklarasi, definisi, dan scope variabel

  3. Tipe Data

  4. Class Penyimpanan

  5. Input dan Output

  6. Operator

  7. Preprocessor

  8. Array dan String

  9. Control Statement
    • Bahasa C label data switch (EMPTY)
    • Bahasa C 'For' vs 'While' (EMPTY)
    • Bahasa C Puzzle nested loop (EMPTY)
    • Bahasa C Switch statement (EMPTY)
    • Bahasa C Perbedaan antara while(1) dan while(0) (EMPTY)
    • Bahasa C Statement goto (EMPTY)
    • Bahasa C Statement continue (EMPTY)
    • Bahasa C Statement break (EMPTY)
    • Bahasa C Penggunaan batasan pada switch case (EMPTY)
    • Back to TOP...]

  10. Function
    • Bahasa C Fungsi (EMPTY)
    • Bahasa C Fungsi prototype (EMPTY)
    • Bahasa C Fungsi yang dieksekusi sebelum dan sesudah main() (EMPTY)
    • Bahasa C Statement return vs exit() (EMPTY)
    • Bahasa C Menghitung jumlah variabel dari argumen (EMPTY)
    • Bahasa C Perintah evaluasi fungsi parameter (EMPTY)
    • Bahasa C Fungsi overloading (EMPTY)
    • Bahasa C Pengembalian multi nilai dari fungsi (EMPTY)
    • Bahasa C Peran fungsi prototype (EMPTY)
    • Bahasa C Fungsi static (EMPTY)
    • Bahasa C exit(), abort(), dan assert() (EMPTY)
    • Bahasa C Tipe pengembalian implisit (EMPTY)
    • Bahasa C Pemanggilan fungsi sebelum deklarasi (EMPTY)
    • Bahasa C Fungsi specifier _Noreturn (EMPTY)
    • Bahasa C exit() vs _Exit() (EMPTY)
    • Bahasa C __func__ identifier (EMPTY)
    • Bahasa C Fungsi Callback (EMPTY)
    • Bahasa C Fungsi nested (EMPTY)
    • Bahasa C Teknik passing parameter (EMPTY)
    • Bahasa C Fungsi pow() (EMPTY)
    • Bahasa C Fungsi tolower() (EMPTY)
    • Bahasa C Fungsi time() (EMPTY)
    • Back to TOP...]

  11. Pointer
    • Bahasa C Pengenalan pointer (EMPTY)
    • Bahasa C Pointer ke pointer (EMPTY)
    • Bahasa C Parameter array sebagai pointer (EMPTY)
    • Bahasa C Pointer Dangling, Void, Null, dan Wild (EMPTY)
    • Bahasa C Representasi tidak umum dari element array (EMPTY)
    • Bahasa C Mendeklarasikan pointer menjadi fungsi (EMPTY)
    • Bahasa C Pointer vs array (EMPTY)
    • Bahasa C Pointer void (EMPTY)
    • Bahasa C Pointer NULL (EMPTY)
    • Bahasa C Fungsi pointer (EMPTY)
    • Bahasa C Pointer near, far, dan huge (EMPTY)
    • Bahasa C Generic Linked List (EMPTY)
    • Bahasa C Restrict keyword (EMPTY)
    • Bahasa C const char *p, char * const p, dan const char * const p (EMPTY)
    • Bahasa C Pointer ke array (EMPTY)
    • Back to TOP...]

  12. Enum, Struct, dan Union
    • Bahasa C Enum (EMPTY)
    • Bahasa C Structure (EMPTY)
    • Bahasa C Union (EMPTY)
    • Bahasa C Struct Hack (EMPTY)
    • Bahasa C Structure member alignment, padding, dan data packing (EMPTY)
    • Bahasa C Operasi pada variabel struct (EMPTY)
    • Bahasa C Bit field (EMPTY)
    • Bahasa C Structure sorting (EMPTY)
    • Bahasa C Anggota array fleksibel pada structure (EMPTY)
    • Bahasa C Perbedaan antara structure dan union (EMPTY)
    • Bahasa C Perbedaan antara C structures dan C++ structures (EMPTY)
    • Bahasa C Anonymous union dan structure (EMPTY)
    • Bahasa C Compound literal (EMPTY)
    • Back to TOP...]

  13. Memory Management
    • Bahasa C Layout memori (EMPTY)
    • Bahasa C Deallocate memori tanpa menggunakan free() (EMPTY)
    • Bahasa C calloc() vs malloc() (EMPTY)
    • Bahasa C Cara free() mengetahui ukuran memori (EMPTY)
    • Bahasa C Penggunaan realloc() (EMPTY)
    • Bahasa C Kebocoran memori (EMPTY)
    • Back to TOP...]

  14. File Handling
    • Bahasa C fseek() vs rewind() (EMPTY)
    • Bahasa C EOF, getc(), dan feof() (EMPTY)
    • Bahasa C fopen() untuk menulis file (EMPTY)
    • Bahasa C Membaca struktur file (EMPTY)
    • Bahasa C fgets() dan gets() (EMPTY)
    • Bahasa C File handling (EMPTY)
    • Bahasa C fsetpos() (EMPTY)
    • Bahasa C Fungsi rename (EMPTY)
    • Bahasa C Fungsi tmpfile() (EMPTY)
    • Bahasa C fgetc() dan fputc() (EMPTY)
    • Bahasa C fseek() (EMPTY)
    • Bahasa C ftell() (EMPTY)
    • Bahasa C lseek() (EMPTY)
    • Bahasa C Fungsi remove (EMPTY)
    • Bahasa C Menggabung dua konten menjadi konten baru (EMPTY)
    • Bahasa C Mencetak file konten (EMPTY)
    • Back to TOP...]

  15. Puzzles
    • Bahasa C Mencetak angka 1 hingga N tanpa menggunakan semicolon (EMPTY)
    • Bahasa C Menjumlahkan dua nilai tanpa menggunakan operator (EMPTY)
    • Bahasa C Memperlihatkan representasi memori (EMPTY)
    • Bahasa C Mencetak “HelloWord” (EMPTY)
    • Bahasa C Penambahan karakter dan mencetaknya (EMPTY)
    • Bahasa C Menjumlahkan single digit angka pada satu single statement (EMPTY)
    • Bahasa C Mengkonversi angka menjadi string (EMPTY)
    • Bahasa C Menghitung log n dalam satu baris program (EMPTY)
    • Bahasa C Mencetak “Even” atau “Odd" (EMPTY)
    • Bahasa C Mencetak angka 1 sampai 100 tanpa menggunakna looping (EMPTY)
    • Bahasa C Menjumlahkan angka inputan dalam satu statement tunggal (EMPTY)
    • Bahasa C Tulis fungsi satu baris C untuk angka pembulatan (EMPTY)
    • Bahasa C Implementasi sizeof (EMPTY)
    • Bahasa C Menghitung untaian bit (EMPTY)
    • Bahasa C Mengubah hasil output printf() (EMPTY)
    • Bahasa C Menemukan panjang tanpa menggunakan string.h dan loop (EMPTY)
    • Bahasa C Mengimplementasikan itoa() (EMPTY)
    • Bahasa C Membuat program yang tidak terminate ketika Ctrl+C ditekan (EMPTY)
    • Bahasa C Cara mengukur waktu dengan menggunakan fungsi (EMPTY)
    • Bahasa C Mencetak long int menggunakan putchar() (EMPTY)
    • Bahasa C Konversi float menjadi string (EMPTY)
    • Bahasa C Membuat program c tanpa main() (EMPTY)
    • Bahasa C Membuat memcpy() (EMPTY)
    • Bahasa C Program mencetak characters tanpa format specifier (EMPTY)
    • Bahasa C Mencetak string tanpa menggunakan quote (singe atau double) (EMPTY)
    • Bahasa C Mengeksekusi perintah if else (EMPTY)
    • Bahasa C Mencetak “Hello World” tanpa menggunakan file header (EMPTY)
    • Back to TOP...]

  16. Tambahan
    • Bahasa C Quine (EMPTY)
    • Bahasa C Deklarasi kompleks (EMPTY)
    • Bahasa C Fungsi bool (EMPTY)
    • Bahasa C Sequence Points (EMPTY)
    • Bahasa C Teknik optimisasi (EMPTY)
    • Bahasa C ASCII NUL, ASCII 0 (’0?), dan Numeric literal 0 (EMPTY)
    • Bahasa C Little and big endian mystery (EMPTY)
    • Bahasa C Fungsi komparasi qsort() (EMPTY)
    • Bahasa C Program untuk memvalidasi IP address (EMPTY)
    • Bahasa C Multithreading (EMPTY)
    • Bahasa C Assertions (EMPTY)
    • Bahasa C fork() (EMPTY)
    • Bahasa C Fakta menarik bahasa C (EMPTY)
    • Bahasa C Angka presisi dari floating point (EMPTY)
    • Bahasa C setjump() dan longjump() (EMPTY)
    • Bahasa C nextafter() dan nexttoward() (EMPTY)
    • Bahasa C pthread_cancel() (EMPTY)
    • Bahasa C pthread_equal() (EMPTY)
    • Bahasa C pthread_self() (EMPTY)
    • Bahasa C Label lokal (EMPTY)
    • Bahasa C lvalue dan rvalue (EMPTY)
    • Bahasa C Get dan set ukuran stack dari atribut thread (EMPTY)
    • Bahasa C Perbedaan antara fork() dan exec() (EMPTY)
    • Bahasa C Error (EMPTY)
    • Bahasa C adalah bahasa pemrograman yang responsif (EMPTY)
    • Bahasa C Inkompatibilitas antara C dan C++ (EMPTY)
    • Bahasa C Konversi C/C++ menjadi assembly language (EMPTY)
    • Bahasa C Error handling (EMPTY)
    • Bahasa C Eksekusi main() pada C/C++ (EMPTY)
    • Bahasa C Hygienic Macros (EMPTY)
    • Bahasa C Argumen perintah baris (EMPTY)
    • Bahasa C scanf(), fscanf(), sscanf(), scanf_s(), fscanf_s(), dan sscanf_s() (EMPTY)
    • Bahasa C Fakta menarik bahasa C (EMPTY)
    • Bahasa C Database konektivitas (EMPTY)
    • Bahasa C Function interposisi (EMPTY)
    • Bahasa C Macros vs fungsi (EMPTY)
    • Bahasa C Membuat memcpy() dan memmove() (EMPTY)
    • Back to TOP...]

Referensi Tambahan:

4 Tipe Utama Acces Modifier pada Java

Enkapsulasi pada Java

2 Jenis Utama Kegiatan Penelitian Berdasarkan Waktunya, Crosssectional Salah Satunya

6 Contoh Program Method Overloading pada Java

3 Jenis Utama Looping pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C