Akar dari bahasa C adalah bahasa
BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini
memberikan ide pada Ken Thompson yang kemudian mengembangkan bahasa yang
disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B
adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an
di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell
Laboratories). Bahasa C pertama kali digunakan pada komputer Digital
Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.
Standar bahasa C yang asli
adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program
aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C
membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro.
Untuk membuat versi-versi tersebut menjadi standar, ANSI (American
National Standard Institutes) membentuk suatu komite (ANSI Committee
X3J11) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk
bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang
diperluas.
Bahasa C mempunyai kemampuan
lebih dibanding dengan bahasa pemrograman yang lain. Bahasa C merupakan
bahasa pemrograman yang bersifat portabel, yaitu suatu program yang
dibuat dengan bahasa C pada suatu komputer akan dapat dijalankan pada
komputer lain dengan sedikit (atau tanpa) ada perubahan yang berarti.
Bahasa C merupakan bahasa yang biasa digunakan untuk keperluan pemrograman sistem, antara lain untuk membuat:
1. Assembler
2. Interpreter
3. Compiler
4. Sistem Operasi
5. Program bantu (utility)
6. Editor
7. Paket program aplikasi
Beberapa program paket yang
beredar seperti dBase dibuat dengan menggunakan bahasa C, bahkan sistem
operasi UNIX juga dibuat dengan menggunakan bahasa C. Bahasa C
sesungguhnya merupakan bahasa pemrograman yang serbaguna dan
pemakaiannya tidak terbatas untuk pemrograman sistem, namun juga dapat
digunakan untuk aplikasi bisnis, matematis maupun games, bahkan untuk
aplikasi kecerdasan buatan.
Dalam beberapa literatur, bahasa
C digolongkan sebagai bahasa tingkat menengah (medium level language).
Penggolongan ini bukan berarti bahasa C kurang ampuh atau lebih sulit
dibandingkan dengan bahasa tingkat tinggi (high level language - seperti
Pascal, Basic, Fortran, Java, dan lain-lain), namun untuk menegaskan
bahwa bahasa C bukanlah bahasa yang berorientasi pada pada mesin yang
merupakan ciri dari bahasa tingkat rendah (low level language), yaitu
bahasa mesin dan assembly.
Pada kenyataannya, bahasa C
mengkombinasikan elemen dalam bahasa tingkat tinggi dan bahasa tingkat
rendah, yaitu kemudahan dalam membuat program yang ditawarkan pada
bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa tingkat rendah.
- Kelebihan dan Kelemahan bahasa C
Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu:
Kelebihan Bahasa C
1. C mempunyai operator yang lengkap untuk memanipulasi data.
2.
Berbagai struktur data dan pengendalian proses disediakan dalam C,
sehingga memungkinkan dibuat program yang terstruktur, bahkan program
yang berorientasi pada objek (OOP = Object Orientied Programming).
3.
Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih
mudah dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang
digunakan sehingga tidak menyita waktu dalam menyelesaikan masalah ke
dalam bentuk program. C merupakan bahasa yang berorientasi pada
permasalahan (objek), dan bukan berorientasi pada mesin.
4.
Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat
dengan bahasa tingkat rendah, namum kemudahan dalam memprogram setara
dengan bahasa tingkat tinggi.
5. C
memungkinkan memanipulasi data dalam bentuk bit maupun byte secara
efisien. Disamping itu juga memungkinkan untuk melakukan manipulasi
alamat dari suatu data yang dalam C dinamakan pointer.
Kelemahan Bahasa C
Adapun kelemahan --atau lebih
tepatnya kesulitan bahasa pemrograman C terutama yang dirasakan oleh
pemrogram pemula diantaranya adalah:
a.
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai, yang jika belum familiar akan menimbulkan
masalah.
b. Para pemrogram C
tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa
menggunakannya, padahal keampuhan bahasa C justru terletak pada pointer.
Namun kesulitan di atas biasanya hanya bersifat sementara saja.
- Fungsi Penyusun Bahasa C
Program bahasa C pada hakikatnya
tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung
sebuah fungsi yaitu fungsi utama ( main() ). Setiap fungsi terdiri dari
satu atau beberapa pernyataan yang secara keseluruhan dimaksudkan untuk
melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut
tubuh fungsi) diawali dengan tanda kurung kurawal buka ( { ) dan
diakhiri dengan tanda kurung kurawal tutup ( } ). Namun dalam
kenyataannya suatu fungsi bisa saja tidak mengandung pernyataan sama
sekali, seperti yang diperlihatkan pada contoh berikut:
Main()
{
}
Walaupun fungsi tidak mempunyai
pernyataan, namun kurung kurawal harus tetap ada, karena mengisyaratkan
awal dan akhir definisi fungsi. Secara umum suatu fungsi mempunyai
bentuk sebagai beriku:
Nama-fungsi (daftar parameter)
Deklarasi parameter;
{
Tubuh Fungsi
}
Fungsi main()
Pada program bahasa C, main()
merupakan fungsi yang istimewa, karena fungsi main harus selalu ada
dalam program, sebab fungsi inilah yang menjadi titik awal dan titik
akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh
fungsi dan sekaligus awal program, sedangkan tanda } di akhir tubuh
fungsi menyatakan akhir dari tubuh fungsi sekaligus akhir eksekusi
program. Jika program lebih dari satu fungsi, fungsi main() biasa
ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi,
untuk memudahkan pencarian program utama.
Fungsi printf()
Fungsi printf() merupakan fungsi
yang umum digunakan untuk menampilkan suatu keluaran program pada layar
penampil (monitor). Untuk menampilkan tulisan Selamat Datang maka
pernyataan yang diperlukan berupa:
printf("Selamat Datang");
Pernyataan
di atas berupa pemanggilan fungsi printf() dengan argumen/parameter
berupa string "Selamat Datang". Dalam C suatu konstanta string ditulis
dengan diawali dan diakhiri tanda petik ganda ("). Pernyataan dalam
bahasa C selalu diakhiri dengan titik koma ( ; ), yang dipakai sebagai
pemberhentian pernyataan dan bukanlah sebagai pemisah antara dua
pernyataan.
Contoh berikut adalah contoh program yang agak lengkap:
#include
main()
{
printf("Selamat datang di program bahasa C");
}
Jika program dieksekusi maka akan menghasilkan keluaran string Selamat darang di program bahasa C.
Praprosesor #include
Pada contoh program sebelumnya terdapat baris yang berisi #include :
1. #include merupakan salah satu
jenis pengarah praprosesor yang digunakan untuk memberitahu kompiler
agar dalam proses linking membaca file yang dinamakan file judul (header
file), yaitu file yang diantaranya berisi deklarasi fungsi dan definisi
konstanta.
2. Bahasa C menyediakan beberapa
file judul yang ditandai dengan ekstensi .h. Misal, pada program di
atas, #include menyatakan pada kompiler agar membaca file bernama
stdio.h saat melakukan kompilasi.
3. Bentuk umum #include: #include atau #include "namafile"
4. Bentuk pertama ( #include )
mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus
(direktori file include), yang merupakan default direktori file-file
judul yang disediakan oleh bahasa pemrograman.
5. Bentuk kedua ( #include
"namafile" ) menyatakan bahwa pencarian file dilakukan pertama kali pada
direktori aktif tempat program sumber, dan seandainya tidak ditemukan
pencarian akan dilanjutkan pada direktori lainnya sesuai dengan perintah
pada sistem operasi (yaitu path).
6. Kebanyakan program melibatkan
file stdio.h, yaitu file judul I/O standar yang disediakan dalam C,
yang diperlukan untuk program-program yang menggunakan pustaka fungsi
I/O standar seperti printf().
- Kondisi di bahasa C
Kondisi dalam bahasa C ada dua macam yaitu if dan switch
pernyataan if mempunyai bentuk :
if(kondisi)
pernyataan;
Bentuk ini menyatakan :
• Jika kondisi yang di seleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan di proses.
• Sebaliknya, jika kondisi
yang di seleksi tidak benar (bernilai logika = 0), maka pernyataan yang
mengikutinya tidak akan di proses.
Mengenai kondisi harus di tulis
di dalam tanda kurung, sedangkan pernyataan dapat berupa sebuah
pernyataan tunggal, pernyataan majemuk atau pernyataan kosong.
Untuk pernyataan majemuk harus di tulis seperti :
if(kondisi){
pernyataan1;
pernyataan2;
pernyataan3;
}
terdapat tanda kurung sebelum dan sesudah pernyataan
pernyataan if-else mempunyai bentuk :
if(kondisi)
pernyataan1;
else
pernyataan2;
• Jika kondisi benar, maka pernyataan-1 di jalankan.
• Sedangkan bila kondisi salah, maka pernyataan-2 yang di jalankan
pernyataan if di dalam if
bentuk umum :
if(kondisi-1)
{
if(kondisi-2)
{
_
_
if(kondisi-n)
pernyataan;
else
{
pernyataan;
_
_
}
}
else
pernyataan;
}
else
pernyataan;
pernyataan else-if (neested if) di gunakan apabila kondisi lebih dari 2
pernyataan switch
pernyaatan switch merupakan
pernyataan yang di rancang khusus untuk menangani pengambilan keputusan
yang melibatkan sejumlah alternatif, misalnya untuk menggantikan
pernyataan if bertingkat.
Bentuk umum :
switch(ekspresi)
{
case kontanta-1:
pernyataan;
………
break;
case kontanta-2:
……..
…….
break;
case konstanta-n;
…..
break;
default:
…..
break;
}
Sumber : https://www.google.com