Kamis, 24 November 2011

Bahasa Pemograman C


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.
  1. 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

Daftar Post