Perbedaan Bahasa C dan C++ – Bahasa pemrograman C dan C++ tergolong sebagai bahasa programan tingkat tinggi, Bahasa C dikembangkan oleh Dennis Ritchie di Bell Telephone Laboratories pada tahun 1972. Bahasa ini merupakan bahasa pengembangan / turunan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan dari bahasa sebelumnya yaitu BCL. Sedangkan bahasa C++ diciptakan oleh Bjane Stroustrup di AT&T Bell Laboratories pada tahun 1980.

Bahasa C merupakan bahasa pemrograman prosedural, di mana penyelesaian terhadap sebuah persoalan dilakukan dengan membagi-bagi persoalan selanjutnya ke di dalam sub-sub persoalan yang lebih kecil. Sedangkan C++ adalah bahasa pemrograman yang punyai sifat Object Oriented Programming (OOP).

Untuk menyelesaikan sebuah persoalan C++ melakukan cara pertama dengan mendeskripsikan class-class yang merupakan a.-class yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class selanjutnya berisi kondisi objek, kemampuan dari objeknya dan anggota-anggotanya. Setelah dibikin sebagian class, persoalan dipecahkan manfaatkan class. Perbedaan selanjutnya mampu kita memandang langsung melalui susunan pemrogramannya.

Perbedaan Bahasa C dan C++

1.Penemu / Pendiri

Bahasa C
Bahasa C dikembangkan oleh Dennis Ritchie dan Brian W. Kernighan, yang melanjutkan usaha Dennis Ritchie di Bell Telephone Laboratories pada tahun 1972 sebagai penulis pertama dan penemu bahasa C.
Bahasa C++
Bahasa C++ yang juga disebut C With Classes (C dengan kelas) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek, pertamakali diciptakan oleh Bjarne Stroustrup, Awalnya prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas.

2.Cakupan

Bahasa C
C dapat dikatakan sebagai bagian dari C ++ .
Bahasa C++
C++ merupakan Superset dari C, dimana C++ bisa menjalankan sebagian besar (File Header / library) dari C, sedangkan C tidak bisa menjalankan / memanggil code (File Header / library) dari C++.

3.Paradigma Pemrograman (Prosedural VS Object Oriented)

Bahasa C
Bahasa C hanya mendukung paradigma pemrograman prosedural dalam pengembangan kode.
Bahasa C++
Bahasa C++ disebut bahasa hybrid karena mendukung paradigma pemrograman prosedural dan paradigma pemrograman berorientasi objek.

4.Sudut pandang terhadap Data, Prosedur dan Fungsi

Bahasa C
Pada Bahasa C (karena merupakan bahasa pemrograman prosedural), data, prosedur dan manfaat adalah entitas yang terpisah dan bebas.
Bahasa C++
Pada Bahasa C++ (digunakan sebagai bahasa pemrograman berorientasi objek), data, prosedur dan fungsi dikemas bersama dalam bentuk sebuah objek.

5.Dukungan Terhadap Polymorphisme, Inheritance dan Enkapsulasi

Bahasa C
Bahasa C tidak memiliki dukungan untuk melakukan Polymorphisme, Inheritance dan Enkapsulasi.
Bahasa C++
Sebaliknya, bahasa C++ mendukung pemrograman berorientasi objek, oleh karena itu Bahasa C++ memiliki dukungan untuk melakukan Polymorphisme, Inheritance dan Enkapsulasi.

6.Manipulasi data oleh Kode Luar

Bahasa C
Dalam Bahasa C, data entitas atau variabel dapat dimanipulasi oleh kode luar. Hal tersebut karena C tidak mendukung informasi bersembunyi (private / protected).
Bahasa C++
Dalam Bahasa C++, Penggunaan Encapsulation untuk menyembunyikan data dapat memastikan bahwa struktur data dan operator hanya digunakan sebagaimana yang telah diprogram.

7.Fungsi dan Operator Overloading

Bahasa C
Bahasa C tidak mendukung fungsi dan operator overloading.
Bahasa C++
Bahasa C ++ mendukung fungsi dan operator overloading.

8.Fungsi dalam Struktur

Bahasa C
Bahasa C tidak bisa melakukan fungsi yang harus didefinisikan di dalam struktur.
Bahasa C++
Dalam Bahasa C ++, fungsi dapat digunakan di dalam struktur.

9.Penulisan Namespace

Bahasa C
Bahasa C tidak menggunakan namespace.
Bahasa C++
Dalam Bahasa C++ kita perlu menggunakan namespace untuk memperpendek code program.

10.Stdio.H vs Iostream

Bahasa C
Bahasa C menggunakan scanf dan printf untuk fungsi input / output, fungsi tersebut berada di library (file header) atau stdio.h.
Bahasa C++
Bahasa C ++ menggunakan objek untuk input / output, fungsi tersebut berada di library atau iostream.

11.Dukungan terhadap Variabel Referensi

Bahasa C
Bahasa C tidak mendukung variabel referensi.
Bahasa C++
Bahasa C++ mendukung adanya variabel referensi.

12.Dukungan terhadap Fungsi Virtual

Bahasa C
Bahasa C tidak mendukung fungsi virtual. Fungsi virtual adalah fungsi yang mendukung adanya polymorphic function, artinya fungsi tersebut dapat di definisikan ulang pada kelas turunanya. Fungsi virtual biasanya terdapat pada kelas dasar.
Bahasa C++
Bahasa C++ memiliki dukungan terhadap fungsi virtual.

13.Tipe Data Boolean

Bahasa C
Tipe boolean atau logika adalah tipe data yang merepresentasikan nilai true (benar) atau false (salah). Bahasa C tidak dapat mendeskripsikan style spesifik untuk menampung nilai-nilai tersebut. Oleh karenanya saat menggunakan bahasa C seorang programmer kebanyakan merepresentasikan nilai true bersama dengan nilai tidak cuman 0 (biasanya bersama dengan nilai 1), sedangkan nilai false direpresentasikan bersama dengan nilai 0. Pada kebanyakan para programmer C mendeskripsikan gaya logika melalui pembuatan makro maupun gaya enumerasi.
Bahasa C++
Bahasa pemrograman C++ mendefinisikan tipe boolean untuk menampung nilai true (benar) atau false (salah).

14.Tipe Data String

Bahasa C
Bahasa C tidak memiliki tipe data string, sehingga string didefinisikan sebagai array of char.
Bahasa C++
Sedangkan pada bahasa pemrograman C++ kita dapat menggunakan tipe data string.

15.Malloc vs New

Bahasa C
Dalam Bahasa C untuk memesan alamat memori kita dapat menggunakan “malloc”, malloc digunakan untuk mengatur alokasi memory pada heap yang merupakan area memori yang digunakan untuk alokasi secara dinamis.
Bahasa C++
Dalam Bahasa C++, kecuali kami mendambakan mengalokasikan memori pada ruang yang masih kosong maka kami dapat pakai kata kunci “new”. Kata kunci ini akan diikuti oleh model knowledge yang akan dialokasikan supaya compiler akan menyadari seberapa besar ruang memori yang diperlukan untuk proses pengalokasian tersebut.

16.Exception handling

Bahasa C
Exception handling adalah teknik menjebak error atau penanganan kesalahan, Pemrograman dalam bhs c sendiri belum menunjang teknik ini, menjadi seumpama kita menulis kode dalam bhs c dan terdapat error pada kode kita maka kita wajib menelusuri urutan program dan menguji satu per satu fungsi yang diperkirakan membawa dampak error.
Bahasa C++
Bahasa C++ merupakan bahasa pemrograman pertama yang menggunakan sistem exception handling, sehingga jika terjadi error program akan menghentikan proses dan mencari solusi kesalahan yang tepat sesuai kesalahan yang terjadi.

17.Standard Template Library

Bahasa C
Bahasa C tidak mendukung penggunaan Standard Template Library (STL)
Bahasa C++
Bahasa C++ mendungkung penggunaan STL, STL (Standard Template Library) merupakan kumpulan fungsi-fungsi dan data-data khusus yang banyak digunakan untuk struktur data. Dengan adanya STL seorang programmer tidak perlu lagi coding dari nol.

 

Sekian hal yang dapat kami bagikan mengenai Perbedaan Bahasa C dan C++. Jika ada hal yang ingin ditanyakan, silahkan tinggalkan jejak di kolom komentar dan jangan lupa share jika anda terbantu dan informasi ini bermanfaat.