30 Nov 2013

SEJARAH C++

Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa  pemograman seperti bahasa C atau C++ code.

Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya. Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut “ a better C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa.

Keistimewaan yang sangat berarti dari C++ ini adalah karena bahasa ini mendukung pemrograman yang berorientasi objek ( OOP / Object Oriented Programming).


Penjelasan :
A.    Include
Adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi.
Bentuk umumnya :
# include <nama_file>
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk
pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan
kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file
header) yaitu file yang berisi sebagai deklarasi contohnya:
·         # include <iostream.h> : diperlukan pada program yang melibatkan objek cout.
·         # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah untuk membersihkan layar.
·         # include <iomanip.h> : diperlukan bila melibatkan setw(20) yang bermanfaat untuk mengatur lebar dari suatu tampilan data.
·         # include <math.h> : diperlukan pada program yang menggunakan operasi sqrt ( ) yang bermanfaat untuk operasi matematika kuadrat.
·         # include <stdio.h> : dipakai untuk syntax input output berupa scanf() dan printf().
B.     Fungsi main ()
Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main().
C.    Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis
komentar, yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )
D.    Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon.
E.     Mengenal cout(dibaca : Cout)
Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output (cetak pada layar). Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan”

1.      Tipe Data
TIPE DATA DASAR
§  Char                   = 1
§  Int                      = 2        berhubungan dengan bilangan bulat
§  Short                  = 2
§  Long                  = 4
§  Float                  = 6
§  Double               = 8         berhubungan dengan bilangan pecahan
§  Long double      = 10
KARAKTER DAN STRING LITERAL
String adalah gabungan dari karakter
Contoh :

Panjang String
strlen() adalah nama fungsi untuk menghitung panjang string.
Fungsi strlen() dideklarasikan dalam file string.h. Jadi bila anda ingin menggunakan fungsi strlen(), maka prepocessor directive #include<string.h> harus dimasukkan dalam program diatas main().

2.      Variable, Indentifer
VARIABEL
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut :
variable = ekspresi ;
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :
1.      Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2.      Tidak boleh mengandung spasi.
3.      Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb.
4.      Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar :
NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah :
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb

INDENTIFER
adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan : variabel, konstanta bernama, tipe data, fungsi, label, obyek.
pengenal berupa satu atau beberapa karakter, diantaranya : huruf, digit, garis bawah. panjang maksimal nama pengenal c++ tergantung kompilernya, untuk turbo c++ menjamin nama hingga 31 karakter.
huruf kecil dan kapital pada c++ dianggap berbeda, sifat ini dikenal dengan case sensitive.
nama pengenal yang tidak syah diantaranya : tidak boleh diawali angka, tanda strip (-), symbol #, dan tidak boleh mengandung spasi.
nama pengenal yang juga dihindari yang tergolong kata-kunci, nama fungsi, konstanta, variable, ataupun hal lain yang digunakan pada pustaka c++.

3.      Operator & Ekspresi.
Operator merupakan symbol yang biasa digunakan untuk melakukan sesuatu operasi atau manipulasi. Misalnya :
Menjumlahkan dua buah nilai
Memberikan nilai kesuatu variable
Membandingkan kesamaan dua buah nilai
Operator mempunyai sifat :
Unary
Sifat unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi aritmatika.
Contoh: -3
Binary
Sifat binary pada operator adalah melibatkan dua buah operand pada suatu operasi aritmatika.
Contoh :  9 * 11
Ternary
Sifat tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi aritmatika.
Contoh : ( 11 % 3 ) * 33 + 99
Beberapa jenis operator yang di gunakan dalam pemrograman bahasa C, diantaranya :
Operator Pengerjaan ( Assignment Operators ).
   Operator pengerjaan (assignment operators) berupa tanda sama dengan ( = ) yang di gunakan untuk mengisikan nilai yang berada sebelah kanannya varibel yang di tunjukkan di sebelah kirinya.
Contoh :
a = 11;         a = b = c
Maka nilai a dan b sama dengan c yaitu 11
Operator Aritmatika ( Aritmatic Operators ).
Operator
Keterangan
Contoh
*
perkalian
2 * 3
/
Pembagian
6 / 2
%
Sisa pembagian (modulus)
5 % 3
+
Penjumlahan
7 + 4
-
Pengurangan
8 – 3
                            Tabel 3.1. Tabel Operator Aritmatika
Operator Peningkatan dan Pengurangan (Increment dan Decrement Operators).
Operator Increment digunakan untuk menambah nilai 1 pada nilai sebelum atau sesudahnya.
Operator Decrement digunakan untuk mengurangi nilai satu pada nilai sebelum atau sesudahnya.

Operator
Keterangan
+ +
Increment / Penambahan
- -
Decrement / Pengurangan




Tabel 3.2. Tabel Operator Increment – Decrement
Operator Hubungan ( Relation Operators ).
Operator relasi di gunakan untuk membandingkan dua buah nilai.
Operator
Keterangan
= =
Sama dengan
! =
Tidak sama dengan
> 
Lebih dari
< 
Kurang dari
> =
Lebih besar dari sama dengan
< =
Kurang dari sama dengan








Tabel 3.4. Tabel Operator Hubungan
Operator Logika ( Logica Operators ).
Operator Logika di gunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi, hasil dari operator logika adalah True atau False.
Operator
Keterangan
& &
Operator Logika AND
| |
Operator Logika OR
!
Operator Logika NOT





                                       Tabel 3.5. Tabel Operator Logika


Operator Bitwise ( Bitwise Operators ).
Operator bitwise di gunakan untuk memanipulasi data dalam bentuk bit.
Operator
Keterangan
<< 
Bitwise Shift Left
>> 
Bitwise Shift Right
&
Bitwise AND
|
Bitwise OR
~
Bitwise NOT
^
Bitwise XOR









Tabel 3.6.  Tabel Operator Bitwise

Operator Alamat ( Address Operators ).
Operator Alamat digunakan untuk menunjukkan pada suatu alamat.
Address of operator di gunakan untuk menunjuk alamat memori pada suatu data
Indirection operator di gunakan untuk menunjukan suatu pointer.
Operator
Keterangan
&
Address of operator
*
Indirection Operator




Tabel 3.6. Tabel Operator Bitwise
Operator Koma ( Comma Operators ).
Operator koma ( comma operator ) di gunakan untuk meletakan beberapa ungkapan yang terpisahkan dengan tanda koma di dalam kurung buka dan kurung tutup.
Operator Gabungan.
Operator gabungan merupakan penulisan suatu operator pengerjaan ( = ) untuk di gabung dengan operator lainnya yaitu dengan operator aritmatika, peningkatan dan penurunan, operator bitwise.


25 Nov 2013

SEJARAH C

Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. 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. 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 populer lainnya, terutama C++ yang merupakan extensi dari C.

·       C K&R
Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini.
Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C Programming Language edisi kedua kemudian melingkupi ANSI C yang diperkenalkan belakangan.

·        ANSI C & ISO C
Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.

·       C99
Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek, terutama setelah C++, yang dibuat berdasarkan bahasa ini mendapat tempat yang istimewa di kalangan pemrogram.


1.      Fungsi Penyusun Bahasa C
Program bahasa C pada hakikatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi yaitu fungsi utama ( main() ). Setiap fungsi terdiri dari satu atau beberapa pernyataan yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ( { ) dan diakhiri dengan tanda kurung kurawal tutup ( } ). Namun dalam kenyataannya suatu fungsi bisa saja tidak mengandung pernyataan sama sekali, seperti yang diperlihatkan pada contoh berikut:

Main()
{
}

Walaupun fungsi tidak mempunyai pernyataan, namun kurung kurawal harus tetap ada, karena mengisyaratkan awal dan akhir definisi fungsi. Secara umum suatu fungsi mempunyai bentuk sebagai beriku:

Nama-fungsi (daftar parameter)
Deklarasi parameter;
{
Tubuh Fungsi
}

Fungsi main()

Pada program bahasa C, main() merupakan fungsi yang istimewa, karena fungsi main harus selalu ada dalam program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal program, sedangkan tanda } di akhir tubuh fungsi menyatakan akhir dari tubuh fungsi sekaligus akhir eksekusi program. Jika program lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi, untuk memudahkan pencarian program utama.

Fungsi printf()

Fungsi printf() merupakan fungsi yang umum digunakan untuk menampilkan suatu keluaran program pada layar penampil (monitor). Untuk menampilkan tulisan Selamat Datang maka pernyataan yang diperlukan berupa:

printf("Selamat Datang");
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen/parameter berupa string "Selamat Datang". Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda ("). Pernyataan dalam bahasa C selalu diakhiri dengan titik koma ( ; ), yang dipakai sebagai pemberhentian pernyataan dan bukanlah sebagai pemisah antara dua pernyataan.

Contoh berikut adalah contoh program yang agak lengkap:

#include
main()
{
printf("Selamat datang di program bahasa C");
}

Jika program dieksekusi maka akan menghasilkan keluaran string Selamat darang di program bahasa C.

Praprosesor #include

Pada contoh program sebelumnya terdapat baris yang berisi #include :

1. #include merupakan salah satu jenis pengarah praprosesor yang digunakan untuk memberitahu kompiler agar dalam proses linking membaca file yang dinamakan file judul (header file), yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta.

2. Bahasa C menyediakan beberapa file judul yang ditandai dengan ekstensi .h. Misal, pada program di atas, #include menyatakan pada kompiler agar membaca file bernama stdio.h saat melakukan kompilasi.

3. Bentuk umum #include: #include atau #include "namafile"

4. Bentuk pertama ( #include ) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus (direktori file include), yang merupakan default direktori file-file judul yang disediakan oleh bahasa pemrograman.

5. Bentuk kedua ( #include "namafile" ) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber, dan seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya sesuai dengan perintah pada sistem operasi (yaitu path).

6. Kebanyakan program melibatkan file stdio.h, yaitu file judul I/O standar yang disediakan dalam C, yang diperlukan untuk program-program yang menggunakan pustaka fungsi I/O standar seperti printf().
·  Kondisi di bahasa C
Kondisi dalam bahasa C ada dua macam yaitu if dan switch
pernyataan if mempunyai bentuk :

if(kondisi)

pernyataan;
Bentuk ini menyatakan :

•   Jika kondisi yang di seleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan di proses.

•   Sebaliknya, jika kondisi yang di seleksi tidak benar (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan di proses.

Mengenai kondisi harus di tulis di dalam tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong.
Untuk pernyataan majemuk harus di tulis seperti :

if(kondisi){
pernyataan1;
pernyataan2;
pernyataan3;
}
terdapat tanda kurung sebelum dan sesudah pernyataan
pernyataan if-else mempunyai bentuk :

if(kondisi)
pernyataan1;
else
pernyataan2;

•  Jika kondisi benar, maka pernyataan-1 di jalankan.

•  Sedangkan bila kondisi salah, maka pernyataan-2 yang di jalankan
pernyataan if di dalam if
bentuk umum :

if(kondisi-1)
{
if(kondisi-2)
{
_
_
if(kondisi-n)
pernyataan;
else
{
pernyataan;
_
_
}
}
else
pernyataan;
}
else

pernyataan;
pernyataan else-if (neested if) di gunakan apabila kondisi lebih dari 2
pernyataan switch

pernyaatan switch merupakan pernyataan yang di rancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya untuk menggantikan pernyataan if bertingkat.

Bentuk umum :

switch(ekspresi)
{
case kontanta-1:
pernyataan;
………
break;
case kontanta-2:
……..
…….
break;
case konstanta-n;
…..
break;
default:
…..
break;
}