Anda di halaman 1dari 62

1

1
Introduction
to C/C++
Programming

 2007 Pearson Education, Inc. All rights reserved.


2

Tujuan
Pada bagian ini akan dipelajari:
 Pengantar Komputer
 Perkembangan bahasa C
 Mengenal bentuk umum bahasa C
 Konsep tipe data dalam C
 Operator dalam C.

 2007 Pearson Education, Inc. All rights reserved.


3

Sistem Komputer
 Komputer
Divais yang mampu melakukan komputasi dan
membuat keputusan logis
Komputer memproses data di bawah Kendali [dari]
kumpulan instruksi disebut program komputer
 Hardware/Perangkat Keras
Berbagai divais terdiri dari satu komputer
'keyboard', layar, mouse, disk, memori, CD-ROM,
dan unit pemrosesan
 Software/Perangkat Lunak
Program yang berjalan pada satu komputer

 2007 Pearson Education, Inc. All rights reserved.


4

Organisasi Komputer
Enam unit logis dalam setiap komputer:
1. Unit input
 Memperoleh informasi dari divais input ('keyboard',
mouse komputer)
2. Unit Output
 Informasi output (ke layar, ke printer, ke divais
pengendali lainnya)
3. Unit Memori
 Akses Cepat, kapasitas rendah, menyimpan
informasi masukan

 2007 Pearson Education, Inc. All rights reserved.


5

Organisasi Komputer (Lanjt.)


4. Arithmetic and logic unit (ALU)
 Melakukan kalkulasi aritmatika dan keputusan
logika
5. Central processing unit (CPU)
 mengawasi dan mengkoordinir bagian-bagian lain
dari komputer
6. Secondary storage unit
 Murah, jangka panjang, tempat penyimpanan
kapasitas-tinggi
 menyimpanan non-aktip program

 2007 Pearson Education, Inc. All rights reserved.


6

Evolusi Sistem Operasi


 Batch processing
– hanya mengerjakan satu pekerjaan atau tugas pada suatu saat
 Operating systems
– Mengelola transisi antar pekerjaan
 Multiprogramming
– Sumber-sumber daya Komputer digunakan
bersama oleh banyak pekerjaan atau tugas
 Timesharing
– Komputer menjalankan sebagian kecil dari satu
pekerjaan pemakai kemudian berpindah pada
layanan pemakai berikutnya

 2007 Pearson Education, Inc. All rights reserved.


7

Personal Computing, Distributed


Computing, and Client/Server Computing

 Personal computers
– Ekonomis untuk individu
 Distributed computing
– Komputer terdistribusi melalui jaringan
 Client/server computing
– Berbagi informasi melintasi jaringan komputer
antara file server dan klien (komputer pribadi)

 2007 Pearson Education, Inc. All rights reserved.


8

Machine Languages, Assembly


Languages, and High-level Languages
 Tiga tipe Bahasa Pemrograman
1. Bahasa Mesin
- String dari nomor memberi instruksi spesifik ke mesin
- Contoh: +1300042774
+1400593419
+1200274027
2. Bahasa Assembly/Asembler
– Singkatan seperti bahasa Inggris yang merepresentasikan operasi
komputer dasar (diterjemahkan melalui asembler)
– Contoh : LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY

 2007 Pearson Education, Inc. All rights reserved.


9

Machine Languages, Assembly


Languages, and High-level Languages
3. Bahasa Pemrograman Tingkat Tinggi
– Kode serupa dengan bahasa Inggris setiap hari
– Menggunakan notasi matematika (diterjemahkan
melalui compilers)
– Contoh:
grossPay = basePay + overTimePay
– Contoh Nama bahasa: COBOL, FORTRAN, PASCAL

 2007 Pearson Education, Inc. All rights reserved.


10

Perkembangan Bahasa C

 Perkembangan bahasa C erat kaitannya dengan


perkembangan sistem operasi UNIX, dimana keduanya
dikembangkan di AT&T Bell Lab (USA).
 Pertama kali bahasa C diimplementasikan pada
komputer DEC PDP-11 yang menggunakan sistem
operasi UNIX oleh Dennis Ritchie di Bell Laboratories
tahun 1972.
 Banyak ide penting dari C diambil dari bahasa BCPL
yang dikembangkan oleh Martin Richards melalui
bahasa B yang ditulis Ken Thompson. BCPL dan B
tidak memiliki data type sedang C memiliki beragam
data type.

 2007 Pearson Education, Inc. All rights reserved.


11

 Pada tahun 1978 Dennis Ritchie dan Brian W


Kernighan mengeluarkan buku THE C
PROGRAMMING LANGUAGE, buku inilah
yang dijadikan acuan dari pembuatan berbagai
versi bahasa C yang ada.
 Pada tahun 1983 ANSI (American Nasional
Standart Institute) membuat standarisasi
bahasa C yang kemudian dijadikan sebagai
referensi dari berbagai bahasa C yang beredar
saat ini. C yang dihasilkan disebut C standard
ANSI atau ANSI C. Tahun 1987 Borland
menciptakan sebuah compiler C yang dikenal
dengan nama TURBO C.
 2007 Pearson Education, Inc. All rights reserved.
12

 Dalam beberapa literatur bahasa C digolongkan


sebagai bahasa tingkat menengah (Medium
Level Language). Penggolongan ini tidak berarti
bahwa bahasa C lebih sulit dibandingkan
dengan bahasa pemrogramman tingkat tinggi
seperti : PASCAL, BASIC.
 Pada kenyataannya bahasa C
mengkombinasikan elemen dalam bahasa
tingkat tinggi dan bahasa tingkat rendah.
 Hampir semua operasi yang dapat dilakukan
oleh bahasa mesin dapat dilakukan oleh C
dengan penyusunan program yang lebih
sederhana dan mudah.
 2007 Pearson Education, Inc. All rights reserved.
13

 Bahasa C dalam pemakainnya memerlukan


suatu translator. Jenis translator dalam bahasa
C adalah interpreter dan compiler. Interpreter
merupakan translator yang menterjemahkan
bahasa C ke dalam bahasa mesin satu persatu.
Contoh interpreter yang beredar saat ini yaitu
Run/c.
 Sedangkan compiler merupakan translator yang
menterjemahkan bahasa C ke dalam bahasa
mesin secara keselurahan. Contoh compiler :
Turbo C, Microsoft C dan Lattice C.

 2007 Pearson Education, Inc. All rights reserved.


14

 Bahasa C merupakan bahasa pemrogramman


yang sederhana dimana jumlah fungsi dan
perintah yang disediakan terbatas, walaupun
akhirnya beberapa compiler menyediakan
fungsi-fungsi library yang cukup lengkap.
Karena sifatnya yang sederhana ini maka
bahasa C mudah ditransfer dari satu compiler
ke compiler yang lain.

 2007 Pearson Education, Inc. All rights reserved.


15
• Kode Program  .C
• Hasil kompilasi .obj
• Object code sudah berbentuk
kode mesin, tapi kode ini belum
bisa dimengerti oleh komputer.
Agar dapat dimengerti oleh
komputer maka object code
bersama dengan object code
yang lain serta file library (file
yang berisi rutin untuk tugas
tertentu) perlu dikaitkan (linking)
dengan menggunakan linker.
Sehingga terbentuk suatu file
yang executable (program yang
dapat dijalankan secara
langsung dalam lingkungan
sistem operasi).
• Program hasil linker ini disimpan
dalam sebuah file executable Gambar 1. Proses penterjemahan bahasa
dengan ciri mempunyai C ke dalam dalam bahasa
mesin dengan menggunakan
ekstension .EXE
compiler

 2007 Pearson Education, Inc. All rights reserved.


16

 Kelebihan Bahasa C
 C mempunyai banyak jenis data yang dikenal &
operator untuk manipulasi data.
 C menyediakan berbagai struktur data dan
pengendalian proses. Sehingga memungkinkan
untuk membuat program yang terstruktur
(program yang mudah dipakai dan
dikembangkan).
 C mudah dipahami dibandingkan dengan
bahasa mesin, karena bahasa C berorientasi
pada permasalahan bukan pada mesin..

 2007 Pearson Education, Inc. All rights reserved.


17

 C mempunyai kecepatan eksekusi yang


mendekati kecepatan eksekusi bahasa mesin
 C memungkinkan manipulasi data dalam
bentuk bit maupun byte secara efisien dan
dapat memanipulasi alamat dari suatu data
 C memakai sedikit memori
 C merupakan salah satu bahasa pemrograman
yang terstruktur.

 2007 Pearson Education, Inc. All rights reserved.


18

Sejarah C++
 Merupakan perluasan dari C
 Ditemukan pada tahun 1980-an oleh Bjarne Stroustrup
(Bell Laboratories)
 Menyediakan kemampuan untuk bahasa pemrograman
berorientasi objek
- Objek: komponen perangkat lunak dapat digunakan kembali
Model item di/dalam dunia nyata
- Object-oriented programs
Mudah dipahami, dikoreksi dan dimodifikasi
 Bahasa Dominan di dalam industri dan akademisi

 2007 Pearson Education, Inc. All rights reserved.


19

 Kekurangan Bahasa C
 Banyaknya operator serta flexibilitas penulisan
program yang terkadang membingungkan
pemakai.
 Programmer C tingkat pemula pada umumnya
kurang memgenal pointer dan tak terbiasa
menggunakannya, padahal kelebihan C ada
pada pointer ini.

 2007 Pearson Education, Inc. All rights reserved.


20

MENGAPA C ???
 Semakin banyak program dan software yang
ditulis dalam C
 C adalah bahasa yang modern, efisien,
portable, powerful, flexible, friendly
menghasilkan program yang kompak dan cepat
 C adalah bahasa yang mendominasi
pemakaian komputer dengan sistem operasi
UNIX.

 2007 Pearson Education, Inc. All rights reserved.


21

MENGAPA C ???
C adalah bahasa yang portable:
 program yang ditulis pada satu sistem dapat dijalankan
pada sistem lain tanpa atau dengan sedikit perubahan
C adalah bahasa yang efisien :
 menghasilkan program yang kompak/ringkas dan cepat
C adalah bahasa modern :
 mempunyai fasilitas - fasilitas kontrol yang diperlukan
oleh teori – teori komputer science maupun aplikasi
C adalah bahasa yang friendly :
 keterikatannya/ restriksinya tidak ketat

 2007 Pearson Education, Inc. All rights reserved.


22

MENGAPA C ???
C adalah bahasa yang powerful dan fleksible
 UNIX sebagian besar ditulis dalam C
 C compiler ditulis dalam C
 Interpreter lain (FORTRAN, APL, Pascal, LISP, BASIC)
bisa ditulis dalam C
 Digunakan baik dalam memecahkan masalah fisik
maupun engineering
 Digunakan untuk animasi
 Mempunyai kontrol yang biasanya hanya dimiliki oleh
bahasa assembly.

 2007 Pearson Education, Inc. All rights reserved.


23

Visual C++
– Penerapan C++ dalam Microsoft
- Includes extensions
- Microsoft Foundation Classes (MFC)
- Common library
GUI, graphics, networking, multithreading, …
Shared among Visual Basic, Visual C++, C

 2007 Pearson Education, Inc. All rights reserved.


24

Pengenalan Program C
 Program terdiri dari koleksi satu / lebih fungsi,
salah satu diantaranya harus berupa main().
 Fungsi terdiri dari sebuah header dan sebuah
badan.
 Header berisi preprocessor statement seperti
#include dan nama fungsi
 Badan ditandai oleh { } dan berisi seri dari
statement masing diakhiri tanda ;

 2007 Pearson Education, Inc. All rights reserved.


25

Contoh Struktur Program C

 2007 Pearson Education, Inc. All rights reserved.


26

Contoh Program C Sederhana

 2007 Pearson Education, Inc. All rights reserved.


27

Contoh Program C Sederhana

 2007 Pearson Education, Inc. All rights reserved.


28

Penjelasan Singkat Program

 2007 Pearson Education, Inc. All rights reserved.


29

 2007 Pearson Education, Inc. All rights reserved.


30

 2007 Pearson Education, Inc. All rights reserved.


31

 2007 Pearson Education, Inc. All rights reserved.


32

 2007 Pearson Education, Inc. All rights reserved.


1 /* Fig. 2.5: fig02_05.c 33

2 Addition program */
3 #include <stdio.h>
4  1. Initialize
5 int main()
6 { variables
7 int integer1, integer2, sum; /*
declaration
8 */
9 printf( "Enter first integer\n" ); /* prompt */
10 scanf( "%d", &integer1 ); /* read an  2. Input
integer
11 */
printf( "Enter second integer\n" ); /* prompt */
12 scanf( "%d", &integer2 ); /* read an
integer
13 sum*/= integer1 + integer2; /*
assignment
14 printf(of "Sum
sum */
is %d\n", sum ); /* print sum
 2.1 Sum
*/
15
16 return 0; /* indicate that program ended
successfully
17 } */
 3. Print
Enter first integer
45
Enter second integer Output
72 Program
Sum is 117
 2007 Pearson Education, Inc. All rights reserved.
34

Penjelasan Program
 int integer1, integer2, sum;
– Deklarasi Variabel
- Variabel: lokasi dalam memori dimana sebuah nilai dapat disimpan
– int bermakna variabel dapat menangani integers (-1, 3, 0, 47)
– Nama Variabel (identifiers)
- integer1, integer2, sum
- Identifiers: terdiri atas huruf, digits (tidak dapat diawali dengan
sebuah angka/digit) dan underscores( _ )
- Case sensitive
– Deklarasi muncul sebelum executable statements
- Jika sebuah executable statement mengacu pada dan tidak
mendeklarasikan variabel ia akan mengasilkan sebuah syntax
(compiler) error

 2007 Pearson Education, Inc. All rights reserved.


35

Penjelasan Program (Lanjt.)


 scanf( "%d", &integer1 );
– Memperoleh sebuah nilai dari pemakai
- scanf menggunakan standard input (umumnya keyboard)
– scanf statement ini memiliki dua arguments
- %d - mengindikasi data harus berupa decimal integer
- &integer1 - lokasi dalam memori untuk menyimpan
variabel
- & untuk saat ini, hanya perlu diingat untuk menyertakannya
dengan nama variabel dalam scanf statements
– Ketika menjalankan program, pemakai merespon untuk
scanf statement dengan mengetikkan suatu number,
kemudian menekan enter (return) key

 2007 Pearson Education, Inc. All rights reserved.


36

Good Programming Practice

Tempatkan suatu spasi setelah


setiap tanda koma (,) untuk
membuat program lebih mudah
dibaca.

 2007 Pearson Education, Inc. All rights reserved.


37

Penjelasan Program (Lanjt.)


 = (assignment operator)
– Menugaskan sebuah nilai ke sebuah variabel
– Adalah sebuah operator biner (memiliki dua operands)
sum = variable1 + variable2;
sum gets variable1 + variable2;
– Variabel yang menerima nilai terletak di sisi kiri
 printf( "Sum is %d\n", sum );
– Sama dengan scanf
- %d bermakna decimal integer akan dicetak
- sum menentukan integer apa yang akan dicetak
– Kalkulasi dapat dibentuk di dalam printf statements
printf( "Sum is %d\n", integer1 + integer2 );

 2007 Pearson Education, Inc. All rights reserved.


38

Good Programming Practice

Letakkan spasi sebelah menyebelah dari


operator biner. Ini membuat operator
terpisah dari operan dan membuat program
lebih mudah dibaca

 2007 Pearson Education, Inc. All rights reserved.


39

Common Programming Error

Sebuah kalkulasi dalam satu pernyataan


penugasan harus pada sisi kanan operator
=. Sebuah error sintaksis akan muncul
apabila menempatkan satu kalkulasi pada
sisi kiri dari suatu operator penugasan

 2007 Pearson Education, Inc. All rights reserved.


40

Konsep Memori
 Variabel
– Nama Variabel menghubungkan ke lokasi dalam memori
komputer
– Setiap variabel memiliki nama, tipe, ukuran dan nilai
– Kapan saja sebuah nilai baru diletakkan ke dalam sebuah
variabel (melalui scanf, sebagai contoh), ia
menggantikan (dan menghapus) nilai sebelumnya
– Membaca variabel dari memori tidak merubah isinya

 2007 Pearson Education, Inc. All rights reserved.


41

Penyajian secara visual

 2007 Pearson Education, Inc. All rights reserved.


42

Penyajian secara visual

 2007 Pearson Education, Inc. All rights reserved.


43

Penyajian secara visual

 2007 Pearson Education, Inc. All rights reserved.


44

Good Programming Practice

Memilih nama variabel yang penuh arti


membantu membuat satu program self-
documenting, karena dapat membuat
komentar menjadi sedikit

 2007 Pearson Education, Inc. All rights reserved.


45

Good Programming Practice

Huruf Pertama dari suatu identifier yang


digunakan sebagai satu nama variabel
sederhana harus merupakan satu huruf
kecil. Berikutnya dalam teks kita akan
memberikan arti khusus untuk identifiers
yang dimulai dengan satu huruf besar dan
untuk identifiers yang menggunakan huruf
besar semua

 2007 Pearson Education, Inc. All rights reserved.


46

Common Programming Error

Menempatkan definisi variabel di antara


executable statements menyebabkan error
sintaksis

 2007 Pearson Education, Inc. All rights reserved.


47

Good Programming Practice

Pisahkan definisi dan executable


statements dalam satu fungsi dengan satu
baris kosong untuk menekankan dimana
akhir definisi serta executable statements
mulai.

 2007 Pearson Education, Inc. All rights reserved.


48

 2007 Pearson Education, Inc. All rights reserved.


49

 2007 Pearson Education, Inc. All rights reserved.


50

Tipe Data
 Semua variabel harus didefinisikan di dalam C.
 Memiliki bentuk :
 type data mendefinisikan variabel sebelum variabel
digunakan
 Definisi dari satu variabel akan memberikan tempat
penyimpanan untuk variabel dan mendefinisikan tipe
data yang akan ditangani dalam lokasi
 Mempunyai bentuk  typename variablename;
 Contoh : int myInteger;
char myCharacter;

 2007 Pearson Education, Inc. All rights reserved.


51

Tipe Integer
 Byte sizes for Lonestar & Ranger.
 How to get the sizes:
char c;
int i;
printf("%d,%d\n", sizeof (c),
sizeof (i) );

int 4
Output: 1,4 long 8
Common sizes (in bytes): char 1
short 2

 2007 Pearson Education, Inc. All rights reserved.


52

Tipe Float
 Mayoritas dari kode ilmiah akan menggunakan
data floating-point dalam melipatgandakan
presisi
 float (single precision) – 4 bytes
 double - 8 bytes

 2007 Pearson Education, Inc. All rights reserved.


53

Tipe Karakter
• char myName[10];
– Membuat variabel string yang disebut “myName" yang
berisi 10 elements

myName="yye00"; /*Invalid syntax*/

 2007 Pearson Education, Inc. All rights reserved.


54

Assigning Values
Mengapa saya tidak dapat memberikan suatu string ke
suatu nilai tunggal?
Hanya skalar (satu nilai tunggal) dapat diberikan pada suatu saat. Sebuah
string adalah satu array (larik) dari nilai, dan setiap lokasi harus diberikan
secara individu
Nilai diberikan oleh operator penugasan "=".
Sintak yang benar :
char myChar;
int x;
x = 3;
myChar = ‘x';
Catatan : penggunaan tanda kutip tunggal (') sebagai ganti tanda
kutip ganda ("), karena ini adalah satu karakter tunggal, bukan satu
string.

 2007 Pearson Education, Inc. All rights reserved.


55

 Empat Tipe Data


Data Type Abbreviation Size Range
(byte)
char char 1 -128 ~ 127
unsigned char 1 0 ~ 255
int 2 or 4 -215 ~ 215-1 or -231 ~ 231-1
unsigned int unsigned 2 or 4 0 ~ 65535 or 0 ~ 232-1
int short int short 2 -32768 ~ 32767
unsigned short int unsigned short 2 0 ~ 65535
long int long 4 -231 ~ 231-1
unsigned long int unsigned long 4 0 ~ 232-1
float 4
double 8

 2007 Pearson Education, Inc. All rights reserved.


56

Deklarasi Variabel
type v1,v2,v3, …, vn

Example:
int i;
int j;
float k;
char c;
short int x;
long int y;
unsigned int z;
int a1, a2, a3, a4, a5;

 2007 Pearson Education, Inc. All rights reserved.


57

Aritmatika
 Perhitungan Aritmatika
– Gunakan * untuk perkalian dan / untuk pembagian
– Pembagian Integer menghilangkan sisa
- 7 / 5 menghasilkan nilai 1
– Operator Modulus (%) menghasilkan sisa hasil bagi
- 7 % 5 menghasilkan nilai 2
 Operator precedence
– Beberapa operator aritmatika dilaksanakan sebelum yang
lain (seperti, perkalian sebelum penjumlahan)
- Gunakan parenthesis jika diperlukan
– Contoh : Carilah nilai rata2 dari tiga variabel a, b dan c
- Do not use: a + b + c / 3
- Use: (a + b + c ) / 3
 2007 Pearson Education, Inc. All rights reserved.
58

Arithmetic Algebraic
C opetration C expression
operator expression

Addition + f+7 f + 7
Subtraction – p–c p - c
Multiplication * bm b * m

Division / x
x y or or x ÷ y
y x / y

Remainder % r mod s r % s

Arithmetic operators.

 2007 Pearson Education, Inc. All rights reserved.


59

Common Programming Error

Satu usaha untuk membagi dengan nol adalah


secara normal tdk terdefinisi pada sistem komputer
dan secara umum menghasilkan suatu fatal error, ,
misalnya., satu error yang menyebabkan program
untuk berakhir dengan segera tanpa memiliki
kesuksesan dalam melakukan pekerjaannya.
Nonfatal Error memungkinkan program untuk
menjalankan menuju penyelesaian, sering
memproduksi hasil yang salah

 2007 Pearson Education, Inc. All rights reserved.


60

Operator(s) Operation(s) Order of evaluation (precedence)


( ) Parentheses Evaluated first. If the parentheses are
nested, the expression in the innermost pair is
evaluated first. If there are several pairs of
parentheses “on the same level” (i.e., not nested),
they are evaluated left to right.
* Multiplication Evaluated second. If there are several, they are
/ Division evaluated left to right.
% Remainder
+ Addition Evaluated last. If there are several, they are
- Subtraction evaluated left to right.

Precedence of arithmetic operators.

 2007 Pearson Education, Inc. All rights reserved.


61

Order in which a second-degree polynomial is evaluated.

 2007 Pearson Education, Inc. All rights reserved.


62

Good Programming Practice

Penggunaan tanda kurung di dalam


ekspresi aritmatika yang kompleks dapat
membuat ekspresi lebih jelas.

 2007 Pearson Education, Inc. All rights reserved.

Anda mungkin juga menyukai