Kali ini mau bahas sedikit tentang perbedaan yang ada pada bahasa pemrograman c dan c++. Sebelum kita membahas perbedaan ke 2 bahasa tersebut alangkah baiknya kita mengenalnya terlebih dahulu.
Dennis Ritchie in Porsot inc
Bahasa C dibuat pada tahun 1972 oleh Bp. Dennis Ritchie untuk sistem operasi unix di bell telephone laboratories. Pada awalnya, bahasa di rancang untung bahasa jaringan yang lalu dikembangkan hingga dapat membuat sebuah aplikasi.
Sedangkan bahasa C++ dibuat oleh Bjarne Stroustrup adalah turunan dari bahasa C yang disempurnakan menjadi OOP (Object Oriented Programming) sehingga bahasa C++ ini mendukung class, makannya dahulu bahasa C++ ini pernah disebut bahasa C with classes.
Perbandingan
Karena C++ berdasarkan dari C, maka
kebanyakan kode C bisa dirakit di kompilator C++ dengan mudah. Perbedaan
kecil contohnya kata “new” dan “delete” yang terdapat di kode C tidak
bisa dirakit di C++ karena kata-kata ini adalah kata dipesan C++.
Perbedaan
Perbedaan yang paling mencolok adalah pada fitur OOP, Pada bahasa C tidak mendukung OOP, Sedangkan pada bahasa C++ mendukung fitur OOP. Lalu perbedaan lainnya adalah pada header dan cara penulisannya.
Pada bahasa C standar output menggunakan header “stdio.h”, sedangkan pada C++ menggunakan “iostream.h”
Namespace, fitur ini ada pada bahasa C++
dan digunakan untuk mengelompokan fungsi – fungsi tertentu sehingga
sistematis. Dengan namespace ini kita dapat membuat banyak fungsi yang
sama , lalu mengelompokannya berdasarkan kategorynya.
Output
untuk menulis sebuah output string dalam bahasa C kita menggunakan printf(“hello world”); , sedangkan pada bahasa C++ kita menggunakan cout<<“hello world”<.
Pada fungsi utama main() di program C
kita bisa menulis nilai kembalian fungsi adalah void yang berarti fungsi
tidak akan mengembalikan nilai apapun ke pemanggil / ke OS. Sedangkan
dalam C++ kita lihat nilai kembalian fungsi didefinisikan sebagai int
yang artinya setelah program dieksekusi maka akan mengembalikan nilai
tertentu (dalam hal ini 0) kepada pemanggil / OS. Sebenarnya fungsi
main() dalam C juga dapat diberikan nilai int namun itu bukan suatu
keharusan. Sedangkan dalam C++ kita diwajibkan menggunakan int sebagai
nilai kembalian (jika menggunakan bahasa C++ yang telah standard).
Malloc vs New
Berbicara mengenai pointer dan data maka
kita tidak akan lepas dari alokasi memori dan dealokasi tentunya. Dalam
C tidak terdapat kata kunci khusus untuk melakukannya. Untuk memesan
alamat memori di heap kita menggunakan fungsi malloc(). Sedangkan dalam
C++ disediakan kata kunci new untuk melakukan kegiatan serupa.
Keuntungannya dengan adanya kata kunci new untuk alokasi memori sebagai
perintah built-in dapat mengefisienkan kerja kita.
Template
Ini dia salah satu kelebihan C++
dibanding banyak bahasa pemrograman lain. Template adalah sistem
overload otomatis terhadap fungsi-fungsi yang kita definisikan. Bingung?
gampangannya dengan template kita bisa membuat fungsi generic (fungsi
umum) yang dapat dipakai untuk berbagai tipe data. Jadi kita hanya perlu
membuat 1 fungsi untuk semua. Menarik bukan? Mari kita simak contohnya:
#include
using namespace std;
template
T fungsiMax(T v1, T v2) {
if(v1 >= v2) return v1;
else return v2;
}
int main() {
int a=9,b=10;
float c=3.14, d=2.13;
char e=’e’,f=’f';
cout<<”Yang paling besar:”<cout<<”antara “< cout<<”antara “< cout<<”antara “< return 0;
}
Jika kita lihat dalam potongan source
code di atas, kita hanya melihat satu fungsi yaitu fungsiMax(), tapi ia
dapat digunakan untuk tipe data int, float dan char.
Exception handling
C++ adalah bahasa pemrograman pertama
yang menggunakan sistem exception handling. Exception handling adalah
teknik menjebak error atau penanganan kesalahan. Jika kita menulis kode
dalam bahasa C, kita akan dipusingkan jika terjadi error dalam kode
kita. Cara lama yang dipakai adalah menelusuri alur program dan menguji
satu per satu fungsi yang ada dan diperkirakan menyebabkan error. Dalam
C++, manakala terjadi error program akan menghentikan proses dan mencari
penanganan kesalahan yang tepat sesuai kesalahan yang terjadi.
perhatikan kode dibawah ini.
try {
int a;
cin>>a;
if( a == 0) throw a;
else cout<<”Anda memasukkan angka selain 0″<cout<<”Baris ini tidak akan dieksekusi ketika terjadi kesalahan”< }
catch(int e) {
cout<<”Kesalahan ditemukan! Anda memasukkan nilai 0″<}
Misalkan saja kita membuat sebuah kode
yang meminta input valid. Input valid di sini adalah input yang bukan 0.
Ketika user memasukkan 0 maka masukan itu dianggap sebagai kesalahan.
Kesalahan itu kemudian dilempar ke luar dengan perintah throw. Sedangkan
error yang dilempar itu akan ditangkap oleh catch dan akan ditampilkan /
dikerjakan statement untuk menangani kesalahan tersebut.
STL
Satu yang ada di C++ adalah library
khusus bernama STL. STL adalah kumpulan fungsi-fungsi dan data-data
khusus yang banyak digunakan untuk struktur data. Misalkan queue,
vector, map, tree dll yang banyak digunakan dalam struktur data. Dengan
STL kita tidak perlu mendefinisikan sendiri struktur data sendiri karena
struktur-struktur data tersebut telah disediakan oleh C++. STL
Merupakan singkatan dari Standard Template Library. Sesuai namanya,
class dalam STL merupakan template sehingga dapat digunakan untuk
berbagai macam tipe data.
Posting Komentar