Saturday, November 10, 2012

Perbedaan C dan C++


Bahasa pemrograman C dan C++ memiliki relasi yang sangat dekat. Hal ini karena bahasa C++ memang dikembangkan dari bahasa C. karena hal inlah seringkali kode bahasa c ditulis dengan IDE (Integrated Development Environment / Lingkungan Pengembangan Terintegrasi). terkadang juga dicampur dengan kode C++ dan dikompilasi dengan compiler dari C++. Meskipun sebagian besar kode bahasa C dapat dikompilasi sebagai kode C++, terdapat beberapa perbedaan yang menyebabkan bahasa C++ bukanlah semata-mata peningkatan dari bahasa C. Bahasa C++ memberikan banyak fitur yang tidak terdapat pada bahasa C.

Bjarne Stroustrup, penemu dari bahasa C++ memeang menyarankan agar perbedaan dari C dan C++ dikurangi sebanyak mungkin agar dapat memaksimalkan antar-operasi dari kedua bahasa tersebut. Ahli lain berpendapat bahwa, karena C dan C++ adalah dua bahasa pemrogaman yang berbeda, persamaan diantara keduanya memang bermanfaat, tetapi tidak vital. Berdasarkan dari pendapat kedua, usaha untuk mengurangi perbedaan dari kedua bahasa tidak seharusnya mengurangi usaha untuk mengembangkan kedua bahasa secara terpisah. 

Bebrapa syntax dari bahasa c yang tidak valid atau memberikan hasil yang berbeda apabila dijalankan pada baahsa C++ antara lain:

  • Identifier dari bahasa C++ tidak boleh menggunakan tanda underscore ( "_" ) secara berurutan di posisi manapun. Identifier dari baahsa C tidak boleh dimulai dengan underscore, tetapi boleh menggunakannya secara berurutan di posisi lain.
  • Pada bahasa C dan C++, keduanya bisa mendefinisikan struct secara bersarang atau nested struct (struct dalam struct) tapi cakupan dari keduanya berbeda. Pada C++, nested struct di definisikan hanya di dalam cakupan dari struct diluarnya.
  • Penggunaan fungsi tanpa prototype tidak diperbolehkan pada bahasa C++, meskipun ditulis di atas fungsi main().

Kerangka Program

Kerangka program utama adalah kerangka utama atau template yang digunakan untuk membuat setiap program. Dalam C, kita menulis program seperti ini:

#include <stdio.h>

void main()

{

printf(“Halo dunia”);

}

Sedangkan dalam C++ kita menulis seperti ini:

#include <iostream>

using namespace std;

int main()

{

cout<<”Halo dunia”<<endl;

return 0;

}

Penjelasan:

Dalam C, untuk melakukan input output kita menggunakan library standard bernama stdio.h sedangkan di C++ kita menggunakan iostream. Dalam potongan kode di atas kita akan melihat ada baris using namespace std; maksudnya adalah kita menggunakan namespace bernama std. Apa itu namespace? Namespace diibaratkan seperti folder yang menyimpan berkas-berkas. Kita dapat membuat namespace untuk mengelompokkan fungsi-fungsi tertentu sehingga lebih sistematis. Keuntungannya adalah, kita dapat membuat banyak nama fungsi yang sama namun dibedakan menjadi kategori-kategori tertentu sesuai namespace yang kita buat.

Lanjut ke baris selanjutnya, 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). CMIIW

- rewrite from any trusted source


No comments:

Post a Comment