Saya akan coba jawab berdasarkan pengalaman saya...

pertama secara syntax, semua syntax di C tetap disupport di C++... bedanya, di 
C++ terdapat banyak sekali penambahan feature2 baru dalam bahasa 
pemrogramannya... mengapa?? nah inilah yang mendasari perbedaan C dan C++

dalam melakukan programming dengan menggunakan bahasa C, pola berpikir anda 
akan terpaku dengan pola pikir yang sudah mendarah-daging dalam setiap 
programmer di dunia... yaitu pola berpikir modular... yang mana, dalam bahasa 
pemrograman umumnya, konsep modular ini tetap ada... bahkan dalam bahasa2 
modern sekalipun...

apakah pola berpikir modular itu???

saya akan memberikan jawabannya melalui sebuah contoh...

misalkan... anda diberi tugas untuk membuat animasi di layar berupa 100 
bintang kelap-kelip yang berjalan melintasi layar dari kiri ke kanan...
apa yang akan anda buat??

dalam konsep berpikir modular, mungkin anda akan melakukan hal seperti 
berikut:

---

int coord_x[100], coord_y[100]

for (i = 0; i < 100; i++)
  initialize_star(coord_x[i], coord_y[i]);

while (!quit)
  for (i = 0; i < 100; i++)
    animate_star(coord_x[i], coord_y[i]);

---

anda mungkin akan membuat fungsi2 seperti initialize_star(), init_graphic(), 
ataupun animate_star()...

walaupun implementasinya bisa bermacam-macam, pada intinya, anda akan membuat 
fungsi2 yang sifatnya modular...

nah... bagaimana dengan C++??

dalam C++, selain program C di atas bisa dijalankan, namun sebenarnya dalam 
C++, anda diperkenalkan pola berpikir baru, yaitu OOP...

lalu dalam OOP, bagaimanakah penyelesaian contoh soal diatas??

---

class c_star {
  int x, y;

public:
  class();
  animate();
};


int main()
{
  c_star star[100];

  while (!quit)
    for (i = 0; i < 100; i++)
      star[i].animate();
}

---

bisa memahami perbedaannya?? memang sepintas keduanya mirip... tapi ada 
perbedaan yang mendasar antara keduanya...

pada contoh yang pertama, pola anda berpikir adalah anda selalu berurusan 
dengan data, yang mana dalam hal ini adalah koordinat x dan y, dan dalam 
melakukan animasi, anda menggunakan fungsi untuk menggambarnya ke layar 
dengan memberikan data berupa koordinat... jadi dalam konsep yang pertama, 
program adalah kumpulan dari fungsi2 (tidak ada yang salah dalam hal ini, 
saya hanya menekankan pola berpikirnya saja)

sedangkan pada contoh kedua, anda tidak berpikir bahwa anda menyimpan data 
saja, tetapi anda sudah berpikir bahwa dalam melakukan animasi tersebut, anda 
memiliki sekumpulan obyek berupa bintang, dan setiap obyek diperintahkan 
untuk mengurus dirinya sendiri (melakukan animasi - melalui perintah 
star[i].animate())... nah konsep inilah yang dimaksud dengan OOP...

jadi pada dasarnya perbedaan antara C dan C++ bukanlah terletak pada bahasa 
pemrograman ataupun compilernya... (walaupun keduanya memang berbeda)... 
tetapi pada dasarnya adalah cara berpikir dari programmer itu sendiri... jadi 
perubahan dari C menuju ke C++ adalah didasarkan dari pola pikir anda sebagai 
programmer apakah berpikir secara modular, atau secara OOP... tergantung mana 
yang lebih mudah...

namun dari pengalaman saya... OOP memang pada awalnya berarti lebih banyak 
menulis source code dibandingkan modular... tetapi pada pengembangan 
selanjutnya... misalkan menambahkan feature, mengubah program... dsb... OOP 
berarti banyak menyederhanakan penyelesaian suatu persoalan...

diluar itu ada beberapa pro-kontra dalam penggunaan C dan C++ itu sendiri...

semoga bisa memberi pencerahan...


On Thursday 30 November 2006 00:20, r0mbenx r0mbenx wrote:
> Assalammu'alaikum
>
>
>  Sekedar pengin tahu dari saya yg masih newbie di
> pemrograman, ada sedikit unek2 yg mungkin para senior
> (tapi bukan Senang istri Orang ya.... :) bisa jawab.
>
> Saya sedang belajar Bhs prog C dan C++, secara
> autodidak (baca buku + tutor) setiap saya baca buku
> atau tutor pasti di bilang C++ lebih maju, lebih
> hebat, lebih mudah (weeks kenyatanya lebih susah),
> dll, dsb , dst, dkk, deh pokoknya.
>
> Tapi kenapa kernel di linux masih pake C, & yang saya
> baca di tabloid komputer termasuk Windows sendiri
> kernelnya juga pake C (kalo win saya blon bongkar2
> soalnya di rumah kompor saya sumbunya Suse 9.1), knapa
> ngga pakai C++, atau java (terlepas dari JDS ya..).
> Mungkin ada yg bisa memberikan penjelasan yg memuaskan
> saya.
>
> Thanx B 4
>
> Wassalammu'alaikum
>
>
> r0mbenx

-- 
Danny Kurniawan <[EMAIL PROTECTED]>
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM/E/IT d+() s+:+ a- C++>+++$ UL+++(++)>++++ P!(+++) L+++>++++>$ E-- W++>$
N o-- K- w--(+++) O++@ M@ V? PS PE-@ Y+ PGP@ t++ 5+@ X+++(++) R tv+ b
+++(++) DI? D++@ G+>++ e++ h- r++ y z- 
------END GEEK CODE BLOCK------

-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Kirim email ke