2.1.
Sejarah C++
Gambar
1.1. foto Ken Thompson dan Martin Richard
C merupakan pengembangan dari bahasa
pemrograman B yang disusun oleh Ken Thompson pada tahun 1970 untuk mesin
DEC PDP-7 yang menggunakan sistem operasi UNIX. Bahasa
pemrograman B itu sendiri diadaptasikan dari bahasa pemrograman BCPL (Basic
Combined Programming
Language)
yang disusun oleh Martin Richards tahun 1967. C disusun oleh Dennis
M. Ritchie pada tahun 1972. Tidak lama setelah itu, C diimplementasikan
oleh Ritchie dalam menuliskan kembali sistem operasi UNIX yang
sebelumnya
ditulis
dalam bahasa Assembly DEC PDP-11. Pada mulanya C banyak dipakai untuk
pemrograman sistem di laboratorium laboratorium penelitian dan
universitas-universitas di Amerika Serikat. Standar acuan yang digunakan adalah
standar yang dikeluarkan bersama sistem operasi UNIX System 5 dan dijabarkan
dalam buku The C Programming Language oleh Brian W. Kernighan dan
Dennis M. Ritchie (Prentice-Hall, 1978). Acuan ini dikenal dengan
sebutan K&R Standard.
Kepopuleran C ini pada mulanya tidak
dapat dilepaskan dari kepopuleran sistem operasi UNIX yang merupakan
induk dan aplikasi utama pertamanya. Dalam waktu yang singkat C telah
menggantikan pemrograman assembler dalam
lingkungan
UNIX. Tetapi selanjutnya C berkembang ke arah status yang mandiri dan
digunakan dalam pengembangan berbagai perangkat lunak aplikasi komersial.
Banyak pula perusahaan-perusahaan lain yang mengembangkan kompilerkompiler C
untuk lingkungan non-UNIX. Hingga awal tahun 80-an berbagai versi C untuk
mikrokomputer telah banyak beredar di pasar perangkat lunak. Tidaklah salah
jika dikatakan bahwa versi-versi C untuk mikrokomputer inilah yang memegang
peranan yang cukup besar dalam menunjang kepopulerannya.
Di
antara versi C untuk mikrokomputer yang umum dikenal adalah: Turbo C® dari
Borland International, Microsoft® C dari Microsoft Corporation, Microsoft
QuickC® juga dari Microsoft Corporation, LATTICE® C dari Lattice Incorporation,
dan Eco-C™ dari Ecosoft Incorporation. Di lingkungan Linux, kompiler C yang
lazim digunakan adalah GNU C, sebuah kompiler open source yang dapat digunakan
secara bebas di bawah lisensi GNU Public Licence. Beragamnya versi C yang
beredar di pasaran melatarbelakangi dibentuknya panitia standar X3J11 pada
permulaan tahun 1983 oleh American National Standards Institute (ANSI®)
untuk menyeragamkan definisi C. Panitia standararisasi ini selain
mempertahankan sebanyak mungkin bentuk asli C yang terdapat dalam K&R C,
juga memperbaiki dan menambah fungsionalitas bahasa yang tidak terdapat di dalam
bentuk orisinilnya. Hasil kerja panitia standar X3J11
kemudian
diterima pada bulan Desember 1989 dan dituangkan dalam draf standar ANSI C: Programming
Language C.
Pada perkembangan selanjutnya, C
diarahkan ke pemrograman berorientasi objek yang dikenal dengan nama C++,
bahasa pemrograman yang dianggap sebagai superset C. Pemrograman
berorientasi objek adalah metodologi
pemrograman
yang menggunakan pendekatan enkapsulasi (pengkapsulan atau pembungkusan).
Sebenarnya konsep enkapsulasi sudah sejak lama dikenal dalam ilmu computer karena
pendekatan ini diperlukan untuk melakukan Pemrograman C di Lingkungan Linux 5
dekomposisi terhadap sistem-sistem yang besar menjadi subsub sistem dalam paket
lebih kecil yang dapat lebih mudah dikembangkan, dipelihara dan dipindahkan.
Bahasa-bahasa pemrograman dan sistem-sistem yang berorientasi-objek menerapkan
konsep enkapsulasi itu dalam bentuk objek dan
kelas.
Konstruksi pemrograman berbentuk objek
bermula dari Simula, sebuah bahasa untuk pemrograman simulasi komputer.
Hal ini tidak mengherankan karena memodelkan objek-objek simulasi secara
langsung sebagai objek perangkat lunak dapat dilakukan secara alamiah. Yang
lebih mengherankan adalah bahwa objek-objek perangkat lunak itu bukan hanya
dapat bermanfaat untuk pemrograman simulasi, tetapi juga untuk pengembangan prototyping
dan aplikasi. Berdasarkan konsep kelas objek ini dikembangkan sebuah bahasa
pemrograman yang bernama Smalltalk sebagai salah satu bahasa pemrograman
pertama yang menerapkan konsep pemrograman berorientasi objek. Karena
pemrograman berorientasi-objek terutama sekali dipopulerkan oleh upaya
pengembangan Smalltalk, maka definisi yang banyak diterima orang tentang
bahasa pemrograman berorientasi-objek adalah bahasa-bahasa yang mendukung kelas
objek dan pewarisan kelas. Definisi lain yang lebih longgar tentang bahasa
pemrograman berorientasi objek adalah setiap bahasa pemrograman yang
menyediakan mekanisme untuk memanfaatkan enkapsulasi. Beberapa versi
mikrokomputer untuk bahasa pemrograman C berorientasi objek yang pernah dan
sedang beredar di pasaran di antaranya adalah: Turbo C++®, Zortech C®, Borland
C/C++®, dan Microsoft® Visual C++.
2.2.
Ruang Lingkup C++
Kepopuleran bahasa C membuat versi-versi dari bahasa
ini banyak dibuat untuk komputer mikro. Untuk membuat verai-versi tersebut
menjadi standar, ANSI (American Nation Standards Institue) membentuk suatu
komite (ANSI committe X3J11) pada tahun 1983 yang kemudian menetapkan standar
ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada seluruh 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 detentukan 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 menetapkan untuk kecerdasan bantuan. Dalam beberapa
literatur bahasa C digolongkan sebagai bahasa tingkat menengah. Penggolongan ke
dalam bahasa tingkat menengah bukanlah berarti bahwa bahasa C lebih sulit
dibandingkan bahasa tingkat tinggi seperti PASCAL atau BASIC. Demikian juga
bahasa C bukanlah bahasa yang berorientasi pada mesin seperti bahasa mesin dan
assembly. Pada kenyataan bahasa C mengkombinasikan elemen dalam bahasa tingkat
tinggi dan bahasa tingkat rendah. Kemudian dalam membuat program yang
ditawarkan pada bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa
tingkat rendah merupakan tujuan diwujudkannya bahasa C.
2.3.
Kelebihan dan Kelemahan C++
Berikut adalah
kelebihan dan kelemahan yang terdapat pada program bahasa C++ :
2.3.1. Kelebihan
Bahasa C
1. Merupakan
induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#.
2. Compiler
bahasa C++ terdapat di semua platform
3. Untuk
pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL,
MFC, Cocoa, QT, GTK, dll.
4. Merupakan
pemrograman berorientasi objek.
5. Penanganan
kompleksitas dengan OOP.
6. Bahasa
C++ tersedia hampir di semua jenis komputer.
7. Kode
bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis
komputer.
8. Bahasa
C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata kunci).
9. Proses
eksekusi program bahasa C++ lebih cepat. Dengan demikian, aplikasi yang dibuat
dengan bahasa C++ akan menjadi aplikasi yang efisien dan kompetitif.
10. Dukungan
pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan aplikasi
makro.
11. C++
adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
12. Bahasa
C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin.
13. Kode
program bersifat reuseable, sehingga dapat digunakan kembali pada project lain
dengan hanya menggunakan library dan file header.
14. C++
dapat membuat aplikasi graphic processor berkualitas tinggi.
2.3.2. Kekurangan Bahasa C
1. C++
tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena
kaidah-kaidah OOP dapat dilanggar. Dan di C++ ada konsep pointer yang sangat
membingunkan, ini salah satu alasan mengapa C++ menjadi momok yg paling tidak
disukai.
2. C++
walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk developmentnya
harus spesific pada salah satu sistem operasi contoh Visual Studio hanya dapat
berjalan di Windows. Alasan ini juga nantinya akan dapat menurunkan minat
terhadap sistem operasi yang lain contohnya Linux. Apabila dalam praktiknya
menggunakan Visual Studio maka otomatis akan menggunakannya juga dan pada
akhirnya malas untuk mencoba sistem operasi yang lain.
3. Implementasi
C++ dalam teknologi IT pada saat sekarang sudah sangat sedikit sekali.
4. "susah"
untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam memperdalam
Programming akhirnya harus kandas kecuali dengan inisitif sendiri mempelajari
bahasa/teknologi lain.
5. Bahasa
ini cukup sulit untuk dipelajari dan dipahami.
6. Banyaknya
operator serta fleksibilitas penulisan program kadang-kadang membingungkan
pemakai.
7. Bagi
pemula pada umumnya akan kesulitan menggunakan pointer.
Tidak ada komentar:
Posting Komentar
Komentar Anda sangat berguna untuk Saya ?!!