Jumat, 04 November 2016

Kupas Perbedaan Bahasa C dan C++


Kali ini mau bahas sedikit tentang perbedaan yang ada pada bahasa pemrograman c, c++, dan c#. Sebelum kita membahas perbedaan ke 3 bahasa tersebut alangkah baiknya kita mengenalnya terlebih dahulu.

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 <iostream> 
using namespace std;
template <class T> 
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:”<<endl; 
cout<<”antara “<<a<<” dan “<<b<<” adalah “<<fungsiMax(a,b)<<endl; 
cout<<”antara “<<c<<” dan “<<d<<” adalah “<<fungsiMax(c,d)<<endl; 
cout<<”antara “<<e<<” dan “<<f<<” adalah “<<fungsiMax(e,f)<<endl; 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″<<endl;
cout<<”Baris ini tidak akan dieksekusi ketika terjadi kesalahan”<<endl;
}
catch(int e) {
cout<<”Kesalahan ditemukan! Anda memasukkan nilai 0″<<endl;


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.

Source : Source : PDF materi Algoritma dan Struktur Data (Dosen : T.Bayu Sasongko, S.Kom., M.Eng) dari http://porsot.org/2013/05/kupas-perbedaan-bahasa-c-dan-c/ 

Download file PDF : Download


Share:

0 komentar:

Posting Komentar

Blog Archive

About Me

Putri

Konsep Teknologi Informasi