Assalamualaikum, berhubung beberapa waktu yang lalu ada yang sempat bertanya kepada saya pada salah satu postingan saya yang berjudul "6 Paradigma Pemrograman", kira-kira seperti ini pertanyaannya :
"Saya mau bertanya, apa perbedaan C dengan C++?"
Gambar 1
Ya, bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer yang dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer, namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi.
Bahasa pemrograman C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa pemrograman populer lainnya, terutama Bahasa pemrograman C++ yang merupakan extensi dari C.

Perbedaan Bahasa C dengan C++


Bahasa pemrograman C dan C++ merupakan bahasa pemrograman tingkat tinggi. Bahasa C++ dicipitakan oleh Bjarne Stroustrup, ia menggunakan Bahasa pemrograman C sebagai dasar dari Bahasa pemrograman C++. Maka bisa dilihat bahwa Bahasa pemrograman C++ dengan Bahasa pemrograman C merupakan satu garis keturunan. Perbedaan dari kedua bahasa tersebut bisa dilihat dari kasat mata dalam struktur pemrogramannya.

C++ pada awalnya disebut sebagai “C dengan Kelas” (C With Classes) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek. Karena C++ berdasarkan dari Bahasa pemrograman 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++. Pustaka C biasanya bisa diimpor ke pustaka C++, tapi karena kompilator C dan C++ memiliki “name mangling” yang berbeda, maka perubahan kecil di kode C perlu dilakukan.

Perbedaan bahasa C dengan C++ dapat kita lihat pada beberapa hal berikut ini :


1. Tipe Data Karakter


Pada bahasa pemrograman C++, bool dapat berisi true ataupun false, mirip Pascal. Sedangkan pada bahasa pemrograman C tidak ada type boolean. Sebagai gantinya, type bilangan bulat apapun bisa dipakai sebagai ganti boolean dengan aturan false adalah 0 dan true adalah angka selain 0.

2. Tipe Data String


Pada bahasa pemrograman C, tidak ada type data khusus string, sehingga string didefinisikan sebagai array of char. Sedangkan pada bahasa pemrograman C++, untuk menggunakan type string harus ada #include di awal program harus menggunakan std::string.

3. Tipe data struct (record)


Misal deklarasi variabel siswa ichand; maka akses ke elemennya menggunakan titik ‘.

contoh :  
ichand.nama,
ichand.kelas

4. Tipe data enumerasi


Jadi format typedef enum {} ;

Untuk contoh : 
‘hari (dalam minggu)’, pada C dan C++ ‘senin’ akan bernilai 0, ‘selasa’=1, ‘rabu’=2 dst

Jika ditulis : 
typedef enum{‘senin’ = 3, ‘selasa’ = 7, ‘rabu’, ‘kamis’=9, ‘jumat’=10, ‘sabtu’ = 20;} hari;

Maka senin bernilai 3, selasa=7, rabu=8, kamis=9, jumat=10, sabtu=20.

Jika nilai pada elemen tersebut tidak didefinisikan, akan dianggap +1 dari elemen sebelumnya.

5. Input


Pada bahasa pemrograman C perlu #include di awal program dan output menggunakan fungsi printf (print formatted), Formatnya:  
printf(“”,[, ,...]);
Jadi, bentuk dari keluaran dituliskan dulu formatnya sebagai parameter pertama printf dalam bentuk string (diapit oleh petik), yang membedakan text biasa dengan format variabel adalah tanda '%' (persen).
Pada bahasa pemrograman C, input menggunakan scanf (scan formatted). Format yang digunakan hampir sama dengan printf, namun setelah string format, yang diisi bukan nama variabel, melainkan pointer dari array tersebut. Maka dalam memasukkan nilai desimal (%f) kedalam variabel f digunakan pointer f (&f).
Pada bahasa pemrograman C++, perlu #include di awal program dan input menggunakan std::cin.

6. Penggunaan


Bahasa pemrograman C merupakan bahasa pemrograman terstruktur yang mempunyai tujuan untuk mempermudah pembuatan & pengembangan program.
Bahasa pemrograman C++ merupakan bahasa yang berorientasi obyek (OOP) yang mempunyai tujuan untuk meningkatkan produktivitas lebih.

7. File Header


Dalam Bahasa pemrograman C, file header yang digunakan adalah stdio.h.
Dalam Bahasa pemrograman C++, file header yang digunakan adalah iostream.h. Terkadang juga memakai conio, stdio, dll. Tetapi iostream wajib digunakan dalam file header nya.

8. Cout & Printf


Dalam Bahasa pemrograman C, penggunaan untuk fungsi output digunakan printf (print formatted).
Dalam Bahasa pemrograman C++, penggunaan untuk fungsi output digunakan perintah cout.

9. Cin & Scanf


Dalam Bahasa pemrograman C, untuk pengambilan karakter melalui keyboard mengunakan scanf.
Dalam Bahasa pemrograman C++, untuk pengambilan karakter melalui keyboard menggunakan Cin.

10. Prosedural vs OOP


Bahasa pemrograman C dan C++ berbeda dalam paradigma pemrograman. Bahasa C lebih mengarah ke prosedural murni, sedangkan C++ adalah semi-prosedural. Kekuatan utama C++ adalah pada Object Oriented Programming atau Pemrograman Berorientasi Objek. Dalam prosedural, masalah dipecah menjadi bagian-bagian yang kecil kemudian dicari solusi penyelesaian tepat untuk masalah tersebut. Dalam konsep OOP, setiap masalah adalah objek yang memiliki karakteristik tertentu.

11. Malloc vs new


Berbicara mengenai pointer dan data maka kita tidak akan lepas dari alokasi memori dan dealokasi tentunya. Dalam Bahasa pemrograman C tidak terdapat kata kunci khusus untuk melakukannya. Untuk memesan alamat memori di heap kita menggunakan fungsi malloc(). Sedangkan dalam Bahasa pemrograman 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.

12. Template


Ini dia salah satu kelebihan C++ dibanding banyak bahasa pemrograman lain. Template adalah sistem overload otomatis terhadap fungsi-fungsi yang kita definisikan, 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.

13. 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.

14. 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.



Sekian artikel kali ini, terutama bagi teman-teman pelajar ataupun mahasiswa seperguruan yang sedang mempelajari Dasar Pemrograman di kampus dan sekolahnya masing-masing. :)

8 Comments 8 comments 8 comments

Peraturan berkomentar :

# Diizinkan :
- Diskusi
- Link Aktif

# Tidak Diizinkan :
- SARA
- Berkata kotor

 
JOVANZERS! Blog © 2014. All Rights Reserved. | Modified by Creative Crew! | Powered by Blogger
Top