15
Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015 Dasar Komputer & Pemrograman 2A “ Pengantar Pemrograman C - 3” Oleh : Farhat, ST, MMSI, MSc { Diolah dari berbagai Sumber }

Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

Dasar Komputer & Pemrograman 2A

“ Pengantar Pemrograman C - 3”

Oleh : Farhat, ST, MMSI, MSc

{ Diolah dari berbagai Sumber }

Page 2: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

EXPRESSION

Expression atau ungkapan dapat terdiri dari gabungan beberapa variable konstanta,

fungsi-fungsi dan operator untuk mengungkapkan sesuatu ATAU expression (ekspresi) dapat

diartikan pula sebagai suatu pernyataan yang menghasilkan suatu nilai. Expression tersusun

dari operator dan operand yang digunakan untuk menghitung atau memberi nilai suatu variable

atau identifier. Sintaks Expression :

while (expression) statement

Expression adalah fungsi dari statement diatas yang mengulang statement jika

expression bernilai true. Expression yang paling sederhana yaitu nama variabel. Expression yang

lebih kompleks akan melibatkan operator-operator, maupun pemanggilan function atau

procedure. Berikut adalah contoh-contoh expression:

A

hanya berupa nama variable

10

berupa suatu nilai

A + 3 * 2

expression menggunakan operator

Calculate(A,B)

melakukan pemanggilan function bernama Calculate

( – B + ( B ^ 2 – 4 * A * C ) / ( 2 * A )

Dalam algoritma pemograman terdapat 3 macam ekspresi :

1. Ekspresi Aritmetik

Ekspresi Aritmetik adalah ekspresi yang baik operandnya bertipe numerik dan hasilnya

juga bertipe numerik.

Keterangan : Operator yang mempunyai tingkatan lebih tinggi lebih dahulu dikerjakan daripada operator yang tingkatannya lebih rendah. Contoh : a/c + b. Yang pertama dikerjakan

Page 3: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

adalah a/c, kemudian hasilnya ditambahkan dengan b. Berikut ini adalah tingkatan operator

aritmetika (dari tertinggi ke terendah) :

(i). / , div , mod

(ii) *

(iii) + , -

Pada ekspresi aritmetik terdapat 2 buah operator yaitu :

Operator biner : Ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a + b

Operator Uner : yaitu “-” atau operator yang punya 1 operand contoh “-2”

2. Ekspresi Relasional

Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan

xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional

disebut ekspresi boolean.

3. Ekspresi String

Ekspresi String adalah ekspresi dengan operator “+” (operator penyambungan).

STATEMENT

Statement adalah suatu pernyataan yang menyebabkan suatu tindakan akan dilakukan

oleh komputer. Tindakan tersebut misalnya adalah tindakan untuk menghitung, menampilkan

hasil, menerima input data, mengendalikan proses program dan lain sebagainya. Karena itu,

statement-statement ini menentukan bagaimana jalannya program dan bagaimana suatu nilai

variable dimanipulasi/berubah. Suatu statement dalam bahasa C ataupun C++ ditulis dengan

diakhiri oleh titik koma (;). Terdapat 4 jenis Statement dalam bahasa C++, yaitu :

Page 4: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

1. Statement Kosong

Adalah statement yang hanya terdiri dari pengakhir titik koma saja. Statement kosong

banyak digunakan untuk membuat perulangan yang tidak memproses apapun. Perulangan ini

dimaksudkan untuk memberi jarak waktu sebelum memproses statement berikutnya.

2. Statement Ungkapan

Statement ungkapan (statement expression) merupakan statement yang dibentuk dari

suatu ungkapan yang diakhiri dengan titik koma.

3. Statement Kendali

Statement kendali (control statement) merupakan statement yang berfungsi untuk

mengendalikan proses dari program, proses ini dapat berupa proses penyeleksian kondisi atau

perulangan. Statement ini dibentuk dengan diawali kata-kata kunci if, switch, for, while, do-

while, goto, break, dan continue.

Page 5: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

4. Statement Jamak

Statement jamak (compound statement atau block statement) adalah statement yang

terdiri dari gabungan beberapa statement tunggal yang ditulis berada di antara tanda kurung

kurawal ({ }).

SYMBOLIC CONSTANT

Symbolic Constant adalah identifier yang hanya memiliki nilai (R-Value), dan nilai-nya

tidak bisa dirubah-rubah pada saat run time. Symbolic Constant tidak memiliki alamat (L-Value).

Pada bahasa C deklarasi symbolic constant tidak membutuhkan alokasi memori. Untuk

mendeklarasikan symbolic constant pada bahasa C bisa dilakukan dengan pre-processor

directive #define atau dengan keyword const. Berikut beberapa jenis constant dalam bahasa C :

1. Integer Constant

Integer constant terdiri dari angka-angka. integer constant terdiri dari 3 tipe, yaitu:

Decimal Integers, terdiri dari angka (0 s.d. 9) dengan tanda negatif (-) atau positif (+). spasi, koma, dan non-digits tidak boleh digunakan dalam tipe ini. Contohnya:

123

-31

Page 6: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

0

562321

+ 78 Octal Integers Constant, terdiri dari kombinasi digit dari 0 s.d. 7 dengan sebuah ‘O’ pada

awalnya, misalnya :

O26

O347

O676

Hexadecimal Integer Constant, diawali oleh OX atau Ox, dapat terdiri dari alphabet A s.d F atau a s.d. f. Alphabet A s.d F merepresentasikan desimal 10 s.d. 15. berikut contoh

hexadecimal integer constant :

OX2

OX8C

OXbcd

Ox

2. Real Constants

Real Constants terdiri atas bilangan pembagian. Integer constants tidak memadai untuk

merepresentasikan bilangan yang tidak bulat dan memiliki pangkat.bilangan tersebut terdiri

dari angka yang memiliki bagian sisa hasil bagi (fractional) seperti 26.082.

contohnya:

0.0026

-0.97

435.29

+487.0

Catatan: dalam bahasa C sisa hasil bagi diidentifikasikan dengan tanda titik (.) yang dalam

bilangan desimal standar adalah tanda koma (,).

Page 7: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

Bilangan real juga bisa direpresentasikan dengan notasi perpangkatan (exponential).

bentuk umum dari tanda perpangkatan adalah mantissa exponent. mantissa adalah bilangan

real yang diekspresikan secara desimal atau integer. pangkat (exponent) adalah bilangan

integer dengan tanda plus atau minus.

3. Single Character Constants

Single Character Constants merepresentasikan sebuat karakter yang diapit oleh tanda

kutip tunggal (‘). Misalnya :

‘5’

‘x’

‘;’

‘ ‘

4. String Constants

String contants adalah karakter-karakter yang diapit oleh tanda kutip (“). karakter dalam

string constants bisa berupa alphabet, nomor, spasi, atau karakter khusus. contohnya:

“VISHAL”

“1234”

“God Bless”

“!…..?”

OPERATOR

Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk

melakukan sesuatu operasi atau manipulasi. Contoh : Penjumlahan, pengurangan, pembagian

dan lain-lain. Operator mempunyai sifat :

1. Unary

Sifat unary pada operator hanya melibatkan sebuah operand pada suatu operasi

aritmatik. Contoh : -5

Page 8: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

2. Binary

Sifat binary pada operator melibatkan dua buah operand pada suatu operasi aritmatik.

Contoh : 4 + 8

3. Ternary

Sifat tenary pada operator melibatkan tiga buah operand pada suatu operasi aritmatik.

Contoh : (10 % 3) + 4 + 2

Jenis – jenis operator :

1. Operator bitwise

Operator bitwise pada bahasa pemrograman C++ memperlakukan variabel sebagai

gabungan dari bit-bit dan bukan sebagai bilangan. Operator ini berguna untuk mengakses bit-

bit individual dalam memori, seperti memori screen untuk display grafik, informasi CapsLock

(on atau off). Tiga operator bitwise berkelakuan seperti operator logika, namun ini terjadi pada

setiap bit dalam sebuah integer, yakni: AND (&), OR(I), dan XOR (^), komplemen (~) membalik

(menginversi) setiap bit, operator shift kiri (<<), dan operator shift kanan (>>).

1.1 AND

Simbol operator : &, dengan bentuk penggunaan : operand1 & operand2

Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1,

selain itu hasilnya 0. Contoh dari logika AND adalah sebagai berikut :

Bit 0 Bit 1 Hasil

0 0 0

0 1 0

1 0 1

1 1 1

Page 9: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

1.2 OR

Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2

Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang

dibandingkan itu salah satu atau keduanya 1. Logika OR :

Bit 0 Bit 1 Hasil

0 0 0

0 1 1

1 0 1

1 1 1

1.3 XOR

Simbol operator : ^, dengan bentuk penggunaan : operand1 ^ operand2

Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila

kedua bit merupakan komplementer satu sama lain. Logika XOR :

Bit 0 Bit 1 Hasil

0 0 0

0 1 1

1 0 1

1 1 0

1.4 Operator Shift

Operator shift berguna untuk menggeser bit-bit dalam suatu bilangan bulat kekiri atau

kekanan. Shift kiri menggerakkan bit-bit ke kiri dan mengatur bit paling kanan (yang tidak

signifikan) menjadi nol. Sedangkan bit paling kiri (paling signifikan) yang ter-shift keluar akan

dibuang. Sementara itu, operator shift kanan menggerakkan bit-bit kekanan. Bit-bit dengan

Page 10: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

orde lebih rendah yang tershift keluar akan dibuang. Pergeseran bit kekiri mempunyai efek

seperti perkalian, sedangkan pergeseran kekanan memberikan efek seperti pembagian.

Operator shift kiri

Bentuk umum yang dipakai : nilai<<jumlah bit digeser kekiri

Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian dengan

bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya :

//* Operator SHIFT KIRI *

#include <iostream.h>

#include <conio.h>

main()

{

unsigned char x = 93;

clrscr();

cout<< "Nilai x semula = " << x << '\n';

x = x << 1; // geserkekiri 1 bit

cout<< "Nilai x kini = " << x << '\n';

}

Hasil eksekusi program :

Nilai x semula = 93

Nilai x kini = 186

Penjelasan hasil program :

0000 0000 0101 1101 <- 93

Digeser kekiri 1 bit

0000 0000 1011 1010 <- 186

di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.

Page 11: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

Operator shift kanan

Bentuk umum yang dipakai : nilai>>jumlah bit digeser kekanan

Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian dengan

bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya :

//* OPERATOR SHIFT KANAN *

#include <iostream.h>

#include <conio.h>

void main()

{

unsigned char x = 93;

clrscr();

cout<< "Nilai x semula = " << x << '\n';

x = x >> 1; // geserkekanan 1 bit

cout<< "Nilai x kini = " << x << '/n';

}

Hasil eksekusi program :

Nilai x semula = 93

Nilai x kini = 46

Penjelasan hasil program :

0000 0000 0101 1101 <- 93

Digeser kekekanan 1 bit

0000 0000 0010 1110 <- 186

di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.

Page 12: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

1.5 Operator Komplemen

Operator ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit operand bernilai 1

hasilnya 0, dan bila bit operand bernilai 0 hasilnya 1. Contoh pemakaian operator komplemen :

//* Operator komplemen *

#include <iostream.h>

#include <conio.h>

main()

{

unsigned char nilai = 81;

unsigned char a;

clrscr();

a = ~nilai; // komplemendarinilai

cout<< "a = " << a << '\n';

}

Hasil eksekusi program :

a = 65454

Penjelasan hasil program:

0000 0000 0101 0001 <- 81

Inversinya menjadi

1. 1 1010 1110 <- 6554

2. Operator Aritmatika

Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+),

pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut

Page 13: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

tergolong sebagai operator binary.Adapun operator yang tergolong sebagai operator unary

yaitu tanda minus (-), dantanda plus (+).

Prioritas operator :

Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan

operator yang memiliki prioritas lebih rendah.

Prioritas 1 : + --

Prioritas 2 : - (unary minus)

Prioritas 3 : * / %

Prioritas 4 : + -

Apabila operator memiliki prioritas yang sama, operator yang terletak disebelah kiri dalam

suatu ungkapan yang akan diutamakan untuk dikerjakan terlebih dahulu. Tanda kurung biasa

digunakan untuk urutan mengerjakan,

misalnya x = (2 + 3) * 2; (2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)

Operator seperti penjumlahan, pengurangan, perkalian dan pembagian merupakan hal

yang umum. Adapun operator sisa pembagian (operator modulus) yang berupa % ada baiknya

untuk diterangkan lebih lanjut.Operator ini diterapkan pada operan bertipe integer. Untuk lebih

jelasnya perhatikan beberapa contoh berikut:

7 % 2 -> 1 sisa pembagian bilangan 7 dengan 2 adalah 1

9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4

3. Operator Assigenment

Operator assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement

assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator assigenment

Page 14: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

Dan bukan oleh statement assigenment.Seperti operator bahasa pemrograman C++ yang lain,

hasil operator assigenment merupakan nilai yang diberikan. Misalnya :

nilai = 4 * (bilangan = 3)

Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil

akhir 12.

4. Operator Pemendekan

Bahasa C menyediakan operator pemendekan. operator yang dimaksudkan untuk

memendekkan operasi misalnya :

x + = 2 adalah kependekan dari x = x + 2

x - = 2 adalah kependekan dari x = x - 2

x * = 2 adalah kependekan dari x = x * 2

x / = 2 adalah kependekan dari x = x / 2

x % = 2 adalah kependekan dari x = x % 2

x << = 2 adalah kependekan dari x = x << 2

x >> = 2 adalah kependekan dari x = x >> 2

x & = 2 adalah kependekan dari x = x & 2

x | = 2 adalah kependekan dari x = x | 2

x ^ = 2 adalah kependekan dari x = x

5. Operator Relational (Perbandingan)

Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah

operand (sebuah nilai atau variabel). Operator-operator hubungan dalam bahasa C adalah

sebagai berikut :

Operator Arti Contoh

< Kurang dari x < y Apakah x kurang dari y

Page 15: Dasar Komputer & Pemrograman 2A Pengantar Pemrograman C - 3farhana.salim.staff.gunadarma.ac.id/Downloads/files/61975/M4... · Tindakan tersebut misalnya adalah tindakan untuk menghitung,

Dasar Komputer & Pemrograman 2A Farhat, ST, MMSI, MSc Universitas Gunadarma - ATA 2014 / 2015

<= Kurang dari sama x <= y Apakah x kurang dari sama dengan y

dengan

> Lebih dari x > y Apakah x lebih dari y

>= Lebih dari sama dengan x >= y Apakah x lebih dari sama dengan y

= = Sama dengan x = = y Apakah x sama dengan y

!= Tidak sama dengan x != y Apakah x tidak sama dengan y

6. Operator Unary

Operator Unary merupakan operator yang hanya membutuhkan satu operand saja.

Dalam bahasa C terdapat beberapa operator unary yang sering digunakan, yaitu :

! : Operasi negasi (kebalikan).

~ : Negasi pada bitwise (berhubungan dengan bilangan

biner). - : Menyatakan nilai negatif.

++ : Increment (penambahan). Operand ditambah dengan angka 1.

-- : Decrement (pengurangan). Operand dikurang dengan angka 1.

& : Digunakan untuk mengetahui alamat memori suatu variabel.

* : Digunakan untuk mengetahui nilai suatu pointer pada alamat memori.