Rabu, 25 Januari 2012

Dasar programming C

C programming language

C adalah bahasa pemrograman yang dikembangkan oleh Dennis Ritchie pada tahun
1970 untuk pemakaian pada sistem operasi UNIX, dan sampai sekarang bahasa ini telah
dipergunakan secara praktis pada hampir semua sistem operasi. Bahasa C merupakan
bahasa yang paling populer untuk menulis sistem software, dan aplikasi. serta banyak
digunakan dalam pelajaran Komputer Sains.

Features
C adalah bahasa yang lebih low-level dibandingkan dengan bahasa pemrograman
lainnya. Walaupun kadang-kadang disebutkan sebagai ?high-level-language?,
sebenarnya ia hanya lebih high-level dibandingkan dengan bahasa assembly.
C memiliki dua keunggulan utama dibandingkan dengan assembly. Pertama, kodenya
lebih mudah dibaca dan ditulis, terutama untuk program yang panjang. Kedua, kode
assembly biasanya hanya bisa diterapkan pada arsitektur komputer yang tertentu saja,
sedangkan program C dapat di pindahkan ke berbagai arsitektur dimana kalau compiler
dan librarynya tersedia.
Sebaliknya efisiensi dari kode C adalah sangat bergantung pada kemampuan dari
compiler untuk mengoptimisasi bahasa mesin yang dihasilkan, yang mana hal ini berada
diluar kendali programmer.
Demikian juga keunggulan dan kelemahan antara C dengan bahasa high-level lainnya
dimana efisiensi yang dihasilkan oleh kode C dapat lebih terkontrol, dan konsekuensinya
adalah lebih sulit dibaca dan ditulis, tetapi perlu dicatat bahwa C adalah bahasa tingkat
tinggi yang portabel, karena sampai saat ini hampir semua arsitektur komputer
menyediakan compiler C dan librarynya.
Sesuatu fasilitas dari C yang perlu menjadi perhatian programmer adalah kemampuan
dalam mengatur isi memori komputer. C Standar tidak menyediakan fasilitas array
bounds checking yang dengan mudah akan menyebabkan bug dalam kaitannya dengan
operasi memori, seperti buffer overflows, serta computer insecurity.
Beberapa fasilitas C adalah:
  Suatu bahasa dengan (kernel) inti yang sederhana, dimana fungsi-fungsi yang
kurang penting tersedia sebagai kumpulan rutin-rutin pustaka (library) yang di
standarisasi.
  Terfokus pada paradigma pemrograman procedural, dengan fasilitas
pemrograman yang terstruktur.
  Memiliki suatu bahasa preprocessor
  Memiliki perfomance O(1) untuk semua operator.
  Akses secara Low-level pada memori komputer melalui pointer.
  Parameter selalu dilewatkan ke function secara by value, bukan by reference.

History
Early developments
Pengembangan C mula-mula dilakukan di laboratoriun AT&T Bell antara tahun 1969
dan 1973; menurut Ritchie, periode yang paling kreatif adalah 1972. Namanya C karena
banyak fasilitasnya diambil dari bahasa sebelumnya yang disebut sebagai ?B?.
Pada tahun 1973, bahasa C menjadi cukup powerfull dimana biasanya kernel UNIX
aslinya ditulis dengan menggunakan bahasa assembly PDP-11/20, telah ditulis kembali
dengan menggunakan C. Ini merupakan pertama kali kernel suatu sistem operasi yang
ditulis dengan bahasa selain assembly.
K&R C
Pada tahun 1978, Ritchie dan Brian Kerhighan mempubikasikan suatu buku edisi
pertama dengan judul The C Programming Language. Buku ini dikenal oleh para
programmer C sebagai ?K&R?.
K&R mengenalkan fasilitas berikut pada bahasa tersebut :
  Type data struktur (struc)
  Type data long int
  Type data unsigned int
  Operator =+ diganti dengan +=, karena (=+ membingungkan lexical analyzer
Compiler C).
Pada tahun setelah publikasi K&R C, beberapa fasilitas tambahan seperti :
  void function dan void * data type
  fungsi pengembalian struct atau union type
  nama field struct dipisahkan dengan sebuah spasi setelah type struct.
  assignment untuk type data struct
  const qualifier untuk membuat suatu object read-only
  suatu standard library yang terdiri dari banyak fungsi yang di sediakan oleh
berbagai vendor.
  enumerations
  type single-precision float

ANSI C and ISO C
Sejak tahun 1970, C mulai mengantikan BASIC sebagai pemimpin bahasa pemrograman
mikrokomputer. Sejak 1980 mulai diadopsi pemakaiannya pada IBM PC, dan
popularitasnya mulai bertambah secara nyata. Pada saat yang bersamaan Bjarne
Stroustrup pada Bell Labs mulai bekerja untuk menambah konstruksi object-oriented
pada C. Bahasa yang mereka produksi disebut sebagai C++, dan sekarang merupakan
bahasa yang banyak dipergunakan pada sistem operasi Microsoft Windows; sedangkan
C tetap merupakan bahasa yang poluler di Unix.
Pada tahun 1983, American National Standards Institute (ANSI) membentuk suatu
komite, X3J11, untuk mengembangkan suatu spesifikasi standard untuk C. Melalui
proses yang panjang, standard tersebut berhasil diselesaikan pada tahun 1989 (satu tahun
setelah standard ANSI pertama untuk C++!) dan diratifikasikan sebagai ANSI X3.159-
1989 ?Programming Language C?. Versi bahasa ini sering disebut sebagai ANSI C. Pada
tahun 1990, ANSI C standard (dengan beberapa modifikasi kecil) telah diadopsi oleh
International Standards Organization (ISO) sebagai ISO/IEC 9899:1990.
ANSI C didukung oleh kebanyakan compiler. Banyak kode C yang ditulis sekarang
didasarkan pada ANSI C. Semua program yang ditulis dengan standard C dijamin akan
berfungsi dengan baik pada platform lain yang memiliki C. Tetapi banyak juga program
C yang hanya dapat di kompilasi pada platform tertentu dengan compiler tertentu
sehubungan dengan library non standard, misalnya untuk graphic.

C99
Setelah proses standarisasi oleh ANSI, sepesikasi bahasa C masih relatif statis untuk
beberapa saat, sedangkan C++ terus berevolusi. (Normalnya penyempurnaan 1 telah
menghasilkan suatu versi C yang baru pada tahun 1995, tetapi versi yang ini jarang
diketahui.) Sedangkan, revisi standard tahun 1990, mengawali publikasi sebagai ISO
9899:1999 pada tahun 1999. Standard ini disebut sebagai ?C99″ telah diadopsi sebagai
ANSI standard pada 2000.
Kemampuan baru C99 meliputi:
  fungsi inline function
  membebaskan pembatasan terhadap tempat deklarasi variabel (seperti pada C++)
  menambah beberapa type data baru, termasuk long long int (untuk
mengurangi kesulitan transisi 32-bit ke 64-bit), type data boolean, dan suatu yang
baru untuk bilangan complex.
  array variable-length
  dukungan resmi terhadap one-line comment yang dimulai dengan //, dipinjam
dari C++
  beberapa fungsi library baru, seperti snprintf()
  beberapa header file baru, seperti stdint.h

sumber http://blog.cyber4rt.com

Tidak ada komentar:

Posting Komentar