Jumat, 02 Oktober 2009

Sejarah C++


Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories

mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson

sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic Combined Programming

Language ) yang diciptakan oleh Martin Richard.

Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya

menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling

populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.

Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya

standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang

diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.

Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai

mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil

pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap

evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno

ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C.

Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi

sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak

evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh

sebagian besar pemrogram professional.

Struktur Bahasa C++

Contoh 1 : Hasil :

// my first program in C++ Hello World!

#include

int main ()

{

cout << "Hello World!";

return 0;

}

Sisi kiri merupakan source code, yang dapat diberi nama hiworld.cpp dan sisi kanan adalah

hasilnya setelah di-kompile dan di-eksekusi.

SBP/C++/Ayuliana/Feb2004 2

Program diatas merupakan salah satu program paling sederhana dalam C++, tetapi dalam

program tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman

C++. Jika dilihat satu persatu :

// my first program in C++

Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan

dianggap sebagai komentar dan tidak akan berpengaruh terhadap program. Dapat

digunakan oleh programmer untuk menyertakan penjelasan singkat atau observasi

yang terkait dengan program tersebut.

#include

Kalimat yang diawali dengan tanda (#) adalah are preprocessor directive. Bukan

merupakan baris kode yang dieksekusi, tetapi indikasi untuk kompiler. Dalam kasus ini

kalimat #include memberitahukan preprocessor kompiler untuk

menyertakan header file standard iostream. File spesifik ini juga termasuk library

deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan

digunakan nanti dalam program.


Contoh Program

Penggunaan goto

Output

jika nilai yang dimasukkan 1-100

Kamis, 14 Mei 2009

My Biodata:
  • Nama : Alam Setiawan
  • TTL : Tangerang, 27 Oktober 1991
  • NIM : 0101090051
  • Alamat : Jl. Rawa Kucing No.3-Tangerang 15129
  • Agama : Khonghucu
  • WN : Indonesia
Berikut ini akan ditampilkan beberapa pengetahuan heboh :

  1. seputar kesehatan
  • Jangan tidur atau mandi setelah makan.

Bila kita langsung tidur sesudah makan, glukosa dan kalori akan mengendap di dalam tubuh dan menyebabkan kegemukan atau obesiti. Selain itu, karena tubuh tengah aktif mengolah makanan, biasanya aliran darah menjadi deras dan detak jantung lebih cepat. Bila kita langsung tidur, jantung yang sedang berdetak cepat itu jadi lebih lambat detaknya. jika hal ini sering terjadi maka bisa menjadi satu bibit penyakit jantung. Bila kita langsung mandi sehabis makan, maka aliran darah dan syaraf-syaraf dikulit yang semula bersuhu panas, tiba-tiba menjadi dingin. Apabila hal ini sering terjadi, maka bisa terjadi penyumbatan aliran darah atau stroke.

  • sariawan karena mulut tidak sehat atau kekurangan Vitamin C ?

Sariawan bisa disebabkan oleh beberapa faktor, yaitu : kurang asupan gizi ( zat besi, asam float, vitamin B-12 dan B-6 ), perubahan hormonal pada tubuh, alergi terhadap obat-obatan tertentu, stress atau tekanan pikiran ( kurang berolahraga, gaya hidup tak sehat dan malnutrisi ). Cara mengetasi sariawan bila terasa perih ialah kumurlah dengan air garam atau air rebusan sirih hangat.

  1. seputar lingkungan
  • air bersih datang dari mana ?

Pegunungan merupakan tempat yang kaya dengan keanekaragaman hayati. Di sinilah hidup beragam jenis tumbuhan dan hewan. Suhu dipegunungan bisa turun mendadak dari panas menjadi sangat dingin. Gunung-gunung juga menjadi tangkapan air. Banyak sungai yang berhulu di gunung-gunung. Tahukah kamu bahwa sekitar 80% air bersih bumi berawal dari pegunungan. Sekarang mulai terasa krisis air bersih, oleh karena itu kita menjaga gunung mulai dari sekarang. Oce....???

  1. seputar teknologi
  • adakah alat transportasi yang hemat energi ?

Sekarang sudah dibuat mobil berbahan bakar tenaga surya. Mobil ini dilengkapi dengan sensor penangkap sinar matahari. Mobil ini dapat bergerak cukup cepat. Namun sayangnya, mobil ini tidak dapat digunakan pada waktu malam hari. Jadi terpaksa kita harus menggunakan sepeda.

* seputar komputer

PREPROCESSOR DIRECTIVES

Preprocessor directives adalah perintah-perintah khusus yang ditujukan ke
preprocessor. Semua preprocessor directives dimulai dengan tanda #. Karena
preprocessor adalah perintah untuk preprocessornya C++ maka preprocessor directives tidak diakhiri dengan titik koma (;). Preprocessor directives ini akan mengubah program pada saat dikompile saja, jadi perubahannya hanya bersifat sementara sementara. Setelah selesai maka program akan kembali seperti semula. Beberapa perintah preprocessor akan dibahas di bagian ini.

#define directive
Dipakai untuk mendefinisikan suatu identifier dari suatu karakter string yang
disubstitusikan ke identifier tersebut (macro substitution) setiap kali dijumpai dalam
program. Format dari #define adalah:

#define ARGUMENT1 argumen2
Berikut adalah contoh pemakaian #define, perhatikan bahwa ARGUMEN1 biasa ditulis dengan huruf besar:

#define FALSE 0
#define TRUE !FALSE
#define ERROR 1 “Tidak dapat membuka file”
#define UMUR_S1 22

Perintah-perintah di atas menyuruh kompiler untuk mensubstitusikan 0, !0,
“Tidak dapat membuka file” dan 22 setiap menjumpai FALSE, TRUE, ERROR1
dan UMUR_S1 dalam program. #define directive ini dapat juga dipakai sebagai
suatu makro dengan beberapa argumen, setiap kali nama makro tersebut
dijumpai dalam program maka argumen-argumennya diganti oleh argumen
argumen sebenamya yang ditemukan dalam program, misalnya:

#define MAX(A,B) ((A) > (B) ? (A) : (B))
maksimum = MAX(23,45);

Perhatikan bahwa substitusi yang dilakukan adalah substitusi text sederhana saja,
sehingga kalau tidak hati-hati akan timbul effek sampingan yang menyesatkan, misalya:

#define PI 3.1415927
#define L_LING(A) PI*A*A
luas_lingkaran L_LING(2+1);

Yang terjadi setelah substitusi dilakukan adalah:

luas_lingkaran = 3.1415927*2+1*2+1;

sehingga hasilnya tidak seperti yang diharapkan, supaya effek samping seperti di atas
tidak terjadi maka harus ditambahkan tanda kurung di dalam argumennya sebagai berikut :

#define L_LING(A) PI*(A)*(A)

C++ mempunyai kata kunci inline sebagai function qualifier. Kata kunci ini
menyebabkan copy dari fungsi tersebut disubstitusikan setiap fungsi ini dipanggil. Jadi
jika kita memanggil fungsi inline ini 20 kali dalam program maka kompiler akan
menyisipkan 20 copy dari fungsi ini ke EXE file kita. Penyisipan ini menyebabkan
program dapat lebih cepat karena tidak diperlukan overhead pada saat pemanggilan
fungsi, yaitu parameter-parameternya tidak perlu ditempatkan dalam stack terlebih dulu. Namun penyisipan ini akan menyebabkan ukuran program menjadi besar sehingga kita sebaiknya memakai fungsi inline ini untuk fungsi-fungsi yang kecil atau yang hanya dipanggil di beberapa tempat saja.

Kamis, 16 April 2009

pengetahuan

SELAMAT DATANG DI BLOG ALAM EDUKASI


Di dalam blog ini, disediakan berbagai macam sarapan pengetahuan tentang kehidupan sehari-hari dan juga seputar iptek. Selamat membaca !!!