Senin, 16 April 2012

materi c++


Konsep Dasar Pemrograman
Struktur Penulisan Program C
}  Program C tersusun atas sejumlah fungsi.
}  Paling tidak ada satu fungsi utama yaitu fungsi bernama main.
}  Setiap fungsi tersusun atas beberapa statement/pernyataan.
}  Penulisan setiap fungsi diawali dengan tanda ‘{‘ dan diakhiri dengan tanda ‘}’

Pengenalan Algoritma
Algoritma
Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
Kamus besar bahasa Indonesia (Balai Pustaka1988) secara formal mendefinisikan algoritma sebagai:
                                Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.
Beda Algoritma dan Program
}  Program adalah kompulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma.
}  Program ini ditulis dengan menggunakan bahasa pemrograman.
}  Jadi, program adalah suatu implementasi dari bahasa pemrograman.
Penilai Sebuah Algoritma
Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
}  Tingkat kepercayaannya tinggi (realibility)
                                Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
}  Pemrosesan yang efisien (cost rendah)
                                Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin



}  Sifatnya general
                                Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general
Penilai Sebuah Algoritma (cont…)
}  Bisa Dikembangkan (expandable)
                Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
}  Mudah dimengerti
                Siapapun yang melihat, dia akan bisa memahami algoritma anda. Susah dimengertinya suatu program akan membuat susah di maintenance (kelola).
}  Portabilitas yang tinggi (Portability)
                Bisa dengan mudah diimplementasikan di berbagai platform komputer.
Algoritma
}  Bisa ditulis dalam 2 bentuk:
  1. Flowchart
  2. Pseudo Code
Flowchart
Flowchart : Alur dari sebuah program
Simbol-simbol Flowchart :

Contoh Flowchart
}  Algoritma mencari hasil perkalian bilangan bulat dari dua buah bilangan
Pseudo Code
}  Pseudo Code adalah Ilustrasi program yang                dibuat dengan tulisan.
Harus dengan bahasa yang baik dan baku sehingga dimengerti oleh banyak orang
Contoh Pseudo Code

Pengenalan C++
Bahasa C++ merupakan pengembangan dari bahasa C, yang diciptakan oleh Bjarne Stroustrup pada tahun 1983.
Contoh Program C++
Blok-blok Dasar C++
untitled.JPG

File Header : Harus disertakan setiap kita membuat program di C++
2. Fungsi Main : Fungsi yang akan dieksekusi pertama kali
3. Pernyataan : Instruksi untuk menyuruh komputer melakukan sesuatu.
4. Komentar : Menjelaskan mengenai program

Struktur Dasar C++
1.       Himpunan Karakter
}  Huruf
            A…Z, a…z
}  Digit
            0 1 2 3 4 5 6 7 8 9
}  Simbol dan Lain-lain
            _ - * + dll

2.       Pengenal (Identifier)
Pengenal adalah suatu nama yang biasa dipakai dalam program untuk mendefinisikan :
§  Variable
§  Konstanta bernama
§  Tipe data
§  Fungsi
§  Label
§  Obyek
Serta hal-hal yang dapat dideklarasikan dalam program


Penamaan Pengenal
            tidak boleh menggunakan spasi hendaklah menggunakan garis bawah (_) atau kata tsb digabung.
C++ merupakan bahasa yang case sensitive , yaitu huruf kecil dan huruf besar tidak dianggap sama.
Tanda penggenal tidak absah jika : diawali dengan angka, menggunakan tanda - , dan simbol #.

3.       Kata Kunci (Keyword)
Keyword adalah pengenal sistem yang mempunyai makna khusus bagi kompiler.
Contoh :
            break, case, char, do, while, if, int, for, dll
Kata kunci tidak bisa digunakan sebagai penamaan pengenal, jika digunakan maka akan dibaca sebagai kata kunci.

Tipe Data
Tipe Sederhana
}  Disebut juga tipe data skalar, yaitu suatu tipe data yang memungkinkan sebuah peubah untuk menyimpan sebuah nilai
}  Macam tipe sederhana :
      Tipe Ordinal
  Integer, Shortint, longint, boolean, char, byte, word, subrange, dan enumerated
      Tipe real
  Real, Single, Double, Extended

INTEGER
  Integer adalah suatu tipe bilangan bulat (bisa menampung nilai negatif, positif, dan nol).
  dipakai dalam kebanyakan operasi matematika dan loop
  bahkan beberapa prosesor tidak memiliki kemampuan perhitungan bilangan real sehingga semua perhitungan numerik dilakukan dengan integer

Representasi integer dalam komputer
}  Integer memiliki representasi yang sederhana dalam komputer. Komputer memandang integer sebagai nilai dari serangkaian bilangan biner. Namun komputer tidak memproses satu bit demi satu bit, tapi per blok bit yang umumnya terdiri dari 8 bit (dikenal sebagai 1 byte atau binary eight).

}  byte à integer 8 bit
}  Bilangan integer 8 bit artinya diperlukan memori sebesar 8 bit untuk menyimpan tipe tersebut
}  0000 0000  - 1111 1111
}   5 = 0000 0101

Operasi Terhadap Integer
}  kali, bagi, tambah, kurang, dan mod.
}  operator unary  : minus (-) & plus
}  Operasi perbandingan integer :
>, <, <=, >=, <>, dan =

Urutan Operator (Precedence of operator) Integer
}  Ekspresi 2 * 4 + 5 * 2 akan menghasilkan 18 karena operasi perkalian dilakukan lebih dahulu jika dibandingkan dengan pejumlahan.
}  Dalam hal ini dikatakan bahwa precedence “ * ” lebih tinggi dari “ + ”

Karakter

(Char)
Karakter
}  tipe data char bisa menampung satu karakter.
}  Satu karakter adalah satu huruf, atau satu angka, atau simbol

}  Sebuah variabel bertipe karakter hanya boleh diisi dengan satu simbol saja, seperti ini :
program assign_char; 
   var c:char;
begin
    c:= 'A'; (* c berisi huruf A *)
end.

Representasi karakter dalam komputer
  Sebuah karakter adalah sebuah bilangan integer 8 bit yang memiliki nilai dari 0 sampai 255
  Setiap nilai ini dipetakan dalam suatu simbol, misalnya nilai 65 adalah nilai untuk simbol A, 66 adalah nilai simbol B, dst
  memiliki pemetaan standar disebut dengan karakter ASCII (American Standard Code For Information Interchange),

Konversi char ke ASCII dan sebaliknya


writeln(ord('A'));
// akan mencetak angka 65,
writeln(chr(65));
// akan mencetak huruf A.


UNICODE          
  Dalam sistem operasi yang modern, terdapat jenis karakter yang disebut dengan UNICODE, yang lebih kompleks dari karakter sederhana. Karakter UNICODE dapat merepresentasikan hampir semua karakter yang masih dipakai di bumi (dan yang sudah tidak dipakai, seperti hieroglyph). Pada dasarnya penyimpanan UNICODE tetap memakai angka tapi memakai jumlah bit yang lebih dari karakter biasa (bervariasi dari 8 – 64 bit, tergantung pada encoding yang dipakai)



Operasi Terhadap char             
  Sebuah tipe karakter hanya bisa diberi nilai (assign) dan dibaca nilainya (atau dioutputkan ke layar/file).
  Sebuah tipe karakter tidak bisa dioperasikan untuk menghasilkan nilai tertentu, tidak bisa dijumlahkan ataupun dikurangkan.
  Tipe char hanya bisa dioperasikan jika dikonversi menjadi integer dengan ord. Sebuah tipe char bisa digabungkan pada sebuah tipe string.
  Sebuah karakter bisa dibandingkan dengan karakter lain, hasil perbandingan adalah perbandingan nilai ordinal karakter tersebut.
  Operasi perbandingan yang bisa dilakukan sama dengan yang bisa dilakukan dengan integer. Contoh: 'A' < 'B', karena ordinal 'A' adalah kurang dari ordinal 'B', namun 'b' > 'A', karena ordinal 'b' (b kecil) lebih dari ordinal 'A' (A kapital).


Boolean
  Boolean adalah suatu tipe data yang hanya memiliki nilai true (benar) dan false (salah).
  sangat diperlukan dalam kondisi perulangan dan kondisional (menggunakan if).
  Ekspresi yang menghasilkan boolean bisa berupa ekspresi dengan tipe-tipe yang terdiri dari tipe boolean, bisa juga berupa ekspresi dari tipe lain.

}  Contoh ekspresi yang menghasilkan boolean adalah 6 > 5, karena bilangan 6 memang lebih besar dari 5 maka nilai ekspresi tersebut adalah true, sedangkan 6 < 2 adalah ekspresi yang nilainya false.

Operator Boolean
OR

akan menghasilkan true jika salah satu operandnya bernilai true
AND

akan menghasilkan true jika kedua operandnya bernilai true
XOR

akan menghasilkan true jika operandnya memiliki nilai boolean yang berbeda
NOT

akan menghasilkan nilai boolean kebalikan dari nilai yang diber ikan


Representasi Boolean dalam komputer
}  Nilai boolean disimpan sebagai angka 0 untuk false dan 1 untuk true.
}  Dalam bahasa Pascal, boolean tidak bisa dioperasikan sebagai integer, namun dalam bahasa lain (C misalnya), boolean dan integer adalah dua nilai yang bisa dipertukarkan.

Real
}  Real adalah tipe yang dapat menampung bilangan real. Tipe ini bisa menampung bilangan dengan suatu nilai di belakang koma dengan presisi tertentu (lihat bagian representasi real)
Representasi Real dalam komputer
}  A x 10x
Contoh : 12500 à 1.25 x 104 à 1.250000000000E+0004

Operasi Terhadap Real
}  Operasi yang bisa dilakukan terhadap real meliputi: tambah, kali, minus (sama seperti integer), dan pembagian (memakai simbol / yang menghasilkan bilangan real)
}  operasi MOD & DIV tidak terdefinisi untuk real.

  Operasi perbandingan selain sama dengan(=) dan tidak sama dengan (<>) bisa dilakukan terhadap real (>, <, >=, <=, <>).
  Operasi sama dengan dan tidak sama dengan sebenarnya bisa dilakukan (tidak dibatasi oleh bahasa Pascal), namun dalam kasus tertentu hasilnya mungkin tidak sesuai dengan yang diharapkan.


Kompatibilitas Tipe
  Sebuah variabel bertipe string tentu tidak bisa dijumlahkan dengan variabel bertipe integer, karena tipe string tidak kompatibel dengan tipe integer. Kedua tipe itu sangat berbeda, sehingga masalah kompatibilitas tipe itu sudah jelas. Namun dalam kasus tertentu, kompatibilitas tipe mungkin tidak terlalu jelas dan harus diperhatikan dengan baik.

  Contohnya, variabel bertipe real tidak bisa langsung diassign pada variabel bertipe integer, karena variabel bertipe real mungkin mengandung pecahan, tapi hal yang sebaliknya (meng-assign integer pada real) bisa dilakukan
  Variabel bertipe real dengan presisi yang tinggi (misalnya double) tidak bisa diassign pada variabel bertipe real dengan presisi yang lebih rendah (tipe real), karena presisinya bisa hilang.


Tidak ada komentar:

Posting Komentar