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;
}
Semoga bermanfaat.
Tidak ada komentar:
Posting Komentar