Minggu, 10 Desember 2017

BELAJAR C++ 2 Perbedan dengan C ( Pemula )

c++

PERBEDAAN BAHASA C DAN C++

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


Bahasa C merupakan bahasa pemrograman prosedural, dimana penyelesaian terhadap sebuah masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah yang lebih kecil sedangkan C++ adalah bahasa pemrograman yang memiliki sifat Object Oriented Programming (OOP). Untuk menyelesaikan sebuah masalah C++ melakukan langka pertama dengan mendefinisikan class-class yang merupakan a-class yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut berisi keadan objek, kemampuan dari objeknya dan anggota-anggotanya. Setelah dibuat beberapa class, masalah dipecahkan menggunakan class. perbedaan tersebu bisa kita lihat langsung melalui struktur pemrogramanya.

Namun seandainya kita tidak memanfaatkan sifat Object Oriented Programming ( OOP ) yang dimiliki C++, dan membuat program secara prosedural maka perbedaan yang ada pada Bahasa C dan C++ relatif hanya terlihat pada penulisan code dan library yang diambilnya saja.


1. Dari Segi Penemu / Pendiri
Bahasa C

Bahasa C dikembangken di Bell Telephone Laboratories pada tahun 1972 ditulis pertama kali oleh Dennis Ritchie, kemudian dikembangkan oleh Dennis Ritchie dan Brian W. Kernighan

Bahasa C++

C++ diciptakan oleh Bjarne Stroustrup, Awalnya prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C With Classes (C dengan kelas) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek.
2. Dari Segi Cakupan   
Bahasa C

Bila dibandingkan dengan 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++, amati source code dibawah ini untuk memahami perbedaannya:

Program dibawah ini merupakan program menghitung luas persegi yang ditulis menggunakan bahasa C (lihat ekstensi file ".c" bukan ".cpp"), karena program ditulis menggunakan bahasa C kita tidak bisa menggunakan perintah "cout", ini disebabkan karena saat kita akan menggunakan perintah "cout" kita harus memanggil File Header / Library "iostream" dan saat kita memanggil Library tersebut program akan error saat dijalankan. Hal tersebut karena Library iostream adalah library yang hanya bisa digunakan pada bahasa C++, sehingga saat kita membuat program menggunakan bahasa C kita tidak bisa menggunakan perintah "cout" (karena untuk menggunakan "cout" harus memanggil file header "iostream", sedangkan iostream tidak bisa dijalankan di bahasa C).

exc++
Program Menghitung Luas Persegi Pada Bahasa C

Sedangkan program dibawah ini merupakan program menghitung luas persegi yang ditulis menggunakan bahasa C++ (lihat ekstensi file ".cpp"), karena program ditulis menggunakan bahasa C++ kita bisa menggunakan perintah "printf", ini disebabkan karena C++ bisa menjalankan sebagian besar (File Header / library) dari C, dimana perintah "printf" berada di library "stdio.h" yang merupakan library milik bahasa C.

Sehingga untuk program menghitung luas persegi yang ditulis menggunakan bahasa C++ dibawah ini dapat menggunakan library stdio.h (library milik bahasa C), namun untuk program menghitung luas persegi yang ditulis menggunakan bahasa C diatas tidak dapat menggunakan library iostream (library milih bahasa C++)


exc++
Program Menghitung Luas Persegi Pada Bahasa C++ Seperti itulah perbedaan Bahasa C dan C++ dilihat dari segi Cakupan.
3. Dari Segi Paradigma Pemrograman (Prosedural VS Object Oriented)
Bahasa C
Bahasa C hanya mendukung paradigma pemrograman prosedural untuk pengembangan kode.

Bahasa C++
Bahasa C++ mendukung paradigma pemrograman prosedural dan paradigma pemrograman berorientasi objek, Oleh karena itu C ++ juga disebut bahasa hybrid.

4. Sudut pandang terhadap Data, Prosedur dan Fungsi
Bahasa C
Pada Bahasa C (karena merupakan bahasa pemrograman prosedural), data, prosedur dan fungsi adalah entitas yang terpisah dan bebas.

Baca Juga : Tutorial Lengkap Belajar Bahasa Pemrograman C++
Bahasa C++
Pada Bahasa C++ (seandainya digunakan sebagai bahasa pemrograman berorientasi objek), data, prosedur dan fungsi dikemas bersama dalam bentuk sebuah objek.

dalam Bahasa C++ (seandainya digunakan sebagai bahasa pemrograman berorientasi objek) sebuah kelas digunakan untuk menentukan bentuk suatu objek dan menggabungkan representasi data, fungsi dan prosedur untuk memanipulasi data yang menjadi satu paket rapi. Data, fungsi dan prosedur dalam sebuah kelas disebut sebagai anggota kelas.
5. Dukungan Terhadap Polymorphisme, Inheritance dan Enkapsulasi
Bahasa C
Bahasa C tidak mendukung pemrograman berorientasi objek, oleh karena itu Bahasa C tidak memiliki dukungan untuk melakukan Polymorphisme, Inheritance dan Enkapsulasi.

Bahasa C++
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 dimaksud.

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 memungkinkan 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, dimana fungsi tersebut berada di library (file header) stdio.h

Bahasa C++
Bahasa C ++ menggunakan objek untuk input output. Misalnya cin dan cout, dimana fungsi tersebut (cin dan cout) berada di library 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 memiliki dukungan terhadap fungsi virtual. fungsi virtual sendiri ialah fungsi yang mendukung adanya polymorphic function, artinya fungsi tersebut dapat di definisikan ulang pada kelas turunanya. Fungsi virtual biasanya terdapat pada kelas dasar. Meskipun demikian juga dapat di deklarasikan di kelas-kelas turunan yang akan di jadikan sebagai kelas dasar bagi kelas kelas lainya.

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 benar (true) dan salah (false). Bahasa C tidak mendefinisikan tipe khusus untuk menampung nilai-nilai tersebut. Oleh karenanya saat menggunakan bahasa C seorang programmer biasanya merepresentasikan nilai true dengan nilai selain 0 (biasanya dengan nilai 1), sedangkan nilai false direpresentasikan dengan nilai 0. Pada umumnya para programmer C mendefinisikan tipe logika melalui pembuatan makro maupun tipe enumerasi.

Bahasa C++
Bahasa pemrograman C++ mendefinisikan tipe boolean untuk menampung nilai true (benar) atau false (salah).


14. Exception handling
Bahasa C
Exception handling adalah teknik menjebak error atau penanganan kesalahan, Pemrograman dalam bahasa c sendiri belum mendukung teknik ini, jadi seandainya kita menulis kode dalam bahasa c dan terdapat error pada kode kita maka kita harus menelusuri alur program dan menguji satu per satu fungsi yang diperkirakan menyebabkan error.

Bahasa C++
Bahasa C++ merupakan bahasa pemrograman pertama yang menggunakan sistem exception handling, sehingga manakala terjadi error program akan menghentikan proses dan mencari penanganan kesalahan yang tepat sesuai kesalahan yang terjadi (menggunakan teknik try, catch dan throw).
15. Standard Template Library
Bahasa C
Bahasa C tidak mendukung penggunaan Standard Template Library (STL)

Bahasa C++
STL (Standard Template Library) merupakan kumpulan fungsi-fungsi dan data-data khusus yang banyak digunakan untuk struktur data. Misalkan vector, queue, tree dan map yang banyak digunakan dalam struktur data. Dengan adanya STL seorang programmer tidak perlu lagi coding dari nol. Namun cukup memanfaatkan template yang sudah dijadikan library tersebut. Tugas programmer tinggal menganalisa dan memilih template mana yang paling sesuai dengan kebutuhan programnya. Di dalam template sudah disediakan container class lengkap dengan fungsi-fungsinya.
Sekian Artikel mengenai 17 Perbedaan Bahasa C dan C++, semoga artikel ini dapat bermanfaat bagi sobat baik untuk menambah ilmu, mengerjakan tugas, maupun untuk sekedar menambah wawasan tentang Perbedaan bahasa pemrograman c dan bahasa pemrograman c++. Akhir kata, Terimakasih atas kunjungannya.
Sumber : materidosen.com

 

Tidak ada komentar:

Posting Komentar