BABI
SEKILAS TENTANG C
Tujuan :
1.
Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C
2.
Menjelaskan kelebihan dan kekurangan bahasa C
3.
Menjelaskan proses kompilasi dan
linking program C
4.
Menjelaskan struktur penulisan
bahasa C dan menjelaskan komponen-komponen program dalam contoh aplikasi
sederhana
1.1.
Sejarah dan Ruang Lingkup C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang
kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970.
Perkembangan selanjutnya dari bahasa B adalah bahasa C 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.
C adalah bahasa yang standar, artinya suatu program yang ditulis dengan
versi bahasa C tertentu akan dapat dikompilasi dengan versi bahasa C yang lain
dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Patokan dari standar UNIX ini diambilkan dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul "The C Programming Language", diterbitkan
oleh Prentice- Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian dikenal secara umum sebagai "K&R 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
Standards Institute) 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. Standar ANSI menetapkan sebanyak 32 buah kata-kata kunci (keywords) standar.
Versi-versi bahasa C yang menyediakan paling tidak 32 kata-kata kunci ini
dengan sintaks yang sesuai dengan yang ditentukan oleh standar, maka dapat
dikatakan mengikuti standar ANSI. Buku ajar ini didasarkan pada bahasa C dari
standar ANSI.
Pada saat ini C merupakan bahasa pemrograman yang sangat populer di dunia. Banyak
pemrograman yang dibuat dengan bahasa C seperti assembler, interpreter, program
paket, sistem operasi, editor, kompiler, program bantu, Word Star, Dbase,
aplikasi untuk bisnis, matematika, dan game, bahkan ada pula yang menerapkannya
untuk kecerdasan buatan.
Dalam beberapa literatur bahasa C digolongkan sebagai bahasa tingkat
menengah. Penggolongan ke dalam bahasa tingkat menengah bukanlah berarti bahwa
bahasa C lebih sulit dibandingkan dengan bahasa tingkat tinggi seperti PASCAL
atau BASIC. Demikian juga bahasa C bukanlah bahasa yang berorientasi pada mesin
seperti bahasa mesin dan assembly. Pada kenyataannya bahasa C mengkombinasikan
elemen dalam bahasa tingkat tinggi dan bahasa tingkat rendah. Kemudahan dalam
membuat program yang ditawarkan pada bahasa tingkat tinggi dan kecepatan
eksekusi dari bahasa tingkat rendah merupakan tujuan diwujudkannya bahasa C.
1.2.
Kelebihan dan Kelemahan C.
Beberapa kelebihan dari bahasa C:
■
Bahasa C tersedia hampir di semuajenis komputer, baik mikro, mini maupun
komputer besar (mainframe computer).
■
Kode bahasa C bersifat portabel. Suatu aplikasi yang ditulis dengan bahasa
C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan
sedikit modifikasi.
■
Berbagai struktur data dan pengendalian proses disediakan dalam C sehingga
memungkinkan untuk membuat program yang terstruktur. Struktur bahasa yang baik,
selain mudah dipelajari juga memudahkan dalam pembuatan program, pelacakan
kesalahan program dan akan menghasilkan dokumentasi program yang baik.
■
Dibandingkan dengan bahasa mesin atau assembly, C jauh lebih mudah dipahami
dan pemrogram tidak perlu mengetahui mesin komputer secara detil. Dengan
demikian tidak akan menyita waktu yang terlampau banyak dalam menyelesaikan
suatu masalah ke dalam bentuk program. Hal ini dikarenakan C merupakan bahasa
yang berorientasi pada permasalahan, bukan berorientasi pada mesin.
■
C memungkinkan memanipulasi data
dalam bentuk bit maupun byte. Di samping itu juga memungkinkan untuk
memanipulasi alamat dari suatu data atau pointer.
■
Adapun kelemahan bahasa C yang dirasakan oleh para pemula bahasa C:
■
Banyaknya operator serta
fleksibilitas penulisan program kadang-kadang membingungkan pemakai. Kalau
tidak dikuasai sudah tentu akan menimbulkan masalah.
■
Para pemrogram C tingkat pemula
umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya.
Padahal keampuhan C justru terletak pada pointer.
■
Kesulitan yang diuraikan di depan akan bersifat sementara saja. Kalau para
pemula C mau mempelajarinya, sebenarnya tak ada yang dikatakan sulit sekali
mengenai C. Mereka yang sudah terbiasa justru menyatakan bahwa bekerja dengan C
sangat menyenangkan. Pepatah mengatakan ?Di mana ada kemauan di situ ada jalan”
dan “Jika tak kenal maka tak sayang”.
■
Proses Kompilasi dan Linking Program C
■
Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer,
program haruslah diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah
yang digunakan bisa berupa interpreter atau kompiler.
■
Interpreter adalah suatu jenis penerjemah yang menerjemahkan baris per
baris intsruksi untuk setiap saat. Keuntungan pemakaian interpreter, penyusunan
program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada
beberapa kesalahan secara kaidah dalam program. Sedangkan kelemahannya,
kecepatannya menjadi lambat sebab sebelum suatu instruksi dijalankan selalu
harus diterjemahkan terlebih dahulu. Selain itu, saat program dieksekusi,
interpreter juga harus berada dalam memori. Jadi memori selalu digunakan baik
untuk program maupun interpreter. Di samping itu, program sumber (source
program) yaitu program aslinya tidak dapat dirahasiakan (orang lain selalu
bisa melihatnya).
■
Kebanyakan versi C yang beredar di pasaran menggunakan penerjemah berupa
kompiler. Kompiler merupakan jenis penerjemah yang lain, dengan cara kerjanya
yaitu menerjemahkan seluruh instruksi dalam program sekaligus. Proses
pengkompilasian ini cukup dilakukan sekali saja. Selanjutnya hasil
penerjemahan (setelah melalui tahapan yang lain) bisa dijalankan secara
langsung, tanpa tergantung lagi oleh program sumber maupun kompilernya.
Keuntungannya, proses eksekusi dapat berjalan dengan cepat, sebab tak ada lagi
proses penerjemahan. Di samping itu, program sumber bisa dirahasiakan, sebab
yang dieksekusi adalah program yang sudah dalam bentuk kode mesin. Sedangkan
kelemahannya, proses pembuatan dan pengujian membutuhkan waktu relatif lebih
lama, sebab ada waktu untuk mengkompilasi (menerjemahkan) dan ada pula waktu
melakukan proses Unking. Perlu pula
diketahui, program akan berhasil dikompilasi hanyajika program tak mengandung
kesalahan secara kaidah sama sekali.
■
Proses dari bentuk program sumber C (source
program, yaitu program yang ditulis dalam bahasa C) hingga
menjadi program yang executable (dapat
dieksekusi secara langsung) ditunjukkan pada Gambar l.ldi bawah ini.
No Comment to " Kupas Tuntas tentang Bahasa C (Bab 1) "