SEJARAH BAHASA PEMROGRAMAN “C"

Sejarah perkembangan dan latar belakang munculnya bahasa C Boleh dikatakan bahwa akar dari bahasa C
adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun
1967. Kemudian berdasar pada bahasa BCPL ini
Ken Thompson yang bekerja di Bell Telephone Laboratories (Bell Labs)
mengembangkan bahasa B pada tahun 1970. Saat itu bahasa B telah berhasil
diimplementasikan di komputer DEC PDP-7 dengan operating system (OS)
UNIX. Pada tahun 1972, peneliti lain di Bell Labs bernama Dennis Ritchie
menyempurnakannya menjadi bahasa C. Bahasa C dilahirkan di Bell
Telephone Laboratories (atau sering disebut sebagai Bell Labs saja).
Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari
Bell Labs. Pada tahun 1947, transistor ditemukan di Bell Labs. Untuk
beberapa tahun, ada sebuah bahasa pemrograman yang sangat dekat dengan
sistem operasi UNIX, yang disebut dengan bahasa C, yang didesain oleh
Dennis Ritchie dan Brian Kernighan. Mengapa disebut hanya C saja?
Bahasa C disebut demikian mengingat bahasa tersebut adalah turunan dari
bahasa B, dan bahasa B merupakan pemendekan dari Basic CPL, sementara
CPL sendiri adalah sebuah bahasa pemrograman yang merupakan singkatan
dari Combined Programming Language.
Pada tahun 1978, Dennis Ritchie bersama dengan Brian Kernighan
mempublikasikan buku yang kemudian menjadi legenda dalam sejarah
perkembangan bahasa C, yang berjudul The C Programming Language. Buku
ini diterbitkan oleh Prentice Hall, dan pada saat ini telah
diterjemahkan dalam berbagai bahasa di dunia. Boleh dikatakan bahwa buku
ini adalah buku yang paling banyak direfer orang dan dijadikan buku
panduan tentang pemrograman bahasa C sampai saat ini. Teknik dan gaya
penulisan bahasa C yang merefer kepada buku ini kemudian terkenal dengan
sebutan K&R C atau Classic C atau Common .Seiring dengan berkembang
pesatnya bahasa C, banyak vendor mengembangkan kompiler C menurut versi
masing-masing. Hal ini menggerakkan ANSI (American National Standards
Institute) pada tahun 1983 untuk membuat suatu komite yang kemudian
diberi nama X3J11, yang betujuan untuk membuat definisi standar bahasa C
yang lebih modern dan komprehensif, dengan memperbaiki syntax dan
grammar bahasa C. Usaha ini berhasil diselesaikan 5 tahun kemudian,
yaitu ditandai dengan lahirnya standard ANSI untuk bahasa C yang
kemudian terkenal dengan sebutan ANSI C pada tahun 1988.
Sampai saat ini, bahasa C telah berhasil digunakan untuk mengembangkan
berbagai jenis permasalahan pemrograman, dari level operating system
(unix, linux, ms dos, dsb), aplikasi perkantoran (text editor, word
processor, spreadsheet, dsb), bahkan sampai pengembangan sistem pakar
(expert system). Kompiler C juga telah tersedia di semua jenis platform
komputer, mulai dari Macintosh, UNIX, PC, Micro PC, sampai super
komputer. Meskipun populer, bahasa C terkesan lebih rumit jika
dibandingkan dengan bahasa pemrograman lainnya, khususnya jika
digunakan oleh para pemrogram pemula. Ketika ALGOL dan banyak turunan
ALGOL menggunakan kata-kata yang mudah diingat seperti BEGIN dan END
untuk membatasi sebuah seksi dalam instruksi program, bahasa C malah
menggunakan tanda kurung keriting ({ dan }). Beberapa operasi juga
disederhanakan, bahkan banyak singkatannya yang cukup membingungkan
para programmer pemula. Contoh yang sering digunakan adalah printf, dan
scanf. Meskipun demikian, program-program yang ditulis dalam bahasa C
seringnya lebih efisien dibandingkan dengan bahasa pemrograman lainnya,
yang artinya program-program dalam bahasa C diterjemahkan ke dalam
machine code dalam jumlah yang relatif lebih sedikit jika dibandingkan
dengan program yang ditulis dalam bahasa pemrograman lainnya. Salah satu
bagian yang paling canggih dari bahasa C adalah bahwa bahasa C
memiliki “pointer”, selain tentunya “variabel” dan “konstanta”. Istilah
Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori
yang mengizinkan para programmer untuk melakukan beberapa tugas secara
jauh lebih efisien, dengan melibatkan bit, byte, dan word memori.
Karenanya, banyak orang menyebut bahasa C sebagai “High-level Assembly
language, atau bahasa rakitan tingkat tinggi.Meskipun bahasa C masih
merupakan bahasa pemrograman yang populer, bahasa tersebut saat ini
dapat dikatakan telah “kadaluwarsa”. Saat ini, bahasa tersebut
diklasifikasikan ke dalam “bahasa pemrograman prosedural tradisional”
(traditional procedural programming language), sebuah istilah yang
merujuk kepada struktur program-program dalam bahasa C. Umumnya sebuah
program bahasa C terdiri atas banyak prosedur (juga sering disebut
sebagai fungsi/function atau subrutin/subroutine), yang setiap prosedur
tersebut merupakan bagian dari kode yang melakukan beberapa tugas
tertentu atau merupakan implementasi dari algoritma tertentu.
Prosedur-prosedur tersebut dapat bekerja dengan data dalam beberapa
cara. Data adalah kumpulan angka atau teks atau bahkan gabungan antara
keduanya. Dalam bahasa pemrograman prosedural tradisional, kodelah yang
memproses data menjadi output. C bisa disebut bahasa pemrograman tingkat menengah (middle level
programming language). Arti tingkat (level) disini adalah kemampuan
mengakses fungsi-fungsi dan perintah-perintah dasar bahasa
mesin/hardware (machine basic instruction set). Semakin tinggi tingkat
bahasa pemrograman (misalnya: java), semakin mudahlah bahasa pemrograman
dipahami manusia, namun membawa pengaruh semakin berkurang kemampuan
untuk mengakses langsung instruksi dasar bahasa mesin. Demikian juga
sebaliknya dengan bahasa pemrograman tingkat rendah (misalnya:
assembler), yang semakin sulit dipahami manusia dan hanya berisi
perintah untuk mengakses bahasa mesin. Dalam perspektif mudahnya
dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C
juga menyediakan kemampuan yang ada pada bahasa tingkat rendah,
misalnya operasi bit, operasi byte, pengaksesan memori, dsb.
Beberapa alasan mengapa memakai bahasa C
1.1. C adalah bahasa pemrograman yang paling populer saat ini,
Dengan banyaknya programmer bahasa C, membawa pengaruh semakin mudahnya
kita menemukan pemecahan masalah yang kita dapatkan ketika menulis
program dalam bahasa C. Pengaruh positif lain adalah semakin banyaknya
kompiler yang dikembangkan untuk berbagai platform (berpengaruh ke
portabilitas).
2.2. C adalah bahasa pemrograman yang memiliki portabilitas tinggi,
Program C yang kita tulis untuk satu jenis platform, bisa kita kompile
dan jalankan di platform lain dengan tanpa ataupun hanya sedikit
perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
3.3.C adalah bahasa pemrograman yang fleksibel, Dengan
menguasai bahasa C, kita bisa menulis dan mengembangkan berbagai jenis
program mulai dari operating system, word processor, graphic processor,
spreadsheets, ataupun kompiler untuk suatu bahasa pemrograman.
4. C adalah bahasa pemrograman yang bersifat moduler,
Program C ditulis dalam routine yang biasa dipanggil dengan fungsi.
Fungsi-fungsi yang telah kita buat, bisa kita gunakan kembali (reuse)
dalam program ataupun aplikasi lain