T0616
ALGORITMA DAN PEMROGRAMAN
(3)
SUBANDIJO
UNIVERSITAS BINA NUSANTARA
FAKULTAS ILMU KOMPUTER
JAKARTA, 2005
7/11/2017
T0616 - Algoritma dan Pemrograman
1
OPERATOR
• SIMBOL YANG DIGUNAKAN UNTUK MENGOLAH
OPERAND SEHINGGA MENGHASILKAN NILAI
BARU.
• DAPAT DIBEDAKAN BERDASARKAN BANYAK
OPERAND-NYA YAITU UNARY OPERATOR DAN
BINARY OPERATOR.
• UNARY OPERATOR MEMBUTUHKAN SATU
OPERAND, BINARY OPERATOR MEMBUTUHKAN
DUA OPERAND.
7/11/2017
T0616 - Algoritma dan Pemrograman
2
TIPE OPERATOR
• OPERATOR ASSIGNMENT
• OPERATOR LOGIKA
• OPERATOR ARITMATIKA
• OPERATOR INCREMENT, DECREMENT
•
•
•
•
•
OPERATOR RELASI
OPERATOR BITWISE
COMBINED OPERATOR
OPERATOR PRECEDENCE
ASSOCIATIVITY OF OPERATOR
7/11/2017
T0616 - Algoritma dan Pemrograman
3
OPERATOR ASSIGNMENT =
(1)
• DIGUNAKAN UNTUK MEMBERIKAN NILAI DATA
KEPADA SUATU VARIABEL.
• VARIABEL = NILAI;
• OPERAND DI SEBELAH KIRI HARUS BERUPA
VARIABEL, SEDANGKAN OPERAND KANAN
MUNGKIN BERBENTUK SUATU KONSTANTA,
VARIABEL LAIN, EKSPRESI ATAU FUNGSI.
7/11/2017
T0616 - Algoritma dan Pemrograman
4
OPERATOR ASSIGNMENT =
(2)
• CONTOH
•
•
•
•
X = 2;
X = Y;
X = 2 * Y;
X = SIN (Y);
// KONSTANTA
// VARIABEL LAIN
// EKSPRESI
// FUNGSI
• TIPE HASIL OPERASI DISESUAIKAN DENGAN
TIPE VARIABEL.
• INT X = 7/2;
7/11/2017
/*3 BUKAN 3.5 */
T0616 - Algoritma dan Pemrograman
5
OPERATOR ASSIGNMENT =
(3)
CONTOH
#include <stdio.h>
void main() {
int panjang, lebar, luas;
panjang = 5;
lebar = 4;
luas = panjang * lebar;
printf(\nLuas = %5d”, luas);
}
7/11/2017
T0616 - Algoritma dan Pemrograman
6
OPERATOR LOGIKA
• SIMBOL: && (AND),
|| (OR),
! (NOT)
• HASIL OPERASI BERNILAI TRUE (1) ATAU FALSE
(0) DAN DITENTUKAN OLEH TRUTH TABLE
BERIKUT:
7/11/2017
P
Q
P&&Q
P||Q
!P
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
T0616 - Algoritma dan Pemrograman
7
OPERATOR ARITMATIKA
• SIMBOL
+
*
/
%
++
--
7/11/2017
FUNGSI
TAMBAH
KURANG
KALI
BAGI
MODULO
INCREMENT
DECREMENT
T0616 - Algoritma dan Pemrograman
CONTOH
X = Y + 5;
X = Y - 5;
X = Y * 5;
X = Y / 5;
X = Y % 5;
X++;
X--;
8
OPERATOR MODULO
• UNTUK MENCARI SISA HASIL BAGI
• n % 2, DAPAT DIGUNAKAN UNTUK MENGUJI
APAKAH INTEGER n GENAP ATAU GANJIL
• n % 2 = 0 n GENAP
• n % 2 = 1 n GANJIL
• UNTUK INTEGER POSITIF n, n % 10 = BUANG
DIGIT TERAKHIR DARI n.
7/11/2017
T0616 - Algoritma dan Pemrograman
9
OPERATOR INC ++ DAN DEC - (1)
• MENAIKKAN (++) DAN MENURUNKAN (--) NILAI
VARIABEL DENGAN 1
• POSISINYA BISA DIDEPAN ATAU DIBELAKANG
VARIABEL
• n = n + 1;
n++;
post increment
++n;
pre increment
• n = n - 1;
7/11/2017
n--;
--n;
post decrement
pre decrement
T0616 - Algoritma dan Pemrograman
10
OPERATOR INC ++ DAN DEC -(2)
• APLIKASI
• (1) STAND ALONE: ++n DAN n++ KEDUANYA
EKUIVALEN DENGAN n = n + 1
main () {
int n = 44;
printf”\nN = %d”, n);
/* 44 */
++n;
printf”\nN = %d”, n);
/* 45 */
n++;
printf”\nN = %d”, n);
/* 46 */
}
7/11/2017
T0616 - Algoritma dan Pemrograman
11
OPERATOR INC ++ DAN DEC -(3)
• (2) SUBEKSPRESI
main() {
int n = 0;
printf(“\nN = %d”,n);
printf(“\nN = %d”,n++);
printf(“\nN = %d”,n);
}
main() {
int n = 0;
printf(“\nN = %d”,n);
printf(“\nN = %d”,++n);
printf(“\nN = %d”,n);
}
• OUTPUT: 0
• OUTPUT: 0 1
7/11/2017
0
1
T0616 - Algoritma dan Pemrograman
1
12
COMBINED OPERATOR
• PERNYATAAN BERBENTUK <VARIABEL>=
<VARIABEL><OPERATOR> <EKSPRESI>; DAPAT
DITULIS SEBAGAI BERIKUT
<VARIABEL><OPERATOR> = <EKSPRESI>;
• DIGUNAKAN UNTUK MEMPERPENDEK
PENULISAN PERNYATAAN.
•
•
•
•
7/11/2017
a = a + b;
a = a / b;
a = a % b;
a = a << b;
a += b;
a /= b;
a %= b;
a <<= b;
T0616 - Algoritma dan Pemrograman
13
OPERATOR RELASIONAL
•
•
•
•
•
•
•
==
!=
<
>
<=
>=
?:
SAMA DENGAN
TIDAK SAMA DENGAN
LEBIH KECIL
LEBIH BESAR
LEBIH KECIL ATAU SAMA DENGAN
LEBIH BESAR ATAU SAMA DENGAN
CONDITIONAL ASSIGNMENT
• UNTUK MENGUJI HUBUNGAN ANTARVARIABEL.
HASILNYA TRUE(1) ATAU FALSE(0).
7/11/2017
T0616 - Algoritma dan Pemrograman
14
OPERATOR BITWISE
(1)
• MEMANIPULASI NILAI DATA BIT PER BIT
• SIMBOL FUNGSI
&
BITWISE AND
|
BITWISE OR
^
BITWISE XOR
~
COMPLEMENT 1
<<
SHIFT LEFT
>>
SHIFT RIGHT.
7/11/2017
T0616 - Algoritma dan Pemrograman
15
OPERATOR BITWISE
(2)
• N = ~ 1 = ~ (0000 0000 0000 0001) + (1111 1111
1111 1110) = 0xFFFE
•
•
•
•
n1 = 0xC5, n2 = 0x0F
n1 & n2 = 0x05
n1 | n2 = 0xCF
n1 ^ n2 = 0xCA
• n = 0x01 << 2 = 0x04
• n = 0x81 >> 2 = 0x20
7/11/2017
T0616 - Algoritma dan Pemrograman
16
OPERATOR PRECEDENCE
• OPERATOR MEMPUNYAI PERINGKAT SESUAI
DENGAN KEUTAMAANNYA.
• OPERATOR HITUNG LEBIH TINGGI
PERINGKATNYA DARIPADA OPERATOR
RELASIONAL.
• OPERATOR RELASIONAL LEBIH TINGGI
PERINGKATNYA DARIPADA OPERATOR LOGIKA.
main() {
printf(“\nJawab = %d “, 1<2+4);
}
7/11/2017
T0616 - Algoritma dan Pemrograman
/*Jawab = 1 */
17
ASSOCIATIVITY
• LEFT TO RIGHT
•
•
•
•
•
7/11/2017
INT X, Y, Z, U;
X = 42;
Y = 3;
Z = 5;
U = X + Y + Z;
• RIGHT TO LEFT
• INT X, Y, Z,
• X = Y = Z = 6;
• X * = Y + = Z - = 4;
T0616 - Algoritma dan Pemrograman
18
THE END
“...ALL YOU NEED IS LOVE…”
7/11/2017
T0616 - Algoritma dan Pemrograman
19
© Copyright 2026 Paperzz