Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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 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
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 :
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.
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
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 (,).
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
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
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
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.
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.
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
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
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
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.