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 antara bahasa C dan C++ juga dapat kita lihat pada beberapa hal berikut ini :
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.
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.
Tipe data struct (record)
Misal deklarasi variabel siswa ichand; maka akses ke elemennya menggunakan titik ‘.‘
contoh : ichand.nama , ichand.kelas
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.
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 %.
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.
PenggunaanJadi, 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 %.
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.
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.
File HeaderBahasa pemrograman C++ merupakan bahasa yang berorientasi obyek (OOP) yang mempunyai tujuan untuk meningkatkan produktivitas lebih.
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.
Cout & PrintfDalam Bahasa pemrograman C++, file header yang digunakan adalah iostream.h. Terkadang juga memakai conio, stdio, dll. Tetapi iostream wajib digunakan dalam file header nya.
Dalam Bahasa pemrograman C, penggunaan untuk fungsi output digunakan printf (print formatted).
Dalam Bahasa pemrograman C++, penggunaan untuk fungsi output digunakan perintah cout.
Cin & ScanfDalam Bahasa pemrograman C++, penggunaan untuk fungsi output digunakan perintah cout.
Dalam Bahasa pemrograman C, untuk pengambilan karakter melalui keyboard mengunakan scanf.
Dalam Bahasa pemrograman C++, untuk pengambilan karakter melalui keyboard menggunakan Cin.
Prosedural vs OOPDalam Bahasa pemrograman C++, untuk pengambilan karakter melalui keyboard menggunakan Cin.
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.
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.
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.
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.
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, semoga dapat di
rasakan manfaatnya, trlebih bagi teman-teman pelajar ataupun mahasiswa
yang sedang mempelajari Dasar Pemrograman di kampus dan sekolahnya masing-masing.
Sumber Artikel 75% Google Search Engine
0 komentar:
Posting Komentar